@sbb-esta/lyne-elements-dev 4.12.1-dev.1778136187 → 4.12.1-dev.1778145512

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 (261) hide show
  1. package/custom-elements.json +1266 -1266
  2. package/development/accordion.component-CGTwcntz.js +1 -1
  3. package/development/action-group.component-DQ7_kjB9.js +1 -1
  4. package/development/alert-group.component-DnnPrv5I.js +1 -1
  5. package/development/alert.component-CYb1vnDZ.js +1 -1
  6. package/development/autocomplete/autocomplete.component.js +1 -1
  7. package/development/autocomplete-base-element-BpCpYcX9.js +1 -1
  8. package/development/block-link-common-COY1RI1I.js +1 -1
  9. package/development/breadcrumb-group.component-DZslNBlB.js +1 -1
  10. package/development/breadcrumb.component-DxSUxLZO.js +1 -1
  11. package/development/button/accent-button/accent-button.component.js +1 -1
  12. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  13. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  14. package/development/button/button/button.component.js +1 -1
  15. package/development/button/button-link/button-link.component.js +1 -1
  16. package/development/button/button-static/button-static.component.js +1 -1
  17. package/development/button/mini-button/mini-button.component.js +1 -1
  18. package/development/button/secondary-button/secondary-button.component.js +1 -1
  19. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  20. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  21. package/development/button/transparent-button/transparent-button.component.js +1 -1
  22. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  23. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  24. package/development/button-common-7dmrUx4A.js +1 -1
  25. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  26. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  27. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  28. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  29. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  30. package/development/calendar-day.component-DFvRrp2O.js +1 -1
  31. package/development/calendar.component-Dg3D2A7k.js +1 -1
  32. package/development/card/card-button/card-button.component.js +1 -1
  33. package/development/card/card-link/card-link.component.js +1 -1
  34. package/development/card-action-common-1FDHbfeR.js +1 -1
  35. package/development/card-badge.component-CUZIoVbL.js +1 -1
  36. package/development/card.component-DsqIZC_u.js +1 -1
  37. package/development/carousel-item.component-CIgUJtDJ.js +1 -1
  38. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  39. package/development/carousel.component-Dl48ROSf.js +1 -1
  40. package/development/checkbox-common-Dd5uup8K.js +1 -1
  41. package/development/checkbox-group/checkbox-group.component.js +1 -1
  42. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  43. package/development/checkbox.component-CFZrwUTA.js +1 -1
  44. package/development/chip-group.component-BVfHWX2-.js +1 -1
  45. package/development/chip-label.component-DU8s-hfA.js +1 -1
  46. package/development/chip.component-C6v1-PLX.js +1 -1
  47. package/development/clock.component-CVPv4mCp.js +1 -1
  48. package/development/compact-paginator.component-5_Q2Reul.js +1 -1
  49. package/development/container.component-CG_i65Op.js +1 -1
  50. package/development/core/a11y/arrow-navigation.js +1 -1
  51. package/development/core/a11y/fake-event-detection.js +1 -1
  52. package/development/core/a11y/focus-trap-controller.js +1 -1
  53. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  54. package/development/core/a11y/input-modality-detector.js +1 -1
  55. package/development/core/a11y/interactivity-checker.js +1 -1
  56. package/development/core/a11y/live-announcer.js +1 -1
  57. package/development/core/base-elements/action-base-element.js +1 -1
  58. package/development/core/base-elements/button-base-element.js +1 -1
  59. package/development/core/base-elements/element.js +1 -1
  60. package/development/core/base-elements/link-base-element.js +1 -1
  61. package/development/core/base-elements/open-close-base-element.js +1 -1
  62. package/development/core/config/config.js +1 -1
  63. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  64. package/development/core/controllers/id-reference-controller.js +1 -1
  65. package/development/core/controllers/inert-controller.js +1 -1
  66. package/development/core/controllers/language-controller.js +1 -1
  67. package/development/core/controllers/media-matchers-controller.js +1 -1
  68. package/development/core/controllers/overlay-position-controller.js +1 -1
  69. package/development/core/controllers/property-watcher-controller.js +1 -1
  70. package/development/core/controllers/slot-state-controller.js +1 -1
  71. package/development/core/datetime/date-adapter.js +1 -1
  72. package/development/core/datetime/native-date-adapter.js +1 -1
  73. package/development/core/datetime/temporal-date-adapter.js +1 -1
  74. package/development/core/decorators/force-type.js +1 -1
  75. package/development/core/decorators/get-override.js +1 -1
  76. package/development/core/decorators/handle-distinct-change.js +1 -1
  77. package/development/core/decorators/host-attributes.js +1 -1
  78. package/development/core/decorators/id-reference.js +1 -1
  79. package/development/core/decorators/omit-empty-converter.js +1 -1
  80. package/development/core/decorators/plain-date.js +1 -1
  81. package/development/core/dom/animation.js +1 -1
  82. package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
  83. package/development/core/dom/lean-context.js +1 -1
  84. package/development/core/dom/platform.js +1 -1
  85. package/development/core/dom/queue-dom-content-loaded.js +1 -1
  86. package/development/core/dom/scroll.js +1 -1
  87. package/development/core/dom/set-or-remove-attribute.js +1 -1
  88. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  89. package/development/core/eventing/event-target.js +1 -1
  90. package/development/core/eventing/form-element-handlers.js +1 -1
  91. package/development/core/eventing/forward-event.js +1 -1
  92. package/development/core/eventing/is-event-prevented.js +1 -1
  93. package/development/core/eventing/throttle.js +1 -1
  94. package/development/core/i18n/i18n.js +1 -1
  95. package/development/core/mixins/animation-complete-mixin.js +1 -1
  96. package/development/core/mixins/disabled-mixin.js +1 -1
  97. package/development/core/mixins/element-internals-mixin.js +1 -1
  98. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  99. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  100. package/development/core/mixins/form-associated-mixin.js +1 -1
  101. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  102. package/development/core/mixins/hydration-mixin.js +1 -1
  103. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  104. package/development/core/mixins/negative-mixin.js +1 -1
  105. package/development/core/mixins/readonly-mixin.js +1 -1
  106. package/development/core/mixins/required-mixin.js +1 -1
  107. package/development/core/mixins/selection-panel-mixin.js +1 -1
  108. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  109. package/development/core/overlay/overlay-option-panel.js +1 -1
  110. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  111. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  112. package/development/core/overlay/overlay.js +1 -1
  113. package/development/core/overlay/position.js +1 -1
  114. package/development/core/testing/event-spy.js +1 -1
  115. package/development/core/testing/mocha-extensions.js +1 -1
  116. package/development/core/testing/wait-for-condition.js +1 -1
  117. package/development/core/testing/wait-for-image-ready.js +1 -1
  118. package/development/core/testing/wait-for-render.js +1 -1
  119. package/development/date-input.component-UP1afzgy.js +1 -1
  120. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  121. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  122. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  123. package/development/datepicker-button-CUPeoQgH.js +1 -1
  124. package/development/datepicker.component-D2DxFng_.js +1 -1
  125. package/development/dialog-actions.component-CegGvLGp.js +1 -1
  126. package/development/dialog-close-button.component-C4P-8J8j.js +1 -1
  127. package/development/dialog-content.component-bm8piC0O.js +1 -1
  128. package/development/dialog-title.component-CUAbFzCr.js +1 -1
  129. package/development/dialog.component-DKuR4u-y.js +1 -1
  130. package/development/divider.component-Bisnf286.js +1 -1
  131. package/development/error.component-OBpWoVRL.js +1 -1
  132. package/development/expansion-panel-content.component-XIsKm8JD.js +1 -1
  133. package/development/expansion-panel-header.component-C1xRGcAN.js +1 -1
  134. package/development/expansion-panel.component-CV_IuWZA.js +1 -1
  135. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  136. package/development/file-selector-common-C7xIEiV4.js +1 -1
  137. package/development/file-selector-dropzone.component-BAWMZW4F.js +1 -1
  138. package/development/flip-card-details.component-iMm7NrgQ.js +1 -1
  139. package/development/flip-card-summary.component-HQ_VAn2j.js +1 -1
  140. package/development/flip-card.component-CJanLtkJ.js +1 -1
  141. package/development/footer.component-BmDkxYW9.js +1 -1
  142. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  143. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  144. package/development/form-field.component-BU3Sv2mD.js +1 -1
  145. package/development/header/header-button/header-button.component.js +1 -1
  146. package/development/header/header-link/header-link.component.js +1 -1
  147. package/development/header-action-common-MTYV0dqA.js +1 -1
  148. package/development/header-environment.component-DHqoX_lg.js +1 -1
  149. package/development/header.component-CWJ36jF0.js +1 -1
  150. package/development/hint.component-DUtL0RS3.js +1 -1
  151. package/development/icon/icon-name-mixin.js +1 -1
  152. package/development/icon/icon-request.js +1 -1
  153. package/development/icon/icon-validate.js +1 -1
  154. package/development/icon/icon.component.js +1 -1
  155. package/development/icon-base-DHN9pz2I.js +1 -1
  156. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  157. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  158. package/development/icon-sidebar-container.component-BH_R88Rf.js +1 -1
  159. package/development/icon-sidebar-content.component-yoF6FjkW.js +1 -1
  160. package/development/icon-sidebar.component-BGEkfXVs.js +1 -1
  161. package/development/image.component-BD0jc-u-.js +1 -1
  162. package/development/inline-link-common-CgTIwFAI.js +1 -1
  163. package/development/journey-header.component-BwVODlXk.js +1 -1
  164. package/development/lead-container.component-CGVdBWJr.js +1 -1
  165. package/development/link/block-link/block-link.component.js +1 -1
  166. package/development/link/block-link-button/block-link-button.component.js +1 -1
  167. package/development/link/block-link-static/block-link-static.component.js +1 -1
  168. package/development/link/link/link.component.js +1 -1
  169. package/development/link/link-button/link-button.component.js +1 -1
  170. package/development/link/link-static/link-static.component.js +1 -1
  171. package/development/link-common-DJ2FfG_Q.js +1 -1
  172. package/development/link-list-anchor.component-Du7kfDZ-.js +1 -1
  173. package/development/link-list-base-CKMNz30d.js +1 -1
  174. package/development/link-list.component-DQMg8MdQ.js +1 -1
  175. package/development/loading-indicator-circle.component-np96Tu5S.js +1 -1
  176. package/development/loading-indicator.component-CgHYNMxB.js +1 -1
  177. package/development/logo.component-I0yP2SKr.js +1 -1
  178. package/development/map-container.component-D9NWw-wA.js +1 -1
  179. package/development/menu/menu-button/menu-button.component.js +1 -1
  180. package/development/menu/menu-link/menu-link.component.js +1 -1
  181. package/development/menu-action-common-CBZCra6n.js +1 -1
  182. package/development/menu.component-Lh3JbVow.js +1 -1
  183. package/development/message.component-Dlf5V5ba.js +1 -1
  184. package/development/mini-button-group.component-B3CA9KG0.js +1 -1
  185. package/development/mini-button-link.component-I3VpWeNU.js +1 -1
  186. package/development/mini-calendar-day.component-BUNVO4ZU.js +1 -1
  187. package/development/mini-calendar-month.component-DZXvAhc3.js +1 -1
  188. package/development/mini-calendar.component-BufzKw74.js +1 -1
  189. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  190. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  191. package/development/navigation-action-common-Hjr4dI9J.js +1 -1
  192. package/development/navigation-list.component-DqITJqFx.js +1 -1
  193. package/development/navigation-marker.component-GOv42emC.js +1 -1
  194. package/development/navigation-section.component-CnVrRETN.js +1 -1
  195. package/development/navigation.component-CTNQ1dix.js +1 -1
  196. package/development/notification.component-Cvq_uViC.js +1 -1
  197. package/development/optgroup-base-element-BaG2W_AP.js +1 -1
  198. package/development/option/optgroup/optgroup.component.js +1 -1
  199. package/development/option/option/option-base-element.js +1 -1
  200. package/development/option-hint.component-BH8dP1fM.js +1 -1
  201. package/development/option.component-Bb2C7ae5.js +1 -1
  202. package/development/overlay/overlay-base-element.js +1 -1
  203. package/development/overlay.component-M0JuSq4C.js +1 -1
  204. package/development/paginator/common/paginator-common.js +1 -1
  205. package/development/paginator.component-Bn5tK0FK.js +1 -1
  206. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  207. package/development/popover.component-EgOs-wsR.js +1 -1
  208. package/development/radio-button-common--d3WX-ZM.js +1 -1
  209. package/development/radio-button-group/radio-button-group.component.js +1 -1
  210. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  211. package/development/radio-button.component-BauLEeCV.js +1 -1
  212. package/development/screen-reader-only.component-B77UuVCI.js +1 -1
  213. package/development/select.component-D9SFG7Lk.js +1 -1
  214. package/development/selection-action-panel.component-D6I5wdEL.js +1 -1
  215. package/development/selection-expansion-panel.component-eO7b_EQF.js +1 -1
  216. package/development/selection-group-base-element-DvDpwhPl.js +1 -1
  217. package/development/sidebar-close-button.component-CYWv39Mu.js +1 -1
  218. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  219. package/development/sidebar-content.component-JcVKpKbK.js +1 -1
  220. package/development/sidebar-title.component-BA_j-Igh.js +1 -1
  221. package/development/sidebar.component-BLqO52nH.js +1 -1
  222. package/development/signet.component-3D2ZsajP.js +1 -1
  223. package/development/skiplink-list.component-EDPOitEB.js +1 -1
  224. package/development/slider.component-C3qZB6ar.js +1 -1
  225. package/development/status.component-CPi1cPN0.js +1 -1
  226. package/development/step-label.component-BJ9eainz.js +1 -1
  227. package/development/step.component-B-n26urC.js +1 -1
  228. package/development/stepper.component-CxOBayI1.js +1 -1
  229. package/development/sticky-bar.component-CysAIZTd.js +1 -1
  230. package/development/tab-group.component-D9jCK26q.js +1 -1
  231. package/development/tab-label.component-B9e9kgVf.js +1 -1
  232. package/development/tab-nav-bar.component-CgYwCSVY.js +1 -1
  233. package/development/tab.component-DThKG7-a.js +1 -1
  234. package/development/table-wrapper.component-D1p7kqCB.js +1 -1
  235. package/development/tag-group.component-Cw46bt0E.js +1 -1
  236. package/development/tag.component-Bl1nlIXQ.js +1 -1
  237. package/development/teaser-hero.component-BIOpoGME.js +1 -1
  238. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  239. package/development/teaser-product-common-DYX370pm.js +1 -1
  240. package/development/teaser-product.component-CSArA8bH.js +1 -1
  241. package/development/teaser.component-Cky6kKU0.js +1 -1
  242. package/development/time-input.component-BtdSR8kB.js +1 -1
  243. package/development/timetable-form-details.component-DJl5Qt9y.js +1 -1
  244. package/development/timetable-form-field.component-DQ_TzcF4.js +1 -1
  245. package/development/timetable-form-swap-button.component-Bh9aPmdn.js +1 -1
  246. package/development/timetable-form.component-N8h4JBlH.js +1 -1
  247. package/development/timetable-occupancy-icon.component-lI7__-G5.js +1 -1
  248. package/development/timetable-occupancy.component-BBcznUh0.js +1 -1
  249. package/development/title-base-BdYKwj3-.js +1 -1
  250. package/development/title.component-DSXVkddh.js +1 -1
  251. package/development/toast.component-IhHx0Qt3.js +1 -1
  252. package/development/toggle-check.component-_fDAuLob.js +1 -1
  253. package/development/toggle-option.component-DTS3a603.js +1 -1
  254. package/development/toggle.component-BJpD1b9H.js +1 -1
  255. package/development/tooltip.component-YaUQA-Id.js +1 -1
  256. package/development/train-blocked-passage.component-BrUJK0gf.js +1 -1
  257. package/development/train-formation.component-vt-nYQXA.js +1 -1
  258. package/development/train-wagon.component-CNxkffOO.js +1 -1
  259. package/development/train.component-BgpmEDx-.js +1 -1
  260. package/development/visual-checkbox.component-rdeoQN40.js +1 -1
  261. package/package.json +2 -2
@@ -150,4 +150,4 @@ var SbbStepElement = class extends SbbElement {
150
150
  //#endregion
151
151
  export { SbbStepElement as t };
152
152
 
153
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQtQi1uMjZ1ckMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICBkaXNwbGF5OiBjb250ZW50cztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLW9wYWNpdHk6IDE7XG4gIC0tc2JiLXN0ZXAtZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLXN0ZXAtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1zdGVwLWFuaW1hdGlvbi1kZWxheTogdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSB7XG4gIC0tc2JiLXN0ZXAtcG9zaXRpb246IGFic29sdXRlO1xuICAtLXNiYi1zdGVwLWluc2V0LWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4uc2JiLXN0ZXAtLXdyYXBwZXIge1xuICA6aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZGlzcGxheSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGJ1dCBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3Nlci5cbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzZWxlY3RlZCk6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBkaXNwbGF5IHZhcigtLXNiYi1zdGVwLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgb3BhY2l0eSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gICAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIH1cbn1cblxuLnNiYi1zdGVwIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1zdGVwLXBvc2l0aW9uLCBpbml0aWFsKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1pbnNldC1ibG9jay1zdGFydCwgdW5zZXQpO1xuICBvcGFjaXR5OiB2YXIoLS1zYmItc3RlcC1vcGFjaXR5KTtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXN0ZXAtZGlzcGxheSwgbm9uZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtaGVpZ2h0LCAwKTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBkaXNwbGF5LCBvcGFjaXR5O1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZGVsYXksIDApO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG5cbiAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyIGV4Y2VwdCBGaXJlZm94LlxuICBAc3RhcnRpbmctc3R5bGUge1xuICAgIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGFwcGVuZEFyaWFFbGVtZW50cywgcmVtb3ZlQXJpYUVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBwZXJFbGVtZW50IH0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXAuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMge1xuICBjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGw7XG4gIGN1cnJlbnRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG4gIG5leHRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgbmV4dFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbn1cblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlN0ZXBFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc3RlcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWJwYW5lbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB2YWxpZGF0ZTogJ3ZhbGlkYXRlJyxcbiAgICByZXNpemVjaGFuZ2U6ICdyZXNpemVjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfc3RlcFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9vblN0ZXBFbGVtZW50UmVzaXplKCkpLFxuICB9KTtcblxuICAvKiogVGhlIGxhYmVsIG9mIHRoZSBzdGVwLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XG4gIH1cbiAgcHJpdmF0ZSBfbGFiZWw6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHN0ZXBwZXIoKTogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItc3RlcHBlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNPcmllbnRhdGlvbj86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4gdGhpcy5faGFuZGxlQ2xpY2soZSkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuc3RlcHBlciwge1xuICAgICAgICBvcmllbnRhdGlvbjogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uID0gcy5vcmllbnRhdGlvbjtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgdGhpcy5sYWJlbC5zZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBtYWtlIHByb3RlY3RlZFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdzZWxlY3RlZCcpO1xuICAgIHRoaXMubGFiZWwuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHZhbGlkYXRlIGV2ZW50IHdoZW5ldmVyIHN0ZXAgc3dpdGNoIGlzIHRyaWdnZXJlZC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoZXZlbnREYXRhOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBDcmVhdGUgYSBzcGVjaWZpYyBldmVudCB0eXBlIGZvciB0aGlzIGV2ZW50LlxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+fVxuICAgICAqIFRoZSB2YWxpZGF0ZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSBzdGVwIGNoYW5nZSBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZCB0byBhYm9ydCB0aGUgc3RlcCBjaGFuZ2UuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+KCd2YWxpZGF0ZScsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGRldGFpbDogZXZlbnREYXRhLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICogVE9ETzogQGJyZWFraW5nLWNoYW5nZTogbWFrZSBwcm90ZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBjb25maWd1cmUoc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBXYXRjaGVzIGZvciBjbGlja2VkIGVsZW1lbnRzIHdpdGggYHNiYi1zdGVwcGVyLW5leHRgIG9yIGBzYmItc3RlcHBlci1wcmV2aW91c2AgYXR0cmlidXRlcy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb05leHRFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuc3RlcHBlcj8ubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29QcmV2aW91c0VsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF0Y2hlcygnOnN0YXRlKHNlbGVjdGVkKScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogRW1pdHMgd2hlbiBhIHJlc2l6ZSBoYXBwZW5zLCB1c2VkIHRvIGF2b2lkIHNldHRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RlcHBlciBmcm9tIHRoZSBzdGVwIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1zdGVwLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLnNsb3QgfHw9ICdzdGVwJztcbiAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLl9zdGVwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RlcCcpIGFzIEhUTUxFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkxhYmVsKCk6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1NpYmxpbmcgPSB0aGlzLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgd2hpbGUgKHByZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxpbmcubG9jYWxOYW1lICE9PSAnc2JiLXN0ZXAtbGFiZWwnKSB7XG4gICAgICBwcmV2aW91c1NpYmxpbmcgPSBwcmV2aW91c1NpYmxpbmcucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBwcmV2aW91c1NpYmxpbmcgYXMgU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGw7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMuX2xhYmVsLFxuICAgICk7XG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgPyB2YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwJzogU2JiU3RlcEVsZW1lbnQ7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgR2xvYmFsRXZlbnRIYW5kbGVyc0V2ZW50TWFwIHtcbiAgICByZXNpemVjaGFuZ2U6IEV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUNrQkEsSUFBSSxTQUFTOzs7Ozs7QUFjYixJQUFhLGlCQUFiLGNBQW9DLFdBQVU7O0FBQ1osT0FBQSxjQUFzQjs7O0FBQ3RCLE9BQUEsT0FBTzs7O0FBQ2hCLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxhQUFNLENBQUM7OztBQUM1RCxPQUFBLFNBQVM7R0FDOUIsVUFBVTtHQUNWLGNBQWM7R0FDTjs7O0NBYVYsSUFBVyxRQUFLO0FBQ2QsU0FBTyxLQUFLOztDQUlkLElBQVcsVUFBTztBQUNoQixTQUFPLEtBQUssUUFBUSxjQUFjOztDQUtwQyxjQUFBO0FBQ0UsU0FBTztBQW5CRCxPQUFBLHNCQUFzQixJQUFJLGlCQUFpQixNQUFNO0dBQ3ZELFFBQVE7R0FDUixhQUFhO0dBQ2IsZ0JBQWdCLGlCQUFpQixLQUFLLHNCQUFzQixDQUFBO0dBQzdELENBQUM7QUFNTSxPQUFBLFNBQXFDO0FBVTNDLE9BQUssbUJBQW1CLFVBQVUsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO0FBQzdELE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssU0FBUyxFQUN6RCxjQUFjLE1BQUs7QUFDakIsT0FBSSxLQUFLLHFCQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sZUFBZSxLQUFLLHVCQUF1QjtBQUUxRSxRQUFLLHVCQUF1QixFQUFFO0FBQzlCLE9BQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLGVBQWUsS0FBSyx1QkFBdUI7S0FHMUUsQ0FBQyxDQUNIOzs7Ozs7O0NBUUksU0FBTTtBQUNYLE1BQUksQ0FBQyxLQUFLLGNBQWMsQ0FBQyxLQUFLLE1BQzVCO0FBRUYsT0FBSyxVQUFVLE9BQU8sSUFBSSxXQUFXO0FBQ3JDLE9BQUssTUFBTSxRQUFROzs7Ozs7O0NBUWQsV0FBUTtBQUNiLE1BQUksQ0FBQyxLQUFLLE1BQ1I7QUFFRixPQUFLLFVBQVUsT0FBTyxPQUFPLFdBQVc7QUFDeEMsT0FBSyxNQUFNLFVBQVU7Ozs7Ozs7Q0FRaEIsU0FBUyxXQUFzQzs7Ozs7QUFNcEQsU0FBTyxLQUFLLGNBQ1YsSUFBSSxZQUF5QyxZQUFZO0dBQ3ZELFNBQVM7R0FDVCxVQUFVO0dBQ1YsWUFBWTtHQUNaLFFBQVE7R0FDVCxDQUFDLENBQ0g7Ozs7Ozs7Q0FRSSxVQUFVLGVBQXNCO0FBQ3JDLE1BQUksY0FDRixNQUFLLGNBQWM7OztDQUtmLGFBQWEsT0FBWTtFQUMvQixNQUFNLHVCQUF1QixNQUMxQixjQUFjLENBQ2QsUUFBUSxPQUFPLGNBQWMsT0FBTyxZQUFZO0FBQ25ELE1BQUkscUJBQXFCLE1BQU0sT0FBTyxLQUFLLGlCQUFpQixHQUFrQixDQUFDLENBQzdFLE1BQUssU0FBUyxNQUFNO1dBQ1gscUJBQXFCLE1BQU0sT0FBTyxLQUFLLHFCQUFxQixHQUFrQixDQUFDLENBQ3hGLE1BQUssU0FBUyxVQUFVOztDQUlwQixpQkFBaUIsU0FBb0I7QUFDM0MsU0FBTyxRQUFRLGFBQWEsbUJBQW1CLElBQUksQ0FBQyxRQUFRLGFBQWEsV0FBVzs7Q0FHOUUscUJBQXFCLFNBQW9CO0FBQy9DLFNBQU8sUUFBUSxhQUFhLHVCQUF1QixJQUFJLENBQUMsUUFBUSxhQUFhLFdBQVc7O0NBR2xGLHVCQUFvQjtBQUMxQixNQUFJLENBQUMsS0FBSyxRQUFRLDBDQUFtQixDQUNuQzs7Ozs7QUFPRixPQUFLLGNBQWMsSUFBSSxNQUFNLGdCQUFnQixFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUM7O0NBR2xELG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtBQUN6QixPQUFLLE9BQU8sWUFBWTtBQUN4QixPQUFLLFNBQVM7QUFDZCxPQUFLLGNBQWM7O0NBR0YsYUFBYSxtQkFBdUM7QUFDckUsUUFBTSxhQUFhLGtCQUFrQjtBQUNyQyxPQUFLLGVBQWUsV0FBVTtBQUM1QixRQUFLLG9CQUFvQixRQUFRLEtBQUssV0FBWSxjQUFjLFlBQTJCLENBQUM7SUFDNUY7O0NBR0ksZUFBWTtFQUNsQixJQUFJLGtCQUFrQixLQUFLO0FBQzNCLFNBQU8sbUJBQW1CLGdCQUFnQixjQUFjLGlCQUN0RCxtQkFBa0IsZ0JBQWdCO0VBRXBDLE1BQU0sUUFBUTtBQUVkLE9BQUssVUFBVSx5QkFBeUIsbUJBQ3RDLEtBQUssVUFBVSx3QkFDZixLQUFLLE9BQ047QUFDRCxPQUFLLFNBQVMsaUJBQWlCLFVBQVUsUUFBUTtBQUNqRCxPQUFLLFVBQVUseUJBQXlCLG1CQUN0QyxLQUFLLFVBQVUsd0JBQ2YsS0FBSyxPQUNOOztDQUdnQixTQUFNO0FBQ3ZCLFNBQU8sSUFBSSJ9
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQtQi1uMjZ1ckMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICBkaXNwbGF5OiBjb250ZW50cztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLW9wYWNpdHk6IDE7XG4gIC0tc2JiLXN0ZXAtZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLXN0ZXAtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1zdGVwLWFuaW1hdGlvbi1kZWxheTogdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSB7XG4gIC0tc2JiLXN0ZXAtcG9zaXRpb246IGFic29sdXRlO1xuICAtLXNiYi1zdGVwLWluc2V0LWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4uc2JiLXN0ZXAtLXdyYXBwZXIge1xuICA6aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZGlzcGxheSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGJ1dCBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3Nlci5cbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzZWxlY3RlZCk6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBkaXNwbGF5IHZhcigtLXNiYi1zdGVwLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgb3BhY2l0eSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gICAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIH1cbn1cblxuLnNiYi1zdGVwIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1zdGVwLXBvc2l0aW9uLCBpbml0aWFsKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1pbnNldC1ibG9jay1zdGFydCwgdW5zZXQpO1xuICBvcGFjaXR5OiB2YXIoLS1zYmItc3RlcC1vcGFjaXR5KTtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXN0ZXAtZGlzcGxheSwgbm9uZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtaGVpZ2h0LCAwKTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBkaXNwbGF5LCBvcGFjaXR5O1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZGVsYXksIDApO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG5cbiAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyIGV4Y2VwdCBGaXJlZm94LlxuICBAc3RhcnRpbmctc3R5bGUge1xuICAgIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGFwcGVuZEFyaWFFbGVtZW50cywgcmVtb3ZlQXJpYUVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBwZXJFbGVtZW50IH0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXAuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMge1xuICBjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGw7XG4gIGN1cnJlbnRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG4gIG5leHRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgbmV4dFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbn1cblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlN0ZXBFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc3RlcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWJwYW5lbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB2YWxpZGF0ZTogJ3ZhbGlkYXRlJyxcbiAgICByZXNpemVjaGFuZ2U6ICdyZXNpemVjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfc3RlcFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9vblN0ZXBFbGVtZW50UmVzaXplKCkpLFxuICB9KTtcblxuICAvKiogVGhlIGxhYmVsIG9mIHRoZSBzdGVwLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XG4gIH1cbiAgcHJpdmF0ZSBfbGFiZWw6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHN0ZXBwZXIoKTogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItc3RlcHBlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNPcmllbnRhdGlvbj86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4gdGhpcy5faGFuZGxlQ2xpY2soZSkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuc3RlcHBlciwge1xuICAgICAgICBvcmllbnRhdGlvbjogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uID0gcy5vcmllbnRhdGlvbjtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgdGhpcy5sYWJlbC5zZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBtYWtlIHByb3RlY3RlZFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdzZWxlY3RlZCcpO1xuICAgIHRoaXMubGFiZWwuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHZhbGlkYXRlIGV2ZW50IHdoZW5ldmVyIHN0ZXAgc3dpdGNoIGlzIHRyaWdnZXJlZC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoZXZlbnREYXRhOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBDcmVhdGUgYSBzcGVjaWZpYyBldmVudCB0eXBlIGZvciB0aGlzIGV2ZW50LlxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+fVxuICAgICAqIFRoZSB2YWxpZGF0ZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSBzdGVwIGNoYW5nZSBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZCB0byBhYm9ydCB0aGUgc3RlcCBjaGFuZ2UuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+KCd2YWxpZGF0ZScsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGRldGFpbDogZXZlbnREYXRhLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICogVE9ETzogQGJyZWFraW5nLWNoYW5nZTogbWFrZSBwcm90ZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBjb25maWd1cmUoc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBXYXRjaGVzIGZvciBjbGlja2VkIGVsZW1lbnRzIHdpdGggYHNiYi1zdGVwcGVyLW5leHRgIG9yIGBzYmItc3RlcHBlci1wcmV2aW91c2AgYXR0cmlidXRlcy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb05leHRFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuc3RlcHBlcj8ubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29QcmV2aW91c0VsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF0Y2hlcygnOnN0YXRlKHNlbGVjdGVkKScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogRW1pdHMgd2hlbiBhIHJlc2l6ZSBoYXBwZW5zLCB1c2VkIHRvIGF2b2lkIHNldHRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RlcHBlciBmcm9tIHRoZSBzdGVwIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1zdGVwLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLnNsb3QgfHw9ICdzdGVwJztcbiAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLl9zdGVwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RlcCcpIGFzIEhUTUxFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkxhYmVsKCk6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1NpYmxpbmcgPSB0aGlzLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgd2hpbGUgKHByZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxpbmcubG9jYWxOYW1lICE9PSAnc2JiLXN0ZXAtbGFiZWwnKSB7XG4gICAgICBwcmV2aW91c1NpYmxpbmcgPSBwcmV2aW91c1NpYmxpbmcucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBwcmV2aW91c1NpYmxpbmcgYXMgU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGw7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMuX2xhYmVsLFxuICAgICk7XG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgPyB2YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwJzogU2JiU3RlcEVsZW1lbnQ7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgR2xvYmFsRXZlbnRIYW5kbGVyc0V2ZW50TWFwIHtcbiAgICByZXNpemVjaGFuZ2U6IEV2ZW50O1xuICB9XG59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
@@ -425,4 +425,4 @@ var SbbStepperElement = (() => {
425
425
  //#endregion
426
426
  export { SbbStepperElement as n, SbbStepChangeEvent as t };
427
427
 
428
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQ3hPQmF5STEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSB7XG4gIC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb246IGNvbHVtbjtcbn1cblxuLnNiYi1zdGVwcGVyX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci13aWR0aCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSAmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2JiLWJvcmRlci1jb2xvci00LWludmVydGVkKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcHBlcl9fc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10pICYge1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXN0ZXAtbGFiZWwpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKHN0ZXAtbGFiZWwpO1xuICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1sYWJlbDtcbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50WmVyb0FuZEFib3ZlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzL21lZGlhLW1hdGNoZXJzLWNvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQsIFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL3N0ZXAvc3RlcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwcGVyLnNjc3M/aW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgemVybzogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG4gIHNtYWxsOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIGxhcmdlOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludExhcmdlQW5kQWJvdmUsXG4gIHVsdHJhOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG59O1xuXG5leHBvcnQgY2xhc3MgU2JiU3RlcENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyByZWFkb25seSBwcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG5cbiAgLyoqIFRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAgZWxlbWVudC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsLFxuICAgIHByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICAgcHJldmlvdXNTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICkge1xuICAgIHN1cGVyKCdzdGVwY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMucHJldmlvdXNJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBzZWxlY3RlZFN0ZXA7XG4gICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHN0ZXBjaGFuZ2U6ICdzdGVwY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdGhlIHNiYi1zdGVwcGVyIGlzIHVzZWQgaW4gYSBzYmItZGlhbG9nLCB0aGUgbWFya2VyIG9uIHRoZSBzZWxlY3RlZCBlbGVtZW50IHdpbGwgbm90IGFwcGVhcixcbiAgICogYmVjYXVzZSB0aGUgY2FsY3VsYXRpb25zIGFyZSBkb25lIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQsIHNvIHRoZSBtYXJrZXIgaGFzIGEgd2lkdGggb2YgMDtcbiAgICogdGhlIHNhbWUgaGFwcGVucyBmb3IgdGhlIHN0ZXBwZXIgaGVpZ2h0LlxuICAgKiBXZSBuZWVkIHRvIHJlY2FsY3VsYXRlIGl0IHdoZW4gdGhlIGVsZW1lbnQgYmVjb21lcyB2aXNpYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGlmIChlLmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICB9KTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGxhYmVscyBjYW4gYmUgY2xpY2tlZCBhbmQgc2VsZWN0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaW5lYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Jpem9udGFsLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEZyb20odmFsdWU6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvcml6b250YWxGcm9tID0gdmFsdWUgJiYgYnJlYWtwb2ludE1hcFt2YWx1ZV0gPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCA9IHN0ZXA7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3I/LjxTYmJTdGVwRWxlbWVudD4oJ3NiYi1zdGVwOnN0YXRlKHNlbGVjdGVkKScpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWQ6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICB9XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCA/IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLnNlbGVjdGVkKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBzdGVwcyBvZiB0aGUgc3RlcHBlci4gKi9cbiAgcHVibGljIGdldCBzdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICBjb25zdCBzdGVwczogU2JiU3RlcEVsZW1lbnRbXSA9IFtdO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItc3RlcCcpLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcCk7XG4gICAgICBzdGVwcy5wdXNoKHN0ZXApO1xuICAgIH0pO1xuICAgIHJldHVybiBzdGVwcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkU3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzKSA9PiB7XG4gICAgICBpZiAocy5sYWJlbCkge1xuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHMubGFiZWwpO1xuICAgICAgICByZXR1cm4gIXMubGFiZWwuZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7fSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Jlc2l6ZWNoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25TZWxlY3RlZFN0ZXBSZXNpemUoZSkpO1xuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIG5leHQgc3RlcC4gKi9cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBwcmV2aW91cyBzdGVwLiAqL1xuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldHMgdGhlIGZvcm0gaW4gd2hpY2ggdGhlIHN0ZXBwZXIgaXMgbmVzdGVkIG9yIGV2ZXJ5IGZvcm0gb2YgZWFjaCBzdGVwLCBpZiBhbnkuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9IHRoaXMuY2xvc2VzdCgnZm9ybScpO1xuICAgIGlmIChjbG9zZXN0Rm9ybSkge1xuICAgICAgY2xvc2VzdEZvcm0ucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5yZXNldCgpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSByZXNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0L3NlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzU2VsZWN0YWJsZShzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBzdGVwIGlzIFNiYlN0ZXBFbGVtZW50IHtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIGlmIChzdGVwLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcC5sYWJlbCk7XG4gICAgICAgIGlmICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1NlbGVjdGFibGUoc3RlcCkgfHwgc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4LFxuICAgICAgY3VycmVudFN0ZXAsXG4gICAgICBuZXh0SW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc2VsZWN0ZWRJbmRleCArIDEgOiBudWxsLFxuICAgICAgbmV4dFN0ZXA6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0gOiBudWxsLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY3VycmVudD8uZGVzZWxlY3QoKTtcbiAgICBzdGVwLnNlbGVjdCgpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCBvbmx5IHRvIHByb3ZpZGUgZG91YmxlIGVudHJ5IGluIGRvY3MuIEl0IGlzIGEgcHVibGljIGV2ZW50ISAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJTdGVwQ2hhbmdlRXZlbnQodGhpcy5zZWxlY3RlZEluZGV4LCBjdXJyZW50SW5kZXgsIHRoaXMuc2VsZWN0ZWQsIGN1cnJlbnRTdGVwKSxcbiAgICApO1xuXG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNlbGVjdGVkU3RlcFJlc2l6ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoZS50YXJnZXQgYXMgU2JiU3RlcEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSwgYXJyYXkpID0+IHtcbiAgICAgIHN0ZXAuY29uZmlndXJlKHRoaXMuX2xvYWRlZCk7XG4gICAgICBzdGVwLmxhYmVsPy5jb25maWd1cmUoaSArIDEsIGFycmF5Lmxlbmd0aCwgdGhpcy5fbG9hZGVkKTtcbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKGJyZWFrcG9pbnRNYXBbdGhpcy5ob3Jpem9udGFsRnJvbV0pXG4gICAgICAgID8gJ2hvcml6b250YWwnXG4gICAgICAgIDogJ3ZlcnRpY2FsJztcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgIH1cbiAgICAvLyBUaGUgdGltZW91dCBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1hcmtlciB0YWtlcyB0aGUgY29ycmVjdCBzdGVwLWxhYmVsIHNpemUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJTaXplKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwcGVyUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXN0ZXAubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcblxuICAgICAgc3RlcC5sYWJlbC5kaXNhYmxlKFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5tYXRjaGVzKCc6c3RhdGUodXNlci1kaXNhYmxlZCknKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcblxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkICYmIHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZS1hbmltYXRpb24gc3RhdGUgYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSwgREVCT1VOQ0VfVElNRSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmllbnRhdGlvbicpICYmICF0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGluZWFyJykgJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkU3RlcHM6IFNiYlN0ZXBFbGVtZW50W10gPSB0aGlzLl9lbmFibGVkU3RlcHM7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFN0ZXBzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCEpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFN0ZXBzLmxlbmd0aCk7XG4gICAgICB0aGlzLl9zZWxlY3QoZW5hYmxlZFN0ZXBzW25leHRJbmRleF0pO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX2xhYmVsc1wiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwLWxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19zdGVwc1wiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcHBlcic6IFNiYlN0ZXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDMkJBLElBQU0sZ0JBQWdCO0FBRXRCLElBQU0sZ0JBQXdDO0NBQzVDLE1BQU07Q0FDTixPQUFPO0NBQ1AsT0FBTztDQUNQLE9BQU87Q0FDUjtBQUVELElBQWEscUJBQWIsY0FBd0MsTUFBSztDQWEzQyxZQUNFLGVBQ0EsZUFDQSxjQUNBLGNBQW1DO0FBRW5DLFFBQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQztBQUN0RCxPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGVBQWU7QUFDcEIsT0FBSyxlQUFlOzs7Ozs7Ozs7O0lBVVgsMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0lBQU0sQ0FBQyxDQUFBOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFPM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRzNCLFNBQVMsRUFBRSxXQUFXLE9BQU8sQ0FBQyxDQUFBO29DQWE5QixTQUFTO0lBQUUsV0FBVztJQUFrQixNQUFNO0lBQVEsQ0FBQyxDQUFBO0FBdkN4RCxnQkFBQSxNQUFBLE1BQUEsb0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxZQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU0sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFOLFNBQU07O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxzQkFBQSww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
428
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQ3hPQmF5STEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSB7XG4gIC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb246IGNvbHVtbjtcbn1cblxuLnNiYi1zdGVwcGVyX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci13aWR0aCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSAmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2JiLWJvcmRlci1jb2xvci00LWludmVydGVkKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcHBlcl9fc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10pICYge1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXN0ZXAtbGFiZWwpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKHN0ZXAtbGFiZWwpO1xuICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1sYWJlbDtcbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50WmVyb0FuZEFib3ZlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzL21lZGlhLW1hdGNoZXJzLWNvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQsIFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL3N0ZXAvc3RlcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwcGVyLnNjc3M/aW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgemVybzogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG4gIHNtYWxsOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIGxhcmdlOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludExhcmdlQW5kQWJvdmUsXG4gIHVsdHJhOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFVsdHJhQW5kQWJvdmUsXG59O1xuXG5leHBvcnQgY2xhc3MgU2JiU3RlcENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyByZWFkb25seSBwcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG5cbiAgLyoqIFRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAgZWxlbWVudC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsLFxuICAgIHByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgc2VsZWN0ZWRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICAgcHJldmlvdXNTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwsXG4gICkge1xuICAgIHN1cGVyKCdzdGVwY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMucHJldmlvdXNJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBzZWxlY3RlZFN0ZXA7XG4gICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHN0ZXBjaGFuZ2U6ICdzdGVwY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdGhlIHNiYi1zdGVwcGVyIGlzIHVzZWQgaW4gYSBzYmItZGlhbG9nLCB0aGUgbWFya2VyIG9uIHRoZSBzZWxlY3RlZCBlbGVtZW50IHdpbGwgbm90IGFwcGVhcixcbiAgICogYmVjYXVzZSB0aGUgY2FsY3VsYXRpb25zIGFyZSBkb25lIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQsIHNvIHRoZSBtYXJrZXIgaGFzIGEgd2lkdGggb2YgMDtcbiAgICogdGhlIHNhbWUgaGFwcGVucyBmb3IgdGhlIHN0ZXBwZXIgaGVpZ2h0LlxuICAgKiBXZSBuZWVkIHRvIHJlY2FsY3VsYXRlIGl0IHdoZW4gdGhlIGVsZW1lbnQgYmVjb21lcyB2aXNpYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4ge1xuICAgICAgZW50cmllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGlmIChlLmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICB9KTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgdGhlIGN1cnJlbnQgYW5kIHByZXZpb3VzIGxhYmVscyBjYW4gYmUgY2xpY2tlZCBhbmQgc2VsZWN0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaW5lYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Jpem9udGFsLWZyb20nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEZyb20odmFsdWU6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvcml6b250YWxGcm9tID0gdmFsdWUgJiYgYnJlYWtwb2ludE1hcFt2YWx1ZV0gPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCA9IHN0ZXA7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3I/LjxTYmJTdGVwRWxlbWVudD4oJ3NiYi1zdGVwOnN0YXRlKHNlbGVjdGVkKScpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWQ6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICB9XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCA/IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLnNlbGVjdGVkKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBzdGVwcyBvZiB0aGUgc3RlcHBlci4gKi9cbiAgcHVibGljIGdldCBzdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICBjb25zdCBzdGVwczogU2JiU3RlcEVsZW1lbnRbXSA9IFtdO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItc3RlcCcpLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcCk7XG4gICAgICBzdGVwcy5wdXNoKHN0ZXApO1xuICAgIH0pO1xuICAgIHJldHVybiBzdGVwcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkU3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzKSA9PiB7XG4gICAgICBpZiAocy5sYWJlbCkge1xuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHMubGFiZWwpO1xuICAgICAgICByZXR1cm4gIXMubGFiZWwuZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7fSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Jlc2l6ZWNoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25TZWxlY3RlZFN0ZXBSZXNpemUoZSkpO1xuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIG5leHQgc3RlcC4gKi9cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBwcmV2aW91cyBzdGVwLiAqL1xuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4IC0gMV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldHMgdGhlIGZvcm0gaW4gd2hpY2ggdGhlIHN0ZXBwZXIgaXMgbmVzdGVkIG9yIGV2ZXJ5IGZvcm0gb2YgZWFjaCBzdGVwLCBpZiBhbnkuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0Rm9ybSA9IHRoaXMuY2xvc2VzdCgnZm9ybScpO1xuICAgIGlmIChjbG9zZXN0Rm9ybSkge1xuICAgICAgY2xvc2VzdEZvcm0ucmVzZXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5yZXNldCgpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSByZXNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0L3NlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzU2VsZWN0YWJsZShzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBzdGVwIGlzIFNiYlN0ZXBFbGVtZW50IHtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIGlmIChzdGVwLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcC5sYWJlbCk7XG4gICAgICAgIGlmICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1NlbGVjdGFibGUoc3RlcCkgfHwgc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4LFxuICAgICAgY3VycmVudFN0ZXAsXG4gICAgICBuZXh0SW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc2VsZWN0ZWRJbmRleCArIDEgOiBudWxsLFxuICAgICAgbmV4dFN0ZXA6IHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCA/IHRoaXMuc3RlcHNbdGhpcy5zZWxlY3RlZEluZGV4ICsgMV0gOiBudWxsLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY3VycmVudD8uZGVzZWxlY3QoKTtcbiAgICBzdGVwLnNlbGVjdCgpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCBvbmx5IHRvIHByb3ZpZGUgZG91YmxlIGVudHJ5IGluIGRvY3MuIEl0IGlzIGEgcHVibGljIGV2ZW50ISAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJTdGVwQ2hhbmdlRXZlbnQodGhpcy5zZWxlY3RlZEluZGV4LCBjdXJyZW50SW5kZXgsIHRoaXMuc2VsZWN0ZWQsIGN1cnJlbnRTdGVwKSxcbiAgICApO1xuXG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNlbGVjdGVkU3RlcFJlc2l6ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoZS50YXJnZXQgYXMgU2JiU3RlcEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSwgYXJyYXkpID0+IHtcbiAgICAgIHN0ZXAuY29uZmlndXJlKHRoaXMuX2xvYWRlZCk7XG4gICAgICBzdGVwLmxhYmVsPy5jb25maWd1cmUoaSArIDEsIGFycmF5Lmxlbmd0aCwgdGhpcy5fbG9hZGVkKTtcbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKGJyZWFrcG9pbnRNYXBbdGhpcy5ob3Jpem9udGFsRnJvbV0pXG4gICAgICAgID8gJ2hvcml6b250YWwnXG4gICAgICAgIDogJ3ZlcnRpY2FsJztcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgIH1cbiAgICAvLyBUaGUgdGltZW91dCBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1hcmtlciB0YWtlcyB0aGUgY29ycmVjdCBzdGVwLWxhYmVsIHNpemUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJTaXplKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwcGVyUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXN0ZXAubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcblxuICAgICAgc3RlcC5sYWJlbC5kaXNhYmxlKFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5tYXRjaGVzKCc6c3RhdGUodXNlci1kaXNhYmxlZCknKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcblxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkICYmIHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZS1hbmltYXRpb24gc3RhdGUgYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSwgREVCT1VOQ0VfVElNRSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmllbnRhdGlvbicpICYmICF0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGluZWFyJykgJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkU3RlcHM6IFNiYlN0ZXBFbGVtZW50W10gPSB0aGlzLl9lbmFibGVkU3RlcHM7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFN0ZXBzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCEpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFN0ZXBzLmxlbmd0aCk7XG4gICAgICB0aGlzLl9zZWxlY3QoZW5hYmxlZFN0ZXBzW25leHRJbmRleF0pO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX2xhYmVsc1wiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwLWxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19zdGVwc1wiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcHBlcic6IFNiYlN0ZXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDMkJBLElBQU0sZ0JBQWdCO0FBRXRCLElBQU0sZ0JBQXdDO0NBQzVDLE1BQU07Q0FDTixPQUFPO0NBQ1AsT0FBTztDQUNQLE9BQU87Q0FDUjtBQUVELElBQWEscUJBQWIsY0FBd0MsTUFBSztDQWEzQyxZQUNFLGVBQ0EsZUFDQSxjQUNBLGNBQW1DO0VBRW5DLE1BQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQztFQUN0RCxLQUFLLGdCQUFnQjtFQUNyQixLQUFLLGdCQUFnQjtFQUNyQixLQUFLLGVBQWU7RUFDcEIsS0FBSyxlQUFlOzs7Ozs7Ozs7O0lBVVgsMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0lBQU0sQ0FBQyxDQUFBOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFPM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRzNCLFNBQVMsRUFBRSxXQUFXLE9BQU8sQ0FBQyxDQUFBO29DQWE5QixTQUFTO0lBQUUsV0FBVztJQUFrQixNQUFNO0lBQVEsQ0FBQyxDQUFBO0dBdkN4RCxhQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQU4sU0FBTTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHNCQUFBLDBC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
@@ -203,4 +203,4 @@ var SbbStickyBarElement = (() => {
203
203
  //#endregion
204
204
  export { SbbStickyBarElement as t };
205
205
 
206
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQtQ3lzQUlaVGQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9zdGlja3ktYmFyL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29udGFpbmVyL3N0aWNreS1iYXIvc3RpY2t5LWJhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nOiAxcHg7XG5cbi8vIGA6c3RhdGUoc3RpY2tpbmcpYCB2LnMuIGA6c3RhdGUoc3RhdGUtc3RpY2t5KWA6XG4vLyBXaGlsZSBgOnN0YXRlKHN0aWNraW5nKWAgaXMgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHN0aWNreSBiYXIgaXMgY3VycmVudGx5IHN0aWNraW5nIChkdWUgc2Nyb2xsaW5nKSxcbi8vIHRoZSBgOnN0YXRlKHN0YXRlLXh5KWAgaG9sZHMgaW5mb3JtYXRpb24gd2hldGhlciB0aGUgYHBvc2l0aW9uOiBzdGlja3lgIGlzIGFwcGxpZWQgb3Igbm90XG4vLyBidXQgbm90IGNvbnNpZGVyaW5nIHRoZSByZWFsIHN0aWNraW5nIHN0YXRlLlxuXG46aG9zdCB7XG4gIC0tc2JiLXN0aWNreS1iYXItZmFkZS1pbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTV4KVxuICApO1xuICAtLXNiYi1zdGlja3ktYmFyLWZhZGUtb3V0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG4gIC0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLXN0aWNreS1iYXItZmFkZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uXG4gICk7XG5cbiAgLy8gRGlzcGxheSBjb250ZW50cyBuZWVkZWQgdG8gZ2V0IHRoZSBzdGlja3kgYmFyIHN0aWNreS5cbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAtLXNiYi1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1pbnRlcnNlY3Rvci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItc3RpY2t5LWJhci1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tX3NiYi1zdGlja3ktYmFyLWZvcmNlZC1jb2xvcnMtYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpW2NvbG9yPSd3aGl0ZSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlkbmlnaHQnXSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXN0aWNreS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xLW5lZ2F0aXZlKTtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSlbY29sb3I9J2NoYXJjb2FsJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMi1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgOnN0YXRlKHN0aWNraW5nKTppcyg6c3RhdGUoc2xpZGUtdmVydGljYWxseSksIDpzdGF0ZShzdGF0ZS1zdGlja2luZyksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXVuc3RpY2t5KVxuICApXG4pIHtcbiAgLS1fc2JiLXN0aWNreS1iYXItYmFja2dyb3VuZC1hbmltYXRpb24tZHVyYXRpb246IDBzO1xufVxuXG46aG9zdChcbiAgOnN0YXRlKHN0aWNraW5nKTppcyhcbiAgICA6c3RhdGUoc2xpZGUtdmVydGljYWxseSk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXN0aWNraW5nKVxuICApXG4pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lOiBzbGlkZS1pbjtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLW5hbWU6IHNsaWRlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2JiLXN0aWNreS1iYXJfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb24pO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiB2YXIoLS1zYmItc3RpY2t5LWJhci16LWluZGV4KTtcblxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lLCB1bnNldCk7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgZGVsYXk6IDBzO1xuXG4gICAgLy8gRmlsbCBtb2RlIG5lZWRlZCB0byBlbmFibGUgZGVsYXlcbiAgICBmaWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgfVxuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGluc2V0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBiYWNrZ3JvdW5kIGNvbG9yIChjb3B5aW5nIGNvbnRhaW5lcilcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgLy8gTmVlZGVkIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGVudCBhbmQgRmlyZWZveFxuICAgIC8vIGhhcyB0cm91YmxlcyBkaXNwbGF5aW5nIGNvcnJlY3QgcGFkZGluZyB3aGVuIHRoZXJlIGlzIG5vIGNvbnRlbnQuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yIGFuZCBib3JkZXIgcmFkaXVzIHdoZW4gc3RpY2t5XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItc3RpY2t5LWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRGlzcGxheSBhIGJvcmRlciBvbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG4gICAgYm9yZGVyOiB2YXIoLS1fc2JiLXN0aWNreS1iYXItZm9yY2VkLWNvbG9ycy1ib3JkZXIsIG5vbmUpO1xuICB9XG59XG5cbi5zYmItc3RpY2t5LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2spO1xuXG4gIC8vIFRvIHB1c2ggdGhlIC5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3IgdXAgd2l0aG91dCB1c2luZyBhYnNvbHV0ZSBwb3NpdGlvbiB3ZSBuZWVkIGEgbmVnYXRpdmUgYmxvY2sgbWFyZ2luLlxuICBtYXJnaW4tYmxvY2stZW5kOiAtJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nO1xuXG4gIC8vIFNoYWRvdyB3aXRoIGJvcmRlciByYWRpdXMgYW5kIGNsaXBwZWQgc2hhZG93IGF0IHRoZSBib3R0b21cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLXN0aWNreS1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgICAgdmFyKC0tc2JiLXN0aWNreS1iYXItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgLTEwMCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgMTAwJSxcbiAgICAgIC0xMDAlIDEwMCVcbiAgICApO1xuXG4gICAgOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSkpICYge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtMTEtc29mdCk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLnBhZ2Utc3BhY2luZztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShleHBhbmRlZCkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmctZXhwYW5kZWQ7XG4gIH1cbn1cblxuLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvciB7XG4gIC8vIEluIG9yZGVyIHRvIG1ha2UgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciB3b3JrIHByb3Blcmx5IG9uIHdpbmRvd3MgdGhlIGludGVyc2VjdG9yIG5lZWRzIHRvIGhhdmUgYSBkZWZpbmVkIGhlaWdodFxuICBoZWlnaHQ6ICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZztcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0LCAwKSArICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tX3NiYi1zdGlja3ktYmFyLWludGVyc2VjdG9yLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0aWNreS1iYXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVzdGljazogJ2JlZm9yZXN0aWNrJyxcbiAgICBzdGljazogJ3N0aWNrJyxcbiAgICBiZWZvcmV1bnN0aWNrOiAnYmVmb3JldW5zdGljaycsXG4gICAgdW5zdGljazogJ3Vuc3RpY2snLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBDb2xvciBvZiB0aGUgY29udGFpbmVyLCBsaWtlIHRyYW5zcGFyZW50LCB3aGl0ZSBldGMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGNvbG9yOlxuICAgIHwgJ3doaXRlJ1xuICAgIHwgJ21pbGsnXG4gICAgfCAnbWlkbmlnaHQnXG4gICAgfCAnY2hhcmNvYWwnXG4gICAgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU3RpY2t5U3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU3RpY2t5U3RhdGU7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuXG4gICAgLy8gU3RpY2t5IGJhciBuZWVkcyB0byBiZSBoaWRkZW4gdW50aWwgZmlyc3Qgb2JzZXJ2ZXIgY2FsbGJhY2tcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1jb250YWluZXInKTtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdleHBhbmRlZCcsIGNvbnRhaW5lci5leHBhbmRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX2ludGVyc2VjdG9yID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0aWNreS1iYXJfX2ludGVyc2VjdG9yJykhO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdFN0aWNreVN0YXRlKGVudHJ5OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcblxuICAgIGNvbnN0IGlzU3RpY2t5ID0gIWVudHJ5LmlzSW50ZXJzZWN0aW5nICYmIGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgPiAwO1xuXG4gICAgLy8gVG8gb3B0aW1pemUgdGhlIHZpc3VhbCBwZXJjZXB0aW9uIG9mIHRoZSBzdGlja3kgYmFyLCB3ZSBoYXZlIGNlcnRhaW4gY2FzZXMgKGUuZy4gb24gcGFnZSBsb2FkKVxuICAgIC8vIHdoZXJlIHdlIHdhbnQgdGhlIHN0aWNreSBiYXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tLlxuICAgIC8vIFRvIGRlY2lkZSB3aGV0aGVyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbSB1cCxcbiAgICAvLyB3ZSBjaGVjayBob3cgZmFyIGF3YXkgdGhlIHN0aWNreSBiYXIgaXMgZnJvbSB0aGUgaW50ZXJzZWN0b3IgZWxlbWVudC4gV2hlbiBzY3JvbGxpbmcgZmFzdCwgdGhlXG4gICAgLy8gZGlmZmVyZW5jZSBjYW4gdmFyeSBzbGlnaHRseS4gVG8gYWNjb3VudCBmb3IgdGhpcyB3ZSBhZGQgYSBoZWlnaHQgdG9sZXJhbmNlLlxuICAgIC8vIFRoaXMgdmFsdWUgd2FzIGZvdW5kIGJ5IHRyaWFsIGFuZCBlcnJvci5cbiAgICBjb25zdCBpbnRlcnNlY3RvclJlY3QgPSB0aGlzLl9pbnRlcnNlY3Rvcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3RpY2t5QmFyUmVjdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLXN0aWNreS1iYXJfX3dyYXBwZXInLFxuICAgICkhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IEhFSUdIVF9UT0xFUkFOQ0UgPSAzMDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnc2xpZGUtdmVydGljYWxseScsXG4gICAgICBpc1N0aWNreSAmJlxuICAgICAgICB0aGlzLl9pbnRlcnNlY3RvciAmJlxuICAgICAgICBNYXRoLmFicyhpbnRlcnNlY3RvclJlY3QhLmJvdHRvbSAtIHN0aWNreUJhclJlY3QuYm90dG9tKSA+IEhFSUdIVF9UT0xFUkFOQ0UsXG4gICAgKTtcblxuICAgIC8vIFRvZ2dsaW5nIHN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBzbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl9kaXNwYXRjaEJlZm9yZVN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNraW5nJztcbiAgICBpZiAoIXRoaXMubWF0Y2hlcz8uKCc6c3RhdGUoc3RpY2tpbmcpJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogQW5pbWF0ZXMgYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24uICovXG4gIHB1YmxpYyB1bnN0aWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3N0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNraW5nJztcblxuICAgIGlmICghdGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShzdGlja2luZyknKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3RpY2t5Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3N0aWNrJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd1bnN0aWNrJykpO1xuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2t5JztcbiAgfVxuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNraW5nJyB8fCB0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNreScpICYmXG4gICAgICBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtaW4nXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3RhdGUgPT09ICd1bnN0aWNraW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtb3V0Jykge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZXN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JldW5zdGljaycsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM4QmEsNkJBQW1CO21CQUFTLHdCQUF3QixXQUFXOzs7Ozs7O2NBQS9ELDRCQUE0QixZQUFtQzs7O3dCQVl6RSxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFYQyxnQkFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtBQVdyQixnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTs7Ozs7Ozs7O0FBdEJqQixRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLG1CQUFNLENBQUM7OztBQUU1RCxRQUFBLFNBQVM7SUFDOUIsYUFBYTtJQUNiLE9BQU87SUFDUCxlQUFlO0lBQ2YsU0FBUztJQUNEOztFQUdtQjs7RUFBQSxJQUFnQixRQUFLO0FBQUEsVUFBQSxNQUFBOztFQUFyQixJQUFnQixNQUFLLE9BQUE7QUFBQSxTQUFBLHlCQUFBOztFQVdyQjs7Ozs7RUFBQSxJQUFnQixPQUFJO0FBQUEsVUFBQSxNQUFBOztFQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSxTQUFBLHdCQUFBOzs7RUFHakQsSUFBWSxPQUFPLE9BQWtCO0FBQ25DLE9BQUksS0FBSyxlQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sU0FBUyxLQUFLLGlCQUFpQjtBQUU5RCxRQUFLLGlCQUFpQjtBQUN0QixPQUFJLEtBQUssZUFDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFNBQVMsS0FBSyxpQkFBaUI7O0VBRzdELElBQVksU0FBTTtBQUNoQixVQUFPLEtBQUs7O0VBWWQsY0FBQTtBQUNFLFVBQU87QUFyQ29DLFNBQUEseUJBQUEsa0JBQUEsTUFBQSxxQkFLbEMsS0FBSTtBQU04QixTQUFBLHlCQUFBLGtCQUFBLE1BQUEseUJBQUEsRUFBQSxrQkFBQSxNQUFBLG9CQUFrQixRQUFRLEdBQUcsTUFBTSxJQUFHO0FBZTNFLFFBQUEsaUJBQWMsa0JBQUEsTUFBQSx3QkFBQTtBQUdkLFFBQUEsWUFBWSxJQUFJLHVCQUF1QixNQUFNO0lBR25ELFFBQVE7SUFDUixXQUFXLFlBQVksS0FBSyxtQkFBbUIsUUFBUSxHQUFBO0lBQ3hELENBQUM7QUFLQSxRQUFLLFNBQVM7O0VBR0Esb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBQ3pCLFFBQUssU0FBUztBQUdkLFFBQUssYUFBYTtHQUVsQixNQUFNLFlBQVksS0FBSyxRQUFRLGdCQUFnQjtBQUMvQyxPQUFJLFVBQ0YsTUFBSyxZQUFZLFlBQVksVUFBVSxTQUFTO0FBRWxELE9BQUksS0FBSyxhQUNQLE1BQUssVUFBVSxRQUFRLEtBQUssYUFBYTs7RUFJN0IsdUJBQW9CO0FBQ2xDLFNBQU0sc0JBQXNCO0FBQzVCLFFBQUssVUFBVSxPQUFPLE9BQU8sY0FBYzs7RUFHMUIsYUFBYSxtQkFBdUM7QUFDckUsU0FBTSxhQUFhLGtCQUFrQjtBQUVyQyxPQUFJLENBQUMsS0FBSyxjQUFjO0FBQ3RCLFNBQUssZUFBZSxLQUFLLFdBQVksY0FBYywrQkFBZ0M7QUFDbkYsU0FBSyxVQUFVLFFBQVEsS0FBSyxhQUFhOztBQUUzQyxRQUFLLFVBQVUsUUFBUSxLQUFLOztFQUd0QiwyQkFBd0I7QUFDOUIsVUFBTyx3QkFBd0IsTUFBTSx1REFBdUQ7O0VBR3RGLG1CQUFtQixPQUFnQztBQUN6RCxRQUFLLFVBQVUsT0FBTyxJQUFJLGNBQWM7R0FFeEMsTUFBTSxXQUFXLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxtQkFBbUIsTUFBTTtHQVF6RSxNQUFNLGtCQUFrQixLQUFLLGNBQWMsdUJBQXVCO0dBQ2xFLE1BQU0sZ0JBQWdCLEtBQUssV0FBWSxjQUNyQywyQkFDQSxDQUFDLHVCQUF1QjtBQUcxQixRQUFLLFlBQ0gsb0JBQ0EsWUFDRSxLQUFLLGdCQUNMLEtBQUssSUFBSSxnQkFBaUIsU0FBUyxjQUFjLE9BQU8sR0FBRyxHQUM5RDtBQUdELFFBQUssWUFBWSxZQUFZLFNBQVM7QUFHdEMsUUFBSyxnQkFBZ0I7OztFQUloQixRQUFLO0FBQ1YsT0FBSSxLQUFLLFdBQVcsY0FBYyxDQUFDLEtBQUssMkJBQTJCLENBQ2pFO0FBR0YsUUFBSyxTQUFTO0FBQ2QsT0FBSSxDQUFDLEtBQUssVUFBVSwwQ0FBbUIsSUFBSSxLQUFLLDBCQUEwQixDQUN4RSxNQUFLLGlCQUFpQjs7O0VBS25CLFVBQU87QUFDWixPQUFJLEtBQUssV0FBVyxZQUFZLENBQUMsS0FBSyw2QkFBNkIsQ0FDakU7QUFHRixRQUFLLFNBQVM7QUFFZCxPQUFJLENBQUMsS0FBSyxVQUFVLDBDQUFtQixJQUFJLEtBQUssMEJBQTBCLENBQ3hFLE1BQUssbUJBQW1COztFQUlwQixrQkFBZTtBQUNyQixRQUFLLFNBQVM7O0FBR2QsUUFBSyxjQUFjLElBQUksTUFBTSxRQUFRLENBQUM7O0VBR2hDLG9CQUFpQjs7QUFFdkIsUUFBSyxjQUFjLElBQUksTUFBTSxVQUFVLENBQUM7QUFDeEMsUUFBSyxTQUFTOztFQUdSLGdCQUFnQixPQUFxQjtBQUMzQyxRQUNHLEtBQUssV0FBVyxjQUFjLEtBQUssV0FBVyxhQUMvQyxNQUFNLGtCQUFrQixXQUV4QixNQUFLLGlCQUFpQjtZQUNiLEtBQUssV0FBVyxnQkFBZ0IsTUFBTSxrQkFBa0IsWUFDakUsTUFBSyxtQkFBbUI7O0VBSXBCLDRCQUF5Qjs7QUFFL0IsVUFBTyxLQUFLLGNBQWMsSUFBSSxNQUFNLGVBQWUsRUFBRSxZQUFZLE1BQU0sQ0FBQyxDQUFDOztFQUduRSw4QkFBMkI7O0FBRWpDLFVBQU8sS0FBSyxjQUFjLElBQUksTUFBTSxpQkFBaUIsRUFBRSxZQUFZLE1BQU0sQ0FBQyxDQUFDOztFQUcxRCxTQUFNO0FBQ3ZCLFVBQU8sSUFBSTsyREFDNEMsS0FBSyxnQkFBZSJ9
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQtQ3lzQUlaVGQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9zdGlja3ktYmFyL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29udGFpbmVyL3N0aWNreS1iYXIvc3RpY2t5LWJhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nOiAxcHg7XG5cbi8vIGA6c3RhdGUoc3RpY2tpbmcpYCB2LnMuIGA6c3RhdGUoc3RhdGUtc3RpY2t5KWA6XG4vLyBXaGlsZSBgOnN0YXRlKHN0aWNraW5nKWAgaXMgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHN0aWNreSBiYXIgaXMgY3VycmVudGx5IHN0aWNraW5nIChkdWUgc2Nyb2xsaW5nKSxcbi8vIHRoZSBgOnN0YXRlKHN0YXRlLXh5KWAgaG9sZHMgaW5mb3JtYXRpb24gd2hldGhlciB0aGUgYHBvc2l0aW9uOiBzdGlja3lgIGlzIGFwcGxpZWQgb3Igbm90XG4vLyBidXQgbm90IGNvbnNpZGVyaW5nIHRoZSByZWFsIHN0aWNraW5nIHN0YXRlLlxuXG46aG9zdCB7XG4gIC0tc2JiLXN0aWNreS1iYXItZmFkZS1pbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTV4KVxuICApO1xuICAtLXNiYi1zdGlja3ktYmFyLWZhZGUtb3V0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG4gIC0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLXN0aWNreS1iYXItZmFkZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uXG4gICk7XG5cbiAgLy8gRGlzcGxheSBjb250ZW50cyBuZWVkZWQgdG8gZ2V0IHRoZSBzdGlja3kgYmFyIHN0aWNreS5cbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAtLXNiYi1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKVxuICApO1xuICAtLV9zYmItc3RpY2t5LWJhci1pbnRlcnNlY3Rvci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItc3RpY2t5LWJhci1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tX3NiYi1zdGlja3ktYmFyLWZvcmNlZC1jb2xvcnMtYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzdGlja2luZyk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpW2NvbG9yPSd3aGl0ZSddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItc3RpY2t5LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6c3RhdGUoc3RpY2tpbmcpOm5vdCg6c3RhdGUoc3RhdGUtdW5zdGlja3kpKVtjb2xvcj0nbWlkbmlnaHQnXSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXN0aWNreS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xLW5lZ2F0aXZlKTtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSlbY29sb3I9J2NoYXJjb2FsJ10pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMi1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgOnN0YXRlKHN0aWNraW5nKTppcyg6c3RhdGUoc2xpZGUtdmVydGljYWxseSksIDpzdGF0ZShzdGF0ZS1zdGlja2luZyksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXVuc3RpY2t5KVxuICApXG4pIHtcbiAgLS1fc2JiLXN0aWNreS1iYXItYmFja2dyb3VuZC1hbmltYXRpb24tZHVyYXRpb246IDBzO1xufVxuXG46aG9zdChcbiAgOnN0YXRlKHN0aWNraW5nKTppcyhcbiAgICA6c3RhdGUoc2xpZGUtdmVydGljYWxseSk6bm90KDpzdGF0ZShzdGF0ZS11bnN0aWNreSksIDpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSksXG4gICAgOnN0YXRlKHN0YXRlLXN0aWNraW5nKVxuICApXG4pIHtcbiAgLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lOiBzbGlkZS1pbjtcbn1cblxuOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpzdGF0ZShzdGF0ZS11bnN0aWNraW5nKSkge1xuICAtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLW5hbWU6IHNsaWRlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShzdGF0ZS11bnN0aWNreSkpKSB7XG4gIC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2JiLXN0aWNreS1iYXJfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXN0aWNreS1iYXItcG9zaXRpb24pO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiB2YXIoLS1zYmItc3RpY2t5LWJhci16LWluZGV4KTtcblxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1uYW1lLCB1bnNldCk7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgZGVsYXk6IDBzO1xuXG4gICAgLy8gRmlsbCBtb2RlIG5lZWRlZCB0byBlbmFibGUgZGVsYXlcbiAgICBmaWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgfVxuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGluc2V0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBiYWNrZ3JvdW5kIGNvbG9yIChjb3B5aW5nIGNvbnRhaW5lcilcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgLy8gTmVlZGVkIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGVudCBhbmQgRmlyZWZveFxuICAgIC8vIGhhcyB0cm91YmxlcyBkaXNwbGF5aW5nIGNvcnJlY3QgcGFkZGluZyB3aGVuIHRoZXJlIGlzIG5vIGNvbnRlbnQuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yIGFuZCBib3JkZXIgcmFkaXVzIHdoZW4gc3RpY2t5XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RpY2t5LWJhci1zdGlja3ktYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItc3RpY2t5LWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRGlzcGxheSBhIGJvcmRlciBvbiBoaWdoIGNvbnRyYXN0IG1vZGUuXG4gICAgYm9yZGVyOiB2YXIoLS1fc2JiLXN0aWNreS1iYXItZm9yY2VkLWNvbG9ycy1ib3JkZXIsIG5vbmUpO1xuICB9XG59XG5cbi5zYmItc3RpY2t5LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2spO1xuXG4gIC8vIFRvIHB1c2ggdGhlIC5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3IgdXAgd2l0aG91dCB1c2luZyBhYnNvbHV0ZSBwb3NpdGlvbiB3ZSBuZWVkIGEgbmVnYXRpdmUgYmxvY2sgbWFyZ2luLlxuICBtYXJnaW4tYmxvY2stZW5kOiAtJGludGVyc2VjdG9yLW92ZXJsYXBwaW5nO1xuXG4gIC8vIFNoYWRvdyB3aXRoIGJvcmRlciByYWRpdXMgYW5kIGNsaXBwZWQgc2hhZG93IGF0IHRoZSBib3R0b21cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLXN0aWNreS1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1zdGlja3ktYmFyLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tX3NiYi1zdGlja3ktYmFyLWJhY2tncm91bmQtYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgICAgdmFyKC0tc2JiLXN0aWNreS1iYXItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgLTEwMCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgY2FsYygtMSAqIHZhcigtLXNiYi1zaGFkb3ctZWxldmF0aW9uLWxldmVsLTExLXNoYWRvdy0xLWJsdXIpKSxcbiAgICAgIDE1MCUgMTAwJSxcbiAgICAgIC0xMDAlIDEwMCVcbiAgICApO1xuXG4gICAgOmhvc3QoOnN0YXRlKHN0aWNraW5nKTpub3QoOnN0YXRlKHN0YXRlLXVuc3RpY2t5KSkpICYge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtMTEtc29mdCk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoZXhwYW5kZWQpKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLnBhZ2Utc3BhY2luZztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShleHBhbmRlZCkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmctZXhwYW5kZWQ7XG4gIH1cbn1cblxuLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvciB7XG4gIC8vIEluIG9yZGVyIHRvIG1ha2UgdGhlIGludGVyc2VjdGlvbiBvYnNlcnZlciB3b3JrIHByb3Blcmx5IG9uIHdpbmRvd3MgdGhlIGludGVyc2VjdG9yIG5lZWRzIHRvIGhhdmUgYSBkZWZpbmVkIGhlaWdodFxuICBoZWlnaHQ6ICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZztcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0LCAwKSArICRpbnRlcnNlY3Rvci1vdmVybGFwcGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tX3NiYi1zdGlja3ktYmFyLWludGVyc2VjdG9yLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLV9zYmItc3RpY2t5LWJhci1iYWNrZ3JvdW5kLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgIHZhcigtLXNiYi1zdGlja3ktYmFyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0aWNreS1iYXIuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0aWNreS1iYXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVzdGljazogJ2JlZm9yZXN0aWNrJyxcbiAgICBzdGljazogJ3N0aWNrJyxcbiAgICBiZWZvcmV1bnN0aWNrOiAnYmVmb3JldW5zdGljaycsXG4gICAgdW5zdGljazogJ3Vuc3RpY2snLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBDb2xvciBvZiB0aGUgY29udGFpbmVyLCBsaWtlIHRyYW5zcGFyZW50LCB3aGl0ZSBldGMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGNvbG9yOlxuICAgIHwgJ3doaXRlJ1xuICAgIHwgJ21pbGsnXG4gICAgfCAnbWlkbmlnaHQnXG4gICAgfCAnY2hhcmNvYWwnXG4gICAgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU3RpY2t5U3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU3RpY2t5U3RhdGU7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuXG4gICAgLy8gU3RpY2t5IGJhciBuZWVkcyB0byBiZSBoaWRkZW4gdW50aWwgZmlyc3Qgb2JzZXJ2ZXIgY2FsbGJhY2tcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1jb250YWluZXInKTtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdleHBhbmRlZCcsIGNvbnRhaW5lci5leHBhbmRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX2ludGVyc2VjdG9yID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0aWNreS1iYXJfX2ludGVyc2VjdG9yJykhO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9pbnRlcnNlY3Rvcik7XG4gICAgfVxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXN0aWNreS1iYXItc2xpZGUtdmVydGljYWxseS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdFN0aWNreVN0YXRlKGVudHJ5OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcblxuICAgIGNvbnN0IGlzU3RpY2t5ID0gIWVudHJ5LmlzSW50ZXJzZWN0aW5nICYmIGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgPiAwO1xuXG4gICAgLy8gVG8gb3B0aW1pemUgdGhlIHZpc3VhbCBwZXJjZXB0aW9uIG9mIHRoZSBzdGlja3kgYmFyLCB3ZSBoYXZlIGNlcnRhaW4gY2FzZXMgKGUuZy4gb24gcGFnZSBsb2FkKVxuICAgIC8vIHdoZXJlIHdlIHdhbnQgdGhlIHN0aWNreSBiYXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tLlxuICAgIC8vIFRvIGRlY2lkZSB3aGV0aGVyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbSB1cCxcbiAgICAvLyB3ZSBjaGVjayBob3cgZmFyIGF3YXkgdGhlIHN0aWNreSBiYXIgaXMgZnJvbSB0aGUgaW50ZXJzZWN0b3IgZWxlbWVudC4gV2hlbiBzY3JvbGxpbmcgZmFzdCwgdGhlXG4gICAgLy8gZGlmZmVyZW5jZSBjYW4gdmFyeSBzbGlnaHRseS4gVG8gYWNjb3VudCBmb3IgdGhpcyB3ZSBhZGQgYSBoZWlnaHQgdG9sZXJhbmNlLlxuICAgIC8vIFRoaXMgdmFsdWUgd2FzIGZvdW5kIGJ5IHRyaWFsIGFuZCBlcnJvci5cbiAgICBjb25zdCBpbnRlcnNlY3RvclJlY3QgPSB0aGlzLl9pbnRlcnNlY3Rvcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3RpY2t5QmFyUmVjdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLXN0aWNreS1iYXJfX3dyYXBwZXInLFxuICAgICkhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IEhFSUdIVF9UT0xFUkFOQ0UgPSAzMDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnc2xpZGUtdmVydGljYWxseScsXG4gICAgICBpc1N0aWNreSAmJlxuICAgICAgICB0aGlzLl9pbnRlcnNlY3RvciAmJlxuICAgICAgICBNYXRoLmFicyhpbnRlcnNlY3RvclJlY3QhLmJvdHRvbSAtIHN0aWNreUJhclJlY3QuYm90dG9tKSA+IEhFSUdIVF9UT0xFUkFOQ0UsXG4gICAgKTtcblxuICAgIC8vIFRvZ2dsaW5nIHN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBzbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl9kaXNwYXRjaEJlZm9yZVN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNraW5nJztcbiAgICBpZiAoIXRoaXMubWF0Y2hlcz8uKCc6c3RhdGUoc3RpY2tpbmcpJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogQW5pbWF0ZXMgYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24uICovXG4gIHB1YmxpYyB1bnN0aWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3N0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNraW5nJztcblxuICAgIGlmICghdGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShzdGlja2luZyknKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3RpY2t5Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3N0aWNrJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gYHBvc2l0aW9uOiBzdGlja3lgIHRvIG5vcm1hbCBjb250ZW50IGZsb3cgZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd1bnN0aWNrJykpO1xuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2t5JztcbiAgfVxuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNraW5nJyB8fCB0aGlzLl9zdGF0ZSA9PT0gJ3N0aWNreScpICYmXG4gICAgICBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtaW4nXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3RhdGUgPT09ICd1bnN0aWNraW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnc2xpZGUtb3V0Jykge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZXN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlVW5TdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JldW5zdGljaycsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM4QmEsNkJBQW1CO21CQUFTLHdCQUF3QixXQUFXOzs7Ozs7O2NBQS9ELDRCQUE0QixZQUFtQzs7O3dCQVl6RSxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7R0FYQyxhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0dBV3JCLGFBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7Ozs7Ozs7OztHQXRCakIsS0FBQSxjQUFzQjs7O0dBQy9CLEtBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxtQkFBTSxDQUFDOzs7R0FFNUQsS0FBQSxTQUFTO0lBQzlCLGFBQWE7SUFDYixPQUFPO0lBQ1AsZUFBZTtJQUNmLFNBQVM7SUFDRDs7RUFHbUI7O0VBQUEsSUFBZ0IsUUFBSztHQUFBLE9BQUEsS0FBQTs7RUFBckIsSUFBZ0IsTUFBSyxPQUFBO0dBQUEsS0FBQSwwQkFBQTs7RUFXckI7Ozs7O0VBQUEsSUFBZ0IsT0FBSTtHQUFBLE9BQUEsS0FBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0dBQUEsS0FBQSx5QkFBQTs7O0VBR2pELElBQVksT0FBTyxPQUFrQjtHQUNuQyxJQUFJLEtBQUssZ0JBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxTQUFTLEtBQUssaUJBQWlCO0dBRTlELEtBQUssaUJBQWlCO0dBQ3RCLElBQUksS0FBSyxnQkFDUCxLQUFLLFVBQVUsT0FBTyxJQUFJLFNBQVMsS0FBSyxpQkFBaUI7O0VBRzdELElBQVksU0FBTTtHQUNoQixPQUFPLEtBQUs7O0VBWWQsY0FBQTtHQUNFLE9BQU87R0FyQ29DLEtBQUEsMEJBQUEsa0JBQUEsTUFBQSxxQkFLbEMsS0FBSTtHQU04QixLQUFBLDBCQUFBLGtCQUFBLE1BQUEseUJBQUEsRUFBQSxrQkFBQSxNQUFBLG9CQUFrQixRQUFRLEdBQUcsTUFBTSxJQUFHO0dBZTNFLEtBQUEsaUJBQWMsa0JBQUEsTUFBQSx3QkFBQTtHQUdkLEtBQUEsWUFBWSxJQUFJLHVCQUF1QixNQUFNO0lBR25ELFFBQVE7SUFDUixXQUFXLFlBQVksS0FBSyxtQkFBbUIsUUFBUSxHQUFBO0lBQ3hELENBQUM7R0FLQSxLQUFLLFNBQVM7O0VBR0Esb0JBQWlCO0dBQy9CLE1BQU0sbUJBQW1CO0dBQ3pCLEtBQUssU0FBUztHQUdkLEtBQUssYUFBYTtHQUVsQixNQUFNLFlBQVksS0FBSyxRQUFRLGdCQUFnQjtHQUMvQyxJQUFJLFdBQ0YsS0FBSyxZQUFZLFlBQVksVUFBVSxTQUFTO0dBRWxELElBQUksS0FBSyxjQUNQLEtBQUssVUFBVSxRQUFRLEtBQUssYUFBYTs7RUFJN0IsdUJBQW9CO0dBQ2xDLE1BQU0sc0JBQXNCO0dBQzVCLEtBQUssVUFBVSxPQUFPLE9BQU8sY0FBYzs7RUFHMUIsYUFBYSxtQkFBdUM7R0FDckUsTUFBTSxhQUFhLGtCQUFrQjtHQUVyQyxJQUFJLENBQUMsS0FBSyxjQUFjO0lBQ3RCLEtBQUssZUFBZSxLQUFLLFdBQVksY0FBYywrQkFBZ0M7SUFDbkYsS0FBSyxVQUFVLFFBQVEsS0FBSyxhQUFhOztHQUUzQyxLQUFLLFVBQVUsUUFBUSxLQUFLOztFQUd0QiwyQkFBd0I7R0FDOUIsT0FBTyx3QkFBd0IsTUFBTSx1REFBdUQ7O0VBR3RGLG1CQUFtQixPQUFnQztHQUN6RCxLQUFLLFVBQVUsT0FBTyxJQUFJLGNBQWM7R0FFeEMsTUFBTSxXQUFXLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxtQkFBbUIsTUFBTTtHQVF6RSxNQUFNLGtCQUFrQixLQUFLLGNBQWMsdUJBQXVCO0dBQ2xFLE1BQU0sZ0JBQWdCLEtBQUssV0FBWSxjQUNyQywyQkFDQSxDQUFDLHVCQUF1QjtHQUcxQixLQUFLLFlBQ0gsb0JBQ0EsWUFDRSxLQUFLLGdCQUNMLEtBQUssSUFBSSxnQkFBaUIsU0FBUyxjQUFjLE9BQU8sR0FBRyxHQUM5RDtHQUdELEtBQUssWUFBWSxZQUFZLFNBQVM7R0FHdEMsS0FBSyxnQkFBZ0I7OztFQUloQixRQUFLO0dBQ1YsSUFBSSxLQUFLLFdBQVcsY0FBYyxDQUFDLEtBQUssMkJBQTJCLEVBQ2pFO0dBR0YsS0FBSyxTQUFTO0dBQ2QsSUFBSSxDQUFDLEtBQUssVUFBVSwwQ0FBbUIsSUFBSSxLQUFLLDBCQUEwQixFQUN4RSxLQUFLLGlCQUFpQjs7O0VBS25CLFVBQU87R0FDWixJQUFJLEtBQUssV0FBVyxZQUFZLENBQUMsS0FBSyw2QkFBNkIsRUFDakU7R0FHRixLQUFLLFNBQVM7R0FFZCxJQUFJLENBQUMsS0FBSyxVQUFVLDBDQUFtQixJQUFJLEtBQUssMEJBQTBCLEVBQ3hFLEtBQUssbUJBQW1COztFQUlwQixrQkFBZTtHQUNyQixLQUFLLFNBQVM7O0dBR2QsS0FBSyxjQUFjLElBQUksTUFBTSxRQUFRLENBQUM7O0VBR2hDLG9CQUFpQjs7R0FFdkIsS0FBSyxjQUFjLElBQUksTUFBTSxVQUFVLENBQUM7R0FDeEMsS0FBSyxTQUFTOztFQUdSLGdCQUFnQixPQUFxQjtHQUMzQyxLQUNHLEtBQUssV0FBVyxjQUFjLEtBQUssV0FBVyxhQUMvQyxNQUFNLGtCQUFrQixZQUV4QixLQUFLLGlCQUFpQjtRQUNqQixJQUFJLEtBQUssV0FBVyxnQkFBZ0IsTUFBTSxrQkFBa0IsYUFDakUsS0FBSyxtQkFBbUI7O0VBSXBCLDRCQUF5Qjs7R0FFL0IsT0FBTyxLQUFLLGNBQWMsSUFBSSxNQUFNLGVBQWUsRUFBRSxZQUFZLE1BQU0sQ0FBQyxDQUFDOztFQUduRSw4QkFBMkI7O0dBRWpDLE9BQU8sS0FBSyxjQUFjLElBQUksTUFBTSxpQkFBaUIsRUFBRSxZQUFZLE1BQU0sQ0FBQyxDQUFDOztFQUcxRCxTQUFNO0dBQ3ZCLE9BQU8sSUFBSTsyREFDNEMsS0FBSyxnQkFBZSJ9
@@ -272,4 +272,4 @@ var SbbTabGroupElement = (() => {
272
272
  //#endregion
273
273
  export { SbbTabGroupElement as t };
274
274
 
275
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC1EOWpDSzI2cS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10YWItZ3JvdXAtYW5pbWF0aW9uLWR1cmF0aW9uOiAwcztcblxuICBnYXA6IHZhcigtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXApO1xufVxuXG46aG9zdCg6c3RhdGUoaW5pdGlhbGl6ZWQpKSB7XG4gIC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xufVxuXG4uc2JiLXRhYi1ncm91cC1jb250ZW50IHtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItdGFiLWNvbnRlbnQtaGVpZ2h0KTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXNiYi10YWItZ3JvdXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG59XG5cbjo6c2xvdHRlZChzYmItdGFiKSB7XG4gIDpob3N0KFtmaXhlZC1oZWlnaHRdKSAmIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIGh0bWwsXG4gIHVuc2FmZUNTUyxcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyB0YWJHcm91cENvbW1vblN0eWxlcyB9IGZyb20gJy4uL2NvbW1vbi9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJFbGVtZW50IH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwvdGFiLWxhYmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1ncm91cC5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyB7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGFjdGl2ZVRhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYjogU2JiVGFiRWxlbWVudDtcbiAgcHJldmlvdXNJbmRleDogbnVtYmVyO1xuICBwcmV2aW91c1RhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByZXZpb3VzVGFiOiBTYmJUYWJFbGVtZW50IHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgc29tZSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWEgYHNiYi10YWItbGFiZWxgIGFuZCBgc2JiLXRhYmAgaW5zdGFuY2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPn0gdGFiY2hhbmdlIC0gVGhlIHRhYmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSB0YWIgaXMgc2VsZWN0ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWItZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRhYkdyb3VwQ29tbW9uU3R5bGVzLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHRhYmNoYW5nZTogJ3RhYmNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcbiAgcHJpdmF0ZSBfY29udGVudFNsb3RDaGFuZ2VEZWJvdW5jZUlkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMsIGwgb3IgeGwuXG4gICAqIEBkZWZhdWx0ICdsJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgfCAneGwnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBgc2JiLXRhYmAgZWxlbWVudHMgdGFrZSAxMDAlIGhlaWdodCBvZiB0aGUgYHNiYi10YWItZ3JvdXBgLlxuICAgKiBJdCBlbmFibGVzIGNvbnRyb2xsaW5nIHRoZSBoZWlnaHQgb24gdGhlIGBzYmItdGFiLWdyb3VwYCBlbGVtZW50LlxuICAgKiBUaGUgY29udGVudCBiZWNvbWVzIHNjcm9sbGFibGUgb24gb3ZlcmZsb3cuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZml4ZWQtaGVpZ2h0JywgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZml4ZWRIZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBgc2JiLXRhYi1sYWJlbGBzLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVscygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgLyoqXG4gICAgICogVGhlIHF1ZXJ5U2VsZWN0b3IgQVBJIGlzIG5vdCB1c2VkIGJlY2F1c2Ugd2hlbiBuZXN0ZWQgdGFicyBhcmUgdXNlZCxcbiAgICAgKiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgdGhlIGlubmVyIHRhYnMgdG9vLCBhbmQgdGhpcyBicmVha3MgdGhlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAgICovXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZmlsdGVyKChjaGlsZCkgPT5cbiAgICAgIC9ec2JiLXRhYi1sYWJlbCQvdS50ZXN0KGNoaWxkLmxvY2FsTmFtZSksXG4gICAgKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGBzYmItdGFiYHMuICovXG4gIHB1YmxpYyBnZXQgdGFicygpOiBTYmJUYWJFbGVtZW50W10ge1xuICAgIC8qKlxuICAgICAqIFRoZSBxdWVyeVNlbGVjdG9yIEFQSSBpcyBub3QgdXNlZCBiZWNhdXNlIHdoZW4gbmVzdGVkIHRhYnMgYXJlIHVzZWQsXG4gICAgICogdGhlIHJldHVybmVkIGFycmF5IGNvbnRhaW5zIHRoZSBpbm5lciB0YWJzIHRvbywgYW5kIHRoaXMgYnJlYWtzIHRoZSBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAqL1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWIkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgU2JiVGFiRWxlbWVudFtdO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcblxuICAgIC8vIFRvIGF2b2lkIGFuaW1hdGlvbnMgb24gaW5pdGlhbGl6YXRpb24sIHdlIGhhdmUgdG8gbWFyayB0aGUgY29tcG9uZW50IGFzIGluaXRpYWxpemVkIGFuZCB3YWl0IGEgdGljay5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2luaXRpYWxpemVkJykpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl90YWJHcm91cEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZGlzYWJsZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbHNbaW5kZXhdKSB7XG4gICAgICB0aGlzLmxhYmVsc1tpbmRleF0uZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGFiZWxzW2luZGV4XSkge1xuICAgICAgdGhpcy5sYWJlbHNbaW5kZXhdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGFjdGl2YXRlLlxuICAgKi9cbiAgcHVibGljIGFjdGl2YXRlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsc1tpbmRleF0/LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmZpbHRlcigodCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0KTtcbiAgICAgIHJldHVybiAhdC5kaXNhYmxlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ29udGVudFNsb3RDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgodGFiTGFiZWwpID0+IHRhYkxhYmVsWydsaW5rVG9UYWInXSgpKTtcbiAgICAgIHRoaXMubGFiZWxzLmZpbmQoKHRhYkxhYmVsKSA9PiB0YWJMYWJlbC5hY3RpdmUpPy5hY3RpdmF0ZSgpO1xuICAgIH0sIDE1MCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkxhYmVsU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICAgIHRoaXMuX2Vuc3VyZUFjdGl2ZVRhYigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW5zdXJlQWN0aXZlVGFiKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hdGNoZXM/LignOnN0YXRlKGluaXRpYWxpemVkKScpICYmICF0aGlzLmxhYmVscy5zb21lKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWwuYWN0aXZlKSkge1xuICAgICAgdGhpcy5faW5pdFNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWJMYWJlbCA9IHRoaXMubGFiZWxzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdO1xuICAgIGlmIChzZWxlY3RlZFRhYkxhYmVsKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHNlbGVjdGVkVGFiTGFiZWwpO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA8IHRoaXMubGFiZWxzLmxlbmd0aCAmJlxuICAgICAgICAhc2VsZWN0ZWRUYWJMYWJlbC5kaXNhYmxlZFxuICAgICAgKSB7XG4gICAgICAgIHNlbGVjdGVkVGFiTGFiZWwuYWN0aXZhdGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy5hY3RpdmF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJHcm91cEVsZW1lbnRSZXNpemUoKTogdm9pZCB7XG4gICAgY29uc3QgdGFiTGFiZWxzID0gdGhpcy5sYWJlbHM7XG4gICAgdGFiTGFiZWxzLmZvckVhY2goKHRhYkxhYmVsKSA9PiB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcih0YWJMYWJlbCk/LnRvZ2dsZShcbiAgICAgICAgJ2hhcy1kaXZpZGVyJyxcbiAgICAgICAgdGFiTGFiZWwgPT09IHRhYkxhYmVsc1swXSB8fCB0YWJMYWJlbC5vZmZzZXRMZWZ0ID09PSB0YWJMYWJlbHNbMF0ub2Zmc2V0TGVmdCxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10YWItZ3JvdXAtd2lkdGgnLCBgJHt0aGlzLl90YWJHcm91cEVsZW1lbnQuY2xpZW50V2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRhYnM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodCkgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmFjdGl2YXRlKCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIHNldFRhYkNvbnRlbnRIZWlnaHQoY29udGVudEhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWNvbnRlbnQtaGVpZ2h0JywgYCR7Y29udGVudEhlaWdodH1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2JiLXRhYi1ncm91cFwiXG4gICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RhYkdyb3VwRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0YWItYmFyXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkxhYmVsU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgICAkeyF0aGlzLmZpeGVkSGVpZ2h0XG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWdyb3VwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQ29udGVudFNsb3RDaGFuZ2V9Pjwvc2xvdD5gfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3NDYSw0QkFBa0I7bUJBQVM7Ozs7Ozs7Ozs7Y0FBM0IsMkJBQTJCLFlBQVU7Ozt1QkF1Qi9DLFVBQVUsQ0FBQTt1Q0FPVixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBMEIsTUFBTTtJQUFRLENBQUMsQ0FBQTs4QkFRL0QsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWdCLE1BQU07SUFBUyxTQUFTO0lBQU0sQ0FBQyxDQUFBO0FBaEJ0RSxnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTtBQVFwQixnQkFBQSxNQUFBLE1BQUEsa0NBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSwwQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFvQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQXBCLHVCQUFvQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9DQUFBLHdDQUFBO0FBU3BDLGdCQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFB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
275
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC1EOWpDSzI2cS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10YWItZ3JvdXAtYW5pbWF0aW9uLWR1cmF0aW9uOiAwcztcblxuICBnYXA6IHZhcigtLXNiYi10YWItZ3JvdXAtY29udGVudC1nYXApO1xufVxuXG46aG9zdCg6c3RhdGUoaW5pdGlhbGl6ZWQpKSB7XG4gIC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xufVxuXG4uc2JiLXRhYi1ncm91cC1jb250ZW50IHtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItdGFiLWNvbnRlbnQtaGVpZ2h0KTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXNiYi10YWItZ3JvdXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG59XG5cbjo6c2xvdHRlZChzYmItdGFiKSB7XG4gIDpob3N0KFtmaXhlZC1oZWlnaHRdKSAmIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIGh0bWwsXG4gIHVuc2FmZUNTUyxcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyB0YWJHcm91cENvbW1vblN0eWxlcyB9IGZyb20gJy4uL2NvbW1vbi9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJFbGVtZW50IH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwvdGFiLWxhYmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1ncm91cC5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyB7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGFjdGl2ZVRhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYjogU2JiVGFiRWxlbWVudDtcbiAgcHJldmlvdXNJbmRleDogbnVtYmVyO1xuICBwcmV2aW91c1RhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByZXZpb3VzVGFiOiBTYmJUYWJFbGVtZW50IHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgc29tZSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWEgYHNiYi10YWItbGFiZWxgIGFuZCBgc2JiLXRhYmAgaW5zdGFuY2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPn0gdGFiY2hhbmdlIC0gVGhlIHRhYmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSB0YWIgaXMgc2VsZWN0ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWItZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRhYkdyb3VwQ29tbW9uU3R5bGVzLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHRhYmNoYW5nZTogJ3RhYmNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcbiAgcHJpdmF0ZSBfY29udGVudFNsb3RDaGFuZ2VEZWJvdW5jZUlkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMsIGwgb3IgeGwuXG4gICAqIEBkZWZhdWx0ICdsJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgfCAneGwnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBgc2JiLXRhYmAgZWxlbWVudHMgdGFrZSAxMDAlIGhlaWdodCBvZiB0aGUgYHNiYi10YWItZ3JvdXBgLlxuICAgKiBJdCBlbmFibGVzIGNvbnRyb2xsaW5nIHRoZSBoZWlnaHQgb24gdGhlIGBzYmItdGFiLWdyb3VwYCBlbGVtZW50LlxuICAgKiBUaGUgY29udGVudCBiZWNvbWVzIHNjcm9sbGFibGUgb24gb3ZlcmZsb3cuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZml4ZWQtaGVpZ2h0JywgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZml4ZWRIZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBgc2JiLXRhYi1sYWJlbGBzLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVscygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgLyoqXG4gICAgICogVGhlIHF1ZXJ5U2VsZWN0b3IgQVBJIGlzIG5vdCB1c2VkIGJlY2F1c2Ugd2hlbiBuZXN0ZWQgdGFicyBhcmUgdXNlZCxcbiAgICAgKiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgdGhlIGlubmVyIHRhYnMgdG9vLCBhbmQgdGhpcyBicmVha3MgdGhlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAgICovXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZmlsdGVyKChjaGlsZCkgPT5cbiAgICAgIC9ec2JiLXRhYi1sYWJlbCQvdS50ZXN0KGNoaWxkLmxvY2FsTmFtZSksXG4gICAgKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGBzYmItdGFiYHMuICovXG4gIHB1YmxpYyBnZXQgdGFicygpOiBTYmJUYWJFbGVtZW50W10ge1xuICAgIC8qKlxuICAgICAqIFRoZSBxdWVyeVNlbGVjdG9yIEFQSSBpcyBub3QgdXNlZCBiZWNhdXNlIHdoZW4gbmVzdGVkIHRhYnMgYXJlIHVzZWQsXG4gICAgICogdGhlIHJldHVybmVkIGFycmF5IGNvbnRhaW5zIHRoZSBpbm5lciB0YWJzIHRvbywgYW5kIHRoaXMgYnJlYWtzIHRoZSBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAqL1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWIkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgU2JiVGFiRWxlbWVudFtdO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcblxuICAgIC8vIFRvIGF2b2lkIGFuaW1hdGlvbnMgb24gaW5pdGlhbGl6YXRpb24sIHdlIGhhdmUgdG8gbWFyayB0aGUgY29tcG9uZW50IGFzIGluaXRpYWxpemVkIGFuZCB3YWl0IGEgdGljay5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2luaXRpYWxpemVkJykpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl90YWJHcm91cEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZGlzYWJsZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbHNbaW5kZXhdKSB7XG4gICAgICB0aGlzLmxhYmVsc1tpbmRleF0uZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGFiZWxzW2luZGV4XSkge1xuICAgICAgdGhpcy5sYWJlbHNbaW5kZXhdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGFjdGl2YXRlLlxuICAgKi9cbiAgcHVibGljIGFjdGl2YXRlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsc1tpbmRleF0/LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmZpbHRlcigodCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0KTtcbiAgICAgIHJldHVybiAhdC5kaXNhYmxlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ29udGVudFNsb3RDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRlbnRTbG90Q2hhbmdlRGVib3VuY2VJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgodGFiTGFiZWwpID0+IHRhYkxhYmVsWydsaW5rVG9UYWInXSgpKTtcbiAgICAgIHRoaXMubGFiZWxzLmZpbmQoKHRhYkxhYmVsKSA9PiB0YWJMYWJlbC5hY3RpdmUpPy5hY3RpdmF0ZSgpO1xuICAgIH0sIDE1MCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkxhYmVsU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICAgIHRoaXMuX2Vuc3VyZUFjdGl2ZVRhYigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW5zdXJlQWN0aXZlVGFiKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hdGNoZXM/LignOnN0YXRlKGluaXRpYWxpemVkKScpICYmICF0aGlzLmxhYmVscy5zb21lKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWwuYWN0aXZlKSkge1xuICAgICAgdGhpcy5faW5pdFNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWJMYWJlbCA9IHRoaXMubGFiZWxzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdO1xuICAgIGlmIChzZWxlY3RlZFRhYkxhYmVsKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHNlbGVjdGVkVGFiTGFiZWwpO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA8IHRoaXMubGFiZWxzLmxlbmd0aCAmJlxuICAgICAgICAhc2VsZWN0ZWRUYWJMYWJlbC5kaXNhYmxlZFxuICAgICAgKSB7XG4gICAgICAgIHNlbGVjdGVkVGFiTGFiZWwuYWN0aXZhdGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy5hY3RpdmF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJHcm91cEVsZW1lbnRSZXNpemUoKTogdm9pZCB7XG4gICAgY29uc3QgdGFiTGFiZWxzID0gdGhpcy5sYWJlbHM7XG4gICAgdGFiTGFiZWxzLmZvckVhY2goKHRhYkxhYmVsKSA9PiB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcih0YWJMYWJlbCk/LnRvZ2dsZShcbiAgICAgICAgJ2hhcy1kaXZpZGVyJyxcbiAgICAgICAgdGFiTGFiZWwgPT09IHRhYkxhYmVsc1swXSB8fCB0YWJMYWJlbC5vZmZzZXRMZWZ0ID09PSB0YWJMYWJlbHNbMF0ub2Zmc2V0TGVmdCxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10YWItZ3JvdXAtd2lkdGgnLCBgJHt0aGlzLl90YWJHcm91cEVsZW1lbnQuY2xpZW50V2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRhYnM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodCkgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmFjdGl2YXRlKCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIHNldFRhYkNvbnRlbnRIZWlnaHQoY29udGVudEhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWNvbnRlbnQtaGVpZ2h0JywgYCR7Y29udGVudEhlaWdodH1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2JiLXRhYi1ncm91cFwiXG4gICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RhYkdyb3VwRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0YWItYmFyXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkxhYmVsU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgICAkeyF0aGlzLmZpeGVkSGVpZ2h0XG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWdyb3VwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQ29udGVudFNsb3RDaGFuZ2V9Pjwvc2xvdD5gfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3NDYSw0QkFBa0I7bUJBQVM7Ozs7Ozs7Ozs7Y0FBM0IsMkJBQTJCLFlBQVU7Ozt1QkF1Qi9DLFVBQVUsQ0FBQTt1Q0FPVixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBMEIsTUFBTTtJQUFRLENBQUMsQ0FBQTs4QkFRL0QsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWdCLE1BQU07SUFBUyxTQUFTO0lBQU0sQ0FBQyxDQUFBO0dBaEJ0RSxhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBO0dBUXBCLGFBQUEsTUFBQSxNQUFBLGtDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsMEJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBb0IsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFwQix1QkFBb0I7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQ0FBQSx3Q0FBQTtHQVNwQyxhQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFBO0tB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
@@ -240,4 +240,4 @@ var SbbTabLabelElement = (() => {
240
240
  //#endregion
241
241
  export { SbbTabLabelElement as t };
242
242
 
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC1COWU5a2dWZi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItbGFiZWwvdGFiLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi90YWItbGFiZWwtY29tbW9uJyBhcyB0YWItbGFiZWwtY29tbW9uO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNiYi10YWItbGFiZWwge1xuICBjdXJzb3I6IHZhcigtLXNiYi10YWItbGFiZWwtY3Vyc29yKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItdGFiLWxhYmVsX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLXRhYi1sYWJlbF9fdGV4dCB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkKSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi10YWItbGFiZWxfX2Ftb3VudCB7XG4gIEBpbmNsdWRlIHRhYi1sYWJlbC1jb21tb24udGFiLWxhYmVsLWFtb3VudDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWFtb3VudCksIFthbW91bnRdKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS5wdXJlLnRzJztcbmltcG9ydCB7IHRhYkxhYmVsQ29tbW9uU3R5bGVzIH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMsXG4gIFNiYlRhYkdyb3VwRWxlbWVudCxcbn0gZnJvbSAnLi4vdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItbGFiZWwuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAsIGl0IGRpc3BsYXlzIGEgdGFiJ3MgdGl0bGUuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFiIHRpdGxlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0aXRsZSwgYnkgcHJvdmlkaW5nIHRoZSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYSBudW1iZXIgdG8gc2hvdyBhbiBhbW91bnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkxhYmVsRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRhYi1sYWJlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRhYkxhYmVsQ29tbW9uU3R5bGVzLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYiBpcyBzZWxlY3RlZC4gKi9cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplOiBTYmJUYWJHcm91cEVsZW1lbnRbJ3NpemUnXSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuZ3JvdXAsIHtcbiAgICAgICAgc2l6ZTogKGcpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBnPy5zaXplIHx8IG51bGw7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5ncm91cD8uYWN0aXZhdGVUYWIoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIERlYWN0aXZhdGUgdGhlIHRhYi4gKi9cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnRhYj8uWydkZWFjdGl2YXRlJ10oKTtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgfVxuXG4gIC8qKiBTZWxlY3QgdGhlIHRhYiwgZGVhY3RpdmF0aW5nIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9uZSwgYW5kIGRpc3BhdGNoIHRoZSB0YWJjaGFuZ2UgZXZlbnQuICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdZb3UgY2Fubm90IGFjdGl2YXRlIGEgZGlzYWJsZWQgdGFiJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFiTGFiZWxzOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSA9IHRoaXMuZ3JvdXA/LmxhYmVscyB8fCBbXTtcbiAgICBjb25zdCBwcmV2QWN0aXZlVGFiTGFiZWwgPSB0YWJMYWJlbHMuZmluZCgoZSkgPT4gZS5fc2VsZWN0ZWQpO1xuICAgIGlmIChwcmV2QWN0aXZlVGFiTGFiZWwgIT09IHRoaXMpIHtcbiAgICAgIHByZXZBY3RpdmVUYWJMYWJlbD8uZGVhY3RpdmF0ZSgpO1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy50YWI/LlsnYWN0aXZhdGUnXSgpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLnRhYj8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2FjdGl2ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5ncm91cD8uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSB0aGlzKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0aGlzLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0aGlzLnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgICAgcHJldmlvdXNJbmRleDogdGFiTGFiZWxzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldkFjdGl2ZVRhYkxhYmVsKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZBY3RpdmVUYWJMYWJlbCxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiOiBwcmV2QWN0aXZlVGFiTGFiZWw/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlua1RvVGFiKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWIpIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgTWlzc2luZyBjb250ZW50OiB5b3Ugc2hvdWxkIHByb3ZpZGUgYSByZWxhdGVkIGNvbnRlbnQgZm9yIHRoZSB0YWIgJHt0aGlzLm91dGVySFRNTH0uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBbdGhpcy50YWJdO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IGBoJHtOdW1iZXIodGhpcy5sZXZlbCkgPCA3ID8gdGhpcy5sZXZlbCA6ICcxJ31gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxwIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWxhYmVsJzogU2JiVGFiTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMyQmEsNEJBQWtCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQXpFLDJCQUEyQixZQUE4Qzs7O3dCQWlCbkYsVUFBVSxDQUFBO3lCQUdWLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7eUJBSTFDLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLFdBQVc7SUFBb0IsQ0FBQyxDQUFBO0FBVC9DLGdCQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0FB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
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC1COWU5a2dWZi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItbGFiZWwvdGFiLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi90YWItbGFiZWwtY29tbW9uJyBhcyB0YWItbGFiZWwtY29tbW9uO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNiYi10YWItbGFiZWwge1xuICBjdXJzb3I6IHZhcigtLXNiYi10YWItbGFiZWwtY3Vyc29yKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItdGFiLWxhYmVsX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLXRhYi1sYWJlbF9fdGV4dCB7XG4gIEBpbmNsdWRlIHNiYi5lbGxpcHNpcztcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkKSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi10YWItbGFiZWxfX2Ftb3VudCB7XG4gIEBpbmNsdWRlIHRhYi1sYWJlbC1jb21tb24udGFiLWxhYmVsLWFtb3VudDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWFtb3VudCksIFthbW91bnRdKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS5wdXJlLnRzJztcbmltcG9ydCB7IHRhYkxhYmVsQ29tbW9uU3R5bGVzIH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMsXG4gIFNiYlRhYkdyb3VwRWxlbWVudCxcbn0gZnJvbSAnLi4vdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItbGFiZWwuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAsIGl0IGRpc3BsYXlzIGEgdGFiJ3MgdGl0bGUuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFiIHRpdGxlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0aXRsZSwgYnkgcHJvdmlkaW5nIHRoZSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYSBudW1iZXIgdG8gc2hvdyBhbiBhbW91bnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkxhYmVsRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRhYi1sYWJlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRhYkxhYmVsQ29tbW9uU3R5bGVzLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYiBpcyBzZWxlY3RlZC4gKi9cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplOiBTYmJUYWJHcm91cEVsZW1lbnRbJ3NpemUnXSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuZ3JvdXAsIHtcbiAgICAgICAgc2l6ZTogKGcpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBnPy5zaXplIHx8IG51bGw7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5ncm91cD8uYWN0aXZhdGVUYWIoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIERlYWN0aXZhdGUgdGhlIHRhYi4gKi9cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnRhYj8uWydkZWFjdGl2YXRlJ10oKTtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgfVxuXG4gIC8qKiBTZWxlY3QgdGhlIHRhYiwgZGVhY3RpdmF0aW5nIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9uZSwgYW5kIGRpc3BhdGNoIHRoZSB0YWJjaGFuZ2UgZXZlbnQuICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdZb3UgY2Fubm90IGFjdGl2YXRlIGEgZGlzYWJsZWQgdGFiJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFiTGFiZWxzOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSA9IHRoaXMuZ3JvdXA/LmxhYmVscyB8fCBbXTtcbiAgICBjb25zdCBwcmV2QWN0aXZlVGFiTGFiZWwgPSB0YWJMYWJlbHMuZmluZCgoZSkgPT4gZS5fc2VsZWN0ZWQpO1xuICAgIGlmIChwcmV2QWN0aXZlVGFiTGFiZWwgIT09IHRoaXMpIHtcbiAgICAgIHByZXZBY3RpdmVUYWJMYWJlbD8uZGVhY3RpdmF0ZSgpO1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy50YWI/LlsnYWN0aXZhdGUnXSgpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLnRhYj8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2FjdGl2ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5ncm91cD8uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSB0aGlzKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0aGlzLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0aGlzLnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgICAgcHJldmlvdXNJbmRleDogdGFiTGFiZWxzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldkFjdGl2ZVRhYkxhYmVsKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZBY3RpdmVUYWJMYWJlbCxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiOiBwcmV2QWN0aXZlVGFiTGFiZWw/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlua1RvVGFiKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWIpIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgTWlzc2luZyBjb250ZW50OiB5b3Ugc2hvdWxkIHByb3ZpZGUgYSByZWxhdGVkIGNvbnRlbnQgZm9yIHRoZSB0YWIgJHt0aGlzLm91dGVySFRNTH0uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBbdGhpcy50YWJdO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IGBoJHtOdW1iZXIodGhpcy5sZXZlbCkgPCA3ID8gdGhpcy5sZXZlbCA6ICcxJ31gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxwIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWxhYmVsJzogU2JiVGFiTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMyQmEsNEJBQWtCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQXpFLDJCQUEyQixZQUE4Qzs7O3dCQWlCbkYsVUFBVSxDQUFBO3lCQUdWLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7eUJBSTFDLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLFdBQVc7SUFBb0IsQ0FBQyxDQUFBO0dBVC9DLGFBQUEsTUFBQSxNQUFBLG1CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFLLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBTCxRQUFLOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEscUJBQUEseUJBQUE7R0FLakMsYUFBQSxNQUFBLE1BQUEsb0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxZQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU0sTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFOLFNBQU07O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxzQkFBQSwwQkFBQTtHQUt0QixhQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQU4sU0FBTTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHNCQUFBLDBCQUFBOzs7Ozs7Ozs7R0ExQlUsS0FBQSxjQUFzQjs7O0dBQy9CLEtBQUEsT0FBTzs7O0dBQ1AsS0FBQSxTQUF5QjtJQUM5QztJQUNBO0lBQ0EsVUFBVSxrQkFBQTtJQUNYOztFQVVXOzs7OztFQUFBLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7O0VBS2pDOztFQUFBLElBQWdCLFNBQU07R0FBQSxPQUFBLEtBQUE7O0VBQXRCLElBQWdCLE9BQU0sT0FBQTtHQUFBLEtBQUEsMkJBQUE7O0VBS3RCOztFQUFBLElBQWdCLFNBQU07R0FBQSxPQUFBLEtBQUE7O0VBQXRCLElBQWdCLE9BQU0sT0FBQTtHQUFBLEtBQUEsMkJBQUE7OztFQUd0QixJQUFXLE1BQUc7R0FDWixPQUFPLEtBQUssb0JBQW9CLGNBQWMsWUFDekMsS0FBSyxxQkFDTjs7O0VBSU4sSUFBVyxRQUFLO0dBQ2QsT0FBTyxLQUFLLFFBQVEsZ0JBQWdCOztFQUd0QyxjQUFBO0dBQ0UsT0FBTzs7R0FoQ0QsS0FBQSxZQUFxQjtHQUNyQixLQUFBLGdCQUFtRDtHQU0vQixLQUFBLDBCQUFBLGtCQUFBLE1BQUEscUJBQXVCLElBQUc7R0FLdEMsS0FBQSw0QkFBQSxrQkFBQSxNQUFBLHlCQUFBLEVBQUEsa0JBQUEsTUFBQSxzQkFBa0IsTUFBSztHQUt2QixLQUFBLDRCQUFBLGtCQUFBLE1BQUEsMEJBQUEsRUFBQSxrQkFBQSxNQUFBLHNCQUFpQixHQUFFOztHQWlCakMsS0FBSyxpQkFBaUIsZUFBZSxLQUFLLFVBQVUsQ0FBQztHQUNyRCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLE9BQU8sRUFDdkQsT0FBTyxNQUFLO0lBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZ0JBQWdCO0lBRTVELEtBQUssZ0JBQWdCLEdBQUcsUUFBUTtJQUNoQyxJQUFJLEtBQUssZUFDUCxLQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7TUFHNUQsQ0FBQyxDQUNIOztFQUdhLG9CQUFpQjtHQUMvQixNQUFNLG1CQUFtQjtHQUN6QixLQUFLLE9BQU87R0FDWixLQUFLLFdBQVcsS0FBSyxTQUFTLElBQUk7O0VBR2pCLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxrQkFBa0I7R0FFbkMsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLEVBQUU7SUFDbkMsS0FBSyxVQUFVLGVBQWUsR0FBRyxLQUFLO0lBRXRDLElBQUksS0FBSyxVQUFVLENBQUMsS0FBSyxVQUN2QixLQUFLLFVBQVU7U0FFZixLQUFLLFlBQVk7O0dBSXJCLElBQUksa0JBQWtCLElBQUksV0FBVyxJQUFJLEtBQUssVUFBVTtJQUN0RCxLQUFLLFdBQVc7SUFDaEIsSUFBSSxLQUFLLFFBQVE7S0FDZixLQUFLLFlBQVk7S0FDakIsS0FBSyxPQUFPLFlBQVksRUFBRTs7Ozs7RUFNekIsYUFBVTtHQUNmLEtBQUssU0FBUztHQUNkLEtBQUssTUFBTSxlQUFlO0dBQzFCLEtBQUssWUFBWTtHQUNqQixLQUFLLFdBQVc7OztFQUlYLFdBQVE7R0FDYixJQUFJLEtBQUssVUFJUDtHQUdGLE1BQU0sWUFBa0MsS0FBSyxPQUFPLFVBQVUsRUFBRTtHQUNoRSxNQUFNLHFCQUFxQixVQUFVLE1BQU0sTUFBTSxFQUFFLFVBQVU7R0FDN0QsSUFBSSx1QkFBdUIsTUFBTTtJQUMvQixvQkFBb0IsWUFBWTtJQUNoQyxLQUFLLFNBQVM7SUFDZCxLQUFLLE1BQU0sYUFBYTtJQUN4QixLQUFLLFlBQVk7SUFDakIsS0FBSyxXQUFXO0lBQ2hCLEtBQUssS0FBSyxjQUFjLElBQUksTUFBTSxVQUFVO0tBQUUsU0FBUztLQUFNLFVBQVU7S0FBTSxDQUFDLENBQUM7SUFDL0UsS0FBSyxPQUFPLGNBQ1YsSUFBSSxZQUF1QyxhQUFhO0tBQ3RELFNBQVM7S0FDVCxVQUFVO0tBQ1YsUUFBUTtNQUNOLGFBQWEsVUFBVSxXQUFXLE1BQU0sTUFBTSxLQUFLO01BQ25ELGdCQUFnQjtNQUNoQixXQUFXLEtBQUs7TUFDaEIsZUFBZSxVQUFVLFdBQVcsTUFBTSxNQUFNLG1CQUFtQjtNQUNuRSxrQkFBa0I7TUFDbEIsYUFBYSxvQkFBb0I7O0tBRXBDLENBQUMsQ0FDSDs7Ozs7O0VBT0ssWUFBUztHQUNqQixJQUFJLENBQUMsS0FBSyxLQU1SO0dBRUYsS0FBSyxVQUFVLHVCQUF1QixDQUFDLEtBQUssSUFBSTs7RUFHL0IsU0FBTTtHQUN2QixNQUFNLFVBQVUsSUFBSSxPQUFPLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxRQUFRO0dBRzFELE9BQU8sTUFBSTtXQUNKLGFBQWEsUUFBUSxDQUFBOztjQUVsQixLQUFLLGdCQUFnQixDQUFBOzs7Ozs7a0NBTUQsS0FBSyxPQUFNOztZQUVqQyxhQUFhLFFBQVEsQ0FBQSJ9
@@ -111,4 +111,4 @@ var SbbTabNavBarElement = (() => {
111
111
  //#endregion
112
112
  export { SbbTabNavBarElement as t };
113
113
 
114
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW5hdi1iYXIuY29tcG9uZW50LUNnWXdDU1ZZLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJzL3RhYi1uYXYtYmFyL3RhYi1uYXYtYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLW5hdi1iYXIvdGFiLW5hdi1iYXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2JiLXRhYi1ncm91cC1jb250ZW50LWdhcCk7XG59XG5cbi5zYmItdGFiLW5hdi1iYXIge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS9sZWFuLWNvbnRleHQudHMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgdGFiR3JvdXBDb21tb25TdHlsZXMsIHRhYkxhYmVsQ29tbW9uU3R5bGVzIH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1uYXYtYmFyLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBvbmUgb3IgbW9yZSB0YWItbGFiZWwtbGlrZSBlbGVtZW50cywgZWFjaCBvbmUgaXMgYW4gYW5jaG9yIGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYW5jaG9ycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYk5hdkJhckVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRhYi1uYXYtYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIGJveFNpemluZ1N0eWxlcyxcbiAgICB0YWJMYWJlbENvbW1vblN0eWxlcyxcbiAgICB0YWJHcm91cENvbW1vblN0eWxlcyxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbmF2aWdhdGlvbic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ2EnXTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJyA9IGlzTGVhbigpID8gJ3MnIDogJ2wnO1xuXG4gIHByaXZhdGUgX3Jlc2l6ZUNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcblxuICBwcml2YXRlIF9saXN0RWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdENoaWxkcmVuLmZvckVhY2goKGFuY2hvcikgPT4ge1xuICAgICAgYW5jaG9yLmFzc2lnbmVkU2xvdD8ucGFyZW50RWxlbWVudD8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgIGFuY2hvciA9PT0gdGhpcy5saXN0Q2hpbGRyZW5bMF0gfHwgYW5jaG9yLm9mZnNldExlZnQgPT09IHRoaXMubGlzdENoaWxkcmVuWzBdLm9mZnNldExlZnQsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fbGlzdEVsZW1lbnQ/LmNsaWVudFdpZHRofXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl91cGRhdGVXaWR0aE9ic2VydmVyKCk7XG5cbiAgICAvLyBXaGVuZXZlciBzbG90dGVkIGVsZW1lbnQgY2hhbmdlLCB0aGUgdGFyZ2V0IHRvIG9ic2VydmUgbWlnaHQgY2hhbmdlIGFzIHdlbGxcbiAgICAvLyAoY2hhbmdlIGZyb20gc2luZ2xlIHRvIG11bHRpcGxlIGVsZW1lbnRzIG9yIHZpY2UgdmVyc2EpLlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsICgpID0+IHRoaXMuX3VwZGF0ZVdpZHRoT2JzZXJ2ZXIoKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVXaWR0aE9ic2VydmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5sb2NhbE5hbWV9YCk7XG5cbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMuX2xpc3RFbGVtZW50ICE9PSB0YXJnZXQpIHtcbiAgICAgIGlmICh0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgICB0aGlzLl9yZXNpemVDb250cm9sbGVyLnVub2JzZXJ2ZSh0aGlzLl9saXN0RWxlbWVudCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9saXN0RWxlbWVudCA9IHRhcmdldDtcbiAgICAgIHRoaXMuX3Jlc2l6ZUNvbnRyb2xsZXIub2JzZXJ2ZSh0YXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoIXRhcmdldCAmJiB0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgdGhpcy5fcmVzaXplQ29udHJvbGxlci51bm9ic2VydmUodGhpcy5fbGlzdEVsZW1lbnQpO1xuICAgICAgdGhpcy5fbGlzdEVsZW1lbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLnJlbmRlckxpc3QoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1uYXYtYmFyJzogU2JiVGFiTmF2QmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNpQmEsNkJBQW1CO21CQUFTLHNCQUFzQixXQUFXOzs7O2NBQTdELDRCQUE0QixZQUFpQzs7O0FBVXJELFFBQUEsc0JBQXNCLENBQUMsSUFBSTtBQU85QixTQUFBLHdCQUFBLGtCQUFBLE1BQUEsb0JBQXlCLFFBQVEsR0FBRyxNQUFNLElBQUc7QUFFckQsUUFBQSxxQkFBaUIsa0JBQUEsTUFBQSx3QkFBQSxFQUFHLElBQUksaUJBQWlCLE1BQU07SUFDckQsUUFBUTtJQUNSLGdCQUFnQixLQUFLLDBCQUFBO0lBQ3RCLENBQUM7QUFFTSxRQUFBLGVBQStCOzs7O3VCQVJ0QyxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTtBQUM1QixnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTs7Ozs7Ozs7O0FBaEJZLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCO0lBQzlDO0lBQ0E7SUFDQTtJQUNBLFVBQVUsb0JBQUE7SUFDWDs7O0FBQytCLFFBQUEsT0FBTzs7RUFTdkM7Ozs7O0VBQUEsSUFBZ0IsT0FBSTtBQUFBLFVBQUEsTUFBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEsU0FBQSx3QkFBQTs7RUFTWiwyQkFBd0I7QUFDOUIsUUFBSyxhQUFhLFNBQVMsV0FBVTtBQUNuQyxXQUFPLGNBQWMsZUFBZSxnQkFDbEMsb0JBQ0EsV0FBVyxLQUFLLGFBQWEsTUFBTSxPQUFPLGVBQWUsS0FBSyxhQUFhLEdBQUcsV0FDL0U7S0FDRDtBQUVGLFFBQUssTUFBTSxZQUFZLHlCQUF5QixHQUFHLEtBQUssY0FBYyxZQUFXLElBQUs7O0VBR3JFLGFBQWEsbUJBQXVDO0FBQ3JFLFNBQU0sYUFBYSxrQkFBa0I7QUFFckMsUUFBSyxzQkFBc0I7QUFJM0IsUUFBSyxZQUFZLGlCQUFpQixvQkFBb0IsS0FBSyxzQkFBc0IsQ0FBQzs7RUFHNUUsdUJBQW9CO0dBQzFCLE1BQU0sU0FBUyxLQUFLLFlBQVksY0FBYyxJQUFJLEtBQUssWUFBWTtBQUVuRSxPQUFJLFVBQVUsS0FBSyxpQkFBaUIsUUFBUTtBQUMxQyxRQUFJLEtBQUssYUFDUCxNQUFLLGtCQUFrQixVQUFVLEtBQUssYUFBYTtBQUVyRCxTQUFLLGVBQWU7QUFDcEIsU0FBSyxrQkFBa0IsUUFBUSxPQUFPO2NBQzdCLENBQUMsVUFBVSxLQUFLLGNBQWM7QUFDdkMsU0FBSyxrQkFBa0IsVUFBVSxLQUFLLGFBQWE7QUFDbkQsU0FBSyxlQUFlOzs7RUFJTCxTQUFNO0FBQ3ZCLFVBQU8sS0FBSyxZQUFZIn0=
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW5hdi1iYXIuY29tcG9uZW50LUNnWXdDU1ZZLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJzL3RhYi1uYXYtYmFyL3RhYi1uYXYtYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLW5hdi1iYXIvdGFiLW5hdi1iYXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2JiLXRhYi1ncm91cC1jb250ZW50LWdhcCk7XG59XG5cbi5zYmItdGFiLW5hdi1iYXIge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS9sZWFuLWNvbnRleHQudHMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgdGFiR3JvdXBDb21tb25TdHlsZXMsIHRhYkxhYmVsQ29tbW9uU3R5bGVzIH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1uYXYtYmFyLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBvbmUgb3IgbW9yZSB0YWItbGFiZWwtbGlrZSBlbGVtZW50cywgZWFjaCBvbmUgaXMgYW4gYW5jaG9yIGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYW5jaG9ycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYk5hdkJhckVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRhYi1uYXYtYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIGJveFNpemluZ1N0eWxlcyxcbiAgICB0YWJMYWJlbENvbW1vblN0eWxlcyxcbiAgICB0YWJHcm91cENvbW1vblN0eWxlcyxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbmF2aWdhdGlvbic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ2EnXTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJyA9IGlzTGVhbigpID8gJ3MnIDogJ2wnO1xuXG4gIHByaXZhdGUgX3Jlc2l6ZUNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcblxuICBwcml2YXRlIF9saXN0RWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdENoaWxkcmVuLmZvckVhY2goKGFuY2hvcikgPT4ge1xuICAgICAgYW5jaG9yLmFzc2lnbmVkU2xvdD8ucGFyZW50RWxlbWVudD8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgIGFuY2hvciA9PT0gdGhpcy5saXN0Q2hpbGRyZW5bMF0gfHwgYW5jaG9yLm9mZnNldExlZnQgPT09IHRoaXMubGlzdENoaWxkcmVuWzBdLm9mZnNldExlZnQsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fbGlzdEVsZW1lbnQ/LmNsaWVudFdpZHRofXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl91cGRhdGVXaWR0aE9ic2VydmVyKCk7XG5cbiAgICAvLyBXaGVuZXZlciBzbG90dGVkIGVsZW1lbnQgY2hhbmdlLCB0aGUgdGFyZ2V0IHRvIG9ic2VydmUgbWlnaHQgY2hhbmdlIGFzIHdlbGxcbiAgICAvLyAoY2hhbmdlIGZyb20gc2luZ2xlIHRvIG11bHRpcGxlIGVsZW1lbnRzIG9yIHZpY2UgdmVyc2EpLlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsICgpID0+IHRoaXMuX3VwZGF0ZVdpZHRoT2JzZXJ2ZXIoKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVXaWR0aE9ic2VydmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5sb2NhbE5hbWV9YCk7XG5cbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMuX2xpc3RFbGVtZW50ICE9PSB0YXJnZXQpIHtcbiAgICAgIGlmICh0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgICB0aGlzLl9yZXNpemVDb250cm9sbGVyLnVub2JzZXJ2ZSh0aGlzLl9saXN0RWxlbWVudCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9saXN0RWxlbWVudCA9IHRhcmdldDtcbiAgICAgIHRoaXMuX3Jlc2l6ZUNvbnRyb2xsZXIub2JzZXJ2ZSh0YXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoIXRhcmdldCAmJiB0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgdGhpcy5fcmVzaXplQ29udHJvbGxlci51bm9ic2VydmUodGhpcy5fbGlzdEVsZW1lbnQpO1xuICAgICAgdGhpcy5fbGlzdEVsZW1lbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLnJlbmRlckxpc3QoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1uYXYtYmFyJzogU2JiVGFiTmF2QmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNpQmEsNkJBQW1CO21CQUFTLHNCQUFzQixXQUFXOzs7O2NBQTdELDRCQUE0QixZQUFpQzs7O0dBVXJELEtBQUEsc0JBQXNCLENBQUMsSUFBSTtHQU85QixLQUFBLHlCQUFBLGtCQUFBLE1BQUEsb0JBQXlCLFFBQVEsR0FBRyxNQUFNLElBQUc7R0FFckQsS0FBQSxxQkFBaUIsa0JBQUEsTUFBQSx3QkFBQSxFQUFHLElBQUksaUJBQWlCLE1BQU07SUFDckQsUUFBUTtJQUNSLGdCQUFnQixLQUFLLDBCQUFBO0lBQ3RCLENBQUM7R0FFTSxLQUFBLGVBQStCOzs7O3VCQVJ0QyxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTtHQUM1QixhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBOzs7Ozs7Ozs7R0FoQlksS0FBQSxjQUFzQjs7O0dBQy9CLEtBQUEsU0FBeUI7SUFDOUM7SUFDQTtJQUNBO0lBQ0EsVUFBVSxvQkFBQTtJQUNYOzs7R0FDK0IsS0FBQSxPQUFPOztFQVN2Qzs7Ozs7RUFBQSxJQUFnQixPQUFJO0dBQUEsT0FBQSxLQUFBOztFQUFwQixJQUFnQixLQUFJLE9BQUE7R0FBQSxLQUFBLHlCQUFBOztFQVNaLDJCQUF3QjtHQUM5QixLQUFLLGFBQWEsU0FBUyxXQUFVO0lBQ25DLE9BQU8sY0FBYyxlQUFlLGdCQUNsQyxvQkFDQSxXQUFXLEtBQUssYUFBYSxNQUFNLE9BQU8sZUFBZSxLQUFLLGFBQWEsR0FBRyxXQUMvRTtLQUNEO0dBRUYsS0FBSyxNQUFNLFlBQVkseUJBQXlCLEdBQUcsS0FBSyxjQUFjLFlBQVcsSUFBSzs7RUFHckUsYUFBYSxtQkFBdUM7R0FDckUsTUFBTSxhQUFhLGtCQUFrQjtHQUVyQyxLQUFLLHNCQUFzQjtHQUkzQixLQUFLLFlBQVksaUJBQWlCLG9CQUFvQixLQUFLLHNCQUFzQixDQUFDOztFQUc1RSx1QkFBb0I7R0FDMUIsTUFBTSxTQUFTLEtBQUssWUFBWSxjQUFjLElBQUksS0FBSyxZQUFZO0dBRW5FLElBQUksVUFBVSxLQUFLLGlCQUFpQixRQUFRO0lBQzFDLElBQUksS0FBSyxjQUNQLEtBQUssa0JBQWtCLFVBQVUsS0FBSyxhQUFhO0lBRXJELEtBQUssZUFBZTtJQUNwQixLQUFLLGtCQUFrQixRQUFRLE9BQU87VUFDakMsSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjO0lBQ3ZDLEtBQUssa0JBQWtCLFVBQVUsS0FBSyxhQUFhO0lBQ25ELEtBQUssZUFBZTs7O0VBSUwsU0FBTTtHQUN2QixPQUFPLEtBQUssWUFBWSJ9
@@ -67,4 +67,4 @@ var SbbTabElement = class extends SbbElement {
67
67
  //#endregion
68
68
  export { SbbTabElement as t };
69
69
 
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC1EVGhLRzctYS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWIvdGFiLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIuaWdub3JlLWNoaWxkcmVuLW1hcmdpbjtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKGFjdGl2ZSkpKSB7XG4gIC8vIFdlIHdhbnQgdGhhdCBhIGNvbnN1bWVyIGNhbiBoYXZlIGEgZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydHkgb24gdGhlIHRhYiwgZS5nLiBmbGV4LCBncmlkLCBldGMuXG4gIC8vIEJ1dCBpZiB0aGUgdGFiIGlzIG5vdCBhY3RpdmUsIGRpc3BsYXk6IG5vbmUgc2hvdWxkIGFsd2F5cyB3aW4uXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItdGFiLWdyb3VwLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IG9wYWNpdHksIGhlaWdodDtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgYnV0IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyLlxuICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcblxuICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3NlciBleGNlcHQgRmlyZWZveC5cbiAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwvdGFiLWxhYmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi5zY3NzP2lubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAgYW5kIGBzYmItdGFiLWxhYmVsYCwgaXQgZGlzcGxheXMgYSB0YWIncyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBjb250ZW50LlxuICogQGV2ZW50IHtFdmVudH0gYWN0aXZlIC0gVGhlIGBhY3RpdmVgIGV2ZW50IGZpcmVzIHdoZW4gdGhlIHNiYi10YWIgaGFzIGJlZW4gYWN0aXZhdGVkIHZpYSB1c2VyIHNlbGVjdGlvbiBvbiB0aGUgc2JiLXRhYi1sYWJlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSB1bnNhZmVDU1Moc3R5bGUpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoKSxcbiAgfSk7XG5cbiAgLyoqIFRoZSBgc2JiLXRhYi1sYWJlbGAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWIuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogU2JiVGFiTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYi1sYWJlbCdcbiAgICAgID8gKHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBTYmJUYWJMYWJlbEVsZW1lbnQpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICAvKiogR2V0IHRoZSBwYXJlbnQgYHNiYi10YWItZ3JvdXBgLiAqL1xuICBwdWJsaWMgZ2V0IGdyb3VwKCk6IFNiYlRhYkdyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi10YWItZ3JvdXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5pZCB8fD0gYHNiYi10YWItJHtuZXh0SWQrK31gO1xuICAgIHRoaXMudGFiSW5kZXggPSAwO1xuXG4gICAgLy8gQXMgd2UgY2FuJ3QgaW5jbHVkZSB0aGUgc2Nyb2xsYmFyIG1peGluIG9uIHRoZSBob3N0IGFuZCB0byBtaW5pbWl6ZVxuICAgIC8vIHBheWxvYWQsIHdlIGRlY2lkZWQgdG8gYWRkIHRoZSBzY3JvbGxiYXIgY2xhc3MgaGVyZS5cbiAgICAvLyBUaGlzIGlzIGFuIGV4Y2VwdGlvbiBhcyB3ZSBub3JtYWxseSBkb24ndCBhbHRlciB0aGUgY2xhc3NMaXN0IG9mIHRoZSBob3N0LlxuICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcm9sbGJhcicpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnYWN0aXZlJyk7XG4gICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnYWN0aXZlJyk7XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JvdXA/Llsnc2V0VGFiQ29udGVudEhlaWdodCddKE1hdGguZmxvb3IodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiJzogU2JiVGFiRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FDU0EsSUFBSSxTQUFTOzs7Ozs7O0FBUWIsSUFBYSxnQkFBYixjQUFtQyxXQUFVO0NBQTdDLGNBQUE7O0FBUVUsT0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtHQUM3RCxRQUFRO0dBQ1IsYUFBYTtHQUNiLGdCQUFnQixLQUFLLDRCQUFBO0dBQ3RCLENBQUM7OztBQVg4QixPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxPQUFPOzs7QUFDUCxPQUFBLFNBQXlCLFVBQVUsWUFBTTs7O0FBQ3pDLE9BQUEsU0FBUyxFQUM5QixRQUFRLFVBQ0E7OztDQVNWLElBQVcsUUFBSztBQUNkLFNBQU8sS0FBSyx3QkFBd0IsY0FBYyxrQkFDN0MsS0FBSyx5QkFDTjs7O0NBSU4sSUFBVyxRQUFLO0FBQ2QsU0FBTyxLQUFLLFFBQVEsZ0JBQWdCOztDQUd0QixvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFFekIsT0FBSyxPQUFPLFdBQVc7QUFDdkIsT0FBSyxXQUFXO0FBS2hCLE9BQUssVUFBVSxJQUFJLGdCQUFnQjs7O0NBSTNCLFdBQVE7QUFDaEIsT0FBSyxVQUFVLE9BQU8sSUFBSSxTQUFTO0FBQ25DLE9BQUssMEJBQTBCLFFBQVEsS0FBSzs7O0NBSXBDLGFBQVU7QUFDbEIsT0FBSywwQkFBMEIsVUFBVSxLQUFLO0FBQzlDLE9BQUssVUFBVSxPQUFPLE9BQU8sU0FBUzs7Q0FHaEMsNkJBQTBCO0FBQ2hDLE9BQUssUUFBUSx1QkFBdUIsS0FBSyxNQUFNLEtBQUssdUJBQXVCLENBQUMsT0FBTyxDQUFDOztDQUduRSxTQUFNO0FBQ3ZCLFNBQU8sSUFBSSJ9
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC1EVGhLRzctYS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWIvdGFiLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIuaWdub3JlLWNoaWxkcmVuLW1hcmdpbjtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKGFjdGl2ZSkpKSB7XG4gIC8vIFdlIHdhbnQgdGhhdCBhIGNvbnN1bWVyIGNhbiBoYXZlIGEgZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydHkgb24gdGhlIHRhYiwgZS5nLiBmbGV4LCBncmlkLCBldGMuXG4gIC8vIEJ1dCBpZiB0aGUgdGFiIGlzIG5vdCBhY3RpdmUsIGRpc3BsYXk6IG5vbmUgc2hvdWxkIGFsd2F5cyB3aW4uXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItdGFiLWdyb3VwLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IG9wYWNpdHksIGhlaWdodDtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgYnV0IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyLlxuICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcblxuICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3NlciBleGNlcHQgRmlyZWZveC5cbiAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwvdGFiLWxhYmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi5zY3NzP2lubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAgYW5kIGBzYmItdGFiLWxhYmVsYCwgaXQgZGlzcGxheXMgYSB0YWIncyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBjb250ZW50LlxuICogQGV2ZW50IHtFdmVudH0gYWN0aXZlIC0gVGhlIGBhY3RpdmVgIGV2ZW50IGZpcmVzIHdoZW4gdGhlIHNiYi10YWIgaGFzIGJlZW4gYWN0aXZhdGVkIHZpYSB1c2VyIHNlbGVjdGlvbiBvbiB0aGUgc2JiLXRhYi1sYWJlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSB1bnNhZmVDU1Moc3R5bGUpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoKSxcbiAgfSk7XG5cbiAgLyoqIFRoZSBgc2JiLXRhYi1sYWJlbGAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWIuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogU2JiVGFiTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYi1sYWJlbCdcbiAgICAgID8gKHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBTYmJUYWJMYWJlbEVsZW1lbnQpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICAvKiogR2V0IHRoZSBwYXJlbnQgYHNiYi10YWItZ3JvdXBgLiAqL1xuICBwdWJsaWMgZ2V0IGdyb3VwKCk6IFNiYlRhYkdyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi10YWItZ3JvdXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5pZCB8fD0gYHNiYi10YWItJHtuZXh0SWQrK31gO1xuICAgIHRoaXMudGFiSW5kZXggPSAwO1xuXG4gICAgLy8gQXMgd2UgY2FuJ3QgaW5jbHVkZSB0aGUgc2Nyb2xsYmFyIG1peGluIG9uIHRoZSBob3N0IGFuZCB0byBtaW5pbWl6ZVxuICAgIC8vIHBheWxvYWQsIHdlIGRlY2lkZWQgdG8gYWRkIHRoZSBzY3JvbGxiYXIgY2xhc3MgaGVyZS5cbiAgICAvLyBUaGlzIGlzIGFuIGV4Y2VwdGlvbiBhcyB3ZSBub3JtYWxseSBkb24ndCBhbHRlciB0aGUgY2xhc3NMaXN0IG9mIHRoZSBob3N0LlxuICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcm9sbGJhcicpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnYWN0aXZlJyk7XG4gICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBkZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnYWN0aXZlJyk7XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JvdXA/Llsnc2V0VGFiQ29udGVudEhlaWdodCddKE1hdGguZmxvb3IodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiJzogU2JiVGFiRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FDU0EsSUFBSSxTQUFTOzs7Ozs7O0FBUWIsSUFBYSxnQkFBYixjQUFtQyxXQUFVO0NBQTdDLGNBQUE7O0VBUVUsS0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtHQUM3RCxRQUFRO0dBQ1IsYUFBYTtHQUNiLGdCQUFnQixLQUFLLDRCQUFBO0dBQ3RCLENBQUM7OztFQVg4QixLQUFBLGNBQXNCOzs7RUFDL0IsS0FBQSxPQUFPOzs7RUFDUCxLQUFBLFNBQXlCLFVBQVUsWUFBTTs7O0VBQ3pDLEtBQUEsU0FBUyxFQUM5QixRQUFRLFVBQ0E7OztDQVNWLElBQVcsUUFBSztFQUNkLE9BQU8sS0FBSyx3QkFBd0IsY0FBYyxrQkFDN0MsS0FBSyx5QkFDTjs7O0NBSU4sSUFBVyxRQUFLO0VBQ2QsT0FBTyxLQUFLLFFBQVEsZ0JBQWdCOztDQUd0QixvQkFBaUI7RUFDL0IsTUFBTSxtQkFBbUI7RUFFekIsS0FBSyxPQUFPLFdBQVc7RUFDdkIsS0FBSyxXQUFXO0VBS2hCLEtBQUssVUFBVSxJQUFJLGdCQUFnQjs7O0NBSTNCLFdBQVE7RUFDaEIsS0FBSyxVQUFVLE9BQU8sSUFBSSxTQUFTO0VBQ25DLEtBQUssMEJBQTBCLFFBQVEsS0FBSzs7O0NBSXBDLGFBQVU7RUFDbEIsS0FBSywwQkFBMEIsVUFBVSxLQUFLO0VBQzlDLEtBQUssVUFBVSxPQUFPLE9BQU8sU0FBUzs7Q0FHaEMsNkJBQTBCO0VBQ2hDLEtBQUssUUFBUSx1QkFBdUIsS0FBSyxNQUFNLEtBQUssdUJBQXVCLENBQUMsT0FBTyxDQUFDOztDQUduRSxTQUFNO0VBQ3ZCLE9BQU8sSUFBSSJ9