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