@sbb-esta/lyne-elements 4.11.0 → 4.12.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 (541) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +3 -2
  3. package/{autocomplete-base-element-DarHnnYC.js → autocomplete-base-element-De2O5Wx-.js} +14 -9
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-DzGY49Xc.js → block-link-common-1kRa_czx.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/breadcrumb/breadcrumb-group.js +1 -1
  9. package/{breadcrumb-group.component-F3-JZkfO.js → breadcrumb-group.component-CKNsaUqs.js} +1 -1
  10. package/breadcrumb.js +1 -1
  11. package/breadcrumb.pure.js +1 -1
  12. package/button/common/button-common.js +1 -1
  13. package/button/common.js +1 -1
  14. package/button-common-BMEhm-dn.js +87 -0
  15. package/button.js +1 -1
  16. package/button.pure.js +1 -1
  17. package/calendar/calendar/calendar.component.js +1 -1
  18. package/calendar/calendar.js +1 -1
  19. package/{calendar.component-DjQOyRGl.js → calendar.component-C1jk_uE0.js} +3 -3
  20. package/calendar.js +1 -1
  21. package/calendar.pure.js +1 -1
  22. package/card/card-badge/card-badge.component.js +1 -1
  23. package/card/card-badge.js +1 -1
  24. package/{card-badge.component-BSOEYrN4.js → card-badge.component-D0r2iixU.js} +1 -1
  25. package/card.js +1 -1
  26. package/card.pure.js +1 -1
  27. package/checkbox/checkbox.component.js +1 -1
  28. package/checkbox/checkbox.js +1 -1
  29. package/checkbox/common/checkbox-common.js +1 -1
  30. package/checkbox/common.js +1 -1
  31. package/{checkbox-common-DdieysTG.js → checkbox-common-BpW4_bbi.js} +1 -1
  32. package/{checkbox.component-ROzxEnPh.js → checkbox.component-DS48CA_v.js} +1 -1
  33. package/checkbox.js +2 -2
  34. package/checkbox.pure.js +2 -2
  35. package/chip/chip-group/chip-group.component.js +1 -1
  36. package/chip/chip-group.js +1 -1
  37. package/{chip-group.component-DJzUToem.js → chip-group.component-BqBYzfXA.js} +1 -1
  38. package/chip.js +1 -1
  39. package/chip.pure.js +1 -1
  40. package/{compact-paginator.component-Cyi-t_YD.js → compact-paginator.component-BIAPutro.js} +1 -1
  41. package/core/controllers/overlay-position-controller.js +4 -1
  42. package/core/mixins/named-slot-list-mixin.js +4 -1
  43. package/core/styles/core.scss +62 -77
  44. package/core/styles/mixins/helpers.scss +3 -3
  45. package/core/styles/mixins/overlay.scss +2 -2
  46. package/core/styles/mixins/typo.scss +2 -2
  47. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  48. package/core.css +177 -73
  49. package/custom-elements.json +327 -59
  50. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  51. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  52. package/development/autocomplete/autocomplete-base-element.js +1 -1
  53. package/development/autocomplete/autocomplete.component.js +4 -3
  54. package/development/autocomplete-base-element-BpCpYcX9.js +692 -0
  55. package/development/autocomplete.js +1 -1
  56. package/development/autocomplete.pure.js +1 -1
  57. package/development/{block-link-common-GckvjULA.js → block-link-common-COY1RI1I.js} +2 -2
  58. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  59. package/development/breadcrumb/breadcrumb-group.js +1 -1
  60. package/development/breadcrumb-group.component-DZslNBlB.js +195 -0
  61. package/development/breadcrumb.js +1 -1
  62. package/development/breadcrumb.pure.js +1 -1
  63. package/development/button/common/button-common.js +1 -1
  64. package/development/button/common.js +1 -1
  65. package/development/{button-common-CAu09Yim.js → button-common-7dmrUx4A.js} +3 -3
  66. package/development/button.js +1 -1
  67. package/development/button.pure.js +1 -1
  68. package/development/calendar/calendar/calendar.component.js +1 -1
  69. package/development/calendar/calendar.js +1 -1
  70. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  71. package/development/calendar.component-Dg3D2A7k.js +1453 -0
  72. package/development/calendar.js +1 -1
  73. package/development/calendar.pure.js +1 -1
  74. package/development/card/card-badge/card-badge.component.js +1 -1
  75. package/development/card/card-badge.js +1 -1
  76. package/development/card-action-common-1FDHbfeR.js +1 -1
  77. package/development/card-badge.component-CUZIoVbL.js +84 -0
  78. package/development/card.js +1 -1
  79. package/development/card.pure.js +1 -1
  80. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  81. package/development/carousel.component-Dl48ROSf.js +1 -1
  82. package/development/checkbox/checkbox.component.js +1 -1
  83. package/development/checkbox/checkbox.js +1 -1
  84. package/development/checkbox/common/checkbox-common.js +1 -1
  85. package/development/checkbox/common.js +1 -1
  86. package/development/checkbox-common-Dd5uup8K.js +86 -0
  87. package/development/checkbox-group/checkbox-group.component.js +1 -1
  88. package/development/{checkbox.component-D3_FFSys.js → checkbox.component-CFZrwUTA.js} +2 -2
  89. package/development/checkbox.js +2 -2
  90. package/development/checkbox.pure.js +2 -2
  91. package/development/chip/chip-group/chip-group.component.js +1 -1
  92. package/development/chip/chip-group.js +1 -1
  93. package/development/chip-group.component-BVfHWX2-.js +409 -0
  94. package/development/chip.js +1 -1
  95. package/development/chip.pure.js +1 -1
  96. package/development/clock.component-CVPv4mCp.js +1 -1
  97. package/development/compact-paginator.component-5_Q2Reul.js +51 -0
  98. package/development/core/a11y/input-modality-detector.js +1 -1
  99. package/development/core/base-elements/element.js +1 -1
  100. package/development/core/controllers/media-matchers-controller.js +1 -1
  101. package/development/core/controllers/overlay-position-controller.js +3 -2
  102. package/development/core/datetime/date-adapter.js +1 -1
  103. package/development/core/datetime/native-date-adapter.js +1 -1
  104. package/development/core/datetime/temporal-date-adapter.js +1 -1
  105. package/development/core/eventing/throttle.d.ts +1 -0
  106. package/development/core/eventing/throttle.d.ts.map +1 -1
  107. package/development/core/eventing/throttle.js +2 -1
  108. package/development/core/mixins/disabled-mixin.js +1 -1
  109. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  110. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  111. package/development/core/mixins/form-associated-mixin.js +1 -1
  112. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  113. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  114. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  115. package/development/core/mixins/negative-mixin.js +1 -1
  116. package/development/core/mixins/readonly-mixin.js +1 -1
  117. package/development/core/mixins/required-mixin.js +1 -1
  118. package/development/core/testing/event-spy.js +1 -1
  119. package/development/datepicker/common/datepicker-button.d.ts +6 -0
  120. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  121. package/development/datepicker/common/datepicker-button.js +1 -1
  122. package/development/datepicker/common.js +1 -1
  123. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  124. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  125. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  126. package/development/datepicker/datepicker.js +1 -1
  127. package/development/datepicker-button-CUPeoQgH.js +169 -0
  128. package/development/datepicker.component-D2DxFng_.js +216 -0
  129. package/development/datepicker.js +2 -2
  130. package/development/datepicker.pure.js +2 -2
  131. package/development/error.component-OBpWoVRL.js +55 -0
  132. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  133. package/development/expansion-panel/expansion-panel-header.js +1 -1
  134. package/development/expansion-panel-header.component-BEAabEE0.js +85 -0
  135. package/development/expansion-panel.js +1 -1
  136. package/development/expansion-panel.pure.js +1 -1
  137. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  138. package/development/file-selector/common/file-selector-common.js +1 -1
  139. package/development/file-selector/common.js +1 -1
  140. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  141. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  142. package/development/file-selector/file-selector-dropzone.js +1 -1
  143. package/development/file-selector-common-C7xIEiV4.js +416 -0
  144. package/development/file-selector-dropzone.component-BAWMZW4F.js +111 -0
  145. package/development/file-selector.js +2 -2
  146. package/development/file-selector.pure.js +2 -2
  147. package/development/footer/footer.component.js +1 -1
  148. package/development/footer.component-BmDkxYW9.js +172 -0
  149. package/development/footer.js +1 -1
  150. package/development/footer.pure.js +1 -1
  151. package/development/form-field/error/error.component.js +1 -1
  152. package/development/form-field/error.js +1 -1
  153. package/development/form-field/form-field/form-field.component.js +1 -1
  154. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  155. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  156. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  157. package/development/form-field/form-field.js +1 -1
  158. package/development/form-field/hint/hint.component.js +1 -1
  159. package/development/form-field.component-BU3Sv2mD.js +707 -0
  160. package/development/form-field.js +3 -3
  161. package/development/form-field.pure.js +3 -3
  162. package/development/header/header/header.component.js +1 -1
  163. package/development/header/header.js +1 -1
  164. package/development/header-action-common-MTYV0dqA.js +1 -1
  165. package/development/header.component-CWJ36jF0.js +340 -0
  166. package/development/header.js +1 -1
  167. package/development/header.pure.js +1 -1
  168. package/development/hint.component-DUtL0RS3.js +38 -0
  169. package/development/icon/icon-name-mixin.js +1 -1
  170. package/development/image.component-BD0jc-u-.js +1 -1
  171. package/development/link/common/block-link-common.js +1 -1
  172. package/development/link/common.js +1 -1
  173. package/development/link-common-DJ2FfG_Q.js +1 -1
  174. package/development/link-list-base-CKMNz30d.js +1 -1
  175. package/development/link.js +1 -1
  176. package/development/link.pure.js +1 -1
  177. package/development/message/message.component.js +1 -1
  178. package/development/message.component-Dlf5V5ba.js +44 -0
  179. package/development/message.js +1 -1
  180. package/development/message.pure.js +1 -1
  181. package/development/mini-calendar.component-BufzKw74.js +1 -1
  182. package/development/navigation/common/navigation-action-common.js +1 -1
  183. package/development/navigation/common.js +1 -1
  184. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  185. package/development/navigation/navigation-marker.js +1 -1
  186. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  187. package/development/navigation/navigation-section.js +1 -1
  188. package/development/{navigation-action-common-DpBp7-eZ.js → navigation-action-common-Hjr4dI9J.js} +2 -2
  189. package/development/{navigation-marker.component-BpZdT4xz.js → navigation-marker.component-GOv42emC.js} +2 -2
  190. package/development/{navigation-section.component-CtZtuacK.js → navigation-section.component-CnVrRETN.js} +2 -2
  191. package/development/navigation.component-CTNQ1dix.js +1 -1
  192. package/development/navigation.js +3 -3
  193. package/development/navigation.pure.js +3 -3
  194. package/development/notification/notification.component.js +1 -1
  195. package/development/notification.component-Cvq_uViC.js +274 -0
  196. package/development/notification.js +1 -1
  197. package/development/notification.pure.js +1 -1
  198. package/development/option/option/option-base-element.d.ts.map +1 -1
  199. package/development/option/option/option-base-element.js +3 -1
  200. package/development/option/option/option.component.js +1 -1
  201. package/development/option/option.js +1 -1
  202. package/development/option.component-CRVr0PfV.js +130 -0
  203. package/development/option.js +1 -1
  204. package/development/option.pure.js +1 -1
  205. package/development/paginator/common/paginator-common.js +1 -1
  206. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  207. package/development/paginator/compact-paginator.js +1 -1
  208. package/development/paginator/paginator/paginator.component.js +1 -1
  209. package/development/paginator/paginator.js +1 -1
  210. package/development/paginator.component-Bn5tK0FK.js +259 -0
  211. package/development/paginator.js +2 -2
  212. package/development/paginator.pure.js +2 -2
  213. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  214. package/development/popover/popover.component.d.ts +1 -0
  215. package/development/popover/popover.component.d.ts.map +1 -1
  216. package/development/popover/popover.component.js +1 -1
  217. package/development/popover.component-rZb6B9uW.js +546 -0
  218. package/development/popover.js +1 -1
  219. package/development/popover.pure.js +1 -1
  220. package/development/radio-button/common/radio-button-common.js +1 -1
  221. package/development/radio-button/common.js +1 -1
  222. package/development/radio-button/radio-button.component.js +1 -1
  223. package/development/radio-button/radio-button.js +1 -1
  224. package/development/radio-button-common--d3WX-ZM.js +126 -0
  225. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  226. package/development/{radio-button.component-BrQF2FfA.js → radio-button.component-BauLEeCV.js} +2 -2
  227. package/development/radio-button.js +2 -2
  228. package/development/radio-button.pure.js +2 -2
  229. package/development/select/select.component.d.ts.map +1 -1
  230. package/development/select/select.component.js +1 -1
  231. package/development/select.component-D9SFG7Lk.js +814 -0
  232. package/development/select.js +1 -1
  233. package/development/select.pure.js +1 -1
  234. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  235. package/development/sidebar.component-BLqO52nH.js +1 -1
  236. package/development/slider/slider.component.js +1 -1
  237. package/development/{slider.component-BjfLnUvP.js → slider.component-C3qZB6ar.js} +2 -2
  238. package/development/slider.js +1 -1
  239. package/development/slider.pure.js +1 -1
  240. package/development/status/status.component.js +1 -1
  241. package/development/status.component-CPi1cPN0.js +111 -0
  242. package/development/status.js +1 -1
  243. package/development/status.pure.js +1 -1
  244. package/development/step-label.component-BJ9eainz.js +131 -0
  245. package/development/stepper/step-label/step-label.component.js +1 -1
  246. package/development/stepper/step-label.js +1 -1
  247. package/development/stepper.component-CxOBayI1.js +1 -1
  248. package/development/stepper.js +1 -1
  249. package/development/stepper.pure.js +1 -1
  250. package/development/sticky-bar.component-Dzrdsnxu.js +1 -1
  251. package/development/styles-D8-q-irv.js +1 -1
  252. package/development/styles-Jlhoev1S.js +14 -0
  253. package/development/tab-group.component-DldBA45K.js +275 -0
  254. package/development/{tab-label.component-14j2eh4Z.js → tab-label.component-B9e9kgVf.js} +2 -2
  255. package/development/tabs/common/styles.js +1 -1
  256. package/development/tabs/common.js +1 -1
  257. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  258. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  259. package/development/tabs/tab-group/tab-group.component.js +1 -1
  260. package/development/tabs/tab-group.js +1 -1
  261. package/development/tabs/tab-label/tab-label.component.js +1 -1
  262. package/development/tabs/tab-label.js +1 -1
  263. package/development/tabs.js +3 -3
  264. package/development/tabs.pure.js +3 -3
  265. package/development/tag/tag/tag.component.js +1 -1
  266. package/development/tag/tag.js +1 -1
  267. package/development/tag.component-Bl1nlIXQ.js +245 -0
  268. package/development/tag.js +1 -1
  269. package/development/tag.pure.js +1 -1
  270. package/development/teaser-hero/teaser-hero.component.js +1 -1
  271. package/development/{teaser-hero.component-DNlc8Tbl.js → teaser-hero.component-BIOpoGME.js} +2 -2
  272. package/development/teaser-hero.js +1 -1
  273. package/development/teaser-hero.pure.js +1 -1
  274. package/development/teaser-product-common-DYX370pm.js +1 -1
  275. package/development/time-input.component-BtdSR8kB.js +1 -1
  276. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  277. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  278. package/development/timetable-form/timetable-form-details.js +1 -1
  279. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  280. package/development/timetable-form/timetable-form-field.js +1 -1
  281. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  282. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  283. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  284. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  285. package/development/timetable-form/timetable-form.js +1 -1
  286. package/development/timetable-form-details.component-DJl5Qt9y.js +26 -0
  287. package/development/timetable-form-field.component-DQ_TzcF4.js +44 -0
  288. package/development/{timetable-form-swap-button.component-BUKUjrpl.js → timetable-form-swap-button.component-Bh9aPmdn.js} +4 -1
  289. package/development/timetable-form.component-N8h4JBlH.js +27 -0
  290. package/development/timetable-form.js +4 -4
  291. package/development/timetable-form.pure.js +4 -4
  292. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  293. package/development/timetable-occupancy.component-BBcznUh0.js +124 -0
  294. package/development/timetable-occupancy.js +1 -1
  295. package/development/timetable-occupancy.pure.js +1 -1
  296. package/development/title/title-base.js +1 -1
  297. package/development/title/title.component.js +1 -1
  298. package/development/{title-base-CBE_2Hkb.js → title-base-BdYKwj3-.js} +2 -2
  299. package/development/{title.component-Dk23JVct.js → title.component-DSXVkddh.js} +2 -2
  300. package/development/title.js +2 -2
  301. package/development/title.pure.js +2 -2
  302. package/development/toast/toast.component.js +1 -1
  303. package/development/toast.component-IhHx0Qt3.js +275 -0
  304. package/development/toast.js +1 -1
  305. package/development/toast.pure.js +1 -1
  306. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  307. package/development/toggle/toggle/toggle.component.js +1 -1
  308. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  309. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  310. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  311. package/development/toggle/toggle-option.js +1 -1
  312. package/development/toggle/toggle.js +1 -1
  313. package/development/toggle-check/toggle-check.component.js +1 -1
  314. package/development/toggle-check.component-_fDAuLob.js +159 -0
  315. package/development/toggle-check.js +1 -1
  316. package/development/toggle-check.pure.js +1 -1
  317. package/development/toggle-option.component-DTS3a603.js +167 -0
  318. package/development/toggle.component-BJpD1b9H.js +249 -0
  319. package/development/toggle.js +2 -2
  320. package/development/toggle.pure.js +2 -2
  321. package/development/tooltip/tooltip.component.js +1 -1
  322. package/development/tooltip.component-YaUQA-Id.js +378 -0
  323. package/development/tooltip.js +1 -1
  324. package/development/tooltip.pure.js +1 -1
  325. package/development/train/train-wagon/train-wagon.component.js +1 -1
  326. package/development/train/train-wagon.js +1 -1
  327. package/development/{train-wagon.component-BzA8-S_6.js → train-wagon.component-CNxkffOO.js} +2 -2
  328. package/development/train.js +1 -1
  329. package/development/train.pure.js +1 -1
  330. package/{error.component-B_D8WUP5.js → error.component-DH9Obd7a.js} +1 -1
  331. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  332. package/expansion-panel/expansion-panel-header.js +1 -1
  333. package/{expansion-panel-header.component-B_dQ3ZWT.js → expansion-panel-header.component-FPoEEoZR.js} +1 -1
  334. package/expansion-panel.js +1 -1
  335. package/expansion-panel.pure.js +1 -1
  336. package/file-selector/common/file-selector-common.js +1 -1
  337. package/file-selector/common.js +1 -1
  338. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  339. package/file-selector/file-selector-dropzone.js +1 -1
  340. package/{file-selector-common-DN4vHMpP.js → file-selector-common-BL9mM4SZ.js} +38 -40
  341. package/{file-selector-dropzone.component-CBKsZsC2.js → file-selector-dropzone.component-Ctar2kEw.js} +3 -4
  342. package/file-selector.js +2 -2
  343. package/file-selector.pure.js +2 -2
  344. package/footer/footer.component.js +1 -1
  345. package/{footer.component-BM91Utiz.js → footer.component-b2docCY_.js} +1 -1
  346. package/footer.js +1 -1
  347. package/footer.pure.js +1 -1
  348. package/form-field/error/error.component.js +1 -1
  349. package/form-field/error.js +1 -1
  350. package/form-field/form-field/form-field.component.js +1 -1
  351. package/form-field/form-field.js +1 -1
  352. package/form-field/hint/hint.component.js +1 -1
  353. package/{form-field.component-Cx5Keg_p.js → form-field.component-BwZDRKbQ.js} +3 -2
  354. package/form-field.js +3 -3
  355. package/form-field.pure.js +3 -3
  356. package/header/header/header.component.js +1 -1
  357. package/header/header.js +1 -1
  358. package/{header.component-hZqs06Yh.js → header.component-UQUFcMOD.js} +1 -1
  359. package/header.js +1 -1
  360. package/header.pure.js +1 -1
  361. package/{hint.component-BVUUrSSu.js → hint.component-CE2D2TLU.js} +1 -1
  362. package/link/common/block-link-common.js +1 -1
  363. package/link/common.js +1 -1
  364. package/link.js +1 -1
  365. package/link.pure.js +1 -1
  366. package/message/message.component.js +1 -1
  367. package/message.component-DhN-aFms.js +27 -0
  368. package/message.js +1 -1
  369. package/message.pure.js +1 -1
  370. package/navigation/common/navigation-action-common.js +1 -1
  371. package/navigation/common.js +1 -1
  372. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  373. package/navigation/navigation-marker.js +1 -1
  374. package/navigation/navigation-section/navigation-section.component.js +1 -1
  375. package/navigation/navigation-section.js +1 -1
  376. package/{navigation-action-common-2ix0xrBs.js → navigation-action-common-AzRltwrb.js} +1 -1
  377. package/{navigation-marker.component-DKxK16IU.js → navigation-marker.component-BzbbKlfT.js} +1 -1
  378. package/{navigation-section.component-CvjXVn5r.js → navigation-section.component-DQxCi3O_.js} +1 -1
  379. package/navigation.js +3 -3
  380. package/navigation.pure.js +3 -3
  381. package/notification/notification.component.js +1 -1
  382. package/{notification.component-DjXJFh1G.js → notification.component-D80Wl5xM.js} +1 -1
  383. package/notification.js +1 -1
  384. package/notification.pure.js +1 -1
  385. package/off-brand-theme.css +177 -73
  386. package/option/option/option-base-element.js +1 -1
  387. package/option/option/option.component.js +1 -1
  388. package/option/option.js +1 -1
  389. package/{option.component-M-V_tdSC.js → option.component-2Xf1hz7y.js} +1 -1
  390. package/option.js +1 -1
  391. package/option.pure.js +1 -1
  392. package/package.json +1 -1
  393. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  394. package/paginator/compact-paginator.js +1 -1
  395. package/paginator/paginator/paginator.component.js +1 -1
  396. package/paginator/paginator.js +1 -1
  397. package/{paginator.component-CZt7Epaf.js → paginator.component-BEr0qU0m.js} +1 -1
  398. package/paginator.js +2 -2
  399. package/paginator.pure.js +2 -2
  400. package/popover/popover.component.js +1 -1
  401. package/{popover.component-DWNuW4wM.js → popover.component-DAgwBcBW.js} +32 -28
  402. package/popover.js +1 -1
  403. package/popover.pure.js +1 -1
  404. package/radio-button/common/radio-button-common.js +1 -1
  405. package/radio-button/common.js +1 -1
  406. package/radio-button/radio-button.component.js +1 -1
  407. package/radio-button/radio-button.js +1 -1
  408. package/{radio-button-common-DP4Izwwf.js → radio-button-common-C1mIf9KY.js} +1 -1
  409. package/{radio-button.component-BiGeOI5L.js → radio-button.component-Bae-yK_U.js} +1 -1
  410. package/radio-button.js +2 -2
  411. package/radio-button.pure.js +2 -2
  412. package/safety-theme.css +177 -73
  413. package/select/select.component.js +1 -1
  414. package/{select.component-DWLdApt_.js → select.component-BT6RbERH.js} +3 -3
  415. package/select.js +1 -1
  416. package/select.pure.js +1 -1
  417. package/slider/slider.component.js +1 -1
  418. package/{slider.component-CoqCppCq.js → slider.component-BlRVR6iU.js} +1 -1
  419. package/slider.js +1 -1
  420. package/slider.pure.js +1 -1
  421. package/standard-theme.css +177 -73
  422. package/status/status.component.js +1 -1
  423. package/{status.component-BFyXTFXH.js → status.component-lw_WDs7W.js} +1 -1
  424. package/status.js +1 -1
  425. package/status.pure.js +1 -1
  426. package/step-label.component-Dqis4FAN.js +80 -0
  427. package/stepper/step-label/step-label.component.js +1 -1
  428. package/stepper/step-label.js +1 -1
  429. package/stepper.js +1 -1
  430. package/stepper.pure.js +1 -1
  431. package/styles-BNu0Fjw5.js +5 -0
  432. package/{tab-group.component-Doy39cEh.js → tab-group.component-CHQlrhUy.js} +36 -33
  433. package/{tab-label.component-CD56RH1Z.js → tab-label.component-CpdUyfiq.js} +1 -1
  434. package/tabs/common/styles.js +1 -1
  435. package/tabs/common.js +1 -1
  436. package/tabs/tab-group/tab-group.component.js +1 -1
  437. package/tabs/tab-group.js +1 -1
  438. package/tabs/tab-label/tab-label.component.js +1 -1
  439. package/tabs/tab-label.js +1 -1
  440. package/tabs.js +3 -3
  441. package/tabs.pure.js +3 -3
  442. package/tag/tag/tag.component.js +1 -1
  443. package/tag/tag.js +1 -1
  444. package/{tag.component-CzYJZuFT.js → tag.component-CsNszQvB.js} +1 -1
  445. package/tag.js +1 -1
  446. package/tag.pure.js +1 -1
  447. package/teaser-hero/teaser-hero.component.js +1 -1
  448. package/{teaser-hero.component-CHy82SKQ.js → teaser-hero.component-D8yj-N5n.js} +1 -1
  449. package/teaser-hero.js +1 -1
  450. package/teaser-hero.pure.js +1 -1
  451. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  452. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  453. package/timetable-form/timetable-form-details.js +1 -1
  454. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  455. package/timetable-form/timetable-form-field.js +1 -1
  456. package/timetable-form/timetable-form.js +1 -1
  457. package/timetable-form-details.component-mWKaBW_9.js +16 -0
  458. package/timetable-form-field.component-Cv_lv8vf.js +32 -0
  459. package/{timetable-form.component-CU1FXAZH.js → timetable-form.component-YcvKAlfz.js} +1 -1
  460. package/timetable-form.js +3 -3
  461. package/timetable-form.pure.js +3 -3
  462. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  463. package/{timetable-occupancy.component-Db9SfiyD.js → timetable-occupancy.component-BCXPxz68.js} +1 -1
  464. package/timetable-occupancy.js +1 -1
  465. package/timetable-occupancy.pure.js +1 -1
  466. package/title/title-base.js +1 -1
  467. package/title/title.component.js +1 -1
  468. package/{title-base-D72Xo2SW.js → title-base-DV0qhfG9.js} +1 -1
  469. package/{title.component-CoMa84Sz.js → title.component-DAGyXwDm.js} +1 -1
  470. package/title.js +2 -2
  471. package/title.pure.js +2 -2
  472. package/toast/toast.component.js +1 -1
  473. package/{toast.component-BDE1vYLS.js → toast.component-CORnf2Tl.js} +3 -3
  474. package/toast.js +1 -1
  475. package/toast.pure.js +1 -1
  476. package/toggle/toggle/toggle.component.js +1 -1
  477. package/toggle/toggle-option/toggle-option.component.js +1 -1
  478. package/toggle/toggle-option.js +1 -1
  479. package/toggle/toggle.js +1 -1
  480. package/toggle-check/toggle-check.component.js +1 -1
  481. package/toggle-check.component-DvoslSRr.js +119 -0
  482. package/toggle-check.js +1 -1
  483. package/toggle-check.pure.js +1 -1
  484. package/{toggle-option.component-Bw-GXUQK.js → toggle-option.component-pX3tNwjE.js} +5 -7
  485. package/{toggle.component-BPpsMMPG.js → toggle.component-B20xAw1V.js} +6 -10
  486. package/toggle.js +2 -2
  487. package/toggle.pure.js +2 -2
  488. package/tooltip/tooltip.component.js +1 -1
  489. package/{tooltip.component-BY9mV5Sw.js → tooltip.component-ocVpJogs.js} +1 -1
  490. package/tooltip.js +1 -1
  491. package/tooltip.pure.js +1 -1
  492. package/train/train-wagon/train-wagon.component.js +1 -1
  493. package/train/train-wagon.js +1 -1
  494. package/{train-wagon.component-BwCcF4GD.js → train-wagon.component-BT4Xnzxr.js} +1 -1
  495. package/train.js +1 -1
  496. package/train.pure.js +1 -1
  497. package/button-common-yFVzAoGy.js +0 -87
  498. package/development/autocomplete-base-element-YwfObJzm.js +0 -678
  499. package/development/breadcrumb-group.component-HBWRdDpS.js +0 -195
  500. package/development/calendar.component-6p9vsp-V.js +0 -1452
  501. package/development/card-badge.component-D4Mes-Gw.js +0 -84
  502. package/development/checkbox-common-DiTlHvFJ.js +0 -86
  503. package/development/chip-group.component-CvpUdzu1.js +0 -409
  504. package/development/compact-paginator.component-TfDVt_ST.js +0 -51
  505. package/development/datepicker-button-CANzGO5m.js +0 -163
  506. package/development/datepicker.component-C8XQVo45.js +0 -213
  507. package/development/error.component-xD_c9IBA.js +0 -55
  508. package/development/expansion-panel-header.component-Bw4uROTe.js +0 -85
  509. package/development/file-selector-common-C82QR3zb.js +0 -418
  510. package/development/file-selector-dropzone.component-B-cBO4bf.js +0 -112
  511. package/development/footer.component-BblB5218.js +0 -172
  512. package/development/form-field.component-DfMO_ihX.js +0 -706
  513. package/development/header.component-Cg0ZcA1s.js +0 -340
  514. package/development/hint.component-BsIzdUOV.js +0 -38
  515. package/development/message.component-CeJhYXSC.js +0 -44
  516. package/development/notification.component-Co9QChXc.js +0 -274
  517. package/development/option.component-CdL7fdzZ.js +0 -130
  518. package/development/paginator.component-DAdS2mMm.js +0 -259
  519. package/development/popover.component-BCMdJBUR.js +0 -537
  520. package/development/radio-button-common-C3-xuY78.js +0 -126
  521. package/development/select.component-CGNEhqzl.js +0 -812
  522. package/development/status.component-CHC2pBa-.js +0 -111
  523. package/development/step-label.component-CJFPHIZa.js +0 -131
  524. package/development/styles-DCQBzC2C.js +0 -14
  525. package/development/tab-group.component-DRipdAyc.js +0 -272
  526. package/development/tag.component-CnNPL6aI.js +0 -245
  527. package/development/timetable-form-details.component-C8awcdP5.js +0 -26
  528. package/development/timetable-form-field.component-BI24VjkC.js +0 -44
  529. package/development/timetable-form.component-CUG86CSN.js +0 -27
  530. package/development/timetable-occupancy.component-D_PXXvI9.js +0 -124
  531. package/development/toast.component-BnbpuU9L.js +0 -274
  532. package/development/toggle-check.component-BG4w_sE8.js +0 -159
  533. package/development/toggle-option.component-D-F7Fh7i.js +0 -168
  534. package/development/toggle.component-BFYLRN8o.js +0 -254
  535. package/development/tooltip.component-DzSd9VjW.js +0 -378
  536. package/message.component-BQjnZ5Z3.js +0 -27
  537. package/step-label.component-DnQBwnL8.js +0 -80
  538. package/styles-BUpK1iP2.js +0 -5
  539. package/timetable-form-details.component-CBZ7QSAx.js +0 -16
  540. package/timetable-form-field.component-BKxQQqt7.js +0 -32
  541. package/toggle-check.component-B6Ww5pLD.js +0 -119
@@ -0,0 +1,131 @@
1
+ import { html, unsafeCSS } from "lit";
2
+ import { SbbButtonBaseElement } from "./core/base-elements.js";
3
+ import { SbbDisabledMixin, appendAriaElements, removeAriaElements } from "./core/mixins.js";
4
+ import { boxSizingStyles } from "./core/styles.js";
5
+ import { SbbPropertyWatcherController } from "./core/controllers.js";
6
+ import { SbbIconNameMixin } from "./icon.js";
7
+ //#region src/elements/stepper/step-label/step-label.scss?inline
8
+ var step_label_default = ":host {\n --sbb-step-label-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-m);\n --_sbb-step-label-inset-inline-start: calc(var(--sbb-step-label-prefix-size) / 2);\n --_sbb-step-label-translate-y: calc(\n -50% + var(--sbb-step-label-translate-y-content-hover, 0rem)\n );\n --_sbb-step-label-prefix-inset-block-start: calc(\n 1em * (var(--sbb-typo-line-height-text) / 2) + (var(--sbb-border-width-1x) / 2) -\n (var(--sbb-step-label-prefix-size) / 2)\n );\n position: relative;\n display: flex;\n min-width: 0;\n max-width: fit-content;\n gap: var(--sbb-step-label-gap);\n cursor: var(--sbb-step-label-cursor);\n color: var(--sbb-step-label-color);\n font-size: var(--sbb-step-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n}\n:host::before {\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n font-size: var(--sbb-text-font-size-xxs);\n font-weight: var(--sbb-step-label-font-weight-selected, normal);\n inset-block-start: var(--_sbb-step-label-inset-block-start);\n inset-inline-start: var(--_sbb-step-label-inset-inline-start);\n line-height: 1;\n z-index: 1;\n translate: -50% var(--_sbb-step-label-translate-y);\n transition: translate var(--sbb-step-label-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: var(--sbb-color-3);\n --sbb-step-label-font-weight-selected: bold;\n}\n@media (forced-colors: active) {\n :host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: Highlight !important;\n }\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-step-label-gap: var(--sbb-spacing-fixed-3x);\n --sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);\n --sbb-step-label-font-size: var(--sbb-text-font-size-m);\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-s);\n}\n\n:host(:disabled) {\n --sbb-step-label-color: var(--sbb-color-granite);\n --sbb-step-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n --sbb-step-label-prefix-border-style: dashed;\n}\n@media (forced-colors: active) {\n :host(:disabled) {\n --sbb-step-label-color: GrayText !important;\n }\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:disabled)) {\n --sbb-step-label-cursor: var(--sbb-cursor-pointer);\n --sbb-step-label-prefix-background-color: var(--sbb-background-color-3);\n --sbb-step-label-translate-y-content-hover: -0.0625rem;\n --sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1);\n }\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-border-radius-1x);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical])) {\n transition: margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)) {\n margin-block-start: var(--sbb-spacing-fixed-6x);\n}\n\n:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) {\n margin-block-end: var(--sbb-spacing-fixed-8x);\n}\n\n.sbb-step-label__prefix {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--sbb-step-label-prefix-size);\n height: var(--sbb-step-label-prefix-size);\n inset-block-start: var(--_sbb-step-label-prefix-inset-block-start);\n}\n.sbb-step-label__prefix::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));\n border-radius: var(--sbb-border-radius-infinity);\n border: var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);\n background-color: var(--sbb-step-label-prefix-background-color);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, inset;\n}\n\n.sbb-step-label__text {\n font-weight: bold;\n}\n:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n::slotted(sbb-icon),\nsbb-icon {\n z-index: 1;\n background-color: var(--sbb-step-label-prefix-background-color);\n border-radius: var(--sbb-border-radius-infinity);\n translate: 0 var(--sbb-step-label-translate-y-content-hover, 0rem);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, translate;\n}";
9
+ //#endregion
10
+ //#region src/elements/stepper/step-label/step-label.component.ts
11
+ var nextId = 0;
12
+ /**
13
+ * Combined with a `sbb-stepper`, it displays a step's label.
14
+ *
15
+ * @slot - Use the unnamed slot to provide a label.
16
+ * @slot icon - Use this to display an icon in the label bubble.
17
+ */
18
+ var SbbStepLabelElement = class extends SbbIconNameMixin(SbbDisabledMixin(SbbButtonBaseElement)) {
19
+ static {
20
+ this.elementName = "sbb-step-label";
21
+ }
22
+ static {
23
+ this.role = "tab";
24
+ }
25
+ static {
26
+ this.styles = [boxSizingStyles, unsafeCSS(step_label_default)];
27
+ }
28
+ /** The step controlled by the label. */
29
+ get step() {
30
+ return this._step;
31
+ }
32
+ get stepper() {
33
+ return this.closest("sbb-stepper");
34
+ }
35
+ set disabled(value) {
36
+ super.disabled = value;
37
+ this.toggleState("user-disabled", value);
38
+ }
39
+ get disabled() {
40
+ return super.disabled;
41
+ }
42
+ constructor() {
43
+ super();
44
+ this._step = null;
45
+ this.addEventListener?.("click", () => {
46
+ const stepper = this.stepper;
47
+ if (stepper && this.step && this._isNotDeactivatedByLinearMode(this.step)) stepper.selected = this.step;
48
+ });
49
+ this.addController(new SbbPropertyWatcherController(this, () => this.stepper, {
50
+ orientation: (s) => {
51
+ if (this._previousOrientation) this.internals.states.delete(`orientation-${this._previousOrientation}`);
52
+ this._previousOrientation = s.orientation;
53
+ if (this._previousOrientation) this.internals.states.add(`orientation-${this._previousOrientation}`);
54
+ },
55
+ size: (s) => {
56
+ if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
57
+ this._previousSize = s.size;
58
+ if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
59
+ }
60
+ }));
61
+ }
62
+ _isNotDeactivatedByLinearMode(step) {
63
+ const stepper = this.stepper;
64
+ if (stepper?.linear && stepper.selectedIndex !== null) {
65
+ const index = stepper.steps.indexOf(step);
66
+ return index < stepper.selectedIndex || index === stepper.selectedIndex + 1;
67
+ }
68
+ return true;
69
+ }
70
+ connectedCallback() {
71
+ super.connectedCallback();
72
+ this.id ||= `sbb-step-label-${nextId++}`;
73
+ this.slot ||= "step-label";
74
+ this.internals.ariaSelected = "false";
75
+ this.tabIndex = -1;
76
+ this._assignStep();
77
+ }
78
+ /**
79
+ * Selects and configures the step label.
80
+ * @internal
81
+ */
82
+ select() {
83
+ this.tabIndex = 0;
84
+ this.internals.ariaSelected = "true";
85
+ this.internals.states.add("selected");
86
+ }
87
+ /**
88
+ * Deselects and configures the step label.
89
+ * @internal
90
+ */
91
+ deselect() {
92
+ this.tabIndex = -1;
93
+ this.internals.ariaSelected = "false";
94
+ this.internals.states.delete("selected");
95
+ }
96
+ /**
97
+ * Configures the step label.
98
+ * @internal
99
+ */
100
+ configure(posInSet, setSize, stepperLoaded) {
101
+ if (stepperLoaded) this._assignStep();
102
+ this.internals.ariaPosInSet = `${posInSet}`;
103
+ this.internals.ariaSetSize = `${setSize}`;
104
+ }
105
+ _assignStep() {
106
+ let nextSibling = this.nextElementSibling;
107
+ while (nextSibling && nextSibling.localName !== "sbb-step") nextSibling = nextSibling.nextElementSibling;
108
+ const value = nextSibling;
109
+ this.internals.ariaControlsElements = removeAriaElements(this.internals.ariaControlsElements, this._step);
110
+ this._step = value instanceof Element ? value : null;
111
+ this.internals.ariaControlsElements = appendAriaElements(this.internals.ariaControlsElements, this._step);
112
+ }
113
+ /**
114
+ * @internal
115
+ * Disables the step label and avoids setting the `disabled` state to preserve the initial
116
+ * disabled state in case of switching between linear and non-linear mode.
117
+ */
118
+ disable(value) {
119
+ super.disabled = value;
120
+ }
121
+ render() {
122
+ return html`
123
+ <span class="sbb-step-label__prefix">${this.renderIconSlot()}</span>
124
+ <span class="sbb-step-label__text"><slot></slot></span>
125
+ `;
126
+ }
127
+ };
128
+ //#endregion
129
+ export { SbbStepLabelElement as t };
130
+
131
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQtQko5ZWFpbnouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXk6IGNhbGMoXG4gICAgLTUwJSArIHZhcigtLXNiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pXG4gICk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICAxZW0gKiAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgLyAyKSArICh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAvIDIpIC1cbiAgICAgICh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKVxuICApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBnYXA6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWdhcCk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteC15O1xuXG4gICAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtZm9udC13ZWlnaHQtc2VsZWN0ZWQsIG5vcm1hbCk7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc3RlcC1sYWJlbC1pbnNldC1ibG9jay1zdGFydCk7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtaW5saW5lLXN0YXJ0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zbGF0ZTogLTUwJSB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoc2VsZWN0ZWQpKSB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zKTtcbiAgLS1zYmItc3RlcC1sYWJlbC1mb250LXdlaWdodC1zZWxlY3RlZDogYm9sZDtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItc3RlcC1sYWJlbC1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbiAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZTogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14eHhzKTtcbiAgLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS1tKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtcyk7XG59XG5cbjpob3N0KDpkaXNhYmxlZCkge1xuICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJvcmRlci1zdHlsZTogZGFzaGVkO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KDpob3Zlcjpub3QoOmRpc2FibGVkKSkge1xuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gICAgLS1zYmItc3RlcC1sYWJlbC10cmFuc2xhdGUteS1jb250ZW50LWhvdmVyOiAje3NiYi5weC10by1yZW0tYnVpbGQoLTEpfTtcbiAgICAtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplLWdyb3ctaG92ZXI6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG4gIH1cbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMXgpO1xufVxuXG46aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSB7XG4gIHRyYW5zaXRpb246IG1hcmdpbiB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKTpub3QoOmZpcnN0LW9mLXR5cGUpKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xufVxuXG46aG9zdCg6c3RhdGUoc2VsZWN0ZWQpOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKSkge1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC04eCk7XG59XG5cbi5zYmItc3RlcC1sYWJlbF9fcHJlZml4IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUpO1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUtZ3Jvdy1ob3ZlciwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDApfSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLWluZmluaXR5KTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1ib3JkZXItc3R5bGUpXG4gICAgICB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGVwLWxhYmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1zdGVwLWxhYmVsX190ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1pY29uKSxcbnNiYi1pY29uIHtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3RlcC1sYWJlbC10cmFuc2xhdGUteS1jb250ZW50LWhvdmVyLCAje3NiYi5weC10by1yZW0tYnVpbGQoMCl9KTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2xhdGU7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGFwcGVuZEFyaWFFbGVtZW50cywgcmVtb3ZlQXJpYUVsZW1lbnRzLCBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAvc3RlcC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLWxhYmVsLnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItc3RlcHBlcmAsIGl0IGRpc3BsYXlzIGEgc3RlcCdzIGxhYmVsLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHRvIGRpc3BsYXkgYW4gaWNvbiBpbiB0aGUgbGFiZWwgYnViYmxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcExhYmVsRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwLWxhYmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBUaGUgc3RlcCBjb250cm9sbGVkIGJ5IHRoZSBsYWJlbC4gKi9cbiAgcHVibGljIGdldCBzdGVwKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXA7XG4gIH1cbiAgcHJpdmF0ZSBfc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHN0ZXBwZXIoKTogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItc3RlcHBlcicpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHN1cGVyLmRpc2FibGVkID0gdmFsdWU7XG5cbiAgICAvLyBXZSBhZGRpdGlvbmFsbHkga2VlcCB0cmFjayBvZiB0aGUgYGRpc2FibGVkYCBzdGF0ZSB0byBwcmVzZXJ2ZSB0aGUgdXNlciBjb25maWd1cmVkIGRpc2FibGVkIHN0YXRlXG4gICAgLy8gb2Ygc3RlcCBsYWJlbHMgaW4gY2FzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiBsaW5lYXIgYW5kIG5vbi1saW5lYXIgbW9kZS5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd1c2VyLWRpc2FibGVkJywgdmFsdWUpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNPcmllbnRhdGlvbj86IHN0cmluZztcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcHBlciA9IHRoaXMuc3RlcHBlcjtcbiAgICAgIGlmIChzdGVwcGVyICYmIHRoaXMuc3RlcCAmJiB0aGlzLl9pc05vdERlYWN0aXZhdGVkQnlMaW5lYXJNb2RlKHRoaXMuc3RlcCkpIHtcbiAgICAgICAgc3RlcHBlci5zZWxlY3RlZCA9IHRoaXMuc3RlcDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLnN0ZXBwZXIsIHtcbiAgICAgICAgb3JpZW50YXRpb246IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbiA9IHMub3JpZW50YXRpb247XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTm90RGVhY3RpdmF0ZWRCeUxpbmVhck1vZGUoc3RlcDogU2JiU3RlcEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdGVwcGVyID0gdGhpcy5zdGVwcGVyO1xuICAgIGlmIChzdGVwcGVyPy5saW5lYXIgJiYgc3RlcHBlci5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHN0ZXBwZXIuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gc3RlcHBlci5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXN0ZXAtbGFiZWwtJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0ZXAtbGFiZWwnO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICdmYWxzZSc7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgIHRoaXMuX2Fzc2lnblN0ZXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwIGxhYmVsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ3RydWUnO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwIGxhYmVsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ2ZhbHNlJztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdzZWxlY3RlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNvbmZpZ3VyZShwb3NJblNldDogbnVtYmVyLCBzZXRTaXplOiBudW1iZXIsIHN0ZXBwZXJMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc3RlcHBlckxvYWRlZCkge1xuICAgICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5hcmlhUG9zSW5TZXQgPSBgJHtwb3NJblNldH1gO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZXRTaXplID0gYCR7c2V0U2l6ZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU3RlcCgpOiB2b2lkIHtcbiAgICBsZXQgbmV4dFNpYmxpbmcgPSB0aGlzLm5leHRFbGVtZW50U2libGluZztcbiAgICB3aGlsZSAobmV4dFNpYmxpbmcgJiYgbmV4dFNpYmxpbmcubG9jYWxOYW1lICE9PSAnc2JiLXN0ZXAnKSB7XG4gICAgICBuZXh0U2libGluZyA9IG5leHRTaWJsaW5nLm5leHRFbGVtZW50U2libGluZztcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IG5leHRTaWJsaW5nIGFzIFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICAgIHRoaXMuX3N0ZXAgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgPyB2YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyxcbiAgICAgIHRoaXMuX3N0ZXAsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRGlzYWJsZXMgdGhlIHN0ZXAgbGFiZWwgYW5kIGF2b2lkcyBzZXR0aW5nIHRoZSBgZGlzYWJsZWRgIHN0YXRlIHRvIHByZXNlcnZlIHRoZSBpbml0aWFsXG4gICAqIGRpc2FibGVkIHN0YXRlIGluIGNhc2Ugb2Ygc3dpdGNoaW5nIGJldHdlZW4gbGluZWFyIGFuZCBub24tbGluZWFyIG1vZGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHN1cGVyLmRpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXN0ZXAtbGFiZWxfX3ByZWZpeFwiPiR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXN0ZXAtbGFiZWxfX3RleHRcIj48c2xvdD48L3Nsb3Q+PC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwLWxhYmVsJzogU2JiU3RlcExhYmVsRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FDWUEsSUFBSSxTQUFTOzs7Ozs7O0FBUWIsSUFBYSxzQkFBYixjQUF5QyxpQkFBaUIsaUJBQWlCLHFCQUFxQixDQUFDLENBQUE7O0FBQy9ELE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsbUJBQU0sQ0FBQzs7O0NBR25GLElBQVcsT0FBSTtBQUNiLFNBQU8sS0FBSzs7Q0FJZCxJQUFXLFVBQU87QUFDaEIsU0FBTyxLQUFLLFFBQVEsY0FBYzs7Q0FHcEMsSUFBb0IsU0FBUyxPQUFjO0FBQ3pDLFFBQU0sV0FBVztBQUlqQixPQUFLLFlBQVksaUJBQWlCLE1BQU07O0NBRTFDLElBQW9CLFdBQVE7QUFDMUIsU0FBTyxNQUFNOztDQU1mLGNBQUE7QUFDRSxTQUFPO0FBckJELE9BQUEsUUFBK0I7QUF1QnJDLE9BQUssbUJBQW1CLGVBQWM7R0FDcEMsTUFBTSxVQUFVLEtBQUs7QUFDckIsT0FBSSxXQUFXLEtBQUssUUFBUSxLQUFLLDhCQUE4QixLQUFLLEtBQUssQ0FDdkUsU0FBUSxXQUFXLEtBQUs7SUFFMUI7QUFDRixPQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFNBQVM7R0FDekQsY0FBYyxNQUFLO0FBQ2pCLFFBQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLGVBQWUsS0FBSyx1QkFBdUI7QUFFMUUsU0FBSyx1QkFBdUIsRUFBRTtBQUM5QixRQUFJLEtBQUsscUJBQ1AsTUFBSyxVQUFVLE9BQU8sSUFBSSxlQUFlLEtBQUssdUJBQXVCOztHQUd6RSxPQUFPLE1BQUs7QUFDVixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLFFBQVEsS0FBSyxnQkFBZ0I7QUFFNUQsU0FBSyxnQkFBZ0IsRUFBRTtBQUN2QixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7O0dBRzVELENBQUMsQ0FDSDs7Q0FHSyw4QkFBOEIsTUFBb0I7RUFDeEQsTUFBTSxVQUFVLEtBQUs7QUFDckIsTUFBSSxTQUFTLFVBQVUsUUFBUSxrQkFBa0IsTUFBTTtHQUNyRCxNQUFNLFFBQVEsUUFBUSxNQUFNLFFBQVEsS0FBSztBQUN6QyxVQUFPLFFBQVEsUUFBUSxpQkFBaUIsVUFBVSxRQUFRLGdCQUFnQjs7QUFFNUUsU0FBTzs7Q0FHTyxvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFDekIsT0FBSyxPQUFPLGtCQUFrQjtBQUM5QixPQUFLLFNBQVM7QUFDZCxPQUFLLFVBQVUsZUFBZTtBQUM5QixPQUFLLFdBQVc7QUFDaEIsT0FBSyxhQUFhOzs7Ozs7Q0FPYixTQUFNO0FBQ1gsT0FBSyxXQUFXO0FBQ2hCLE9BQUssVUFBVSxlQUFlO0FBQzlCLE9BQUssVUFBVSxPQUFPLElBQUksV0FBVzs7Ozs7O0NBT2hDLFdBQVE7QUFDYixPQUFLLFdBQVc7QUFDaEIsT0FBSyxVQUFVLGVBQWU7QUFDOUIsT0FBSyxVQUFVLE9BQU8sT0FBTyxXQUFXOzs7Ozs7Q0FPbkMsVUFBVSxVQUFrQixTQUFpQixlQUFzQjtBQUN4RSxNQUFJLGNBQ0YsTUFBSyxhQUFhO0FBRXBCLE9BQUssVUFBVSxlQUFlLEdBQUc7QUFDakMsT0FBSyxVQUFVLGNBQWMsR0FBRzs7Q0FHMUIsY0FBVztFQUNqQixJQUFJLGNBQWMsS0FBSztBQUN2QixTQUFPLGVBQWUsWUFBWSxjQUFjLFdBQzlDLGVBQWMsWUFBWTtFQUc1QixNQUFNLFFBQVE7QUFDZCxPQUFLLFVBQVUsdUJBQXVCLG1CQUNwQyxLQUFLLFVBQVUsc0JBQ2YsS0FBSyxNQUNOO0FBQ0QsT0FBSyxRQUFRLGlCQUFpQixVQUFVLFFBQVE7QUFDaEQsT0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssTUFDTjs7Ozs7OztDQVFJLFFBQVEsT0FBYztBQUMzQixRQUFNLFdBQVc7O0NBR0EsU0FBTTtBQUN2QixTQUFPLElBQUk7NkNBQzhCLEtBQUssZ0JBQWdCLENBQUEifQ==
@@ -1,2 +1,2 @@
1
- import { t as SbbStepLabelElement } from "../../step-label.component-CJFPHIZa.js";
1
+ import { t as SbbStepLabelElement } from "../../step-label.component-BJ9eainz.js";
2
2
  export { SbbStepLabelElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbStepLabelElement } from "../step-label.component-CJFPHIZa.js";
1
+ import { t as SbbStepLabelElement } from "../step-label.component-BJ9eainz.js";
2
2
  //#region src/elements/stepper/step-label.ts
3
3
  /** @entrypoint */
4
4
  SbbStepLabelElement.define();
@@ -425,4 +425,4 @@ var SbbStepperElement = (() => {
425
425
  //#endregion
426
426
  export { SbbStepperElement as n, SbbStepChangeEvent as t };
427
427
 
428
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQ3hPQmF5STEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSB7XG4gIC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb246IGNvbHVtbjtcbn1cblxuLnNiYi1zdGVwcGVyX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci13aWR0aCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSAmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2JiLWJvcmRlci1jb2xvci00LWludmVydGVkKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcHBlcl9fc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10pICYge1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXN0ZXAtbGFiZWwpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKHN0ZXAtbGFiZWwpO1xuICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1sYWJlbDtcbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50WmVyb0FuZEFib3ZlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzL21lZGlhLW1hdGNoZXJzLWNvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQsIFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL3N0ZXAvc3RlcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwcGVyLnNjc3M/aW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgemVybzogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG4gIHNtYWxsOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIGxhcmdlOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludExhcmdlQW5kQWJvdmUsXG4gIHVsdHJhOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG59O1xuXG5leHBvcnQgY2xhc3MgU2JiU3RlcENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyByZWFkb25seSBwcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG5cbiAgLyoqIFRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAgZWxlbWVudC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsLFxuICAgIHByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICAgcHJldmlvdXNTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICkge1xuICAgIHN1cGVyKCdzdGVwY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMucHJldmlvdXNJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBzZWxlY3RlZFN0ZXA7XG4gICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHN0ZXBjaGFuZ2U6ICdzdGVwY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdGhlIHNiYi1zdGVwcGVyIGlzIHVzZWQgaW4gYSBzYmItZGlhbG9nLCB0aGUgbWFya2VyIG9uIHRoZSBzZWxlY3RlZCBlbGVtZW50IHdpbGwgbm90IGFwcGVhcixcbiAgICogYmVjYXVzZSB0aGUgY2FsY3VsYXRpb25zIGFyZSBkb25lIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQsIHNvIHRoZSBtYXJrZXIgaGFzIGEgd2lkdGggb2YgMDtcbiAgICogdGhlIHNhbWUgaGFwcGVucyBmb3IgdGhlIHN0ZXBwZXIgaGVpZ2h0LlxuICAgKiBXZSBuZWVkIHRvIHJlY2FsY3VsYXRlIGl0IHdoZW4gdGhlIGVsZW1lbnQgYmVjb21lcyB2aXNpYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGlmIChlLmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICB9KTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGxhYmVscyBjYW4gYmUgY2xpY2tlZCBhbmQgc2VsZWN0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaW5lYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Jpem9udGFsLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEZyb20odmFsdWU6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvcml6b250YWxGcm9tID0gdmFsdWUgJiYgYnJlYWtwb2ludE1hcFt2YWx1ZV0gPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCA9IHN0ZXA7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3I/LjxTYmJTdGVwRWxlbWVudD4oJ3NiYi1zdGVwOnN0YXRlKHNlbGVjdGVkKScpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWQ6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICB9XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCA/IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLnNlbGVjdGVkKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBzdGVwcyBvZiB0aGUgc3RlcHBlci4gKi9cbiAgcHVibGljIGdldCBzdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICBjb25zdCBzdGVwczogU2JiU3RlcEVsZW1lbnRbXSA9IFtdO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItc3RlcCcpLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcCk7XG4gICAgICBzdGVwcy5wdXNoKHN0ZXApO1xuICAgIH0pO1xuICAgIHJldHVybiBzdGVwcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkU3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzKSA9PiB7XG4gICAgICBpZiAocy5sYWJlbCkge1xuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHMubGFiZWwpO1xuICAgICAgICByZXR1cm4gIXMubGFiZWwuZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7fSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Jlc2l6ZWNoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25TZWxlY3RlZFN0ZXBSZXNpemUoZSkpO1xuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIG5leHQgc3RlcC4gKi9cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBwcmV2aW91cyBzdGVwLiAqL1xuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldHMgdGhlIGZvcm0gaW4gd2hpY2ggdGhlIHN0ZXBwZXIgaXMgbmVzdGVkIG9yIGV2ZXJ5IGZvcm0gb2YgZWFjaCBzdGVwLCBpZiBhbnkuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9IHRoaXMuY2xvc2VzdCgnZm9ybScpO1xuICAgIGlmIChjbG9zZXN0Rm9ybSkge1xuICAgICAgY2xvc2VzdEZvcm0ucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5yZXNldCgpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSByZXNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0L3NlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzU2VsZWN0YWJsZShzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBzdGVwIGlzIFNiYlN0ZXBFbGVtZW50IHtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIGlmIChzdGVwLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcC5sYWJlbCk7XG4gICAgICAgIGlmICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1NlbGVjdGFibGUoc3RlcCkgfHwgc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4LFxuICAgICAgY3VycmVudFN0ZXAsXG4gICAgICBuZXh0SW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc2VsZWN0ZWRJbmRleCArIDEgOiBudWxsLFxuICAgICAgbmV4dFN0ZXA6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0gOiBudWxsLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY3VycmVudD8uZGVzZWxlY3QoKTtcbiAgICBzdGVwLnNlbGVjdCgpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCBvbmx5IHRvIHByb3ZpZGUgZG91YmxlIGVudHJ5IGluIGRvY3MuIEl0IGlzIGEgcHVibGljIGV2ZW50ISAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJTdGVwQ2hhbmdlRXZlbnQodGhpcy5zZWxlY3RlZEluZGV4LCBjdXJyZW50SW5kZXgsIHRoaXMuc2VsZWN0ZWQsIGN1cnJlbnRTdGVwKSxcbiAgICApO1xuXG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNlbGVjdGVkU3RlcFJlc2l6ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoZS50YXJnZXQgYXMgU2JiU3RlcEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSwgYXJyYXkpID0+IHtcbiAgICAgIHN0ZXAuY29uZmlndXJlKHRoaXMuX2xvYWRlZCk7XG4gICAgICBzdGVwLmxhYmVsPy5jb25maWd1cmUoaSArIDEsIGFycmF5Lmxlbmd0aCwgdGhpcy5fbG9hZGVkKTtcbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKGJyZWFrcG9pbnRNYXBbdGhpcy5ob3Jpem9udGFsRnJvbV0pXG4gICAgICAgID8gJ2hvcml6b250YWwnXG4gICAgICAgIDogJ3ZlcnRpY2FsJztcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgIH1cbiAgICAvLyBUaGUgdGltZW91dCBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1hcmtlciB0YWtlcyB0aGUgY29ycmVjdCBzdGVwLWxhYmVsIHNpemUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJTaXplKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwcGVyUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXN0ZXAubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcblxuICAgICAgc3RlcC5sYWJlbC5kaXNhYmxlKFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5tYXRjaGVzKCc6c3RhdGUodXNlci1kaXNhYmxlZCknKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcblxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkICYmIHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZS1hbmltYXRpb24gc3RhdGUgYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSwgREVCT1VOQ0VfVElNRSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmllbnRhdGlvbicpICYmICF0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGluZWFyJykgJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkU3RlcHM6IFNiYlN0ZXBFbGVtZW50W10gPSB0aGlzLl9lbmFibGVkU3RlcHM7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFN0ZXBzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCEpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFN0ZXBzLmxlbmd0aCk7XG4gICAgICB0aGlzLl9zZWxlY3QoZW5hYmxlZFN0ZXBzW25leHRJbmRleF0pO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX2xhYmVsc1wiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwLWxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19zdGVwc1wiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcHBlcic6IFNiYlN0ZXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDMkJBLElBQU0sZ0JBQWdCO0FBRXRCLElBQU0sZ0JBQXdDO0NBQzVDLE1BQU07Q0FDTixPQUFPO0NBQ1AsT0FBTztDQUNQLE9BQU87Q0FDUjtBQUVELElBQWEscUJBQWIsY0FBd0MsTUFBSztDQWEzQyxZQUNFLGVBQ0EsZUFDQSxjQUNBLGNBQW1DO0FBRW5DLFFBQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQztBQUN0RCxPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGVBQWU7QUFDcEIsT0FBSyxlQUFlOzs7Ozs7Ozs7O0lBVVgsMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0lBQU0sQ0FBQyxDQUFBOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFPM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRzNCLFNBQVMsRUFBRSxXQUFXLE9BQU8sQ0FBQyxDQUFBO29DQWE5QixTQUFTO0lBQUUsV0FBVztJQUFrQixNQUFNO0lBQVEsQ0FBQyxDQUFBO0FBdkN4RCxnQkFBQSxNQUFBLE1BQUEsb0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxZQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU0sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFOLFNBQU07O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxzQkFBQSww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
428
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQ3hPQmF5STEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSB7XG4gIC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb246IGNvbHVtbjtcbn1cblxuLnNiYi1zdGVwcGVyX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci13aWR0aCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSAmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2JiLWJvcmRlci1jb2xvci00LWludmVydGVkKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcHBlcl9fc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10pICYge1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXN0ZXAtbGFiZWwpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKHN0ZXAtbGFiZWwpO1xuICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1sYWJlbDtcbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50WmVyb0FuZEFib3ZlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzL21lZGlhLW1hdGNoZXJzLWNvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQsIFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL3N0ZXAvc3RlcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwcGVyLnNjc3M/aW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgemVybzogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG4gIHNtYWxsOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIGxhcmdlOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludExhcmdlQW5kQWJvdmUsXG4gIHVsdHJhOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG59O1xuXG5leHBvcnQgY2xhc3MgU2JiU3RlcENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyByZWFkb25seSBwcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG5cbiAgLyoqIFRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAgZWxlbWVudC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsLFxuICAgIHByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICAgcHJldmlvdXNTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICkge1xuICAgIHN1cGVyKCdzdGVwY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMucHJldmlvdXNJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBzZWxlY3RlZFN0ZXA7XG4gICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHN0ZXBjaGFuZ2U6ICdzdGVwY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdGhlIHNiYi1zdGVwcGVyIGlzIHVzZWQgaW4gYSBzYmItZGlhbG9nLCB0aGUgbWFya2VyIG9uIHRoZSBzZWxlY3RlZCBlbGVtZW50IHdpbGwgbm90IGFwcGVhcixcbiAgICogYmVjYXVzZSB0aGUgY2FsY3VsYXRpb25zIGFyZSBkb25lIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQsIHNvIHRoZSBtYXJrZXIgaGFzIGEgd2lkdGggb2YgMDtcbiAgICogdGhlIHNhbWUgaGFwcGVucyBmb3IgdGhlIHN0ZXBwZXIgaGVpZ2h0LlxuICAgKiBXZSBuZWVkIHRvIHJlY2FsY3VsYXRlIGl0IHdoZW4gdGhlIGVsZW1lbnQgYmVjb21lcyB2aXNpYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGlmIChlLmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICB9KTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGxhYmVscyBjYW4gYmUgY2xpY2tlZCBhbmQgc2VsZWN0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaW5lYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Jpem9udGFsLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEZyb20odmFsdWU6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvcml6b250YWxGcm9tID0gdmFsdWUgJiYgYnJlYWtwb2ludE1hcFt2YWx1ZV0gPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCA9IHN0ZXA7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3I/LjxTYmJTdGVwRWxlbWVudD4oJ3NiYi1zdGVwOnN0YXRlKHNlbGVjdGVkKScpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWQ6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICB9XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCA/IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLnNlbGVjdGVkKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBzdGVwcyBvZiB0aGUgc3RlcHBlci4gKi9cbiAgcHVibGljIGdldCBzdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICBjb25zdCBzdGVwczogU2JiU3RlcEVsZW1lbnRbXSA9IFtdO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItc3RlcCcpLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcCk7XG4gICAgICBzdGVwcy5wdXNoKHN0ZXApO1xuICAgIH0pO1xuICAgIHJldHVybiBzdGVwcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkU3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzKSA9PiB7XG4gICAgICBpZiAocy5sYWJlbCkge1xuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHMubGFiZWwpO1xuICAgICAgICByZXR1cm4gIXMubGFiZWwuZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7fSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Jlc2l6ZWNoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25TZWxlY3RlZFN0ZXBSZXNpemUoZSkpO1xuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIG5leHQgc3RlcC4gKi9cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBwcmV2aW91cyBzdGVwLiAqL1xuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldHMgdGhlIGZvcm0gaW4gd2hpY2ggdGhlIHN0ZXBwZXIgaXMgbmVzdGVkIG9yIGV2ZXJ5IGZvcm0gb2YgZWFjaCBzdGVwLCBpZiBhbnkuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9IHRoaXMuY2xvc2VzdCgnZm9ybScpO1xuICAgIGlmIChjbG9zZXN0Rm9ybSkge1xuICAgICAgY2xvc2VzdEZvcm0ucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5yZXNldCgpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSByZXNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0L3NlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzU2VsZWN0YWJsZShzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBzdGVwIGlzIFNiYlN0ZXBFbGVtZW50IHtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIGlmIChzdGVwLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcC5sYWJlbCk7XG4gICAgICAgIGlmICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1NlbGVjdGFibGUoc3RlcCkgfHwgc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4LFxuICAgICAgY3VycmVudFN0ZXAsXG4gICAgICBuZXh0SW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc2VsZWN0ZWRJbmRleCArIDEgOiBudWxsLFxuICAgICAgbmV4dFN0ZXA6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0gOiBudWxsLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY3VycmVudD8uZGVzZWxlY3QoKTtcbiAgICBzdGVwLnNlbGVjdCgpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCBvbmx5IHRvIHByb3ZpZGUgZG91YmxlIGVudHJ5IGluIGRvY3MuIEl0IGlzIGEgcHVibGljIGV2ZW50ISAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJTdGVwQ2hhbmdlRXZlbnQodGhpcy5zZWxlY3RlZEluZGV4LCBjdXJyZW50SW5kZXgsIHRoaXMuc2VsZWN0ZWQsIGN1cnJlbnRTdGVwKSxcbiAgICApO1xuXG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNlbGVjdGVkU3RlcFJlc2l6ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoZS50YXJnZXQgYXMgU2JiU3RlcEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSwgYXJyYXkpID0+IHtcbiAgICAgIHN0ZXAuY29uZmlndXJlKHRoaXMuX2xvYWRlZCk7XG4gICAgICBzdGVwLmxhYmVsPy5jb25maWd1cmUoaSArIDEsIGFycmF5Lmxlbmd0aCwgdGhpcy5fbG9hZGVkKTtcbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKGJyZWFrcG9pbnRNYXBbdGhpcy5ob3Jpem9udGFsRnJvbV0pXG4gICAgICAgID8gJ2hvcml6b250YWwnXG4gICAgICAgIDogJ3ZlcnRpY2FsJztcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgIH1cbiAgICAvLyBUaGUgdGltZW91dCBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1hcmtlciB0YWtlcyB0aGUgY29ycmVjdCBzdGVwLWxhYmVsIHNpemUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJTaXplKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwcGVyUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXN0ZXAubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcblxuICAgICAgc3RlcC5sYWJlbC5kaXNhYmxlKFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5tYXRjaGVzKCc6c3RhdGUodXNlci1kaXNhYmxlZCknKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcblxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkICYmIHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZS1hbmltYXRpb24gc3RhdGUgYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSwgREVCT1VOQ0VfVElNRSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmllbnRhdGlvbicpICYmICF0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGluZWFyJykgJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkU3RlcHM6IFNiYlN0ZXBFbGVtZW50W10gPSB0aGlzLl9lbmFibGVkU3RlcHM7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFN0ZXBzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCEpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFN0ZXBzLmxlbmd0aCk7XG4gICAgICB0aGlzLl9zZWxlY3QoZW5hYmxlZFN0ZXBzW25leHRJbmRleF0pO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX2xhYmVsc1wiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwLWxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19zdGVwc1wiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcHBlcic6IFNiYlN0ZXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDMkJBLElBQU0sZ0JBQWdCO0FBRXRCLElBQU0sZ0JBQXdDO0NBQzVDLE1BQU07Q0FDTixPQUFPO0NBQ1AsT0FBTztDQUNQLE9BQU87Q0FDUjtBQUVELElBQWEscUJBQWIsY0FBd0MsTUFBSztDQWEzQyxZQUNFLGVBQ0EsZUFDQSxjQUNBLGNBQW1DO0FBRW5DLFFBQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQztBQUN0RCxPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGVBQWU7QUFDcEIsT0FBSyxlQUFlOzs7Ozs7Ozs7O0lBVVgsMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0lBQU0sQ0FBQyxDQUFBOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFPM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRzNCLFNBQVMsRUFBRSxXQUFXLE9BQU8sQ0FBQyxDQUFBO29DQWE5QixTQUFTO0lBQUUsV0FBVztJQUFrQixNQUFNO0lBQVEsQ0FBQyxDQUFBO0FBdkN4RCxnQkFBQSxNQUFBLE1BQUEsb0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxZQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU0sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFOLFNBQU07O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxzQkFBQSww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
@@ -1,4 +1,4 @@
1
- import { t as SbbStepLabelElement } from "./step-label.component-CJFPHIZa.js";
1
+ import { t as SbbStepLabelElement } from "./step-label.component-BJ9eainz.js";
2
2
  import { t as SbbStepElement } from "./step.component-B-n26urC.js";
3
3
  import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-CxOBayI1.js";
4
4
  import "./stepper.pure.js";
@@ -1,4 +1,4 @@
1
- import { t as SbbStepLabelElement } from "./step-label.component-CJFPHIZa.js";
1
+ import { t as SbbStepLabelElement } from "./step-label.component-BJ9eainz.js";
2
2
  import { t as SbbStepElement } from "./step.component-B-n26urC.js";
3
3
  import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-CxOBayI1.js";
4
4
  export { SbbStepChangeEvent, SbbStepElement, SbbStepLabelElement, SbbStepperElement };
@@ -203,4 +203,4 @@ var SbbStickyBarElement = (() => {
203
203
  //#endregion
204
204
  export { SbbStickyBarElement as t };
205
205
 
206
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQtRHpyZHNueHUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9zdGlja3ktYmFyL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29udGFpbmVyL3N0aWNreS1iYXIvc3RpY2t5LWJhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nOiAxcHg7XG5cbi8vIGA6c3RhdGUoc3RpY2tpbmcpYCB2LnMuIGA6c3RhdGUoc3RhdGUtc3RpY2t5KWA6XG4vLyBXaGlsZSBgOnN0YXRlKHN0aWNraW5nKWAgaXMgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHN0aWNreSBiYXIgaXMgY3VycmVudGx5IHN0aWNraW5nIChkdWUgc2Nyb2xsaW5nKSxcbi8vIHRoZSBgOnN0YXRlKHN0YXRlLXh5KWAgaG9sZHMgaW5mb3JtYXRpb24gd2hldGhlciB0aGUgYHBvc2l0aW9uOiBzdGlja3lgIGlzIGFwcGxpZWQgb3Igbm90XG4vLyBidXQgbm90IGNvbnNpZGVyaW5nIHRoZSByZWFsIHN0aWNraW5nIHN0YXRlLlxuXG46aG9zdCB7XG4gIC0tc2JiLXN0aWNreS1iYXItZmFkZS1pbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTV4KVxuICApO1xuICAtLXNiYi1zdGlja3ktYmFyLWZhZGUtb3V0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG4gIC0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLXN0aWNreS1iYXItZmFkZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uXG4gICk7XG5cbiAgLy8gRGlzcGxheSBjb250ZW50cyBuZWVkZWQgdG8gZ2V0IHRoZSBzdGlja3kgYmFyIHN0aWNreS5cbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAtLXNiYi1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1pbnRlcnNlY3Rvci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItc3RpY2t5LWJhci1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tX3NiYi1zdGlja3ktYmFyLWZvcmNlZC1jb2xvcnMtYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpW2NvbG9yPSd3aGl0ZSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlkbmlnaHQnXSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXN0aWNreS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xLW5lZ2F0aXZlKTtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSlbY29sb3I9J2NoYXJjb2FsJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMi1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgOnN0YXRlKHN0aWNraW5nKTppcyg6c3RhdGUoc2xpZGUtdmVydGljYWxseSksIDpzdGF0ZShzdGF0ZS1zdGlja2luZyksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXVuc3RpY2t5KVxuICApXG4pIHtcbiAgLS1fc2JiLXN0aWNreS1iYXItYmFja2dyb3VuZC1hbmltYXRpb24tZHVyYXRpb246IDBzO1xufVxuXG46aG9zdChcbiAgOnN0YXRlKHN0aWNraW5nKTppcyhcbiAgICA6c3RhdGUoc2xpZGUtdmVydGljYWxseSk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXN0aWNraW5nKVxuICApXG4pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lOiBzbGlkZS1pbjtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLW5hbWU6IHNsaWRlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2JiLXN0aWNreS1iYXJfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb24pO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiB2YXIoLS1zYmItc3RpY2t5LWJhci16LWluZGV4KTtcblxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lLCB1bnNldCk7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgZGVsYXk6IDBzO1xuXG4gICAgLy8gRmlsbCBtb2RlIG5lZWRlZCB0byBlbmFibGUgZGVsYXlcbiAgICBmaWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgfVxuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGluc2V0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBiYWNrZ3JvdW5kIGNvbG9yIChjb3B5aW5nIGNvbnRhaW5lcilcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgLy8gTmVlZGVkIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGVudCBhbmQgRmlyZWZveFxuICAgIC8vIGhhcyB0cm91YmxlcyBkaXNwbGF5aW5nIGNvcnJlY3QgcGFkZGluZyB3aGVuIHRoZXJlIGlzIG5vIGNvbnRlbnQuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yIGFuZCBib3JkZXIgcmFkaXVzIHdoZW4gc3RpY2t5XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItc3RpY2t5LWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRGlzcGxheSBhIGJvcmRlciBvbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG4gICAgYm9yZGVyOiB2YXIoLS1fc2JiLXN0aWNreS1iYXItZm9yY2VkLWNvbG9ycy1ib3JkZXIsIG5vbmUpO1xuICB9XG59XG5cbi5zYmItc3RpY2t5LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2spO1xuXG4gIC8vIFRvIHB1c2ggdGhlIC5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3IgdXAgd2l0aG91dCB1c2luZyBhYnNvbHV0ZSBwb3NpdGlvbiB3ZSBuZWVkIGEgbmVnYXRpdmUgYmxvY2sgbWFyZ2luLlxuICBtYXJnaW4tYmxvY2stZW5kOiAtJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nO1xuXG4gIC8vIFNoYWRvdyB3aXRoIGJvcmRlciByYWRpdXMgYW5kIGNsaXBwZWQgc2hhZG93IGF0IHRoZSBib3R0b21cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLXN0aWNreS1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgICAgdmFyKC0tc2JiLXN0aWNreS1iYXItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgLTEwMCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgMTAwJSxcbiAgICAgIC0xMDAlIDEwMCVcbiAgICApO1xuXG4gICAgOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSkpICYge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtMTEtc29mdCk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLnBhZ2Utc3BhY2luZztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShleHBhbmRlZCkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmctZXhwYW5kZWQ7XG4gIH1cbn1cblxuLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvciB7XG4gIC8vIEluIG9yZGVyIHRvIG1ha2UgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciB3b3JrIHByb3Blcmx5IG9uIHdpbmRvd3MgdGhlIGludGVyc2VjdG9yIG5lZWRzIHRvIGhhdmUgYSBkZWZpbmVkIGhlaWdodFxuICBoZWlnaHQ6ICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZztcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0LCAwKSArICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tX3NiYi1zdGlja3ktYmFyLWludGVyc2VjdG9yLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0aWNreS1iYXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVzdGljazogJ2JlZm9yZXN0aWNrJyxcbiAgICBzdGljazogJ3N0aWNrJyxcbiAgICBiZWZvcmV1bnN0aWNrOiAnYmVmb3JldW5zdGljaycsXG4gICAgdW5zdGljazogJ3Vuc3RpY2snLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBDb2xvciBvZiB0aGUgY29udGFpbmVyLCBsaWtlIHRyYW5zcGFyZW50LCB3aGl0ZSBldGMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGNvbG9yOlxuICAgIHwgJ3doaXRlJ1xuICAgIHwgJ21pbGsnXG4gICAgfCAnbWlkbmlnaHQnXG4gICAgfCAnY2hhcmNvYWwnXG4gICAgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU3RpY2t5U3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU3RpY2t5U3RhdGU7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuXG4gICAgLy8gU3RpY2t5IGJhciBuZWVkcyB0byBiZSBoaWRkZW4gdW50aWwgZmlyc3Qgb2JzZXJ2ZXIgY2FsbGJhY2tcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1jb250YWluZXInKTtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdleHBhbmRlZCcsIGNvbnRhaW5lci5leHBhbmRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX2ludGVyc2VjdG9yID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0aWNreS1iYXJfX2ludGVyc2VjdG9yJykhO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdFN0aWNreVN0YXRlKGVudHJ5OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcblxuICAgIGNvbnN0IGlzU3RpY2t5ID0gIWVudHJ5LmlzSW50ZXJzZWN0aW5nICYmIGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgPiAwO1xuXG4gICAgLy8gVG8gb3B0aW1pemUgdGhlIHZpc3VhbCBwZXJjZXB0aW9uIG9mIHRoZSBzdGlja3kgYmFyLCB3ZSBoYXZlIGNlcnRhaW4gY2FzZXMgKGUuZy4gb24gcGFnZSBsb2FkKVxuICAgIC8vIHdoZXJlIHdlIHdhbnQgdGhlIHN0aWNreSBiYXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tLlxuICAgIC8vIFRvIGRlY2lkZSB3aGV0aGVyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbSB1cCxcbiAgICAvLyB3ZSBjaGVjayBob3cgZmFyIGF3YXkgdGhlIHN0aWNreSBiYXIgaXMgZnJvbSB0aGUgaW50ZXJzZWN0b3IgZWxlbWVudC4gV2hlbiBzY3JvbGxpbmcgZmFzdCwgdGhlXG4gICAgLy8gZGlmZmVyZW5jZSBjYW4gdmFyeSBzbGlnaHRseS4gVG8gYWNjb3VudCBmb3IgdGhpcyB3ZSBhZGQgYSBoZWlnaHQgdG9sZXJhbmNlLlxuICAgIC8vIFRoaXMgdmFsdWUgd2FzIGZvdW5kIGJ5IHRyaWFsIGFuZCBlcnJvci5cbiAgICBjb25zdCBpbnRlcnNlY3RvclJlY3QgPSB0aGlzLl9pbnRlcnNlY3Rvcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3RpY2t5QmFyUmVjdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLXN0aWNreS1iYXJfX3dyYXBwZXInLFxuICAgICkhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IEhFSUdIVF9UT0xFUkFOQ0UgPSAzMDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnc2xpZGUtdmVydGljYWxseScsXG4gICAgICBpc1N0aWNreSAmJlxuICAgICAgICB0aGlzLl9pbnRlcnNlY3RvciAmJlxuICAgICAgICBNYXRoLmFicyhpbnRlcnNlY3RvclJlY3QhLmJvdHRvbSAtIHN0aWNreUJhclJlY3QuYm90dG9tKSA+IEhFSUdIVF9UT0xFUkFOQ0UsXG4gICAgKTtcblxuICAgIC8vIFRvZ2dsaW5nIHN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBzbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl9kaXNwYXRjaEJlZm9yZVN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNraW5nJztcbiAgICBpZiAoIXRoaXMuaW50ZXJuYWxzLnN0YXRlcy5oYXMoJ3N0aWNraW5nJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogQW5pbWF0ZXMgYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24uICovXG4gIHB1YmxpYyB1bnN0aWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3N0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNraW5nJztcblxuICAgIGlmICghdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcygnc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3RpY2t5Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3N0aWNrJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd1bnN0aWNrJykpO1xuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2t5JztcbiAgfVxuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNraW5nJyB8fCB0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNreScpICYmXG4gICAgICBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtaW4nXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3RhdGUgPT09ICd1bnN0aWNraW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtb3V0Jykge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZXN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JldW5zdGljaycsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM4QmEsNkJBQW1CO21CQUFTLHdCQUF3QixXQUFXOzs7Ozs7O2NBQS9ELDRCQUE0QixZQUFtQzs7O3dCQVl6RSxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFYQyxnQkFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtBQVdyQixnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFB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
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQtRHpyZHNueHUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9zdGlja3ktYmFyL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29udGFpbmVyL3N0aWNreS1iYXIvc3RpY2t5LWJhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nOiAxcHg7XG5cbi8vIGA6c3RhdGUoc3RpY2tpbmcpYCB2LnMuIGA6c3RhdGUoc3RhdGUtc3RpY2t5KWA6XG4vLyBXaGlsZSBgOnN0YXRlKHN0aWNraW5nKWAgaXMgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHN0aWNreSBiYXIgaXMgY3VycmVudGx5IHN0aWNraW5nIChkdWUgc2Nyb2xsaW5nKSxcbi8vIHRoZSBgOnN0YXRlKHN0YXRlLXh5KWAgaG9sZHMgaW5mb3JtYXRpb24gd2hldGhlciB0aGUgYHBvc2l0aW9uOiBzdGlja3lgIGlzIGFwcGxpZWQgb3Igbm90XG4vLyBidXQgbm90IGNvbnNpZGVyaW5nIHRoZSByZWFsIHN0aWNraW5nIHN0YXRlLlxuXG46aG9zdCB7XG4gIC0tc2JiLXN0aWNreS1iYXItZmFkZS1pbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTV4KVxuICApO1xuICAtLXNiYi1zdGlja3ktYmFyLWZhZGUtb3V0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG4gIC0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLXN0aWNreS1iYXItZmFkZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uXG4gICk7XG5cbiAgLy8gRGlzcGxheSBjb250ZW50cyBuZWVkZWQgdG8gZ2V0IHRoZSBzdGlja3kgYmFyIHN0aWNreS5cbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAtLXNiYi1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1pbnRlcnNlY3Rvci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItc3RpY2t5LWJhci1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tX3NiYi1zdGlja3ktYmFyLWZvcmNlZC1jb2xvcnMtYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpW2NvbG9yPSd3aGl0ZSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlkbmlnaHQnXSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXN0aWNreS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xLW5lZ2F0aXZlKTtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSlbY29sb3I9J2NoYXJjb2FsJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMi1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgOnN0YXRlKHN0aWNraW5nKTppcyg6c3RhdGUoc2xpZGUtdmVydGljYWxseSksIDpzdGF0ZShzdGF0ZS1zdGlja2luZyksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXVuc3RpY2t5KVxuICApXG4pIHtcbiAgLS1fc2JiLXN0aWNreS1iYXItYmFja2dyb3VuZC1hbmltYXRpb24tZHVyYXRpb246IDBzO1xufVxuXG46aG9zdChcbiAgOnN0YXRlKHN0aWNraW5nKTppcyhcbiAgICA6c3RhdGUoc2xpZGUtdmVydGljYWxseSk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXN0aWNraW5nKVxuICApXG4pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lOiBzbGlkZS1pbjtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLW5hbWU6IHNsaWRlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2JiLXN0aWNreS1iYXJfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb24pO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiB2YXIoLS1zYmItc3RpY2t5LWJhci16LWluZGV4KTtcblxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lLCB1bnNldCk7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgZGVsYXk6IDBzO1xuXG4gICAgLy8gRmlsbCBtb2RlIG5lZWRlZCB0byBlbmFibGUgZGVsYXlcbiAgICBmaWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgfVxuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGluc2V0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBiYWNrZ3JvdW5kIGNvbG9yIChjb3B5aW5nIGNvbnRhaW5lcilcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgLy8gTmVlZGVkIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGVudCBhbmQgRmlyZWZveFxuICAgIC8vIGhhcyB0cm91YmxlcyBkaXNwbGF5aW5nIGNvcnJlY3QgcGFkZGluZyB3aGVuIHRoZXJlIGlzIG5vIGNvbnRlbnQuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yIGFuZCBib3JkZXIgcmFkaXVzIHdoZW4gc3RpY2t5XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItc3RpY2t5LWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRGlzcGxheSBhIGJvcmRlciBvbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG4gICAgYm9yZGVyOiB2YXIoLS1fc2JiLXN0aWNreS1iYXItZm9yY2VkLWNvbG9ycy1ib3JkZXIsIG5vbmUpO1xuICB9XG59XG5cbi5zYmItc3RpY2t5LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2spO1xuXG4gIC8vIFRvIHB1c2ggdGhlIC5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3IgdXAgd2l0aG91dCB1c2luZyBhYnNvbHV0ZSBwb3NpdGlvbiB3ZSBuZWVkIGEgbmVnYXRpdmUgYmxvY2sgbWFyZ2luLlxuICBtYXJnaW4tYmxvY2stZW5kOiAtJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nO1xuXG4gIC8vIFNoYWRvdyB3aXRoIGJvcmRlciByYWRpdXMgYW5kIGNsaXBwZWQgc2hhZG93IGF0IHRoZSBib3R0b21cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLXN0aWNreS1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgICAgdmFyKC0tc2JiLXN0aWNreS1iYXItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgLTEwMCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgMTAwJSxcbiAgICAgIC0xMDAlIDEwMCVcbiAgICApO1xuXG4gICAgOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSkpICYge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtMTEtc29mdCk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLnBhZ2Utc3BhY2luZztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShleHBhbmRlZCkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmctZXhwYW5kZWQ7XG4gIH1cbn1cblxuLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvciB7XG4gIC8vIEluIG9yZGVyIHRvIG1ha2UgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciB3b3JrIHByb3Blcmx5IG9uIHdpbmRvd3MgdGhlIGludGVyc2VjdG9yIG5lZWRzIHRvIGhhdmUgYSBkZWZpbmVkIGhlaWdodFxuICBoZWlnaHQ6ICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZztcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0LCAwKSArICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tX3NiYi1zdGlja3ktYmFyLWludGVyc2VjdG9yLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0aWNreS1iYXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVzdGljazogJ2JlZm9yZXN0aWNrJyxcbiAgICBzdGljazogJ3N0aWNrJyxcbiAgICBiZWZvcmV1bnN0aWNrOiAnYmVmb3JldW5zdGljaycsXG4gICAgdW5zdGljazogJ3Vuc3RpY2snLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBDb2xvciBvZiB0aGUgY29udGFpbmVyLCBsaWtlIHRyYW5zcGFyZW50LCB3aGl0ZSBldGMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGNvbG9yOlxuICAgIHwgJ3doaXRlJ1xuICAgIHwgJ21pbGsnXG4gICAgfCAnbWlkbmlnaHQnXG4gICAgfCAnY2hhcmNvYWwnXG4gICAgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU3RpY2t5U3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU3RpY2t5U3RhdGU7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuXG4gICAgLy8gU3RpY2t5IGJhciBuZWVkcyB0byBiZSBoaWRkZW4gdW50aWwgZmlyc3Qgb2JzZXJ2ZXIgY2FsbGJhY2tcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1jb250YWluZXInKTtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdleHBhbmRlZCcsIGNvbnRhaW5lci5leHBhbmRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX2ludGVyc2VjdG9yID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0aWNreS1iYXJfX2ludGVyc2VjdG9yJykhO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdFN0aWNreVN0YXRlKGVudHJ5OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcblxuICAgIGNvbnN0IGlzU3RpY2t5ID0gIWVudHJ5LmlzSW50ZXJzZWN0aW5nICYmIGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgPiAwO1xuXG4gICAgLy8gVG8gb3B0aW1pemUgdGhlIHZpc3VhbCBwZXJjZXB0aW9uIG9mIHRoZSBzdGlja3kgYmFyLCB3ZSBoYXZlIGNlcnRhaW4gY2FzZXMgKGUuZy4gb24gcGFnZSBsb2FkKVxuICAgIC8vIHdoZXJlIHdlIHdhbnQgdGhlIHN0aWNreSBiYXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tLlxuICAgIC8vIFRvIGRlY2lkZSB3aGV0aGVyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbSB1cCxcbiAgICAvLyB3ZSBjaGVjayBob3cgZmFyIGF3YXkgdGhlIHN0aWNreSBiYXIgaXMgZnJvbSB0aGUgaW50ZXJzZWN0b3IgZWxlbWVudC4gV2hlbiBzY3JvbGxpbmcgZmFzdCwgdGhlXG4gICAgLy8gZGlmZmVyZW5jZSBjYW4gdmFyeSBzbGlnaHRseS4gVG8gYWNjb3VudCBmb3IgdGhpcyB3ZSBhZGQgYSBoZWlnaHQgdG9sZXJhbmNlLlxuICAgIC8vIFRoaXMgdmFsdWUgd2FzIGZvdW5kIGJ5IHRyaWFsIGFuZCBlcnJvci5cbiAgICBjb25zdCBpbnRlcnNlY3RvclJlY3QgPSB0aGlzLl9pbnRlcnNlY3Rvcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3RpY2t5QmFyUmVjdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLXN0aWNreS1iYXJfX3dyYXBwZXInLFxuICAgICkhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IEhFSUdIVF9UT0xFUkFOQ0UgPSAzMDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnc2xpZGUtdmVydGljYWxseScsXG4gICAgICBpc1N0aWNreSAmJlxuICAgICAgICB0aGlzLl9pbnRlcnNlY3RvciAmJlxuICAgICAgICBNYXRoLmFicyhpbnRlcnNlY3RvclJlY3QhLmJvdHRvbSAtIHN0aWNreUJhclJlY3QuYm90dG9tKSA+IEhFSUdIVF9UT0xFUkFOQ0UsXG4gICAgKTtcblxuICAgIC8vIFRvZ2dsaW5nIHN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBzbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl9kaXNwYXRjaEJlZm9yZVN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNraW5nJztcbiAgICBpZiAoIXRoaXMuaW50ZXJuYWxzLnN0YXRlcy5oYXMoJ3N0aWNraW5nJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogQW5pbWF0ZXMgYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24uICovXG4gIHB1YmxpYyB1bnN0aWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3N0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNraW5nJztcblxuICAgIGlmICghdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcygnc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3RpY2t5Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3N0aWNrJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd1bnN0aWNrJykpO1xuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2t5JztcbiAgfVxuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNraW5nJyB8fCB0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNreScpICYmXG4gICAgICBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtaW4nXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3RhdGUgPT09ICd1bnN0aWNraW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtb3V0Jykge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZXN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JldW5zdGljaycsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM4QmEsNkJBQW1CO21CQUFTLHdCQUF3QixXQUFXOzs7Ozs7O2NBQS9ELDRCQUE0QixZQUFtQzs7O3dCQVl6RSxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFYQyxnQkFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtBQVdyQixnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFB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
@@ -6,4 +6,4 @@ var boxSizingStyles = unsafeCSS("*,\n::before,\n::after {\n box-sizing: border-
6
6
  //#endregion
7
7
  export { boxSizingStyles as t };
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLUQ4LXEtaXJ2LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9ib3gtc2l6aW5nLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgYm94U2l6aW5nU3R5bGVzU3RyaW5nIGZyb20gJy4vYm94LXNpemluZy5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBjb25zdCBib3hTaXppbmdTdHlsZXMgPSB1bnNhZmVDU1MoYm94U2l6aW5nU3R5bGVzU3RyaW5nKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQ0tBLElBQWEsa0JBQWtCLG1FQUFnQyJ9
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLUQ4LXEtaXJ2LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9ib3gtc2l6aW5nLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgYm94U2l6aW5nU3R5bGVzU3RyaW5nIGZyb20gJy4vYm94LXNpemluZy5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBjb25zdCBib3hTaXppbmdTdHlsZXMgPSB1bnNhZmVDU1MoYm94U2l6aW5nU3R5bGVzU3RyaW5nKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQ0tBLElBQWEsa0JBQWtCLFVBQVUseURBQXNCIn0=
@@ -0,0 +1,14 @@
1
+ import { unsafeCSS } from "lit";
2
+ //#region src/elements/tabs/common/tab-group-common.scss?inline
3
+ var tab_group_common_default = ":host {\n display: flex;\n flex-direction: column;\n}\n\n:host(:not([size])) {\n --sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-default);\n}\n\n:host([size=s]) {\n --sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-s);\n}\n\n:host([size=l]) {\n --sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-l);\n}\n\n:host([size=xl]) {\n --sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-xl);\n}\n\n.sbb-tab-group,\n.sbb-tab-nav-bar {\n display: flex;\n flex-wrap: wrap;\n}";
4
+ //#endregion
5
+ //#region src/elements/tabs/common/tab-label-common.scss?inline
6
+ var tab_label_common_default = ":host {\n --sbb-tab-label-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --sbb-tab-label-outline-border-radius-internal: calc(\n var(--sbb-tab-label-outline-border-radius) - var(--sbb-focus-outline-offset)\n );\n}\n\n:host(:is(:is(:state(size-s),[state--size-s]), [size=s])) {\n --sbb-tab-label-height: var(--sbb-size-element-xs);\n --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);\n --sbb-tab-label-font-size: var(--sbb-text-font-size-s);\n}\n\n:host(:is(:is(:state(size-l),[state--size-l]), [size=l])) {\n --sbb-tab-label-height: var(--sbb-size-element-m);\n --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);\n --sbb-tab-label-font-size: var(--sbb-text-font-size-m);\n}\n\n:host(:is(:is(:state(size-xl),[state--size-xl]), [size=xl])) {\n --sbb-tab-label-height: var(--sbb-size-element-m);\n --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);\n --sbb-tab-label-font-size: var(--sbb-text-font-size-xl);\n}\n\n:host(sbb-tab-label),\n:host(sbb-tab-nav-bar) ::slotted(a) {\n pointer-events: var(--sbb-tab-label-pointer-events, unset);\n}\n@media (forced-colors: active) {\n :host(sbb-tab-label),\n :host(sbb-tab-nav-bar) ::slotted(a) {\n --sbb-tab-label-color: ButtonText;\n --sbb-tab-label-amount-color: ButtonText;\n }\n}\n\n:host(sbb-tab-nav-bar) ::slotted(a),\n:host(sbb-tab-label) .sbb-tab-label {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--sbb-tab-label-gap);\n color: var(--sbb-tab-label-color);\n margin: 0;\n padding-inline: var(--sbb-tab-label-inline-padding);\n min-height: var(--sbb-tab-label-height);\n transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);\n font-size: var(--sbb-tab-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n font-weight: var(--sbb-tab-label-font-weight);\n text-decoration: var(--sbb-tab-label-text-decoration);\n}\n:host(sbb-tab-nav-bar) ::slotted(a)::after,\n:host(sbb-tab-label) .sbb-tab-label::after {\n position: absolute;\n content: \"\";\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--sbb-tab-label-marker-thickness);\n background-color: var(--sbb-tab-label-color);\n scale: var(--sbb-tab-label-marker-scale, 0);\n transition-duration: var(--sbb-tab-label-animation-duration);\n transition-timing-function: var(--sbb-tab-label-animation-easing);\n transition-property: scale, background-color;\n}\n\n:host(sbb-tab-nav-bar) .sbb-tab-nav-bar > [data-has-divider],\n:host(sbb-tab-label:is(:state(has-divider),[state--has-divider])) {\n position: relative;\n}\n:host(sbb-tab-nav-bar) .sbb-tab-nav-bar > [data-has-divider]::before,\n:host(sbb-tab-label:is(:state(has-divider),[state--has-divider]))::before {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-block-end: 0;\n width: var(--sbb-tab-group-width);\n height: var(--sbb-border-width-1x);\n background-color: var(--sbb-tab-label-line-color);\n}\n\n:host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),\n:host(sbb-tab-label[disabled]) {\n --sbb-tab-label-cursor: unset;\n --sbb-tab-label-pointer-events: none;\n --sbb-tab-label-text-decoration: line-through;\n}\n@media (forced-colors: active) {\n :host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),\n :host(sbb-tab-label[disabled]) {\n --sbb-tab-label-color: GrayText;\n --sbb-tab-label-amount-color: GrayText;\n }\n}\n\n:host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),\n:host(sbb-tab-label[active]:not([disabled])) {\n --sbb-tab-label-color: var(--sbb-color-3);\n --sbb-tab-label-cursor: unset;\n --sbb-tab-label-pointer-events: none;\n --sbb-tab-label-marker-scale: 1;\n}\n@media (forced-colors: active) {\n :host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),\n :host(sbb-tab-label[active]:not([disabled])) {\n --sbb-tab-label-color: ButtonText;\n --sbb-tab-label-amount-color: ButtonText;\n }\n}\n\n@media (any-hover: hover) {\n :host(sbb-tab-nav-bar) ::slotted(a:hover:not(.sbb-disabled)),\n :host(sbb-tab-label:hover:not([disabled])) {\n --sbb-tab-label-marker-scale: 1;\n }\n}\n\n:host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),\n:host(sbb-tab-label:active) {\n --sbb-tab-label-color: var(--sbb-color-3);\n}\n@media (forced-colors: active) {\n :host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),\n :host(sbb-tab-label:active) {\n --sbb-tab-label-color: ButtonText;\n --sbb-tab-label-amount-color: ButtonText;\n }\n}\n\n:host(sbb-tab-nav-bar) ::slotted(a:focus-visible),\n:host(sbb-tab-label:focus-visible) .sbb-tab-label {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-tab-label-outline-border-radius-internal);\n}";
7
+ //#endregion
8
+ //#region src/elements/tabs/common/styles.ts
9
+ var tabGroupCommonStyles = unsafeCSS(tab_group_common_default);
10
+ var tabLabelCommonStyles = unsafeCSS(tab_label_common_default);
11
+ //#endregion
12
+ export { tabLabelCommonStyles as n, tabGroupCommonStyles as t };
13
+
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLUpsaG9ldjFTLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJzL2NvbW1vbi90YWItZ3JvdXAtY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvY29tbW9uL3RhYi1sYWJlbC1jb21tb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy9jb21tb24vc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuOmhvc3QoOm5vdChbc2l6ZV0pKSB7XG4gIC0tc2JiLXRhYi1ncm91cC1jb250ZW50LWdhcDogdmFyKC0tc2JiLXRhYi1ncm91cC1jb250ZW50LWdhcC1kZWZhdWx0KTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXA6IHZhcigtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXAtc2l6ZS1zKTtcbn1cblxuOmhvc3QoW3NpemU9J2wnXSkge1xuICAtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXA6IHZhcigtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXAtc2l6ZS1sKTtcbn1cblxuOmhvc3QoW3NpemU9J3hsJ10pIHtcbiAgLS1zYmItdGFiLWdyb3VwLWNvbnRlbnQtZ2FwOiB2YXIoLS1zYmItdGFiLWdyb3VwLWNvbnRlbnQtZ2FwLXNpemUteGwpO1xufVxuXG4uc2JiLXRhYi1ncm91cCxcbi5zYmItdGFiLW5hdi1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4iLCJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG5AbWl4aW4gdGFiLWxhYmVsLWFtb3VudCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLXNiYi10YWItbGFiZWwtYW1vdW50LWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1zYmItdGFiLWxhYmVsLXRleHQtZGVjb3JhdGlvbik7XG59XG5cbjpob3N0IHtcbiAgLS1zYmItdGFiLWxhYmVsLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG5cbiAgLy8gVGhlIGRlc2lyZWQgYm9yZGVyIHJhZGl1cyBpcyAtLXNiYi1ib3JkZXItcmFkaXVzLTJ4LlxuICAvLyBXZSBoYXZlIHRvIHN1YnRyYWN0IC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0IGluIG9yZGVyIGhhdmUgdGhlIGRlc2lyZWQgdmlzdWFsIGJvcmRlciByYWRpdXMuXG4gIC0tc2JiLXRhYi1sYWJlbC1vdXRsaW5lLWJvcmRlci1yYWRpdXMtaW50ZXJuYWw6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXRhYi1sYWJlbC1vdXRsaW5lLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0KVxuICApO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHNpemUtcyksIFtzaXplPSdzJ10pKSB7XG4gIC0tc2JiLXRhYi1sYWJlbC1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xuICAtLXNiYi10YWItbGFiZWwtaW5saW5lLXBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLXRhYi1sYWJlbC1mb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS1zKTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzaXplLWwpLCBbc2l6ZT0nbCddKSkge1xuICAtLXNiYi10YWItbGFiZWwtaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LW0pO1xuICAtLXNiYi10YWItbGFiZWwtaW5saW5lLXBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICAtLXNiYi10YWItbGFiZWwtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc2l6ZS14bCksIFtzaXplPSd4bCddKSkge1xuICAtLXNiYi10YWItbGFiZWwtaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LW0pO1xuICAtLXNiYi10YWItbGFiZWwtaW5saW5lLXBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICAtLXNiYi10YWItbGFiZWwtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteGwpO1xufVxuXG46aG9zdChzYmItdGFiLWxhYmVsKSxcbjpob3N0KHNiYi10YWItbmF2LWJhcikgOjpzbG90dGVkKGEpIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10YWItbGFiZWwtcG9pbnRlci1ldmVudHMsIHVuc2V0KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdGFiLWxhYmVsLWNvbG9yOiBCdXR0b25UZXh0O1xuICAgIC0tc2JiLXRhYi1sYWJlbC1hbW91bnQtY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cblxuOmhvc3Qoc2JiLXRhYi1uYXYtYmFyKSA6OnNsb3R0ZWQoYSksXG46aG9zdChzYmItdGFiLWxhYmVsKSAuc2JiLXRhYi1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdGFiLWxhYmVsLWdhcCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItdGFiLWxhYmVsLWNvbG9yKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRhYi1sYWJlbC1pbmxpbmUtcGFkZGluZyk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi10YWItbGFiZWwtaGVpZ2h0KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tc2JiLXRhYi1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi10YWItbGFiZWwtYW5pbWF0aW9uLWVhc2luZyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRhYi1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXNiYi10YWItbGFiZWwtZm9udC13ZWlnaHQpO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLXNiYi10YWItbGFiZWwtdGV4dC1kZWNvcmF0aW9uKTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGluc2V0LWlubGluZTogMDtcbiAgICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItdGFiLWxhYmVsLW1hcmtlci10aGlja25lc3MpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10YWItbGFiZWwtY29sb3IpO1xuICAgIHNjYWxlOiB2YXIoLS1zYmItdGFiLWxhYmVsLW1hcmtlci1zY2FsZSwgMCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi10YWItbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXRhYi1sYWJlbC1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBzY2FsZSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGlzcGxheXMgYSBib3JkZXIgYmVsb3cgdGhlIHRhYi1ncm91cCBhbmQgYmV0d2VlbiBmbGV4IHJvd3Mgd2hlbiB0aGUgdGFiIHRpdGxlcyB3cmFwIHRvIGEgbmV3IGxpbmVcbi8vIFdlIHBsYWNlIHRoZSBsaW5lIG9uIGFub3RoZXIgZWxlbWVudCB0aGFuIHRoZSBvbmUgd2hpY2ggd291bGQgcmVjZWl2ZSB0aGUgZm9jdXMgb3V0bGluZVxuLy8gdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGZvY3VzIG91dGxpbmUgaXMgYWx3YXlzIG9uIHRvcCBvZiB0aGUgbGluZS5cbjpob3N0KHNiYi10YWItbmF2LWJhcikgLnNiYi10YWItbmF2LWJhciA+IFtkYXRhLWhhcy1kaXZpZGVyXSxcbjpob3N0KHNiYi10YWItbGFiZWw6c3RhdGUoaGFzLWRpdmlkZXIpKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItdGFiLWdyb3VwLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10YWItbGFiZWwtbGluZS1jb2xvcik7XG4gIH1cbn1cblxuOmhvc3Qoc2JiLXRhYi1uYXYtYmFyKSA6OnNsb3R0ZWQoYS5zYmItZGlzYWJsZWQpLFxuOmhvc3Qoc2JiLXRhYi1sYWJlbFtkaXNhYmxlZF0pIHtcbiAgLS1zYmItdGFiLWxhYmVsLWN1cnNvcjogdW5zZXQ7XG4gIC0tc2JiLXRhYi1sYWJlbC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLS1zYmItdGFiLWxhYmVsLXRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10YWItbGFiZWwtY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXRhYi1sYWJlbC1hbW91bnQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbi8vIElmIGFjdGl2ZSBhbmQgbm90IGRpc2FibGVkXG46aG9zdChzYmItdGFiLW5hdi1iYXIpIDo6c2xvdHRlZChhLnNiYi1hY3RpdmU6bm90KC5zYmItZGlzYWJsZWQpKSxcbjpob3N0KHNiYi10YWItbGFiZWxbYWN0aXZlXTpub3QoW2Rpc2FibGVkXSkpIHtcbiAgLS1zYmItdGFiLWxhYmVsLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gIC0tc2JiLXRhYi1sYWJlbC1jdXJzb3I6IHVuc2V0O1xuICAtLXNiYi10YWItbGFiZWwtcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC0tc2JiLXRhYi1sYWJlbC1tYXJrZXItc2NhbGU6IDE7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRhYi1sYWJlbC1jb2xvcjogQnV0dG9uVGV4dDtcbiAgICAtLXNiYi10YWItbGFiZWwtYW1vdW50LWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG5cbjpob3N0KHNiYi10YWItbmF2LWJhcikgOjpzbG90dGVkKGE6aG92ZXI6bm90KC5zYmItZGlzYWJsZWQpKSxcbjpob3N0KHNiYi10YWItbGFiZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pKSB7XG4gIEBpbmNsdWRlIHNiYi5ob3Zlci1tcSgkaG92ZXI6IHRydWUpIHtcbiAgICAtLXNiYi10YWItbGFiZWwtbWFya2VyLXNjYWxlOiAxO1xuICB9XG59XG5cbi8vIFByZXNzZWQvYWN0aXZlIHN0YXRlXG46aG9zdChzYmItdGFiLW5hdi1iYXIpIDo6c2xvdHRlZChhOmFjdGl2ZTpub3QoLnNiYi1kaXNhYmxlZCkpLFxuOmhvc3Qoc2JiLXRhYi1sYWJlbDphY3RpdmUpIHtcbiAgLS1zYmItdGFiLWxhYmVsLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRhYi1sYWJlbC1jb2xvcjogQnV0dG9uVGV4dDtcbiAgICAtLXNiYi10YWItbGFiZWwtYW1vdW50LWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG5cbjpob3N0KHNiYi10YWItbmF2LWJhcikgOjpzbG90dGVkKGE6Zm9jdXMtdmlzaWJsZSksXG46aG9zdChzYmItdGFiLWxhYmVsOmZvY3VzLXZpc2libGUpIC5zYmItdGFiLWxhYmVsIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRhYi1sYWJlbC1vdXRsaW5lLWJvcmRlci1yYWRpdXMtaW50ZXJuYWwpO1xufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHRhYkdyb3VwQ29tbW9uU3R5bGVzU3RyaW5nIGZyb20gJy4vdGFiLWdyb3VwLWNvbW1vbi5zY3NzP2lubGluZSc7XG5pbXBvcnQgdGFiTGFiZWxDb21tb25TdHlsZXNTdHJpbmcgZnJvbSAnLi90YWItbGFiZWwtY29tbW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGNvbnN0IHRhYkdyb3VwQ29tbW9uU3R5bGVzID0gdW5zYWZlQ1NTKHRhYkdyb3VwQ29tbW9uU3R5bGVzU3RyaW5nKTtcbmV4cG9ydCBjb25zdCB0YWJMYWJlbENvbW1vblN0eWxlcyA9IHVuc2FmZUNTUyh0YWJMYWJlbENvbW1vblN0eWxlc1N0cmluZyk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FFS0EsSUFBYSx1QkFBdUIsVUFBVSx5QkFBMkI7QUFDekUsSUFBYSx1QkFBdUIsVUFBVSx5QkFBMkIifQ==