@taiga-ui/core 2.26.0 → 2.29.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 (336) hide show
  1. package/README.md +4 -5
  2. package/abstract/abstract-dropdown.d.ts +1 -1
  3. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-data-list.umd.js +20 -20
  7. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.min.js +2 -2
  12. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-expand.umd.js +4 -4
  18. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  20. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-hints-host.umd.js +6 -6
  22. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -1
  24. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +9 -9
  26. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  28. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  30. package/bundles/taiga-ui-core-components-link.umd.min.js +2 -2
  31. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  35. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +2 -15
  39. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +3 -3
  43. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +17 -14
  47. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  49. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +3 -3
  51. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  52. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  53. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-root.umd.js +12 -7
  55. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-root.umd.min.js +2 -2
  57. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-components-scrollbar.umd.js +2 -2
  59. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +1 -1
  61. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-core-components-svg.umd.js +11 -6
  63. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-svg.umd.min.js +1 -1
  65. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  67. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  71. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  73. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-directives-hint.umd.js +1 -1
  75. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  77. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
  79. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  80. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  81. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-core-enums.umd.js +1 -0
  83. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  84. package/bundles/taiga-ui-core-enums.umd.min.js +1 -1
  85. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-core-modules-notifications.umd.js +1 -1
  87. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  88. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  89. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-core-providers.umd.js +19 -4
  91. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  92. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  93. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-core-services.umd.js +1 -1
  95. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  96. package/bundles/taiga-ui-core-services.umd.min.js +1 -1
  97. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-core-tokens.umd.js +12 -4
  99. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  100. package/bundles/taiga-ui-core-tokens.umd.min.js +2 -2
  101. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-core-utils-mask.umd.js +5 -1
  103. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  104. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  105. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  106. package/components/data-list/data-list.component.d.ts +4 -4
  107. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  108. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  109. package/components/dropdown-box/dropdown-box.component.d.ts +2 -2
  110. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  111. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  112. package/components/expand/expand.component.d.ts +2 -2
  113. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  114. package/components/hints-host/hint-box/hint-box.component.d.ts +1 -1
  115. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  116. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +3 -3
  117. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  118. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  119. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  120. package/components/primitive-calendar/primitive-calendar.component.d.ts +3 -3
  121. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  122. package/components/primitive-checkbox/primitive-checkbox.component.d.ts +1 -3
  123. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  124. package/components/primitive-spin-button/primitive-spin-button.component.d.ts +1 -1
  125. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  126. package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -3
  127. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  128. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +2 -1
  129. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
  130. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  131. package/components/root/root.component.d.ts +2 -1
  132. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  133. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  134. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  135. package/components/svg/svg.component.d.ts +6 -4
  136. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  137. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  138. package/components/tooltip/tooltip.component.d.ts +1 -1
  139. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  140. package/constants/version.d.ts +1 -1
  141. package/directives/hint/hint.directive.d.ts +1 -1
  142. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  143. package/directives/pointer-hint/pointer-hint.directive.d.ts +1 -1
  144. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  145. package/enums/appearance.d.ts +1 -0
  146. package/enums/taiga-ui-core-enums.metadata.json +1 -1
  147. package/esm2015/abstract/abstract-dropdown.js +1 -1
  148. package/esm2015/components/data-list/data-list.component.js +17 -17
  149. package/esm2015/components/dialog/dialog.component.js +1 -1
  150. package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
  151. package/esm2015/components/error/error.component.js +1 -1
  152. package/esm2015/components/expand/expand.component.js +5 -5
  153. package/esm2015/components/hints-host/hint-box/hint-box.component.js +7 -7
  154. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  155. package/esm2015/components/link/link.component.js +1 -1
  156. package/esm2015/components/notification/notification.component.js +1 -1
  157. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  158. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +4 -13
  159. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +4 -4
  160. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +7 -10
  161. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +9 -3
  162. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +4 -4
  163. package/esm2015/components/root/root.component.js +12 -6
  164. package/esm2015/components/scrollbar/scrollbar.component.js +3 -3
  165. package/esm2015/components/svg/svg.component.js +13 -8
  166. package/esm2015/components/tooltip/tooltip.component.js +2 -2
  167. package/esm2015/constants/version.js +2 -2
  168. package/esm2015/directives/hint/hint.directive.js +2 -2
  169. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  170. package/esm2015/enums/appearance.js +2 -1
  171. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +1 -1
  172. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  173. package/esm2015/modules/notifications/notifications.service.js +1 -1
  174. package/esm2015/providers/index.js +2 -1
  175. package/esm2015/providers/is-mobile-resolution.provider.js +17 -0
  176. package/esm2015/services/hint.service.js +1 -1
  177. package/esm2015/services/svg.service.js +2 -2
  178. package/esm2015/tokens/index.js +3 -1
  179. package/esm2015/tokens/is-mobile-resolution.js +3 -0
  180. package/esm2015/tokens/svg-src-processor.js +6 -0
  181. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  182. package/esm5/abstract/abstract-dropdown.js +1 -1
  183. package/esm5/components/data-list/data-list.component.js +21 -21
  184. package/esm5/components/dialog/dialog.component.js +1 -1
  185. package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
  186. package/esm5/components/error/error.component.js +1 -1
  187. package/esm5/components/expand/expand.component.js +5 -5
  188. package/esm5/components/hints-host/hint-box/hint-box.component.js +7 -7
  189. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  190. package/esm5/components/link/link.component.js +1 -1
  191. package/esm5/components/notification/notification.component.js +1 -1
  192. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  193. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +4 -17
  194. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +4 -4
  195. package/esm5/components/primitive-textfield/primitive-textfield.component.js +7 -14
  196. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +13 -3
  197. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +4 -4
  198. package/esm5/components/root/root.component.js +12 -6
  199. package/esm5/components/scrollbar/scrollbar.component.js +3 -3
  200. package/esm5/components/svg/svg.component.js +13 -8
  201. package/esm5/components/tooltip/tooltip.component.js +2 -2
  202. package/esm5/constants/version.js +2 -2
  203. package/esm5/directives/hint/hint.directive.js +2 -2
  204. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  205. package/esm5/enums/appearance.js +2 -1
  206. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +1 -1
  207. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  208. package/esm5/modules/notifications/notifications.service.js +1 -1
  209. package/esm5/providers/index.js +2 -1
  210. package/esm5/providers/is-mobile-resolution.provider.js +19 -0
  211. package/esm5/services/hint.service.js +1 -1
  212. package/esm5/services/svg.service.js +2 -2
  213. package/esm5/tokens/index.js +3 -1
  214. package/esm5/tokens/is-mobile-resolution.js +3 -0
  215. package/esm5/tokens/svg-src-processor.js +6 -0
  216. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  217. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  218. package/fesm2015/taiga-ui-core-components-data-list.js +17 -17
  219. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  220. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  221. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  222. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  223. package/fesm2015/taiga-ui-core-components-expand.js +5 -5
  224. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  225. package/fesm2015/taiga-ui-core-components-hints-host.js +7 -7
  226. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  227. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  228. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  229. package/fesm2015/taiga-ui-core-components-link.js +1 -1
  230. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  231. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +3 -3
  232. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  233. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +3 -12
  234. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  235. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +4 -4
  236. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  237. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +14 -11
  238. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  239. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +3 -3
  240. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  241. package/fesm2015/taiga-ui-core-components-root.js +11 -5
  242. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  243. package/fesm2015/taiga-ui-core-components-scrollbar.js +2 -2
  244. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  245. package/fesm2015/taiga-ui-core-components-svg.js +12 -7
  246. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  247. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  248. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  249. package/fesm2015/taiga-ui-core-constants.js +1 -1
  250. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  251. package/fesm2015/taiga-ui-core-directives-hint.js +1 -1
  252. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  253. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  254. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  255. package/fesm2015/taiga-ui-core-enums.js +1 -0
  256. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  257. package/fesm2015/taiga-ui-core-modules-notifications.js +1 -1
  258. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  259. package/fesm2015/taiga-ui-core-providers.js +18 -6
  260. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  261. package/fesm2015/taiga-ui-core-services.js +1 -1
  262. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  263. package/fesm2015/taiga-ui-core-tokens.js +8 -1
  264. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  265. package/fesm2015/taiga-ui-core-utils-mask.js +5 -1
  266. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  267. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  268. package/fesm5/taiga-ui-core-components-data-list.js +21 -21
  269. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  270. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  271. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  272. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  273. package/fesm5/taiga-ui-core-components-expand.js +5 -5
  274. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  275. package/fesm5/taiga-ui-core-components-hints-host.js +7 -7
  276. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  277. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +10 -10
  278. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  279. package/fesm5/taiga-ui-core-components-link.js +1 -1
  280. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  281. package/fesm5/taiga-ui-core-components-primitive-calendar.js +3 -3
  282. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  283. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +3 -16
  284. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  285. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +4 -4
  286. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  287. package/fesm5/taiga-ui-core-components-primitive-textfield.js +18 -15
  288. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  289. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +3 -3
  290. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  291. package/fesm5/taiga-ui-core-components-root.js +11 -5
  292. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  293. package/fesm5/taiga-ui-core-components-scrollbar.js +2 -2
  294. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  295. package/fesm5/taiga-ui-core-components-svg.js +12 -7
  296. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  297. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  298. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  299. package/fesm5/taiga-ui-core-constants.js +1 -1
  300. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  301. package/fesm5/taiga-ui-core-directives-hint.js +1 -1
  302. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  303. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  304. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  305. package/fesm5/taiga-ui-core-enums.js +1 -0
  306. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  307. package/fesm5/taiga-ui-core-modules-notifications.js +1 -1
  308. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  309. package/fesm5/taiga-ui-core-providers.js +20 -6
  310. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  311. package/fesm5/taiga-ui-core-services.js +1 -1
  312. package/fesm5/taiga-ui-core-services.js.map +1 -1
  313. package/fesm5/taiga-ui-core-tokens.js +8 -1
  314. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  315. package/fesm5/taiga-ui-core-utils-mask.js +5 -1
  316. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  317. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  318. package/package.json +5 -5
  319. package/providers/index.d.ts +1 -0
  320. package/providers/is-mobile-resolution.provider.d.ts +5 -0
  321. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  322. package/services/hint.service.d.ts +3 -3
  323. package/services/svg.service.d.ts +1 -1
  324. package/styles/theme/variables.less +1 -1
  325. package/styles/theme/wrapper/accent.less +31 -0
  326. package/styles/theme/wrapper/icon.less +1 -0
  327. package/styles/theme/wrapper/outline.less +1 -0
  328. package/styles/theme/wrapper/primary.less +1 -0
  329. package/styles/theme/wrapper/secondary.less +1 -0
  330. package/styles/theme/wrapper/whiteblock.less +2 -0
  331. package/styles/theme/wrapper.less +1 -0
  332. package/tokens/index.d.ts +2 -0
  333. package/tokens/is-mobile-resolution.d.ts +3 -0
  334. package/tokens/svg-src-processor.d.ts +3 -0
  335. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  336. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
@@ -12,20 +12,13 @@ let TuiDataListComponent = TuiDataListComponent_1 = class TuiDataListComponent {
12
12
  constructor(elementRef, defaultEmptyContent$) {
13
13
  this.elementRef = elementRef;
14
14
  this.defaultEmptyContent$ = defaultEmptyContent$;
15
+ this.options = EMPTY_QUERY;
15
16
  this.role = 'listbox';
16
17
  this.emptyContent = '';
17
- this.options = EMPTY_QUERY;
18
18
  }
19
19
  get empty$() {
20
20
  return itemsQueryListObservable(this.options).pipe(map(({ length }) => !length));
21
21
  }
22
- getOptions(includeDisabled = false) {
23
- return this.options
24
- .toArray()
25
- .filter(({ disabled }) => includeDisabled || !disabled)
26
- .map(({ value }) => value)
27
- .filter(isPresent);
28
- }
29
22
  onFocusIn(relatedTarget, currentTarget) {
30
23
  if (!currentTarget.contains(relatedTarget) && !this.origin) {
31
24
  this.origin = relatedTarget;
@@ -36,17 +29,24 @@ let TuiDataListComponent = TuiDataListComponent_1 = class TuiDataListComponent {
36
29
  const { elements } = this;
37
30
  moveFocus(elements.indexOf(current), elements, step);
38
31
  }
39
- onFocus(element, top) {
40
- const { elements } = this;
41
- moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);
42
- this.handleFocusLossIfNecessary(element);
43
- }
44
32
  // TODO: Consider aria-activedescendant for proper accessibility implementation
45
33
  handleFocusLossIfNecessary(element) {
46
34
  if (this.origin && isNativeFocusedIn(element)) {
47
35
  setNativeMouseFocused(this.origin, true, true);
48
36
  }
49
37
  }
38
+ getOptions(includeDisabled = false) {
39
+ return this.options
40
+ .toArray()
41
+ .filter(({ disabled }) => includeDisabled || !disabled)
42
+ .map(({ value }) => value)
43
+ .filter(isPresent);
44
+ }
45
+ onFocus(element, top) {
46
+ const { elements } = this;
47
+ moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);
48
+ this.handleFocusLossIfNecessary(element);
49
+ }
50
50
  get elements() {
51
51
  return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));
52
52
  }
@@ -55,6 +55,9 @@ TuiDataListComponent.ctorParameters = () => [
55
55
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
56
56
  { type: Observable, decorators: [{ type: Inject, args: [TUI_NOTHING_FOUND_MESSAGE,] }] }
57
57
  ];
58
+ __decorate([
59
+ ContentChildren(forwardRef(() => TuiOptionComponent), { descendants: true })
60
+ ], TuiDataListComponent.prototype, "options", void 0);
58
61
  __decorate([
59
62
  Input(),
60
63
  HostBinding('attr.role'),
@@ -64,9 +67,6 @@ __decorate([
64
67
  Input(),
65
68
  tuiDefaultProp()
66
69
  ], TuiDataListComponent.prototype, "emptyContent", void 0);
67
- __decorate([
68
- ContentChildren(forwardRef(() => TuiOptionComponent), { descendants: true })
69
- ], TuiDataListComponent.prototype, "options", void 0);
70
70
  __decorate([
71
71
  tuiPure
72
72
  ], TuiDataListComponent.prototype, "empty$", null);
@@ -102,4 +102,4 @@ TuiDataListComponent = TuiDataListComponent_1 = __decorate([
102
102
  __param(1, Inject(TUI_NOTHING_FOUND_MESSAGE))
103
103
  ], TuiDataListComponent);
104
104
  export { TuiDataListComponent };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0LyIsInNvdXJjZXMiOlsiZGF0YS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR3hGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTdELCtFQUErRTtBQUMvRSxXQUFXO0FBY1gsSUFBYSxvQkFBb0IsNEJBQWpDLE1BQWEsb0JBQW9CO0lBZTdCLFlBQ3lDLFVBQW1DLEVBRS9ELG9CQUF3QztRQUZaLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRS9ELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFkckQsU0FBSSxHQUFvQixTQUFTLENBQUM7UUFJbEMsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBR3RCLFlBQU8sR0FBcUMsV0FBVyxDQUFDO0lBUXRFLENBQUM7SUFHSixJQUFJLE1BQU07UUFDTixPQUFPLHdCQUF3QixDQUFDLElBQUks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QUMsQ0FBQzswREFLaEU7QUFZRDtJQUZDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDOUQsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3NFQUs3QztBQWxFUSxvQkFBb0I7SUFiaEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFDekIsaVhBQXdDO1FBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQW9CLENBQUM7YUFDdEQ7U0FDSjs7S0FDSixDQUFDO0lBaUJPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7R0FqQjdCLG9CQUFvQixDQXVFaEM7U0F2RVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIGlzUHJlc2VudCxcbiAgICBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsXG4gICAgbW92ZUZvY3VzLFxuICAgIHNldE5hdGl2ZU1vdXNlRm9jdXNlZCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpRGF0YUxpc3RBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfQUNDRVNTT1IsIFRVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aURhdGFMaXN0Um9sZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpT3B0aW9uQ29tcG9uZW50fSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcblxuLy8gVE9ETzogQ29uc2lkZXIgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGZvciBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGlzdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlEYXRhTGlzdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvbGU6IFR1aURhdGFMaXN0Um9sZSA9ICdsaXN0Ym94JztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlbXB0eUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb25Db21wb25lbnQpLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgb3JpZ2luPzogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0UpXG4gICAgICAgIHJlYWRvbmx5IGRlZmF1bHRFbXB0eUNvbnRlbnQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IFJlYWRvbmx5QXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKGlzUHJlc2VudCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicsIFsnJGV2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnJGV2ZW50LmN1cnJlbnRUYXJnZXQnXSlcbiAgICBvbkZvY3VzSW4ocmVsYXRlZFRhcmdldDogSFRNTEVsZW1lbnQsIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmICghY3VycmVudFRhcmdldC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KSAmJiAhdGhpcy5vcmlnaW4pIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bi5wcmV2ZW50JylcbiAgICBub29wKCkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICBtb3ZlRm9jdXMoZWxlbWVudHMuaW5kZXhPZihjdXJyZW50KSwgZWxlbWVudHMsIHN0ZXApO1xuICAgIH1cblxuICAgIG9uRm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRvcDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICBtb3ZlRm9jdXModG9wID8gLTEgOiBlbGVtZW50cy5sZW5ndGgsIGVsZW1lbnRzLCB0b3AgPyAxIDogLTEpO1xuICAgICAgICB0aGlzLmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IENvbnNpZGVyIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBmb3IgcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb25cbiAgICBASG9zdExpc3RlbmVyKCd3aGVlbC5zaWxlbnQucGFzc2l2ZScsIFsnJGV2ZW50LmN1cnJlbnRUYXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luICYmIGlzTmF0aXZlRm9jdXNlZEluKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVNb3VzZUZvY3VzZWQodGhpcy5vcmlnaW4sIHRydWUsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudHMoKTogUmVhZG9ubHlBcnJheTxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbdHVpT3B0aW9uXScpKTtcbiAgICB9XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0LyIsInNvdXJjZXMiOlsiZGF0YS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR3hGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTdELCtFQUErRTtBQUMvRSxXQUFXO0FBY1gsSUFBYSxvQkFBb0IsNEJBQWpDLE1BQWEsb0JBQW9CO0lBZTdCLFlBQ3lDLFVBQW1DLEVBRS9ELG9CQUF3QztRQUZaLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRS9ELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFoQnBDLFlBQU8sR0FBcUMsV0FBVyxDQUFDO1FBT3pFLFNBQUksR0FBb0IsU0FBUyxDQUFDO1FBSWxDLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztJQU1wQyxDQUFDO0lBR0osSUFBSSxNQUFNO1FBQ04sT0FBTyx3QkFBd0IsQ0FBQyxJQUFJ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QUFDLENBQUM7MERBS2hFO0FBS0Q7SUFGQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzlELFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztzRUFLN0M7QUFuRFEsb0JBQW9CO0lBYmhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLGlYQUF3QztRQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFvQixDQUFDO2FBQ3REO1NBQ0o7O0tBQ0osQ0FBQztJQWlCTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0dBakI3QixvQkFBb0IsQ0F1RWhDO1NBdkVZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBpc1ByZXNlbnQsXG4gICAgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIG1vdmVGb2N1cyxcbiAgICBzZXROYXRpdmVNb3VzZUZvY3VzZWQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0FDQ0VTU09SLCBUVUlfTk9USElOR19GT1VORF9NRVNTQUdFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdFJvbGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aU9wdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5cbi8vIFRPRE86IENvbnNpZGVyIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBmb3IgcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb25cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kYXRhLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0YS1saXN0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpRGF0YUxpc3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPiB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aU9wdGlvbkNvbXBvbmVudCksIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uQ29tcG9uZW50PFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW4/OiBIVE1MRWxlbWVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcm9sZTogVHVpRGF0YUxpc3RSb2xlID0gJ2xpc3Rib3gnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfTk9USElOR19GT1VORF9NRVNTQUdFKVxuICAgICAgICByZWFkb25seSBkZWZhdWx0RW1wdHlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGVtcHR5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLm9wdGlvbnMpLnBpcGUobWFwKCh7bGVuZ3RofSkgPT4gIWxlbmd0aCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudC5yZWxhdGVkVGFyZ2V0JywgJyRldmVudC5jdXJyZW50VGFyZ2V0J10pXG4gICAgb25Gb2N1c0luKHJlbGF0ZWRUYXJnZXQ6IEhUTUxFbGVtZW50LCBjdXJyZW50VGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAoIWN1cnJlbnRUYXJnZXQuY29udGFpbnMocmVsYXRlZFRhcmdldCkgJiYgIXRoaXMub3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbiA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24ucHJldmVudCcpXG4gICAgbm9vcCgpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJzEnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICctMSddKVxuICAgIG9uS2V5RG93bkFycm93KGN1cnJlbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRzfSA9IHRoaXM7XG5cbiAgICAgICAgbW92ZUZvY3VzKGVsZW1lbnRzLmluZGV4T2YoY3VycmVudCksIGVsZW1lbnRzLCBzdGVwKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG4gICAgQEhvc3RMaXN0ZW5lcignd2hlZWwuc2lsZW50LnBhc3NpdmUnLCBbJyRldmVudC5jdXJyZW50VGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIGhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm9yaWdpbiAmJiBpc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgc2V0TmF0aXZlTW91c2VGb2N1c2VkKHRoaXMub3JpZ2luLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE9wdGlvbnMoaW5jbHVkZURpc2FibGVkOiBib29sZWFuID0gZmFsc2UpOiBSZWFkb25seUFycmF5PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1xuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLmZpbHRlcigoe2Rpc2FibGVkfSkgPT4gaW5jbHVkZURpc2FibGVkIHx8ICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5tYXAoKHt2YWx1ZX0pID0+IHZhbHVlKVxuICAgICAgICAgICAgLmZpbHRlcihpc1ByZXNlbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRvcDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICBtb3ZlRm9jdXModG9wID8gLTEgOiBlbGVtZW50cy5sZW5ndGgsIGVsZW1lbnRzLCB0b3AgPyAxIDogLTEpO1xuICAgICAgICB0aGlzLmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnRzKCk6IFJlYWRvbmx5QXJyYXk8SFRNTEVsZW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW3R1aU9wdGlvbl0nKSk7XG4gICAgfVxufVxuIl19
@@ -89,7 +89,7 @@ TuiDialogComponent = __decorate([
89
89
  changeDetection: ChangeDetectionStrategy.OnPush,
90
90
  providers: TUI_DIALOG_PROVIDERS,
91
91
  animations: [tuiSlideInTop, tuiFadeIn],
92
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100vh;border-radius:0;border:none;background:var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}@media screen and (max-width:47.9375em){:host[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host[data-size] .content{padding:2rem 1.5rem}:host[data-size] .heading{margin-bottom:.5rem}:host[data-size=fullscreen] .header{flex:1}}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}@media screen and (max-width:47.9375em){.close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}.close:hover{color:var(--tui-base-07)}}.buttons{margin-top:1.25rem;text-align:right}"]
92
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100vh;border-radius:0;border:none;background:var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
93
93
  }),
94
94
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
95
95
  __param(1, Inject(TUI_IS_MOBILE)),
@@ -284,4 +284,4 @@ TuiDropdownBoxComponent = __decorate([
284
284
  __param(7, Inject(ANIMATION_FRAME))
285
285
  ], TuiDropdownBoxComponent);
286
286
  export { TuiDropdownBoxComponent };
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24tYm94LyIsInNvdXJjZXMiOlsiZHJvcGRvd24tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsWUFBWSxFQUNaLEVBQUUsRUFDRixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLE9BQU8sRUFDUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RDs7R0FFRztBQUNILG9CQUFvQjtBQUNwQiw4RkFBOEY7QUFDOUYsV0FBVztBQVNYLElBQWEsdUJBQXVCLEdBQXBDLE1B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SUFDZCxXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQzlCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUU5QixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQzdCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0dBbkNuQix1QkFBdUIsQ0F5VW5DO1NBelVZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUUsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGdldENsb3Nlc3RFbGVtZW50LFxuICAgIGdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgaW5SYW5nZSxcbiAgICBQT0xMSU5HX1RJTUUsXG4gICAgcHgsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aU92ZXJzY3JvbGxNb2RlVCxcbiAgICBUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgIHR1aVB1cmUsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0RFRkFVTFRfTUFSR0lOLCBERUZBVUxUX01BWF9XSURUSH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcbmltcG9ydCB7VHVpQW5pbWF0aW9uT3B0aW9ucywgVHVpRHJvcGRvd259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OX09QVElPTlMsIFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUhvcml6b250YWxEaXJlY3Rpb24sIFR1aVZlcnRpY2FsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge2dldFNjcmVlbldpZHRofSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9kb20nO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiAgVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBzaG93IHRlbXBsYXRlIGluIGEgcG9ydGFsIHVzaW5nIGRlZmF1bHQgc3R5bGUgb2Ygd2hpdGUgcm91bmRlZCBib3ggd2l0aCBhIHNoYWRvd1xuICovXG4vLyBAYmFkIFRPRE86IE9uUHVzaFxuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRyb3Bkb3duLWJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWJveC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1ib3guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Cb3hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlEcm9wZG93bkFuaW1hdGlvbicpXG4gICAgZHJvcGRvd25BbmltYXRpb24hOiBUdWlBbmltYXRpb25PcHRpb25zO1xuXG4gICAgQFZpZXdDaGlsZChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGFjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Ub3AgPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3AsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Cb3R0b20gPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Cb3R0b20sXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSXMgcHJldmlvdXMgcG9zaXRpb24gb24gdG9wICh0byBwcmV2ZW50IGp1bXBpbmcgdXAgYW5kIGRvd24gb24gc2Nyb2xsKVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJldkRpcmVjdGlvbklzVG9wID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHJlYWRvbmx5IGNvbnRlbnRFbGVtZW50UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX0RJUkVDVElWRSkgcmVhZG9ubHkgZGlyZWN0aXZlOiBUdWlEcm9wZG93bixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlQb3J0YWxIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnRhbEhvc3Q6IFR1aVBvcnRhbEhvc3RDb21wb25lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHtcbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBhbmltYXRpb25GcmFtZSQucGlwZSh0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSksXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5yZWZyZXNoJCxcbiAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLndpbmRvd1JlZiwgJ3Jlc2l6ZScpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbkFuZFNpemUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBvdmVyc2Nyb2xsKCk6IFR1aU92ZXJzY3JvbGxNb2RlVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmluTW9kYWwgPyAnYWxsJyA6ICdzY3JvbGwnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0Q29udGV4dDxUIGV4dGVuZHMgb2JqZWN0PihcbiAgICAgICAgY29udGV4dD86IFQsXG4gICAgICAgIGFjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgICk6XG4gICAgICAgIHwgKFQgJiB7YWN0aXZlWm9uZT86IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmV9KVxuICAgICAgICB8IHthY3RpdmVab25lPzogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZX0ge1xuICAgICAgICByZXR1cm4gey4uLmNvbnRleHQsIGFjdGl2ZVpvbmV9O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbkFuZFNpemUoKTtcbiAgICB9XG5cbiAgICBvblRvcEZvY3VzKCkge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Cb3R0b21Gb2N1cygpIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNPdXRzaWRlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGluTW9kYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIEBhd2Z1bCBUT0RPOiBnZXQgcmlkIG9mIGNvbXBvbmVudCB0YWcgbmFtZSBkZXBlbmRlbmN5XG4gICAgICAgIHJldHVybiAhIWdldENsb3Nlc3RFbGVtZW50KHRoaXMuZGlyZWN0aXZlLmhvc3QsICd0dWktZGlhbG9nLWhvc3QnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpIHtcbiAgICAgICAgY29uc3Qge2NsaWVudFJlY3R9ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmRpcmVjdGl2ZS5maXhlZFxuICAgICAgICAgICAgPyB0aGlzLnBvcnRhbEhvc3QuZml4ZWRQb3NpdGlvbk9mZnNldCgpXG4gICAgICAgICAgICA6IHRoaXMucG9ydGFsSG9zdC5jbGllbnRSZWN0O1xuXG4gICAgICAgIHN0eWxlLnBvc2l0aW9uID0gdGhpcy5kaXJlY3RpdmUuZml4ZWQgPyAnZml4ZWQnIDogJ2Fic29sdXRlJztcblxuICAgICAgICB0aGlzLmNhbGN1bGF0ZVZlcnRpY2FsUG9zaXRpb24oc3R5bGUsIGNsaWVudFJlY3QsIGhvc3RSZWN0KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVIb3Jpem9udGFsUG9zaXRpb24oc3R5bGUsIGNsaWVudFJlY3QsIGhvc3RSZWN0KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVXaWR0aChzdHlsZSwgY2xpZW50UmVjdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaW5hbEFsaWduKFxuICAgICAgICBzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbixcbiAgICAgICAgZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCxcbiAgICApOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uIHtcbiAgICAgICAgY29uc3QgZHJvcGRvd25SZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duV2lkdGggPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSBnZXRTY3JlZW5XaWR0aCh0aGlzLndpbmRvd1JlZi5kb2N1bWVudCk7XG4gICAgICAgIGNvbnN0IGlzRHJvcGRvd25TaXplSHlwb3RoZXRpY2FsbHlGaXRzVmlld3BvcnQgPVxuICAgICAgICAgICAgZGlyZWN0aXZlUmVjdC5sZWZ0ICsgZHJvcGRvd25XaWR0aCA8IHNjcmVlbldpZHRoIHx8XG4gICAgICAgICAgICBkaXJlY3RpdmVSZWN0LnJpZ2h0IC0gZHJvcGRvd25XaWR0aCA+IDA7XG4gICAgICAgIGNvbnN0IGlzRHJvcGRvd25TaXplQWN0dWFsbHlGaXRzVmlld3BvcnQgPVxuICAgICAgICAgICAgZHJvcGRvd25SZWN0LnJpZ2h0IDw9IHNjcmVlbldpZHRoICYmIGRyb3Bkb3duUmVjdC5sZWZ0ID49IDA7XG4gICAgICAgIGxldCBmaW5hbEFsaWduOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uID0gdGhpcy5kaXJlY3RpdmUuYWxpZ247XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmRpcmVjdGl2ZS5hbGlnbikge1xuICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpc0Ryb3Bkb3duU2l6ZUh5cG90aGV0aWNhbGx5Rml0c1ZpZXdwb3J0ICYmXG4gICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duUmVjdC5yaWdodCA+IHNjcmVlbldpZHRoXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsQWxpZ24gPSAncmlnaHQnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIGlmIChpc0Ryb3Bkb3duU2l6ZUh5cG90aGV0aWNhbGx5Rml0c1ZpZXdwb3J0ICYmIGRyb3Bkb3duUmVjdC5sZWZ0IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbEFsaWduID0gJ2xlZnQnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0eWxlLnJpZ2h0ID09PSAnYXV0bycgJiYgaXNEcm9wZG93blNpemVBY3R1YWxseUZpdHNWaWV3cG9ydCkge1xuICAgICAgICAgICAgZmluYWxBbGlnbiA9ICdsZWZ0JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHlsZS5sZWZ0ID09PSAnYXV0bycgJiYgaXNEcm9wZG93blNpemVBY3R1YWxseUZpdHNWaWV3cG9ydCkge1xuICAgICAgICAgICAgZmluYWxBbGlnbiA9ICdyaWdodCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmluYWxBbGlnbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIGhvcml6b250YWwgcG9zaXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdHlsZSBkcm9wZG93bkJveCBlbGVtZW50UmVmIHN0eWxlcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gZGlyZWN0aXZlUmVjdCBDbGllbnRSZWN0IG9mIGhvc3RpbmcgZGlyZWN0aXZlXG4gICAgICogQHBhcmFtIGhvc3RSZWN0IENsaWVudFJlY3Qgb2YgIHBvcnRhbCBob3N0XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVIb3Jpem9udGFsUG9zaXRpb24oXG4gICAgICAgIHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLFxuICAgICAgICBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0LFxuICAgICAgICBob3N0UmVjdDogQ2xpZW50UmVjdCxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgID8gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKyBERUZBVUxUX01BUkdJTlxuICAgICAgICAgICAgOiAwO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5jZWlsKGRpcmVjdGl2ZVJlY3QubGVmdCAtIGhvc3RSZWN0LmxlZnQgLSBvZmZzZXQpO1xuICAgICAgICBjb25zdCByaWdodCA9IE1hdGguZmxvb3IoaG9zdFJlY3QucmlnaHQgLSBkaXJlY3RpdmVSZWN0LnJpZ2h0IC0gb2Zmc2V0KTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuZ2V0RmluYWxBbGlnbihzdHlsZSwgZGlyZWN0aXZlUmVjdCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgKyBERUZBVUxUX01BUkdJTiA+IHRoaXMud2luZG93UmVmLmlubmVyV2lkdGggfHxcbiAgICAgICAgICAgICAgICAgICAgaW5SYW5nZShsZWZ0ICsgREVGQVVMVF9NQVJHSU4sIDAsIHRoaXMud2luZG93UmVmLmlubmVyV2lkdGgpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSBweChyaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpblJhbmdlKHJpZ2h0ICsgREVGQVVMVF9NQVJHSU4sIDAsIHRoaXMud2luZG93UmVmLmlubmVyV2lkdGgpIHx8XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgKyBERUZBVUxUX01BUkdJTiA+IHRoaXMud2luZG93UmVmLmlubmVyV2lkdGhcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSBweChyaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5yaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdmVydGljYWwgcG9zaXRpb24gYW5kIGhlaWdodFxuICAgICAqXG4gICAgICogQHBhcmFtIHN0eWxlIGRyb3Bkb3duQm94IGVsZW1lbnRSZWYgc3R5bGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSBkaXJlY3RpdmVSZWN0IENsaWVudFJlY3Qgb2YgaG9zdGluZyBkaXJlY3RpdmVcbiAgICAgKiBAcGFyYW0gaG9zdFJlY3QgQ2xpZW50UmVjdCBvZiAgcG9ydGFsIGhvc3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVZlcnRpY2FsUG9zaXRpb24oXG4gICAgICAgIHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLFxuICAgICAgICBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0LFxuICAgICAgICBob3N0UmVjdDogQ2xpZW50UmVjdCxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIC8vIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBib3hcbiAgICAgICAgY29uc3QgYm94SGVpZ2h0TGltaXQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLm1heEhlaWdodCxcbiAgICAgICAgICAgIHdpbmRvd0hlaWdodCAtIERFRkFVTFRfTUFSR0lOICogMixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgID8gREVGQVVMVF9NQVJHSU4gLSBkaXJlY3RpdmVSZWN0LmhlaWdodFxuICAgICAgICAgICAgOiBERUZBVUxUX01BUkdJTiAqIDI7XG4gICAgICAgIGNvbnN0IHRvcEF2YWlsYWJsZUhlaWdodCA9IGRpcmVjdGl2ZVJlY3QudG9wIC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBib3R0b21BdmFpbGFibGVIZWlnaHQgPSB3aW5kb3dIZWlnaHQgLSBkaXJlY3RpdmVSZWN0LmJvdHRvbSAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgZmluYWxEaXJlY3Rpb24gPSB0aGlzLmdldEZpbmFsRGlyZWN0aW9uKGRpcmVjdGl2ZVJlY3QpO1xuXG4gICAgICAgIHRoaXMucHJldkRpcmVjdGlvbklzVG9wID0gZmluYWxEaXJlY3Rpb24gPT09ICd0b3AnO1xuXG4gICAgICAgIGlmIChmaW5hbERpcmVjdGlvbiA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25BbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkJvdHRvbTtcblxuICAgICAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gcHgoTWF0aC5taW4oYm94SGVpZ2h0TGltaXQsIHRvcEF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgc3R5bGUudG9wID0gJ2F1dG8nO1xuICAgICAgICAgICAgc3R5bGUuYm90dG9tID0gcHgoXG4gICAgICAgICAgICAgICAgaG9zdFJlY3QuYm90dG9tIC0gZGlyZWN0aXZlUmVjdC50b3AgLSBERUZBVUxUX01BUkdJTiArIG9mZnNldCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25Ub3A7XG5cbiAgICAgICAgICAgIHN0eWxlLm1heEhlaWdodCA9IHB4KE1hdGgubWluKGJveEhlaWdodExpbWl0LCBib3R0b21BdmFpbGFibGVIZWlnaHQpKTtcbiAgICAgICAgICAgIHN0eWxlLnRvcCA9IHB4KGRpcmVjdGl2ZVJlY3QuYm90dG9tIC0gaG9zdFJlY3QudG9wIC0gREVGQVVMVF9NQVJHSU4gKyBvZmZzZXQpO1xuICAgICAgICAgICAgc3R5bGUuYm90dG9tID0gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaW5hbERpcmVjdGlvbihkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0KTogVHVpVmVydGljYWxEaXJlY3Rpb24gfCBudWxsIHtcbiAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZGlyZWN0aXZlLnNpZGVkXG4gICAgICAgICAgICA/IERFRkFVTFRfTUFSR0lOIC0gZGlyZWN0aXZlUmVjdC5oZWlnaHRcbiAgICAgICAgICAgIDogREVGQVVMVF9NQVJHSU4gKiAyO1xuXG4gICAgICAgIC8vIE1heGltdW0gc3BhY2UgYXZhaWxhYmxlIG9uIHRvcCBhbmQgb24gdGhlIGJvdHRvbSBpbiB0aGUgdmlld3BvcnRcbiAgICAgICAgY29uc3QgdG9wQXZhaWxhYmxlSGVpZ2h0ID0gZGlyZWN0aXZlUmVjdC50b3AgLSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IGJvdHRvbUF2YWlsYWJsZUhlaWdodCA9IHdpbmRvd0hlaWdodCAtIGRpcmVjdGl2ZVJlY3QuYm90dG9tIC0gb2Zmc2V0O1xuXG4gICAgICAgIGxldCBmaW5hbERpcmVjdGlvbjogVHVpVmVydGljYWxEaXJlY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgICAgICAvLyBHaXZlbiBkaXJlY3Rpb24gaXMgYXBwbGllZCBpZiB3ZSBjYW4gZml0IHRoZSBib3ggaW4gdGhlIGxpbWl0cyB0aGF0IHdheVxuICAgICAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aXZlLmRpcmVjdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICBpZiAodG9wQXZhaWxhYmxlSGVpZ2h0ID49IHRoaXMuZGlyZWN0aXZlLm1pbkhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9ICd0b3AnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICBpZiAoYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID49IHRoaXMuZGlyZWN0aXZlLm1pbkhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9ICdib3R0b20nO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWF4aW11bSBoZWlnaHQgb2YgdGhlIGJveFxuICAgICAgICBjb25zdCBib3hIZWlnaHRMaW1pdCA9IE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmUubWF4SGVpZ2h0LFxuICAgICAgICAgICAgd2luZG93SGVpZ2h0IC0gREVGQVVMVF9NQVJHSU4gKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIENob29zZSBkaXJlY3Rpb24gaWYgZ2l2ZW4gZGlyZWN0aW9uIGRpZCBub3QgZml0XG4gICAgICAgIGlmIChmaW5hbERpcmVjdGlvbiA9PT0gbnVsbCAmJiB0aGlzLmNvbnRlbnRFbGVtZW50UmVmKSB7XG4gICAgICAgICAgICAvLyBCb3ggaGVpZ2h0IGlmIGl0IGZpdHMgd2l0aG91dCBzY3JvbGxcbiAgICAgICAgICAgIGNvbnN0IHZpc3VhbEhlaWdodCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgK1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCksXG4gICAgICAgICAgICAgICAgYm94SGVpZ2h0TGltaXQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2UgdG8gZml0IGJlbG93IHdpdGhvdXQgc2Nyb2xsLFxuICAgICAgICAgICAgLy8gY2hvb3NlICdib3R0b20nLCB1bmxlc3MgaXQgd2FzIHByZXZpb3VzbHkgb24gdGhlIHRvcFxuICAgICAgICAgICAgaWYgKHRoaXMucHJldkRpcmVjdGlvbklzVG9wICYmIHRvcEF2YWlsYWJsZUhlaWdodCA+PSB2aXN1YWxIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9ICd0b3AnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChib3R0b21BdmFpbGFibGVIZWlnaHQgPj0gdmlzdWFsSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgZmluYWxEaXJlY3Rpb24gPSAnYm90dG9tJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQ29ybmVyIGNhc2Ug4oCUIHNlbGVjdCBkaXJlY3Rpb24gd2l0aCBtb3JlIHNwYWNlXG4gICAgICAgICAgICAgICAgZmluYWxEaXJlY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICBib3R0b21BdmFpbGFibGVIZWlnaHQgPj0gdG9wQXZhaWxhYmxlSGVpZ2h0ID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaW5hbERpcmVjdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHdpZHRoXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3R5bGUgZHJvcGRvd25Cb3ggZWxlbWVudFJlZiBzdHlsZXMgb2JqZWN0XG4gICAgICogQHBhcmFtIGRpcmVjdGl2ZVJlY3QgQ2xpZW50UmVjdCBvZiBob3N0aW5nIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlV2lkdGgoc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sIGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QpIHtcbiAgICAgICAgc3R5bGUud2lkdGggPVxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmUubGltaXRNaW5XaWR0aCA9PT0gJ2ZpeGVkJyAmJiAhdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgICAgICA/IHB4KGRpcmVjdGl2ZVJlY3Qud2lkdGgpXG4gICAgICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBpZiAodGhpcy5kaXJlY3RpdmUubGltaXRNaW5XaWR0aCA9PT0gJ21pbicgJiYgIXRoaXMuZGlyZWN0aXZlLnNpZGVkKSB7XG4gICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9IHB4KGRpcmVjdGl2ZVJlY3Qud2lkdGgpO1xuICAgICAgICAgICAgc3R5bGUubWF4V2lkdGggPSBweChERUZBVUxUX01BWF9XSURUSCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlLm1pbldpZHRoID0gJyc7XG4gICAgICAgIHN0eWxlLm1heFdpZHRoID0gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlRm9jdXNPdXRzaWRlKHByZXZpb3VzOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHtob3N0fSA9IHRoaXMuZGlyZWN0aXZlO1xuICAgICAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBob3N0O1xuICAgICAgICBjb25zdCByb290ID0gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuYm9keSA6IGhvc3Q7XG5cbiAgICAgICAgbGV0IGZvY3VzYWJsZSA9IGdldENsb3Nlc3RGb2N1c2FibGUoaG9zdCwgcHJldmlvdXMsIHJvb3QpO1xuXG4gICAgICAgIHdoaWxlIChmb2N1c2FibGUgIT09IG51bGwgJiYgaG9zdC5jb250YWlucyhmb2N1c2FibGUpKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlKGZvY3VzYWJsZSwgcHJldmlvdXMsIHJvb3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvY3VzYWJsZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmb2N1c2FibGUpO1xuICAgIH1cbn1cbiJdfQ==
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24tYm94LyIsInNvdXJjZXMiOlsiZHJvcGRvd24tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsWUFBWSxFQUNaLEVBQUUsRUFDRixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLE9BQU8sRUFDUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RDs7R0FFRztBQUNILG9CQUFvQjtBQUNwQiw4RkFBOEY7QUFDOUYsV0FBVztBQVNYLElBQWEsdUJBQXVCLEdBQXBDLE1B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QUNkLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDOUIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBRTlCLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDN0IsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7R0FuQ25CLHVCQUF1QixDQXlVbkM7U0F6VVksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgZ2V0Q2xvc2VzdEVsZW1lbnQsXG4gICAgZ2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICBpblJhbmdlLFxuICAgIFBPTExJTkdfVElNRSxcbiAgICBweCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpT3ZlcnNjcm9sbE1vZGVULFxuICAgIFR1aVBvcnRhbEhvc3RDb21wb25lbnQsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlab25lZnJlZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7REVGQVVMVF9NQVJHSU4sIERFRkFVTFRfTUFYX1dJRFRIfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUdWlBbmltYXRpb25PcHRpb25zLCBUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX0RST1BET1dOX0RJUkVDVElWRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpSG9yaXpvbnRhbERpcmVjdGlvbiwgVHVpVmVydGljYWxEaXJlY3Rpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7Z2V0U2NyZWVuV2lkdGh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2RvbSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWwsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqICBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWwgdXNpbmcgZGVmYXVsdCBzdHlsZSBvZiB3aGl0ZSByb3VuZGVkIGJveCB3aXRoIGEgc2hhZG93XG4gKi9cbi8vIEBiYWQgVE9ETzogT25QdXNoXG4vLyBBbWJpZW50IHR5cGUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBkeW5hbWljIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMzk1XG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZHJvcGRvd24tYm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWJveC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRHJvcGRvd25BbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkJveENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uVG9wID0ge1xuICAgICAgICB2YWx1ZTogVHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluVG9wLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uQm90dG9tID0ge1xuICAgICAgICB2YWx1ZTogVHVpRHJvcGRvd25BbmltYXRpb24uRmFkZUluQm90dG9tLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIElzIHByZXZpb3VzIHBvc2l0aW9uIG9uIHRvcCAodG8gcHJldmVudCBqdW1waW5nIHVwIGFuZCBkb3duIG9uIHNjcm9sbClcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXZEaXJlY3Rpb25Jc1RvcCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdAdHVpRHJvcGRvd25BbmltYXRpb24nKVxuICAgIGRyb3Bkb3duQW5pbWF0aW9uITogVHVpQW5pbWF0aW9uT3B0aW9ucztcblxuICAgIEBWaWV3Q2hpbGQoVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSlcbiAgICByZWFkb25seSBhY3RpdmVab25lPzogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcmVhZG9ubHkgY29udGVudEVsZW1lbnRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fRElSRUNUSVZFKSByZWFkb25seSBkaXJlY3RpdmU6IFR1aURyb3Bkb3duLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aVBvcnRhbEhvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydGFsSG9zdDogVHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICkge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLnJlZnJlc2gkLFxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMud2luZG93UmVmLCAncmVzaXplJyksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJzY3JvbGwoKTogVHVpT3ZlcnNjcm9sbE1vZGVUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Nb2RhbCA/ICdhbGwnIDogJ3Njcm9sbCc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRDb250ZXh0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgICAgICBjb250ZXh0PzogVCxcbiAgICAgICAgYWN0aXZlWm9uZT86IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgKTpcbiAgICAgICAgfCAoVCAmIHthY3RpdmVab25lPzogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZX0pXG4gICAgICAgIHwge2FjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlfSB7XG4gICAgICAgIHJldHVybiB7Li4uY29udGV4dCwgYWN0aXZlWm9uZX07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKSB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCkge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgaW5Nb2RhbCgpOiBib29sZWFuIHtcbiAgICAgICAgLy8gQGF3ZnVsIFRPRE86IGdldCByaWQgb2YgY29tcG9uZW50IHRhZyBuYW1lIGRlcGVuZGVuY3lcbiAgICAgICAgcmV0dXJuICEhZ2V0Q2xvc2VzdEVsZW1lbnQodGhpcy5kaXJlY3RpdmUuaG9zdCwgJ3R1aS1kaWFsb2ctaG9zdCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKCkge1xuICAgICAgICBjb25zdCB7Y2xpZW50UmVjdH0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZGlyZWN0aXZlLmZpeGVkXG4gICAgICAgICAgICA/IHRoaXMucG9ydGFsSG9zdC5maXhlZFBvc2l0aW9uT2Zmc2V0KClcbiAgICAgICAgICAgIDogdGhpcy5wb3J0YWxIb3N0LmNsaWVudFJlY3Q7XG5cbiAgICAgICAgc3R5bGUucG9zaXRpb24gPSB0aGlzLmRpcmVjdGl2ZS5maXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnO1xuXG4gICAgICAgIHRoaXMuY2FsY3VsYXRlVmVydGljYWxQb3NpdGlvbihzdHlsZSwgY2xpZW50UmVjdCwgaG9zdFJlY3QpO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZUhvcml6b250YWxQb3NpdGlvbihzdHlsZSwgY2xpZW50UmVjdCwgaG9zdFJlY3QpO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVdpZHRoKHN0eWxlLCBjbGllbnRSZWN0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbmFsQWxpZ24oXG4gICAgICAgIHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLFxuICAgICAgICBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0LFxuICAgICk6IFR1aUhvcml6b250YWxEaXJlY3Rpb24ge1xuICAgICAgICBjb25zdCBkcm9wZG93blJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25XaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IGdldFNjcmVlbldpZHRoKHRoaXMud2luZG93UmVmLmRvY3VtZW50KTtcbiAgICAgICAgY29uc3QgaXNEcm9wZG93blNpemVIeXBvdGhldGljYWxseUZpdHNWaWV3cG9ydCA9XG4gICAgICAgICAgICBkaXJlY3RpdmVSZWN0LmxlZnQgKyBkcm9wZG93bldpZHRoIDwgc2NyZWVuV2lkdGggfHxcbiAgICAgICAgICAgIGRpcmVjdGl2ZVJlY3QucmlnaHQgLSBkcm9wZG93bldpZHRoID4gMDtcbiAgICAgICAgY29uc3QgaXNEcm9wZG93blNpemVBY3R1YWxseUZpdHNWaWV3cG9ydCA9XG4gICAgICAgICAgICBkcm9wZG93blJlY3QucmlnaHQgPD0gc2NyZWVuV2lkdGggJiYgZHJvcGRvd25SZWN0LmxlZnQgPj0gMDtcbiAgICAgICAgbGV0IGZpbmFsQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLmRpcmVjdGl2ZS5hbGlnbjtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aXZlLmFsaWduKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGlzRHJvcGRvd25TaXplSHlwb3RoZXRpY2FsbHlGaXRzVmlld3BvcnQgJiZcbiAgICAgICAgICAgICAgICAgICAgZHJvcGRvd25SZWN0LnJpZ2h0ID4gc2NyZWVuV2lkdGhcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxBbGlnbiA9ICdyaWdodCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgaWYgKGlzRHJvcGRvd25TaXplSHlwb3RoZXRpY2FsbHlGaXRzVmlld3BvcnQgJiYgZHJvcGRvd25SZWN0LmxlZnQgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsQWxpZ24gPSAnbGVmdCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3R5bGUucmlnaHQgPT09ICdhdXRvJyAmJiBpc0Ryb3Bkb3duU2l6ZUFjdHVhbGx5Rml0c1ZpZXdwb3J0KSB7XG4gICAgICAgICAgICBmaW5hbEFsaWduID0gJ2xlZnQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0eWxlLmxlZnQgPT09ICdhdXRvJyAmJiBpc0Ryb3Bkb3duU2l6ZUFjdHVhbGx5Rml0c1ZpZXdwb3J0KSB7XG4gICAgICAgICAgICBmaW5hbEFsaWduID0gJ3JpZ2h0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaW5hbEFsaWduO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgaG9yaXpvbnRhbCBwb3NpdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHN0eWxlIGRyb3Bkb3duQm94IGVsZW1lbnRSZWYgc3R5bGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSBkaXJlY3RpdmVSZWN0IENsaWVudFJlY3Qgb2YgaG9zdGluZyBkaXJlY3RpdmVcbiAgICAgKiBAcGFyYW0gaG9zdFJlY3QgQ2xpZW50UmVjdCBvZiAgcG9ydGFsIGhvc3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUhvcml6b250YWxQb3NpdGlvbihcbiAgICAgICAgc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sXG4gICAgICAgIGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QsXG4gICAgICAgIGhvc3RSZWN0OiBDbGllbnRSZWN0LFxuICAgICkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgPyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArIERFRkFVTFRfTUFSR0lOXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBNYXRoLmNlaWwoZGlyZWN0aXZlUmVjdC5sZWZ0IC0gaG9zdFJlY3QubGVmdCAtIG9mZnNldCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gTWF0aC5mbG9vcihob3N0UmVjdC5yaWdodCAtIGRpcmVjdGl2ZVJlY3QucmlnaHQgLSBvZmZzZXQpO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5nZXRGaW5hbEFsaWduKHN0eWxlLCBkaXJlY3RpdmVSZWN0KSkge1xuICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByaWdodCArIERFRkFVTFRfTUFSR0lOID4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCB8fFxuICAgICAgICAgICAgICAgICAgICBpblJhbmdlKGxlZnQgKyBERUZBVUxUX01BUkdJTiwgMCwgdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5yaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5yaWdodCA9IHB4KHJpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGluUmFuZ2UocmlnaHQgKyBERUZBVUxUX01BUkdJTiwgMCwgdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCkgfHxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCArIERFRkFVTFRfTUFSR0lOID4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5yaWdodCA9IHB4KHJpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB2ZXJ0aWNhbCBwb3NpdGlvbiBhbmQgaGVpZ2h0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3R5bGUgZHJvcGRvd25Cb3ggZWxlbWVudFJlZiBzdHlsZXMgb2JqZWN0XG4gICAgICogQHBhcmFtIGRpcmVjdGl2ZVJlY3QgQ2xpZW50UmVjdCBvZiBob3N0aW5nIGRpcmVjdGl2ZVxuICAgICAqIEBwYXJhbSBob3N0UmVjdCBDbGllbnRSZWN0IG9mICBwb3J0YWwgaG9zdFxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlVmVydGljYWxQb3NpdGlvbihcbiAgICAgICAgc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sXG4gICAgICAgIGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QsXG4gICAgICAgIGhvc3RSZWN0OiBDbGllbnRSZWN0LFxuICAgICkge1xuICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgLy8gTWF4aW11bSBoZWlnaHQgb2YgdGhlIGJveFxuICAgICAgICBjb25zdCBib3hIZWlnaHRMaW1pdCA9IE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmUubWF4SGVpZ2h0LFxuICAgICAgICAgICAgd2luZG93SGVpZ2h0IC0gREVGQVVMVF9NQVJHSU4gKiAyLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgPyBERUZBVUxUX01BUkdJTiAtIGRpcmVjdGl2ZVJlY3QuaGVpZ2h0XG4gICAgICAgICAgICA6IERFRkFVTFRfTUFSR0lOICogMjtcbiAgICAgICAgY29uc3QgdG9wQXZhaWxhYmxlSGVpZ2h0ID0gZGlyZWN0aXZlUmVjdC50b3AgLSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IGJvdHRvbUF2YWlsYWJsZUhlaWdodCA9IHdpbmRvd0hlaWdodCAtIGRpcmVjdGl2ZVJlY3QuYm90dG9tIC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBmaW5hbERpcmVjdGlvbiA9IHRoaXMuZ2V0RmluYWxEaXJlY3Rpb24oZGlyZWN0aXZlUmVjdCk7XG5cbiAgICAgICAgdGhpcy5wcmV2RGlyZWN0aW9uSXNUb3AgPSBmaW5hbERpcmVjdGlvbiA9PT0gJ3RvcCc7XG5cbiAgICAgICAgaWYgKGZpbmFsRGlyZWN0aW9uID09PSAndG9wJykge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQm90dG9tO1xuXG4gICAgICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSBweChNYXRoLm1pbihib3hIZWlnaHRMaW1pdCwgdG9wQXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICBzdHlsZS50b3AgPSAnYXV0byc7XG4gICAgICAgICAgICBzdHlsZS5ib3R0b20gPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gLSBkaXJlY3RpdmVSZWN0LnRvcCAtIERFRkFVTFRfTUFSR0lOICsgb2Zmc2V0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25BbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvblRvcDtcblxuICAgICAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gcHgoTWF0aC5taW4oYm94SGVpZ2h0TGltaXQsIGJvdHRvbUF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgc3R5bGUudG9wID0gcHgoZGlyZWN0aXZlUmVjdC5ib3R0b20gLSBob3N0UmVjdC50b3AgLSBERUZBVUxUX01BUkdJTiArIG9mZnNldCk7XG4gICAgICAgICAgICBzdHlsZS5ib3R0b20gPSAnYXV0byc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbmFsRGlyZWN0aW9uKGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QpOiBUdWlWZXJ0aWNhbERpcmVjdGlvbiB8IG51bGwge1xuICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgID8gREVGQVVMVF9NQVJHSU4gLSBkaXJlY3RpdmVSZWN0LmhlaWdodFxuICAgICAgICAgICAgOiBERUZBVUxUX01BUkdJTiAqIDI7XG5cbiAgICAgICAgLy8gTWF4aW11bSBzcGFjZSBhdmFpbGFibGUgb24gdG9wIGFuZCBvbiB0aGUgYm90dG9tIGluIHRoZSB2aWV3cG9ydFxuICAgICAgICBjb25zdCB0b3BBdmFpbGFibGVIZWlnaHQgPSBkaXJlY3RpdmVSZWN0LnRvcCAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gZGlyZWN0aXZlUmVjdC5ib3R0b20gLSBvZmZzZXQ7XG5cbiAgICAgICAgbGV0IGZpbmFsRGlyZWN0aW9uOiBUdWlWZXJ0aWNhbERpcmVjdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIC8vIEdpdmVuIGRpcmVjdGlvbiBpcyBhcHBsaWVkIGlmIHdlIGNhbiBmaXQgdGhlIGJveCBpbiB0aGUgbGltaXRzIHRoYXQgd2F5XG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXJlY3RpdmUuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgIGlmICh0b3BBdmFpbGFibGVIZWlnaHQgPj0gdGhpcy5kaXJlY3RpdmUubWluSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgIGlmIChib3R0b21BdmFpbGFibGVIZWlnaHQgPj0gdGhpcy5kaXJlY3RpdmUubWluSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYXhpbXVtIGhlaWdodCBvZiB0aGUgYm94XG4gICAgICAgIGNvbnN0IGJveEhlaWdodExpbWl0ID0gTWF0aC5taW4oXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5tYXhIZWlnaHQsXG4gICAgICAgICAgICB3aW5kb3dIZWlnaHQgLSBERUZBVUxUX01BUkdJTiAqIDIsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ2hvb3NlIGRpcmVjdGlvbiBpZiBnaXZlbiBkaXJlY3Rpb24gZGlkIG5vdCBmaXRcbiAgICAgICAgaWYgKGZpbmFsRGlyZWN0aW9uID09PSBudWxsICYmIHRoaXMuY29udGVudEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIC8vIEJveCBoZWlnaHQgaWYgaXQgZml0cyB3aXRob3V0IHNjcm9sbFxuICAgICAgICAgICAgY29uc3QgdmlzdWFsSGVpZ2h0ID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCArXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0KSxcbiAgICAgICAgICAgICAgICBib3hIZWlnaHRMaW1pdCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSB0byBmaXQgYmVsb3cgd2l0aG91dCBzY3JvbGwsXG4gICAgICAgICAgICAvLyBjaG9vc2UgJ2JvdHRvbScsIHVubGVzcyBpdCB3YXMgcHJldmlvdXNseSBvbiB0aGUgdG9wXG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2RGlyZWN0aW9uSXNUb3AgJiYgdG9wQXZhaWxhYmxlSGVpZ2h0ID49IHZpc3VhbEhlaWdodCkge1xuICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvdHRvbUF2YWlsYWJsZUhlaWdodCA+PSB2aXN1YWxIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9ICdib3R0b20nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBDb3JuZXIgY2FzZSDigJQgc2VsZWN0IGRpcmVjdGlvbiB3aXRoIG1vcmUgc3BhY2VcbiAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbUF2YWlsYWJsZUhlaWdodCA+PSB0b3BBdmFpbGFibGVIZWlnaHQgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbmFsRGlyZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgd2lkdGhcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdHlsZSBkcm9wZG93bkJveCBlbGVtZW50UmVmIHN0eWxlcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gZGlyZWN0aXZlUmVjdCBDbGllbnRSZWN0IG9mIGhvc3RpbmcgZGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVXaWR0aChzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbiwgZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCkge1xuICAgICAgICBzdHlsZS53aWR0aCA9XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5saW1pdE1pbldpZHRoID09PSAnZml4ZWQnICYmICF0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgICAgID8gcHgoZGlyZWN0aXZlUmVjdC53aWR0aClcbiAgICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZS5saW1pdE1pbldpZHRoID09PSAnbWluJyAmJiAhdGhpcy5kaXJlY3RpdmUuc2lkZWQpIHtcbiAgICAgICAgICAgIHN0eWxlLm1pbldpZHRoID0gcHgoZGlyZWN0aXZlUmVjdC53aWR0aCk7XG4gICAgICAgICAgICBzdHlsZS5tYXhXaWR0aCA9IHB4KERFRkFVTFRfTUFYX1dJRFRIKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUubWluV2lkdGggPSAnJztcbiAgICAgICAgc3R5bGUubWF4V2lkdGggPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qge2hvc3R9ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHtvd25lckRvY3VtZW50fSA9IGhvc3Q7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5ib2R5IDogaG9zdDtcblxuICAgICAgICBsZXQgZm9jdXNhYmxlID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShob3N0LCBwcmV2aW91cywgcm9vdCk7XG5cbiAgICAgICAgd2hpbGUgKGZvY3VzYWJsZSAhPT0gbnVsbCAmJiBob3N0LmNvbnRhaW5zKGZvY3VzYWJsZSkpIHtcbiAgICAgICAgICAgIGZvY3VzYWJsZSA9IGdldENsb3Nlc3RGb2N1c2FibGUoZm9jdXNhYmxlLCBwcmV2aW91cywgcm9vdCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9jdXNhYmxlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZSk7XG4gICAgfVxufVxuIl19
@@ -40,4 +40,4 @@ TuiErrorComponent = __decorate([
40
40
  __param(2, Inject(TUI_DEFAULT_ERROR_MESSAGE))
41
41
  ], TuiErrorComponent);
42
42
  export { TuiErrorComponent };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9lcnJvci8iLCJzb3VyY2VzIjpbImVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixRQUFRLEdBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBVWhDLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBYzFCLFlBQ29ELE9BQXlCLEVBQzlDLEtBQXVDLEVBRXpELG9CQUF3QztRQUhELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBRXpELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFYckQsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFFL0IsY0FBUyxHQUFHLGdCQUNqQixLQUFLLEVBQUUsRUFBRSxJQUNOLElBQUksQ0FBQyxPQUFPLENBQ1QsQ0FBQztJQU9SLENBQUM7SUFoQkosSUFBSSxXQUFXLENBQUMsS0FBeUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuRixDQUFDO0NBZUosQ0FBQTs7NENBTFEsTUFBTSxTQUFDLHFCQUFxQjtZQUNLLFVBQVUsdUJBQTNDLE1BQU0sU0FBQyxRQUFRO1lBRWUsVUFBVSx1QkFEeEMsTUFBTSxTQUFDLHlCQUF5Qjs7QUFkckM7SUFGQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ2QsY0FBYyxFQUFFO29EQUdoQjtBQUxRLGlCQUFpQjtJQVI3QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsV0FBVztRQUNyQiwrWEFBb0M7UUFFcEMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQzs7S0FDN0MsQ0FBQztJQWdCTyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQzdCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7R0FqQjdCLGlCQUFpQixDQW9CN0I7U0FwQlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCBUdWlWYWxpZGF0aW9uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTl9PUFRJT05TLFxuICAgIFRVSV9ERUZBVUxUX0VSUk9SX01FU1NBR0UsXG4gICAgVFVJX01PREUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWVycm9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXJyb3Iuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW01PREVfUFJPVklERVJdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlIZWlnaHRDb2xsYXBzZSwgdHVpRmFkZUluXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXJyb3JDb21wb25lbnQge1xuICAgIEBJbnB1dCgnZXJyb3InKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGVycm9yU2V0dGVyKGVycm9yOiBUdWlWYWxpZGF0aW9uRXJyb3IgfCBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSB0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnID8gbmV3IFR1aVZhbGlkYXRpb25FcnJvcihlcnJvcikgOiBlcnJvcjtcbiAgICB9XG5cbiAgICBlcnJvcjogVHVpVmFsaWRhdGlvbkVycm9yIHwgbnVsbCA9IG51bGw7XG5cbiAgICByZWFkb25seSBhbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9ERUZBVUxUX0VSUk9SX01FU1NBR0UpXG4gICAgICAgIHJlYWRvbmx5IGRlZmF1bHRFcnJvck1lc3NhZ2UkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9lcnJvci8iLCJzb3VyY2VzIjpbImVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixRQUFRLEdBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBVWhDLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBVzFCLFlBQ29ELE9BQXlCLEVBQzlDLEtBQXVDLEVBRXpELG9CQUF3QztRQUhELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBRXpELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFSckQsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFFL0IsY0FBUyxHQUFHLGdCQUFDLEtBQUssRUFBRSxFQUFFLElBQUssSUFBSSxDQUFDLE9BQU8sQ0FBVSxDQUFDO0lBT3hELENBQUM7SUFiSixJQUFJLFdBQVcsQ0FBQyxLQUF5QztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25GLENBQUM7Q0FZSixDQUFBOzs0Q0FMUSxNQUFNLFNBQUMscUJBQXFCO1lBQ0ssVUFBVSx1QkFBM0MsTUFBTSxTQUFDLFFBQVE7WUFFZSxVQUFVLHVCQUR4QyxNQUFNLFNBQUMseUJBQXlCOztBQVhyQztJQUZDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDZCxjQUFjLEVBQUU7b0RBR2hCO0FBTFEsaUJBQWlCO0lBUjdCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLCtYQUFvQztRQUVwQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsVUFBVSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDOztLQUM3QyxDQUFDO0lBYU8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM3QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0dBZDdCLGlCQUFpQixDQWlCN0I7U0FqQlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCBUdWlWYWxpZGF0aW9uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTl9PUFRJT05TLFxuICAgIFRVSV9ERUZBVUxUX0VSUk9SX01FU1NBR0UsXG4gICAgVFVJX01PREUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWVycm9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXJyb3Iuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW01PREVfUFJPVklERVJdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlIZWlnaHRDb2xsYXBzZSwgdHVpRmFkZUluXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXJyb3JDb21wb25lbnQge1xuICAgIEBJbnB1dCgnZXJyb3InKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGVycm9yU2V0dGVyKGVycm9yOiBUdWlWYWxpZGF0aW9uRXJyb3IgfCBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSB0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnID8gbmV3IFR1aVZhbGlkYXRpb25FcnJvcihlcnJvcikgOiBlcnJvcjtcbiAgICB9XG5cbiAgICBlcnJvcjogVHVpVmFsaWRhdGlvbkVycm9yIHwgbnVsbCA9IG51bGw7XG5cbiAgICByZWFkb25seSBhbmltYXRpb24gPSB7dmFsdWU6ICcnLCAuLi50aGlzLm9wdGlvbnN9IGFzIGNvbnN0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfREVGQVVMVF9FUlJPUl9NRVNTQUdFKVxuICAgICAgICByZWFkb25seSBkZWZhdWx0RXJyb3JNZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cbn1cbiJdfQ==
@@ -14,9 +14,9 @@ const LOADER_HEIGHT = 48;
14
14
  let TuiExpandComponent = class TuiExpandComponent {
15
15
  constructor(changeDetectorRef) {
16
16
  this.changeDetectorRef = changeDetectorRef;
17
+ this.state = State.Idle;
17
18
  this.async = false;
18
19
  this.expanded = null;
19
- this.state = State.Idle;
20
20
  }
21
21
  set expandedSetter(expanded) {
22
22
  if (this.expanded === null) {
@@ -84,6 +84,9 @@ let TuiExpandComponent = class TuiExpandComponent {
84
84
  TuiExpandComponent.ctorParameters = () => [
85
85
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }
86
86
  ];
87
+ __decorate([
88
+ ViewChild('wrapper')
89
+ ], TuiExpandComponent.prototype, "contentWrapper", void 0);
87
90
  __decorate([
88
91
  Input(),
89
92
  tuiDefaultProp()
@@ -99,9 +102,6 @@ __decorate([
99
102
  HostBinding('class._expanded'),
100
103
  HostBinding('attr.aria-expanded')
101
104
  ], TuiExpandComponent.prototype, "expanded", void 0);
102
- __decorate([
103
- ViewChild('wrapper')
104
- ], TuiExpandComponent.prototype, "contentWrapper", void 0);
105
105
  __decorate([
106
106
  HostBinding('class._overflow')
107
107
  ], TuiExpandComponent.prototype, "overflow", null);
@@ -127,4 +127,4 @@ TuiExpandComponent = __decorate([
127
127
  __param(0, Inject(ChangeDetectorRef))
128
128
  ], TuiExpandComponent);
129
129
  export { TuiExpandComponent };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBcUMzQixZQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQW5DcEYsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztRQUt4QixVQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztJQUl4QixDQUFDO0lBaENKLElBQUksY0FBYyxDQUFDLFFBQWlCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFR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LENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTs7WUE1RXNFLGlCQUFpQix1QkFBL0UsTUFBTSxTQUFDLGlCQUFpQjs7QUFuQzdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO2lEQUNIO0FBSWQ7SUFGQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQ2pCLGlCQUFpQixFQUFFO3dEQWlCbkI7QUFHRDtJQURDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQzttREFDbkM7QUFJMUI7SUFGQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFDOUIsV0FBVyxDQUFDLG9CQUFvQixDQUFDO29EQUNGO0FBR2hDO0lBREMsU0FBUyxDQUFDLFNBQVMsQ0FBQzswREFDK0I7QUFTcEQ7SUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7a0RBRzlCO0FBR0Q7SUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7aURBRzdCO0FBR0Q7SUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0RBd0I5QjtBQU9EO0lBREMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3lEQVN6QztBQUdEO0lBREMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7d0RBTzNDO0FBbkdRLGtCQUFrQjtJQU45QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsWUFBWTtRQUN0QixvYUFBcUM7UUFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBRWxELENBQUM7SUF1Q08sV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtHQXRDckIsa0JBQWtCLENBa0g5QjtTQWxIWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzQ3VycmVudFRhcmdldCwgdHVpRGVmYXVsdFByb3AsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VYUEFORF9MT0FERUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7VHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9leHBhbmQtY29udGVudC5kaXJlY3RpdmUnO1xuXG5lbnVtIFN0YXRlIHtcbiAgICBJZGxlLFxuICAgIExvYWRpbmcsXG4gICAgUHJlcGFyZWQsXG4gICAgQW5pbWF0ZWQsXG59XG5cbmNvbnN0IExPQURFUl9IRUlHSFQgPSA0ODtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZXhwYW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhwYW5kLnRlbXBsYXRlLmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlVXJsczogWycuL2V4cGFuZC5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUV4cGFuZENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBASW5wdXQoJ2V4cGFuZGVkJylcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBleHBhbmRlZFNldHRlcihleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLkFuaW1hdGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMucmV0cmlnZ2VyKHRoaXMuYXN5bmMgJiYgZXhwYW5kZWQgPyBTdGF0ZS5Mb2FkaW5nIDogU3RhdGUuQW5pbWF0ZWQpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBjb250ZW50PzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZCgnd3JhcHBlcicpXG4gICAgcHJpdmF0ZSBjb250ZW50V3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBzdGF0ZSA9IFN0YXRlLklkbGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb3ZlcmZsb3cnKVxuICAgIGdldCBvdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbG9hZGluZycpXG4gICAgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZXhwYW5kZWQgJiYgdGhpcy5hc3luYyAmJiB0aGlzLnN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZXhwYW5kZWQsIHN0YXRlLCBjb250ZW50V3JhcHBlcn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNvbnRlbnRXcmFwcGVyICYmXG4gICAgICAgICAgICAoKCFleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRlbnRXcmFwcGVyICYmIGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsIExPQURFUl9IRUlHSFQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRlZCB8fCB0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBbJyRldmVudCddKVxuICAgIG9uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGlzQ3VycmVudFRhcmdldChldmVudCkgJiZcbiAgICAgICAgICAgIGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gJ29wYWNpdHknICYmXG4gICAgICAgICAgICB0aGlzLnN0YXRlID09PSBTdGF0ZS5BbmltYXRlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5JZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihUVUlfRVhQQU5EX0xPQURFRCwgWyckZXZlbnQnXSlcbiAgICBvbkV4cGFuZExvYWRlZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cmlnZ2VyKFN0YXRlLkFuaW1hdGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlnZ2VyKHN0YXRlOiBTdGF0ZSkge1xuICAgICAgICB0aGlzLnN0YXRlID0gU3RhdGUuUHJlcGFyZWQ7XG5cbiAgICAgICAgLy8gV2UgbmVlZCBkZWxheSB0byByZXRyaWdnZXIgQ1NTIGhlaWdodCB0cmFuc2l0aW9uIGZyb20gdGhlIGNvcnJlY3QgbnVtYmVyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLlByZXBhcmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBcUMzQixZQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLElBQUksY0FBYyxDQUFDLFFBQWlCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFFekIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBRTVCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBY0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUdELElBQUksT0FBTztRQUNQLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDekUsQ0FBQztJQUdELElBQUksTUFBTTtRQUNOLE1BQU0sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQztRQUUvQyxJQUNJLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDekM7WUFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO1FBRUQsSUFDSSxjQUFjO1lBQ2QsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUNwQyxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzdDO1lBQ0UsT0FBTyxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztTQUNwRDtRQUVELElBQUksY0FBYyxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDN0U7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQXNCO1FBQ2xDLElBQ0ksZUFBZSxDQUFDLEtBQUssQ0FBQztZQUN0QixLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVM7WUFDaEMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsUUFBUSxFQUMvQjtZQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFHRCxjQUFjLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRTVCLDJFQUEyRTtRQUMzRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQy9CLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQTVFc0UsaUJBQWlCLHVCQUEvRSxNQUFNLFNBQUMsaUJBQWlCOztBQXBDN0I7SUFEQyxTQUFTLENBQUMsU0FBUyxDQUFDOzBEQUN3QztBQU03RDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtpREFDSDtBQUlkO0lBRkMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNqQixpQkFBaUIsRUFBRTt3REFpQm5CO0FBR0Q7SUFEQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7bURBQ25DO0FBSTFCO0lBRkMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO0lBQzlCLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztvREFDRjtBQU9oQztJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztrREFHOUI7QUFHRDtJQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztpREFHN0I7QUFHRDtJQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnREF3QjlCO0FBT0Q7SUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7eURBU3pDO0FBR0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3REFPM0M7QUFuR1Esa0JBQWtCO0lBTjlCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLG9hQUFxQztRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FFbEQsQ0FBQztJQXVDTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBdENyQixrQkFBa0IsQ0FrSDlCO1NBbEhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNDdXJyZW50VGFyZ2V0LCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudD86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJldHJpZ2dlciBDU1MgaGVpZ2h0IHRyYW5zaXRpb24gZnJvbSB0aGUgY29ycmVjdCBudW1iZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuUHJlcGFyZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -39,9 +39,9 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
39
39
  this.windowRef = windowRef;
40
40
  this.media = media;
41
41
  this.hintsHost = hintsHost;
42
- animationFrame$.pipe(tuiZonefree(ngZone), takeUntil(destroy$)).subscribe(() => {
43
- this.calculatePosition();
44
- });
42
+ animationFrame$
43
+ .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
44
+ .subscribe(() => this.calculatePosition());
45
45
  }
46
46
  get isUntouchable() {
47
47
  return this.hint instanceof TuiPointerHintDirective;
@@ -192,12 +192,12 @@ TuiHintBoxComponent.ctorParameters = () => [
192
192
  { type: undefined, decorators: [{ type: Inject, args: [TUI_MEDIA,] }] },
193
193
  { type: TuiHintsHostComponent, decorators: [{ type: Inject, args: [TuiHintsHostComponent,] }] }
194
194
  ];
195
- __decorate([
196
- Input()
197
- ], TuiHintBoxComponent.prototype, "hint", void 0);
198
195
  __decorate([
199
196
  ViewChild('arrow')
200
197
  ], TuiHintBoxComponent.prototype, "arrow", void 0);
198
+ __decorate([
199
+ Input()
200
+ ], TuiHintBoxComponent.prototype, "hint", void 0);
201
201
  __decorate([
202
202
  tuiPure,
203
203
  HostBinding('class._untouchable')
@@ -222,4 +222,4 @@ TuiHintBoxComponent = __decorate([
222
222
  __param(6, Inject(TuiHintsHostComponent))
223
223
  ], TuiHintBoxComponent);
224
224
  export { TuiHintBoxComponent };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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QUMsU0FBUztZQUVXLHFCQUFxQix1QkFEaEQsTUFBTSxTQUFDLHFCQUFxQjs7QUFaakM7SUFEQyxLQUFLLEVBQUU7aURBQ2U7QUFHdkI7SUFEQyxTQUFTLENBQUMsT0FBTyxDQUFDO2tEQUM4QjtBQW1CakQ7SUFGQyxPQUFPO0lBQ1AsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3dEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOytDQUc3QjtBQS9CUSxtQkFBbUI7SUFQL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiw0T0FBdUM7UUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O0tBQ2pDLENBQUM7SUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBZHpCLG1CQUFtQixDQXFNL0I7U0FyTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGludCE6IEFic3RyYWN0VHVpSGludDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSQucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICBnZXQgaXNVbnRvdWNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludCBpbnN0YW5jZW9mIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBtb2RlKCk6IFR1aUhpbnRNb2RlVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Lm1vZGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCA8PSB0aGlzLm1lZGlhLm1vYmlsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHdyYXBwZXIgcG9zaXRpb24uXG4gICAgICogU3R5bGVzIGFyZSBzZXQgZGlyZWN0bHkgdG8gYXZvaWQgdmlzdWFsIHNoYWtlIG9mIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlICE9PSAnb3ZlcmZsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvb3JkaW5hdGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldE92ZXJmbG93U3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvb3JkaW5hdGVzKCkge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwb3J0YWxSZWN0ID0gdGhpcy5oaW50c0hvc3QuY2xpZW50UmVjdDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdG9vbHRpcDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0hvc3RMb25nID0gaG9zdFJlY3Qud2lkdGggPiBBUlJPV0hFQURfT0ZGU0VUICogMjtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uczogVHVpRGlyZWN0aW9uW10gPSBbXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1sZWZ0JyxcbiAgICAgICAgICAgICdib3R0b20tcmlnaHQnLFxuICAgICAgICAgICAgJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICd0b3AtcmlnaHQnLFxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCB0b3AgPSAwO1xuICAgICAgICBsZXQgbGVmdCA9IDA7XG4gICAgICAgIGxldCB7ZGlyZWN0aW9ufSA9IHRoaXMuaGludDtcblxuICAgICAgICBjb25zdCBob3Jpem9udGFsVG9wID1cbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCArIGhvc3RSZWN0LmhlaWdodCAvIDIgLSB0b29sdGlwUmVjdC5oZWlnaHQgLyAyIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxMZWZ0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCAtIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBob3Jpem9udGFsUmlnaHQgPSBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggKyBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcCA9IGhvc3RSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsUmlnaHQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIEFSUk9XSEVBRF9PRkZTRVQgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsTGVmdCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoICsgaG9zdFJlY3Qud2lkdGggLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCAtXG4gICAgICAgICAgICAgIHRvb2x0aXBSZWN0LndpZHRoICtcbiAgICAgICAgICAgICAgaG9zdFJlY3Qud2lkdGggLyAyICtcbiAgICAgICAgICAgICAgQVJST1dIRUFEX09GRlNFVCAtXG4gICAgICAgICAgICAgIHBvcnRhbFJlY3QubGVmdDtcblxuICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSk7XG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRml0ID1cbiAgICAgICAgICAgICAgICB0b3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgdG9wICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgU1BBQ0UgKyBwb3J0YWxSZWN0LnRvcCA8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbEZpdCA9XG4gICAgICAgICAgICAgICAgbGVmdCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgbGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgKyBwb3J0YWxSZWN0LmxlZnQgPCBwb3J0YWxSZWN0LndpZHRoO1xuXG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9ucy5sZW5ndGggPT09IDAgfHwgKHZlcnRpY2FsRml0ICYmIGhvcml6b250YWxGaXQpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHZlcnRpY2FsRml0XG4gICAgICAgICAgICAgICAgPyByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWxbZGlyZWN0aW9uXVxuICAgICAgICAgICAgICAgIDogcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbFtkaXJlY3Rpb25dO1xuICAgICAgICAgICAgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSlbMF0gfHwgZGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wRml0ID1cbiAgICAgICAgICAgIHZlcnRpY2FsVG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgaG9zdFJlY3QudG9wIDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tRml0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSA+IDAgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSArIDIgKiBTUEFDRSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKHRoaXMuaGludC5kaXJlY3Rpb24uaW5jbHVkZXMoJ3RvcCcpICYmIHZlcnRpY2FsVG9wRml0KSB8fCAhdmVydGljYWxCb3R0b21GaXRcbiAgICAgICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXR0ZW1wdGVkTGVmdCA9XG4gICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQgKyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBhdHRlbXB0ZWRMZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSA+IHBvcnRhbFJlY3QucmlnaHRcbiAgICAgICAgICAgICAgICA/IHBvcnRhbFJlY3QucmlnaHQgLSBTUEFDRSAtIHRvb2x0aXBSZWN0LndpZHRoXG4gICAgICAgICAgICAgICAgOiBhdHRlbXB0ZWRMZWZ0LFxuICAgICAgICAgICAgU1BBQ0UgKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgc3R5bGUudG9wID0gZGlyZWN0aW9uID09PSAndG9wJyA/IHB4KHZlcnRpY2FsVG9wKSA6IHB4KHZlcnRpY2FsQm90dG9tKTtcblxuICAgICAgICBpZiAodGhpcy5hcnJvdykge1xuICAgICAgICAgICAgdGhpcy5hcnJvdy5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0IDw9IFNQQUNFICogMiAmJiBob3N0UmVjdC53aWR0aCA+IEFSUk9XX09GRlNFVCAqIDJcbiAgICAgICAgICAgICAgICAgICAgPyBBUlJPV19PRkZTRVRcbiAgICAgICAgICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gbGVmdCAtIEFSUk9XX1NJWkUgLyAyLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPdmVyZmxvd1N0eWxlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KGhvc3RSZWN0LnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIFRPUF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGhvc3RSZWN0LmxlZnQgLSBMRUZUX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS53aWR0aCA9IHB4KGhvc3RSZWN0LndpZHRoICsgTEVGVF9QQURESU5HICogMiArIEJPUkRFUl9XSURUSCAqIDIpO1xuICAgIH1cbn1cbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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QUFxQix1QkFEaEQsTUFBTSxTQUFDLHFCQUFxQjs7QUFaakM7SUFEQyxTQUFTLENBQUMsT0FBTyxDQUFDO2tEQUM4QjtBQUdqRDtJQURDLEtBQUssRUFBRTtpREFDZTtBQW1CdkI7SUFGQyxPQUFPO0lBQ1AsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3dEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOytDQUc3QjtBQS9CUSxtQkFBbUI7SUFQL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiw0T0FBdUM7UUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O0tBQ2pDLENBQUM7SUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBZHpCLG1CQUFtQixDQXFNL0I7U0FyTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGhpbnQhOiBBYnN0cmFjdFR1aUhpbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSRcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bnRvdWNoYWJsZScpXG4gICAgZ2V0IGlzVW50b3VjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQgaW5zdGFuY2VvZiBUdWlQb2ludGVySGludERpcmVjdGl2ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1tb2RlJylcbiAgICBnZXQgbW9kZSgpOiBUdWlIaW50TW9kZVQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludC5tb2RlO1xuICAgIH1cblxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2luZG93UmVmLmlubmVyV2lkdGggPD0gdGhpcy5tZWRpYS5tb2JpbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB3cmFwcGVyIHBvc2l0aW9uLlxuICAgICAqIFN0eWxlcyBhcmUgc2V0IGRpcmVjdGx5IHRvIGF2b2lkIHZpc3VhbCBzaGFrZSBvZiBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gJ292ZXJmbG93Jykge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb29yZGluYXRlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRPdmVyZmxvd1N0eWxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgaXNIb3N0TG9uZyA9IGhvc3RSZWN0LndpZHRoID4gQVJST1dIRUFEX09GRlNFVCAqIDI7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbnM6IFR1aURpcmVjdGlvbltdID0gW1xuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICdib3R0b20tbGVmdCcsXG4gICAgICAgICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICAgICAgICd0b3AtbGVmdCcsXG4gICAgICAgICAgICAndG9wLXJpZ2h0JyxcbiAgICAgICAgXTtcblxuICAgICAgICBsZXQgdG9wID0gMDtcbiAgICAgICAgbGV0IGxlZnQgPSAwO1xuICAgICAgICBsZXQge2RpcmVjdGlvbn0gPSB0aGlzLmhpbnQ7XG5cbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFRvcCA9XG4gICAgICAgICAgICBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsTGVmdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLSBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFJpZ2h0ID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoICsgU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tID0gaG9zdFJlY3QuYm90dG9tICsgU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFJpZ2h0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSBBUlJPV0hFQURfT0ZGU0VUIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbExlZnQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCArIGhvc3RSZWN0LndpZHRoIC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgLVxuICAgICAgICAgICAgICB0b29sdGlwUmVjdC53aWR0aCArXG4gICAgICAgICAgICAgIGhvc3RSZWN0LndpZHRoIC8gMiArXG4gICAgICAgICAgICAgIEFSUk9XSEVBRF9PRkZTRVQgLVxuICAgICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQ7XG5cbiAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpO1xuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gaG9yaXpvbnRhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGhvcml6b250YWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxCb3R0b207XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbEZpdCA9XG4gICAgICAgICAgICAgICAgdG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIHRvcCArIHRvb2x0aXBSZWN0LmhlaWdodCArIFNQQUNFICsgcG9ydGFsUmVjdC50b3AgPFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWxGaXQgPVxuICAgICAgICAgICAgICAgIGxlZnQgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIGxlZnQgKyB0b29sdGlwUmVjdC53aWR0aCArIFNQQUNFICsgcG9ydGFsUmVjdC5sZWZ0IDwgcG9ydGFsUmVjdC53aWR0aDtcblxuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbnMubGVuZ3RoID09PSAwIHx8ICh2ZXJ0aWNhbEZpdCAmJiBob3Jpem9udGFsRml0KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB2ZXJ0aWNhbEZpdFxuICAgICAgICAgICAgICAgID8gcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsW2RpcmVjdGlvbl1cbiAgICAgICAgICAgICAgICA6IHJldmVyc2VEaXJlY3Rpb25zVmVydGljYWxbZGlyZWN0aW9uXTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpWzBdIHx8IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcEZpdCA9XG4gICAgICAgICAgICB2ZXJ0aWNhbFRvcCArIHBvcnRhbFJlY3QudG9wID4gU1BBQ0UgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbUZpdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gPiAwICYmXG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gKyAyICogU1BBQ0UgKyB0b29sdGlwUmVjdC5oZWlnaHQgPCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICh0aGlzLmhpbnQuZGlyZWN0aW9uLmluY2x1ZGVzKCd0b3AnKSAmJiB2ZXJ0aWNhbFRvcEZpdCkgfHwgIXZlcnRpY2FsQm90dG9tRml0XG4gICAgICAgICAgICAgICAgPyAndG9wJ1xuICAgICAgICAgICAgICAgIDogJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IGF0dGVtcHRlZExlZnQgPVxuICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0ICsgaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgYXR0ZW1wdGVkTGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgPiBwb3J0YWxSZWN0LnJpZ2h0XG4gICAgICAgICAgICAgICAgPyBwb3J0YWxSZWN0LnJpZ2h0IC0gU1BBQ0UgLSB0b29sdGlwUmVjdC53aWR0aFxuICAgICAgICAgICAgICAgIDogYXR0ZW1wdGVkTGVmdCxcbiAgICAgICAgICAgIFNQQUNFICogMixcbiAgICAgICAgKTtcblxuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgIHN0eWxlLnRvcCA9IGRpcmVjdGlvbiA9PT0gJ3RvcCcgPyBweCh2ZXJ0aWNhbFRvcCkgOiBweCh2ZXJ0aWNhbEJvdHRvbSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuYXJyb3cubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcHgoXG4gICAgICAgICAgICAgICAgaG9zdFJlY3QubGVmdCA8PSBTUEFDRSAqIDIgJiYgaG9zdFJlY3Qud2lkdGggPiBBUlJPV19PRkZTRVQgKiAyXG4gICAgICAgICAgICAgICAgICAgID8gQVJST1dfT0ZGU0VUXG4gICAgICAgICAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIGxlZnQgLSBBUlJPV19TSVpFIC8gMixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T3ZlcmZsb3dTdHlsZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzdHlsZS50b3AgPSBweChob3N0UmVjdC50b3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBUT1BfUEFERElORyAtIEJPUkRFUl9XSURUSCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChob3N0UmVjdC5sZWZ0IC0gTEVGVF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSBweChob3N0UmVjdC53aWR0aCArIExFRlRfUEFERElORyAqIDIgKyBCT1JERVJfV0lEVEggKiAyKTtcbiAgICB9XG59XG4iXX0=