@taiga-ui/core 2.54.0 → 2.56.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 (756) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +15 -15
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-core-animations.umd.js +138 -138
  5. package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-animations.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-alert.umd.js +12 -12
  8. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-alert.umd.min.js +1 -1
  10. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.js +17 -17
  12. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  14. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  16. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.js +34 -34
  19. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.js +24 -24
  22. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +38 -38
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-error.umd.js +4 -4
  28. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-expand.umd.js +12 -12
  31. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-group.umd.js +19 -19
  34. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-group.umd.min.js +1 -1
  36. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-hints-host.umd.js +47 -47
  38. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +10 -10
  41. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-label.umd.js +4 -4
  44. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-link.umd.js +11 -11
  47. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-loader.umd.js +4 -4
  50. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-core-components-notification.umd.js +8 -8
  53. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  56. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +7 -7
  59. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
  62. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +54 -54
  65. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  68. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-components-root.umd.js +4 -4
  71. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +26 -26
  74. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-scrollbar.umd.js +8 -8
  77. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-svg.umd.js +15 -15
  80. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-core-components-theme-night.umd.js +2 -2
  83. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  84. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-core-components-tooltip.umd.js +7 -7
  86. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  87. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-core-constants.umd.js +17 -17
  89. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  90. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  91. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-core-directives-color.umd.js +6 -6
  93. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  94. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-core-directives-described-by.umd.js +8 -8
  96. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  97. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js +11 -11
  99. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  100. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-dropdown.umd.js +2 -2
  102. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  103. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +8 -8
  105. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-hint.umd.js +7 -7
  108. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  109. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +4 -4
  111. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  112. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +1 -1
  114. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-core-directives-mode.umd.js +2 -2
  117. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  118. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +5 -5
  120. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +1 -1
  123. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  124. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-table-mode.umd.js +2 -2
  126. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +35 -35
  129. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  130. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-core-directives-wrapper.umd.js +9 -9
  132. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  135. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  137. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  138. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +1 -1
  140. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  141. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-core-observables.umd.js +2 -2
  143. package/bundles/taiga-ui-core-observables.umd.js.map +1 -1
  144. package/bundles/taiga-ui-core-observables.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +1 -1
  146. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  147. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-core-pipes-format-number.umd.js +1 -1
  149. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  150. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +3 -3
  152. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  153. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-core-pipes-month.umd.js +1 -1
  155. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  156. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-core-pipes-pluralize.umd.js +1 -1
  158. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  159. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  160. package/bundles/taiga-ui-core-providers.umd.js +2 -2
  161. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  162. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-core-services.umd.js +7 -7
  164. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  165. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-core-tokens.umd.js +40 -40
  167. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  168. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-core-utils-dom.umd.js +16 -16
  170. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  171. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-core-utils-format.umd.js +17 -17
  173. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  174. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-core-utils-mask.umd.js +28 -28
  176. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  177. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +12 -12
  179. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  180. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-core-utils-polyfills.umd.js +4 -4
  182. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  183. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  184. package/components/alert/taiga-ui-core-components-alert.metadata.json +1 -1
  185. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  186. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  187. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  188. package/constants/version.d.ts +1 -1
  189. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  190. package/esm2015/abstract/abstract-dropdown.js +12 -12
  191. package/esm2015/abstract/abstract-hint-options.js +2 -2
  192. package/esm2015/abstract/abstract-hint.js +4 -4
  193. package/esm2015/animations/animations.js +140 -140
  194. package/esm2015/components/alert/alert.component.js +11 -11
  195. package/esm2015/components/alert/alert.service.js +3 -3
  196. package/esm2015/components/button/button-options.js +3 -3
  197. package/esm2015/components/button/button.component.js +16 -16
  198. package/esm2015/components/calendar/calendar.component.js +2 -2
  199. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +7 -7
  200. package/esm2015/components/data-list/data-list.component.js +12 -12
  201. package/esm2015/components/data-list/data-list.directive.js +2 -2
  202. package/esm2015/components/data-list/opt-group.directive.js +5 -5
  203. package/esm2015/components/data-list/option/option.component.js +12 -12
  204. package/esm2015/components/dialog/dialog.component.js +12 -12
  205. package/esm2015/components/dialog/dialog.directive.js +4 -4
  206. package/esm2015/components/dialog/dialog.providers.js +7 -7
  207. package/esm2015/components/dialog/dialog.service.js +5 -5
  208. package/esm2015/components/dropdown-box/dropdown-box.component.js +39 -39
  209. package/esm2015/components/error/error.component.js +5 -5
  210. package/esm2015/components/expand/expand-content.directive.js +2 -2
  211. package/esm2015/components/expand/expand.component.js +12 -12
  212. package/esm2015/components/group/group-styles.component.js +2 -2
  213. package/esm2015/components/group/group.component.js +7 -5
  214. package/esm2015/components/group/group.directive.js +15 -15
  215. package/esm2015/components/hints-host/hint-box/hint-box.component.js +46 -46
  216. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  217. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  218. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  219. package/esm2015/components/label/label.component.js +5 -5
  220. package/esm2015/components/link/link.component.js +12 -12
  221. package/esm2015/components/loader/loader-options.js +3 -3
  222. package/esm2015/components/loader/loader.component.js +3 -3
  223. package/esm2015/components/notification/notification.component.js +9 -9
  224. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  225. package/esm2015/components/primitive-checkbox/checkbox-options.js +5 -5
  226. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  227. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  228. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +4 -4
  229. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +28 -28
  230. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  231. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +13 -13
  232. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  233. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  234. package/esm2015/components/root/root.component.js +5 -5
  235. package/esm2015/components/scroll-controls/scroll-controls.component.js +4 -4
  236. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  237. package/esm2015/components/scroll-controls/scrollbar.directive.js +23 -23
  238. package/esm2015/components/scrollbar/scroll-ref.directive.js +2 -2
  239. package/esm2015/components/scrollbar/scrollable.directive.js +2 -2
  240. package/esm2015/components/scrollbar/scrollbar.component.js +7 -7
  241. package/esm2015/components/svg/svg.component.js +16 -16
  242. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  243. package/esm2015/components/tooltip/tooltip.component.js +8 -8
  244. package/esm2015/constants/decimal-symbols.js +2 -2
  245. package/esm2015/constants/default-icons-path.js +2 -2
  246. package/esm2015/constants/editing-keys.js +10 -10
  247. package/esm2015/constants/events.js +5 -5
  248. package/esm2015/constants/mask-caret-trap.js +2 -2
  249. package/esm2015/constants/version.js +2 -2
  250. package/esm2015/directives/color/color.directive.js +7 -7
  251. package/esm2015/directives/described-by/described-by.directive.js +5 -5
  252. package/esm2015/directives/described-by/described-by.providers.js +3 -3
  253. package/esm2015/directives/dropdown/dropdown.directive.js +3 -3
  254. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  255. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  256. package/esm2015/directives/dropdown-controller/dropdown-controller.token.js +2 -2
  257. package/esm2015/directives/hint/hint-options.js +3 -3
  258. package/esm2015/directives/hint/hint.directive.js +6 -6
  259. package/esm2015/directives/hint-controller/hint-controller.directive.js +7 -7
  260. package/esm2015/directives/hint-controller/hint-controller.provider.js +2 -2
  261. package/esm2015/directives/hint-controller/hint-controller.token.js +2 -2
  262. package/esm2015/directives/manual-hint/manual-hint-options.js +2 -2
  263. package/esm2015/directives/manual-hint/manual-hint.directive.js +4 -4
  264. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +2 -2
  265. package/esm2015/directives/mode/mode.directive.js +3 -3
  266. package/esm2015/directives/pointer-hint/pointer-hint-options.js +2 -2
  267. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +5 -5
  268. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  269. package/esm2015/directives/table-mode/table-mode.directive.js +3 -3
  270. package/esm2015/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  271. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  272. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
  273. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  274. package/esm2015/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  275. package/esm2015/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  276. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  277. package/esm2015/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  278. package/esm2015/directives/textfield-controller/textfield-size.directive.js +5 -5
  279. package/esm2015/directives/textfield-controller/textfield-type.directive.js +5 -5
  280. package/esm2015/directives/textfield-controller/textfield.controller.js +2 -2
  281. package/esm2015/directives/wrapper/wrapper.directive.js +10 -10
  282. package/esm2015/enums/appearance.js +1 -1
  283. package/esm2015/enums/base-color.js +1 -1
  284. package/esm2015/enums/button-shape.js +1 -1
  285. package/esm2015/enums/decimal.js +1 -1
  286. package/esm2015/enums/dropdown-animation.js +1 -1
  287. package/esm2015/enums/dropdown-width.js +1 -1
  288. package/esm2015/enums/hint-mode.js +1 -1
  289. package/esm2015/enums/interactive-state.js +1 -1
  290. package/esm2015/enums/link-mode.js +1 -1
  291. package/esm2015/enums/notification.js +1 -1
  292. package/esm2015/enums/orientation.js +1 -1
  293. package/esm2015/enums/range-state.js +1 -1
  294. package/esm2015/enums/support-color.js +1 -1
  295. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  296. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  297. package/esm2015/observables/smart-search.js +3 -3
  298. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +2 -2
  299. package/esm2015/pipes/format-number/format-number.pipe.js +2 -2
  300. package/esm2015/pipes/format-phone/format-phone.pipe.js +4 -4
  301. package/esm2015/pipes/month/month.pipe.js +2 -2
  302. package/esm2015/pipes/pluralize/pluralize.pipe.js +2 -2
  303. package/esm2015/providers/is-mobile-resolution.provider.js +2 -2
  304. package/esm2015/providers/mode.provider.js +2 -2
  305. package/esm2015/services/hint.service.js +2 -2
  306. package/esm2015/services/night-theme.service.js +4 -4
  307. package/esm2015/services/svg.service.js +4 -4
  308. package/esm2015/tokens/animation-options.js +2 -2
  309. package/esm2015/tokens/animations-duration.js +2 -2
  310. package/esm2015/tokens/assert-enabled.js +2 -2
  311. package/esm2015/tokens/data-list-accessor.js +2 -2
  312. package/esm2015/tokens/data-list-host.js +2 -2
  313. package/esm2015/tokens/document-or-shadow-root.js +2 -2
  314. package/esm2015/tokens/dropdown-directive.js +2 -2
  315. package/esm2015/tokens/element-ref.js +2 -2
  316. package/esm2015/tokens/first-day-of-week.js +2 -2
  317. package/esm2015/tokens/i18n.js +10 -10
  318. package/esm2015/tokens/icon-place.js +3 -3
  319. package/esm2015/tokens/icons-path.js +2 -2
  320. package/esm2015/tokens/icons.js +2 -2
  321. package/esm2015/tokens/is-mobile-resolution.js +3 -3
  322. package/esm2015/tokens/media.js +2 -2
  323. package/esm2015/tokens/mode.js +2 -2
  324. package/esm2015/tokens/notification-options.js +3 -3
  325. package/esm2015/tokens/number-format.js +3 -3
  326. package/esm2015/tokens/option-content.js +2 -2
  327. package/esm2015/tokens/ordered-short-week-days.js +2 -2
  328. package/esm2015/tokens/scroll-ref.js +2 -2
  329. package/esm2015/tokens/svg-content-processor.js +2 -2
  330. package/esm2015/tokens/svg-src-processor.js +2 -2
  331. package/esm2015/tokens/textfield-appearance.js +2 -2
  332. package/esm2015/tokens/textfield-host.js +2 -2
  333. package/esm2015/tokens/theme.js +3 -3
  334. package/esm2015/tokens/value-accessor.js +2 -2
  335. package/esm2015/utils/dom/are-css-vars-supported.js +2 -2
  336. package/esm2015/utils/dom/check-fixed-position.js +3 -3
  337. package/esm2015/utils/dom/get-safe-area-size.js +4 -4
  338. package/esm2015/utils/dom/process-icon.js +11 -11
  339. package/esm2015/utils/format/format-number.js +5 -5
  340. package/esm2015/utils/format/format-phone.js +9 -9
  341. package/esm2015/utils/format/get-fractional-part-padded.js +3 -3
  342. package/esm2015/utils/format/number-to-string-without-exp.js +3 -3
  343. package/esm2015/utils/format/other-decimal-symbol.js +2 -2
  344. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +11 -11
  345. package/esm2015/utils/mask/create-correction-mask.js +3 -3
  346. package/esm2015/utils/mask/create-number-mask.js +13 -13
  347. package/esm2015/utils/mask/masked-money-value-is-empty.js +3 -3
  348. package/esm2015/utils/mask/masked-number-string-to-number.js +2 -2
  349. package/esm2015/utils/miscellaneous/color-fallback.js +8 -8
  350. package/esm2015/utils/miscellaneous/icons-path-factory.js +3 -3
  351. package/esm2015/utils/miscellaneous/is-presumed-html-string.js +2 -2
  352. package/esm2015/utils/miscellaneous/size-bigger.js +3 -3
  353. package/esm2015/utils/polyfills/inner-html.js +5 -5
  354. package/esm5/abstract/abstract-dropdown.js +12 -12
  355. package/esm5/abstract/abstract-hint-options.js +2 -2
  356. package/esm5/abstract/abstract-hint.js +4 -4
  357. package/esm5/animations/animations.js +140 -140
  358. package/esm5/components/alert/alert.component.js +11 -11
  359. package/esm5/components/alert/alert.service.js +3 -3
  360. package/esm5/components/button/button-options.js +3 -3
  361. package/esm5/components/button/button.component.js +16 -16
  362. package/esm5/components/calendar/calendar.component.js +2 -2
  363. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +8 -8
  364. package/esm5/components/data-list/data-list.component.js +12 -12
  365. package/esm5/components/data-list/data-list.directive.js +2 -2
  366. package/esm5/components/data-list/opt-group.directive.js +5 -5
  367. package/esm5/components/data-list/option/option.component.js +12 -12
  368. package/esm5/components/dialog/dialog.component.js +12 -12
  369. package/esm5/components/dialog/dialog.directive.js +4 -4
  370. package/esm5/components/dialog/dialog.providers.js +7 -7
  371. package/esm5/components/dialog/dialog.service.js +5 -5
  372. package/esm5/components/dropdown-box/dropdown-box.component.js +39 -39
  373. package/esm5/components/error/error.component.js +5 -5
  374. package/esm5/components/expand/expand-content.directive.js +2 -2
  375. package/esm5/components/expand/expand.component.js +12 -12
  376. package/esm5/components/group/group-styles.component.js +2 -2
  377. package/esm5/components/group/group.component.js +5 -5
  378. package/esm5/components/group/group.directive.js +15 -15
  379. package/esm5/components/hints-host/hint-box/hint-box.component.js +46 -46
  380. package/esm5/components/hints-host/hints-host.component.js +3 -3
  381. package/esm5/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  382. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  383. package/esm5/components/label/label.component.js +5 -5
  384. package/esm5/components/link/link.component.js +12 -12
  385. package/esm5/components/loader/loader-options.js +3 -3
  386. package/esm5/components/loader/loader.component.js +3 -3
  387. package/esm5/components/notification/notification.component.js +9 -9
  388. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  389. package/esm5/components/primitive-checkbox/checkbox-options.js +5 -5
  390. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  391. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  392. package/esm5/components/primitive-textfield/primitive-textfield-options.js +4 -4
  393. package/esm5/components/primitive-textfield/primitive-textfield.component.js +28 -28
  394. package/esm5/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  395. package/esm5/components/primitive-textfield/textfield/textfield.component.js +13 -13
  396. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  397. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  398. package/esm5/components/root/root.component.js +5 -5
  399. package/esm5/components/scroll-controls/scroll-controls.component.js +4 -4
  400. package/esm5/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  401. package/esm5/components/scroll-controls/scrollbar.directive.js +23 -23
  402. package/esm5/components/scrollbar/scroll-ref.directive.js +2 -2
  403. package/esm5/components/scrollbar/scrollable.directive.js +2 -2
  404. package/esm5/components/scrollbar/scrollbar.component.js +7 -7
  405. package/esm5/components/svg/svg.component.js +16 -16
  406. package/esm5/components/theme-night/theme-night.component.js +3 -3
  407. package/esm5/components/tooltip/tooltip.component.js +8 -8
  408. package/esm5/constants/decimal-symbols.js +2 -2
  409. package/esm5/constants/default-icons-path.js +2 -2
  410. package/esm5/constants/editing-keys.js +10 -10
  411. package/esm5/constants/events.js +5 -5
  412. package/esm5/constants/mask-caret-trap.js +2 -2
  413. package/esm5/constants/version.js +2 -2
  414. package/esm5/directives/color/color.directive.js +7 -7
  415. package/esm5/directives/described-by/described-by.directive.js +5 -5
  416. package/esm5/directives/described-by/described-by.providers.js +5 -5
  417. package/esm5/directives/dropdown/dropdown.directive.js +3 -3
  418. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  419. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  420. package/esm5/directives/dropdown-controller/dropdown-controller.token.js +2 -2
  421. package/esm5/directives/hint/hint-options.js +3 -3
  422. package/esm5/directives/hint/hint.directive.js +6 -6
  423. package/esm5/directives/hint-controller/hint-controller.directive.js +7 -7
  424. package/esm5/directives/hint-controller/hint-controller.provider.js +2 -2
  425. package/esm5/directives/hint-controller/hint-controller.token.js +2 -2
  426. package/esm5/directives/manual-hint/manual-hint-options.js +2 -2
  427. package/esm5/directives/manual-hint/manual-hint.directive.js +4 -4
  428. package/esm5/directives/mask-accessor/mask-accessor.directive.js +2 -2
  429. package/esm5/directives/mode/mode.directive.js +3 -3
  430. package/esm5/directives/pointer-hint/pointer-hint-options.js +2 -2
  431. package/esm5/directives/pointer-hint/pointer-hint.directive.js +5 -5
  432. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  433. package/esm5/directives/table-mode/table-mode.directive.js +3 -3
  434. package/esm5/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  435. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  436. package/esm5/directives/textfield-controller/textfield-controller.provider.js +2 -2
  437. package/esm5/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  438. package/esm5/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  439. package/esm5/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  440. package/esm5/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  441. package/esm5/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  442. package/esm5/directives/textfield-controller/textfield-size.directive.js +5 -5
  443. package/esm5/directives/textfield-controller/textfield-type.directive.js +5 -5
  444. package/esm5/directives/textfield-controller/textfield.controller.js +2 -2
  445. package/esm5/directives/wrapper/wrapper.directive.js +10 -10
  446. package/esm5/enums/appearance.js +1 -1
  447. package/esm5/enums/base-color.js +1 -1
  448. package/esm5/enums/button-shape.js +1 -1
  449. package/esm5/enums/decimal.js +1 -1
  450. package/esm5/enums/dropdown-animation.js +1 -1
  451. package/esm5/enums/dropdown-width.js +1 -1
  452. package/esm5/enums/hint-mode.js +1 -1
  453. package/esm5/enums/interactive-state.js +1 -1
  454. package/esm5/enums/link-mode.js +1 -1
  455. package/esm5/enums/notification.js +1 -1
  456. package/esm5/enums/orientation.js +1 -1
  457. package/esm5/enums/range-state.js +1 -1
  458. package/esm5/enums/support-color.js +1 -1
  459. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  460. package/esm5/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  461. package/esm5/observables/smart-search.js +3 -3
  462. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +2 -2
  463. package/esm5/pipes/format-number/format-number.pipe.js +2 -2
  464. package/esm5/pipes/format-phone/format-phone.pipe.js +4 -4
  465. package/esm5/pipes/month/month.pipe.js +2 -2
  466. package/esm5/pipes/pluralize/pluralize.pipe.js +2 -2
  467. package/esm5/providers/is-mobile-resolution.provider.js +2 -2
  468. package/esm5/providers/mode.provider.js +2 -2
  469. package/esm5/services/hint.service.js +2 -2
  470. package/esm5/services/night-theme.service.js +4 -4
  471. package/esm5/services/svg.service.js +4 -4
  472. package/esm5/tokens/animation-options.js +2 -2
  473. package/esm5/tokens/animations-duration.js +2 -2
  474. package/esm5/tokens/assert-enabled.js +2 -2
  475. package/esm5/tokens/data-list-accessor.js +2 -2
  476. package/esm5/tokens/data-list-host.js +2 -2
  477. package/esm5/tokens/document-or-shadow-root.js +2 -2
  478. package/esm5/tokens/dropdown-directive.js +2 -2
  479. package/esm5/tokens/element-ref.js +2 -2
  480. package/esm5/tokens/first-day-of-week.js +2 -2
  481. package/esm5/tokens/i18n.js +10 -10
  482. package/esm5/tokens/icon-place.js +3 -3
  483. package/esm5/tokens/icons-path.js +2 -2
  484. package/esm5/tokens/icons.js +2 -2
  485. package/esm5/tokens/is-mobile-resolution.js +3 -3
  486. package/esm5/tokens/media.js +2 -2
  487. package/esm5/tokens/mode.js +2 -2
  488. package/esm5/tokens/notification-options.js +3 -3
  489. package/esm5/tokens/number-format.js +3 -3
  490. package/esm5/tokens/option-content.js +2 -2
  491. package/esm5/tokens/ordered-short-week-days.js +2 -2
  492. package/esm5/tokens/scroll-ref.js +2 -2
  493. package/esm5/tokens/svg-content-processor.js +2 -2
  494. package/esm5/tokens/svg-src-processor.js +2 -2
  495. package/esm5/tokens/textfield-appearance.js +2 -2
  496. package/esm5/tokens/textfield-host.js +2 -2
  497. package/esm5/tokens/theme.js +3 -3
  498. package/esm5/tokens/value-accessor.js +2 -2
  499. package/esm5/utils/dom/are-css-vars-supported.js +2 -2
  500. package/esm5/utils/dom/check-fixed-position.js +3 -3
  501. package/esm5/utils/dom/get-safe-area-size.js +4 -4
  502. package/esm5/utils/dom/process-icon.js +11 -11
  503. package/esm5/utils/format/format-number.js +5 -5
  504. package/esm5/utils/format/format-phone.js +9 -9
  505. package/esm5/utils/format/get-fractional-part-padded.js +3 -3
  506. package/esm5/utils/format/number-to-string-without-exp.js +3 -3
  507. package/esm5/utils/format/other-decimal-symbol.js +2 -2
  508. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +12 -12
  509. package/esm5/utils/mask/create-correction-mask.js +3 -3
  510. package/esm5/utils/mask/create-number-mask.js +13 -13
  511. package/esm5/utils/mask/masked-money-value-is-empty.js +3 -3
  512. package/esm5/utils/mask/masked-number-string-to-number.js +2 -2
  513. package/esm5/utils/miscellaneous/color-fallback.js +8 -8
  514. package/esm5/utils/miscellaneous/icons-path-factory.js +3 -3
  515. package/esm5/utils/miscellaneous/is-presumed-html-string.js +2 -2
  516. package/esm5/utils/miscellaneous/size-bigger.js +3 -3
  517. package/esm5/utils/polyfills/inner-html.js +5 -5
  518. package/fesm2015/taiga-ui-core-abstract.js +15 -15
  519. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  520. package/fesm2015/taiga-ui-core-animations.js +138 -138
  521. package/fesm2015/taiga-ui-core-animations.js.map +1 -1
  522. package/fesm2015/taiga-ui-core-components-alert.js +12 -12
  523. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  524. package/fesm2015/taiga-ui-core-components-button.js +17 -17
  525. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  526. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  527. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  528. package/fesm2015/taiga-ui-core-components-data-list.js +33 -33
  529. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  530. package/fesm2015/taiga-ui-core-components-dialog.js +24 -24
  531. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  532. package/fesm2015/taiga-ui-core-components-dropdown-box.js +38 -38
  533. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  534. package/fesm2015/taiga-ui-core-components-error.js +4 -4
  535. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  536. package/fesm2015/taiga-ui-core-components-expand.js +12 -12
  537. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  538. package/fesm2015/taiga-ui-core-components-group.js +21 -19
  539. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  540. package/fesm2015/taiga-ui-core-components-hints-host.js +47 -47
  541. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  542. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  543. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  544. package/fesm2015/taiga-ui-core-components-label.js +4 -4
  545. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  546. package/fesm2015/taiga-ui-core-components-link.js +11 -11
  547. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  548. package/fesm2015/taiga-ui-core-components-loader.js +4 -4
  549. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  550. package/fesm2015/taiga-ui-core-components-notification.js +8 -8
  551. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  552. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  553. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  554. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +7 -7
  555. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  556. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  557. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  558. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +54 -54
  559. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  560. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  561. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  562. package/fesm2015/taiga-ui-core-components-root.js +4 -4
  563. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  564. package/fesm2015/taiga-ui-core-components-scroll-controls.js +26 -26
  565. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  566. package/fesm2015/taiga-ui-core-components-scrollbar.js +8 -8
  567. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  568. package/fesm2015/taiga-ui-core-components-svg.js +15 -15
  569. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  570. package/fesm2015/taiga-ui-core-components-theme-night.js +2 -2
  571. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  572. package/fesm2015/taiga-ui-core-components-tooltip.js +7 -7
  573. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  574. package/fesm2015/taiga-ui-core-constants.js +17 -17
  575. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  576. package/fesm2015/taiga-ui-core-directives-color.js +6 -6
  577. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  578. package/fesm2015/taiga-ui-core-directives-described-by.js +6 -6
  579. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  580. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js +11 -11
  581. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  582. package/fesm2015/taiga-ui-core-directives-dropdown.js +2 -2
  583. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  584. package/fesm2015/taiga-ui-core-directives-hint-controller.js +8 -8
  585. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  586. package/fesm2015/taiga-ui-core-directives-hint.js +7 -7
  587. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  588. package/fesm2015/taiga-ui-core-directives-manual-hint.js +4 -4
  589. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  590. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +1 -1
  591. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  592. package/fesm2015/taiga-ui-core-directives-mode.js +2 -2
  593. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  594. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +5 -5
  595. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  596. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +1 -1
  597. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  598. package/fesm2015/taiga-ui-core-directives-table-mode.js +2 -2
  599. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  600. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +35 -35
  601. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  602. package/fesm2015/taiga-ui-core-directives-wrapper.js +9 -9
  603. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  604. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  605. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  606. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  607. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +1 -1
  608. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  609. package/fesm2015/taiga-ui-core-observables.js +2 -2
  610. package/fesm2015/taiga-ui-core-observables.js.map +1 -1
  611. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  612. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  613. package/fesm2015/taiga-ui-core-pipes-format-number.js +1 -1
  614. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  615. package/fesm2015/taiga-ui-core-pipes-format-phone.js +3 -3
  616. package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
  617. package/fesm2015/taiga-ui-core-pipes-month.js +1 -1
  618. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  619. package/fesm2015/taiga-ui-core-pipes-pluralize.js +1 -1
  620. package/fesm2015/taiga-ui-core-pipes-pluralize.js.map +1 -1
  621. package/fesm2015/taiga-ui-core-providers.js +2 -2
  622. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  623. package/fesm2015/taiga-ui-core-services.js +7 -7
  624. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  625. package/fesm2015/taiga-ui-core-tokens.js +40 -40
  626. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  627. package/fesm2015/taiga-ui-core-utils-dom.js +16 -16
  628. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  629. package/fesm2015/taiga-ui-core-utils-format.js +17 -17
  630. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  631. package/fesm2015/taiga-ui-core-utils-mask.js +27 -27
  632. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  633. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +12 -12
  634. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  635. package/fesm2015/taiga-ui-core-utils-polyfills.js +4 -4
  636. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  637. package/fesm5/taiga-ui-core-abstract.js +15 -15
  638. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  639. package/fesm5/taiga-ui-core-animations.js +138 -138
  640. package/fesm5/taiga-ui-core-animations.js.map +1 -1
  641. package/fesm5/taiga-ui-core-components-alert.js +12 -12
  642. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  643. package/fesm5/taiga-ui-core-components-button.js +17 -17
  644. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  645. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  646. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  647. package/fesm5/taiga-ui-core-components-data-list.js +34 -34
  648. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  649. package/fesm5/taiga-ui-core-components-dialog.js +24 -24
  650. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  651. package/fesm5/taiga-ui-core-components-dropdown-box.js +38 -38
  652. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  653. package/fesm5/taiga-ui-core-components-error.js +4 -4
  654. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  655. package/fesm5/taiga-ui-core-components-expand.js +12 -12
  656. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  657. package/fesm5/taiga-ui-core-components-group.js +19 -19
  658. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  659. package/fesm5/taiga-ui-core-components-hints-host.js +47 -47
  660. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  661. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +10 -10
  662. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  663. package/fesm5/taiga-ui-core-components-label.js +4 -4
  664. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  665. package/fesm5/taiga-ui-core-components-link.js +11 -11
  666. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  667. package/fesm5/taiga-ui-core-components-loader.js +4 -4
  668. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  669. package/fesm5/taiga-ui-core-components-notification.js +8 -8
  670. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  671. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  672. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  673. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +7 -7
  674. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  675. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  676. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  677. package/fesm5/taiga-ui-core-components-primitive-textfield.js +54 -54
  678. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  679. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  680. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  681. package/fesm5/taiga-ui-core-components-root.js +4 -4
  682. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  683. package/fesm5/taiga-ui-core-components-scroll-controls.js +26 -26
  684. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  685. package/fesm5/taiga-ui-core-components-scrollbar.js +8 -8
  686. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  687. package/fesm5/taiga-ui-core-components-svg.js +15 -15
  688. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  689. package/fesm5/taiga-ui-core-components-theme-night.js +2 -2
  690. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  691. package/fesm5/taiga-ui-core-components-tooltip.js +7 -7
  692. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  693. package/fesm5/taiga-ui-core-constants.js +17 -17
  694. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  695. package/fesm5/taiga-ui-core-directives-color.js +6 -6
  696. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  697. package/fesm5/taiga-ui-core-directives-described-by.js +8 -8
  698. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  699. package/fesm5/taiga-ui-core-directives-dropdown-controller.js +11 -11
  700. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  701. package/fesm5/taiga-ui-core-directives-dropdown.js +2 -2
  702. package/fesm5/taiga-ui-core-directives-dropdown.js.map +1 -1
  703. package/fesm5/taiga-ui-core-directives-hint-controller.js +8 -8
  704. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  705. package/fesm5/taiga-ui-core-directives-hint.js +7 -7
  706. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  707. package/fesm5/taiga-ui-core-directives-manual-hint.js +4 -4
  708. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  709. package/fesm5/taiga-ui-core-directives-mask-accessor.js +1 -1
  710. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  711. package/fesm5/taiga-ui-core-directives-mode.js +2 -2
  712. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  713. package/fesm5/taiga-ui-core-directives-pointer-hint.js +5 -5
  714. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  715. package/fesm5/taiga-ui-core-directives-scroll-into-view.js +1 -1
  716. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  717. package/fesm5/taiga-ui-core-directives-table-mode.js +2 -2
  718. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  719. package/fesm5/taiga-ui-core-directives-textfield-controller.js +35 -35
  720. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  721. package/fesm5/taiga-ui-core-directives-wrapper.js +9 -9
  722. package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -1
  723. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  724. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  725. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  726. package/fesm5/taiga-ui-core-internal-svg-defs-host.js +1 -1
  727. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  728. package/fesm5/taiga-ui-core-observables.js +2 -2
  729. package/fesm5/taiga-ui-core-observables.js.map +1 -1
  730. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  731. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  732. package/fesm5/taiga-ui-core-pipes-format-number.js +1 -1
  733. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  734. package/fesm5/taiga-ui-core-pipes-format-phone.js +3 -3
  735. package/fesm5/taiga-ui-core-pipes-format-phone.js.map +1 -1
  736. package/fesm5/taiga-ui-core-pipes-month.js +1 -1
  737. package/fesm5/taiga-ui-core-pipes-month.js.map +1 -1
  738. package/fesm5/taiga-ui-core-pipes-pluralize.js +1 -1
  739. package/fesm5/taiga-ui-core-pipes-pluralize.js.map +1 -1
  740. package/fesm5/taiga-ui-core-providers.js +2 -2
  741. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  742. package/fesm5/taiga-ui-core-services.js +7 -7
  743. package/fesm5/taiga-ui-core-services.js.map +1 -1
  744. package/fesm5/taiga-ui-core-tokens.js +40 -40
  745. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  746. package/fesm5/taiga-ui-core-utils-dom.js +16 -16
  747. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  748. package/fesm5/taiga-ui-core-utils-format.js +17 -17
  749. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  750. package/fesm5/taiga-ui-core-utils-mask.js +28 -28
  751. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  752. package/fesm5/taiga-ui-core-utils-miscellaneous.js +12 -12
  753. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  754. package/fesm5/taiga-ui-core-utils-polyfills.js +4 -4
  755. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  756. package/package.json +4 -4
@@ -1,60 +1,60 @@
1
1
  import { animate, query, stagger, style, transition, trigger } from '@angular/animations';
2
- const TRANSITION = '{{duration}}ms ease-in-out';
2
+ const TRANSITION = `{{duration}}ms ease-in-out`;
3
3
  const DURATION = { params: { duration: 300 } };
4
4
  const STAGGER = 300;
5
- export const tuiHeightCollapse = trigger('tuiHeightCollapse', [
6
- transition(':enter', [style({ height: 0 }), animate(TRANSITION, style({ height: '*' }))], DURATION),
7
- transition(':leave', [style({ height: '*' }), animate(TRANSITION, style({ height: 0 }))], DURATION),
5
+ export const tuiHeightCollapse = trigger(`tuiHeightCollapse`, [
6
+ transition(`:enter`, [style({ height: 0 }), animate(TRANSITION, style({ height: `*` }))], DURATION),
7
+ transition(`:leave`, [style({ height: `*` }), animate(TRANSITION, style({ height: 0 }))], DURATION),
8
8
  ]);
9
- export const tuiHeightCollapseList = trigger('tuiHeightCollapseList', [
10
- transition('* => *', [
11
- query(':enter', [
9
+ export const tuiHeightCollapseList = trigger(`tuiHeightCollapseList`, [
10
+ transition(`* => *`, [
11
+ query(`:enter`, [
12
12
  style({ height: 0 }),
13
- stagger(STAGGER, [animate(TRANSITION, style({ height: '*' }))]),
13
+ stagger(STAGGER, [animate(TRANSITION, style({ height: `*` }))]),
14
14
  ], {
15
15
  optional: true,
16
16
  }),
17
- query(':leave', [
18
- style({ height: '*' }),
17
+ query(`:leave`, [
18
+ style({ height: `*` }),
19
19
  stagger(STAGGER, [animate(TRANSITION, style({ height: 0 }))]),
20
20
  ], {
21
21
  optional: true,
22
22
  }),
23
23
  ], DURATION),
24
24
  ]);
25
- export const tuiWidthCollapse = trigger('tuiWidthCollapse', [
26
- transition(':enter', [style({ width: 0 }), animate(TRANSITION, style({ width: '*' }))], DURATION),
27
- transition(':leave', [style({ width: '*' }), animate(TRANSITION, style({ width: 0 }))], DURATION),
25
+ export const tuiWidthCollapse = trigger(`tuiWidthCollapse`, [
26
+ transition(`:enter`, [style({ width: 0 }), animate(TRANSITION, style({ width: `*` }))], DURATION),
27
+ transition(`:leave`, [style({ width: `*` }), animate(TRANSITION, style({ width: 0 }))], DURATION),
28
28
  ]);
29
- export const tuiWidthCollapseList = trigger('tuiWidthCollapseList', [
30
- transition('* => *', [
31
- query(':enter', [
29
+ export const tuiWidthCollapseList = trigger(`tuiWidthCollapseList`, [
30
+ transition(`* => *`, [
31
+ query(`:enter`, [
32
32
  style({ width: 0 }),
33
- stagger(STAGGER, [animate(TRANSITION, style({ width: '*' }))]),
33
+ stagger(STAGGER, [animate(TRANSITION, style({ width: `*` }))]),
34
34
  ], {
35
35
  optional: true,
36
36
  }),
37
- query(':leave', [
38
- style({ width: '*' }),
37
+ query(`:leave`, [
38
+ style({ width: `*` }),
39
39
  stagger(STAGGER, [animate(TRANSITION, style({ width: 0 }))]),
40
40
  ], {
41
41
  optional: true,
42
42
  }),
43
43
  ], DURATION),
44
44
  ]);
45
- export const tuiFadeIn = trigger('tuiFadeIn', [
46
- transition(':enter', [style({ opacity: 0 }), animate(TRANSITION, style({ opacity: 1 }))], DURATION),
47
- transition(':leave', [style({ opacity: 1 }), animate(TRANSITION, style({ opacity: 0 }))], DURATION),
45
+ export const tuiFadeIn = trigger(`tuiFadeIn`, [
46
+ transition(`:enter`, [style({ opacity: 0 }), animate(TRANSITION, style({ opacity: 1 }))], DURATION),
47
+ transition(`:leave`, [style({ opacity: 1 }), animate(TRANSITION, style({ opacity: 0 }))], DURATION),
48
48
  ]);
49
- export const tuiFadeInList = trigger('tuiFadeInList', [
50
- transition('* => *', [
51
- query(':enter', [
49
+ export const tuiFadeInList = trigger(`tuiFadeInList`, [
50
+ transition(`* => *`, [
51
+ query(`:enter`, [
52
52
  style({ opacity: 0 }),
53
53
  stagger(STAGGER, [animate(TRANSITION, style({ opacity: 1 }))]),
54
54
  ], {
55
55
  optional: true,
56
56
  }),
57
- query(':leave', [
57
+ query(`:leave`, [
58
58
  style({ opacity: 1 }),
59
59
  stagger(STAGGER, [animate(TRANSITION, style({ opacity: 0 }))]),
60
60
  ], {
@@ -62,190 +62,190 @@ export const tuiFadeInList = trigger('tuiFadeInList', [
62
62
  }),
63
63
  ], DURATION),
64
64
  ]);
65
- export const tuiFadeInTop = trigger('tuiFadeInTop', [
66
- transition(':enter', [
67
- style({ transform: 'translateY(-10px)', opacity: 0 }),
68
- animate(TRANSITION, style({ transform: 'translateY(0)', opacity: 1 })),
65
+ export const tuiFadeInTop = trigger(`tuiFadeInTop`, [
66
+ transition(`:enter`, [
67
+ style({ transform: `translateY(-10px)`, opacity: 0 }),
68
+ animate(TRANSITION, style({ transform: `translateY(0)`, opacity: 1 })),
69
69
  ], DURATION),
70
- transition(':leave', [
71
- style({ transform: 'translateY(0)', opacity: 1 }),
72
- animate(TRANSITION, style({ transform: 'translateY(-10px)', opacity: 0 })),
70
+ transition(`:leave`, [
71
+ style({ transform: `translateY(0)`, opacity: 1 }),
72
+ animate(TRANSITION, style({ transform: `translateY(-10px)`, opacity: 0 })),
73
73
  ], DURATION),
74
74
  ]);
75
- export const tuiFadeInBottom = trigger('tuiFadeInBottom', [
76
- transition(':enter', [
77
- style({ transform: 'translateY(10px)', opacity: 0 }),
78
- animate(TRANSITION, style({ transform: 'translateY(0)', opacity: 1 })),
75
+ export const tuiFadeInBottom = trigger(`tuiFadeInBottom`, [
76
+ transition(`:enter`, [
77
+ style({ transform: `translateY(10px)`, opacity: 0 }),
78
+ animate(TRANSITION, style({ transform: `translateY(0)`, opacity: 1 })),
79
79
  ], DURATION),
80
- transition(':leave', [
81
- style({ transform: 'translateY(0)', opacity: 1 }),
82
- animate(TRANSITION, style({ transform: 'translateY(10px)', opacity: 0 })),
80
+ transition(`:leave`, [
81
+ style({ transform: `translateY(0)`, opacity: 1 }),
82
+ animate(TRANSITION, style({ transform: `translateY(10px)`, opacity: 0 })),
83
83
  ], DURATION),
84
84
  ]);
85
- export const tuiDropdownAnimation = trigger('tuiDropdownAnimation', [
85
+ export const tuiDropdownAnimation = trigger(`tuiDropdownAnimation`, [
86
86
  transition(`* => ${"fadeInTop" /* FadeInTop */}`, [
87
- style({ transform: 'translateY(-10px)', opacity: 0 }),
88
- animate(TRANSITION, style({ transform: 'translateY(0)', opacity: 1 })),
87
+ style({ transform: `translateY(-10px)`, opacity: 0 }),
88
+ animate(TRANSITION, style({ transform: `translateY(0)`, opacity: 1 })),
89
89
  ], DURATION),
90
90
  transition(`* => ${"fadeInBottom" /* FadeInBottom */}`, [
91
- style({ transform: 'translateY(10px)', opacity: 0 }),
92
- animate(TRANSITION, style({ transform: 'translateY(0)', opacity: 1 })),
91
+ style({ transform: `translateY(10px)`, opacity: 0 }),
92
+ animate(TRANSITION, style({ transform: `translateY(0)`, opacity: 1 })),
93
93
  ], DURATION),
94
94
  transition(`${"fadeInBottom" /* FadeInBottom */} => *`, [
95
- style({ transform: 'translateY(0)', opacity: 1 }),
96
- animate(TRANSITION, style({ transform: 'translateY(10px)', opacity: 0 })),
95
+ style({ transform: `translateY(0)`, opacity: 1 }),
96
+ animate(TRANSITION, style({ transform: `translateY(10px)`, opacity: 0 })),
97
97
  ], DURATION),
98
98
  transition(`${"fadeInTop" /* FadeInTop */} => *`, [
99
- style({ transform: 'translateY(0)', opacity: 1 }),
100
- animate(TRANSITION, style({ transform: 'translateY(-10px)', opacity: 0 })),
99
+ style({ transform: `translateY(0)`, opacity: 1 }),
100
+ animate(TRANSITION, style({ transform: `translateY(-10px)`, opacity: 0 })),
101
101
  ], DURATION),
102
102
  ]);
103
- export const tuiScaleIn = trigger('tuiScaleIn', [
104
- transition(':enter', [
105
- style({ transform: 'scale(0)' }),
106
- animate(TRANSITION, style({ transform: 'scale(1)' })),
103
+ export const tuiScaleIn = trigger(`tuiScaleIn`, [
104
+ transition(`:enter`, [
105
+ style({ transform: `scale(0)` }),
106
+ animate(TRANSITION, style({ transform: `scale(1)` })),
107
107
  ], DURATION),
108
- transition(':leave', [
109
- style({ transform: 'scale(1)' }),
110
- animate(TRANSITION, style({ transform: 'scale(0)' })),
108
+ transition(`:leave`, [
109
+ style({ transform: `scale(1)` }),
110
+ animate(TRANSITION, style({ transform: `scale(0)` })),
111
111
  ], DURATION),
112
112
  ]);
113
- export const tuiScaleInList = trigger('tuiScaleInList', [
114
- transition('* => *', [
115
- query(':enter', [
116
- style({ transform: 'scale(0)' }),
113
+ export const tuiScaleInList = trigger(`tuiScaleInList`, [
114
+ transition(`* => *`, [
115
+ query(`:enter`, [
116
+ style({ transform: `scale(0)` }),
117
117
  stagger(STAGGER, [
118
- animate(TRANSITION, style({ transform: 'scale(1)' })),
118
+ animate(TRANSITION, style({ transform: `scale(1)` })),
119
119
  ]),
120
120
  ], { optional: true }),
121
- query(':leave', [
122
- style({ transform: 'scale(1)' }),
121
+ query(`:leave`, [
122
+ style({ transform: `scale(1)` }),
123
123
  stagger(STAGGER, [
124
- animate(TRANSITION, style({ transform: 'scale(0)' })),
124
+ animate(TRANSITION, style({ transform: `scale(0)` })),
125
125
  ]),
126
126
  ], { optional: true }),
127
127
  ], DURATION),
128
128
  ]);
129
- export const tuiSlideIn = trigger('tuiSlideIn', [
129
+ export const tuiSlideIn = trigger(`tuiSlideIn`, [
130
130
  transition(`* => left`, [
131
- style({ transform: 'translateX(-100%)' }),
132
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
131
+ style({ transform: `translateX(-100%)` }),
132
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
133
133
  ], DURATION),
134
- transition('left => *', [
135
- style({ transform: 'translateX(0)' }),
136
- animate(TRANSITION, style({ transform: 'translateX(-100%)' })),
134
+ transition(`left => *`, [
135
+ style({ transform: `translateX(0)` }),
136
+ animate(TRANSITION, style({ transform: `translateX(-100%)` })),
137
137
  ], DURATION),
138
- transition('* => right', [
139
- style({ transform: 'translateX(100%)' }),
140
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
138
+ transition(`* => right`, [
139
+ style({ transform: `translateX(100%)` }),
140
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
141
141
  ], DURATION),
142
- transition('right => *', [
143
- style({ transform: 'translateX(0)' }),
144
- animate(TRANSITION, style({ transform: 'translateX(100%)' })),
142
+ transition(`right => *`, [
143
+ style({ transform: `translateX(0)` }),
144
+ animate(TRANSITION, style({ transform: `translateX(100%)` })),
145
145
  ], DURATION),
146
146
  ]);
147
- export const tuiSlideInLeft = trigger('tuiSlideInLeft', [
148
- transition(':enter', [
149
- style({ transform: 'translateX(-100%)' }),
150
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
147
+ export const tuiSlideInLeft = trigger(`tuiSlideInLeft`, [
148
+ transition(`:enter`, [
149
+ style({ transform: `translateX(-100%)` }),
150
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
151
151
  ], DURATION),
152
- transition(':leave', [
153
- style({ transform: 'translateX(0)' }),
154
- animate(TRANSITION, style({ transform: 'translateX(-100%)' })),
152
+ transition(`:leave`, [
153
+ style({ transform: `translateX(0)` }),
154
+ animate(TRANSITION, style({ transform: `translateX(-100%)` })),
155
155
  ], DURATION),
156
156
  ]);
157
- export const tuiSlideInLeftList = trigger('tuiSlideInLeftList', [
158
- transition('* => *', [
159
- query(':enter', [
160
- style({ transform: 'translateX(-100%)' }),
157
+ export const tuiSlideInLeftList = trigger(`tuiSlideInLeftList`, [
158
+ transition(`* => *`, [
159
+ query(`:enter`, [
160
+ style({ transform: `translateX(-100%)` }),
161
161
  stagger(STAGGER, [
162
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
162
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
163
163
  ]),
164
164
  ], { optional: true }),
165
- query(':leave', [
166
- style({ transform: 'translateX(0)' }),
165
+ query(`:leave`, [
166
+ style({ transform: `translateX(0)` }),
167
167
  stagger(STAGGER, [
168
- animate(TRANSITION, style({ transform: 'translateX(-100%)' })),
168
+ animate(TRANSITION, style({ transform: `translateX(-100%)` })),
169
169
  ]),
170
170
  ], { optional: true }),
171
171
  ], DURATION),
172
172
  ]);
173
- export const tuiSlideInRight = trigger('tuiSlideInRight', [
174
- transition(':enter', [
175
- style({ transform: 'translateX(100%)' }),
176
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
173
+ export const tuiSlideInRight = trigger(`tuiSlideInRight`, [
174
+ transition(`:enter`, [
175
+ style({ transform: `translateX(100%)` }),
176
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
177
177
  ], DURATION),
178
- transition(':leave', [
179
- style({ transform: 'translateX(0)' }),
180
- animate(TRANSITION, style({ transform: 'translateX(100%)' })),
178
+ transition(`:leave`, [
179
+ style({ transform: `translateX(0)` }),
180
+ animate(TRANSITION, style({ transform: `translateX(100%)` })),
181
181
  ], DURATION),
182
182
  ]);
183
- export const tuiSlideInRightList = trigger('tuiSlideInRightList', [
184
- transition('* => *', [
185
- query(':enter', [
186
- style({ transform: 'translateX(100%)' }),
183
+ export const tuiSlideInRightList = trigger(`tuiSlideInRightList`, [
184
+ transition(`* => *`, [
185
+ query(`:enter`, [
186
+ style({ transform: `translateX(100%)` }),
187
187
  stagger(STAGGER, [
188
- animate(TRANSITION, style({ transform: 'translateX(0)' })),
188
+ animate(TRANSITION, style({ transform: `translateX(0)` })),
189
189
  ]),
190
190
  ], { optional: true }),
191
- query(':leave', [
192
- style({ transform: 'translateX(0)' }),
191
+ query(`:leave`, [
192
+ style({ transform: `translateX(0)` }),
193
193
  stagger(STAGGER, [
194
- animate(TRANSITION, style({ transform: 'translateX(100%)' })),
194
+ animate(TRANSITION, style({ transform: `translateX(100%)` })),
195
195
  ]),
196
196
  ], { optional: true }),
197
197
  ], DURATION),
198
198
  ]);
199
- export const tuiSlideInTop = trigger('tuiSlideInTop', [
200
- transition(':enter', [
201
- style({ transform: 'translate3d(0,{{start}},0)' }),
202
- animate(TRANSITION, style({ transform: 'translate3d(0,{{end}},0)' })),
203
- ], { params: { end: 0, start: '100%', duration: 300 } }),
204
- transition(':leave', [
205
- style({ transform: 'translate3d(0,{{end}},0)' }),
206
- animate(TRANSITION, style({ transform: 'translate3d(0,{{start}},0)' })),
207
- ], { params: { end: 0, start: '100%', duration: 300 } }),
208
- ]);
209
- export const tuiSlideInTopList = trigger('tuiSlideInTopList', [
210
- transition('* => *', [
211
- query(':enter', [
212
- style({ transform: 'translateY(100%)' }),
199
+ export const tuiSlideInTop = trigger(`tuiSlideInTop`, [
200
+ transition(`:enter`, [
201
+ style({ transform: `translate3d(0,{{start}},0)` }),
202
+ animate(TRANSITION, style({ transform: `translate3d(0,{{end}},0)` })),
203
+ ], { params: { end: 0, start: `100%`, duration: 300 } }),
204
+ transition(`:leave`, [
205
+ style({ transform: `translate3d(0,{{end}},0)` }),
206
+ animate(TRANSITION, style({ transform: `translate3d(0,{{start}},0)` })),
207
+ ], { params: { end: 0, start: `100%`, duration: 300 } }),
208
+ ]);
209
+ export const tuiSlideInTopList = trigger(`tuiSlideInTopList`, [
210
+ transition(`* => *`, [
211
+ query(`:enter`, [
212
+ style({ transform: `translateY(100%)` }),
213
213
  stagger(STAGGER, [
214
- animate(TRANSITION, style({ transform: 'translateY(0)' })),
214
+ animate(TRANSITION, style({ transform: `translateY(0)` })),
215
215
  ]),
216
216
  ], { optional: true }),
217
- query(':leave', [
218
- style({ transform: 'translateY(0)' }),
217
+ query(`:leave`, [
218
+ style({ transform: `translateY(0)` }),
219
219
  stagger(STAGGER, [
220
- animate(TRANSITION, style({ transform: 'translateY(100%)' })),
220
+ animate(TRANSITION, style({ transform: `translateY(100%)` })),
221
221
  ]),
222
222
  ], { optional: true }),
223
223
  ], DURATION),
224
224
  ]);
225
- export const tuiSlideInBottom = trigger('tuiSlideInBottom', [
226
- transition(':enter', [
227
- style({ transform: 'translateY(-100%)' }),
228
- animate(TRANSITION, style({ transform: 'translateY(0)' })),
225
+ export const tuiSlideInBottom = trigger(`tuiSlideInBottom`, [
226
+ transition(`:enter`, [
227
+ style({ transform: `translateY(-100%)` }),
228
+ animate(TRANSITION, style({ transform: `translateY(0)` })),
229
229
  ], DURATION),
230
- transition(':leave', [
231
- style({ transform: 'translateY(0)' }),
232
- animate(TRANSITION, style({ transform: 'translateY(-100%)' })),
230
+ transition(`:leave`, [
231
+ style({ transform: `translateY(0)` }),
232
+ animate(TRANSITION, style({ transform: `translateY(-100%)` })),
233
233
  ], DURATION),
234
234
  ]);
235
- export const tuiSlideInBottomList = trigger('tuiSlideInBottomList', [
236
- transition('* => *', [
237
- query(':enter', [
238
- style({ transform: 'translateY(-100%)' }),
235
+ export const tuiSlideInBottomList = trigger(`tuiSlideInBottomList`, [
236
+ transition(`* => *`, [
237
+ query(`:enter`, [
238
+ style({ transform: `translateY(-100%)` }),
239
239
  stagger(STAGGER, [
240
- animate(TRANSITION, style({ transform: 'translateY(0)' })),
240
+ animate(TRANSITION, style({ transform: `translateY(0)` })),
241
241
  ]),
242
242
  ], { optional: true }),
243
- query(':leave', [
244
- style({ transform: 'translateY(0)' }),
243
+ query(`:leave`, [
244
+ style({ transform: `translateY(0)` }),
245
245
  stagger(STAGGER, [
246
- animate(TRANSITION, style({ transform: 'translateY(-100%)' })),
246
+ animate(TRANSITION, style({ transform: `translateY(-100%)` })),
247
247
  ]),
248
248
  ], { optional: true }),
249
249
  ], DURATION),
250
250
  ]);
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMvIiwic291cmNlcyI6WyJhbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3hGLE1BQU0sVUFBVSxHQUFHLDRCQUE0QixDQUFDO0FBQ2hELE1BQU0sUUFBUSxHQUFHLEVBQUMsTUFBTSxFQUFFLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQUM7QUFDM0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBT3BCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUMxRCxVQUFVLENBQ04sUUFBUSxFQUNSLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9ELFFBQVEsQ0FDWDtJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixFQUFFO0lBQ2xFLFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxD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VUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO0tBQzNELEVBQ0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7S0FDL0QsRUFDRCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7SUFDaEUsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7YUFDM0QsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQzthQUMvRCxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgcXVlcnksIHN0YWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcblxuY29uc3QgVFJBTlNJVElPTiA9ICd7e2R1cmF0aW9ufX1tcyBlYXNlLWluLW91dCc7XG5jb25zdCBEVVJBVElPTiA9IHtwYXJhbXM6IHtkdXJhdGlvbjogMzAwfX07XG5jb25zdCBTVEFHR0VSID0gMzAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUR1cmF0aW9uT3B0aW9ucyB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBwYXJhbXM6IHtkdXJhdGlvbjogbnVtYmVyfTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aUhlaWdodENvbGxhcHNlID0gdHJpZ2dlcigndHVpSGVpZ2h0Q29sbGFwc2UnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogJyonfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW3N0eWxlKHtoZWlnaHQ6ICcqJ30pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZUxpc3QgPSB0cmlnZ2VyKCd0dWlIZWlnaHRDb2xsYXBzZUxpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6ICcqJ30pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogJyonfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpV2lkdGhDb2xsYXBzZSA9IHRyaWdnZXIoJ3R1aVdpZHRoQ29sbGFwc2UnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6ICcqJ30pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6ICcqJ30pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2VMaXN0ID0gdHJpZ2dlcigndHVpV2lkdGhDb2xsYXBzZUxpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3dpZHRoOiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAnKid9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogJyonfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW4gPSB0cmlnZ2VyKCd0dWlGYWRlSW4nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7b3BhY2l0eTogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5MaXN0ID0gdHJpZ2dlcigndHVpRmFkZUluTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMX0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5Ub3AgPSB0cmlnZ2VyKCd0dWlGYWRlSW5Ub3AnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwcHgpJywgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluQm90dG9tID0gdHJpZ2dlcigndHVpRmFkZUluQm90dG9tJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknLCBvcGFjaXR5OiAwfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlEcm9wZG93bkFuaW1hdGlvbiA9IHRyaWdnZXIoJ3R1aURyb3Bkb3duQW5pbWF0aW9uJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluVG9wfWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluQm90dG9tfWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIG9wYWNpdHk6IDF9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluQm90dG9tfSA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJywgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgJHtUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3B9ID0+ICpgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwcHgpJywgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbiA9IHRyaWdnZXIoJ3R1aVNjYWxlSW4nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDEpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDEpJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTY2FsZUluTGlzdCA9IHRyaWdnZXIoJ3R1aVNjYWxlSW5MaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW4gPSB0cmlnZ2VyKCd0dWlTbGlkZUluJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+IGxlZnRgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnbGVmdCA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gcmlnaHQnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICdyaWdodCA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnQgPSB0cmlnZ2VyKCd0dWlTbGlkZUluTGVmdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluTGVmdExpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluTGVmdExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wID0gdHJpZ2dlcigndHVpU2xpZGVJblRvcCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tzdGFydH19LDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2VuZH19LDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLHt7ZW5kfX0sMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLHt7c3RhcnR9fSwwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wTGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Ub3BMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Cb3R0b20nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbUxpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluQm90dG9tTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuIl19
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMvIiwic291cmNlcyI6WyJhbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3hGLE1BQU0sVUFBVSxHQUFHLDRCQUE0QixDQUFDO0FBQ2hELE1BQU0sUUFBUSxHQUFHLEVBQUMsTUFBTSxFQUFFLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQUM7QUFDM0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBT3BCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUMxRCxVQUFVLENBQ04sUUFBUSxFQUNSLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9ELFFBQVEsQ0FDWDtJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixFQUFFO0lBQ2xFLFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxD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VUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO0tBQzNELEVBQ0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7S0FDL0QsRUFDRCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7SUFDaEUsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7YUFDM0QsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQzthQUMvRCxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgcXVlcnksIHN0YWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcblxuY29uc3QgVFJBTlNJVElPTiA9IGB7e2R1cmF0aW9ufX1tcyBlYXNlLWluLW91dGA7XG5jb25zdCBEVVJBVElPTiA9IHtwYXJhbXM6IHtkdXJhdGlvbjogMzAwfX07XG5jb25zdCBTVEFHR0VSID0gMzAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUR1cmF0aW9uT3B0aW9ucyB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBwYXJhbXM6IHtkdXJhdGlvbjogbnVtYmVyfTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aUhlaWdodENvbGxhcHNlID0gdHJpZ2dlcihgdHVpSGVpZ2h0Q29sbGFwc2VgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogYCpgfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgW3N0eWxlKHtoZWlnaHQ6IGAqYH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZUxpc3QgPSB0cmlnZ2VyKGB0dWlIZWlnaHRDb2xsYXBzZUxpc3RgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCogPT4gKmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgIGA6ZW50ZXJgLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IGAqYH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgIGA6bGVhdmVgLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogYCpgfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpV2lkdGhDb2xsYXBzZSA9IHRyaWdnZXIoYHR1aVdpZHRoQ29sbGFwc2VgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6IGAqYH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6IGAqYH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2VMaXN0ID0gdHJpZ2dlcihgdHVpV2lkdGhDb2xsYXBzZUxpc3RgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCogPT4gKmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgIGA6ZW50ZXJgLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3dpZHRoOiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiBgKmB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogYCpgfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW4gPSB0cmlnZ2VyKGB0dWlGYWRlSW5gLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtzdHlsZSh7b3BhY2l0eTogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5MaXN0ID0gdHJpZ2dlcihgdHVpRmFkZUluTGlzdGAsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgKiA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgYDplbnRlcmAsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMX0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5Ub3AgPSB0cmlnZ2VyKGB0dWlGYWRlSW5Ub3BgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKC0xMHB4KWAsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGA6bGVhdmVgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWAsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoLTEwcHgpYCwgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluQm90dG9tID0gdHJpZ2dlcihgdHVpRmFkZUluQm90dG9tYCwgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGA6ZW50ZXJgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgxMHB4KWAsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGA6bGVhdmVgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWAsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMTBweClgLCBvcGFjaXR5OiAwfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlEcm9wZG93bkFuaW1hdGlvbiA9IHRyaWdnZXIoYHR1aURyb3Bkb3duQW5pbWF0aW9uYCwgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluVG9wfWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKC0xMHB4KWAsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluQm90dG9tfWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDEwcHgpYCwgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWAsIG9wYWNpdHk6IDF9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCR7VHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluQm90dG9tfSA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDEwcHgpYCwgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgJHtUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3B9ID0+ICpgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWAsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoLTEwcHgpYCwgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbiA9IHRyaWdnZXIoYHR1aVNjYWxlSW5gLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGBzY2FsZSgwKWB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHNjYWxlKDEpYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHNjYWxlKDEpYH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgc2NhbGUoMClgfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTY2FsZUluTGlzdCA9IHRyaWdnZXIoYHR1aVNjYWxlSW5MaXN0YCwgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICpgLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmVudGVyYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGBzY2FsZSgwKWB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGBzY2FsZSgxKWB9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGBzY2FsZSgxKWB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGBzY2FsZSgwKWB9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW4gPSB0cmlnZ2VyKGB0dWlTbGlkZUluYCwgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+IGxlZnRgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgtMTAwJSlgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDApYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgbGVmdCA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMClgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKC0xMDAlKWB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCogPT4gcmlnaHRgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgxMDAlKWB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMClgfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGByaWdodCA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMClgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDEwMCUpYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnQgPSB0cmlnZ2VyKGB0dWlTbGlkZUluTGVmdGAsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmVudGVyYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgwKWB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDApYH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgtMTAwJSlgfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluTGVmdExpc3QgPSB0cmlnZ2VyKGB0dWlTbGlkZUluTGVmdExpc3RgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCogPT4gKmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgIGA6ZW50ZXJgLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMClgfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgwKWB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKC0xMDAlKWB9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoYHR1aVNsaWRlSW5SaWdodGAsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmVudGVyYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMTAwJSlgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDApYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMClgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDEwMCUpYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoYHR1aVNsaWRlSW5SaWdodExpc3RgLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYCogPT4gKmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgIGA6ZW50ZXJgLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMTAwJSlgfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgwKWB9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKDApYH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoMTAwJSlgfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wID0gdHJpZ2dlcihgdHVpU2xpZGVJblRvcGAsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgOmVudGVyYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZTNkKDAse3tzdGFydH19LDApYH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlM2QoMCx7e2VuZH19LDApYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IGAxMDAlYCwgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGUzZCgwLHt7ZW5kfX0sMClgfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGUzZCgwLHt7c3RhcnR9fSwwKWB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiBgMTAwJWAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wTGlzdCA9IHRyaWdnZXIoYHR1aVNsaWRlSW5Ub3BMaXN0YCwgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGAqID0+ICpgLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmVudGVyYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDEwMCUpYH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgYDpsZWF2ZWAsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDEwMCUpYH0pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbSA9IHRyaWdnZXIoYHR1aVNsaWRlSW5Cb3R0b21gLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgYDplbnRlcmAsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKC0xMDAlKWB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoMClgfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgIGA6bGVhdmVgLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoLTEwMCUpYH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbUxpc3QgPSB0cmlnZ2VyKGB0dWlTbGlkZUluQm90dG9tTGlzdGAsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICBgKiA9PiAqYCxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgYDplbnRlcmAsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgtMTAwJSlgfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwKWB9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICBgOmxlYXZlYCxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKDApYH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVkoLTEwMCUpYH0pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuIl19