@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1778762648 → 5.0.0-next.3-dev.1778794237

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 (340) hide show
  1. package/development/accordion.component-xx7XabDY.js +1 -1
  2. package/development/accordion.js +1 -1
  3. package/development/action-group.component-wgXPpkQe.js +1 -1
  4. package/development/action-group.js +1 -1
  5. package/development/alert-group.component-w5PbU_4C.js +1 -1
  6. package/development/alert.component-Dzm5z0jh.js +1 -1
  7. package/development/alert.js +1 -1
  8. package/development/autocomplete/autocomplete.component.js +1 -1
  9. package/development/autocomplete-base-element-DQiZ6hhk.js +1 -1
  10. package/development/autocomplete.js +1 -1
  11. package/development/block-link-common-DNvRfeay.js +1 -1
  12. package/development/breadcrumb-group.component-BUBfl6LV.js +1 -1
  13. package/development/breadcrumb.component-D6Cd2FPo.js +1 -1
  14. package/development/breadcrumb.js +1 -1
  15. package/development/button/accent-button/accent-button.component.js +1 -1
  16. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  17. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  18. package/development/button/button/button.component.js +1 -1
  19. package/development/button/button-link/button-link.component.js +1 -1
  20. package/development/button/button-static/button-static.component.js +1 -1
  21. package/development/button/mini-button/mini-button.component.js +1 -1
  22. package/development/button/secondary-button/secondary-button.component.js +1 -1
  23. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  24. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  25. package/development/button/transparent-button/transparent-button.component.js +1 -1
  26. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  27. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  28. package/development/button-common-C-A7Dulr.js +1 -1
  29. package/development/button.js +1 -1
  30. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  31. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  32. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  33. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  34. package/development/calendar-cell-base-element-mWRSDeWc.js +1 -1
  35. package/development/calendar-day.component-BHvdRxll.js +1 -1
  36. package/development/calendar.component-CjlcDyS5.js +1 -1
  37. package/development/calendar.js +1 -1
  38. package/development/card/card-button/card-button.component.js +1 -1
  39. package/development/card/card-link/card-link.component.js +1 -1
  40. package/development/card-action-common-zS5iNz23.js +1 -1
  41. package/development/card-badge.component-CEfJdJBs.js +1 -1
  42. package/development/card.component-CL2gHoyP.js +1 -1
  43. package/development/card.js +1 -1
  44. package/development/carousel-item.component-B_0wdIAu.js +1 -1
  45. package/development/carousel-list.component-DpDh5tqB.js +1 -1
  46. package/development/carousel.component-ClWvnZ8s.js +1 -1
  47. package/development/carousel.js +1 -1
  48. package/development/checkbox-common-C3Ekixul.js +1 -1
  49. package/development/checkbox-group/checkbox-group.component.js +1 -1
  50. package/development/checkbox-group.js +1 -1
  51. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  52. package/development/checkbox-panel.js +1 -1
  53. package/development/checkbox.component-UbxCpZmi.js +1 -1
  54. package/development/checkbox.js +1 -1
  55. package/development/chip-group.component-Sgmi-kSy.js +1 -1
  56. package/development/chip-label.component-DHHNtvTt.js +1 -1
  57. package/development/chip-label.js +1 -1
  58. package/development/chip.component-Uuf3tGFz.js +1 -1
  59. package/development/chip.js +1 -1
  60. package/development/clock.component-DcM1WFTN.js +1 -1
  61. package/development/clock.js +1 -1
  62. package/development/compact-paginator.component-BgkpxaaD.js +1 -1
  63. package/development/container.component-D1Qgp4HW.js +1 -1
  64. package/development/container.js +1 -1
  65. package/development/core/a11y/arrow-navigation.js +1 -1
  66. package/development/core/a11y/fake-event-detection.js +1 -1
  67. package/development/core/a11y/focus-trap-controller.js +1 -1
  68. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  69. package/development/core/a11y/focus.js +1 -1
  70. package/development/core/a11y/input-modality-detector.js +1 -1
  71. package/development/core/a11y/interactivity-checker.js +1 -1
  72. package/development/core/a11y/live-announcer.js +1 -1
  73. package/development/core/base-elements/action-base-element.js +1 -1
  74. package/development/core/base-elements/button-base-element.js +1 -1
  75. package/development/core/base-elements/link-base-element.js +1 -1
  76. package/development/core/base-elements/open-close-base-element.js +1 -1
  77. package/development/core/config/config.js +1 -1
  78. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  79. package/development/core/controllers/id-reference-controller.js +1 -1
  80. package/development/core/controllers/inert-controller.js +1 -1
  81. package/development/core/controllers/language-controller.js +1 -1
  82. package/development/core/controllers/media-matchers-controller.js +1 -1
  83. package/development/core/controllers/overlay-position-controller.js +1 -1
  84. package/development/core/controllers/property-watcher-controller.js +1 -1
  85. package/development/core/datetime/date-adapter.js +1 -1
  86. package/development/core/datetime/native-date-adapter.js +1 -1
  87. package/development/core/datetime/temporal-date-adapter.js +1 -1
  88. package/development/core/decorators/force-type.js +1 -1
  89. package/development/core/decorators/get-override.js +1 -1
  90. package/development/core/decorators/handle-distinct-change.js +1 -1
  91. package/development/core/decorators/host-attributes.js +1 -1
  92. package/development/core/decorators/id-reference.js +1 -1
  93. package/development/core/decorators/omit-empty-converter.js +1 -1
  94. package/development/core/decorators/plain-date.js +1 -1
  95. package/development/core/dom/animation.js +1 -1
  96. package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
  97. package/development/core/dom/platform.js +1 -1
  98. package/development/core/dom/queue-dom-content-loaded.js +1 -1
  99. package/development/core/dom/scroll.js +1 -1
  100. package/development/core/dom/set-or-remove-attribute.js +1 -1
  101. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  102. package/development/core/eventing/event-target.js +1 -1
  103. package/development/core/eventing/form-element-handlers.js +1 -1
  104. package/development/core/eventing/forward-event.js +1 -1
  105. package/development/core/eventing/is-event-prevented.js +1 -1
  106. package/development/core/eventing/throttle.js +1 -1
  107. package/development/core/i18n/i18n.js +1 -1
  108. package/development/core/mixins/animation-complete-mixin.js +1 -1
  109. package/development/core/mixins/disabled-mixin.js +1 -1
  110. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  111. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  112. package/development/core/mixins/form-associated-mixin.js +1 -1
  113. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  114. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  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/mixins/selection-panel-mixin.js +1 -1
  119. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  120. package/development/core/overlay/overlay-option-panel.js +1 -1
  121. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  122. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  123. package/development/core/overlay/position.js +1 -1
  124. package/development/core/testing/event-spy.js +1 -1
  125. package/development/core/testing/mocha-extensions.js +1 -1
  126. package/development/core/testing/wait-for-condition.js +1 -1
  127. package/development/core/testing/wait-for-image-ready.js +1 -1
  128. package/development/core/testing/wait-for-render.js +1 -1
  129. package/development/date-input.component-HxRyCudr.js +1 -1
  130. package/development/date-input.js +1 -1
  131. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  132. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  133. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  134. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  135. package/development/datepicker-button-BAT1ebzJ.js +1 -1
  136. package/development/datepicker.js +1 -1
  137. package/development/dialog-actions.component-e0ZTTUin.js +1 -1
  138. package/development/dialog-close-button.component-Idc00dB9.js +1 -1
  139. package/development/dialog-content.component-CThU7Z8A.js +1 -1
  140. package/development/dialog-title.component-0uNsUR2C.js +1 -1
  141. package/development/dialog.component-AItB8ixG.js +1 -1
  142. package/development/dialog.js +1 -1
  143. package/development/divider.component-Ck_0vISe.js +1 -1
  144. package/development/divider.js +1 -1
  145. package/development/element-BAsBayf5.js +1 -1
  146. package/development/error.component-WCkiwM7_.js +1 -1
  147. package/development/expansion-panel-content.component-Bs0pYNJO.js +1 -1
  148. package/development/expansion-panel-header.component-gg5A_7Pz.js +1 -1
  149. package/development/expansion-panel.component-DptYMbwV.js +1 -1
  150. package/development/expansion-panel.js +1 -1
  151. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  152. package/development/file-selector-common-CGL95Rnw.js +1 -1
  153. package/development/file-selector-dropzone.component-B84OL4Xd.js +1 -1
  154. package/development/file-selector.js +1 -1
  155. package/development/flip-card-details.component-BYv_W66a.js +1 -1
  156. package/development/flip-card-summary.component-jLNjJUNl.js +1 -1
  157. package/development/flip-card.component-DujrPKzU.js +1 -1
  158. package/development/flip-card.js +1 -1
  159. package/development/footer.component-K2bWizjw.js +1 -1
  160. package/development/footer.js +1 -1
  161. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  162. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  163. package/development/form-field.component-CPWBCHer.js +1 -1
  164. package/development/form-field.js +1 -1
  165. package/development/header/header-button/header-button.component.js +1 -1
  166. package/development/header/header-link/header-link.component.js +1 -1
  167. package/development/header-action-common-Be0XQge2.js +1 -1
  168. package/development/header-environment.component-CIyxQwkQ.js +1 -1
  169. package/development/header.component-C4e7CNql.js +1 -1
  170. package/development/header.js +1 -1
  171. package/development/hint.component-BB9QLGGx.js +1 -1
  172. package/development/icon/icon-name-mixin.js +1 -1
  173. package/development/icon/icon-request.js +1 -1
  174. package/development/icon/icon-validate.js +1 -1
  175. package/development/icon/icon.component.js +1 -1
  176. package/development/icon-base-DrBHy9BT.js +1 -1
  177. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  178. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  179. package/development/icon-sidebar-container.component-CM94Spwy.js +1 -1
  180. package/development/icon-sidebar-content.component-BP9W5ZxR.js +1 -1
  181. package/development/icon-sidebar.component-B68P2aNh.js +1 -1
  182. package/development/icon-sidebar.js +1 -1
  183. package/development/icon.js +1 -1
  184. package/development/image.component-EfSMgHI_.js +1 -1
  185. package/development/image.js +1 -1
  186. package/development/inline-link-common-gmt6yz3v.js +1 -1
  187. package/development/journey-header.component-CA4juz9x.js +1 -1
  188. package/development/journey-header.js +1 -1
  189. package/development/lead-container.component-C_mFeq1B.js +1 -1
  190. package/development/lead-container.js +1 -1
  191. package/development/link/block-link/block-link.component.js +1 -1
  192. package/development/link/block-link-button/block-link-button.component.js +1 -1
  193. package/development/link/block-link-static/block-link-static.component.js +1 -1
  194. package/development/link/link/link.component.js +1 -1
  195. package/development/link/link-button/link-button.component.js +1 -1
  196. package/development/link/link-static/link-static.component.js +1 -1
  197. package/development/link-common-2RGn9Qz_.js +1 -1
  198. package/development/link-list-anchor.component-Csb-FOQL.js +1 -1
  199. package/development/link-list-anchor.js +1 -1
  200. package/development/link-list-base-CKT3c8yW.js +1 -1
  201. package/development/link-list.component-B90qHOUD.js +1 -1
  202. package/development/link-list.js +1 -1
  203. package/development/link.js +1 -1
  204. package/development/loading-indicator-circle.component-Cfjw5vyz.js +1 -1
  205. package/development/loading-indicator-circle.js +1 -1
  206. package/development/loading-indicator.component-By2VaLCf.js +1 -1
  207. package/development/loading-indicator.js +1 -1
  208. package/development/logo.component-DYKgAgq0.js +1 -1
  209. package/development/logo.js +1 -1
  210. package/development/map-container.component-D0UVTolK.js +1 -1
  211. package/development/map-container.js +1 -1
  212. package/development/menu/menu-button/menu-button.component.js +1 -1
  213. package/development/menu/menu-link/menu-link.component.js +1 -1
  214. package/development/menu-action-common-DRXQc85Y.js +1 -1
  215. package/development/menu.component-Cv9wRj4H.js +1 -1
  216. package/development/menu.js +1 -1
  217. package/development/message.component-CdO5GyE2.js +1 -1
  218. package/development/message.js +1 -1
  219. package/development/mini-button-group.component-VYKZf1rq.js +1 -1
  220. package/development/mini-button-link.component-kpRsi8I2.js +1 -1
  221. package/development/mini-calendar-day.component-BLkJ12Bw.js +1 -1
  222. package/development/mini-calendar-month.component-D8XjjLmN.js +1 -1
  223. package/development/mini-calendar.component-BOk8JovO.js +1 -1
  224. package/development/mini-calendar.js +1 -1
  225. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  226. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  227. package/development/navigation-action-common-fkYNyX19.js +1 -1
  228. package/development/navigation-list.component-Dvv-bZ2V.js +1 -1
  229. package/development/navigation-marker.component-DMqe-VlY.js +1 -1
  230. package/development/navigation-section.component-iaypc6yQ.js +1 -1
  231. package/development/navigation.component-CqNkBvEs.js +1 -1
  232. package/development/navigation.js +1 -1
  233. package/development/notification.component-BiJSo7Pl.js +1 -1
  234. package/development/notification.js +1 -1
  235. package/development/optgroup-base-element-CLfE6pmz.js +1 -1
  236. package/development/option/optgroup/optgroup.component.js +1 -1
  237. package/development/option/option/option-base-element.js +1 -1
  238. package/development/option-hint.component-DPfgcpVn.js +1 -1
  239. package/development/option.component-CV6cZnJe.js +1 -1
  240. package/development/option.js +1 -1
  241. package/development/overlay/overlay-base-element.js +1 -1
  242. package/development/overlay.component-rFmitc_r.js +1 -1
  243. package/development/overlay.js +1 -1
  244. package/development/paginator-common-BCeNUko_.js +1 -1
  245. package/development/paginator.component-BwLUSpDj.js +1 -1
  246. package/development/paginator.js +1 -1
  247. package/development/panel-mixin-DPybe45K.js +1 -1
  248. package/development/popover.component-BmTfHMFw.js +1 -1
  249. package/development/popover.js +1 -1
  250. package/development/radio-button-common-G0jLFo41.js +1 -1
  251. package/development/radio-button-group/radio-button-group.component.js +1 -1
  252. package/development/radio-button-group.js +1 -1
  253. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  254. package/development/radio-button-panel.js +1 -1
  255. package/development/radio-button.component-DnErH-1J.js +1 -1
  256. package/development/radio-button.js +1 -1
  257. package/development/select.component-CUjF11sq.js +1 -1
  258. package/development/select.js +1 -1
  259. package/development/selection-action-panel.component-BT0HmTja.js +1 -1
  260. package/development/selection-action-panel.js +1 -1
  261. package/development/selection-expansion-panel.component-BT78Qhbf.js +1 -1
  262. package/development/selection-expansion-panel.js +1 -1
  263. package/development/selection-group-base-element-DRT3Ctp2.js +1 -1
  264. package/development/sidebar/common/styles.js +1 -1
  265. package/development/sidebar-close-button.component-CXnf-P5H.js +1 -1
  266. package/development/sidebar-container.component-CxwDKxv9.js +1 -1
  267. package/development/sidebar-content.component-DbcREBUa.js +1 -1
  268. package/development/sidebar-title.component-BW04otyD.js +1 -1
  269. package/development/sidebar.component-mfXnE6WQ.js +1 -1
  270. package/development/sidebar.js +1 -1
  271. package/development/signet.component-k14RJ8FA.js +1 -1
  272. package/development/signet.js +1 -1
  273. package/development/skiplink-list.component-m7xm-pns.js +1 -1
  274. package/development/skiplink-list.js +1 -1
  275. package/development/slider.component-D_nLTlRF.js +1 -1
  276. package/development/slider.js +1 -1
  277. package/development/status.component-B9en2l26.js +1 -1
  278. package/development/status.js +1 -1
  279. package/development/step-label.component-Bo7Z0w7N.js +1 -1
  280. package/development/step.component-CcjtUFyR.js +1 -1
  281. package/development/stepper.component-80S-oXrH.js +1 -1
  282. package/development/stepper.js +1 -1
  283. package/development/sticky-bar.component-BJLtRvcd.js +1 -1
  284. package/development/styles-Cctez2BS.js +1 -1
  285. package/development/styles-WppEBrlW.js +1 -1
  286. package/development/tab-group.component-D4fvd6Uu.js +1 -1
  287. package/development/tab-label.component-CNX8bsJL.js +1 -1
  288. package/development/tab-nav-bar.component-B_mi8GGR.js +1 -1
  289. package/development/tab.component-BVhYPy5Y.js +1 -1
  290. package/development/table-wrapper.component-By59zmcU.js +1 -1
  291. package/development/table.js +1 -1
  292. package/development/tabs.js +1 -1
  293. package/development/tag-group.component-Db8prSBL.js +1 -1
  294. package/development/tag.component-DG1uxD28.js +1 -1
  295. package/development/tag.js +1 -1
  296. package/development/teaser-hero.component-BHMcPmdh.js +1 -1
  297. package/development/teaser-hero.js +1 -1
  298. package/development/teaser-panel.component-BRfbvmkb.js +1 -1
  299. package/development/teaser-panel.js +1 -1
  300. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  301. package/development/teaser-product-common-DOyLdTks.js +1 -1
  302. package/development/teaser-product.component-DMyuB-cH.js +1 -1
  303. package/development/teaser-product.js +1 -1
  304. package/development/teaser.component-CF_NUbwJ.js +1 -1
  305. package/development/teaser.js +1 -1
  306. package/development/time-input.component-XxzRoupm.js +1 -1
  307. package/development/time-input.js +1 -1
  308. package/development/timetable-form-details.component-BeuAZUQe.js +1 -1
  309. package/development/timetable-form-field.component-DC2z1Cwf.js +1 -1
  310. package/development/timetable-form-swap-button.component-CnbVc8Ok.js +1 -1
  311. package/development/timetable-form.component-C8DfPePn.js +1 -1
  312. package/development/timetable-form.js +1 -1
  313. package/development/timetable-occupancy-icon.component-UBmyZsTO.js +1 -1
  314. package/development/timetable-occupancy-icon.js +1 -1
  315. package/development/timetable-occupancy.component-DMm242Fr.js +1 -1
  316. package/development/timetable-occupancy.js +1 -1
  317. package/development/title-base-D_Rjyk_j.js +1 -1
  318. package/development/title.component-CMxYhTfw.js +1 -1
  319. package/development/title.js +1 -1
  320. package/development/toast.component-DonS3uQm.js +1 -1
  321. package/development/toast.js +1 -1
  322. package/development/toggle-check.component-BIV7jFIc.js +1 -1
  323. package/development/toggle-check.js +1 -1
  324. package/development/toggle-option.component-DRxwLSKU.js +1 -1
  325. package/development/toggle.component-B03k5qc1.js +1 -1
  326. package/development/toggle.js +1 -1
  327. package/development/tooltip.component-D8zik3p4.js +1 -1
  328. package/development/tooltip.js +1 -1
  329. package/development/train/train-formation-orientation-mixin.js +1 -1
  330. package/development/train/train-wagon/train-wagon.component.js +1 -1
  331. package/development/train/train-wagon-button/train-wagon-button.component.js +1 -1
  332. package/development/train/train-wagon-link/train-wagon-link.component.js +1 -1
  333. package/development/train-blocked-passage.component-Cxd7dBDC.js +1 -1
  334. package/development/train-formation.component-BEg6OPib.js +1 -1
  335. package/development/train-wagon-common-Dg-BjUtC.js +1 -1
  336. package/development/train.component-dECIGw2x.js +1 -1
  337. package/development/train.js +1 -1
  338. package/development/visual-checkbox.component-Dm8DNhH2.js +1 -1
  339. package/development/visual-checkbox.js +1 -1
  340. package/package.json +3 -3
@@ -168,4 +168,4 @@ var SbbDatepickerButton = class extends SbbDatepickerButtonBase {
168
168
  //#endregion
169
169
  export { SbbDatepickerButtonBase as n, SbbDatepickerButton as t };
170
170
 
171
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1idXR0b24tQkFUMWViekouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi5zYmItYWN0aW9uLWJhc2Uge1xuICBtYXJnaW46IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICcuLi8uLi9idXR0b24vY29tbW9uL2J1dHRvbi1jb21tb24udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBEYXRlQWRhcHRlcixcbiAgZGVmYXVsdERhdGVBZGFwdGVyLFxuICBpMThuVG9kYXksXG4gIGlkUmVmZXJlbmNlLFxuICByZWFkQ29uZmlnLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IHR5cGUgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZCwgU2JiRGF0ZUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2RhdGUtaW5wdXQucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgZGF0ZXBpY2tlcidzIGJ1dHRvbnMuXG4gKlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCBvbiB0aGUgZGF0ZXBpY2tlcidzIGlucHV0IHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS4gVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWQgZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gVGhlIGlucHV0IGV2ZW50IGZpcmVzIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpXG4gIGltcGxlbWVudHMgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPlxue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNiYkRhdGVJbnB1dEFzc29jaWF0ZWQgPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbbWluaUJ1dHRvblN0eWxlLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGFzc29jaWF0ZWQgZGF0ZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBpbnB1dDogU2JiRGF0ZUlucHV0RWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2lucHV0RGlzYWJsZWQ7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlLXBpY2tlcidzIGlucHV0IGRpc2FibGVkLiAqL1xuICBwcml2YXRlIF9pbnB1dERpc2FibGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcblxuICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpY29uTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGU/Lihmb3JtRmllbGQpO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5uZWdhdGl2ZTtcbiAgICAgIFNiYkRhdGVJbnB1dEVsZW1lbnQucmVzb2x2ZUFzc29jaWF0aW9uKHRoaXMpO1xuICAgICAgdGhpcy5zbG90IHx8PSB0aGlzLl9maW5kU2xvdFBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5pbnB1dCAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXREaXNhYmxlZCA9IHRydWU7XG4gICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgdGhpcy5zbG90ID0gdGhpcy5fZmluZFNsb3RQb3NpdGlvbigpO1xuICAgICAgICAvLyBUaGUgc2JiLWRhdGUtaW5wdXQgaW5zdGFuY2UgbXVzdCBiZSB1cGdyYWRlZCBpbiBvcmRlclxuICAgICAgICAvLyBmb3IgcHJvcGVydGllcyB0byBiZSBhY2Nlc3NpYmxlLlxuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlPy4odGhpcy5pbnB1dCk7XG4gICAgICAgIHRoaXMuX3N5bmMoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCfJtWNoYW5nZScsICgpID0+IHRoaXMuX3N5bmMoKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIW5hbWUgJiYgdGhpcy5oYXNVcGRhdGVkICYmIHRoaXMuaW5wdXQpIHtcbiAgICAgIC8vIElmIGxhbmd1YWdlIGNoYW5nZXMsIHdlIG5lZWQgdG8gdXBkYXRlIHJlbGF0ZWQgYXJpYSBwcm9wZXJ0aWVzLlxuICAgICAgdGhpcy5fc3luYygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRTbG90UG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaW5wdXQgfHxcbiAgICAgIHRoaXMuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5pbnB1dCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lOR1xuICAgICAgPyAncHJlZml4J1xuICAgICAgOiAnc3VmZml4JztcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmMoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jRGF0ZUlucHV0U3RhdGUoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNEYXRlSW5wdXRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dERpc2FibGVkID0gdGhpcy5pbnB1dCEuZGlzYWJsZWQgfHwgdGhpcy5pbnB1dCEucmVhZE9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzYmItaWNvbiBuYW1lPSR7dGhpcy5pY29uTmFtZX0+PC9zYmItaWNvbj5gO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPiBleHRlbmRzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQ+IHtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdWUgZGF0ZSBlcXVhbHMgdG8gYm91bmRhcnkgZGF0ZS4gKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBgZ2V0Rm9sbG93aW5nRGF0ZShkYXRlOiBUKWAgaW5zdGVhZC4gKi9cbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlKF9kYXRlOiBUKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZvbGxvd2luZ0RhdGUoX2RhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZvbGxvd2luZ0RhdGUoX2RhdGU6IFQpOiBUIHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydGluZ0RhdGU6IFQgPSB0aGlzLmlucHV0LnZhbHVlQXNEYXRlID8/IHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHN0YXJ0aW5nRGF0ZSk7XG4gICAgaWYgKHRoaXMuZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlKSAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHN0YXJ0aW5nRGF0ZSkgIT09IDApIHtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInLCB7IGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3luY0RhdGVJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnN5bmNEYXRlSW5wdXRTdGF0ZSgpO1xuICAgIGlmICghdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5pMThuT2ZmQm91bmRhcnlEYXlbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA9XG4gICAgICAhdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGUpIHx8XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSA9PT0gMDtcbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgdGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0udG9Mb3dlckNhc2UoKVxuICAgICAgICA6IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUodGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9XG4gICAgICB0aGlzLmkxOG5TZWxlY3RPZmZCb3VuZGFyeURheShjdXJyZW50RGF0ZVN0cmluZylbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2dDc0IsaUNBQXVCO21CQUNuQyxpQkFBaUIscUJBQXFCOzs7O2NBRDFCLGdDQUNaLFlBQXNDOzs7R0FjOUIsS0FBQSwwQkFBQSxr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
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1idXR0b24tQkFUMWViekouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi5zYmItYWN0aW9uLWJhc2Uge1xuICBtYXJnaW46IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICcuLi8uLi9idXR0b24vY29tbW9uL2J1dHRvbi1jb21tb24udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBEYXRlQWRhcHRlcixcbiAgZGVmYXVsdERhdGVBZGFwdGVyLFxuICBpMThuVG9kYXksXG4gIGlkUmVmZXJlbmNlLFxuICByZWFkQ29uZmlnLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IHR5cGUgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZCwgU2JiRGF0ZUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2RhdGUtaW5wdXQucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgZGF0ZXBpY2tlcidzIGJ1dHRvbnMuXG4gKlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCBvbiB0aGUgZGF0ZXBpY2tlcidzIGlucHV0IHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS4gVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWQgZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gVGhlIGlucHV0IGV2ZW50IGZpcmVzIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpXG4gIGltcGxlbWVudHMgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPlxue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNiYkRhdGVJbnB1dEFzc29jaWF0ZWQgPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbbWluaUJ1dHRvblN0eWxlLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGFzc29jaWF0ZWQgZGF0ZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBpbnB1dDogU2JiRGF0ZUlucHV0RWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2lucHV0RGlzYWJsZWQ7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlLXBpY2tlcidzIGlucHV0IGRpc2FibGVkLiAqL1xuICBwcml2YXRlIF9pbnB1dERpc2FibGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcblxuICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpY29uTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGU/Lihmb3JtRmllbGQpO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5uZWdhdGl2ZTtcbiAgICAgIFNiYkRhdGVJbnB1dEVsZW1lbnQucmVzb2x2ZUFzc29jaWF0aW9uKHRoaXMpO1xuICAgICAgdGhpcy5zbG90IHx8PSB0aGlzLl9maW5kU2xvdFBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5pbnB1dCAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXREaXNhYmxlZCA9IHRydWU7XG4gICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgdGhpcy5zbG90ID0gdGhpcy5fZmluZFNsb3RQb3NpdGlvbigpO1xuICAgICAgICAvLyBUaGUgc2JiLWRhdGUtaW5wdXQgaW5zdGFuY2UgbXVzdCBiZSB1cGdyYWRlZCBpbiBvcmRlclxuICAgICAgICAvLyBmb3IgcHJvcGVydGllcyB0byBiZSBhY2Nlc3NpYmxlLlxuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlPy4odGhpcy5pbnB1dCk7XG4gICAgICAgIHRoaXMuX3N5bmMoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCfJtWNoYW5nZScsICgpID0+IHRoaXMuX3N5bmMoKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIW5hbWUgJiYgdGhpcy5oYXNVcGRhdGVkICYmIHRoaXMuaW5wdXQpIHtcbiAgICAgIC8vIElmIGxhbmd1YWdlIGNoYW5nZXMsIHdlIG5lZWQgdG8gdXBkYXRlIHJlbGF0ZWQgYXJpYSBwcm9wZXJ0aWVzLlxuICAgICAgdGhpcy5fc3luYygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRTbG90UG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaW5wdXQgfHxcbiAgICAgIHRoaXMuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5pbnB1dCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lOR1xuICAgICAgPyAncHJlZml4J1xuICAgICAgOiAnc3VmZml4JztcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmMoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jRGF0ZUlucHV0U3RhdGUoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNEYXRlSW5wdXRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dERpc2FibGVkID0gdGhpcy5pbnB1dCEuZGlzYWJsZWQgfHwgdGhpcy5pbnB1dCEucmVhZE9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzYmItaWNvbiBuYW1lPSR7dGhpcy5pY29uTmFtZX0+PC9zYmItaWNvbj5gO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPiBleHRlbmRzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQ+IHtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdWUgZGF0ZSBlcXVhbHMgdG8gYm91bmRhcnkgZGF0ZS4gKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBgZ2V0Rm9sbG93aW5nRGF0ZShkYXRlOiBUKWAgaW5zdGVhZC4gKi9cbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlKF9kYXRlOiBUKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZvbGxvd2luZ0RhdGUoX2RhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZvbGxvd2luZ0RhdGUoX2RhdGU6IFQpOiBUIHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydGluZ0RhdGU6IFQgPSB0aGlzLmlucHV0LnZhbHVlQXNEYXRlID8/IHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHN0YXJ0aW5nRGF0ZSk7XG4gICAgaWYgKHRoaXMuZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlKSAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHN0YXJ0aW5nRGF0ZSkgIT09IDApIHtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInLCB7IGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3luY0RhdGVJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnN5bmNEYXRlSW5wdXRTdGF0ZSgpO1xuICAgIGlmICghdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5pMThuT2ZmQm91bmRhcnlEYXlbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA9XG4gICAgICAhdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGUpIHx8XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSA9PT0gMDtcbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgdGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0udG9Mb3dlckNhc2UoKVxuICAgICAgICA6IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUodGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9XG4gICAgICB0aGlzLmkxOG5TZWxlY3RPZmZCb3VuZGFyeURheShjdXJyZW50RGF0ZVN0cmluZylbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2dDc0IsaUNBQXVCO21CQUNuQyxpQkFBaUIsb0JBQW9COzs7O2NBRHpCLGdDQUNaLFlBQXNDOzs7R0FjOUIsS0FBQSwwQkFBQSxr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
@@ -13,4 +13,4 @@ SbbDatepickerToggleElement.define();
13
13
  //#endregion
14
14
  export { SbbDatepickerButton, SbbDatepickerButtonBase, SbbDatepickerElement, SbbDatepickerNextDayElement, SbbDatepickerPreviousDayElement, SbbDatepickerToggleElement };
15
15
 
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGF0ZXBpY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7XG4gIFNiYkRhdGVwaWNrZXJFbGVtZW50LFxuICBTYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQsXG4gIFNiYkRhdGVwaWNrZXJQcmV2aW91c0RheUVsZW1lbnQsXG4gIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50LFxufSBmcm9tICcuL2RhdGVwaWNrZXIucHVyZS50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci5wdXJlLnRzJztcblxuU2JiRGF0ZXBpY2tlckVsZW1lbnQuZGVmaW5lKCk7XG5TYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQuZGVmaW5lKCk7XG5TYmJEYXRlcGlja2VyUHJldmlvdXNEYXlFbGVtZW50LmRlZmluZSgpO1xuU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQuZGVmaW5lKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVUEscUJBQXFCLFFBQVE7QUFDN0IsNEJBQTRCLFFBQVE7QUFDcEMsZ0NBQWdDLFFBQVE7QUFDeEMsMkJBQTJCLFFBQVEifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGF0ZXBpY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7XG4gIFNiYkRhdGVwaWNrZXJFbGVtZW50LFxuICBTYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQsXG4gIFNiYkRhdGVwaWNrZXJQcmV2aW91c0RheUVsZW1lbnQsXG4gIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50LFxufSBmcm9tICcuL2RhdGVwaWNrZXIucHVyZS50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci5wdXJlLnRzJztcblxuU2JiRGF0ZXBpY2tlckVsZW1lbnQuZGVmaW5lKCk7XG5TYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQuZGVmaW5lKCk7XG5TYmJEYXRlcGlja2VyUHJldmlvdXNEYXlFbGVtZW50LmRlZmluZSgpO1xuU2JiRGF0ZXBpY2tlclRvZ2dsZUVsZW1lbnQuZGVmaW5lKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVUEscUJBQXFCLE9BQU07QUFDM0IsNEJBQTRCLE9BQU07QUFDbEMsZ0NBQWdDLE9BQU07QUFDdEMsMkJBQTJCLE9BQU0ifQ==
@@ -20,4 +20,4 @@ var SbbDialogActionsElement = class extends SbbActionGroupElement {
20
20
  //#endregion
21
21
  export { SbbDialogActionsElement as t };
22
22
 
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LWUwWlRUVWluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGdyaWQtYXJlYTogYWN0aW9ucztcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctcGFkZGluZy1pbmxpbmUpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1kaWFsb2ctYmFja2dyb3VuZC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stZW5kLWJveC1zaGFkb3csIG5vbmUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gSG9yaXpvbnRhbCBsaW5lIGhhcyB0byBiZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGJlY2F1c2Ugb3RoZXJ3aXNlXG4gIC8vIGl0IGludGVyZmVyZXMgd2l0aCBzY3JvbGwgZGV0ZWN0aW9uIG9mIGFib3ZlIGNvbnRhaW5lci5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBib3JkZXItY29sb3I6IENhbnZhc1RleHQ7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tZ3JvdXAucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy1hY3Rpb25zLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgdG8gZGlzcGxheSBhIGZvb3RlciBpbnRvIGFuIGBzYmItZGlhbG9nYCB3aXRoIGFuIGFjdGlvbiBncm91cC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWJsb2NrLWxpbmtgIG9yIGBzYmItYnV0dG9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCBleHRlbmRzIFNiYkFjdGlvbkdyb3VwRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWFjdGlvbnMnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWFjdGlvbnMnOiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQ1dBLElBQWEsMEJBQWIsY0FBNkMsc0JBQXFCOztFQUNoQyxLQUFBLGNBQXNCOzs7RUFDL0IsS0FBQSxTQUF5QixDQUFDLFVBQVUsdUJBQU0sQ0FBQyJ9
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LWUwWlRUVWluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGdyaWQtYXJlYTogYWN0aW9ucztcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctcGFkZGluZy1pbmxpbmUpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1kaWFsb2ctYmFja2dyb3VuZC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stZW5kLWJveC1zaGFkb3csIG5vbmUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gSG9yaXpvbnRhbCBsaW5lIGhhcyB0byBiZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGJlY2F1c2Ugb3RoZXJ3aXNlXG4gIC8vIGl0IGludGVyZmVyZXMgd2l0aCBzY3JvbGwgZGV0ZWN0aW9uIG9mIGFib3ZlIGNvbnRhaW5lci5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBib3JkZXItY29sb3I6IENhbnZhc1RleHQ7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tZ3JvdXAucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy1hY3Rpb25zLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgdG8gZGlzcGxheSBhIGZvb3RlciBpbnRvIGFuIGBzYmItZGlhbG9nYCB3aXRoIGFuIGFjdGlvbiBncm91cC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWJsb2NrLWxpbmtgIG9yIGBzYmItYnV0dG9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCBleHRlbmRzIFNiYkFjdGlvbkdyb3VwRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWFjdGlvbnMnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWFjdGlvbnMnOiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQ1dBLElBQWEsMEJBQWIsY0FBNkMsc0JBQXFCOztFQUNoQyxLQUFBLGNBQXNCO0NBQXFCOztFQUNwRCxLQUFBLFNBQXlCLENBQUMsVUFBVSxzQkFBSyxDQUFDO0NBQUUifQ==
@@ -37,4 +37,4 @@ var SbbDialogCloseButtonElement = class extends SbbSecondaryButtonElement {
37
37
  //#endregion
38
38
  export { SbbDialogCloseButtonElement as t };
39
39
 
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQtSWRjMDBkQjkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2ctY2xvc2UtYnV0dG9uL2RpYWxvZy1jbG9zZS1idXR0b24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1jbG9zZS1idXR0b24vZGlhbG9nLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgZ3JpZC1hcmVhOiBjbG9zZS1idXR0b247XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLW1hcmdpbi1pbmxpbmUpO1xuICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1zYmItZGlhbG9nLWNsb3NlLWJ1dHRvbi1pbnNldC1pbmxpbmUtZW5kKTtcblxuICAvLyBXZSBoYXZlIHRvIGNlbnRlciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkgdG8gdGhlIHRpdGxlIHRleHQuXG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spICsgMC41ICpcbiAgICAgIChcbiAgICAgICAgdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZykgKlxuICAgICAgICAgIHZhcigtLV9zYmItZGlhbG9nLXRpdGxlLXNpemUsIHZhcigtLXNiYi1oZWFkaW5nLWZvbnQtc2l6ZS00KSkgLSB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKVxuICAgICAgKVxuICApO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZURpYWxvZywgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy1jbG9zZS1idXR0b24uc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIERpYWxvZyBjbG9zZSBidXR0b24sIGludGVuZGVkIHRvIGJlIHBsYWNlZCBpbnNpZGUgc2JiLWRpYWxvZy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBkaWFsb2ctY2xvc2UtYnV0dG9uLiBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBpbiB0aGlzIGNvbnRleHQuXG4gKiBAc2xvdCBpY29uIC0gU2xvdCB1c2VkIHRvIGRpc3BsYXkgdGhlIGljb24sIGlmIG9uZSBpcyBzZXQuIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGluIHRoaXMgY29udGV4dC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2VDb250cm9sbGVyID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNpemUgPSAncycgYXMgdGhpc1snc2l6ZSddO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gaTE4bkNsb3NlRGlhbG9nW3RoaXMuX2xhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIucmVuZGVySWNvbk5hbWUoKSB8fCAnY3Jvc3Mtc21hbGwnO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic6IFNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDYUEsSUFBYSw4QkFBYixjQUFpRCwwQkFBeUI7O0VBQ3hDLEtBQUEsY0FBc0I7OztFQUMvQixLQUFBLFNBQXlCLENBQUMsVUFBVSw0QkFBTSxDQUFDOztDQUlsRSxjQUFBO0VBQ0UsT0FBTztFQUhELEtBQUEsc0JBQXNCLElBQUksc0JBQXNCLEtBQUs7RUFJM0QsS0FBSyxPQUFPOztDQUdLLFdBQVcsbUJBQXVDO0VBQ25FLE1BQU0sV0FBVyxrQkFBa0I7RUFDbkMsS0FBSyxVQUFVLFlBQVksZ0JBQWdCLEtBQUssb0JBQW9COztDQUduRCxpQkFBYztFQUMvQixPQUFPLE1BQU0sZ0JBQWdCOztDQUdaLGlCQUFjO0VBQy9CLE9BQU8sTUFBTSxnQkFBZ0IsSUFBSSJ9
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQtSWRjMDBkQjkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2ctY2xvc2UtYnV0dG9uL2RpYWxvZy1jbG9zZS1idXR0b24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1jbG9zZS1idXR0b24vZGlhbG9nLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgZ3JpZC1hcmVhOiBjbG9zZS1idXR0b247XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLW1hcmdpbi1pbmxpbmUpO1xuICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1zYmItZGlhbG9nLWNsb3NlLWJ1dHRvbi1pbnNldC1pbmxpbmUtZW5kKTtcblxuICAvLyBXZSBoYXZlIHRvIGNlbnRlciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkgdG8gdGhlIHRpdGxlIHRleHQuXG4gIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spICsgMC41ICpcbiAgICAgIChcbiAgICAgICAgdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZykgKlxuICAgICAgICAgIHZhcigtLV9zYmItZGlhbG9nLXRpdGxlLXNpemUsIHZhcigtLXNiYi1oZWFkaW5nLWZvbnQtc2l6ZS00KSkgLSB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKVxuICAgICAgKVxuICApO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZURpYWxvZywgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy1jbG9zZS1idXR0b24uc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIERpYWxvZyBjbG9zZSBidXR0b24sIGludGVuZGVkIHRvIGJlIHBsYWNlZCBpbnNpZGUgc2JiLWRpYWxvZy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBkaWFsb2ctY2xvc2UtYnV0dG9uLiBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBpbiB0aGlzIGNvbnRleHQuXG4gKiBAc2xvdCBpY29uIC0gU2xvdCB1c2VkIHRvIGRpc3BsYXkgdGhlIGljb24sIGlmIG9uZSBpcyBzZXQuIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGluIHRoaXMgY29udGV4dC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2VDb250cm9sbGVyID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNpemUgPSAncycgYXMgdGhpc1snc2l6ZSddO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gaTE4bkNsb3NlRGlhbG9nW3RoaXMuX2xhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIucmVuZGVySWNvbk5hbWUoKSB8fCAnY3Jvc3Mtc21hbGwnO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic6IFNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDYUEsSUFBYSw4QkFBYixjQUFpRCwwQkFBeUI7O0VBQ3hDLEtBQUEsY0FBc0I7Q0FBMEI7O0VBQ3pELEtBQUEsU0FBeUIsQ0FBQyxVQUFVLDJCQUFLLENBQUM7Q0FBRTtDQUluRSxjQUFBO0VBQ0UsTUFBSztFQUhDLEtBQUEsc0JBQXNCLElBQUksc0JBQXNCLElBQUk7RUFJMUQsS0FBSyxPQUFPO0NBQ2Q7Q0FFbUIsV0FBVyxtQkFBdUM7RUFDbkUsTUFBTSxXQUFXLGlCQUFpQjtFQUNsQyxLQUFLLFVBQVUsWUFBWSxnQkFBZ0IsS0FBSyxvQkFBb0I7Q0FDdEU7Q0FFbUIsaUJBQWM7RUFDL0IsT0FBTyxNQUFNLGVBQWM7Q0FDN0I7Q0FFbUIsaUJBQWM7RUFDL0IsT0FBTyxNQUFNLGVBQWMsS0FBTTtDQUNuQyJ9
@@ -38,4 +38,4 @@ var SbbDialogContentElement = class extends SbbElement {
38
38
  //#endregion
39
39
  export { SbbDialogContentElement as t };
40
40
 
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LUNUaFU3WjhBLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1jb250ZW50L2RpYWxvZy1jb250ZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1wYWRkaW5nLWlubGluZSk7XG4gIGdyaWQtYXJlYTogY29udGVudDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlO1xufVxuXG4vLyBJZiB0aGVyZSBpcyBubyBzY3JvbGxhYmxlIGNvbnRlbnQsIHRoZSBzY3JvbGwgYXJlYSBnZXRzIGZvY3VzLlxuLy8gQXMgaXQgaXMgaW1wb3NzaWJsZSB0byBwbGFjZSB0aGUgc2Nyb2xsYmFyIG91dHNpZGUgb2YgdGhlIHNjcm9sbCBhcmVhLFxuLy8gd2UgbmVlZCB0byBmaXggdGhlIG91dGxpbmUgb2Zmc2V0IHRvIGF2b2lkIGNsaXBwaW5nIG9mIHRoZSBmb2N1cyBvdXRsaW5lLlxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtd2lkdGgpICogLTEpO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaG9zdFNjcm9sbGJhclN0eWxlcywgU2JiRWxlbWVudCwgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctY29udGVudC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IHRvIHByb3ZpZGUgYSBjb250ZW50IGZvciBhbiBgc2JiLWRpYWxvZ2AuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgZGlhbG9nIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dDb250ZW50RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jb250ZW50JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2hvc3RTY3JvbGxiYXJTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdDxTYmJEaWFsb2dFbGVtZW50Pignc2JiLWRpYWxvZycpLCB7XG4gICAgICAgIG5lZ2F0aXZlOiAoZCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ25lZ2F0aXZlJywgZC5uZWdhdGl2ZSk7XG4gICAgICAgICAgdGhpcy5fc2V0U2Nyb2xsYmFyKGQubmVnYXRpdmUpO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFNjcm9sbGJhcihcbiAgICBuZWdhdGl2ZSA9IHRoaXMuY2xvc2VzdD8uPFNiYkRpYWxvZ0VsZW1lbnQ+KCdzYmItZGlhbG9nJyk/Lm5lZ2F0aXZlID8/IGZhbHNlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzTGlzdC5yZW1vdmUoJ3NiYi1zY3JvbGxiYXInLCAnc2JiLXNjcm9sbGJhci1uZWdhdGl2ZScpO1xuICAgIHRoaXMuY2xhc3NMaXN0LmFkZChgc2JiLXNjcm9sbGJhciR7bmVnYXRpdmUgPyAnLW5lZ2F0aXZlJyA6ICcnfWApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAvLyBXaGVuIGluY2x1ZGluZyB0aGUgc2Nyb2xsYmFyIHN0eWxlcyBvbiB0aGUgaG9zdCwgdGhlcmUgaXMgbm8gaG92ZXIgZWZmZWN0IG9mIHRoZSBzY3JvbGxiYXIgcG9zc2libGUuXG4gICAgLy8gSW4gbW9zdCBjYXNlcywgdGhlIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgaW4gTGlnaHQgRE9NLiBUbyBhbHNvIHN1cHBvcnQgdGhlIGhvdmVyIGVmZmVjdCxcbiAgICAvLyB3ZSBhZGRpdGlvbmFsbHkgYWRkIHRoZSBgc2JiLXNjcm9sbGJhcmAgQ1NTIGNsYXNzIHRvIHRoZSBob3N0LlxuICAgIC8vIFRoaXMgaXMgYW4gZXhjZXB0aW9uIGFzIHdlIG5vcm1hbGx5IGRvbid0IGFsdGVyIHRoZSBjbGFzc0xpc3Qgb2YgdGhlIGhvc3QuXG4gICAgdGhpcy5fc2V0U2Nyb2xsYmFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1jb250ZW50JzogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLDBCQUFiLGNBQTZDLFdBQVU7O0VBQ3JCLEtBQUEsY0FBc0I7OztFQUMvQixLQUFBLFNBQXlCLENBQUMscUJBQXFCLFVBQVUsdUJBQU0sQ0FBQzs7Q0FFdkYsY0FBQTtFQUNFLE9BQU87RUFDUCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQTBCLGFBQWEsRUFBRSxFQUN6RixXQUFXLE1BQUs7R0FDZCxLQUFLLFlBQVksWUFBWSxFQUFFLFNBQVM7R0FDeEMsS0FBSyxjQUFjLEVBQUUsU0FBUztLQUVqQyxDQUFDLENBQ0g7O0NBR0ssY0FDTixXQUFXLEtBQUssVUFBNEIsYUFBYSxFQUFFLFlBQVksT0FBSztFQUU1RSxLQUFLLFVBQVUsT0FBTyxpQkFBaUIseUJBQXlCO0VBQ2hFLEtBQUssVUFBVSxJQUFJLGdCQUFnQixXQUFXLGNBQWMsS0FBSzs7Q0FHbkQsb0JBQWlCO0VBQy9CLE1BQU0sbUJBQW1CO0VBTXpCLEtBQUssZUFBZTs7Q0FHSCxTQUFNO0VBQ3ZCLE9BQU8sSUFBSSJ9
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LUNUaFU3WjhBLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1jb250ZW50L2RpYWxvZy1jb250ZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1wYWRkaW5nLWlubGluZSk7XG4gIGdyaWQtYXJlYTogY29udGVudDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlO1xufVxuXG4vLyBJZiB0aGVyZSBpcyBubyBzY3JvbGxhYmxlIGNvbnRlbnQsIHRoZSBzY3JvbGwgYXJlYSBnZXRzIGZvY3VzLlxuLy8gQXMgaXQgaXMgaW1wb3NzaWJsZSB0byBwbGFjZSB0aGUgc2Nyb2xsYmFyIG91dHNpZGUgb2YgdGhlIHNjcm9sbCBhcmVhLFxuLy8gd2UgbmVlZCB0byBmaXggdGhlIG91dGxpbmUgb2Zmc2V0IHRvIGF2b2lkIGNsaXBwaW5nIG9mIHRoZSBmb2N1cyBvdXRsaW5lLlxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtd2lkdGgpICogLTEpO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaG9zdFNjcm9sbGJhclN0eWxlcywgU2JiRWxlbWVudCwgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctY29udGVudC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IHRvIHByb3ZpZGUgYSBjb250ZW50IGZvciBhbiBgc2JiLWRpYWxvZ2AuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgZGlhbG9nIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dDb250ZW50RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jb250ZW50JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2hvc3RTY3JvbGxiYXJTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdDxTYmJEaWFsb2dFbGVtZW50Pignc2JiLWRpYWxvZycpLCB7XG4gICAgICAgIG5lZ2F0aXZlOiAoZCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ25lZ2F0aXZlJywgZC5uZWdhdGl2ZSk7XG4gICAgICAgICAgdGhpcy5fc2V0U2Nyb2xsYmFyKGQubmVnYXRpdmUpO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFNjcm9sbGJhcihcbiAgICBuZWdhdGl2ZSA9IHRoaXMuY2xvc2VzdD8uPFNiYkRpYWxvZ0VsZW1lbnQ+KCdzYmItZGlhbG9nJyk/Lm5lZ2F0aXZlID8/IGZhbHNlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzTGlzdC5yZW1vdmUoJ3NiYi1zY3JvbGxiYXInLCAnc2JiLXNjcm9sbGJhci1uZWdhdGl2ZScpO1xuICAgIHRoaXMuY2xhc3NMaXN0LmFkZChgc2JiLXNjcm9sbGJhciR7bmVnYXRpdmUgPyAnLW5lZ2F0aXZlJyA6ICcnfWApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAvLyBXaGVuIGluY2x1ZGluZyB0aGUgc2Nyb2xsYmFyIHN0eWxlcyBvbiB0aGUgaG9zdCwgdGhlcmUgaXMgbm8gaG92ZXIgZWZmZWN0IG9mIHRoZSBzY3JvbGxiYXIgcG9zc2libGUuXG4gICAgLy8gSW4gbW9zdCBjYXNlcywgdGhlIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgaW4gTGlnaHQgRE9NLiBUbyBhbHNvIHN1cHBvcnQgdGhlIGhvdmVyIGVmZmVjdCxcbiAgICAvLyB3ZSBhZGRpdGlvbmFsbHkgYWRkIHRoZSBgc2JiLXNjcm9sbGJhcmAgQ1NTIGNsYXNzIHRvIHRoZSBob3N0LlxuICAgIC8vIFRoaXMgaXMgYW4gZXhjZXB0aW9uIGFzIHdlIG5vcm1hbGx5IGRvbid0IGFsdGVyIHRoZSBjbGFzc0xpc3Qgb2YgdGhlIGhvc3QuXG4gICAgdGhpcy5fc2V0U2Nyb2xsYmFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1jb250ZW50JzogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLDBCQUFiLGNBQTZDLFdBQVU7O0VBQ3JCLEtBQUEsY0FBc0I7Q0FBcUI7O0VBQ3BELEtBQUEsU0FBeUIsQ0FBQyxxQkFBcUIsVUFBVSxzQkFBSyxDQUFDO0NBQUU7Q0FFeEYsY0FBQTtFQUNFLE1BQUs7RUFDTCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQTBCLFlBQVksR0FBRyxFQUN6RixXQUFXLE1BQUs7R0FDZCxLQUFLLFlBQVksWUFBWSxFQUFFLFFBQVE7R0FDdkMsS0FBSyxjQUFjLEVBQUUsUUFBUTtFQUMvQixFQUFBLENBQ0QsQ0FBQztDQUVOO0NBRVEsY0FDTixXQUFXLEtBQUssVUFBNEIsWUFBWSxHQUFHLFlBQVksT0FBSztFQUU1RSxLQUFLLFVBQVUsT0FBTyxpQkFBaUIsd0JBQXdCO0VBQy9ELEtBQUssVUFBVSxJQUFJLGdCQUFnQixXQUFXLGNBQWMsSUFBSTtDQUNsRTtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFNdkIsS0FBSyxjQUFhO0NBQ3BCO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==
@@ -26,4 +26,4 @@ var SbbDialogTitleElement = class extends SbbNegativeMixin(SbbTitleBase) {
26
26
  //#endregion
27
27
  export { SbbDialogTitleElement as t };
28
28
 
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmNvbXBvbmVudC0wdU5zVVIyQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctcGFkZGluZy1pbmxpbmUpO1xuICBoeXBoZW5zOiBhdXRvO1xuICBncmlkLWFyZWE6IHRpdGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1uZWdhdGl2ZTtcbn1cblxuLy8gU2hhZG93IGJlbG93IHRoZSB0aXRsZSBiYXJcbjpob3N0OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIC8vIFdlIG5lZWQgdG8gdXNlIHBvaW50ZXItZXZlbnRzOiBub25lIGhlcmUgdG8gZW5zdXJlIHRoYXQgdGhlIHRpdGxlIHJlbWFpbnMgc2VsZWN0YWJsZS5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2UgaGF2ZSB0byBiZSB3aWRlciB0aGFuIHRoZSB0aXRsZSB0byBhbHNvIGNvdmVyIGEgcG9zc2libGUgY2xvc2UgYnV0dG9uLiAxMCByZW0gc2hvdWxkIGJlIGVub3VnaC5cbiAgaW5zZXQ6IDAgLTEwcmVtIDAgMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZykgdmFyKC0tc2JiLWRpYWxvZy1zaGFkb3ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWRpYWxvZy1ibG9jay1zdGFydC1ib3gtc2hhZG93LCBub25lKTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYlRpdGxlQmFzZSB9IGZyb20gJy4uLy4uL3RpdGxlLnB1cmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctdGl0bGUuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgaW5zaWRlIGEgZGlhbG9nIGhlYWRlci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IGZvciB0aGUgY29udGVudCBvZiB0aGUgZGlhbG9nLXRpdGxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nVGl0bGVFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJUaXRsZUJhc2UpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctdGl0bGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJyBhcyB0aGlzWydsZXZlbCddO1xuICAgIHRoaXMudmlzdWFsTGV2ZWwgPSAnNCcgYXMgdGhpc1sndmlzdWFsTGV2ZWwnXTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLHdCQUFiLGNBQTJDLGlCQUFpQixhQUFhLENBQUE7O0VBQ3ZDLEtBQUEsY0FBc0I7OztFQUMvQixLQUFBLFNBQXlCLENBQUMsVUFBVSxxQkFBTSxDQUFDOztDQUVsRSxjQUFBO0VBQ0UsT0FBTztFQUNQLEtBQUssUUFBUTtFQUNiLEtBQUssY0FBYyJ9
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmNvbXBvbmVudC0wdU5zVVIyQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctcGFkZGluZy1pbmxpbmUpO1xuICBoeXBoZW5zOiBhdXRvO1xuICBncmlkLWFyZWE6IHRpdGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1uZWdhdGl2ZTtcbn1cblxuLy8gU2hhZG93IGJlbG93IHRoZSB0aXRsZSBiYXJcbjpob3N0OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIC8vIFdlIG5lZWQgdG8gdXNlIHBvaW50ZXItZXZlbnRzOiBub25lIGhlcmUgdG8gZW5zdXJlIHRoYXQgdGhlIHRpdGxlIHJlbWFpbnMgc2VsZWN0YWJsZS5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2UgaGF2ZSB0byBiZSB3aWRlciB0aGFuIHRoZSB0aXRsZSB0byBhbHNvIGNvdmVyIGEgcG9zc2libGUgY2xvc2UgYnV0dG9uLiAxMCByZW0gc2hvdWxkIGJlIGVub3VnaC5cbiAgaW5zZXQ6IDAgLTEwcmVtIDAgMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZykgdmFyKC0tc2JiLWRpYWxvZy1zaGFkb3ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWRpYWxvZy1ibG9jay1zdGFydC1ib3gtc2hhZG93LCBub25lKTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYlRpdGxlQmFzZSB9IGZyb20gJy4uLy4uL3RpdGxlLnB1cmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctdGl0bGUuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgaW5zaWRlIGEgZGlhbG9nIGhlYWRlci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IGZvciB0aGUgY29udGVudCBvZiB0aGUgZGlhbG9nLXRpdGxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nVGl0bGVFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJUaXRsZUJhc2UpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctdGl0bGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJyBhcyB0aGlzWydsZXZlbCddO1xuICAgIHRoaXMudmlzdWFsTGV2ZWwgPSAnNCcgYXMgdGhpc1sndmlzdWFsTGV2ZWwnXTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLHdCQUFiLGNBQTJDLGlCQUFpQixZQUFZLEVBQUM7O0VBQ3ZDLEtBQUEsY0FBc0I7Q0FBbUI7O0VBQ2xELEtBQUEsU0FBeUIsQ0FBQyxVQUFVLG9CQUFLLENBQUM7Q0FBRTtDQUVuRSxjQUFBO0VBQ0UsTUFBSztFQUNMLEtBQUssUUFBUTtFQUNiLEtBQUssY0FBYztDQUNyQiJ9
@@ -227,4 +227,4 @@ var SbbDialogElement = (() => {
227
227
  //#endregion
228
228
  export { SbbDialogElement as n, assignDialogResult as r, SbbDialogCloseEvent as t };
229
229
 
230
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1BSXRCOGl4Ry5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaW5zZXQ6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG4uc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG46aG9zdCg6bm90KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSkgLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICd0aXRsZSBjbG9zZS1idXR0b24nIGF1dG9cbiAgICAnY29udGVudCBjb250ZW50JyAxZnJcbiAgICAnYWN0aW9ucyBhY3Rpb25zJyBhdXRvIC8gMWZyIGF1dG87XG4gIGdhcDogMDtcbn1cblxuLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVzZSBhbmltYXRpb25zIHdpdGgga2V5ZnJhbWVzIGluc3RlYWQgb2YgdHJhbnNpdGlvbnMgaW4gb3JkZXIgbm90IHRvIGFsdGVyXG4vLyB0aGUgZGVmYXVsdCBgZGlzcGxheTogYmxvY2tgIG9mIHRoZSBtb2RhbCBvdGhlcndpc2UgaXQgY2F1c2VzIHNldmVyYWwgcHJvYmxlbXMsXG4vLyBlc3BlY2lhbGx5IGZvciBhY2Nlc3NpYmlsaXR5LlxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItZGlhbG9nLXRyYW5zbGF0ZS15LCAxMDAlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHNjcmVlblJlYWRlck9ubHlTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNsb3NlVGFnOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEFubm91bmNlIHRoZSBhY2Nlc3NpYmlsaXR5IGxhYmVsIG9yIGRpYWxvZyB0aXRsZSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIHB1YmxpYyBhbm5vdW5jZVRpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KFxuICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LnRleHRDb250ZW50LnRyaW0oKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuXG4gICAgY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBpZiAoIXRoaXMuc2tpcEZvY3VzUmVzdG9yYXRpb24pIHtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFubm91bmNlVGl0bGUoKSk7XG5cbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgaWYgKGNvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSBvcGVuIG9uIGZpcnN0VXBkYXRlLCBhbm5vdW5jZSB0aGUgdGl0bGVcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuYW5ub3VuY2VUaXRsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIHRoaXMuX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4gPVxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnOnNjb3BlID4gOmlzKHNiYi1kaWFsb2ctdGl0bGUsIHNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLCBzYmItZGlhbG9nLWNvbnRlbnQsIHNiYi1kaWFsb2ctYWN0aW9ucyknLFxuICAgICAgKSA9PT0gbnVsbDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2hhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCcsIGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbik7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9XG4gICAgICAhIXRoaXMuX2RpYWxvZ0VsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudCk7XG4gIH07XG5cbiAgLyoqIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuYmFja2Ryb3BBY3Rpb24gPT09ICdjbG9zZScgJiZcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgdGhpcy5fZGlhbG9nRWxlbWVudCAmJlxuICAgICAgIWV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZU92ZXJmbG93U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3RvcC1zaGFkb3cnLCAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSA+IDApO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnYm90dG9tLXNoYWRvdycsXG4gICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSArIChjb250ZW50RWxlbWVudD8ub2Zmc2V0SGVpZ2h0ID8/IDApIDxcbiAgICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPz8gMCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRFbGVtZW50KCk6IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy1jb250ZW50Jyk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnYmVmb3JlY2xvc2UnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHBhcmFtZXRlciBgZGV0YWlsYFxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hDbG9zZUV2ZW50KF9kZXRhaWw/OiBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7KCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZSgpfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZyc6IFNiYkRpYWxvZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOEJhLDBCQUFnQjttQkFBUzs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBcUI7OztpQ0FLeEQsU0FBUyxFQUFFLFdBQVcsbUJBQW1CLENBQUMsQ0FBQTsyQkFJMUMsU0FBUztJQUFFLFdBQVc7SUFBWSxTQUFTO0lBQU0sQ0FBQyxDQUFBO0dBSlAsYUFBQSxNQUFBLE1BQUEsNEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFjLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBZCxpQkFBYzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDhCQUFBLGtDQUFBO0dBSXRCLGFBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7Ozs7Ozs7OztHQVI1QyxLQUFBLGNBQXNCOzs7R0FDL0IsS0FBQSxTQUF5QixDQUFDLHdCQUF3QixVQUFVLGVBQU0sQ0FBQzs7RUFHOUM7O0VBQUEsSUFBZ0IsaUJBQWM7R0FBQSxPQUFBLEtBQUE7O0VBQTlCLElBQWdCLGVBQWMsT0FBQTtHQUFBLEtBQUEsbUNBQUE7O0VBSXRCOztF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
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1BSXRCOGl4Ry5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaW5zZXQ6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG4uc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG46aG9zdCg6bm90KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSkgLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICd0aXRsZSBjbG9zZS1idXR0b24nIGF1dG9cbiAgICAnY29udGVudCBjb250ZW50JyAxZnJcbiAgICAnYWN0aW9ucyBhY3Rpb25zJyBhdXRvIC8gMWZyIGF1dG87XG4gIGdhcDogMDtcbn1cblxuLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVzZSBhbmltYXRpb25zIHdpdGgga2V5ZnJhbWVzIGluc3RlYWQgb2YgdHJhbnNpdGlvbnMgaW4gb3JkZXIgbm90IHRvIGFsdGVyXG4vLyB0aGUgZGVmYXVsdCBgZGlzcGxheTogYmxvY2tgIG9mIHRoZSBtb2RhbCBvdGhlcndpc2UgaXQgY2F1c2VzIHNldmVyYWwgcHJvYmxlbXMsXG4vLyBlc3BlY2lhbGx5IGZvciBhY2Nlc3NpYmlsaXR5LlxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItZGlhbG9nLXRyYW5zbGF0ZS15LCAxMDAlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHNjcmVlblJlYWRlck9ubHlTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNsb3NlVGFnOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEFubm91bmNlIHRoZSBhY2Nlc3NpYmlsaXR5IGxhYmVsIG9yIGRpYWxvZyB0aXRsZSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIHB1YmxpYyBhbm5vdW5jZVRpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KFxuICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LnRleHRDb250ZW50LnRyaW0oKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuXG4gICAgY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBpZiAoIXRoaXMuc2tpcEZvY3VzUmVzdG9yYXRpb24pIHtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFubm91bmNlVGl0bGUoKSk7XG5cbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgaWYgKGNvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSBvcGVuIG9uIGZpcnN0VXBkYXRlLCBhbm5vdW5jZSB0aGUgdGl0bGVcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuYW5ub3VuY2VUaXRsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIHRoaXMuX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4gPVxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnOnNjb3BlID4gOmlzKHNiYi1kaWFsb2ctdGl0bGUsIHNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLCBzYmItZGlhbG9nLWNvbnRlbnQsIHNiYi1kaWFsb2ctYWN0aW9ucyknLFxuICAgICAgKSA9PT0gbnVsbDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2hhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCcsIGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbik7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9XG4gICAgICAhIXRoaXMuX2RpYWxvZ0VsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudCk7XG4gIH07XG5cbiAgLyoqIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuYmFja2Ryb3BBY3Rpb24gPT09ICdjbG9zZScgJiZcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgdGhpcy5fZGlhbG9nRWxlbWVudCAmJlxuICAgICAgIWV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZU92ZXJmbG93U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3RvcC1zaGFkb3cnLCAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSA+IDApO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnYm90dG9tLXNoYWRvdycsXG4gICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSArIChjb250ZW50RWxlbWVudD8ub2Zmc2V0SGVpZ2h0ID8/IDApIDxcbiAgICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPz8gMCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRFbGVtZW50KCk6IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy1jb250ZW50Jyk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnYmVmb3JlY2xvc2UnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHBhcmFtZXRlciBgZGV0YWlsYFxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hDbG9zZUV2ZW50KF9kZXRhaWw/OiBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7KCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZSgpfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZyc6IFNiYkRpYWxvZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOEJhLDBCQUFnQjttQkFBUzs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBcUI7OztpQ0FLeEQsU0FBUyxFQUFFLFdBQVcsa0JBQWlCLENBQUUsQ0FBQzsyQkFJMUMsU0FBUztJQUFFLFdBQVc7SUFBWSxTQUFTO0dBQUksQ0FBRSxDQUFDO0dBSlAsYUFBQSxNQUFBLE1BQUEsNEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFjLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBZCxpQkFBYztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSw4QkFBQSxpQ0FBQTtHQUl0QixhQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVIsV0FBUTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx3QkFBQSwyQkFBQTs7Ozs7Ozs7O0dBUjVDLEtBQUEsY0FBc0I7RUFBYTs7R0FDNUMsS0FBQSxTQUF5QixDQUFDLHdCQUF3QixVQUFVLGNBQUssQ0FBQztFQUFFO0VBRy9DOztFQUFBLElBQWdCLGlCQUFjO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBOUIsSUFBZ0IsZUFBYyxPQUFBO0dBQUEs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
@@ -14,4 +14,4 @@ SbbDialogTitleElement.define();
14
14
  //#endregion
15
15
  export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
16
16
 
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQge1xuICBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCxcbiAgU2JiRGlhbG9nQ2xvc2VCdXR0b25FbGVtZW50LFxuICBTYmJEaWFsb2dDb250ZW50RWxlbWVudCxcbiAgU2JiRGlhbG9nRWxlbWVudCxcbiAgU2JiRGlhbG9nVGl0bGVFbGVtZW50LFxufSBmcm9tICcuL2RpYWxvZy5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cucHVyZS50cyc7XG5cblNiYkRpYWxvZ0VsZW1lbnQuZGVmaW5lKCk7XG5TYmJEaWFsb2dBY3Rpb25zRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50LmRlZmluZSgpO1xuU2JiRGlhbG9nVGl0bGVFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLGlCQUFpQixRQUFRO0FBQ3pCLHdCQUF3QixRQUFRO0FBQ2hDLDRCQUE0QixRQUFRO0FBQ3BDLHdCQUF3QixRQUFRO0FBQ2hDLHNCQUFzQixRQUFRIn0=
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQge1xuICBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCxcbiAgU2JiRGlhbG9nQ2xvc2VCdXR0b25FbGVtZW50LFxuICBTYmJEaWFsb2dDb250ZW50RWxlbWVudCxcbiAgU2JiRGlhbG9nRWxlbWVudCxcbiAgU2JiRGlhbG9nVGl0bGVFbGVtZW50LFxufSBmcm9tICcuL2RpYWxvZy5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cucHVyZS50cyc7XG5cblNiYkRpYWxvZ0VsZW1lbnQuZGVmaW5lKCk7XG5TYmJEaWFsb2dBY3Rpb25zRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0Nsb3NlQnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50LmRlZmluZSgpO1xuU2JiRGlhbG9nVGl0bGVFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLGlCQUFpQixPQUFNO0FBQ3ZCLHdCQUF3QixPQUFNO0FBQzlCLDRCQUE0QixPQUFNO0FBQ2xDLHdCQUF3QixPQUFNO0FBQzlCLHNCQUFzQixPQUFNIn0=
@@ -72,4 +72,4 @@ var SbbDividerElement = (() => {
72
72
  //#endregion
73
73
  export { SbbDividerElement as t };
74
74
 
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQtQ2tfMHZJU2UuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZGl2aWRlci1jb2xvcjogdmFyKC0tc2JiLWRpdmlkZXItY29sb3ItbmVnYXRpdmUpO1xufVxuXG4uc2JiLWRpdmlkZXIge1xuICA6aG9zdCg6aXMoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10sIDpub3QoW29yaWVudGF0aW9uXSkpKSAmIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgJiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGl2aWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBkaXZpZGVyIGJldHdlZW4gc2VjdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaXZpZGVyRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpdmlkZXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnc2VwYXJhdG9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBPcmllbnRhdGlvbiBwcm9wZXJ0eSB3aXRoIHBvc3NpYmxlIHZhbHVlcyAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnLiBEZWZhdWx0cyB0byBob3Jpem9udGFsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9XG4gICAgJ2hvcml6b250YWwnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZW50YXRpb24nKSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYU9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLWRpdmlkZXJcIj48L2Rpdj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpdmlkZXInOiBTYmJEaXZpZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQ2dCYSwyQkFBaUI7bUJBQVMsaUJBQWlCLFdBQVc7Ozs7Y0FBdEQsMEJBQTBCLFlBQTRCOzs7OEJBTWhFLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0dBQUMsYUFBQSxNQUFBLE1BQUEseUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxpQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFXLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBWCxjQUFXOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsMkJBQUEsK0JBQUE7Ozs7Ozs7OztHQUx4QixLQUFBLGNBQXNCOzs7R0FDdEIsS0FBQSxPQUFPOzs7R0FDaEIsS0FBQSxTQUF5QixDQUFDLFVBQVUsZ0JBQU0sQ0FBQzs7RUFHckMsZ0NBQUEsa0JBQUEsTUFBQSwyQkFDM0IsYUFBWTs7RUFEZSxJQUFnQixjQUFXO0dBQUEsT0FBQSxLQUFBOztFQUEzQixJQUFnQixZQUFXLE9BQUE7R0FBQSxLQUFBLGdDQUFBOztFQUdyQyxXQUFXLG1CQUF1QztHQUNuRSxNQUFNLFdBQVcsa0JBQWtCO0dBRW5DLElBQUksa0JBQWtCLElBQUksY0FBYyxFQUN0QyxLQUFLLFVBQVUsa0JBQWtCLEtBQUs7O0VBSXZCLFNBQU07R0FDdkIsT0FBTyxJQUFJIn0=
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQtQ2tfMHZJU2UuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZGl2aWRlci1jb2xvcjogdmFyKC0tc2JiLWRpdmlkZXItY29sb3ItbmVnYXRpdmUpO1xufVxuXG4uc2JiLWRpdmlkZXIge1xuICA6aG9zdCg6aXMoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10sIDpub3QoW29yaWVudGF0aW9uXSkpKSAmIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgJiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1kaXZpZGVyLWNvbG9yKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGl2aWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBkaXZpZGVyIGJldHdlZW4gc2VjdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaXZpZGVyRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpdmlkZXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnc2VwYXJhdG9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBPcmllbnRhdGlvbiBwcm9wZXJ0eSB3aXRoIHBvc3NpYmxlIHZhbHVlcyAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnLiBEZWZhdWx0cyB0byBob3Jpem9udGFsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9XG4gICAgJ2hvcml6b250YWwnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZW50YXRpb24nKSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYU9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLWRpdmlkZXJcIj48L2Rpdj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpdmlkZXInOiBTYmJEaXZpZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQ2dCYSwyQkFBaUI7bUJBQVMsaUJBQWlCLFVBQVU7Ozs7Y0FBckQsMEJBQTBCLFlBQTRCOzs7OEJBTWhFLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBQUMsYUFBQSxNQUFBLE1BQUEseUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxpQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFXLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBWCxjQUFXO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDJCQUFBLDhCQUFBOzs7Ozs7Ozs7R0FMeEIsS0FBQSxjQUFzQjtFQUFjOztHQUNwQyxLQUFBLE9BQU87RUFBWTs7R0FDNUIsS0FBQSxTQUF5QixDQUFDLFVBQVUsZUFBSyxDQUFDO0VBQUU7RUFHdEMsZ0NBQUEsa0JBQUEsTUFBQSwyQkFDM0IsWUFBWTs7RUFEZSxJQUFnQixjQUFXO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBM0IsSUFBZ0IsWUFBVyxPQUFBO0dBQUEsS0FBQSxnQ0FBQTtFQUFBO0VBR3JDLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxpQkFBaUI7R0FFbEMsSUFBSSxrQkFBa0IsSUFBSSxhQUFhLEdBQ3JDLEtBQUssVUFBVSxrQkFBa0IsS0FBSztFQUUxQztFQUVtQixTQUFNO0dBQ3ZCLE9BQU8sSUFBSTtFQUNiIn0=
@@ -6,4 +6,4 @@ SbbDividerElement.define();
6
6
  //#endregion
7
7
  export { SbbDividerElement };
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGl2aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi9kaXZpZGVyLnB1cmUudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIucHVyZS50cyc7XG5cblNiYkRpdmlkZXJFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0Esa0JBQWtCLFFBQVEifQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGl2aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi9kaXZpZGVyLnB1cmUudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIucHVyZS50cyc7XG5cblNiYkRpdmlkZXJFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0Esa0JBQWtCLE9BQU0ifQ==
@@ -391,4 +391,4 @@ var SbbElement = class extends LitElement {
391
391
  //#endregion
392
392
  export { ɵstateController as a, removeAriaElements as i, SbbSlottedChangeEvent as n, appendAriaElements as r, SbbElement as t };
393
393
 
394
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcbiAgcHVibGljIHN0YXRpYyBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcHVibGljIHN0YXRpYyByb2xlPzogRWxlbWVudEludGVybmFsc1sncm9sZSddO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuICBwcml2YXRlIF9oeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uQ29tcGxldGUgPSBuZXcgUHJvbWlzZTxib29sZWFuPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgKTtcbiAgcHJpdmF0ZSBfcmVzb2x2ZUh5ZHJhdGlvbiE6IChoeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfdGV4dE9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgaHlkcmF0aW9uLlxuICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICpcbiAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBoeWRyYXRpb24gaXMgcmVxdWlyZWQgYW5kIG5vdCBjb21wbGV0ZWQuICovXG4gIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLnNldCh0aGlzLCB0aGlzLmludGVybmFscyk7XG4gICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscywgJ3N0YXRlcycsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBDdXN0b21TdGF0ZVNldFBvbHlmaWxsKHRoaXMpLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIHVzZSB0aGUgQ3VzdG9tU3RhdGVTZXQgcG9seWZpbGwgaW4gU1NSLCB3aGljaCByZW5kZXJzIHRoZSBzdGF0ZSBhcyBhdHRyaWJ1dGVzXG4gICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgLy8gYXR0cmlidXRlcyB0byBpbnRlcm5hbCBzdGF0ZS5cbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZmlsdGVyKChuKSA9PiBuLnN0YXJ0c1dpdGgoJ3N0YXRlLS0nKSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvbGUgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyBTYmJFbGVtZW50Q29uc3RydWN0b3IpLnJvbGU7XG4gICAgaWYgKHJvbGUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgIC8vIGlzIGF2YWlsYWJsZSBkdXJpbmcgY29uc3RydWN0aW9uL3VwZ3JhZGUgcGhhc2UuXG4gICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSAhIXRoaXMuc2hhZG93Um9vdDtcbiAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAvLyBjYW4gY2F1c2UgcmVuZGVyIGRpZmZlcmVuY2VzLCB3aGljaCB3b3VsZCBicmVhayBoeWRyYXRpb24uIEFmdGVyXG4gICAgICAvLyBoeWRyYXRpb24gaXMgY29tcGxldGUsIHdlIGRpc3BhdGNoIGEgbWFudWFsIHNsb3RjaGFuZ2UgZXZlbnQsIGlmIHRoZXJlXG4gICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgY29uc3Qgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgY29uc3Qgc2xvdHMgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3Nsb3QnKTtcbiAgICAgIGlmIChzbG90cz8ubGVuZ3RoKSB7XG4gICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgc2xvdC5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQsIGV2ZW50T3B0aW9ucyksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+IHtcbiAgICAgICAgICAgIHNsb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgaW4gdGhlIGdsb2JhbCBDdXN0b21FbGVtZW50UmVnaXN0cnkuICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbGVtZW50TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHN0YXRpYyBwcm9wZXJ0eSBcImVsZW1lbnROYW1lXCIgaXMgbm90IGRlZmluZWQgb24gJHt0aGlzLm5hbWV9LiBQbGVhc2UgZGVmaW5lIGl0IHRvIHJlZ2lzdGVyIHRoZSBjdXN0b20gZWxlbWVudC5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSBjdXN0b21FbGVtZW50cy5nZXQodGhpcy5lbGVtZW50TmFtZSk7XG4gICAgaWYgKCFlbGVtZW50Q2xhc3MpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcblxuICAgICAgY29uc3QgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgICBsZXQgY3RvcjogU2JiRWxlbWVudFR5cGUgPSB0aGlzO1xuICAgICAgd2hpbGUgKGN0b3JbJ18kc2JiRWxlbWVudCQnXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpKSB7XG4gICAgICAgICAgZWxlbWVudERlcGVuZGVuY2llcy5wdXNoKC4uLmN0b3IuZWxlbWVudERlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cbiAgICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKTtcbiAgICAgIH1cbiAgICAgIG5ldyBTZXQoZWxlbWVudERlcGVuZGVuY2llcykuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4gZGVwZW5kZW5jeS5kZWZpbmUoKSk7XG4gICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGVsZW1lbnRDbGFzcyAhPT0gdGhpcykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIGN1c3RvbSBlbGVtZW50IHdpdGggbmFtZSBcIiR7dGhpcy5lbGVtZW50TmFtZX1cIiBpcyBhbHJlYWR5IGRlZmluZWQuIFNraXBwaW5nLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBgc3R5bGVzYCBmcm9tIGV2ZXJ5IGNsYXNzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4gKHVzaW5nIGBPYmplY3QuaGFzT3duYClcbiAgICogYW5kIG1lcmdlcyB0aGVtIGluIHRvcC1kb3duIG9yZGVyLiBUaGlzIG1lYW5zIGVhY2ggY2xhc3MvbWl4aW4gb25seSBuZWVkcyB0byBkZWNsYXJlXG4gICAqIGl0cyAqKm93bioqIHN0eWxlcyDigJQgdGhlcmUgaXMgbm8gbmVlZCB0byByZWZlcmVuY2UgYHN1cGVyLnN0eWxlc2AuXG4gICAqXG4gICAqIExpdCdzIGRlZmF1bHQgYmVoYXZpb3VyIGFscmVhZHkgd2Fsa3MgdGhlIGNoYWluLCBidXQgZmFpbHMgZm9yIG1peGlucyB3aGVyZVxuICAgKiBgc3VwZXIuc3R5bGVzYCByZXNvbHZlcyB0byB0aGUgd3JvbmcgY2xhc3MuIFRoaXMgb3ZlcnJpZGUgZml4ZXMgdGhhdC5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgb3ZlcnJpZGUgZmluYWxpemVTdHlsZXMoX3N0eWxlczogQ1NTUmVzdWx0R3JvdXApOiBDU1NSZXN1bHRPck5hdGl2ZVtdIHtcbiAgICBjb25zdCBjb2xsZWN0ZWQ6IENTU1Jlc3VsdEdyb3VwW10gPSBbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgY3RvcjogdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsID0gdGhpcztcbiAgICB3aGlsZSAoY3RvciAmJiBjdG9yICE9PSBMaXRFbGVtZW50KSB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihjdG9yLCAnc3R5bGVzJykgJiYgY3Rvci5zdHlsZXMpIHtcbiAgICAgICAgY29sbGVjdGVkLnVuc2hpZnQoY3Rvci5zdHlsZXMpO1xuICAgICAgfVxuICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKSBhcyB0eXBlb2YgU2JiRWxlbWVudCB8IG51bGw7XG4gICAgfVxuICAgIC8vIENhbGwgTGl0RWxlbWVudC5maW5hbGl6ZVN0eWxlcyB3aGljaCBoYW5kbGVzIGRlZHVwICYgYWRvcHRpb25cbiAgICByZXR1cm4gc3VwZXIuZmluYWxpemVTdHlsZXMoY29sbGVjdGVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVSZW5kZXJSb290KCk6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB7XG4gICAgY29uc3Qgcm9vdCA9IHN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZSkgPT5cbiAgICAgIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3R0ZWRjaGFuZ2UnLCAoZSkgPT4gdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIoZSwgZS5zbG90KSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3RcbiAgICAgID8ucXVlcnlTZWxlY3RvckFsbD8uKCdzbG90JylcbiAgICAgIC5mb3JFYWNoKChzbG90KSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3QpKTtcblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gV2hlbiBoeWRyYXRpb24gaXMgbmVlZGVkLCB3ZSB3YWl0IHRoZSBoeWRyYXRpb24gcHJvY2VzcyB0byBmaW5pc2gsIHdoaWNoIGlzIHBhdGNoZWRcbiAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmb3JjZSB8fCAoZm9yY2UgIT09IGZhbHNlICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zbG90Y2hhbmdlSGFuZGxlcihldmVudDogRXZlbnQsIHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc29sdmVkU2xvdCA9IHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoc2xvdClcbiAgICAgID8gc2xvdFxuICAgICAgOiBldmVudFxuICAgICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAgIC5maW5kKFxuICAgICAgICAgICAgKGVsKTogZWwgaXMgSFRNTFNsb3RFbGVtZW50ID0+XG4gICAgICAgICAgICAgIGVsIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50ICYmIHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoZWwpLFxuICAgICAgICAgICk7XG4gICAgaWYgKHJlc29sdmVkU2xvdCkge1xuICAgICAgdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShyZXNvbHZlZFNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgIGlmICghc2xvdC5uYW1lKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU5hbWUgPSBzbG90Lm5hbWUgPyBgc2xvdHRlZC0ke3Nsb3QubmFtZX1gIDogJ3Nsb3R0ZWQnO1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRDb250ZW50ID0gdGhpcy5faGFzU2xvdHRlZENvbnRlbnQoc2xvdCk7XG4gICAgaWYgKGhhc1Nsb3R0ZWRDb250ZW50ICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9IGVsc2UgaWYgKCFoYXNTbG90dGVkQ29udGVudCAmJiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3RleHRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIC8vIE9ubHkgY3JlYXRlIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoZW4gaXQgaXMgYWN0dWFsbHkgbmVlZGVkIHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLlxuICAgIHRoaXMuX3RleHRPYnNlcnZlciA/Pz0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3Qgc2xvdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MU2xvdEVsZW1lbnQ+KCdzbG90Om5vdChbbmFtZV0pJyk7XG4gICAgICBpZiAoc2xvdCkge1xuICAgICAgICB0aGlzLl91cGRhdGVTbG90dGVkU3RhdGUoc2xvdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBUZXh0IG5vZGVzIGNhbiBiZSBlbXB0eSBhbmQgZmlsbGVkIGxhdGVyIChvciB2aWNlIHZlcnNhKS5cbiAgICAvLyBGaWxsaW5nIGFuIGV4aXN0aW5nIG5vZGUgbGF0ZXIgd291bGQgbm90IHRyaWdnZXIgYW5vdGhlciBzbG90Y2hhbmdlIGV2ZW50LlxuICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBvYnNlcnZlIHRleHQgbm9kZXMgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIGZpbGxlZCBvciBlbXB0eS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgdW5uYW1lZCBzbG90IGFzIGZvciBldmVyeSBvdGhlciB0aGVyZSB3b3VsZFxuICAgIC8vIGJlIGEgdGFnIHdoaWNoIHRyaWdnZXJzIHRoZSBzbG90IGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGUgbWFpbiByZWFzb24gaXMgdGhhdCBBbmd1bGFyIGNyZWF0ZXMgZW1wdHkgdGV4dCBub2RlcyBhbmQgZmlsbHMgdGhlbSBsYXRlci5cbiAgICBzbG90XG4gICAgICAuYXNzaWduZWROb2RlcygpXG4gICAgICAuZmlsdGVyKChuKSA9PiBuLm5vZGVUeXBlID09PSBuLlRFWFRfTk9ERSlcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB0aGlzLl90ZXh0T2JzZXJ2ZXIhLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzbG90Lm5hbWVcbiAgICAgID8gc2xvdFxuICAgICAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgICAgICAuc29tZSgobm9kZSkgPT4gIShub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50KSB8fCB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKSlcbiAgICAgIDogc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobm9kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50XG4gICAgICAgICAgICA/IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KG5vZGUpXG4gICAgICAgICAgICA6IG5vZGUubm9kZVR5cGUgIT09IG5vZGUuVEVYVF9OT0RFIHx8ICEhbm9kZS50ZXh0Q29udGVudD8udHJpbSgpO1xuICAgICAgICB9KTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBzbG90dGVkY2hhbmdlOiBTYmJTbG90dGVkQ2hhbmdlRXZlbnQ7XG4gIH1cbiAgaW50ZXJmYWNlIFNoYWRvd1Jvb3RFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FDbUJBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUyw0QkFBNEIsR0FDbEQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE9BQU87RUFEa0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxLQUFLO0VBQzlCLElBQUksQ0FBQyxVQUdILFFBQVEsU0FBUyxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUM7O0NBSXJDLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxLQUFLO0VBRWhDLE9BQU8sTUFBTSxJQUFJLE1BQU07O0NBR1QsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLE1BQU07RUFDL0IsT0FBTyxNQUFNLE9BQU8sTUFBTTs7Q0FHWixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxNQUFNLENBQUM7O0NBR3RDLGdCQUFhO0VBQ2xCLEtBQUssY0FBYzs7Q0FHYixhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsUUFBUTs7Q0FHaEQsZUFBWTtFQUNsQixJQUFJLEtBQUssVUFDUDtFQUVGLEtBQUssV0FBVztFQUNoQixLQUFLLFNBQVMsVUFBVSxLQUFLLGFBQWEsT0FBTyxLQUFLLENBQUM7O0lBRzNEO0FBRU4sSUFBSSxDQUFDLFVBQVU7Q0FFYixJQUFJLFNBQVM7Q0FDYixNQUFNLGVBQWUsV0FDbkIsT0FBTyxZQUFZLFNBQ2xCLGtCQUFrQixVQUNmLGdCQUNN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
394
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcbiAgcHVibGljIHN0YXRpYyBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcHVibGljIHN0YXRpYyByb2xlPzogRWxlbWVudEludGVybmFsc1sncm9sZSddO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuICBwcml2YXRlIF9oeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uQ29tcGxldGUgPSBuZXcgUHJvbWlzZTxib29sZWFuPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgKTtcbiAgcHJpdmF0ZSBfcmVzb2x2ZUh5ZHJhdGlvbiE6IChoeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfdGV4dE9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgaHlkcmF0aW9uLlxuICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICpcbiAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBoeWRyYXRpb24gaXMgcmVxdWlyZWQgYW5kIG5vdCBjb21wbGV0ZWQuICovXG4gIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLnNldCh0aGlzLCB0aGlzLmludGVybmFscyk7XG4gICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscywgJ3N0YXRlcycsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBDdXN0b21TdGF0ZVNldFBvbHlmaWxsKHRoaXMpLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIHVzZSB0aGUgQ3VzdG9tU3RhdGVTZXQgcG9seWZpbGwgaW4gU1NSLCB3aGljaCByZW5kZXJzIHRoZSBzdGF0ZSBhcyBhdHRyaWJ1dGVzXG4gICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgLy8gYXR0cmlidXRlcyB0byBpbnRlcm5hbCBzdGF0ZS5cbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZmlsdGVyKChuKSA9PiBuLnN0YXJ0c1dpdGgoJ3N0YXRlLS0nKSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvbGUgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyBTYmJFbGVtZW50Q29uc3RydWN0b3IpLnJvbGU7XG4gICAgaWYgKHJvbGUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgIC8vIGlzIGF2YWlsYWJsZSBkdXJpbmcgY29uc3RydWN0aW9uL3VwZ3JhZGUgcGhhc2UuXG4gICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSAhIXRoaXMuc2hhZG93Um9vdDtcbiAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAvLyBjYW4gY2F1c2UgcmVuZGVyIGRpZmZlcmVuY2VzLCB3aGljaCB3b3VsZCBicmVhayBoeWRyYXRpb24uIEFmdGVyXG4gICAgICAvLyBoeWRyYXRpb24gaXMgY29tcGxldGUsIHdlIGRpc3BhdGNoIGEgbWFudWFsIHNsb3RjaGFuZ2UgZXZlbnQsIGlmIHRoZXJlXG4gICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgY29uc3Qgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgY29uc3Qgc2xvdHMgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3Nsb3QnKTtcbiAgICAgIGlmIChzbG90cz8ubGVuZ3RoKSB7XG4gICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgc2xvdC5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQsIGV2ZW50T3B0aW9ucyksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+IHtcbiAgICAgICAgICAgIHNsb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgaW4gdGhlIGdsb2JhbCBDdXN0b21FbGVtZW50UmVnaXN0cnkuICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbGVtZW50TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHN0YXRpYyBwcm9wZXJ0eSBcImVsZW1lbnROYW1lXCIgaXMgbm90IGRlZmluZWQgb24gJHt0aGlzLm5hbWV9LiBQbGVhc2UgZGVmaW5lIGl0IHRvIHJlZ2lzdGVyIHRoZSBjdXN0b20gZWxlbWVudC5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSBjdXN0b21FbGVtZW50cy5nZXQodGhpcy5lbGVtZW50TmFtZSk7XG4gICAgaWYgKCFlbGVtZW50Q2xhc3MpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcblxuICAgICAgY29uc3QgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgICBsZXQgY3RvcjogU2JiRWxlbWVudFR5cGUgPSB0aGlzO1xuICAgICAgd2hpbGUgKGN0b3JbJ18kc2JiRWxlbWVudCQnXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpKSB7XG4gICAgICAgICAgZWxlbWVudERlcGVuZGVuY2llcy5wdXNoKC4uLmN0b3IuZWxlbWVudERlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cbiAgICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKTtcbiAgICAgIH1cbiAgICAgIG5ldyBTZXQoZWxlbWVudERlcGVuZGVuY2llcykuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4gZGVwZW5kZW5jeS5kZWZpbmUoKSk7XG4gICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGVsZW1lbnRDbGFzcyAhPT0gdGhpcykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIGN1c3RvbSBlbGVtZW50IHdpdGggbmFtZSBcIiR7dGhpcy5lbGVtZW50TmFtZX1cIiBpcyBhbHJlYWR5IGRlZmluZWQuIFNraXBwaW5nLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBgc3R5bGVzYCBmcm9tIGV2ZXJ5IGNsYXNzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4gKHVzaW5nIGBPYmplY3QuaGFzT3duYClcbiAgICogYW5kIG1lcmdlcyB0aGVtIGluIHRvcC1kb3duIG9yZGVyLiBUaGlzIG1lYW5zIGVhY2ggY2xhc3MvbWl4aW4gb25seSBuZWVkcyB0byBkZWNsYXJlXG4gICAqIGl0cyAqKm93bioqIHN0eWxlcyDigJQgdGhlcmUgaXMgbm8gbmVlZCB0byByZWZlcmVuY2UgYHN1cGVyLnN0eWxlc2AuXG4gICAqXG4gICAqIExpdCdzIGRlZmF1bHQgYmVoYXZpb3VyIGFscmVhZHkgd2Fsa3MgdGhlIGNoYWluLCBidXQgZmFpbHMgZm9yIG1peGlucyB3aGVyZVxuICAgKiBgc3VwZXIuc3R5bGVzYCByZXNvbHZlcyB0byB0aGUgd3JvbmcgY2xhc3MuIFRoaXMgb3ZlcnJpZGUgZml4ZXMgdGhhdC5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgb3ZlcnJpZGUgZmluYWxpemVTdHlsZXMoX3N0eWxlczogQ1NTUmVzdWx0R3JvdXApOiBDU1NSZXN1bHRPck5hdGl2ZVtdIHtcbiAgICBjb25zdCBjb2xsZWN0ZWQ6IENTU1Jlc3VsdEdyb3VwW10gPSBbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgY3RvcjogdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsID0gdGhpcztcbiAgICB3aGlsZSAoY3RvciAmJiBjdG9yICE9PSBMaXRFbGVtZW50KSB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihjdG9yLCAnc3R5bGVzJykgJiYgY3Rvci5zdHlsZXMpIHtcbiAgICAgICAgY29sbGVjdGVkLnVuc2hpZnQoY3Rvci5zdHlsZXMpO1xuICAgICAgfVxuICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKSBhcyB0eXBlb2YgU2JiRWxlbWVudCB8IG51bGw7XG4gICAgfVxuICAgIC8vIENhbGwgTGl0RWxlbWVudC5maW5hbGl6ZVN0eWxlcyB3aGljaCBoYW5kbGVzIGRlZHVwICYgYWRvcHRpb25cbiAgICByZXR1cm4gc3VwZXIuZmluYWxpemVTdHlsZXMoY29sbGVjdGVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVSZW5kZXJSb290KCk6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB7XG4gICAgY29uc3Qgcm9vdCA9IHN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZSkgPT5cbiAgICAgIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3R0ZWRjaGFuZ2UnLCAoZSkgPT4gdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIoZSwgZS5zbG90KSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3RcbiAgICAgID8ucXVlcnlTZWxlY3RvckFsbD8uKCdzbG90JylcbiAgICAgIC5mb3JFYWNoKChzbG90KSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3QpKTtcblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gV2hlbiBoeWRyYXRpb24gaXMgbmVlZGVkLCB3ZSB3YWl0IHRoZSBoeWRyYXRpb24gcHJvY2VzcyB0byBmaW5pc2gsIHdoaWNoIGlzIHBhdGNoZWRcbiAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmb3JjZSB8fCAoZm9yY2UgIT09IGZhbHNlICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zbG90Y2hhbmdlSGFuZGxlcihldmVudDogRXZlbnQsIHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc29sdmVkU2xvdCA9IHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoc2xvdClcbiAgICAgID8gc2xvdFxuICAgICAgOiBldmVudFxuICAgICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAgIC5maW5kKFxuICAgICAgICAgICAgKGVsKTogZWwgaXMgSFRNTFNsb3RFbGVtZW50ID0+XG4gICAgICAgICAgICAgIGVsIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50ICYmIHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoZWwpLFxuICAgICAgICAgICk7XG4gICAgaWYgKHJlc29sdmVkU2xvdCkge1xuICAgICAgdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShyZXNvbHZlZFNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgIGlmICghc2xvdC5uYW1lKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU5hbWUgPSBzbG90Lm5hbWUgPyBgc2xvdHRlZC0ke3Nsb3QubmFtZX1gIDogJ3Nsb3R0ZWQnO1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRDb250ZW50ID0gdGhpcy5faGFzU2xvdHRlZENvbnRlbnQoc2xvdCk7XG4gICAgaWYgKGhhc1Nsb3R0ZWRDb250ZW50ICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9IGVsc2UgaWYgKCFoYXNTbG90dGVkQ29udGVudCAmJiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3RleHRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIC8vIE9ubHkgY3JlYXRlIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoZW4gaXQgaXMgYWN0dWFsbHkgbmVlZGVkIHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLlxuICAgIHRoaXMuX3RleHRPYnNlcnZlciA/Pz0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3Qgc2xvdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MU2xvdEVsZW1lbnQ+KCdzbG90Om5vdChbbmFtZV0pJyk7XG4gICAgICBpZiAoc2xvdCkge1xuICAgICAgICB0aGlzLl91cGRhdGVTbG90dGVkU3RhdGUoc2xvdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBUZXh0IG5vZGVzIGNhbiBiZSBlbXB0eSBhbmQgZmlsbGVkIGxhdGVyIChvciB2aWNlIHZlcnNhKS5cbiAgICAvLyBGaWxsaW5nIGFuIGV4aXN0aW5nIG5vZGUgbGF0ZXIgd291bGQgbm90IHRyaWdnZXIgYW5vdGhlciBzbG90Y2hhbmdlIGV2ZW50LlxuICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBvYnNlcnZlIHRleHQgbm9kZXMgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIGZpbGxlZCBvciBlbXB0eS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgdW5uYW1lZCBzbG90IGFzIGZvciBldmVyeSBvdGhlciB0aGVyZSB3b3VsZFxuICAgIC8vIGJlIGEgdGFnIHdoaWNoIHRyaWdnZXJzIHRoZSBzbG90IGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGUgbWFpbiByZWFzb24gaXMgdGhhdCBBbmd1bGFyIGNyZWF0ZXMgZW1wdHkgdGV4dCBub2RlcyBhbmQgZmlsbHMgdGhlbSBsYXRlci5cbiAgICBzbG90XG4gICAgICAuYXNzaWduZWROb2RlcygpXG4gICAgICAuZmlsdGVyKChuKSA9PiBuLm5vZGVUeXBlID09PSBuLlRFWFRfTk9ERSlcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB0aGlzLl90ZXh0T2JzZXJ2ZXIhLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzbG90Lm5hbWVcbiAgICAgID8gc2xvdFxuICAgICAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgICAgICAuc29tZSgobm9kZSkgPT4gIShub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50KSB8fCB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKSlcbiAgICAgIDogc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobm9kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50XG4gICAgICAgICAgICA/IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KG5vZGUpXG4gICAgICAgICAgICA6IG5vZGUubm9kZVR5cGUgIT09IG5vZGUuVEVYVF9OT0RFIHx8ICEhbm9kZS50ZXh0Q29udGVudD8udHJpbSgpO1xuICAgICAgICB9KTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBzbG90dGVkY2hhbmdlOiBTYmJTbG90dGVkQ2hhbmdlRXZlbnQ7XG4gIH1cbiAgaW50ZXJmYWNlIFNoYWRvd1Jvb3RFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FDbUJBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUywyQkFBMkIsSUFDakQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE1BQUs7RUFEb0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxJQUFJO0VBQzdCLElBQUksQ0FBQyxVQUdILFFBQVEsUUFBTyxFQUFHLFdBQVcsS0FBSyxhQUFZLENBQUU7Q0FFcEQ7Q0FFZ0IsSUFBSSxPQUFhO0VBQy9CLElBQUksS0FBSyxVQUNQLEtBQUssYUFBYSxPQUFPLElBQUk7RUFFL0IsT0FBTyxNQUFNLElBQUksS0FBSztDQUN4QjtDQUVnQixPQUFPLE9BQWE7RUFDbEMsS0FBSyxhQUFhLE9BQU8sS0FBSztFQUM5QixPQUFPLE1BQU0sT0FBTyxLQUFLO0NBQzNCO0NBRWdCLFFBQUs7RUFDbkIsS0FBSyxTQUFTLFVBQVUsS0FBSyxPQUFPLEtBQUssQ0FBQztDQUM1QztDQUVPLGdCQUFhO0VBQ2xCLEtBQUssYUFBWTtDQUNuQjtDQUVRLGFBQWEsT0FBZSxTQUFnQjtFQUNsRCxLQUFLLE1BQU0sZ0JBQWdCLFVBQVUsU0FBUyxPQUFPO0NBQ3ZEO0NBRVEsZUFBWTtFQUNsQixJQUFJLEtBQUssVUFDUDtFQUVGLEtBQUssV0FBVztFQUNoQixLQUFLLFNBQVMsVUFBVSxLQUFLLGFBQWEsT0FBTyxJQUFJLENBQUM7Q0FDeEQ7SUFFRjtBQUVOLElBQUksQ0FBQyxVQUFVO0NBRWIsSUFBSSxTQUFTO0NBQ2IsTUFBTSxlQUFlLFdBQ25C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
@@ -50,4 +50,4 @@ var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
50
50
  //#endregion
51
51
  export { SbbErrorElement as t };
52
52
 
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LVdDa2l3TTdfLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWVycm9yLWNvbG9yOiBMaW5rVGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZXJyb3ItY29sb3I6IHZhcigtLXNiYi1jb2xvci1yZWQ4NSk7XG59XG5cbi5lcnJvcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tX3NiYi1lcnJvci1oZWlnaHQpO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uZXJyb3ItY29udGVudCB7XG4gIC8vIEZpeCBmb3IgbGluZS1oZWlnaHQgdGFraW5nIG1vcmUgdGhhbiByZXNlcnZlZCBzcGFjZVxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cblxuLmVycm9yX19pY29uLXN2ZyB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXJyb3Iuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgdGhlIGVycm9yIG1lc3NhZ2UuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBlcnJvciBpY29uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRXJyb3JFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXJyb3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk7XG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yX19pY29uXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJpY29uXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJlcnJvcl9faWNvbi1zdmdcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTRcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTRcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNCAxNFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGluZSB4MT1cIjdcIiB5MT1cIjNcIiB4Mj1cIjdcIiB5Mj1cIjguNVwiIC8+XG4gICAgICAgICAgICA8bGluZSB4MT1cIjdcIiB5MT1cIjEwXCIgeDI9XCI3XCIgeTI9XCIxMVwiIC8+XG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiN1wiIGN5PVwiN1wiIHI9XCI2LjVcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1lcnJvcic6IFNiYkVycm9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLGtCQUFiLGNBQXFDLGlCQUFpQixXQUFXLENBQUE7O0VBQy9CLEtBQUEsY0FBc0I7OztFQUMvQixLQUFBLFNBQXlCLENBQUMsVUFBVSxjQUFNLENBQUM7O0NBRWxELG9CQUFpQjtFQUMvQixNQUFNLG1CQUFtQjtFQUN6QixNQUFNLFlBQVksS0FBSyxVQUFVLGlCQUFpQjtFQUNsRCxJQUFJLFdBQ0YsS0FBSyxXQUFXLFVBQVUsYUFBYSxXQUFXOztDQUluQyxTQUFNO0VBQ3ZCLE9BQU8sSUFBSSJ9
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LVdDa2l3TTdfLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWVycm9yLWNvbG9yOiBMaW5rVGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZXJyb3ItY29sb3I6IHZhcigtLXNiYi1jb2xvci1yZWQ4NSk7XG59XG5cbi5lcnJvcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tX3NiYi1lcnJvci1oZWlnaHQpO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uZXJyb3ItY29udGVudCB7XG4gIC8vIEZpeCBmb3IgbGluZS1oZWlnaHQgdGFraW5nIG1vcmUgdGhhbiByZXNlcnZlZCBzcGFjZVxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cblxuLmVycm9yX19pY29uLXN2ZyB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXJyb3Iuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgdGhlIGVycm9yIG1lc3NhZ2UuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBlcnJvciBpY29uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRXJyb3JFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXJyb3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk7XG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yX19pY29uXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJpY29uXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJlcnJvcl9faWNvbi1zdmdcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTRcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTRcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNCAxNFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGluZSB4MT1cIjdcIiB5MT1cIjNcIiB4Mj1cIjdcIiB5Mj1cIjguNVwiIC8+XG4gICAgICAgICAgICA8bGluZSB4MT1cIjdcIiB5MT1cIjEwXCIgeDI9XCI3XCIgeTI9XCIxMVwiIC8+XG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiN1wiIGN5PVwiN1wiIHI9XCI2LjVcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1lcnJvcic6IFNiYkVycm9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLGtCQUFiLGNBQXFDLGlCQUFpQixVQUFVLEVBQUM7O0VBQy9CLEtBQUEsY0FBc0I7Q0FBWTs7RUFDM0MsS0FBQSxTQUF5QixDQUFDLFVBQVUsYUFBSyxDQUFDO0NBQUU7Q0FFbkQsb0JBQWlCO0VBQy9CLE1BQU0sa0JBQWlCO0VBQ3ZCLE1BQU0sWUFBWSxLQUFLLFVBQVUsZ0JBQWdCO0VBQ2pELElBQUksV0FDRixLQUFLLFdBQVcsVUFBVSxhQUFhLFVBQVU7Q0FFckQ7Q0FFbUIsU0FBTTtFQUN2QixPQUFPLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQmIifQ==