@alauda/ui 5.7.7-beta.8 → 6.0.1-beta.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 (312) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  2. package/alauda-ui.d.ts +21 -20
  3. package/alauda-ui.metadata.json +1 -1
  4. package/bundles/alauda-ui.umd.js +1937 -1000
  5. package/bundles/alauda-ui.umd.js.map +1 -1
  6. package/bundles/alauda-ui.umd.min.js +1 -1
  7. package/bundles/alauda-ui.umd.min.js.map +1 -1
  8. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -0
  9. package/date-picker/calendar/footer/component.d.ts +2 -1
  10. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  11. package/date-picker/date-picker/date-picker.component.d.ts +1 -0
  12. package/drawer/component/drawer-ref.d.ts +26 -0
  13. package/drawer/component/drawer.component.d.ts +59 -0
  14. package/drawer/component/drawer.component.ngfactory.d.ts +1 -0
  15. package/drawer/component/drawer.component.scss.ngstyle.d.ts +1 -0
  16. package/drawer/component/drawer.service.d.ts +24 -0
  17. package/drawer/component/helper-directives.d.ts +10 -0
  18. package/drawer/drawer.module.d.ts +2 -0
  19. package/drawer/drawer.module.ngfactory.d.ts +3 -0
  20. package/drawer/public-api.d.ts +5 -0
  21. package/esm2015/accordion/accordion-item/accordion-item.component.js +2 -1
  22. package/esm2015/accordion/accordion.module.ngfactory.js +4 -3
  23. package/esm2015/accordion/accordion.module.ngsummary.json +1 -1
  24. package/esm2015/alauda-ui.js +22 -21
  25. package/esm2015/alauda-ui.ngsummary.json +1 -1
  26. package/esm2015/autocomplete/autocomplete.component.js +1 -1
  27. package/esm2015/autocomplete/autocomplete.component.scss.ngstyle.js +1 -1
  28. package/esm2015/autocomplete/suggestion/suggestion.component.js +1 -1
  29. package/esm2015/autocomplete/suggestion/suggestion.component.scss.ngstyle.js +1 -1
  30. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.js +1 -1
  31. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.scss.ngstyle.js +1 -1
  32. package/esm2015/back-top/back-top.module.ngfactory.js +3 -2
  33. package/esm2015/back-top/back-top.module.ngsummary.json +1 -1
  34. package/esm2015/breadcrumb/breadcrumb.module.ngfactory.js +3 -2
  35. package/esm2015/breadcrumb/breadcrumb.module.ngsummary.json +1 -1
  36. package/esm2015/button/button-group/button-group.component.js +1 -1
  37. package/esm2015/button/button-group/button-group.component.scss.ngstyle.js +1 -1
  38. package/esm2015/button/button.component.js +1 -1
  39. package/esm2015/button/button.component.scss.ngstyle.js +1 -1
  40. package/esm2015/button/button.module.ngfactory.js +3 -2
  41. package/esm2015/button/button.module.ngsummary.json +1 -1
  42. package/esm2015/card/card.component.js +1 -1
  43. package/esm2015/card/card.component.scss.ngstyle.js +1 -1
  44. package/esm2015/card/section.component.js +1 -1
  45. package/esm2015/card/section.component.scss.ngstyle.js +1 -1
  46. package/esm2015/checkbox/checkbox.component.js +3 -3
  47. package/esm2015/checkbox/checkbox.component.ngfactory.js +3 -3
  48. package/esm2015/checkbox/checkbox.component.scss.ngstyle.js +1 -1
  49. package/esm2015/checkbox/checkbox.module.ngfactory.js +4 -3
  50. package/esm2015/checkbox/checkbox.module.ngsummary.json +1 -1
  51. package/esm2015/date-picker/calendar/date-picker-panel/component.js +6 -3
  52. package/esm2015/date-picker/calendar/date-picker-panel/component.ngfactory.js +29 -19
  53. package/esm2015/date-picker/calendar/date-picker-panel/component.ngsummary.json +1 -1
  54. package/esm2015/date-picker/calendar/footer/component.js +4 -3
  55. package/esm2015/date-picker/calendar/footer/component.ngfactory.js +14 -12
  56. package/esm2015/date-picker/calendar/footer/component.ngsummary.json +1 -1
  57. package/esm2015/date-picker/calendar/header/component.js +3 -3
  58. package/esm2015/date-picker/calendar/header/component.ngfactory.js +22 -19
  59. package/esm2015/date-picker/calendar/header/style.scss.ngstyle.js +1 -1
  60. package/esm2015/date-picker/calendar/panel/picker-panel.js +1 -1
  61. package/esm2015/date-picker/calendar/panel/picker-panel.style.scss.ngstyle.js +1 -1
  62. package/esm2015/date-picker/calendar/range-picker-panel/component.js +6 -6
  63. package/esm2015/date-picker/calendar/range-picker-panel/component.ngfactory.js +3 -3
  64. package/esm2015/date-picker/date-picker/date-picker.component.js +3 -2
  65. package/esm2015/date-picker/date-picker/date-picker.component.ngfactory.js +4 -4
  66. package/esm2015/date-picker/date-picker/date-picker.component.ngsummary.json +1 -1
  67. package/esm2015/date-picker/date-picker.module.ngfactory.js +14 -13
  68. package/esm2015/date-picker/date-picker.module.ngsummary.json +1 -1
  69. package/esm2015/date-picker/range-picker/range-picker.component.js +2 -2
  70. package/esm2015/date-picker/range-picker/range-picker.component.ngfactory.js +2 -2
  71. package/esm2015/date-picker/trigger/trigger.component.js +4 -4
  72. package/esm2015/date-picker/trigger/trigger.component.ngfactory.js +2 -2
  73. package/esm2015/date-picker/trigger/trigger.style.scss.shim.ngstyle.js +1 -1
  74. package/esm2015/dialog/dialog.module.ngfactory.js +4 -3
  75. package/esm2015/dialog/dialog.module.ngsummary.json +1 -1
  76. package/esm2015/drawer/component/drawer-ref.js +9 -0
  77. package/esm2015/drawer/component/drawer-ref.ngsummary.json +1 -0
  78. package/esm2015/drawer/component/drawer.component.js +206 -0
  79. package/esm2015/drawer/component/drawer.component.ngfactory.js +40 -0
  80. package/esm2015/drawer/component/drawer.component.ngsummary.json +1 -0
  81. package/esm2015/drawer/component/drawer.component.scss.ngstyle.js +9 -0
  82. package/esm2015/drawer/component/drawer.service.js +52 -0
  83. package/esm2015/drawer/component/drawer.service.ngsummary.json +1 -0
  84. package/esm2015/drawer/component/helper-directives.js +27 -0
  85. package/esm2015/drawer/component/helper-directives.ngsummary.json +1 -0
  86. package/esm2015/drawer/drawer.module.js +25 -0
  87. package/esm2015/drawer/drawer.module.ngfactory.js +23 -0
  88. package/esm2015/drawer/drawer.module.ngsummary.json +1 -0
  89. package/esm2015/drawer/public-api.js +6 -0
  90. package/esm2015/drawer/public-api.ngsummary.json +1 -0
  91. package/esm2015/dropdown/dropdown-button/dropdown-button.component.js +1 -1
  92. package/esm2015/dropdown/dropdown-button/dropdown-button.component.scss.ngstyle.js +1 -1
  93. package/esm2015/dropdown/dropdown.module.ngfactory.js +4 -3
  94. package/esm2015/dropdown/dropdown.module.ngsummary.json +1 -1
  95. package/esm2015/dropdown/menu/menu.component.js +1 -1
  96. package/esm2015/dropdown/menu/menu.component.scss.ngstyle.js +1 -1
  97. package/esm2015/dropdown/menu-group/menu-group.component.js +1 -1
  98. package/esm2015/dropdown/menu-group/menu-group.component.scss.ngstyle.js +1 -1
  99. package/esm2015/dropdown/menu-item/menu-item.component.js +1 -1
  100. package/esm2015/dropdown/menu-item/menu-item.component.scss.ngstyle.js +1 -1
  101. package/esm2015/dropdown/submenu/submenu.component.js +3 -3
  102. package/esm2015/dropdown/submenu/submenu.component.scss.ngstyle.js +1 -1
  103. package/esm2015/i18n/language/en.js +2 -1
  104. package/esm2015/i18n/language/en.ngsummary.json +1 -1
  105. package/esm2015/i18n/language/zh.js +2 -1
  106. package/esm2015/i18n/language/zh.ngsummary.json +1 -1
  107. package/esm2015/icon/icon.component.js +13 -12
  108. package/esm2015/icon/icon.component.ngfactory.js +10 -7
  109. package/esm2015/icon/icon.component.ngsummary.json +1 -1
  110. package/esm2015/icon/icon.module.js +3 -2
  111. package/esm2015/icon/icon.module.ngfactory.js +3 -2
  112. package/esm2015/icon/icon.module.ngsummary.json +1 -1
  113. package/esm2015/icon/icons.js +2 -2
  114. package/esm2015/icon/icons.ngsummary.json +1 -1
  115. package/esm2015/inline-alert/inline-alert.module.ngfactory.js +3 -2
  116. package/esm2015/inline-alert/inline-alert.module.ngsummary.json +1 -1
  117. package/esm2015/input/input-group/input-group.component.js +1 -1
  118. package/esm2015/input/input-group/input-group.component.scss.ngstyle.js +1 -1
  119. package/esm2015/input/input.module.ngfactory.js +6 -5
  120. package/esm2015/input/input.module.ngsummary.json +1 -1
  121. package/esm2015/input/number-input/number-input.component.js +1 -1
  122. package/esm2015/input/number-input/number-input.component.scss.ngstyle.js +1 -1
  123. package/esm2015/input/search/search.component.js +1 -1
  124. package/esm2015/input/search/search.component.scss.ngstyle.js +1 -1
  125. package/esm2015/input/tags-input/tags-input.component.js +10 -3
  126. package/esm2015/input/tags-input/tags-input.component.scss.ngstyle.js +1 -1
  127. package/esm2015/message/message.module.ngfactory.js +3 -2
  128. package/esm2015/message/message.module.ngsummary.json +1 -1
  129. package/esm2015/nav-menu/nav-item/nav-item.component.js +76 -0
  130. package/esm2015/nav-menu/nav-item/nav-item.component.ngfactory.js +17 -0
  131. package/esm2015/nav-menu/nav-item/nav-item.component.ngsummary.json +1 -0
  132. package/esm2015/nav-menu/nav-item-group/nav-item-group.component.js +32 -0
  133. package/esm2015/nav-menu/nav-item-group/nav-item-group.component.ngfactory.js +16 -0
  134. package/esm2015/nav-menu/nav-item-group/nav-item-group.component.ngsummary.json +1 -0
  135. package/esm2015/nav-menu/nav-item-li/nav-item-li.component.js +13 -34
  136. package/esm2015/nav-menu/nav-item-li/nav-item-li.component.ngfactory.js +14 -32
  137. package/esm2015/nav-menu/nav-item-li/nav-item-li.component.ngsummary.json +1 -1
  138. package/esm2015/nav-menu/nav-item-li/nav-item-li.component.scss.ngstyle.js +1 -1
  139. package/esm2015/nav-menu/nav-item-ul/nav-item-ul.component.js +4 -4
  140. package/esm2015/nav-menu/nav-item-ul/nav-item-ul.component.ngfactory.js +2 -2
  141. package/esm2015/nav-menu/nav-item-ul/nav-item-ul.component.scss.ngstyle.js +1 -1
  142. package/esm2015/nav-menu/nav-menu.component.js +38 -40
  143. package/esm2015/nav-menu/nav-menu.component.ngfactory.js +5 -5
  144. package/esm2015/nav-menu/nav-menu.component.ngsummary.json +1 -1
  145. package/esm2015/nav-menu/nav-menu.component.scss.ngstyle.js +1 -1
  146. package/esm2015/nav-menu/nav-menu.module.js +21 -3
  147. package/esm2015/nav-menu/nav-menu.module.ngfactory.js +6 -5
  148. package/esm2015/nav-menu/nav-menu.module.ngsummary.json +1 -1
  149. package/esm2015/nav-menu/nav-menu.types.js +1 -1
  150. package/esm2015/nav-menu/platform-nav/platform-nav.component.js +56 -0
  151. package/esm2015/nav-menu/platform-nav/platform-nav.component.ngfactory.js +65 -0
  152. package/esm2015/nav-menu/platform-nav/platform-nav.component.ngsummary.json +1 -0
  153. package/esm2015/nav-menu/platform-nav/platform-nav.component.scss.ngstyle.js +9 -0
  154. package/esm2015/nav-menu/platform-nav.module.js +15 -0
  155. package/esm2015/nav-menu/platform-nav.module.ngfactory.js +25 -0
  156. package/esm2015/nav-menu/platform-nav.module.ngsummary.json +1 -0
  157. package/esm2015/nav-menu/public-api.js +5 -1
  158. package/esm2015/nav-menu/public-api.ngsummary.json +1 -1
  159. package/esm2015/notification/notification.component.js +3 -3
  160. package/esm2015/notification/notification.component.ngfactory.js +4 -4
  161. package/esm2015/notification/notification.component.scss.ngstyle.js +1 -1
  162. package/esm2015/notification/notification.module.ngfactory.js +3 -2
  163. package/esm2015/notification/notification.module.ngsummary.json +1 -1
  164. package/esm2015/paginator/paginator.component.js +5 -6
  165. package/esm2015/paginator/paginator.component.ngfactory.js +40 -42
  166. package/esm2015/paginator/paginator.component.ngsummary.json +1 -1
  167. package/esm2015/paginator/paginator.component.scss.ngstyle.js +1 -1
  168. package/esm2015/paginator/paginator.module.ngfactory.js +14 -13
  169. package/esm2015/paginator/paginator.module.ngsummary.json +1 -1
  170. package/esm2015/public-api.js +3 -1
  171. package/esm2015/public-api.ngsummary.json +1 -1
  172. package/esm2015/radio/radio.module.ngfactory.js +3 -2
  173. package/esm2015/radio/radio.module.ngsummary.json +1 -1
  174. package/esm2015/select/multi-select/multi-select.component.js +3 -3
  175. package/esm2015/select/multi-select/multi-select.component.ngfactory.js +2 -2
  176. package/esm2015/select/multi-select/multi-select.component.scss.ngstyle.js +1 -1
  177. package/esm2015/select/option/option.component.js +1 -1
  178. package/esm2015/select/option/option.component.scss.ngstyle.js +1 -1
  179. package/esm2015/select/option-group/option-group.component.js +3 -3
  180. package/esm2015/select/option-group/option-group.component.ngfactory.js +2 -2
  181. package/esm2015/select/option-group/option-group.component.scss.ngstyle.js +1 -1
  182. package/esm2015/select/select.component.js +6 -3
  183. package/esm2015/select/select.component.ngfactory.js +3 -3
  184. package/esm2015/select/select.component.scss.ngstyle.js +1 -1
  185. package/esm2015/select/select.module.ngfactory.js +12 -11
  186. package/esm2015/select/select.module.ngsummary.json +1 -1
  187. package/esm2015/status-bar/status-bar.component.js +1 -1
  188. package/esm2015/status-bar/status-bar.component.scss.ngstyle.js +1 -1
  189. package/esm2015/steps/public-api.js +4 -0
  190. package/esm2015/steps/public-api.ngsummary.json +1 -0
  191. package/esm2015/steps/steps.component.js +165 -0
  192. package/esm2015/steps/steps.component.ngfactory.js +34 -0
  193. package/esm2015/steps/steps.component.ngsummary.json +1 -0
  194. package/esm2015/steps/steps.component.scss.ngstyle.js +9 -0
  195. package/esm2015/steps/steps.module.js +14 -0
  196. package/esm2015/steps/steps.module.ngfactory.js +16 -0
  197. package/esm2015/steps/steps.module.ngsummary.json +1 -0
  198. package/esm2015/steps/types.js +7 -0
  199. package/esm2015/steps/types.ngsummary.json +1 -0
  200. package/esm2015/table/table-cell.component.js +57 -0
  201. package/esm2015/table/table-cell.component.ngfactory.js +29 -0
  202. package/esm2015/table/table-cell.component.ngsummary.json +1 -0
  203. package/esm2015/table/table-scroll-wrapper.directive.js +26 -28
  204. package/esm2015/table/table-scroll-wrapper.directive.ngsummary.json +1 -1
  205. package/esm2015/table/table.component.js +12 -4
  206. package/esm2015/table/table.component.ngfactory.js +12 -11
  207. package/esm2015/table/table.component.ngsummary.json +1 -1
  208. package/esm2015/table/table.component.scss.ngstyle.js +1 -1
  209. package/esm2015/table/table.module.js +7 -2
  210. package/esm2015/table/table.module.ngfactory.js +11 -6
  211. package/esm2015/table/table.module.ngsummary.json +1 -1
  212. package/esm2015/tabs/public-api.ngsummary.json +1 -1
  213. package/esm2015/tabs/tab-directives.js +16 -1
  214. package/esm2015/tabs/tab-directives.ngsummary.json +1 -1
  215. package/esm2015/tabs/tab-group.component.js +5 -3
  216. package/esm2015/tabs/tab-group.component.ngfactory.js +25 -22
  217. package/esm2015/tabs/tab-group.component.ngsummary.json +1 -1
  218. package/esm2015/tabs/tab-header.component.js +5 -4
  219. package/esm2015/tabs/tab-header.component.ngfactory.js +17 -15
  220. package/esm2015/tabs/tab-header.component.ngsummary.json +1 -1
  221. package/esm2015/tabs/tab-header.component.scss.ngstyle.js +1 -1
  222. package/esm2015/tabs/tabs.module.js +4 -2
  223. package/esm2015/tabs/tabs.module.ngfactory.js +7 -6
  224. package/esm2015/tabs/tabs.module.ngsummary.json +1 -1
  225. package/esm2015/tag/check-tag/check-tag.component.js +5 -4
  226. package/esm2015/tag/check-tag/check-tag.component.ngfactory.js +9 -3
  227. package/esm2015/tag/tag.component.js +9 -3
  228. package/esm2015/tag/tag.component.ngfactory.js +1 -1
  229. package/esm2015/tag/tag.component.ngsummary.json +1 -1
  230. package/esm2015/tag/tag.component.scss.ngstyle.js +1 -1
  231. package/esm2015/tag/tag.module.ngfactory.js +4 -3
  232. package/esm2015/tag/tag.module.ngsummary.json +1 -1
  233. package/esm2015/theme/public-api.js +4 -1
  234. package/esm2015/theme/public-api.ngsummary.json +1 -1
  235. package/esm2015/theme/theme.module.js +13 -0
  236. package/esm2015/theme/theme.module.ngfactory.js +12 -0
  237. package/esm2015/theme/theme.module.ngsummary.json +1 -0
  238. package/esm2015/theme/theme.pipe.js +33 -0
  239. package/esm2015/theme/theme.pipe.ngsummary.json +1 -0
  240. package/esm2015/theme/theme.service.js +42 -7
  241. package/esm2015/theme/theme.service.ngsummary.json +1 -1
  242. package/esm2015/theme/theme.types.js +2 -0
  243. package/esm2015/theme/theme.types.ngsummary.json +1 -0
  244. package/esm2015/time-picker/component.js +11 -5
  245. package/esm2015/time-picker/component.ngfactory.js +21 -15
  246. package/esm2015/time-picker/panel/panel.component.js +2 -2
  247. package/esm2015/time-picker/panel/panel.component.ngfactory.js +3 -3
  248. package/esm2015/time-picker/style.scss.ngstyle.js +1 -1
  249. package/esm2015/time-picker/time-picker.module.ngfactory.js +10 -9
  250. package/esm2015/time-picker/time-picker.module.ngsummary.json +1 -1
  251. package/esm2015/tooltip/tooltip.component.js +5 -3
  252. package/esm2015/tooltip/tooltip.component.scss.ngstyle.js +1 -1
  253. package/esm2015/tree-select/tree-node/tree-node.component.js +1 -1
  254. package/esm2015/tree-select/tree-node/tree-node.component.scss.ngstyle.js +1 -1
  255. package/esm2015/tree-select/tree-select.component.js +13 -3
  256. package/esm2015/tree-select/tree-select.component.ngfactory.js +5 -2
  257. package/esm2015/tree-select/tree-select.component.ngsummary.json +1 -1
  258. package/esm2015/tree-select/tree-select.component.scss.ngstyle.js +1 -1
  259. package/esm2015/tree-select/tree-select.module.ngfactory.js +8 -7
  260. package/esm2015/tree-select/tree-select.module.ngsummary.json +1 -1
  261. package/fesm2015/alauda-ui.js +1561 -733
  262. package/fesm2015/alauda-ui.js.map +1 -1
  263. package/icon/icon.component.d.ts +6 -4
  264. package/icon/icons.d.ts +1 -1
  265. package/nav-menu/nav-item/nav-item.component.d.ts +24 -0
  266. package/nav-menu/nav-item/nav-item.component.ngfactory.d.ts +1 -0
  267. package/nav-menu/nav-item-group/nav-item-group.component.d.ts +10 -0
  268. package/nav-menu/nav-item-group/nav-item-group.component.ngfactory.d.ts +1 -0
  269. package/nav-menu/nav-item-li/nav-item-li.component.d.ts +4 -10
  270. package/nav-menu/nav-item-ul/nav-item-ul.component.d.ts +7 -6
  271. package/nav-menu/nav-menu.component.d.ts +14 -13
  272. package/nav-menu/nav-menu.types.d.ts +2 -3
  273. package/nav-menu/platform-nav/platform-nav.component.d.ts +20 -0
  274. package/nav-menu/platform-nav/platform-nav.component.ngfactory.d.ts +1 -0
  275. package/nav-menu/platform-nav/platform-nav.component.scss.ngstyle.d.ts +1 -0
  276. package/nav-menu/platform-nav.module.d.ts +2 -0
  277. package/nav-menu/platform-nav.module.ngfactory.d.ts +3 -0
  278. package/nav-menu/public-api.d.ts +4 -0
  279. package/package.json +1 -1
  280. package/paginator/paginator.component.d.ts +2 -1
  281. package/public-api.d.ts +2 -0
  282. package/select/select.component.d.ts +1 -0
  283. package/steps/public-api.d.ts +3 -0
  284. package/steps/steps.component.d.ts +30 -0
  285. package/steps/steps.component.ngfactory.d.ts +1 -0
  286. package/steps/steps.component.scss.ngstyle.d.ts +1 -0
  287. package/steps/steps.module.d.ts +2 -0
  288. package/steps/steps.module.ngfactory.d.ts +3 -0
  289. package/steps/types.d.ts +17 -0
  290. package/table/table-cell.component.d.ts +8 -0
  291. package/table/table-cell.component.ngfactory.d.ts +1 -0
  292. package/table/table-scroll-wrapper.directive.d.ts +6 -4
  293. package/table/table.component.d.ts +1 -0
  294. package/tabs/tab-directives.d.ts +3 -0
  295. package/tabs/tab-group.component.d.ts +4 -2
  296. package/tabs/tab-header.component.d.ts +2 -1
  297. package/tag/check-tag/check-tag.component.d.ts +1 -0
  298. package/tag/tag.component.d.ts +2 -0
  299. package/theme/_base-var.scss +6 -0
  300. package/theme/_mixin.scss +49 -2
  301. package/theme/_pattern.scss +38 -1
  302. package/theme/_var.scss +29 -6
  303. package/theme/public-api.d.ts +3 -0
  304. package/theme/style.css +120 -102
  305. package/theme/theme.module.d.ts +2 -0
  306. package/theme/theme.module.ngfactory.d.ts +3 -0
  307. package/theme/theme.pipe.d.ts +10 -0
  308. package/theme/theme.service.d.ts +10 -3
  309. package/theme/theme.types.d.ts +3 -0
  310. package/time-picker/component.d.ts +1 -0
  311. package/tooltip/tooltip.component.d.ts +2 -0
  312. package/tree-select/tree-select.component.d.ts +2 -0
@@ -2,7 +2,7 @@
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { Subject, Subscription, merge } from 'rxjs';
4
4
  import { buildBem, coerceNumber } from '../utils';
5
- import { TabHeaderAddonDirective } from './tab-directives';
5
+ import { TabHeaderAddonDirective, TabTitleDirective } from './tab-directives';
6
6
  import { TabHeaderComponent } from './tab-header.component';
7
7
  import { TabComponent } from './tab.component';
8
8
  import { TabSize, TabType } from './tabs.types';
@@ -228,7 +228,7 @@ TabGroupComponent.decorators = [
228
228
  { type: Component, args: [{
229
229
  selector: 'aui-tab-group',
230
230
  exportAs: 'auiTabGroup',
231
- template: "<div [ngClass]=\"bem.block()\">\n <aui-tab-header\n [selectedIndex]=\"selectedIndex\"\n [type]=\"type\"\n [size]=\"size\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n >\n <div\n role=\"tab\"\n *ngFor=\"let tab of _tabs; let i = index\"\n auiTabLabelWrapper\n cdkMonitorElementFocus\n [class.isActive]=\"selectedIndex == i\"\n [class.closeable]=\"tab.closeable && !tab.disabled\"\n [disabled]=\"tab.disabled\"\n (click)=\"_handleClick(tab, i)\"\n [title]=\"tab.textLabel\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-label]=\"tab.textLabel\"\n >\n <div class=\"aui-tab-label__content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">\n {{ tab.textLabel }}\n </ng-template>\n </div>\n\n <aui-icon\n *ngIf=\"tab.closeable && !tab.disabled\"\n class=\"aui-tab-label__close\"\n icon=\"close_small\"\n (click)=\"tab.close.emit(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n\n <ng-container *ngIf=\"_headerAddon\">\n <ng-container *auiTabHeaderAddon>\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </ng-container>\n </ng-container>\n </aui-tab-header>\n\n <div [class]=\"bem.element('body-wrapper')\">\n <ng-container *ngIf=\"lazy\">\n <aui-tab-body\n role=\"tabpanel\"\n *ngFor=\"let tab of activatedTabs\"\n [content]=\"tab.content\"\n [hidden]=\"tab !== activeTab\"\n ></aui-tab-body>\n </ng-container>\n <aui-tab-body\n role=\"tabpanel\"\n *ngIf=\"!lazy && activeTab\"\n [content]=\"activeTab.content\"\n ></aui-tab-body>\n </div>\n</div>\n",
231
+ template: "<div [ngClass]=\"bem.block()\">\n <aui-tab-header\n [selectedIndex]=\"selectedIndex\"\n [type]=\"type\"\n [size]=\"size\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n >\n <ng-container *ngIf=\"_tabTitle\">\n <ng-container *auiTabTitle>\n <ng-template [cdkPortalOutlet]=\"_tabTitle\"></ng-template>\n </ng-container>\n </ng-container>\n <div\n role=\"tab\"\n *ngFor=\"let tab of _tabs; let i = index\"\n auiTabLabelWrapper\n cdkMonitorElementFocus\n [class.isActive]=\"selectedIndex == i\"\n [class.closeable]=\"tab.closeable && !tab.disabled\"\n [disabled]=\"tab.disabled\"\n (click)=\"_handleClick(tab, i)\"\n [title]=\"tab.textLabel\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-label]=\"tab.textLabel\"\n >\n <div class=\"aui-tab-label__content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">\n {{ tab.textLabel }}\n </ng-template>\n </div>\n\n <aui-icon\n *ngIf=\"tab.closeable && !tab.disabled\"\n class=\"aui-tab-label__close\"\n icon=\"close_small\"\n (click)=\"tab.close.emit(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n\n <ng-container *ngIf=\"_headerAddon\">\n <ng-container *auiTabHeaderAddon>\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </ng-container>\n </ng-container>\n </aui-tab-header>\n\n <div [class]=\"bem.element('body-wrapper')\">\n <ng-container *ngIf=\"lazy\">\n <aui-tab-body\n role=\"tabpanel\"\n *ngFor=\"let tab of activatedTabs\"\n [content]=\"tab.content\"\n [hidden]=\"tab !== activeTab\"\n ></aui-tab-body>\n </ng-container>\n <aui-tab-body\n role=\"tabpanel\"\n *ngIf=\"!lazy && activeTab\"\n [content]=\"activeTab.content\"\n ></aui-tab-body>\n </div>\n</div>\n",
232
232
  encapsulation: ViewEncapsulation.None,
233
233
  changeDetection: ChangeDetectionStrategy.OnPush,
234
234
  preserveWhitespaces: false,
@@ -242,12 +242,14 @@ TabGroupComponent.propDecorators = {
242
242
  _tabs: [{ type: ContentChildren, args: [TabComponent,] }],
243
243
  _headerAddon: [{ type: ContentChild, args: [TabHeaderAddonDirective, { static: false },] }],
244
244
  _tabHeader: [{ type: ViewChild, args: [TabHeaderComponent, { static: false },] }],
245
+ _tabTitle: [{ type: ContentChild, args: [TabTitleDirective, { static: false },] }],
245
246
  selectedIndex: [{ type: Input }],
246
247
  type: [{ type: Input }],
248
+ title: [{ type: Input }],
247
249
  size: [{ type: Input }],
248
250
  lazy: [{ type: Input }],
249
251
  selectedIndexChange: [{ type: Output }],
250
252
  selectedTabChange: [{ type: Output }],
251
253
  focusChange: [{ type: Output }]
252
254
  };
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxjQUFjO0NBSzFCO0FBV0QsTUFBTSxPQUFPLGlCQUFpQjtJQW1HNUIsWUFBNkIsa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFqR2xFLFFBQUcsR0FBUSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFXckMsZ0ZBQWdGO1FBQ3hFLG1CQUFjLEdBQWtCLENBQUMsQ0FBQztRQUUxQyxnREFBZ0Q7UUFDeEMsc0JBQWlCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUUvQyxpREFBaUQ7UUFDekMsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUUz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QUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUMzQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLFlBQVksQ0FBQyxHQUFpQixFQUFFLEdBQVc7UUFDekMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OztZQW5TRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qiw0bUVBQXlDO2dCQUV6QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLG1CQUFtQixFQUFFLEtBQUs7O2FBQzNCOzs7WUF2Q0MsaUJBQWlCOzs7b0JBNENoQixlQUFlLFNBQUMsWUFBWTsyQkFHNUIsWUFBWSxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFHdkQsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs0QkEyQi9DLEtBQUs7bUJBWUwsS0FBSzttQkFTTCxLQUFLO21CQVlMLEtBQUs7a0NBa0JMLE1BQU07Z0NBSU4sTUFBTTswQkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZU51bWJlciB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUgfSBmcm9tICcuL3RhYi1kaXJlY3RpdmVzJztcbmltcG9ydCB7IFRhYkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYlNpemUsIFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG4vKiogQSBzaW1wbGUgY2hhbmdlIGV2ZW50IGVtaXR0ZWQgb24gZm9jdXMgb3Igc2VsZWN0aW9uIGNoYW5nZXMuICovXG5leHBvcnQgY2xhc3MgVGFiQ2hhbmdlRXZlbnQge1xuICAvKiogSW5kZXggb2YgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCB0YWIuICovXG4gIGluZGV4OiBudW1iZXI7XG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseS1zZWxlY3RlZCB0YWIuICovXG4gIHRhYjogVGFiQ29tcG9uZW50O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWdyb3VwJyxcbiAgZXhwb3J0QXM6ICdhdWlUYWJHcm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJHcm91cENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXRhYi1ncm91cCcpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiQ29tcG9uZW50KVxuICBfdGFiczogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZChUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF9oZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgQFZpZXdDaGlsZChUYWJIZWFkZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfdGFiSGVhZGVyOiBUYWJIZWFkZXJDb21wb25lbnQ7XG5cbiAgLyoqIFRoZSB0YWIgaW5kZXggdGhhdCBzaG91bGQgYmUgc2VsZWN0ZWQgYWZ0ZXIgdGhlIGNvbnRlbnQgaGFzIGJlZW4gY2hlY2tlZC4gKi9cbiAgcHJpdmF0ZSBfaW5kZXhUb1NlbGVjdDogbnVtYmVyIHwgbnVsbCA9IDA7XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0YWJzIGJlaW5nIGFkZGVkL3JlbW92ZWQuICovXG4gIHByaXZhdGUgX3RhYnNTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byBjaGFuZ2VzIGluIHRoZSB0YWIgbGFiZWxzLiAqL1xuICBwcml2YXRlIF90YWJMYWJlbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBwcml2YXRlIF90eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuICBwcml2YXRlIF9zaXplOiBUYWJTaXplID0gVGFiU2l6ZS5NZWRpdW07XG5cbiAgLyoqIHRydWUgbGF6eSBtb2RlIGZvciB0ZW1wbGF0ZSByZWYgY2hpbGRyZW4gKi9cbiAgcHJpdmF0ZSBfbGF6eTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9wcmV2aW91c0hlYWRlckFkZG9uOiBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIHR5cGUgY2hhbmdlcyAqL1xuICByZWFkb25seSBfdHlwZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBzaXplIGNoYW5nZXMgKi9cbiAgcmVhZG9ubHkgX3NpemVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBUaGUgaW5kZXggb2YgdGhlIGFjdGl2ZSB0YWIuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID0gY29lcmNlTnVtYmVyKHZhbHVlLCBudWxsKTtcbiAgICB0aGlzLl9jaGFuZ2VBY3RpdmF0ZWRUYWJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIHNldCB0eXBlKHR5cGU6IFRhYlR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG5cbiAgc2V0IHNpemUodmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgdGhpcy5fc2l6ZSA9PT0gdmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3NpemUgPSB2YWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbGF6eSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGF6eTtcbiAgfVxuXG4gIHNldCBsYXp5KGxhenk6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fbGF6eSA9PT0gbGF6eSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9sYXp5ID0gbGF6eTtcbiAgICBpZiAobGF6eSkge1xuICAgICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2YXRlZFRhYnMubGVuZ3RoID0gMDtcbiAgICB9XG4gIH1cblxuICAvKiogT3V0cHV0IHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0d28td2F5IGJpbmRpbmcgb24gYFsoc2VsZWN0ZWRJbmRleCldYCAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHRhYiBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZFRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiQ2hhbmdlRXZlbnQ+KHRydWUpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZm9jdXMgaGFzIGNoYW5nZWQgd2l0aGluIGEgdGFiIGdyb3VwLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgZm9jdXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUYWJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYkNoYW5nZUV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBhY3RpdmF0ZWRUYWJzOiBUYWJDb21wb25lbnRbXSA9IFtdO1xuXG4gIGdldCBhY3RpdmVUYWIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYnMubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGxcbiAgICAgID8gdGhpcy5fdGFicy50b0FycmF5KClbdGhpcy5zZWxlY3RlZEluZGV4XVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCd0eXBlJykpIHtcbiAgICAgIHRoaXMuX3R5cGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3NpemVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZnRlciB0aGUgY29udGVudCBpcyBjaGVja2VkLCB0aGlzIGNvbXBvbmVudCBrbm93cyB3aGF0IHRhYnMgaGF2ZSBiZWVuIGRlZmluZWRcbiAgICogYW5kIHdoYXQgdGhlIHNlbGVjdGVkIGluZGV4IHNob3VsZCBiZS4gVGhpcyBpcyB3aGVyZSB3ZSBjYW4ga25vdyBleGFjdGx5IHdoYXQgcG9zaXRpb25cbiAgICogZWFjaCB0YWIgc2hvdWxkIGJlIGluIGFjY29yZGluZyB0byB0aGUgbmV3IHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIERvbid0IGNsYW1wIHRoZSBgaW5kZXhUb1NlbGVjdGAgaW1tZWRpYXRlbHkgaW4gdGhlIHNldHRlciBiZWNhdXNlIGl0IGNhbiBoYXBwZW4gdGhhdFxuICAgIC8vIHRoZSBhbW91bnQgb2YgdGFicyBjaGFuZ2VzIGJlZm9yZSB0aGUgYWN0dWFsIGNoYW5nZSBkZXRlY3Rpb24gcnVucy5cbiAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gKHRoaXMuX2luZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KFxuICAgICAgdGhpcy5faW5kZXhUb1NlbGVjdCxcbiAgICApKTtcblxuICAgIC8vIElmIHRoZXJlIGlzIGEgY2hhbmdlIGluIHNlbGVjdGVkIGluZGV4LCBlbWl0IGEgY2hhbmdlIGV2ZW50LiBTaG91bGQgbm90IHRyaWdnZXIgaWZcbiAgICAvLyB0aGUgc2VsZWN0ZWQgaW5kZXggaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gaW5kZXhUb1NlbGVjdCAmJiB0aGlzLl9zZWxlY3RlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX2NoYW5nZUFjdGl2YXRlZFRhYnMoKTtcbiAgICAgIGNvbnN0IHRhYkNoYW5nZUV2ZW50ID0gdGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXhUb1NlbGVjdCk7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFiQ2hhbmdlLmVtaXQodGFiQ2hhbmdlRXZlbnQpO1xuICAgICAgLy8gRW1pdHRpbmcgdGhpcyB2YWx1ZSBhZnRlciBjaGFuZ2UgZGV0ZWN0aW9uIGhhcyBydW5cbiAgICAgIC8vIHNpbmNlIHRoZSBjaGVja2VkIGNvbnRlbnQgbWF5IGNvbnRhaW4gdGhpcyB2YXJpYWJsZSdcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoaW5kZXhUb1NlbGVjdCksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFNldHVwIHRoZSBwb3NpdGlvbiBmb3IgZWFjaCB0YWIgYW5kIG9wdGlvbmFsbHkgc2V0dXAgYW4gb3JpZ2luIG9uIHRoZSBuZXh0IHNlbGVjdGVkIHRhYi5cbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYjogVGFiQ29tcG9uZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG4gICAgICB0YWIudGFiQ29udGV4dC5pc0FjdGl2ZSA9IGluZGV4ID09PSBpbmRleFRvU2VsZWN0O1xuICAgICAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlbGVjdGVkIHRhYiwgdGhlbiBzZXQgdXAgYW4gb3JpZ2luIGZvciB0aGUgbmV4dCBzZWxlY3RlZCB0YWJcbiAgICAgIC8vIGlmIGl0IGRvZXNuJ3QgaGF2ZSBvbmUgYWxyZWFkeS5cbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9IG51bGwgJiYgdGFiLnBvc2l0aW9uID09PSAwICYmICF0YWIub3JpZ2luKSB7XG4gICAgICAgIHRhYi5vcmlnaW4gPSBpbmRleFRvU2VsZWN0IC0gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9PSBpbmRleFRvU2VsZWN0KSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaW5kZXhUb1NlbGVjdDtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9wcmV2aW91c0hlYWRlckFkZG9uICE9PSB0aGlzLl9oZWFkZXJBZGRvbikge1xuICAgICAgdGhpcy5fcHJldmlvdXNIZWFkZXJBZGRvbiA9IHRoaXMuX2hlYWRlckFkZG9uO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2NoYW5nZUFjdGl2YXRlZFRhYnMoKTtcbiAgICB0aGlzLl9zdWJzY3JpYmVUb1RhYkxhYmVscygpO1xuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIHRoZSBhbW91bnQgb2YgdGFicywgaW4gb3JkZXIgdG8gYmVcbiAgICAvLyBhYmxlIHRvIHJlLXJlbmRlciB0aGUgY29udGVudCBhcyBuZXcgdGFicyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uID0gdGhpcy5fdGFicy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicy50b0FycmF5KCk7XG4gICAgICBpZiAodGhpcy5fbGF6eSkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlZFRhYnMgPSB0aGlzLmFjdGl2YXRlZFRhYnMuZmlsdGVyKHRhYiA9PlxuICAgICAgICAgIHRhYnMuaW5jbHVkZXModGFiKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuX2luZGV4VG9TZWxlY3QpO1xuICAgICAgLy8gTWFpbnRhaW4gdGhlIHByZXZpb3VzbHktc2VsZWN0ZWQgdGFiIGlmIGEgbmV3IHRhYiBpcyBhZGRlZCBvciByZW1vdmVkIGFuZCB0aGVyZSBpcyBub1xuICAgICAgLy8gZXhwbGljaXQgY2hhbmdlIHRoYXQgc2VsZWN0cyBhIGRpZmZlcmVudCB0YWIuXG4gICAgICBpZiAoaW5kZXhUb1NlbGVjdCA9PT0gdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICBmb3IgKGNvbnN0IFtpLCB0YWJdIG9mIHRhYnMuZW50cmllcygpKSB7XG4gICAgICAgICAgaWYgKHRhYi50YWJDb250ZXh0LmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAvLyBBc3NpZ24gYm90aCB0byB0aGUgYF9pbmRleFRvU2VsZWN0YCBhbmQgYF9zZWxlY3RlZEluZGV4YCBzbyB3ZSBkb24ndCBmaXJlIGEgY2hhbmdlZFxuICAgICAgICAgICAgLy8gZXZlbnQsIG90aGVyd2lzZSB0aGUgY29uc3VtZXIgbWF5IGVuZCB1cCBpbiBhbiBpbmZpbml0ZSBsb29wIGluIHNvbWUgZWRnZSBjYXNlcyBsaWtlXG4gICAgICAgICAgICAvLyBhZGRpbmcgYSB0YWIgd2l0aGluIHRoZSBgc2VsZWN0ZWRJbmRleENoYW5nZWAgZXZlbnQuXG4gICAgICAgICAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX2NoYW5nZUFjdGl2YXRlZFRhYnMoKTtcbiAgICAgIHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3RhYnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdHlwZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NpemVDaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGUgY2xpY2sgZXZlbnRzLCBzZXR0aW5nIG5ldyBzZWxlY3RlZCBpbmRleCBpZiBhcHByb3ByaWF0ZS4gKi9cbiAgX2hhbmRsZUNsaWNrKHRhYjogVGFiQ29tcG9uZW50LCBpZHg6IG51bWJlcikge1xuICAgIGlmICghdGFiLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLl90YWJIZWFkZXIuZm9jdXNJbmRleCA9IGlkeDtcbiAgICB9XG4gIH1cblxuICBfZm9jdXNDaGFuZ2VkKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXgpKTtcbiAgfVxuXG4gIC8qKiBSZS1hbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBlbGVtZW50LiAqL1xuICByZWFsaWduQWN0aXZlSW5kaWNhdG9yKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci5fYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hhbmdlQWN0aXZhdGVkVGFicygpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbGF6eSB8fFxuICAgICAgIXRoaXMuX3RhYnMgfHxcbiAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPCAwIHx8XG4gICAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID49IHRoaXMuX3RhYnMubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IHRoaXMuX3RhYnMuZmluZCgoXywgaW5kZXgpID0+IGluZGV4ID09PSB0aGlzLl9pbmRleFRvU2VsZWN0KTtcbiAgICBpZiAodGFiICYmICF0aGlzLmFjdGl2YXRlZFRhYnMuaW5jbHVkZXModGFiKSkge1xuICAgICAgdGhpcy5hY3RpdmF0ZWRUYWJzLnB1c2godGFiKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xhbXBzIHRoZSBnaXZlbiBpbmRleCB0byB0aGUgYm91bmRzIG9mIDAgYW5kIHRoZSB0YWJzIGxlbmd0aC4gKi9cbiAgcHJpdmF0ZSBfY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgLy8gTm90ZSB0aGUgYHx8IDBgLCB3aGljaCBlbnN1cmVzIHRoYXQgdmFsdWVzIGxpa2UgTmFOIGNhbid0IGdldCB0aHJvdWdoXG4gICAgLy8gYW5kIHdoaWNoIHdvdWxkIG90aGVyd2lzZSB0aHJvdyB0aGUgY29tcG9uZW50IGludG8gYW4gaW5maW5pdGUgbG9vcFxuICAgIC8vIChzaW5jZSBNYXRoLm1heChOYU4sIDApID09PSBOYU4pLlxuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLl90YWJzLmxlbmd0aCAtIDEsIE1hdGgubWF4KGluZGV4IHx8IDAsIDApKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4OiBudW1iZXIpOiBUYWJDaGFuZ2VFdmVudCB7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgVGFiQ2hhbmdlRXZlbnQoKTtcbiAgICBldmVudC5pbmRleCA9IGluZGV4O1xuICAgIGlmICh0aGlzLl90YWJzPy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudC50YWIgPSB0aGlzLl90YWJzLnRvQXJyYXkoKVtpbmRleF07XG4gICAgfVxuICAgIHJldHVybiBldmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGNoYW5nZXMgaW4gdGhlIHRhYiBsYWJlbHMuIFRoaXMgaXMgbmVlZGVkLCBiZWNhdXNlIHRoZSBASW5wdXQgZm9yIHRoZSBsYWJlbCBpc1xuICAgKiBvbiB0aGUgVGFiIGNvbXBvbmVudCwgd2hlcmVhcyB0aGUgZGF0YSBiaW5kaW5nIGlzIGluc2lkZSB0aGUgVGFiR3JvdXAuIEluIG9yZGVyIGZvciB0aGVcbiAgICogYmluZGluZyB0byBiZSB1cGRhdGVkLCB3ZSBuZWVkIHRvIHN1YnNjcmliZSB0byBjaGFuZ2VzIGluIGl0IGFuZCB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICogbWFudWFsbHkuXG4gICAqL1xuICBwcml2YXRlIF9zdWJzY3JpYmVUb1RhYkxhYmVscygpIHtcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAuLi50aGlzLl90YWJzLm1hcCh0YWIgPT4gdGFiLl9zdGF0ZUNoYW5nZXMpLFxuICAgICAgdGhpcy5fdHlwZUNoYW5nZSxcbiAgICAgIHRoaXMuX3NpemVDaGFuZ2UsXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWFsaWduQWN0aXZlSW5kaWNhdG9yKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXRyaWV2ZXMgdGhlIHRhYmluZGV4IGZvciB0aGUgdGFiLiAqL1xuICBfZ2V0VGFiSW5kZXgodGFiOiBUYWJDb21wb25lbnQsIGlkeDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXggPT09IGlkeCA/IDAgOiAtMTtcbiAgfVxufVxuIl19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFHVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxjQUFjO0NBSzFCO0FBV0QsTUFBTSxPQUFPLGlCQUFpQjtJQXlHNUIsWUFBNkIsa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUF2R2xFLFFBQUcsR0FBUSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFjckMsZ0ZBQWdGO1FBQ3hFLG1CQUFjLEdBQWtCLENBQUMsQ0FBQztRQUUxQyxnREFBZ0Q7UUFDeEMsc0JBQWlCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUUvQyxpREFBaUQ7UUFDekMsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEtB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QUlOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZU51bWJlciB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsIFRhYlRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWItZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBUYWJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYi1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJTaXplLCBUYWJUeXBlIH0gZnJvbSAnLi90YWJzLnR5cGVzJztcblxuLyoqIEEgc2ltcGxlIGNoYW5nZSBldmVudCBlbWl0dGVkIG9uIGZvY3VzIG9yIHNlbGVjdGlvbiBjaGFuZ2VzLiAqL1xuZXhwb3J0IGNsYXNzIFRhYkNoYW5nZUV2ZW50IHtcbiAgLyoqIEluZGV4IG9mIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgdGFiLiAqL1xuICBpbmRleDogbnVtYmVyO1xuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgdGFiLiAqL1xuICB0YWI6IFRhYkNvbXBvbmVudDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYi1ncm91cCcsXG4gIGV4cG9ydEFzOiAnYXVpVGFiR3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFiR3JvdXBDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWItZ3JvdXAnKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkNvbXBvbmVudClcbiAgX3RhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfaGVhZGVyQWRkb246IFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoVGFiSGVhZGVyQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX3RhYkhlYWRlcjogVGFiSGVhZGVyQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiVGl0bGVEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfdGFiVGl0bGU6IFRhYlRpdGxlRGlyZWN0aXZlO1xuXG4gIC8qKiBUaGUgdGFiIGluZGV4IHRoYXQgc2hvdWxkIGJlIHNlbGVjdGVkIGFmdGVyIHRoZSBjb250ZW50IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX2luZGV4VG9TZWxlY3Q6IG51bWJlciB8IG51bGwgPSAwO1xuXG4gIC8qKiBTdWJzY3JpcHRpb24gdG8gdGFicyBiZWluZyBhZGRlZC9yZW1vdmVkLiAqL1xuICBwcml2YXRlIF90YWJzU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIC8qKiBTdWJzY3JpcHRpb24gdG8gY2hhbmdlcyBpbiB0aGUgdGFiIGxhYmVscy4gKi9cbiAgcHJpdmF0ZSBfdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgcHJpdmF0ZSBfdHlwZTogVGFiVHlwZSA9IFRhYlR5cGUuTGluZTtcbiAgcHJpdmF0ZSBfc2l6ZTogVGFiU2l6ZSA9IFRhYlNpemUuTWVkaXVtO1xuXG4gIC8qKiB0cnVlIGxhenkgbW9kZSBmb3IgdGVtcGxhdGUgcmVmIGNoaWxkcmVuICovXG4gIHByaXZhdGUgX2xhenk6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNIZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0eXBlIGNoYW5nZXMgKi9cbiAgcmVhZG9ubHkgX3R5cGVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgc2l6ZSBjaGFuZ2VzICovXG4gIHJlYWRvbmx5IF9zaXplQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5faW5kZXhUb1NlbGVjdCA9IGNvZXJjZU51bWJlcih2YWx1ZSwgbnVsbCk7XG4gICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBzZXQgdHlwZSh0eXBlOiBUYWJUeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gIH1cblxuICBASW5wdXQoKVxuICB0aXRsZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBzZXQgc2l6ZSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB0aGlzLl9zaXplID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2l6ZSA9IHZhbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXp5KCkge1xuICAgIHJldHVybiB0aGlzLl9sYXp5O1xuICB9XG5cbiAgc2V0IGxhenkobGF6eTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9sYXp5ID09PSBsYXp5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xhenkgPSBsYXp5O1xuICAgIGlmIChsYXp5KSB7XG4gICAgICB0aGlzLl9jaGFuZ2VBY3RpdmF0ZWRUYWJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVkVGFicy5sZW5ndGggPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBPdXRwdXQgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHR3by13YXkgYmluZGluZyBvbiBgWyhzZWxlY3RlZEluZGV4KV1gICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdGFiIHNlbGVjdGlvbiBoYXMgY2hhbmdlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJDaGFuZ2VFdmVudD4odHJ1ZSk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBmb2N1cyBoYXMgY2hhbmdlZCB3aXRoaW4gYSB0YWIgZ3JvdXAuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPFRhYkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGFjdGl2YXRlZFRhYnM6IFRhYkNvbXBvbmVudFtdID0gW107XG5cbiAgZ2V0IGFjdGl2ZVRhYigpIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbFxuICAgICAgPyB0aGlzLl90YWJzLnRvQXJyYXkoKVt0aGlzLnNlbGVjdGVkSW5kZXhdXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3R5cGUnKSkge1xuICAgICAgdGhpcy5fdHlwZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fc2l6ZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFmdGVyIHRoZSBjb250ZW50IGlzIGNoZWNrZWQsIHRoaXMgY29tcG9uZW50IGtub3dzIHdoYXQgdGFicyBoYXZlIGJlZW4gZGVmaW5lZFxuICAgKiBhbmQgd2hhdCB0aGUgc2VsZWN0ZWQgaW5kZXggc2hvdWxkIGJlLiBUaGlzIGlzIHdoZXJlIHdlIGNhbiBrbm93IGV4YWN0bHkgd2hhdCBwb3NpdGlvblxuICAgKiBlYWNoIHRhYiBzaG91bGQgYmUgaW4gYWNjb3JkaW5nIHRvIHRoZSBuZXcgc2VsZWN0ZWQgaW5kZXguXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgLy8gRG9uJ3QgY2xhbXAgdGhlIGBpbmRleFRvU2VsZWN0YCBpbW1lZGlhdGVseSBpbiB0aGUgc2V0dGVyIGJlY2F1c2UgaXQgY2FuIGhhcHBlbiB0aGF0XG4gICAgLy8gdGhlIGFtb3VudCBvZiB0YWJzIGNoYW5nZXMgYmVmb3JlIHRoZSBhY3R1YWwgY2hhbmdlIGRldGVjdGlvbiBydW5zLlxuICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSAodGhpcy5faW5kZXhUb1NlbGVjdCA9IHRoaXMuX2NsYW1wVGFiSW5kZXgoXG4gICAgICB0aGlzLl9pbmRleFRvU2VsZWN0LFxuICAgICkpO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gc2VsZWN0ZWQgaW5kZXgsIGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFNob3VsZCBub3QgdHJpZ2dlciBpZlxuICAgIC8vIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLlxuICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9PSBpbmRleFRvU2VsZWN0ICYmIHRoaXMuX3NlbGVjdGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICAgICAgY29uc3QgdGFiQ2hhbmdlRXZlbnQgPSB0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleFRvU2VsZWN0KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdCh0YWJDaGFuZ2VFdmVudCk7XG4gICAgICAvLyBFbWl0dGluZyB0aGlzIHZhbHVlIGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gaGFzIHJ1blxuICAgICAgLy8gc2luY2UgdGhlIGNoZWNrZWQgY29udGVudCBtYXkgY29udGFpbiB0aGlzIHZhcmlhYmxlJ1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXhDaGFuZ2UuZW1pdChpbmRleFRvU2VsZWN0KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2V0dXAgdGhlIHBvc2l0aW9uIGZvciBlYWNoIHRhYiBhbmQgb3B0aW9uYWxseSBzZXR1cCBhbiBvcmlnaW4gb24gdGhlIG5leHQgc2VsZWN0ZWQgdGFiLlxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBUYWJDb21wb25lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIHRhYi5wb3NpdGlvbiA9IGluZGV4IC0gaW5kZXhUb1NlbGVjdDtcbiAgICAgIHRhYi50YWJDb250ZXh0LmlzQWN0aXZlID0gaW5kZXggPT09IGluZGV4VG9TZWxlY3Q7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgc2VsZWN0ZWQgdGFiLCB0aGVuIHNldCB1cCBhbiBvcmlnaW4gZm9yIHRoZSBuZXh0IHNlbGVjdGVkIHRhYlxuICAgICAgLy8gaWYgaXQgZG9lc24ndCBoYXZlIG9uZSBhbHJlYWR5LlxuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT0gbnVsbCAmJiB0YWIucG9zaXRpb24gPT09IDAgJiYgIXRhYi5vcmlnaW4pIHtcbiAgICAgICAgdGFiLm9yaWdpbiA9IGluZGV4VG9TZWxlY3QgLSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzSGVhZGVyQWRkb24gIT09IHRoaXMuX2hlYWRlckFkZG9uKSB7XG4gICAgICB0aGlzLl9wcmV2aW91c0hlYWRlckFkZG9uID0gdGhpcy5faGVhZGVyQWRkb247XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICAgIHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG4gICAgLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIGFtb3VudCBvZiB0YWJzLCBpbiBvcmRlciB0byBiZVxuICAgIC8vIGFibGUgdG8gcmUtcmVuZGVyIHRoZSBjb250ZW50IGFzIG5ldyB0YWJzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgIHRoaXMuX3RhYnNTdWJzY3JpcHRpb24gPSB0aGlzLl90YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLl90YWJzLnRvQXJyYXkoKTtcbiAgICAgIGlmICh0aGlzLl9sYXp5KSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkVGFicyA9IHRoaXMuYWN0aXZhdGVkVGFicy5maWx0ZXIodGFiID0+XG4gICAgICAgICAgdGFicy5pbmNsdWRlcyh0YWIpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5kZXhUb1NlbGVjdCA9IHRoaXMuX2NsYW1wVGFiSW5kZXgodGhpcy5faW5kZXhUb1NlbGVjdCk7XG4gICAgICAvLyBNYWludGFpbiB0aGUgcHJldmlvdXNseS1zZWxlY3RlZCB0YWIgaWYgYSBuZXcgdGFiIGlzIGFkZGVkIG9yIHJlbW92ZWQgYW5kIHRoZXJlIGlzIG5vXG4gICAgICAvLyBleHBsaWNpdCBjaGFuZ2UgdGhhdCBzZWxlY3RzIGEgZGlmZmVyZW50IHRhYi5cbiAgICAgIGlmIChpbmRleFRvU2VsZWN0ID09PSB0aGlzLl9zZWxlY3RlZEluZGV4KSB7XG4gICAgICAgIGZvciAoY29uc3QgW2ksIHRhYl0gb2YgdGFicy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBpZiAodGFiLnRhYkNvbnRleHQuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIC8vIEFzc2lnbiBib3RoIHRvIHRoZSBgX2luZGV4VG9TZWxlY3RgIGFuZCBgX3NlbGVjdGVkSW5kZXhgIHNvIHdlIGRvbid0IGZpcmUgYSBjaGFuZ2VkXG4gICAgICAgICAgICAvLyBldmVudCwgb3RoZXJ3aXNlIHRoZSBjb25zdW1lciBtYXkgZW5kIHVwIGluIGFuIGluZmluaXRlIGxvb3AgaW4gc29tZSBlZGdlIGNhc2VzIGxpa2VcbiAgICAgICAgICAgIC8vIGFkZGluZyBhIHRhYiB3aXRoaW4gdGhlIGBzZWxlY3RlZEluZGV4Q2hhbmdlYCBldmVudC5cbiAgICAgICAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPSB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICAgICAgdGhpcy5fc3Vic2NyaWJlVG9UYWJMYWJlbHMoKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdGFic1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl90eXBlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc2l6ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjbGljayBldmVudHMsIHNldHRpbmcgbmV3IHNlbGVjdGVkIGluZGV4IGlmIGFwcHJvcHJpYXRlLiAqL1xuICBfaGFuZGxlQ2xpY2sodGFiOiBUYWJDb21wb25lbnQsIGlkeDogbnVtYmVyKSB7XG4gICAgaWYgKCF0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuX3RhYkhlYWRlci5mb2N1c0luZGV4ID0gaWR4O1xuICAgIH1cbiAgfVxuXG4gIF9mb2N1c0NoYW5nZWQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleCkpO1xuICB9XG5cbiAgLyoqIFJlLWFsaWducyB0aGUgaW5rIGJhciB0byB0aGUgc2VsZWN0ZWQgdGFiIGVsZW1lbnQuICovXG4gIHJlYWxpZ25BY3RpdmVJbmRpY2F0b3IoKSB7XG4gICAgaWYgKHRoaXMuX3RhYkhlYWRlcikge1xuICAgICAgdGhpcy5fdGFiSGVhZGVyLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGFuZ2VBY3RpdmF0ZWRUYWJzKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sYXp5IHx8XG4gICAgICAhdGhpcy5fdGFicyB8fFxuICAgICAgdGhpcy5faW5kZXhUb1NlbGVjdCA8IDAgfHxcbiAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPj0gdGhpcy5fdGFicy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFiID0gdGhpcy5fdGFicy5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IHRoaXMuX2luZGV4VG9TZWxlY3QpO1xuICAgIGlmICh0YWIgJiYgIXRoaXMuYWN0aXZhdGVkVGFicy5pbmNsdWRlcyh0YWIpKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlZFRhYnMucHVzaCh0YWIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbGFtcHMgdGhlIGdpdmVuIGluZGV4IHRvIHRoZSBib3VuZHMgb2YgMCBhbmQgdGhlIHRhYnMgbGVuZ3RoLiAqL1xuICBwcml2YXRlIF9jbGFtcFRhYkluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICAvLyBOb3RlIHRoZSBgfHwgMGAsIHdoaWNoIGVuc3VyZXMgdGhhdCB2YWx1ZXMgbGlrZSBOYU4gY2FuJ3QgZ2V0IHRocm91Z2hcbiAgICAvLyBhbmQgd2hpY2ggd291bGQgb3RoZXJ3aXNlIHRocm93IHRoZSBjb21wb25lbnQgaW50byBhbiBpbmZpbml0ZSBsb29wXG4gICAgLy8gKHNpbmNlIE1hdGgubWF4KE5hTiwgMCkgPT09IE5hTikuXG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuX3RhYnMubGVuZ3RoIC0gMSwgTWF0aC5tYXgoaW5kZXggfHwgMCwgMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXg6IG51bWJlcik6IFRhYkNoYW5nZUV2ZW50IHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBUYWJDaGFuZ2VFdmVudCgpO1xuICAgIGV2ZW50LmluZGV4ID0gaW5kZXg7XG4gICAgaWYgKHRoaXMuX3RhYnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGV2ZW50LnRhYiA9IHRoaXMuX3RhYnMudG9BcnJheSgpW2luZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gY2hhbmdlcyBpbiB0aGUgdGFiIGxhYmVscy4gVGhpcyBpcyBuZWVkZWQsIGJlY2F1c2UgdGhlIEBJbnB1dCBmb3IgdGhlIGxhYmVsIGlzXG4gICAqIG9uIHRoZSBUYWIgY29tcG9uZW50LCB3aGVyZWFzIHRoZSBkYXRhIGJpbmRpbmcgaXMgaW5zaWRlIHRoZSBUYWJHcm91cC4gSW4gb3JkZXIgZm9yIHRoZVxuICAgKiBiaW5kaW5nIHRvIGJlIHVwZGF0ZWQsIHdlIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gaXQgYW5kIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuICAgKiBtYW51YWxseS5cbiAgICovXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvVGFiTGFiZWxzKCkge1xuICAgIGlmICh0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIC4uLnRoaXMuX3RhYnMubWFwKHRhYiA9PiB0YWIuX3N0YXRlQ2hhbmdlcyksXG4gICAgICB0aGlzLl90eXBlQ2hhbmdlLFxuICAgICAgdGhpcy5fc2l6ZUNoYW5nZSxcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlYWxpZ25BY3RpdmVJbmRpY2F0b3IoKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJldHJpZXZlcyB0aGUgdGFiaW5kZXggZm9yIHRoZSB0YWIuICovXG4gIF9nZXRUYWJJbmRleCh0YWI6IFRhYkNvbXBvbmVudCwgaWR4OiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gaWR4ID8gMCA6IC0xO1xuICB9XG59XG4iXX0=
@@ -8,11 +8,11 @@ import * as i0 from "./tab-group.component.scss.ngstyle";
8
8
  import * as i1 from "@angular/core";
9
9
  import * as i2 from "@angular/cdk/portal";
10
10
  import * as i3 from "@angular/common";
11
- import * as i4 from "../icon/icon.component.ngfactory";
12
- import * as i5 from "../icon/icon.component";
13
- import * as i6 from "../icon/icon-register.service";
14
- import * as i7 from "@angular/cdk/a11y";
15
- import * as i8 from "./tab-directives";
11
+ import * as i4 from "./tab-directives";
12
+ import * as i5 from "../icon/icon.component.ngfactory";
13
+ import * as i6 from "../icon/icon.component";
14
+ import * as i7 from "../icon/icon-register.service";
15
+ import * as i8 from "@angular/cdk/a11y";
16
16
  import * as i9 from "./tab-body.component.ngfactory";
17
17
  import * as i10 from "./tab-body.component";
18
18
  import * as i11 from "./tab-header.component.ngfactory";
@@ -23,31 +23,34 @@ var styles_TabGroupComponent = [i0.styles];
23
23
  var RenderType_TabGroupComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_TabGroupComponent, data: {} });
24
24
  export { RenderType_TabGroupComponent as RenderType_TabGroupComponent };
25
25
  function View_TabGroupComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(0, null, null, 0))], null, null); }
26
- function View_TabGroupComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_3)), i1.ɵdid(1, 212992, null, 0, i2.CdkPortalOutlet, [i1.ComponentFactoryResolver, i1.ViewContainerRef, i3.DOCUMENT], { portal: [0, "portal"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.templateLabel; _ck(_v, 1, 0, currVal_0); }, null); }
27
- function View_TabGroupComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵted(0, null, [" ", " "]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.textLabel; _ck(_v, 0, 0, currVal_0); }); }
28
- function View_TabGroupComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-icon", [["class", "aui-tab-label__close"], ["icon", "close_small"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; if (("click" === en)) {
26
+ function View_TabGroupComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_3)), i1.ɵdid(2, 212992, null, 0, i2.CdkPortalOutlet, [i1.ComponentFactoryResolver, i1.ViewContainerRef, i3.DOCUMENT], { portal: [0, "portal"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co._tabTitle; _ck(_v, 2, 0, currVal_0); }, null); }
27
+ function View_TabGroupComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_2)), i1.ɵdid(2, 16384, [[3, 4]], 0, i4.TabTitleDirective, [i1.TemplateRef, i1.ViewContainerRef], null, null), (_l()(), i1.ɵand(0, null, null, 0))], null, null); }
28
+ function View_TabGroupComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(0, null, null, 0))], null, null); }
29
+ function View_TabGroupComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_6)), i1.ɵdid(1, 212992, null, 0, i2.CdkPortalOutlet, [i1.ComponentFactoryResolver, i1.ViewContainerRef, i3.DOCUMENT], { portal: [0, "portal"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.templateLabel; _ck(_v, 1, 0, currVal_0); }, null); }
30
+ function View_TabGroupComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵted(0, null, [" ", " "]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.textLabel; _ck(_v, 0, 0, currVal_0); }); }
31
+ function View_TabGroupComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-icon", [["class", "aui-tab-label__close"], ["icon", "close_small"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; if (("click" === en)) {
29
32
  _v.parent.context.$implicit.close.emit();
30
33
  var pd_0 = ($event.stopPropagation() !== false);
31
34
  ad = (pd_0 && ad);
32
- } return ad; }, i4.View_IconComponent_0, i4.RenderType_IconComponent)), i1.ɵdid(1, 49152, null, 0, i5.IconComponent, [i6.IconRegisterService], { icon: [0, "icon"] }, null)], function (_ck, _v) { var currVal_0 = "close_small"; _ck(_v, 1, 0, currVal_0); }, null); }
33
- function View_TabGroupComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, "div", [["auiTabLabelWrapper", ""], ["cdkMonitorElementFocus", ""], ["role", "tab"]], [[2, "isActive", null], [2, "closeable", null], [8, "title", 0], [1, "tabIndex", 0], [1, "aria-posinset", 0], [1, "aria-setsize", 0], [1, "aria-label", 0], [2, "aui-tab-label", null], [2, "aui-tab-label--disabled", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
35
+ } return ad; }, i5.View_IconComponent_0, i5.RenderType_IconComponent)), i1.ɵdid(1, 49152, null, 0, i6.IconComponent, [i7.IconRegisterService], { icon: [0, "icon"] }, null)], function (_ck, _v) { var currVal_0 = "close_small"; _ck(_v, 1, 0, currVal_0); }, null); }
36
+ function View_TabGroupComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, "div", [["auiTabLabelWrapper", ""], ["cdkMonitorElementFocus", ""], ["role", "tab"]], [[2, "isActive", null], [2, "closeable", null], [8, "title", 0], [1, "tabIndex", 0], [1, "aria-posinset", 0], [1, "aria-setsize", 0], [1, "aria-label", 0], [2, "aui-tab-label", null], [2, "aui-tab-label--disabled", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
34
37
  var pd_0 = (_co._handleClick(_v.context.$implicit, _v.context.index) !== false);
35
38
  ad = (pd_0 && ad);
36
- } return ad; }, null, null)), i1.ɵdid(1, 4341760, null, 0, i7.CdkMonitorFocus, [i1.ElementRef, i7.FocusMonitor], null, null), i1.ɵdid(2, 16384, [[3, 4]], 0, i8.TabLabelWrapperDirective, [i1.ElementRef], { disabled: [0, "disabled"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 4, "div", [["class", "aui-tab-label__content"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_2)), i1.ɵdid(5, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_4)), i1.ɵdid(7, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_5)), i1.ɵdid(9, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_9 = _v.context.$implicit.disabled; _ck(_v, 2, 0, currVal_9); var currVal_10 = _v.context.$implicit.templateLabel; _ck(_v, 5, 0, currVal_10); var currVal_11 = !_v.context.$implicit.templateLabel; _ck(_v, 7, 0, currVal_11); var currVal_12 = (_v.context.$implicit.closeable && !_v.context.$implicit.disabled); _ck(_v, 9, 0, currVal_12); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.selectedIndex == _v.context.index); var currVal_1 = (_v.context.$implicit.closeable && !_v.context.$implicit.disabled); var currVal_2 = _v.context.$implicit.textLabel; var currVal_3 = _co._getTabIndex(_v.context.$implicit, _v.context.index); var currVal_4 = (_v.context.index + 1); var currVal_5 = _co._tabs.length; var currVal_6 = _v.context.$implicit.textLabel; var currVal_7 = true; var currVal_8 = !!i1.ɵnov(_v, 2).disabled; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); }); }
37
- function View_TabGroupComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(0, null, null, 0))], null, null); }
38
- function View_TabGroupComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_8)), i1.ɵdid(2, 212992, null, 0, i2.CdkPortalOutlet, [i1.ComponentFactoryResolver, i1.ViewContainerRef, i3.DOCUMENT], { portal: [0, "portal"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co._headerAddon; _ck(_v, 2, 0, currVal_0); }, null); }
39
- function View_TabGroupComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_7)), i1.ɵdid(2, 16384, [[2, 4]], 0, i8.TabHeaderAddonDirective, [i1.TemplateRef, i1.ViewContainerRef], null, null), (_l()(), i1.ɵand(0, null, null, 0))], null, null); }
40
- function View_TabGroupComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-tab-body", [["role", "tabpanel"]], [[8, "hidden", 0]], null, null, i9.View_TabBodyComponent_0, i9.RenderType_TabBodyComponent)), i1.ɵdid(1, 180224, null, 0, i10.TabBodyComponent, [], { content: [0, "content"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.content; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.context.$implicit !== _co.activeTab); _ck(_v, 0, 0, currVal_0); }); }
41
- function View_TabGroupComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_10)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.activatedTabs; _ck(_v, 2, 0, currVal_0); }, null); }
42
- function View_TabGroupComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-tab-body", [["role", "tabpanel"]], null, null, null, i9.View_TabBodyComponent_0, i9.RenderType_TabBodyComponent)), i1.ɵdid(1, 180224, null, 0, i10.TabBodyComponent, [], { content: [0, "content"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.activeTab.content; _ck(_v, 1, 0, currVal_0); }, null); }
43
- export function View_TabGroupComponent_0(_l) { return i1.ɵvid(2, [i1.ɵqud(671088640, 1, { _tabHeader: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 14, "div", [], null, null, null, null, null)), i1.ɵdid(2, 278528, null, 0, i3.NgClass, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2], { ngClass: [0, "ngClass"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 7, "aui-tab-header", [], null, [[null, "indexFocused"], [null, "selectFocusedIndex"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("indexFocused" === en)) {
39
+ } return ad; }, null, null)), i1.ɵdid(1, 4341760, null, 0, i8.CdkMonitorFocus, [i1.ElementRef, i8.FocusMonitor], null, null), i1.ɵdid(2, 16384, [[4, 4]], 0, i4.TabLabelWrapperDirective, [i1.ElementRef], { disabled: [0, "disabled"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 4, "div", [["class", "aui-tab-label__content"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_5)), i1.ɵdid(5, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_7)), i1.ɵdid(7, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_8)), i1.ɵdid(9, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_9 = _v.context.$implicit.disabled; _ck(_v, 2, 0, currVal_9); var currVal_10 = _v.context.$implicit.templateLabel; _ck(_v, 5, 0, currVal_10); var currVal_11 = !_v.context.$implicit.templateLabel; _ck(_v, 7, 0, currVal_11); var currVal_12 = (_v.context.$implicit.closeable && !_v.context.$implicit.disabled); _ck(_v, 9, 0, currVal_12); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.selectedIndex == _v.context.index); var currVal_1 = (_v.context.$implicit.closeable && !_v.context.$implicit.disabled); var currVal_2 = _v.context.$implicit.textLabel; var currVal_3 = _co._getTabIndex(_v.context.$implicit, _v.context.index); var currVal_4 = (_v.context.index + 1); var currVal_5 = _co._tabs.length; var currVal_6 = _v.context.$implicit.textLabel; var currVal_7 = true; var currVal_8 = !!i1.ɵnov(_v, 2).disabled; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); }); }
40
+ function View_TabGroupComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(0, null, null, 0))], null, null); }
41
+ function View_TabGroupComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_11)), i1.ɵdid(2, 212992, null, 0, i2.CdkPortalOutlet, [i1.ComponentFactoryResolver, i1.ViewContainerRef, i3.DOCUMENT], { portal: [0, "portal"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co._headerAddon; _ck(_v, 2, 0, currVal_0); }, null); }
42
+ function View_TabGroupComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_10)), i1.ɵdid(2, 16384, [[2, 4]], 0, i4.TabHeaderAddonDirective, [i1.TemplateRef, i1.ViewContainerRef], null, null), (_l()(), i1.ɵand(0, null, null, 0))], null, null); }
43
+ function View_TabGroupComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-tab-body", [["role", "tabpanel"]], [[8, "hidden", 0]], null, null, i9.View_TabBodyComponent_0, i9.RenderType_TabBodyComponent)), i1.ɵdid(1, 180224, null, 0, i10.TabBodyComponent, [], { content: [0, "content"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.content; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.context.$implicit !== _co.activeTab); _ck(_v, 0, 0, currVal_0); }); }
44
+ function View_TabGroupComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_13)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.activatedTabs; _ck(_v, 2, 0, currVal_0); }, null); }
45
+ function View_TabGroupComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "aui-tab-body", [["role", "tabpanel"]], null, null, null, i9.View_TabBodyComponent_0, i9.RenderType_TabBodyComponent)), i1.ɵdid(1, 180224, null, 0, i10.TabBodyComponent, [], { content: [0, "content"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.activeTab.content; _ck(_v, 1, 0, currVal_0); }, null); }
46
+ export function View_TabGroupComponent_0(_l) { return i1.ɵvid(2, [i1.ɵqud(671088640, 1, { _tabHeader: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 17, "div", [], null, null, null, null, null)), i1.ɵdid(2, 278528, null, 0, i3.NgClass, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2], { ngClass: [0, "ngClass"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 10, "aui-tab-header", [], null, [[null, "indexFocused"], [null, "selectFocusedIndex"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("indexFocused" === en)) {
44
47
  var pd_0 = (_co._focusChanged($event) !== false);
45
48
  ad = (pd_0 && ad);
46
49
  } if (("selectFocusedIndex" === en)) {
47
50
  var pd_1 = ((_co.selectedIndex = $event) !== false);
48
51
  ad = (pd_1 && ad);
49
- } return ad; }, i11.View_TabHeaderComponent_0, i11.RenderType_TabHeaderComponent)), i1.ɵdid(4, 3325952, [[1, 4]], 2, i12.TabHeaderComponent, [i1.ChangeDetectorRef, i13.ViewportRuler], { type: [0, "type"], size: [1, "size"], selectedIndex: [2, "selectedIndex"] }, { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }), i1.ɵqud(603979776, 2, { _headerAddon: 0 }), i1.ɵqud(603979776, 3, { _labelWrappers: 1 }), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_TabGroupComponent_1)), i1.ɵdid(8, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_TabGroupComponent_6)), i1.ɵdid(10, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 4, "div", [], [[8, "className", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_9)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_11)), i1.ɵdid(15, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bem.block(); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.type; var currVal_2 = _co.size; var currVal_3 = _co.selectedIndex; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3); var currVal_4 = _co._tabs; _ck(_v, 8, 0, currVal_4); var currVal_5 = _co._headerAddon; _ck(_v, 10, 0, currVal_5); var currVal_7 = _co.lazy; _ck(_v, 13, 0, currVal_7); var currVal_8 = (!_co.lazy && _co.activeTab); _ck(_v, 15, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_6 = _co.bem.element("body-wrapper"); _ck(_v, 11, 0, currVal_6); }); }
50
- export function View_TabGroupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, "aui-tab-group", [], null, null, null, View_TabGroupComponent_0, RenderType_TabGroupComponent)), i1.ɵdid(1, 3850240, null, 2, i14.TabGroupComponent, [i1.ChangeDetectorRef], null, null), i1.ɵqud(603979776, 1, { _tabs: 1 }), i1.ɵqud(603979776, 2, { _headerAddon: 0 })], null, null); }
51
- var TabGroupComponentNgFactory = i1.ɵccf("aui-tab-group", i14.TabGroupComponent, View_TabGroupComponent_Host_0, { selectedIndex: "selectedIndex", type: "type", size: "size", lazy: "lazy" }, { selectedIndexChange: "selectedIndexChange", selectedTabChange: "selectedTabChange", focusChange: "focusChange" }, []);
52
+ } return ad; }, i11.View_TabHeaderComponent_0, i11.RenderType_TabHeaderComponent)), i1.ɵdid(4, 3325952, [[1, 4]], 3, i12.TabHeaderComponent, [i1.ChangeDetectorRef, i13.ViewportRuler], { type: [0, "type"], size: [1, "size"], selectedIndex: [2, "selectedIndex"] }, { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }), i1.ɵqud(603979776, 2, { _headerAddon: 0 }), i1.ɵqud(603979776, 3, { _title: 0 }), i1.ɵqud(603979776, 4, { _labelWrappers: 1 }), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_TabGroupComponent_1)), i1.ɵdid(9, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_TabGroupComponent_4)), i1.ɵdid(11, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_TabGroupComponent_9)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 4, "div", [], [[8, "className", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_12)), i1.ɵdid(16, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_TabGroupComponent_14)), i1.ɵdid(18, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bem.block(); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.type; var currVal_2 = _co.size; var currVal_3 = _co.selectedIndex; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3); var currVal_4 = _co._tabTitle; _ck(_v, 9, 0, currVal_4); var currVal_5 = _co._tabs; _ck(_v, 11, 0, currVal_5); var currVal_6 = _co._headerAddon; _ck(_v, 13, 0, currVal_6); var currVal_8 = _co.lazy; _ck(_v, 16, 0, currVal_8); var currVal_9 = (!_co.lazy && _co.activeTab); _ck(_v, 18, 0, currVal_9); }, function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.bem.element("body-wrapper"); _ck(_v, 14, 0, currVal_7); }); }
53
+ export function View_TabGroupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, "aui-tab-group", [], null, null, null, View_TabGroupComponent_0, RenderType_TabGroupComponent)), i1.ɵdid(1, 3850240, null, 3, i14.TabGroupComponent, [i1.ChangeDetectorRef], null, null), i1.ɵqud(603979776, 1, { _tabs: 1 }), i1.ɵqud(603979776, 2, { _headerAddon: 0 }), i1.ɵqud(603979776, 3, { _tabTitle: 0 })], null, null); }
54
+ var TabGroupComponentNgFactory = i1.ɵccf("aui-tab-group", i14.TabGroupComponent, View_TabGroupComponent_Host_0, { selectedIndex: "selectedIndex", type: "type", title: "title", size: "size", lazy: "lazy" }, { selectedIndexChange: "selectedIndexChange", selectedTabChange: "selectedTabChange", focusChange: "focusChange" }, []);
52
55
  export { TabGroupComponentNgFactory as TabGroupComponentNgFactory };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzREQzBCVSwyTkFBaUUsOERBQXBELGtCQUFxQyx5Q0FBbEQsWUFBaUUsRUFBcEQsU0FBcUM7NERBR1gsaUpBRXpDOzREQUdGLGlMQUtZLEVBRFY7Ozt3QkFBb0Q7TUFKdEQsd0tBS1kseUJBRlYsNkJBQWtCLEVBSHBCLFlBS1ksRUFGVixTQUFrQjs0REE3QnRCLG9hQWdDTSxZQXhCSjs7d0JBQThCO01BUmhDLDRPQWdDTSxJQWpCSiwrR0FTTSxLQVBKLGlMQUVjLElBRWQsaUxBRWMsSUFHaEIsaUxBS1kseUJBeEJaLGtCQUF5Qiw2QkFQM0IsWUFnQ00sRUF6QkosU0FBeUIsR0FVVixtQkFBMEIsa0NBQXZDLFlBRWMsRUFGRCxVQUEwQixHQUkxQixvQkFBMkIsa0NBQXhDLFlBRWMsRUFGRCxVQUEyQixHQU14Qyx1REFBc0MsOEJBRHhDLFlBS1ksRUFKVixVQUFzQyxtREF0QnhDLHdDQUFxQyxpQkFDckMsc0RBQWtELDhCQUdsRCxrQkFBdUIsOEJBQ3ZCLHlEQUFzQyxpQkFDdEMscUNBQTRCLEdBQzVCLG1CQUFrQyxlQUNsQyxrQkFBaUMsOEJBYm5DLDZFQWdDTSxFQTNCSixTQUFxQyxFQUNyQyxTQUFrRCxFQUdsRCxTQUF1QixFQUN2QixTQUFzQyxFQUN0QyxTQUE0QixFQUM1QixTQUFrQyxFQUNsQyxTQUFpQyxFQWJuQyxvQkFnQ007OzREQUdKLDZFQUVlLEtBRGIsMk5BQTRELHNGQUEvQyxtQkFBZ0MsZUFBN0MsWUFBNEQsRUFBL0MsU0FBZ0M7NERBRmpELDZFQUllLEtBSGIsdUxBRWU7NkRBTWYsa1FBS2dCLHlCQUZkLGtCQUF1Qiw0QkFIekIsWUFLZ0IsRUFGZCxTQUF1QixtREFDdkIsNkNBQTRCLGFBSjlCLFlBS2dCLEVBRGQsU0FBNEI7NERBTGhDLDZFQU9lLEtBTmIsZ05BS2dCLHNGQUhkLG1CQUFpQyxnQkFGbkMsWUFLZ0IsRUFIZCxTQUFpQzs2REFLckMsb1BBSWdCLGlEQURkLG1CQUE2QixvQkFIL0IsWUFJZ0IsRUFEZCxTQUE2Qjs2R0E3RG5DLGlPQWdFTSxJQS9ESixnTEE4Q2lCLFlBMUNmOzt3QkFBc0M7TUFDdEM7O3dCQUE2QztNQUwvQyx1YUE4Q2lCLE1BdkNmLDRNQWdDTSxJQUVOLCtLQUllLElBR2pCLDhGQWNNLEtBYkosa0xBT2UsSUFDZixtTEFJZ0IsaURBOURmLG1CQUF1QixjQUE1QixZQWdFTSxFQWhFRCxTQUF1QixHQUd4QixtQkFBYSxPQUNiLG1CQUFhLE9BRmIsbUJBQStCLGdCQURqQyxZQThDaUIsRUE1Q2YsU0FBYSxFQUNiLFNBQWEsRUFGYixTQUErQixHQVE3QixtQkFBd0MsUUFGMUMsWUFnQ00sRUE5QkosU0FBd0MsR0FnQzVCLG1CQUFvQixlQUFsQyxhQUllLEVBSkQsU0FBb0IsR0FRcEIsbUJBQVksT0FBMUIsYUFPZSxFQVBELFNBQVksR0FVeEIsaUNBQTBCLGFBRjVCLGFBSWdCLEVBRmQsU0FBMEIsbURBWHpCLDhDQUFxQyxHQUExQyxhQWNNLEVBZEQsU0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImJlbS5ibG9jaygpXCI+XG4gIDxhdWktdGFiLWhlYWRlclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIChpbmRleEZvY3VzZWQpPVwiX2ZvY3VzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoc2VsZWN0Rm9jdXNlZEluZGV4KT1cInNlbGVjdGVkSW5kZXggPSAkZXZlbnRcIlxuICA+XG4gICAgPGRpdlxuICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIF90YWJzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGF1aVRhYkxhYmVsV3JhcHBlclxuICAgICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAgICAgW2NsYXNzLmlzQWN0aXZlXT1cInNlbGVjdGVkSW5kZXggPT0gaVwiXG4gICAgICBbY2xhc3MuY2xvc2VhYmxlXT1cInRhYi5jbG9zZWFibGUgJiYgIXRhYi5kaXNhYmxlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2sodGFiLCBpKVwiXG4gICAgICBbdGl0bGVdPVwidGFiLnRleHRMYWJlbFwiXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJfZ2V0VGFiSW5kZXgodGFiLCBpKVwiXG4gICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJfdGFicy5sZW5ndGhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIudGV4dExhYmVsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLXRhYi1sYWJlbF9fY29udGVudFwiPlxuICAgICAgICA8IS0tIElmIHRoZXJlIGlzIGEgbGFiZWwgdGVtcGxhdGUsIHVzZSBpdC4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBJZiB0aGVyZSBpcyBub3QgYSBsYWJlbCB0ZW1wbGF0ZSwgZmFsbCBiYWNrIHRvIHRoZSB0ZXh0IGxhYmVsLiAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiF0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIHt7IHRhYi50ZXh0TGFiZWwgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJ0YWIuY2xvc2VhYmxlICYmICF0YWIuZGlzYWJsZWRcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWItbGFiZWxfX2Nsb3NlXCJcbiAgICAgICAgaWNvbj1cImNsb3NlX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRhYi5jbG9zZS5lbWl0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaGVhZGVyQWRkb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmF1aVRhYkhlYWRlckFkZG9uPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfaGVhZGVyQWRkb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXVpLXRhYi1oZWFkZXI+XG5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2JvZHktd3JhcHBlcicpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhenlcIj5cbiAgICAgIDxhdWktdGFiLWJvZHlcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiBhY3RpdmF0ZWRUYWJzXCJcbiAgICAgICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgICAgICBbaGlkZGVuXT1cInRhYiAhPT0gYWN0aXZlVGFiXCJcbiAgICAgID48L2F1aS10YWItYm9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8YXVpLXRhYi1ib2R5XG4gICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgKm5nSWY9XCIhbGF6eSAmJiBhY3RpdmVUYWJcIlxuICAgICAgW2NvbnRlbnRdPVwiYWN0aXZlVGFiLmNvbnRlbnRcIlxuICAgID48L2F1aS10YWItYm9keT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzREQ1NNLDZFQUVlLEtBRGIsMk5BQXlELHNGQUE1QyxtQkFBNkIsWUFBMUMsWUFBeUQsRUFBNUMsU0FBNkI7NERBRjlDLDZFQUllLEtBSGIsaUxBRWU7OzREQW9CWCwyTkFBaUUsOERBQXBELGtCQUFxQyx5Q0FBbEQsWUFBaUUsRUFBcEQsU0FBcUM7NERBR1gsaUpBRXpDOzREQUdGLGlMQUtZLEVBRFY7Ozt3QkFBb0Q7TUFKdEQsd0tBS1kseUJBRlYsNkJBQWtCLEVBSHBCLFlBS1ksRUFGVixTQUFrQjs0REE3QnRCLG9hQWdDTSxZQXhCSjs7d0JBQThCO01BUmhDLDRPQWdDTSxJQWpCSiwrR0FTTSxLQVBKLGlMQUVjLElBRWQsaUxBRWMsSUFHaEIsaUxBS1kseUJBeEJaLGtCQUF5Qiw2QkFQM0IsWUFnQ00sRUF6QkosU0FBeUIsR0FVVixtQkFBMEIsa0NBQXZDLFlBRWMsRUFGRCxVQUEwQixHQUkxQixvQkFBMkIsa0NBQXhDLFlBRWMsRUFGRCxVQUEyQixHQU14Qyx1REFBc0MsOEJBRHhDLFlBS1ksRUFKVixVQUFzQyxtREF0QnhDLHdDQUFxQyxpQkFDckMsc0RBQWtELDhCQUdsRCxrQkFBdUIsOEJBQ3ZCLHlEQUFzQyxpQkFDdEMscUNBQTRCLEdBQzVCLG1CQUFrQyxlQUNsQyxrQkFBaUMsOEJBYm5DLDZFQWdDTSxFQTNCSixTQUFxQyxFQUNyQyxTQUFrRCxFQUdsRCxTQUF1QixFQUN2QixTQUFzQyxFQUN0QyxTQUE0QixFQUM1QixTQUFrQyxFQUNsQyxTQUFpQyxFQWJuQyxvQkFnQ007OzZEQUdKLDZFQUVlLEtBRGIsNE5BQTRELHNGQUEvQyxtQkFBZ0MsZUFBN0MsWUFBNEQsRUFBL0MsU0FBZ0M7NERBRmpELDZFQUllLEtBSGIsd0xBRWU7NkRBTWYsa1FBS2dCLHlCQUZkLGtCQUF1Qiw0QkFIekIsWUFLZ0IsRUFGZCxTQUF1QixtREFDdkIsNkNBQTRCLGFBSjlCLFlBS2dCLEVBRGQsU0FBNEI7NkRBTGhDLDZFQU9lLEtBTmIsZ05BS2dCLHNGQUhkLG1CQUFpQyxnQkFGbkMsWUFLZ0IsRUFIZCxTQUFpQzs2REFLckMsb1BBSWdCLGlEQURkLG1CQUE2QixvQkFIL0IsWUFJZ0IsRUFEZCxTQUE2Qjs2R0FsRW5DLGlPQXFFTSxJQXBFSixpTEFtRGlCLFlBL0NmOzt3QkFBc0M7TUFDdEM7O3dCQUE2QztNQUwvQyw2Y0FtRGlCLE1BNUNmLDhLQUllLElBQ2YsNk1BZ0NNLElBRU4sK0tBSWUsSUFHakIsOEZBY00sS0FiSixtTEFPZSxJQUNmLG1MQUlnQixpREFuRWYsbUJBQXVCLGNBQTVCLFlBcUVNLEVBckVELFNBQXVCLEdBR3hCLG1CQUFhLE9BQ2IsbUJBQWEsT0FGYixtQkFBK0IsZ0JBRGpDLFlBbURpQixFQWpEZixTQUFhLEVBQ2IsU0FBYSxFQUZiLFNBQStCLEdBTWpCLG1CQUFpQixZQUEvQixZQUllLEVBSkQsU0FBaUIsR0FPN0IsbUJBQXdDLFFBRjFDLGFBZ0NNLEVBOUJKLFNBQXdDLEdBZ0M1QixtQkFBb0IsZUFBbEMsYUFJZSxFQUpELFNBQW9CLEdBUXBCLG1CQUFZLE9BQTFCLGFBT2UsRUFQRCxTQUFZLEdBVXhCLGlDQUEwQixhQUY1QixhQUlnQixFQUZkLFNBQTBCLG1EQVh6Qiw4Q0FBcUMsR0FBMUMsYUFjTSxFQWRELFNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiPGRpdiBbbmdDbGFzc109XCJiZW0uYmxvY2soKVwiPlxuICA8YXVpLXRhYi1oZWFkZXJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAoaW5kZXhGb2N1c2VkKT1cIl9mb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgKHNlbGVjdEZvY3VzZWRJbmRleCk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdGFiVGl0bGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmF1aVRhYlRpdGxlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfdGFiVGl0bGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdlxuICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIF90YWJzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGF1aVRhYkxhYmVsV3JhcHBlclxuICAgICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAgICAgW2NsYXNzLmlzQWN0aXZlXT1cInNlbGVjdGVkSW5kZXggPT0gaVwiXG4gICAgICBbY2xhc3MuY2xvc2VhYmxlXT1cInRhYi5jbG9zZWFibGUgJiYgIXRhYi5kaXNhYmxlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2sodGFiLCBpKVwiXG4gICAgICBbdGl0bGVdPVwidGFiLnRleHRMYWJlbFwiXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJfZ2V0VGFiSW5kZXgodGFiLCBpKVwiXG4gICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJfdGFicy5sZW5ndGhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIudGV4dExhYmVsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLXRhYi1sYWJlbF9fY29udGVudFwiPlxuICAgICAgICA8IS0tIElmIHRoZXJlIGlzIGEgbGFiZWwgdGVtcGxhdGUsIHVzZSBpdC4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBJZiB0aGVyZSBpcyBub3QgYSBsYWJlbCB0ZW1wbGF0ZSwgZmFsbCBiYWNrIHRvIHRoZSB0ZXh0IGxhYmVsLiAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiF0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIHt7IHRhYi50ZXh0TGFiZWwgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJ0YWIuY2xvc2VhYmxlICYmICF0YWIuZGlzYWJsZWRcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWItbGFiZWxfX2Nsb3NlXCJcbiAgICAgICAgaWNvbj1cImNsb3NlX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRhYi5jbG9zZS5lbWl0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaGVhZGVyQWRkb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmF1aVRhYkhlYWRlckFkZG9uPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfaGVhZGVyQWRkb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXVpLXRhYi1oZWFkZXI+XG5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2JvZHktd3JhcHBlcicpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhenlcIj5cbiAgICAgIDxhdWktdGFiLWJvZHlcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiBhY3RpdmF0ZWRUYWJzXCJcbiAgICAgICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgICAgICBbaGlkZGVuXT1cInRhYiAhPT0gYWN0aXZlVGFiXCJcbiAgICAgID48L2F1aS10YWItYm9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8YXVpLXRhYi1ib2R5XG4gICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgKm5nSWY9XCIhbGF6eSAmJiBhY3RpdmVUYWJcIlxuICAgICAgW2NvbnRlbnRdPVwiYWN0aXZlVGFiLmNvbnRlbnRcIlxuICAgID48L2F1aS10YWItYm9keT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1 +1 @@
1
- {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class"}},{"symbol":{"__symbol":1,"members":[]},"metadata":{"__symbolic":"class","members":{"_tabs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]},"arguments":[{"__symbol":3,"members":[]}]}]}],"_headerAddon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]},"arguments":[{"__symbol":5,"members":[]},{"static":false}]}]}],"_tabHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":6,"members":[]},"arguments":[{"__symbol":7,"members":[]},{"static":false}]}]}],"selectedIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":8,"members":[]}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":8,"members":[]}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":8,"members":[]}}]}],"lazy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":8,"members":[]}}]}],"selectedIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"selectedTabChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"focusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":10,"members":[]}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_handleClick":[{"__symbolic":"method"}],"_focusChanged":[{"__symbolic":"method"}],"realignActiveIndicator":[{"__symbolic":"method"}],"_changeActivatedTabs":[{"__symbolic":"method"}],"_clampTabIndex":[{"__symbolic":"method"}],"_createChangeEvent":[{"__symbolic":"method"}],"_subscribeToTabLabels":[{"__symbolic":"method"}],"_getTabIndex":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":1,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":10,"members":[]}}}}],"lifecycleHooks":[1,3,4,5]},"isComponent":true,"selector":"aui-tab-group","exportAs":"auiTabGroup","inputs":{"selectedIndex":"selectedIndex","type":"type","size":"size","lazy":"lazy"},"outputs":{"selectedIndexChange":"selectedIndexChange","selectedTabChange":"selectedTabChange","focusChange":"focusChange"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[{"selectors":[{"identifier":{"reference":{"__symbol":3,"members":[]}}}],"first":false,"descendants":false,"emitDistinctChangesOnly":false,"propertyName":"_tabs","read":null},{"selectors":[{"identifier":{"reference":{"__symbol":5,"members":[]}}}],"first":true,"descendants":true,"propertyName":"_headerAddon","read":null,"static":false}],"guards":{},"viewQueries":[{"selectors":[{"identifier":{"reference":{"__symbol":7,"members":[]}}}],"first":true,"descendants":true,"propertyName":"_tabHeader","read":null,"static":false}],"entryComponents":[],"changeDetection":0,"template":{"ngContentSelectors":[],"encapsulation":2,"styles":[],"animations":[]},"componentViewType":{"__symbol":11,"members":[]},"rendererType":{"__symbol":12,"members":[]},"componentFactory":{"__symbol":13,"members":[]}}}],"symbols":[{"__symbol":0,"name":"TabChangeEvent","filePath":"./tab-group.component"},{"__symbol":1,"name":"TabGroupComponent","filePath":"./tab-group.component"},{"__symbol":2,"name":"ContentChildren","filePath":"@angular/core"},{"__symbol":3,"name":"TabComponent","filePath":"./tab.component"},{"__symbol":4,"name":"ContentChild","filePath":"@angular/core"},{"__symbol":5,"name":"TabHeaderAddonDirective","filePath":"./tab-directives"},{"__symbol":6,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":7,"name":"TabHeaderComponent","filePath":"./tab-header.component"},{"__symbol":8,"name":"Input","filePath":"@angular/core"},{"__symbol":9,"name":"Output","filePath":"@angular/core"},{"__symbol":10,"name":"ChangeDetectorRef","filePath":"@angular/core"},{"__symbol":11,"name":"View_TabGroupComponent_0","filePath":"./tab-group.component.ngfactory"},{"__symbol":12,"name":"RenderType_TabGroupComponent","filePath":"./tab-group.component.ngfactory"},{"__symbol":13,"name":"TabGroupComponentNgFactory","filePath":"./tab-group.component.ngfactory"}]}
1
+ {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class"}},{"symbol":{"__symbol":1,"members":[]},"metadata":{"__symbolic":"class","members":{"_tabs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]},"arguments":[{"__symbol":3,"members":[]}]}]}],"_headerAddon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]},"arguments":[{"__symbol":5,"members":[]},{"static":false}]}]}],"_tabHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":6,"members":[]},"arguments":[{"__symbol":7,"members":[]},{"static":false}]}]}],"_tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]},"arguments":[{"__symbol":8,"members":[]},{"static":false}]}]}],"selectedIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"lazy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":9,"members":[]}}]}],"selectedIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":10,"members":[]}}]}],"selectedTabChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":10,"members":[]}}]}],"focusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":10,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":11,"members":[]}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_handleClick":[{"__symbolic":"method"}],"_focusChanged":[{"__symbolic":"method"}],"realignActiveIndicator":[{"__symbolic":"method"}],"_changeActivatedTabs":[{"__symbolic":"method"}],"_clampTabIndex":[{"__symbolic":"method"}],"_createChangeEvent":[{"__symbolic":"method"}],"_subscribeToTabLabels":[{"__symbolic":"method"}],"_getTabIndex":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":1,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":11,"members":[]}}}}],"lifecycleHooks":[1,3,4,5]},"isComponent":true,"selector":"aui-tab-group","exportAs":"auiTabGroup","inputs":{"selectedIndex":"selectedIndex","type":"type","title":"title","size":"size","lazy":"lazy"},"outputs":{"selectedIndexChange":"selectedIndexChange","selectedTabChange":"selectedTabChange","focusChange":"focusChange"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[{"selectors":[{"identifier":{"reference":{"__symbol":3,"members":[]}}}],"first":false,"descendants":false,"emitDistinctChangesOnly":false,"propertyName":"_tabs","read":null},{"selectors":[{"identifier":{"reference":{"__symbol":5,"members":[]}}}],"first":true,"descendants":true,"propertyName":"_headerAddon","read":null,"static":false},{"selectors":[{"identifier":{"reference":{"__symbol":8,"members":[]}}}],"first":true,"descendants":true,"propertyName":"_tabTitle","read":null,"static":false}],"guards":{},"viewQueries":[{"selectors":[{"identifier":{"reference":{"__symbol":7,"members":[]}}}],"first":true,"descendants":true,"propertyName":"_tabHeader","read":null,"static":false}],"entryComponents":[],"changeDetection":0,"template":{"ngContentSelectors":[],"encapsulation":2,"styles":[],"animations":[]},"componentViewType":{"__symbol":12,"members":[]},"rendererType":{"__symbol":13,"members":[]},"componentFactory":{"__symbol":14,"members":[]}}}],"symbols":[{"__symbol":0,"name":"TabChangeEvent","filePath":"./tab-group.component"},{"__symbol":1,"name":"TabGroupComponent","filePath":"./tab-group.component"},{"__symbol":2,"name":"ContentChildren","filePath":"@angular/core"},{"__symbol":3,"name":"TabComponent","filePath":"./tab.component"},{"__symbol":4,"name":"ContentChild","filePath":"@angular/core"},{"__symbol":5,"name":"TabHeaderAddonDirective","filePath":"./tab-directives"},{"__symbol":6,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":7,"name":"TabHeaderComponent","filePath":"./tab-header.component"},{"__symbol":8,"name":"TabTitleDirective","filePath":"./tab-directives"},{"__symbol":9,"name":"Input","filePath":"@angular/core"},{"__symbol":10,"name":"Output","filePath":"@angular/core"},{"__symbol":11,"name":"ChangeDetectorRef","filePath":"@angular/core"},{"__symbol":12,"name":"View_TabGroupComponent_0","filePath":"./tab-group.component.ngfactory"},{"__symbol":13,"name":"RenderType_TabGroupComponent","filePath":"./tab-group.component.ngfactory"},{"__symbol":14,"name":"TabGroupComponentNgFactory","filePath":"./tab-group.component.ngfactory"}]}
@@ -4,7 +4,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Co
4
4
  import { Subject } from 'rxjs';
5
5
  import { takeUntil } from 'rxjs/operators';
6
6
  import { buildBem, coerceNumber } from '../utils';
7
- import { TabHeaderAddonDirective, TabLabelWrapperDirective, } from './tab-directives';
7
+ import { TabHeaderAddonDirective, TabLabelWrapperDirective, TabTitleDirective, } from './tab-directives';
8
8
  import { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';
9
9
  import { TabSize, TabType } from './tabs.types';
10
10
  /**
@@ -320,11 +320,11 @@ export class TabHeaderComponent {
320
320
  TabHeaderComponent.decorators = [
321
321
  { type: Component, args: [{
322
322
  selector: 'aui-tab-header',
323
- template: "<div [ngClass]=\"bem.block(type, size)\">\n <div [ngClass]=\"bem.element('pagination-wrapper')\" #paginationWrapper>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n</div>\n",
323
+ template: "<div [ngClass]=\"bem.block(type, size)\">\n <ng-container *ngIf=\"_title\">\n <div [ngClass]=\"bem.element('title')\">\n <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n </div>\n </ng-container>\n <div [ngClass]=\"bem.element('header-wrapper')\">\n <div [ngClass]=\"bem.element('pagination-wrapper')\" #paginationWrapper>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n",
324
324
  encapsulation: ViewEncapsulation.None,
325
325
  preserveWhitespaces: false,
326
326
  changeDetection: ChangeDetectionStrategy.OnPush,
327
- styles: [".aui-tab-header{display:flex;align-items:center;flex-shrink:0;position:relative;background-color:#fff}.aui-tab-header--large .aui-tab-label{font-size:18px;padding:16px 20px}.aui-tab-header--medium .aui-tab-label{font-size:16px;padding:12px 20px}.aui-tab-header--small .aui-tab-label{font-size:14px;padding:8px 16px}.aui-tab-header--card{background-color:#fafafa;border:1px solid #ededed}.aui-tab-header--line{border-bottom:1px solid #ededed}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative;margin:-1px}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:#007af5}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-1));z-index:2;opacity:.6;transition:opacity .3s}.aui-tab-label.isActive,.aui-tab-label:focus{outline:none}.aui-tab-label.isActive:not(.aui-tab-label--disabled),.aui-tab-label:focus:not(.aui-tab-label--disabled){opacity:1}.aui-tab-label.aui-tab-label--disabled{cursor:default;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4))}.aui-tab-label__close:hover{color:#fff;background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(0,122,245,.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:#007af5;height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{border:1px solid #ededed;border-top:none;border-bottom:none;background:#fff}.aui-tab-header-active-indicator--card:after{width:calc(100% + 2px);top:0;left:-1px}"]
327
+ styles: [".aui-tab-header{display:flex;flex-direction:column;flex-shrink:0;position:relative;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header--large .aui-tab-label{font-size:18px;padding:16px 20px;line-height:24px}.aui-tab-header--medium .aui-tab-label{font-size:16px;padding:12px 20px;line-height:22px}.aui-tab-header--small .aui-tab-label{font-size:14px;padding:8px 16px;line-height:20px}.aui-tab-header__header-wrapper{display:flex;flex-shrink:0;position:relative}.aui-tab-header__title{display:flex;justify-content:space-between;color:rgb(var(--aui-color-n-1));font-size:20px;margin-inline:20px;padding-block:20px;font-weight:500;border-bottom:1px solid rgb(var(--aui-color-n-8));line-height:32px}.aui-tab-header--card{background-color:rgb(var(--aui-color-n-9))}.aui-tab-header--line{border-radius:4px;box-shadow:0 0 4px 0 rgba(50,52,55,.1);background-color:rgb(var(--aui-color-n-10))}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:rgb(var(--aui-color-primary))}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-2));font-weight:400;z-index:2;transition:opacity .3s}.aui-tab-label.isActive,.aui-tab-label:focus{outline:none}.aui-tab-label:not(.aui-tab-label--disabled).isActive{font-weight:500}.aui-tab-label:not(.aui-tab-label--disabled).isActive,.aui-tab-label:not(.aui-tab-label--disabled):hover{color:rgb(var(--aui-color-primary))}.aui-tab-label.aui-tab-label--disabled{cursor:not-allowed;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4));transition:all .3s ease}.aui-tab-label__close:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(0,122,245,.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:#007af5;height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{background-color:rgb(var(--aui-color-n-10))}.aui-tab-header-active-indicator--card:after{width:calc(100% + 2px);top:0;left:-1px}"]
328
328
  },] }
329
329
  ];
330
330
  TabHeaderComponent.ctorParameters = () => [
@@ -338,10 +338,11 @@ TabHeaderComponent.propDecorators = {
338
338
  selectFocusedIndex: [{ type: Output }],
339
339
  indexFocused: [{ type: Output }],
340
340
  _headerAddon: [{ type: ContentChild, args: [TabHeaderAddonDirective, { static: false },] }],
341
+ _title: [{ type: ContentChild, args: [TabTitleDirective, { static: false },] }],
341
342
  _labelWrappers: [{ type: ContentChildren, args: [TabLabelWrapperDirective,] }],
342
343
  _tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],
343
344
  _tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],
344
345
  _paginationWrapper: [{ type: ViewChild, args: ['paginationWrapper', { static: true },] }],
345
346
  _activeIndicator: [{ type: ViewChild, args: [TabHeaderActiveIndicatorComponent, { static: true },] }]
346
347
  };
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUN6QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUWhEOzs7R0FHRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBVWxDLE1BQU0sT0FBTyxrQkFBa0I7SUFrWTdCLFlBQ21CLGtCQUFxQyxFQUNyQyxjQUE2QjtRQUQ3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBbFloRCxRQUFHLEdBQVEsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdEMsZUFBVSxHQUFHLEtBQUss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QWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBNUNDLGlCQUFpQjtZQUxWLGFBQWE7OzttQkF3Rm5CLEtBQUs7bUJBR0wsS0FBSzs0QkFJTCxLQUFLO2lDQWdCTCxNQUFNOzJCQUlOLE1BQU07MkJBR04sWUFBWSxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs2QkFHdkQsZUFBZSxTQUFDLHdCQUF3QjtnQ0FNeEMsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt1QkFHOUMsU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7aUNBR3JDLFNBQVMsU0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7K0JBRy9DLFNBQVMsU0FBQyxpQ0FBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtLCBjb2VyY2VOdW1iZXIgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGFiLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYlNpemUsIFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG4vKipcbiAqIFRoZSBkaXJlY3Rpb25zIHRoYXQgc2Nyb2xsaW5nIGNhbiBnbyBpbiB3aGVuIHRoZSBoZWFkZXIncyB0YWJzIGV4Y2VlZCB0aGUgaGVhZGVyIHdpZHRoLiAnQWZ0ZXInXG4gKiB3aWxsIHNjcm9sbCB0aGUgaGVhZGVyIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgdGFicyBsaXN0IGFuZCAnYmVmb3JlJyB3aWxsIHNjcm9sbCB0b3dhcmRzIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG5leHBvcnQgdHlwZSBTY3JvbGxEaXJlY3Rpb24gPSAnYWZ0ZXInIHwgJ2JlZm9yZSc7XG4vKipcbiAqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB3aWxsIGJlIG92ZXJzaG90IHdoZW4gc2Nyb2xsaW5nIGEgdGFiIGxhYmVsIGludG8gdmlldy4gVGhpcyBoZWxwc1xuICogcHJvdmlkZSBhIHNtYWxsIGFmZm9yZGFuY2UgdG8gdGhlIGxhYmVsIG5leHQgdG8gaXQuXG4gKi9cbmNvbnN0IEVYQUdHRVJBVEVEX09WRVJTQ1JPTEwgPSA2MDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJIZWFkZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQge1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFiLWhlYWRlcicpO1xuXG4gIF9zaG93QWRkb24gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgY29udHJvbHMgZm9yIHBhZ2luYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICBfc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWIgbGlzdCBjYW4gYmUgc2Nyb2xsZWQgbW9yZSB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIHRhYiBsYWJlbCBsaXN0LiAqL1xuICBfZGlzYWJsZVNjcm9sbEFmdGVyID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGxpc3QgY2FuIGJlIHNjcm9sbGVkIG1vcmUgdG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0YWIgbGFiZWwgbGlzdC4gKi9cbiAgX2Rpc2FibGVTY3JvbGxCZWZvcmUgPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgYW5kIHNob3VsZCBiZSBhcHBsaWVkIGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3Njcm9sbERpc3RhbmNlQ2hhbmdlZDogYm9vbGVhbjtcblxuICAvKiogV2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBzY3JvbGwgdG8gdGhlIHNlbGVjdGVkIGluZGV4IGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGxhYmVscyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0aGUgbGVmdC4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsRGlzdGFuY2UgPSAwO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBVc2VkIHRvIG1hbmFnZSBmb2N1cyBiZXR3ZWVuIHRoZSB0YWJzLiAqL1xuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8VGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0YWIgbGFiZWxzIHRoYXQgYXJlIGRpc3BsYXllZCBvbiB0aGUgaGVhZGVyLiBXaGVuIHRoaXMgY2hhbmdlcywgdGhlIGhlYWRlclxuICAgKiBzaG91bGQgcmUtZXZhbHVhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICovXG4gIHByaXZhdGUgX3RhYkxhYmVsQ291bnQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IFRhYlNpemUgPSBUYWJTaXplLk1lZGl1bTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHZhbHVlID0gY29lcmNlTnVtYmVyKHZhbHVlKTtcbiAgICB0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZCA9IHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IHZhbHVlO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0odmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbGVjdEZvY3VzZWRJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBsYWJlbCBpcyBmb2N1c2VkLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5kZXhGb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF9oZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUpXG4gIC8qKlxuICAgKiB3b3JrYXJvdW5kIGZvciBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvcHVsbC80MjQyNVxuICAgKi9cbiAgX2xhYmVsV3JhcHBlcnM6IFF1ZXJ5TGlzdDxUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUgJiB7IGRpc2FibGVkPzogYm9vbGVhbiB9PjtcblxuICBAVmlld0NoaWxkKCd0YWJMaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3RhYkxpc3RDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkxpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfdGFiTGlzdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgncGFnaW5hdGlvbldyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfcGFnaW5hdGlvbldyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYWN0aXZlSW5kaWNhdG9yOiBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQ7XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgbnVtYmVyIG9mIHRhYiBsYWJlbHMgaGF2ZSBjaGFuZ2VkLCBjaGVjayBpZiBzY3JvbGxpbmcgc2hvdWxkIGJlIGVuYWJsZWRcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxDb3VudCAhPT0gdGhpcy5fbGFiZWxXcmFwcGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX3RhYkxhYmVsQ291bnQgPSB0aGlzLl9sYWJlbFdyYXBwZXJzLmxlbmd0aDtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgY2hhbmdlZCwgc2Nyb2xsIHRvIHRoZSBsYWJlbCBhbmQgY2hlY2sgaWYgdGhlIHNjcm9sbGluZyBjb250cm9sc1xuICAgIC8vIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBiZWVuIGNoYW5nZWQgKHRhYiBzZWxlY3RlZCwgZm9jdXNlZCwgc2Nyb2xsIGNvbnRyb2xzIGFjdGl2YXRlZCksXG4gICAgLy8gdGhlbiB0cmFuc2xhdGUgdGhlIGhlYWRlciB0byByZWZsZWN0IHRoaXMuXG4gICAgaWYgKHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Nob3dBZGRvbiAhPT0gISF0aGlzLl9oZWFkZXJBZGRvbikge1xuICAgICAgdGhpcy5fc2hvd0FkZG9uID0gISF0aGlzLl9oZWFkZXJBZGRvbjtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBvbiBsb2FkLlxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IHJlc2l6ZSA9IHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKDE1MCk7XG4gICAgY29uc3QgcmVhbGlnbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIH07XG5cbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcih0aGlzLl9sYWJlbFdyYXBwZXJzKVxuICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpXG4gICAgICAud2l0aFdyYXAoKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oMCk7XG5cbiAgICAvLyBEZWZlciB0aGUgZmlyc3QgY2FsbCBpbiBvcmRlciB0byBhbGxvdyBmb3Igc2xvd2VyIGJyb3dzZXJzIHRvIGxheSBvdXQgdGhlIGVsZW1lbnRzLlxuICAgIC8vIFRoaXMgaGVscHMgaW4gY2FzZXMgd2hlcmUgdGhlIHVzZXIgbGFuZHMgZGlyZWN0bHkgb24gYSBwYWdlIHdpdGggcGFnaW5hdGVkIHRhYnMuXG4gICAgdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgID8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlYWxpZ24pXG4gICAgICA6IHJlYWxpZ24oKTtcblxuICAgIC8vIE9uIHdpbmRvdyByZXNpemUsIHJlYWxpZ24gdGhlIGluayBiYXIgYW5kIHVwZGF0ZSB0aGUgb3JpZW50YXRpb24gb2ZcbiAgICAvLyB0aGUga2V5IG1hbmFnZXIgaWYgdGhlIGRpcmVjdGlvbiBoYXMgY2hhbmdlZC5cbiAgICByZXNpemUucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHJlYWxpZ24oKTtcbiAgICB9KTtcblxuICAgIC8vIElmIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBmb2N1cyBrZXkgbWFuYWdlciB3ZSBuZWVkIHRvIGVtaXQgdGhlIGBpbmRleEZvY3VzZWRgXG4gICAgLy8gZXZlbnQgaW4gb3JkZXIgdG8gcHJvdmlkZSBhIHB1YmxpYyBldmVudCB0aGF0IG5vdGlmaWVzIGFib3V0IGZvY3VzIGNoYW5nZXMuIEFsc28gd2UgcmVhbGlnblxuICAgIC8vIHRoZSB0YWJzIGNvbnRhaW5lciBieSBzY3JvbGxpbmcgdGhlIG5ldyBmb2N1c2VkIHRhYiBpbnRvIHRoZSB2aXNpYmxlIHNlY3Rpb24uXG4gICAgdGhpcy5fa2V5TWFuYWdlci5jaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZShuZXdGb2N1c0luZGV4ID0+IHtcbiAgICAgICAgdGhpcy5pbmRleEZvY3VzZWQuZW1pdChuZXdGb2N1c0luZGV4KTtcbiAgICAgICAgdGhpcy5fc2V0VGFiRm9jdXMobmV3Rm9jdXNJbmRleCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGhlYWRlciBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW4gdGhlIFgtYXhpcy4gKi9cbiAgZ2V0IHNjcm9sbERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbERpc3RhbmNlO1xuICB9XG5cbiAgc2V0IHNjcm9sbERpc3RhbmNlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlID0gTWF0aC5tYXgoXG4gICAgICAwLFxuICAgICAgTWF0aC5taW4odGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKSwgdiksXG4gICAgKTtcbiAgICAvLyBNYXJrIHRoYXQgdGhlIHNjcm9sbCBkaXN0YW5jZSBoYXMgY2hhbmdlZCBzbyB0aGF0IGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQsIHRoZSBDU1NcbiAgICAvLyB0cmFuc2Zvcm1hdGlvbiBjYW4gbW92ZSB0aGUgaGVhZGVyLlxuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IHRydWU7XG4gICAgdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpO1xuICB9XG5cbiAgLyoqIFRyYWNrcyB3aGljaCBlbGVtZW50IGhhcyBmb2N1czsgdXNlZCBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbiAqL1xuICBnZXQgZm9jdXNJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9rZXlNYW5hZ2VyID8gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggOiAwO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGZvY3VzIGluZGV4IGlzIHNldCwgd2UgbXVzdCBtYW51YWxseSBzZW5kIGZvY3VzIHRvIHRoZSBjb3JyZWN0IGxhYmVsICovXG4gIHNldCBmb2N1c0luZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNWYWxpZEluZGV4KHZhbHVlKSB8fFxuICAgICAgdGhpcy5mb2N1c0luZGV4ID09PSB2YWx1ZSB8fFxuICAgICAgIXRoaXMuX2tleU1hbmFnZXJcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFuIGluZGV4IGlzIHZhbGlkLiAgSWYgdGhlIHRhYnMgYXJlIG5vdCByZWFkeSB5ZXQsIHdlIGFzc3VtZSB0aGF0IHRoZSB1c2VyIGlzXG4gICAqIHByb3ZpZGluZyBhIHZhbGlkIGluZGV4IGFuZCByZXR1cm4gdHJ1ZS5cbiAgICovXG4gIF9pc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fbGFiZWxXcmFwcGVycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbaW5kZXhdXG4gICAgICA6IG51bGw7XG4gICAgcmV0dXJuICEhdGFiICYmICF0YWIuZGlzYWJsZWQ7XG4gIH1cblxuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldExhc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRJbmRleC5lbWl0KHRoaXMuZm9jdXNJbmRleCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIG9uIHRoZSBIVE1MIGVsZW1lbnQgZm9yIHRoZSBsYWJlbCB3cmFwcGVyIGFuZCBzY3JvbGxzIGl0IGludG8gdGhlIHZpZXcgaWZcbiAgICogc2Nyb2xsaW5nIGlzIGVuYWJsZWQuXG4gICAqL1xuICBfc2V0VGFiRm9jdXModGFiSW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9zY3JvbGxUb0xhYmVsKHRhYkluZGV4KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhYmVsV3JhcHBlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW3RhYkluZGV4XS5mb2N1cygpO1xuICAgICAgLy8gRG8gbm90IGxldCB0aGUgYnJvd3NlciBtYW5hZ2Ugc2Nyb2xsaW5nIHRvIGZvY3VzIHRoZSBlbGVtZW50LCB0aGlzIHdpbGwgYmUgaGFuZGxlZFxuICAgICAgLy8gYnkgdXNpbmcgdHJhbnNsYXRpb24uIEluIExUUiwgdGhlIHNjcm9sbCBsZWZ0IHNob3VsZCBiZSAwLiBJbiBSVEwsIHRoZSBzY3JvbGwgd2lkdGhcbiAgICAgIC8vIHNob3VsZCBiZSB0aGUgZnVsbCB3aWR0aCBtaW51cyB0aGUgb2Zmc2V0IHdpZHRoLlxuICAgICAgY29uc3QgY29udGFpbmVyRWwgPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb250YWluZXJFbC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IHN1Y2ggdGhhdCB0aGUgZGVzaXJlZCB0YWIgbGFiZWwgKG1hcmtlZCBieSBpbmRleCkgaXMgbW92ZWQgaW50byB2aWV3LlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX3Njcm9sbFRvTGFiZWwobGFiZWxJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYWJlbCA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbbGFiZWxJbmRleF1cbiAgICAgIDogbnVsbDtcbiAgICBpZiAoIXNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVGhlIHZpZXcgbGVuZ3RoIGlzIHRoZSB2aXNpYmxlIHdpZHRoIG9mIHRoZSB0YWIgbGFiZWxzLlxuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgbGFiZWxCZWZvcmVQb3MgPSBzZWxlY3RlZExhYmVsLmdldE9mZnNldExlZnQoKTtcbiAgICBjb25zdCBsYWJlbEFmdGVyUG9zID0gbGFiZWxCZWZvcmVQb3MgKyBzZWxlY3RlZExhYmVsLmdldE9mZnNldFdpZHRoKCk7XG4gICAgY29uc3QgYmVmb3JlVmlzaWJsZVBvcyA9IHRoaXMuc2Nyb2xsRGlzdGFuY2U7XG4gICAgY29uc3QgYWZ0ZXJWaXNpYmxlUG9zID0gdGhpcy5zY3JvbGxEaXN0YW5jZSArIHZpZXdMZW5ndGg7XG4gICAgaWYgKGxhYmVsQmVmb3JlUG9zIDwgYmVmb3JlVmlzaWJsZVBvcykge1xuICAgICAgLy8gU2Nyb2xsIGhlYWRlciB0byBtb3ZlIGxhYmVsIHRvIHRoZSBiZWZvcmUgZGlyZWN0aW9uXG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlIC09XG4gICAgICAgIGJlZm9yZVZpc2libGVQb3MgLSBsYWJlbEJlZm9yZVBvcyArIEVYQUdHRVJBVEVEX09WRVJTQ1JPTEw7XG4gICAgfSBlbHNlIGlmIChsYWJlbEFmdGVyUG9zID4gYWZ0ZXJWaXNpYmxlUG9zKSB7XG4gICAgICAvLyBTY3JvbGwgaGVhZGVyIHRvIG1vdmUgbGFiZWwgdG8gdGhlIGFmdGVyIGRpcmVjdGlvblxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSArPVxuICAgICAgICBsYWJlbEFmdGVyUG9zIC0gYWZ0ZXJWaXNpYmxlUG9zICsgRVhBR0dFUkFURURfT1ZFUlNDUk9MTDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IGluIHRoZSAnYmVmb3JlJyBvciAnYWZ0ZXInIGRpcmVjdGlvbiAodG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IG9yXG4gICAqIHRoZSBlbmQgb2YgdGhlIGxpc3QsIHJlc3BlY3RpdmVseSkuIFRoZSBkaXN0YW5jZSB0byBzY3JvbGwgaXMgY29tcHV0ZWQgdG8gYmUgYSB0aGlyZCBvZiB0aGVcbiAgICogbGVuZ3RoIG9mIHRoZSB0YWIgbGlzdCB2aWV3IHdpbmRvdy5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9zY3JvbGxIZWFkZXIoc2Nyb2xsRGlyOiBTY3JvbGxEaXJlY3Rpb24pIHtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIE1vdmUgdGhlIHNjcm9sbCBkaXN0YW5jZSBvbmUtdGhpcmQgdGhlIGxlbmd0aCBvZiB0aGUgdGFiIGxpc3QncyB2aWV3cG9ydC5cbiAgICB0aGlzLnNjcm9sbERpc3RhbmNlICs9ICgoc2Nyb2xsRGlyID09PSAnYmVmb3JlJyA/IC0xIDogMSkgKiB2aWV3TGVuZ3RoKSAvIDM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIE11dGF0aW9uT2JzZXJ2ZXIgZGV0ZWN0cyB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgX29uQ29udGVudENoYW5nZXMoKSB7XG4gICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0aW5nIHRoZSB2aWV3IHdoZXRoZXIgcGFnaW5hdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIF91cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIHRoaXMuX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB3aGV0aGVyIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHNob3VsZCBiZSBkaXNwbGF5ZWQuIElmIHRoZSBzY3JvbGwgd2lkdGggb2YgdGhlXG4gICAqIHRhYiBsaXN0IGlzIHdpZGVyIHRoYW4gdGhlIHNpemUgb2YgdGhlIGhlYWRlciBjb250YWluZXIsIHRoZW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMgc2hvdWxkXG4gICAqIGJlIHNob3duLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKSB7XG4gICAgY29uc3QgaXNFbmFibGVkID1cbiAgICAgIHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA+XG4gICAgICB0aGlzLl9wYWdpbmF0aW9uV3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgMjsgLy8gMiBpcyB0aGUgYm9yZGVyIHNpemVcbiAgICBpZiAoIWlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9IDA7XG4gICAgfVxuICAgIGNvbnN0IGRldGVjdENoYW5nZXMgPSBpc0VuYWJsZWQgIT09IHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM7XG4gICAgdGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGlzRW5hYmxlZDtcblxuICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgd2hldGhlciB0aGUgYmVmb3JlIGFuZCBhZnRlciBjb250cm9scyBzaG91bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cbiAgICogSWYgdGhlIGhlYWRlciBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IChzY3JvbGwgZGlzdGFuY2UgaXMgZXF1YWwgdG8gMCkgdGhlbiBkaXNhYmxlIHRoZVxuICAgKiBiZWZvcmUgYnV0dG9uLiBJZiB0aGUgaGVhZGVyIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKHNjcm9sbCBkaXN0YW5jZSBpcyBlcXVhbCB0byB0aGVcbiAgICogbWF4aW11bSBkaXN0YW5jZSB3ZSBjYW4gc2Nyb2xsKSwgdGhlbiBkaXNhYmxlIHRoZSBhZnRlciBidXR0b24uXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfY2hlY2tTY3JvbGxpbmdDb250cm9scygpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgcGFnaW5hdGlvbiBhcnJvd3Mgc2hvdWxkIGJlIGFjdGl2YXRlZC5cbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlID0gdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gMDtcbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPVxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gdGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIGluIHBpeGVscyB0aGF0IGNhbiBiZSBzZXQgZm9yIHRoZSBzY3JvbGwgZGlzdGFuY2UuIFRoaXNcbiAgICogaXMgZXF1YWwgdG8gdGhlIGRpZmZlcmVuY2UgaW4gd2lkdGggYmV0d2VlbiB0aGUgdGFiIGxpc3QgY29udGFpbmVyIGFuZCB0YWIgaGVhZGVyIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGxlbmd0aE9mVGFiTGlzdCA9IHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIHJldHVybiBsZW5ndGhPZlRhYkxpc3QgLSB2aWV3TGVuZ3RoIHx8IDA7XG4gIH1cblxuICAvKiogUGVyZm9ybXMgdGhlIENTUyB0cmFuc2Zvcm1hdGlvbiBvbiB0aGUgdGFiIGxpc3QgdGhhdCB3aWxsIGNhdXNlIHRoZSBsaXN0IHRvIHNjcm9sbC4gKi9cbiAgX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHNjcm9sbERpc3RhbmNlID0gdGhpcy5zY3JvbGxEaXN0YW5jZTtcbiAgICBjb25zdCB0cmFuc2xhdGVYID0gLXNjcm9sbERpc3RhbmNlO1xuICAgIC8vIERvbid0IHVzZSBgdHJhbnNsYXRlM2RgIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhIG5ldyBsYXllci4gQSBuZXcgbGF5ZXJcbiAgICAvLyBzZWVtcyB0byBjYXVzZSBmbGlja2VyaW5nIGFuZCBvdmVyZmxvdyBpbiBJbnRlcm5ldCBFeHBsb3Jlci4gRm9yIGV4YW1wbGUsIHRoZSBpbmsgYmFyXG4gICAgLy8gYW5kIHJpcHBsZXMgd2lsbCBleGNlZWQgdGhlIGJvdW5kYXJpZXMgb2YgdGhlIHZpc2libGUgdGFiIGJhci5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9pc3N1ZXMvMTAyNzZcbiAgICB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVYfXB4KWA7XG4gIH1cblxuICAvKiogVGVsbHMgdGhlIGFjdGl2ZSBpbmRpY2F0b3IgdG8gYWxpZ24gaXRzZWxmIHRvIHRoZSBjdXJyZW50IGxhYmVsIHdyYXBwZXIgKi9cbiAgX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZExhYmVsV3JhcHBlciA9XG4gICAgICB0aGlzLl9sYWJlbFdyYXBwZXJzPy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbdGhpcy5zZWxlY3RlZEluZGV4XS5lbGVtZW50UmVmXG4gICAgICAgICAgICAubmF0aXZlRWxlbWVudFxuICAgICAgICA6IG51bGw7XG4gICAgdGhpcy5fYWN0aXZlSW5kaWNhdG9yLmFsaWduVG9FbGVtZW50KHNlbGVjdGVkTGFiZWxXcmFwcGVyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICApIHt9XG59XG4iXX0=
348
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVFoRDs7O0dBR0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQVVsQyxNQUFNLE9BQU8sa0JBQWtCO0lBcVk3QixZQUNtQixrQkFBcUMsRUFDckMsY0FBNkI7UUFEN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXJZaEQsUUFBRyxHQUFRLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsOERBQThEO1FBQzlELDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUVoQyx1RkFBdUY7UUFDdkYsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLDZGQUE2RjtRQUM3Rix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFLNUIsOEZBQThGO1FBQ3RGLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUV0QyxtRkFBbUY7UUFDM0Usb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFM0IsNkNBQTZDO1FBQzVCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWWxELFNBQUksR0FBWSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRzdCLFNBQUksR0FBWSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBa0IvQixpREFBaUQ7UUFFeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6RCw2Q0FBNkM7UUFFcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBc1VoRCxDQUFDO0lBNVZKLG1DQUFtQztJQUNuQyxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLEtBQWE7UUFDN0IsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBa0NELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixpRkFBaUY7UUFDakYsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQ3RELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hDO1FBRUQsNkZBQTZGO1FBQzdGLHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztRQUVELDhGQUE4RjtRQUM5Riw2Q0FBNkM7UUFDN0MsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUN4RCx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7YUFDaEMsUUFBUSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJDLHNGQUFzRjtRQUN0RixtRkFBbUY7UUFDbkYsT0FBTyxxQkFBcUIsS0FBSyxXQUFXO1lBQzFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7WUFDaEMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWQsc0VBQXNFO1FBQ3RFLGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFFSCxtRkFBbUY7UUFDbkYsOEZBQThGO1FBQzlGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsMkZBQTJGO0lBQzNGLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLENBQVM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUM3QixDQUFDLEVBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDMUMsQ0FBQztRQUNGLHVGQUF1RjtRQUN2RixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsbUVBQW1FO0lBQ25FLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsb0ZBQW9GO0lBQ3BGLElBQUksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFDRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSztZQUN6QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ2pCO1lBQ0EsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYztZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDakIsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDckMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxRQUFnQjs7UUFDM0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQjtRQUNELElBQUksT0FBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQscUZBQXFGO1lBQ3JGLHNGQUFzRjtZQUN0RixtREFBbUQ7WUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztZQUN6RCxXQUFXLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxVQUFrQjtRQUMvQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsMERBQTBEO1FBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ3BFLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRCxNQUFNLGFBQWEsR0FBRyxjQUFjLEdBQUcsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztRQUN6RCxJQUFJLGNBQWMsR0FBRyxnQkFBZ0IsRUFBRTtZQUNyQyxzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLGNBQWM7Z0JBQ2pCLGdCQUFnQixHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQztTQUM5RDthQUFNLElBQUksYUFBYSxHQUFHLGVBQWUsRUFBRTtZQUMxQyxxREFBcUQ7WUFDckQsSUFBSSxDQUFDLGNBQWM7Z0JBQ2pCLGFBQWEsR0FBRyxlQUFlLEdBQUcsc0JBQXNCLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGFBQWEsQ0FBQyxTQUEwQjtRQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNwRSw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCx1QkFBdUI7UUFDckIsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVztZQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7UUFDaEYsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxhQUFhLEdBQUcsU0FBUyxLQUFLLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDO1FBRXpDLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILHVCQUF1QjtRQUNyQixzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHFCQUFxQjtRQUNuQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDcEUsT0FBTyxlQUFlLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLHdCQUF3QjtRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQ25DLHdGQUF3RjtRQUN4Rix3RkFBd0Y7UUFDeEYsaUVBQWlFO1FBQ2pFLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGNBQWMsVUFBVSxLQUFLLENBQUM7SUFDOUUsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxrQ0FBa0M7O1FBQ2hDLE1BQU0sb0JBQW9CLEdBQ3hCLE9BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsTUFBTSxJQUFHLENBQUM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVU7aUJBQ3pELGFBQWE7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUEzWUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHV2REFBMEM7Z0JBRTFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxtQkFBbUIsRUFBRSxLQUFLO2dCQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTdDQyxpQkFBaUI7WUFMVixhQUFhOzs7bUJBeUZuQixLQUFLO21CQUdMLEtBQUs7NEJBSUwsS0FBSztpQ0FnQkwsTUFBTTsyQkFJTixNQUFNOzJCQUdOLFlBQVksU0FBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7cUJBR3ZELFlBQVksU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NkJBR2pELGVBQWUsU0FBQyx3QkFBd0I7Z0NBTXhDLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBRzlDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2lDQUdyQyxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOytCQUcvQyxTQUFTLFNBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgVmlld3BvcnRSdWxlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgY29lcmNlTnVtYmVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiU2l6ZSwgVGFiVHlwZSB9IGZyb20gJy4vdGFicy50eXBlcyc7XG5cbi8qKlxuICogVGhlIGRpcmVjdGlvbnMgdGhhdCBzY3JvbGxpbmcgY2FuIGdvIGluIHdoZW4gdGhlIGhlYWRlcidzIHRhYnMgZXhjZWVkIHRoZSBoZWFkZXIgd2lkdGguICdBZnRlcidcbiAqIHdpbGwgc2Nyb2xsIHRoZSBoZWFkZXIgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSB0YWJzIGxpc3QgYW5kICdiZWZvcmUnIHdpbGwgc2Nyb2xsIHRvd2FyZHMgdGhlXG4gKiBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuXG4gKi9cbmV4cG9ydCB0eXBlIFNjcm9sbERpcmVjdGlvbiA9ICdhZnRlcicgfCAnYmVmb3JlJztcbi8qKlxuICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyB0aGF0IHdpbGwgYmUgb3ZlcnNob3Qgd2hlbiBzY3JvbGxpbmcgYSB0YWIgbGFiZWwgaW50byB2aWV3LiBUaGlzIGhlbHBzXG4gKiBwcm92aWRlIGEgc21hbGwgYWZmb3JkYW5jZSB0byB0aGUgbGFiZWwgbmV4dCB0byBpdC5cbiAqL1xuY29uc3QgRVhBR0dFUkFURURfT1ZFUlNDUk9MTCA9IDYwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkhlYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWItaGVhZGVyJyk7XG5cbiAgX3Nob3dBZGRvbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb250cm9scyBmb3IgcGFnaW5hdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkICovXG4gIF9zaG93UGFnaW5hdGlvbkNvbnRyb2xzID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYiBsaXN0IGNhbiBiZSBzY3JvbGxlZCBtb3JlIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgdGFiIGxhYmVsIGxpc3QuICovXG4gIF9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWIgbGlzdCBjYW4gYmUgc2Nyb2xsZWQgbW9yZSB0b3dhcmRzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhYiBsYWJlbCBsaXN0LiAqL1xuICBfZGlzYWJsZVNjcm9sbEJlZm9yZSA9IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNjcm9sbCBkaXN0YW5jZSBoYXMgY2hhbmdlZCBhbmQgc2hvdWxkIGJlIGFwcGxpZWQgYWZ0ZXIgdGhlIHZpZXcgaXMgY2hlY2tlZC4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkOiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIHNjcm9sbCB0byB0aGUgc2VsZWN0ZWQgaW5kZXggYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gY2hlY2tlZC4gKi9cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleENoYW5nZWQgPSBmYWxzZTtcblxuICAvKiogVGhlIGRpc3RhbmNlIGluIHBpeGVscyB0aGF0IHRoZSB0YWIgbGFiZWxzIHNob3VsZCBiZSB0cmFuc2xhdGVkIHRvIHRoZSBsZWZ0LiAqL1xuICBwcml2YXRlIF9zY3JvbGxEaXN0YW5jZSA9IDA7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFVzZWQgdG8gbWFuYWdlIGZvY3VzIGJldHdlZW4gdGhlIHRhYnMuICovXG4gIHByaXZhdGUgX2tleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmU+O1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRhYiBsYWJlbHMgdGhhdCBhcmUgZGlzcGxheWVkIG9uIHRoZSBoZWFkZXIuIFdoZW4gdGhpcyBjaGFuZ2VzLCB0aGUgaGVhZGVyXG4gICAqIHNob3VsZCByZS1ldmFsdWF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBfdGFiTGFiZWxDb3VudDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IFRhYlR5cGUgPSBUYWJUeXBlLkxpbmU7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogVGFiU2l6ZSA9IFRhYlNpemUuTWVkaXVtO1xuXG4gIC8qKiBUaGUgaW5kZXggb2YgdGhlIGFjdGl2ZSB0YWIuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cblxuICBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdmFsdWUgPSBjb2VyY2VOdW1iZXIodmFsdWUpO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gdGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gdmFsdWU7XG4gICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2tleU1hbmFnZXIpIHtcbiAgICAgIHRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0Rm9jdXNlZEluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGxhYmVsIGlzIGZvY3VzZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBpbmRleEZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAQ29udGVudENoaWxkKFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX2hlYWRlckFkZG9uOiBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKFRhYlRpdGxlRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX3RpdGxlOiBUYWJUaXRsZURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSlcbiAgLyoqXG4gICAqIHdvcmthcm91bmQgZm9yIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9wdWxsLzQyNDI1XG4gICAqL1xuICBfbGFiZWxXcmFwcGVyczogUXVlcnlMaXN0PFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSAmIHsgZGlzYWJsZWQ/OiBib29sZWFuIH0+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkxpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfdGFiTGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF90YWJMaXN0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9wYWdpbmF0aW9uV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZChUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9hY3RpdmVJbmRpY2F0b3I6IFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudDtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIElmIHRoZSBudW1iZXIgb2YgdGFiIGxhYmVscyBoYXZlIGNoYW5nZWQsIGNoZWNrIGlmIHNjcm9sbGluZyBzaG91bGQgYmUgZW5hYmxlZFxuICAgIGlmICh0aGlzLl90YWJMYWJlbENvdW50ICE9PSB0aGlzLl9sYWJlbFdyYXBwZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgICAgdGhpcy5fdGFiTGFiZWxDb3VudCA9IHRoaXMuX2xhYmVsV3JhcHBlcnMubGVuZ3RoO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHNlbGVjdGVkIGluZGV4IGhhcyBjaGFuZ2VkLCBzY3JvbGwgdG8gdGhlIGxhYmVsIGFuZCBjaGVjayBpZiB0aGUgc2Nyb2xsaW5nIGNvbnRyb2xzXG4gICAgLy8gc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZCkge1xuICAgICAgdGhpcy5fc2Nyb2xsVG9MYWJlbCh0aGlzLl9zZWxlY3RlZEluZGV4KTtcbiAgICAgIHRoaXMuX2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKTtcbiAgICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGJlZW4gY2hhbmdlZCAodGFiIHNlbGVjdGVkLCBmb2N1c2VkLCBzY3JvbGwgY29udHJvbHMgYWN0aXZhdGVkKSxcbiAgICAvLyB0aGVuIHRyYW5zbGF0ZSB0aGUgaGVhZGVyIHRvIHJlZmxlY3QgdGhpcy5cbiAgICBpZiAodGhpcy5fc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVUYWJTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgdGhpcy5fc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc2hvd0FkZG9uICE9PSAhIXRoaXMuX2hlYWRlckFkZG9uKSB7XG4gICAgICB0aGlzLl9zaG93QWRkb24gPSAhIXRoaXMuX2hlYWRlckFkZG9uO1xuICAgICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsaWducyB0aGUgaW5rIGJhciB0byB0aGUgc2VsZWN0ZWQgdGFiIG9uIGxvYWQuXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgY29uc3QgcmVzaXplID0gdGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoMTUwKTtcbiAgICBjb25zdCByZWFsaWduID0gKCkgPT4ge1xuICAgICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgICAgdGhpcy5fYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk7XG4gICAgfTtcblxuICAgIHRoaXMuX2tleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMuX2xhYmVsV3JhcHBlcnMpXG4gICAgICAud2l0aEhvcml6b250YWxPcmllbnRhdGlvbignbHRyJylcbiAgICAgIC53aXRoV3JhcCgpO1xuICAgIHRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbSgwKTtcblxuICAgIC8vIERlZmVyIHRoZSBmaXJzdCBjYWxsIGluIG9yZGVyIHRvIGFsbG93IGZvciBzbG93ZXIgYnJvd3NlcnMgdG8gbGF5IG91dCB0aGUgZWxlbWVudHMuXG4gICAgLy8gVGhpcyBoZWxwcyBpbiBjYXNlcyB3aGVyZSB0aGUgdXNlciBsYW5kcyBkaXJlY3RseSBvbiBhIHBhZ2Ugd2l0aCBwYWdpbmF0ZWQgdGFicy5cbiAgICB0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lICE9PSAndW5kZWZpbmVkJ1xuICAgICAgPyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVhbGlnbilcbiAgICAgIDogcmVhbGlnbigpO1xuXG4gICAgLy8gT24gd2luZG93IHJlc2l6ZSwgcmVhbGlnbiB0aGUgaW5rIGJhciBhbmQgdXBkYXRlIHRoZSBvcmllbnRhdGlvbiBvZlxuICAgIC8vIHRoZSBrZXkgbWFuYWdlciBpZiB0aGUgZGlyZWN0aW9uIGhhcyBjaGFuZ2VkLlxuICAgIHJlc2l6ZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgcmVhbGlnbigpO1xuICAgIH0pO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIGZvY3VzIGtleSBtYW5hZ2VyIHdlIG5lZWQgdG8gZW1pdCB0aGUgYGluZGV4Rm9jdXNlZGBcbiAgICAvLyBldmVudCBpbiBvcmRlciB0byBwcm92aWRlIGEgcHVibGljIGV2ZW50IHRoYXQgbm90aWZpZXMgYWJvdXQgZm9jdXMgY2hhbmdlcy4gQWxzbyB3ZSByZWFsaWduXG4gICAgLy8gdGhlIHRhYnMgY29udGFpbmVyIGJ5IHNjcm9sbGluZyB0aGUgbmV3IGZvY3VzZWQgdGFiIGludG8gdGhlIHZpc2libGUgc2VjdGlvbi5cbiAgICB0aGlzLl9rZXlNYW5hZ2VyLmNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKG5ld0ZvY3VzSW5kZXggPT4ge1xuICAgICAgICB0aGlzLmluZGV4Rm9jdXNlZC5lbWl0KG5ld0ZvY3VzSW5kZXgpO1xuICAgICAgICB0aGlzLl9zZXRUYWJGb2N1cyhuZXdGb2N1c0luZGV4KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIGRpc3RhbmNlIGluIHBpeGVscyB0aGF0IHRoZSB0YWIgaGVhZGVyIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbiB0aGUgWC1heGlzLiAqL1xuICBnZXQgc2Nyb2xsRGlzdGFuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRGlzdGFuY2U7XG4gIH1cblxuICBzZXQgc2Nyb2xsRGlzdGFuY2UodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2Nyb2xsRGlzdGFuY2UgPSBNYXRoLm1heChcbiAgICAgIDAsXG4gICAgICBNYXRoLm1pbih0aGlzLl9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpLCB2KSxcbiAgICApO1xuICAgIC8vIE1hcmsgdGhhdCB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBjaGFuZ2VkIHNvIHRoYXQgYWZ0ZXIgdGhlIHZpZXcgaXMgY2hlY2tlZCwgdGhlIENTU1xuICAgIC8vIHRyYW5zZm9ybWF0aW9uIGNhbiBtb3ZlIHRoZSBoZWFkZXIuXG4gICAgdGhpcy5fc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gIH1cblxuICAvKiogVHJhY2tzIHdoaWNoIGVsZW1lbnQgaGFzIGZvY3VzOyB1c2VkIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uICovXG4gIGdldCBmb2N1c0luZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2tleU1hbmFnZXIgPyB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA6IDA7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgZm9jdXMgaW5kZXggaXMgc2V0LCB3ZSBtdXN0IG1hbnVhbGx5IHNlbmQgZm9jdXMgdG8gdGhlIGNvcnJlY3QgbGFiZWwgKi9cbiAgc2V0IGZvY3VzSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1ZhbGlkSW5kZXgodmFsdWUpIHx8XG4gICAgICB0aGlzLmZvY3VzSW5kZXggPT09IHZhbHVlIHx8XG4gICAgICAhdGhpcy5fa2V5TWFuYWdlclxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYW4gaW5kZXggaXMgdmFsaWQuICBJZiB0aGUgdGFicyBhcmUgbm90IHJlYWR5IHlldCwgd2UgYXNzdW1lIHRoYXQgdGhlIHVzZXIgaXNcbiAgICogcHJvdmlkaW5nIGEgdmFsaWQgaW5kZXggYW5kIHJldHVybiB0cnVlLlxuICAgKi9cbiAgX2lzVmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9sYWJlbFdyYXBwZXJzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgdGFiID0gdGhpcy5fbGFiZWxXcmFwcGVyc1xuICAgICAgPyB0aGlzLl9sYWJlbFdyYXBwZXJzLnRvQXJyYXkoKVtpbmRleF1cbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4gISF0YWIgJiYgIXRhYi5kaXNhYmxlZDtcbiAgfVxuXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICdTcGFjZSc6XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZEluZGV4LmVtaXQodGhpcy5mb2N1c0luZGV4KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgZm9jdXMgb24gdGhlIEhUTUwgZWxlbWVudCBmb3IgdGhlIGxhYmVsIHdyYXBwZXIgYW5kIHNjcm9sbHMgaXQgaW50byB0aGUgdmlldyBpZlxuICAgKiBzY3JvbGxpbmcgaXMgZW5hYmxlZC5cbiAgICovXG4gIF9zZXRUYWJGb2N1cyh0YWJJbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHMpIHtcbiAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGFiSW5kZXgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fbGFiZWxXcmFwcGVycz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbdGFiSW5kZXhdLmZvY3VzKCk7XG4gICAgICAvLyBEbyBub3QgbGV0IHRoZSBicm93c2VyIG1hbmFnZSBzY3JvbGxpbmcgdG8gZm9jdXMgdGhlIGVsZW1lbnQsIHRoaXMgd2lsbCBiZSBoYW5kbGVkXG4gICAgICAvLyBieSB1c2luZyB0cmFuc2xhdGlvbi4gSW4gTFRSLCB0aGUgc2Nyb2xsIGxlZnQgc2hvdWxkIGJlIDAuIEluIFJUTCwgdGhlIHNjcm9sbCB3aWR0aFxuICAgICAgLy8gc2hvdWxkIGJlIHRoZSBmdWxsIHdpZHRoIG1pbnVzIHRoZSBvZmZzZXQgd2lkdGguXG4gICAgICBjb25zdCBjb250YWluZXJFbCA9IHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnRhaW5lckVsLnNjcm9sbExlZnQgPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgdGFiIGxpc3Qgc3VjaCB0aGF0IHRoZSBkZXNpcmVkIHRhYiBsYWJlbCAobWFya2VkIGJ5IGluZGV4KSBpcyBtb3ZlZCBpbnRvIHZpZXcuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfc2Nyb2xsVG9MYWJlbChsYWJlbEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZExhYmVsID0gdGhpcy5fbGFiZWxXcmFwcGVyc1xuICAgICAgPyB0aGlzLl9sYWJlbFdyYXBwZXJzLnRvQXJyYXkoKVtsYWJlbEluZGV4XVxuICAgICAgOiBudWxsO1xuICAgIGlmICghc2VsZWN0ZWRMYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBUaGUgdmlldyBsZW5ndGggaXMgdGhlIHZpc2libGUgd2lkdGggb2YgdGhlIHRhYiBsYWJlbHMuXG4gICAgY29uc3Qgdmlld0xlbmd0aCA9IHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICBjb25zdCBsYWJlbEJlZm9yZVBvcyA9IHNlbGVjdGVkTGFiZWwuZ2V0T2Zmc2V0TGVmdCgpO1xuICAgIGNvbnN0IGxhYmVsQWZ0ZXJQb3MgPSBsYWJlbEJlZm9yZVBvcyArIHNlbGVjdGVkTGFiZWwuZ2V0T2Zmc2V0V2lkdGgoKTtcbiAgICBjb25zdCBiZWZvcmVWaXNpYmxlUG9zID0gdGhpcy5zY3JvbGxEaXN0YW5jZTtcbiAgICBjb25zdCBhZnRlclZpc2libGVQb3MgPSB0aGlzLnNjcm9sbERpc3RhbmNlICsgdmlld0xlbmd0aDtcbiAgICBpZiAobGFiZWxCZWZvcmVQb3MgPCBiZWZvcmVWaXNpYmxlUG9zKSB7XG4gICAgICAvLyBTY3JvbGwgaGVhZGVyIHRvIG1vdmUgbGFiZWwgdG8gdGhlIGJlZm9yZSBkaXJlY3Rpb25cbiAgICAgIHRoaXMuc2Nyb2xsRGlzdGFuY2UgLT1cbiAgICAgICAgYmVmb3JlVmlzaWJsZVBvcyAtIGxhYmVsQmVmb3JlUG9zICsgRVhBR0dFUkFURURfT1ZFUlNDUk9MTDtcbiAgICB9IGVsc2UgaWYgKGxhYmVsQWZ0ZXJQb3MgPiBhZnRlclZpc2libGVQb3MpIHtcbiAgICAgIC8vIFNjcm9sbCBoZWFkZXIgdG8gbW92ZSBsYWJlbCB0byB0aGUgYWZ0ZXIgZGlyZWN0aW9uXG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlICs9XG4gICAgICAgIGxhYmVsQWZ0ZXJQb3MgLSBhZnRlclZpc2libGVQb3MgKyBFWEFHR0VSQVRFRF9PVkVSU0NST0xMO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgdGFiIGxpc3QgaW4gdGhlICdiZWZvcmUnIG9yICdhZnRlcicgZGlyZWN0aW9uICh0b3dhcmRzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3Qgb3JcbiAgICogdGhlIGVuZCBvZiB0aGUgbGlzdCwgcmVzcGVjdGl2ZWx5KS4gVGhlIGRpc3RhbmNlIHRvIHNjcm9sbCBpcyBjb21wdXRlZCB0byBiZSBhIHRoaXJkIG9mIHRoZVxuICAgKiBsZW5ndGggb2YgdGhlIHRhYiBsaXN0IHZpZXcgd2luZG93LlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX3Njcm9sbEhlYWRlcihzY3JvbGxEaXI6IFNjcm9sbERpcmVjdGlvbikge1xuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgLy8gTW92ZSB0aGUgc2Nyb2xsIGRpc3RhbmNlIG9uZS10aGlyZCB0aGUgbGVuZ3RoIG9mIHRoZSB0YWIgbGlzdCdzIHZpZXdwb3J0LlxuICAgIHRoaXMuc2Nyb2xsRGlzdGFuY2UgKz0gKChzY3JvbGxEaXIgPT09ICdiZWZvcmUnID8gLTEgOiAxKSAqIHZpZXdMZW5ndGgpIC8gMztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBmb3Igd2hlbiB0aGUgTXV0YXRpb25PYnNlcnZlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBfb25Db250ZW50Q2hhbmdlcygpIHtcbiAgICB0aGlzLl91cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgdGhpcy5fYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRpbmcgdGhlIHZpZXcgd2hldGhlciBwYWdpbmF0aW9uIHNob3VsZCBiZSBlbmFibGVkIG9yIG5vdFxuICAgKi9cbiAgX3VwZGF0ZVBhZ2luYXRpb24oKSB7XG4gICAgdGhpcy5fY2hlY2tQYWdpbmF0aW9uRW5hYmxlZCgpO1xuICAgIHRoaXMuX2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKTtcbiAgICB0aGlzLl91cGRhdGVUYWJTY3JvbGxQb3NpdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIHdoZXRoZXIgdGhlIHBhZ2luYXRpb24gY29udHJvbHMgc2hvdWxkIGJlIGRpc3BsYXllZC4gSWYgdGhlIHNjcm9sbCB3aWR0aCBvZiB0aGVcbiAgICogdGFiIGxpc3QgaXMgd2lkZXIgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIGNvbnRhaW5lciwgdGhlbiB0aGUgcGFnaW5hdGlvbiBjb250cm9scyBzaG91bGRcbiAgICogYmUgc2hvd24uXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfY2hlY2tQYWdpbmF0aW9uRW5hYmxlZCgpIHtcbiAgICBjb25zdCBpc0VuYWJsZWQgPVxuICAgICAgdGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoID5cbiAgICAgIHRoaXMuX3BhZ2luYXRpb25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAyOyAvLyAyIGlzIHRoZSBib3JkZXIgc2l6ZVxuICAgIGlmICghaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlID0gMDtcbiAgICB9XG4gICAgY29uc3QgZGV0ZWN0Q2hhbmdlcyA9IGlzRW5hYmxlZCAhPT0gdGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scztcbiAgICB0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzID0gaXNFbmFibGVkO1xuXG4gICAgaWYgKGRldGVjdENoYW5nZXMpIHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB3aGV0aGVyIHRoZSBiZWZvcmUgYW5kIGFmdGVyIGNvbnRyb2xzIHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLlxuICAgKiBJZiB0aGUgaGVhZGVyIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QgKHNjcm9sbCBkaXN0YW5jZSBpcyBlcXVhbCB0byAwKSB0aGVuIGRpc2FibGUgdGhlXG4gICAqIGJlZm9yZSBidXR0b24uIElmIHRoZSBoZWFkZXIgaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAoc2Nyb2xsIGRpc3RhbmNlIGlzIGVxdWFsIHRvIHRoZVxuICAgKiBtYXhpbXVtIGRpc3RhbmNlIHdlIGNhbiBzY3JvbGwpLCB0aGVuIGRpc2FibGUgdGhlIGFmdGVyIGJ1dHRvbi5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCkge1xuICAgIC8vIENoZWNrIGlmIHRoZSBwYWdpbmF0aW9uIGFycm93cyBzaG91bGQgYmUgYWN0aXZhdGVkLlxuICAgIHRoaXMuX2Rpc2FibGVTY3JvbGxCZWZvcmUgPSB0aGlzLnNjcm9sbERpc3RhbmNlID09PSAwO1xuICAgIHRoaXMuX2Rpc2FibGVTY3JvbGxBZnRlciA9XG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlID09PSB0aGlzLl9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggaW4gcGl4ZWxzIHRoYXQgY2FuIGJlIHNldCBmb3IgdGhlIHNjcm9sbCBkaXN0YW5jZS4gVGhpc1xuICAgKiBpcyBlcXVhbCB0byB0aGUgZGlmZmVyZW5jZSBpbiB3aWR0aCBiZXR3ZWVuIHRoZSB0YWIgbGlzdCBjb250YWluZXIgYW5kIHRhYiBoZWFkZXIgY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2dldE1heFNjcm9sbERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgY29uc3QgbGVuZ3RoT2ZUYWJMaXN0ID0gdGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgcmV0dXJuIGxlbmd0aE9mVGFiTGlzdCAtIHZpZXdMZW5ndGggfHwgMDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtcyB0aGUgQ1NTIHRyYW5zZm9ybWF0aW9uIG9uIHRoZSB0YWIgbGlzdCB0aGF0IHdpbGwgY2F1c2UgdGhlIGxpc3QgdG8gc2Nyb2xsLiAqL1xuICBfdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgY29uc3Qgc2Nyb2xsRGlzdGFuY2UgPSB0aGlzLnNjcm9sbERpc3RhbmNlO1xuICAgIGNvbnN0IHRyYW5zbGF0ZVggPSAtc2Nyb2xsRGlzdGFuY2U7XG4gICAgLy8gRG9uJ3QgdXNlIGB0cmFuc2xhdGUzZGAgaGVyZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGxheWVyLiBBIG5ldyBsYXllclxuICAgIC8vIHNlZW1zIHRvIGNhdXNlIGZsaWNrZXJpbmcgYW5kIG92ZXJmbG93IGluIEludGVybmV0IEV4cGxvcmVyLiBGb3IgZXhhbXBsZSwgdGhlIGluayBiYXJcbiAgICAvLyBhbmQgcmlwcGxlcyB3aWxsIGV4Y2VlZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgdmlzaWJsZSB0YWIgYmFyLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL2lzc3Vlcy8xMDI3NlxuICAgIHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVh9cHgpYDtcbiAgfVxuXG4gIC8qKiBUZWxscyB0aGUgYWN0aXZlIGluZGljYXRvciB0byBhbGlnbiBpdHNlbGYgdG8gdGhlIGN1cnJlbnQgbGFiZWwgd3JhcHBlciAqL1xuICBfYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkTGFiZWxXcmFwcGVyID1cbiAgICAgIHRoaXMuX2xhYmVsV3JhcHBlcnM/Lmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLl9sYWJlbFdyYXBwZXJzLnRvQXJyYXkoKVt0aGlzLnNlbGVjdGVkSW5kZXhdLmVsZW1lbnRSZWZcbiAgICAgICAgICAgIC5uYXRpdmVFbGVtZW50XG4gICAgICAgIDogbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVJbmRpY2F0b3IuYWxpZ25Ub0VsZW1lbnQoc2VsZWN0ZWRMYWJlbFdyYXBwZXIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICkge31cbn1cbiJdfQ==