@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779265349 → 5.0.0-next.3-dev.1779279790
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.
- package/_index.scss +6 -2
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-6leI6UF4.js → autocomplete-base-element-DjfmUS0W.js} +11 -10
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/{breadcrumb-group.component-XPdnV6-a.js → breadcrumb-group.component-a49dItu9.js} +23 -19
- package/breadcrumb.js +1 -1
- package/breadcrumb.pure.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -1
- package/button.js +1 -1
- package/button.pure.js +1 -1
- package/calendar/calendar/calendar.component.js +1 -1
- package/{calendar.component-CiT0mE7S.js → calendar.component-BhUyyFtR.js} +53 -49
- package/calendar.js +1 -1
- package/calendar.pure.js +1 -1
- package/container/sticky-bar/sticky-bar.component.js +1 -1
- package/container.js +1 -1
- package/container.pure.js +1 -1
- package/core/base-elements/button-base-element.js +47 -68
- package/core/datetime/date-adapter.js +2 -2
- package/core/mixins/form-associated-checkbox-mixin.js +17 -26
- package/core/mixins/named-slot-list-mixin.js +14 -14
- package/core/styles/_index.scss +1 -12
- package/core/styles/_theme.scss +16 -0
- package/core/styles/core/functions.scss +0 -8
- package/core/styles/{a11y.scss → features/a11y.scss} +2 -2
- package/core/styles/{animation.scss → features/animation.scss} +1 -1
- package/core/styles/features/color-scheme.scss +11 -0
- package/core/styles/{core.scss → features/core.scss} +138 -171
- package/core/styles/{image.scss → features/image.scss} +29 -7
- package/core/styles/{layout.private.scss → features/layout.private.scss} +5 -4
- package/core/styles/{layout.scss → features/layout.scss} +1 -1
- package/core/styles/{lists.scss → features/lists.scss} +1 -1
- package/core/styles/{scrollbar.scss → features/scrollbar.scss} +1 -1
- package/core/styles/features/typography.private.scss +9 -0
- package/core/styles/{typography.scss → features/typography.scss} +2 -2
- package/core/styles/internals/button-reset.scss +5 -0
- package/core/styles/{host-scrollbar.scss → internals/host-scrollbar.scss} +1 -1
- package/core/styles/internals/list-reset.scss +6 -0
- package/core/styles/internals/popover-reset.scss +6 -0
- package/core/styles/{screen-reader-only.scss → internals/screen-reader-only.scss} +1 -1
- package/core/styles/mixins/{a11y.scss → _a11y.scss} +0 -21
- package/core/styles/mixins/{helpers.scss → _helpers.scss} +3 -14
- package/core/styles/mixins/{lists.scss → _lists.scss} +8 -12
- package/core/styles/mixins/{pearl-chain-bullet.scss → _pearl-chain-bullet.scss} +5 -5
- package/core/styles/mixins/_reset.scss +38 -0
- package/core/styles/mixins/{typo.scss → _typo.scss} +23 -75
- package/core/styles/styles.js +2 -2
- package/core.js +40 -42
- package/custom-elements.json +166 -384
- package/datepicker/common/datepicker-button.js +1 -1
- package/{datepicker-button-aYDFZ_3v.js → datepicker-button-CuoZoC6e.js} +0 -3
- package/datepicker.js +1 -1
- package/datepicker.pure.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +0 -2
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/autocomplete-base-element-CTZEg--s.js +695 -0
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/block-link-common-DNvRfeay.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/breadcrumb-group.component-DvY1hq51.js +197 -0
- package/development/breadcrumb.component-D6Cd2FPo.js +1 -1
- package/development/breadcrumb.js +1 -1
- package/development/breadcrumb.pure.js +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +1 -1
- package/development/button-common-C-A7Dulr.js +1 -1
- package/development/button.js +1 -1
- package/development/button.pure.js +1 -1
- package/development/calendar/calendar/calendar.component.d.ts +0 -6
- package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar/calendar.component.js +1 -1
- package/development/calendar-cell-base-element-mWRSDeWc.js +1 -1
- package/development/calendar.component-DnC8Zkdk.js +1478 -0
- package/development/calendar.js +1 -1
- package/development/calendar.pure.js +1 -1
- package/development/card.component-CL2gHoyP.js +1 -1
- package/development/chip-label.component-DHHNtvTt.js +1 -1
- package/development/{compact-paginator.component-BgkpxaaD.js → compact-paginator.component-m8MASSB7.js} +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +1 -1
- package/development/container.js +1 -1
- package/development/container.pure.js +1 -1
- package/development/core/base-elements/button-base-element.d.ts +1 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.js +66 -92
- package/development/core/base-elements/element.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.d.ts +0 -5
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.js +2 -7
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +7 -21
- package/development/core/mixins/form-associated-mixin.d.ts +1 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core/mixins/named-slot-list-mixin.js +3 -3
- package/development/core/styles/styles.d.ts +3 -1
- package/development/core/styles/styles.d.ts.map +1 -1
- package/development/core/styles/styles.js +2 -2
- package/development/core.d.ts +0 -2
- package/development/core.d.ts.map +1 -1
- package/development/core.js +3 -5
- package/development/date-input.component-HxRyCudr.js +1 -1
- package/development/datepicker/common/datepicker-button.d.ts +0 -2
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/{datepicker-button-BAT1ebzJ.js → datepicker-button-Bb76EBYH.js} +1 -5
- package/development/datepicker.js +1 -1
- package/development/datepicker.pure.js +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog-actions.component-e0ZTTUin.js +1 -1
- package/development/{dialog.component-D8B2dVck.js → dialog.component-cZ3SAujq.js} +5 -5
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/element-BAsBayf5.js +1 -1
- package/development/error.component-WCkiwM7_.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel-header.component-gg5A_7Pz.js +1 -1
- package/development/expansion-panel.component-DcFrWkIt.js +1 -1
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector-common-Dd0S0qE3.js +421 -0
- package/development/{file-selector-dropzone.component-B84OL4Xd.js → file-selector-dropzone.component-DWLdqMmI.js} +2 -2
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +1 -1
- package/development/flip-card.component-MmiS-x-W.js +189 -0
- package/development/flip-card.js +1 -1
- package/development/flip-card.pure.js +1 -1
- package/development/footer.component-K2bWizjw.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field.component-Cb58q-Ty.js +702 -0
- package/development/form-field.js +1 -1
- package/development/form-field.pure.js +1 -1
- package/development/header/common/header-action-common.js +1 -1
- package/development/header-action-common-BYB-HYtn.js +86 -0
- package/development/header.component-C4e7CNql.js +1 -1
- package/development/header.js +1 -1
- package/development/header.pure.js +1 -1
- package/development/icon/icon.component.d.ts +1 -1
- package/development/icon/icon.component.d.ts.map +1 -1
- package/development/icon/icon.component.js +5 -7
- package/development/inline-link-common-BV6oAtAA.js +18 -0
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link-common-2RGn9Qz_.js +1 -1
- package/development/link-list/link-list.component.js +1 -1
- package/development/link-list-anchor/link-list-anchor.component.js +1 -1
- package/development/{link-list-anchor.component-Csb-FOQL.js → link-list-anchor.component-BMtCbCRD.js} +2 -2
- package/development/link-list-anchor.js +1 -1
- package/development/link-list-anchor.pure.js +1 -1
- package/development/link-list.component-CLxhjWR7.js +97 -0
- package/development/link-list.js +1 -1
- package/development/link-list.pure.js +1 -1
- package/development/link.js +1 -1
- package/development/link.pure.js +1 -1
- package/development/loading-indicator-circle.component-Cfjw5vyz.js +1 -1
- package/development/logo.component-DYKgAgq0.js +1 -1
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +1 -1
- package/development/menu-action-common-DL4t4_-J.js +32 -0
- package/development/menu.component-3qEIFutc.js +369 -0
- package/development/menu.js +2 -2
- package/development/menu.pure.js +2 -2
- package/development/message/message.component.js +1 -1
- package/development/{message.component-CdO5GyE2.js → message.component-BJ-84a0B.js} +2 -2
- package/development/message.js +1 -1
- package/development/message.pure.js +1 -1
- package/development/{mini-button-group.component-VYKZf1rq.js → mini-button-group.component-C88pIaaL.js} +2 -2
- package/development/mini-button-link.component-kpRsi8I2.js +1 -1
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation-action-common-wrzPCkMT.js +1 -1
- package/development/navigation-list.component-CU-SGC8c.js +86 -0
- package/development/navigation-marker.component-CTk9U0kA.js +120 -0
- package/development/navigation-section.component-iaypc6yQ.js +1 -1
- package/development/navigation.component-Bu1wVUNx.js +319 -0
- package/development/navigation.js +3 -3
- package/development/navigation.pure.js +3 -3
- package/development/optgroup-base-element-BzfcJgxG.js +140 -0
- package/development/option/optgroup/optgroup-base-element.d.ts +1 -2
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +1 -1
- package/development/option/optgroup/optgroup.component.js +1 -1
- package/development/option/option/option.component.js +1 -1
- package/development/option/option-styles.d.ts +2 -0
- package/development/option/option-styles.d.ts.map +1 -0
- package/development/option/option-styles.js +2 -0
- package/development/option-styles-IEQgVpCe.js +8 -0
- package/development/option.component-BrTjDq6X.js +131 -0
- package/development/option.js +5 -4
- package/development/option.pure.d.ts +1 -0
- package/development/option.pure.d.ts.map +1 -1
- package/development/option.pure.js +4 -3
- package/development/overlay/overlay-base-element.d.ts +2 -4
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +8 -7
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-YSCuGeme.js → overlay.component-DywhKxO1.js} +5 -5
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/{paginator-common-B7iba0wQ.js → paginator-common-CRchtcXc.js} +1 -1
- package/development/paginator.component-B8y5tVCL.js +265 -0
- package/development/paginator.js +3 -3
- package/development/paginator.pure.js +3 -3
- package/development/panel-mixin-DPybe45K.js +1 -1
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/popover.component-Ds4fNNsq.js +578 -0
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/radio-button.component.js +1 -1
- package/development/radio-button-common-Ckz2nMS7.js +129 -0
- package/development/{radio-button.component-DnErH-1J.js → radio-button.component-qsLFvciH.js} +2 -2
- package/development/radio-button.js +2 -2
- package/development/radio-button.pure.js +2 -2
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +1 -1
- package/development/select.component-BE7ZMrAc.js +809 -0
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/development/selection-action-panel/selection-action-panel.component.js +1 -1
- package/development/{selection-action-panel.component-BT0HmTja.js → selection-action-panel.component-C3UlmLkJ.js} +1 -1
- package/development/selection-action-panel.js +1 -1
- package/development/selection-action-panel.pure.js +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/development/selection-expansion-panel.component-4Ron8XNy.js +186 -0
- package/development/selection-expansion-panel.js +1 -1
- package/development/selection-expansion-panel.pure.js +1 -1
- package/development/sidebar/common/styles.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/{sidebar-close-button.component-CXnf-P5H.js → sidebar-close-button.component-ByQtC65O.js} +1 -1
- package/development/sidebar-container.component-BmavabUg.js +100 -0
- package/development/{sidebar-content.component-DbcREBUa.js → sidebar-content.component-DcsIIWpz.js} +1 -1
- package/development/{sidebar-title.component-BW04otyD.js → sidebar-title.component-DgJdkoiE.js} +1 -1
- package/development/{sidebar.component-mfXnE6WQ.js → sidebar.component-BszwyJQa.js} +1 -1
- package/development/sidebar.js +5 -5
- package/development/sidebar.pure.js +5 -5
- package/development/signet/signet.component.js +1 -1
- package/development/{signet.component-k14RJ8FA.js → signet.component-DXLTVjJS.js} +1 -1
- package/development/signet.js +1 -1
- package/development/signet.pure.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/skiplink-list.component-BC8rpyf9.js +129 -0
- package/development/skiplink-list.js +1 -1
- package/development/skiplink-list.pure.js +1 -1
- package/development/slider/slider.component.d.ts +1 -0
- package/development/slider/slider.component.d.ts.map +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/slider.component-Dz4Nl2ZL.js +333 -0
- package/development/slider.js +1 -1
- package/development/slider.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/{status.component-B9en2l26.js → status.component-thSGiOrl.js} +1 -1
- package/development/status.js +1 -1
- package/development/status.pure.js +1 -1
- package/development/step-label.component-CpdXVv32.js +127 -0
- package/development/{step.component-B_YHm1tz.js → step.component-CfA-kmt1.js} +1 -11
- package/development/stepper/step/step.component.d.ts +4 -14
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +1 -1
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/stepper.component-2yRFnnju.js +443 -0
- package/development/stepper.js +3 -3
- package/development/stepper.pure.js +3 -3
- package/development/{sticky-bar.component-BJLtRvcd.js → sticky-bar.component-DZpy1gBU.js} +2 -2
- package/development/{styles-WppEBrlW.js → styles-BmvNZZle.js} +1 -1
- package/development/styles-D8h0fqb5.js +30 -0
- package/development/{tab-group.component-CGMBihsQ.js → tab-group.component-DhcfjVxe.js} +1 -1
- package/development/{tab-label.component-CQOLO2t7.js → tab-label.component-B7YEhR1C.js} +1 -1
- package/development/tab-nav-bar.component-DrZ1U7lM.js +109 -0
- package/development/{tab.component-BVhYPy5Y.js → tab.component-COn1G0XA.js} +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/{table-wrapper.component-By59zmcU.js → table-wrapper.component-9Lst6dT2.js} +1 -1
- package/development/table.js +1 -1
- package/development/table.pure.js +1 -1
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/development/tabs.js +5 -5
- package/development/tabs.pure.js +5 -5
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag-group/tag-group.component.js +1 -1
- package/development/tag-group.component-OQ3sxhZI.js +194 -0
- package/development/tag.component-DWOPDWwe.js +238 -0
- package/development/tag.js +2 -2
- package/development/tag.pure.js +2 -2
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/{teaser-hero.component-BHMcPmdh.js → teaser-hero.component-Cp42iJGt.js} +1 -1
- package/development/teaser-hero.js +1 -1
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-panel/teaser-panel.component.js +1 -1
- package/development/{teaser-panel.component-BRfbvmkb.js → teaser-panel.component-ptDalUEe.js} +1 -1
- package/development/teaser-panel.js +1 -1
- package/development/teaser-panel.pure.js +1 -1
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/{teaser-product-common-DOyLdTks.js → teaser-product-common-DxBw-__I.js} +1 -1
- package/development/teaser-product.component-CPj4vJ2V.js +37 -0
- package/development/teaser-product.js +2 -2
- package/development/teaser-product.pure.js +2 -2
- package/development/teaser.component-Dgrc2jh8.js +116 -0
- package/development/teaser.js +1 -1
- package/development/teaser.pure.js +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/time-input.component-BFjDAfbv.js +187 -0
- package/development/time-input.js +1 -1
- package/development/time-input.pure.js +1 -1
- package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/{timetable-form-details.component-BeuAZUQe.js → timetable-form-details.component-BFmuJ8-6.js} +1 -1
- package/development/{timetable-form-field.component-DC2z1Cwf.js → timetable-form-field.component-DD04XyA0.js} +1 -1
- package/development/{timetable-form-swap-button.component-CnbVc8Ok.js → timetable-form-swap-button.component-DphGegO6.js} +1 -1
- package/development/{timetable-form.component-C8DfPePn.js → timetable-form.component-EIr4B4mA.js} +1 -1
- package/development/timetable-form.js +4 -4
- package/development/timetable-form.pure.js +4 -4
- package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/timetable-occupancy-icon.component-vsXoAiKz.js +95 -0
- package/development/timetable-occupancy-icon.js +1 -1
- package/development/timetable-occupancy-icon.pure.js +1 -1
- package/development/timetable-occupancy.component-B0zY0RnI.js +126 -0
- package/development/timetable-occupancy.js +1 -1
- package/development/timetable-occupancy.pure.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/title/title.component.d.ts +0 -2
- package/development/title/title.component.d.ts.map +1 -1
- package/development/title/title.component.js +1 -1
- package/development/title-base-CPAVrsQ9.js +102 -0
- package/development/title.component-DCg9U2CK.js +69 -0
- package/development/title.js +2 -2
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.d.ts.map +1 -1
- package/development/toast/toast.component.js +1 -1
- package/development/{toast.component-DonS3uQm.js → toast.component-TvSfu5nl.js} +3 -3
- package/development/toast.js +1 -1
- package/development/toast.pure.js +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/{toggle-check.component-BIV7jFIc.js → toggle-check.component-CbGa5-8I.js} +1 -1
- package/development/toggle-check.js +1 -1
- package/development/toggle-check.pure.js +1 -1
- package/development/{toggle-option.component-DRxwLSKU.js → toggle-option.component-BxGnhJFH.js} +1 -1
- package/development/toggle.component-Q68IDQWX.js +243 -0
- package/development/toggle.js +2 -2
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/tooltip.component-Baoh6M8V.js +369 -0
- package/development/tooltip.js +1 -1
- package/development/tooltip.pure.js +1 -1
- package/development/train/train/train.component.js +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/train/train-wagon-common.js +1 -1
- package/development/{train-blocked-passage.component-Cxd7dBDC.js → train-blocked-passage.component-C7ve-a1E.js} +1 -1
- package/development/{train-formation.component-BEg6OPib.js → train-formation.component-DQ_hLKNv.js} +2 -2
- package/development/train-wagon-common-CdckItEt.js +441 -0
- package/development/train.component-Bi74L6C7.js +239 -0
- package/development/train.js +4 -4
- package/development/train.pure.js +4 -4
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/development/{visual-checkbox.component-Dm8DNhH2.js → visual-checkbox.component-B4_iHcsX.js} +1 -1
- package/development/visual-checkbox.js +1 -1
- package/development/visual-checkbox.pure.js +1 -1
- package/dialog/dialog/dialog.component.js +1 -1
- package/{dialog.component-CsBryhM-.js → dialog.component-D3G0AX4Y.js} +4 -4
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/file-selector/common/file-selector-common.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-common-VNwWFEmM.js → file-selector-common-BNGnjK__.js} +1 -1
- package/{file-selector-dropzone.component-CGo6odhC.js → file-selector-dropzone.component-sE_fofSq.js} +1 -1
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/flip-card/flip-card/flip-card.component.js +1 -1
- package/{flip-card.component-CZ0v44Ym.js → flip-card.component-ZsA_kDPS.js} +22 -18
- package/flip-card.js +1 -1
- package/flip-card.pure.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/{form-field.component-BdfK6r2v.js → form-field.component-BoLly8qP.js} +4 -4
- package/form-field.js +1 -1
- package/form-field.pure.js +1 -1
- package/header/common/header-action-common.js +1 -1
- package/header-action-common-B-eRBjSz.js +64 -0
- package/header.js +1 -1
- package/header.pure.js +1 -1
- package/icon/icon.component.js +2 -5
- package/inline-link-common-O650N_pm.js +13 -0
- package/lean-off-brand-theme.css +416 -503
- package/lean-safety-theme.css +416 -503
- package/lean-theme.css +416 -503
- package/link/common/inline-link-common.js +1 -1
- package/link-list/link-list.component.js +1 -1
- package/link-list-anchor/link-list-anchor.component.js +1 -1
- package/{link-list-anchor.component-DG_HCtHH.js → link-list-anchor.component-Bjz_EKvE.js} +1 -1
- package/link-list-anchor.js +1 -1
- package/link-list-anchor.pure.js +1 -1
- package/{link-list.component-BNVd0a8U.js → link-list.component-Dg-7TBPC.js} +1 -1
- package/link-list.js +1 -1
- package/link-list.pure.js +1 -1
- package/link.js +1 -1
- package/link.pure.js +1 -1
- package/menu/common/menu-action-common.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/{menu-action-common-Wy36tk18.js → menu-action-common-DakEXPg7.js} +1 -1
- package/{menu.component-DrrKSRmJ.js → menu.component-CqXsI5Cg.js} +25 -21
- package/menu.js +2 -2
- package/menu.pure.js +2 -2
- package/message/message.component.js +1 -1
- package/{message.component-CdfsCpnE.js → message.component-CORYX4KP.js} +1 -1
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/{mini-button-group.component-DQBU0BDm.js → mini-button-group.component-DWayyUpK.js} +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-list/navigation-list.component.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/{navigation-list.component-Cezo1tC-.js → navigation-list.component-C5y3ohH0.js} +1 -1
- package/{navigation-marker.component-CNsMaqpH.js → navigation-marker.component-VbvKu1TR.js} +1 -1
- package/{navigation.component-DLgmWh_c.js → navigation.component-DKJujMqj.js} +23 -19
- package/navigation.js +3 -3
- package/navigation.pure.js +3 -3
- package/off-brand-theme.css +416 -503
- package/{optgroup-base-element-Cxe8SIQh.js → optgroup-base-element-CBxsRPUF.js} +10 -17
- package/option/optgroup/optgroup-base-element.js +1 -1
- package/option/optgroup/optgroup.component.js +1 -1
- package/option/option/option.component.js +1 -1
- package/option/option-styles.js +2 -0
- package/option-styles-DcD5grSB.js +6 -0
- package/option.js +6 -5
- package/option.pure.js +5 -4
- package/overlay/overlay-base-element.js +24 -24
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-myJflfLY.js → overlay.component-OSLtja0_.js} +4 -4
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +5 -49
- package/paginator/common/paginator-common.js +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/paginator.component-Dk1xDHgW.js +212 -0
- package/paginator.js +3 -3
- package/paginator.pure.js +3 -3
- package/popover/popover.component.js +1 -1
- package/{popover.component-Dm_86bPY.js → popover.component-Bm-bx-Hs.js} +32 -32
- package/popover.js +1 -1
- package/popover.pure.js +1 -1
- package/radio-button/common/radio-button-common.js +1 -1
- package/radio-button/radio-button.component.js +1 -1
- package/{radio-button.component-CZ273yAb.js → radio-button.component-CGeTCfMq.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/safety-theme.css +416 -503
- package/select/select.component.js +1 -1
- package/{select.component-CLPLpFDz.js → select.component-UcWSndDu.js} +41 -39
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/selection-action-panel/selection-action-panel.component.js +1 -1
- package/selection-action-panel.js +1 -1
- package/selection-action-panel.pure.js +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/selection-expansion-panel.js +1 -1
- package/selection-expansion-panel.pure.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/sidebar.js +5 -5
- package/sidebar.pure.js +5 -5
- package/signet/signet.component.js +1 -1
- package/signet.js +1 -1
- package/signet.pure.js +1 -1
- package/skiplink-list/skiplink-list.component.js +1 -1
- package/{skiplink-list.component-BXaqYpsI.js → skiplink-list.component-ClGb1J_H.js} +1 -1
- package/skiplink-list.js +1 -1
- package/skiplink-list.pure.js +1 -1
- package/slider/slider.component.js +1 -1
- package/{slider.component-BlUWAWJU.js → slider.component-BMkoF1l1.js} +23 -31
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +416 -503
- package/status/status.component.js +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/stepper/step/step.component.js +1 -1
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/stepper/stepper.component.js +1 -1
- package/stepper.js +3 -3
- package/stepper.pure.js +3 -3
- package/{sticky-bar.component-dmlGAZLW.js → sticky-bar.component-DtXeRUqi.js} +1 -1
- package/styles-DV41ClRb.js +5 -0
- package/{tab-nav-bar.component-FT2W0urU.js → tab-nav-bar.component-CRC6xnaX.js} +1 -1
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/common/styles.js +1 -1
- package/tabs/tab/tab.component.js +1 -1
- package/tabs/tab-group/tab-group.component.js +1 -1
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/tabs.js +5 -5
- package/tabs.pure.js +5 -5
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag-group/tag-group.component.js +1 -1
- package/{tag-group.component-9UfHHJ79.js → tag-group.component-wnzXwLPf.js} +1 -1
- package/tag.js +2 -2
- package/tag.pure.js +2 -2
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/teaser-panel/teaser-panel.component.js +1 -1
- package/teaser-panel.js +1 -1
- package/teaser-panel.pure.js +1 -1
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product.js +2 -2
- package/teaser-product.pure.js +2 -2
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/time-input.js +1 -1
- package/time-input.pure.js +1 -1
- package/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/timetable-form.js +4 -4
- package/timetable-form.pure.js +4 -4
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/timetable-occupancy-icon.js +1 -1
- package/timetable-occupancy-icon.pure.js +1 -1
- package/{timetable-occupancy.component-DGQ20zH1.js → timetable-occupancy.component-CIkq1cT7.js} +17 -13
- package/timetable-occupancy.js +1 -1
- package/timetable-occupancy.pure.js +1 -1
- package/title/title-base.js +1 -1
- package/title/title.component.js +1 -1
- package/{title-base-JBhKD3ur.js → title-base-B1xzk7Zb.js} +1 -1
- package/{title.component-VnTeqomb.js → title.component-DTnG8op9.js} +2 -2
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/{toast.component-BMN90Ouu.js → toast.component-Ew5vuGXf.js} +19 -19
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +1 -1
- package/toggle-check/toggle-check.component.js +1 -1
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/tooltip.component.js +1 -1
- package/{tooltip.component-NfyDxfw7.js → tooltip.component-ihyNBI7f.js} +25 -25
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train/train.component.js +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-wagon-common.js +1 -1
- package/{train-formation.component-DVxNBPIB.js → train-formation.component-CYqdWnkL.js} +1 -1
- package/{train-wagon-common-CDCsWVgi.js → train-wagon-common-C1Py1D01.js} +1 -1
- package/{train.component-DxadS7O8.js → train.component-DRLUjuXY.js} +1 -1
- package/train.js +4 -4
- package/train.pure.js +4 -4
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/visual-checkbox.js +1 -1
- package/visual-checkbox.pure.js +1 -1
- package/a11y.css +0 -20
- package/animation.css +0 -14
- package/badge.css +0 -32
- package/core/decorators/host-attributes.js +0 -17
- package/core/eventing/throttle.js +0 -11
- package/core/styles/badge.scss +0 -3
- package/core/styles/mixins/badge.scss +0 -42
- package/core/styles/mixins/buttons.scss +0 -12
- package/core/styles/mixins/card.scss +0 -205
- package/core/styles/mixins/dev_and_debug.scss +0 -8
- package/core/styles/mixins/image.scss +0 -43
- package/core/styles/mixins/inputs.scss +0 -11
- package/core/styles/mixins/link.scss +0 -125
- package/core/styles/mixins/panel.scss +0 -80
- package/core/styles/mixins/popover.scss +0 -14
- package/core/styles/mixins/table.scss +0 -185
- package/core/styles/mixins/timetable-form.scss +0 -63
- package/core/styles/option-panel-common.global.scss +0 -11
- package/core/styles/option-panel-common.scss +0 -157
- package/core/styles/theme.scss +0 -20
- package/core/styles/timetable-form.scss +0 -27
- package/core/styles/typography.private.scss +0 -9
- package/core.css +0 -2713
- package/development/autocomplete-base-element-qnPoRLvM.js +0 -695
- package/development/breadcrumb-group.component-BUBfl6LV.js +0 -193
- package/development/calendar.component-CG96KGTg.js +0 -1469
- package/development/core/decorators/host-attributes.d.ts +0 -22
- package/development/core/decorators/host-attributes.d.ts.map +0 -1
- package/development/core/decorators/host-attributes.js +0 -41
- package/development/core/eventing/throttle.d.ts +0 -3
- package/development/core/eventing/throttle.d.ts.map +0 -1
- package/development/core/eventing/throttle.js +0 -18
- package/development/file-selector-common-mZ5UYxOF.js +0 -421
- package/development/flip-card.component-DujrPKzU.js +0 -185
- package/development/form-field.component-CPWBCHer.js +0 -702
- package/development/header-action-common-Be0XQge2.js +0 -86
- package/development/inline-link-common-gmt6yz3v.js +0 -18
- package/development/link-list.component-B90qHOUD.js +0 -97
- package/development/menu-action-common-DRXQc85Y.js +0 -32
- package/development/menu.component-Cv9wRj4H.js +0 -365
- package/development/navigation-list.component-Dvv-bZ2V.js +0 -86
- package/development/navigation-marker.component-DMqe-VlY.js +0 -120
- package/development/navigation.component-CqNkBvEs.js +0 -315
- package/development/optgroup-base-element-CLfE6pmz.js +0 -147
- package/development/option.component-CV6cZnJe.js +0 -131
- package/development/paginator.component-BwLUSpDj.js +0 -261
- package/development/popover.component-CKUZbWbV.js +0 -578
- package/development/radio-button-common-G0jLFo41.js +0 -129
- package/development/select.component-CUjF11sq.js +0 -807
- package/development/selection-expansion-panel.component-BT78Qhbf.js +0 -186
- package/development/sidebar-container.component-CxwDKxv9.js +0 -100
- package/development/skiplink-list.component-m7xm-pns.js +0 -129
- package/development/slider.component-D_nLTlRF.js +0 -346
- package/development/step-label.component-Bo7Z0w7N.js +0 -127
- package/development/stepper.component-BeqeUIRN.js +0 -443
- package/development/styles-Cctez2BS.js +0 -22
- package/development/tab-nav-bar.component-B_mi8GGR.js +0 -109
- package/development/tag-group.component-Db8prSBL.js +0 -194
- package/development/tag.component-DG1uxD28.js +0 -238
- package/development/teaser-product.component-DMyuB-cH.js +0 -37
- package/development/teaser.component-CF_NUbwJ.js +0 -116
- package/development/time-input.component-XxzRoupm.js +0 -187
- package/development/timetable-occupancy-icon.component-UBmyZsTO.js +0 -95
- package/development/timetable-occupancy.component-DMm242Fr.js +0 -122
- package/development/title-base-D_Rjyk_j.js +0 -102
- package/development/title.component-CMxYhTfw.js +0 -71
- package/development/toggle.component-B03k5qc1.js +0 -243
- package/development/tooltip.component-D8zik3p4.js +0 -369
- package/development/train-wagon-common-Dg-BjUtC.js +0 -441
- package/development/train.component-dECIGw2x.js +0 -239
- package/header-action-common-DuPx0U2o.js +0 -64
- package/inline-link-common-BqqH1ExY.js +0 -13
- package/layout.css +0 -30
- package/lists.css +0 -194
- package/normalize.css +0 -95
- package/paginator.component-DB8l-B6J.js +0 -208
- package/scrollbar.css +0 -124
- package/styles-DAMaYe4p.js +0 -5
- package/table.css +0 -261
- package/timetable-form.css +0 -73
- package/typography.css +0 -67
- /package/{compact-paginator.component-BAuShgQE.js → compact-paginator.component-B-8gf_qD.js} +0 -0
- /package/core/styles/{disable-animation.scss → disable-animation-extension.scss} +0 -0
- /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +0 -0
- /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss} +0 -0
- /package/core/styles/{normalize.scss → features/normalize.scss} +0 -0
- /package/core/styles/{scrollbar.private.scss → features/scrollbar.private.scss} +0 -0
- /package/core/styles/mixins/{animation.scss → _animation.scss} +0 -0
- /package/core/styles/mixins/{font-face.scss → _font-face.scss} +0 -0
- /package/core/styles/mixins/{layout.scss → _layout.scss} +0 -0
- /package/core/styles/mixins/{scrollbar.scss → _scrollbar.scss} +0 -0
- /package/{disable-animation.css → disable-animation-extension.css} +0 -0
- /package/{option.component-BeorlZT0.js → option.component-DiH8AMlV.js} +0 -0
- /package/{paginator-common-BWewgXga.js → paginator-common-C0Kn9ibe.js} +0 -0
- /package/{radio-button-common-CrIRn10q.js → radio-button-common-BDNSqXg-.js} +0 -0
- /package/{selection-action-panel.component-DCGJQ3Mx.js → selection-action-panel.component-Ba7N1Hgt.js} +0 -0
- /package/{selection-expansion-panel.component-Cu1egfTY.js → selection-expansion-panel.component-BL1FPfPM.js} +0 -0
- /package/{sidebar-close-button.component-8owwjvk3.js → sidebar-close-button.component-CLjOpBM2.js} +0 -0
- /package/{sidebar-container.component-Dcke-Uhr.js → sidebar-container.component-8filIF5E.js} +0 -0
- /package/{sidebar-content.component-CYupfsq_.js → sidebar-content.component-DMdjHDdq.js} +0 -0
- /package/{sidebar-title.component-Cf64lCJx.js → sidebar-title.component-DaIkBNY9.js} +0 -0
- /package/{sidebar.component-LaqQzMo2.js → sidebar.component-D_HLDNnq.js} +0 -0
- /package/{signet.component-3Xfke8uk.js → signet.component-6q3GxORI.js} +0 -0
- /package/{status.component-mel7wA1j.js → status.component-DMfZTgzz.js} +0 -0
- /package/{step-label.component-BGSaHafq.js → step-label.component-CjNZYk5b.js} +0 -0
- /package/{step.component-tJh-Pb_E.js → step.component-BCkwsZdk.js} +0 -0
- /package/{stepper.component-BCl77LVa.js → stepper.component-mq66fR06.js} +0 -0
- /package/{styles-DisU4TWi.js → styles-DWm_OYpV.js} +0 -0
- /package/{tab-group.component-CDhggNpe.js → tab-group.component-MEm2W7QR.js} +0 -0
- /package/{tab-label.component-BuF2qt1T.js → tab-label.component-BqznCfW8.js} +0 -0
- /package/{tab.component-D6hfhlZw.js → tab.component-DPwbvqp4.js} +0 -0
- /package/{table-wrapper.component-C83EYuZP.js → table-wrapper.component-LzYuAVPb.js} +0 -0
- /package/{tag.component-BKuxfdDi.js → tag.component-zGPaopTo.js} +0 -0
- /package/{teaser-hero.component-mv6HL4vm.js → teaser-hero.component-BlhffYux.js} +0 -0
- /package/{teaser-panel.component-qRmy2lbz.js → teaser-panel.component-BCbKgXVt.js} +0 -0
- /package/{teaser-product-common-J1KZ2Hlw.js → teaser-product-common-C_lgMbyC.js} +0 -0
- /package/{teaser-product.component-BcleFVcu.js → teaser-product.component-CQIXu7sq.js} +0 -0
- /package/{teaser.component-BOqCERR7.js → teaser.component-D9z78Eny.js} +0 -0
- /package/{time-input.component-Dw8pPYDK.js → time-input.component-CLHEoWze.js} +0 -0
- /package/{timetable-form-details.component-0c6h6shd.js → timetable-form-details.component-DJ3oPkQP.js} +0 -0
- /package/{timetable-form-field.component-Cya8n2Ms.js → timetable-form-field.component-6s8_sz9h.js} +0 -0
- /package/{timetable-form-swap-button.component-rI_0UYJw.js → timetable-form-swap-button.component-BY2m2_k9.js} +0 -0
- /package/{timetable-form.component-DVps6baq.js → timetable-form.component-Swe8BX7g.js} +0 -0
- /package/{timetable-occupancy-icon.component-ABh1bz-X.js → timetable-occupancy-icon.component-C44eSFOM.js} +0 -0
- /package/{toggle-check.component-BcQ5ht0O.js → toggle-check.component-Ce-klZJB.js} +0 -0
- /package/{toggle-option.component-DQcPDXyl.js → toggle-option.component-BdMfGuA-.js} +0 -0
- /package/{toggle.component-DARkqJol.js → toggle.component-ySmrXvjA.js} +0 -0
- /package/{train-blocked-passage.component-B601YYJl.js → train-blocked-passage.component-UnNCmspZ.js} +0 -0
- /package/{visual-checkbox.component-YhX5Qk3j.js → visual-checkbox.component-JmGORoDU.js} +0 -0
|
@@ -131,10 +131,6 @@ var SbbDatepickerButton = class extends SbbDatepickerButtonBase {
|
|
|
131
131
|
this._disabled = true;
|
|
132
132
|
this.addEventListener?.("click", () => this._handleClick());
|
|
133
133
|
}
|
|
134
|
-
/** @deprecated Use `getFollowingDate(date: T)` instead. */
|
|
135
|
-
findAvailableDate(_date) {
|
|
136
|
-
return this.getFollowingDate(_date);
|
|
137
|
-
}
|
|
138
134
|
_handleClick() {
|
|
139
135
|
if (!this.input || this.disabled) return;
|
|
140
136
|
const startingDate = this.input.valueAsDate ?? this.dateAdapter.today();
|
|
@@ -168,4 +164,4 @@ var SbbDatepickerButton = class extends SbbDatepickerButtonBase {
|
|
|
168
164
|
//#endregion
|
|
169
165
|
export { SbbDatepickerButtonBase as n, SbbDatepickerButton as t };
|
|
170
166
|
|
|
171
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1idXR0b24tQkFUMWViekouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi5zYmItYWN0aW9uLWJhc2Uge1xuICBtYXJnaW46IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICcuLi8uLi9idXR0b24vY29tbW9uL2J1dHRvbi1jb21tb24udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBEYXRlQWRhcHRlcixcbiAgZGVmYXVsdERhdGVBZGFwdGVyLFxuICBpMThuVG9kYXksXG4gIGlkUmVmZXJlbmNlLFxuICByZWFkQ29uZmlnLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IHR5cGUgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZCwgU2JiRGF0ZUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2RhdGUtaW5wdXQucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgZGF0ZXBpY2tlcidzIGJ1dHRvbnMuXG4gKlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCBvbiB0aGUgZGF0ZXBpY2tlcidzIGlucHV0IHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS4gVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWQgZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gVGhlIGlucHV0IGV2ZW50IGZpcmVzIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpXG4gIGltcGxlbWVudHMgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPlxue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNiYkRhdGVJbnB1dEFzc29jaWF0ZWQgPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbbWluaUJ1dHRvblN0eWxlLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGFzc29jaWF0ZWQgZGF0ZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBpbnB1dDogU2JiRGF0ZUlucHV0RWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2lucHV0RGlzYWJsZWQ7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlLXBpY2tlcidzIGlucHV0IGRpc2FibGVkLiAqL1xuICBwcml2YXRlIF9pbnB1dERpc2FibGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcblxuICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpY29uTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGU/Lihmb3JtRmllbGQpO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5uZWdhdGl2ZTtcbiAgICAgIFNiYkRhdGVJbnB1dEVsZW1lbnQucmVzb2x2ZUFzc29jaWF0aW9uKHRoaXMpO1xuICAgICAgdGhpcy5zbG90IHx8PSB0aGlzLl9maW5kU2xvdFBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5pbnB1dCAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXREaXNhYmxlZCA9IHRydWU7XG4gICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgdGhpcy5zbG90ID0gdGhpcy5fZmluZFNsb3RQb3NpdGlvbigpO1xuICAgICAgICAvLyBUaGUgc2JiLWRhdGUtaW5wdXQgaW5zdGFuY2UgbXVzdCBiZSB1cGdyYWRlZCBpbiBvcmRlclxuICAgICAgICAvLyBmb3IgcHJvcGVydGllcyB0byBiZSBhY2Nlc3NpYmxlLlxuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlPy4odGhpcy5pbnB1dCk7XG4gICAgICAgIHRoaXMuX3N5bmMoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCfJtWNoYW5nZScsICgpID0+IHRoaXMuX3N5bmMoKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIW5hbWUgJiYgdGhpcy5oYXNVcGRhdGVkICYmIHRoaXMuaW5wdXQpIHtcbiAgICAgIC8vIElmIGxhbmd1YWdlIGNoYW5nZXMsIHdlIG5lZWQgdG8gdXBkYXRlIHJlbGF0ZWQgYXJpYSBwcm9wZXJ0aWVzLlxuICAgICAgdGhpcy5fc3luYygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRTbG90UG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaW5wdXQgfHxcbiAgICAgIHRoaXMuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5pbnB1dCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lOR1xuICAgICAgPyAncHJlZml4J1xuICAgICAgOiAnc3VmZml4JztcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmMoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jRGF0ZUlucHV0U3RhdGUoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNEYXRlSW5wdXRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dERpc2FibGVkID0gdGhpcy5pbnB1dCEuZGlzYWJsZWQgfHwgdGhpcy5pbnB1dCEucmVhZE9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzYmItaWNvbiBuYW1lPSR7dGhpcy5pY29uTmFtZX0+PC9zYmItaWNvbj5gO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPiBleHRlbmRzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQ+IHtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdWUgZGF0ZSBlcXVhbHMgdG8gYm91bmRhcnkgZGF0ZS4gKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBgZ2V0Rm9sbG93aW5nRGF0ZShkYXRlOiBUKWAgaW5zdGVhZC4gKi9cbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlKF9kYXRlOiBUKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEZvbGxvd2luZ0RhdGUoX2RhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZvbGxvd2luZ0RhdGUoX2RhdGU6IFQpOiBUIHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydGluZ0RhdGU6IFQgPSB0aGlzLmlucHV0LnZhbHVlQXNEYXRlID8/IHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHN0YXJ0aW5nRGF0ZSk7XG4gICAgaWYgKHRoaXMuZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlKSAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHN0YXJ0aW5nRGF0ZSkgIT09IDApIHtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInLCB7IGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3luY0RhdGVJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnN5bmNEYXRlSW5wdXRTdGF0ZSgpO1xuICAgIGlmICghdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5pMThuT2ZmQm91bmRhcnlEYXlbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA9XG4gICAgICAhdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGUpIHx8XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSA9PT0gMDtcbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgdGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0udG9Mb3dlckNhc2UoKVxuICAgICAgICA6IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUodGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9XG4gICAgICB0aGlzLmkxOG5TZWxlY3RPZmZCb3VuZGFyeURheShjdXJyZW50RGF0ZVN0cmluZylbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2dDc0IsaUNBQXVCO21CQUNuQyxpQkFBaUIsb0JBQW9COzs7O2NBRHpCLGdDQUNaLFlBQXNDOzs7R0FjOUIsS0FBQSwwQkFBQSxr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
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1idXR0b24tQmI3NkVCWUguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvY29tbW9uL2RhdGVwaWNrZXItYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi5zYmItYWN0aW9uLWJhc2Uge1xuICBtYXJnaW46IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICcuLi8uLi9idXR0b24vY29tbW9uL2J1dHRvbi1jb21tb24udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBEYXRlQWRhcHRlcixcbiAgZGVmYXVsdERhdGVBZGFwdGVyLFxuICBpMThuVG9kYXksXG4gIGlkUmVmZXJlbmNlLFxuICByZWFkQ29uZmlnLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IHR5cGUgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZCwgU2JiRGF0ZUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2RhdGUtaW5wdXQucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItYnV0dG9uLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgZGF0ZXBpY2tlcidzIGJ1dHRvbnMuXG4gKlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCBvbiB0aGUgZGF0ZXBpY2tlcidzIGlucHV0IHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS4gVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWQgZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gVGhlIGlucHV0IGV2ZW50IGZpcmVzIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpXG4gIGltcGxlbWVudHMgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPlxue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiSWNvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNiYkRhdGVJbnB1dEFzc29jaWF0ZWQgPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbbWluaUJ1dHRvblN0eWxlLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGFzc29jaWF0ZWQgZGF0ZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBpbnB1dDogU2JiRGF0ZUlucHV0RWxlbWVudDxUPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2lucHV0RGlzYWJsZWQ7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1ZSBkYXRlLXBpY2tlcidzIGlucHV0IGRpc2FibGVkLiAqL1xuICBwcml2YXRlIF9pbnB1dERpc2FibGVkID0gdHJ1ZTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcblxuICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpY29uTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGU/Lihmb3JtRmllbGQpO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5uZWdhdGl2ZTtcbiAgICAgIFNiYkRhdGVJbnB1dEVsZW1lbnQucmVzb2x2ZUFzc29jaWF0aW9uKHRoaXMpO1xuICAgICAgdGhpcy5zbG90IHx8PSB0aGlzLl9maW5kU2xvdFBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5pbnB1dCAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXREaXNhYmxlZCA9IHRydWU7XG4gICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgdGhpcy5zbG90ID0gdGhpcy5fZmluZFNsb3RQb3NpdGlvbigpO1xuICAgICAgICAvLyBUaGUgc2JiLWRhdGUtaW5wdXQgaW5zdGFuY2UgbXVzdCBiZSB1cGdyYWRlZCBpbiBvcmRlclxuICAgICAgICAvLyBmb3IgcHJvcGVydGllcyB0byBiZSBhY2Nlc3NpYmxlLlxuICAgICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlPy4odGhpcy5pbnB1dCk7XG4gICAgICAgIHRoaXMuX3N5bmMoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCfJtWNoYW5nZScsICgpID0+IHRoaXMuX3N5bmMoKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIW5hbWUgJiYgdGhpcy5oYXNVcGRhdGVkICYmIHRoaXMuaW5wdXQpIHtcbiAgICAgIC8vIElmIGxhbmd1YWdlIGNoYW5nZXMsIHdlIG5lZWQgdG8gdXBkYXRlIHJlbGF0ZWQgYXJpYSBwcm9wZXJ0aWVzLlxuICAgICAgdGhpcy5fc3luYygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRTbG90UG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaW5wdXQgfHxcbiAgICAgIHRoaXMuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5pbnB1dCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lOR1xuICAgICAgPyAncHJlZml4J1xuICAgICAgOiAnc3VmZml4JztcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmMoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jRGF0ZUlucHV0U3RhdGUoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNEYXRlSW5wdXRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dERpc2FibGVkID0gdGhpcy5pbnB1dCEuZGlzYWJsZWQgfHwgdGhpcy5pbnB1dCEucmVhZE9ubHk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzYmItaWNvbiBuYW1lPSR7dGhpcy5pY29uTmFtZX0+PC9zYmItaWNvbj5gO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQgPSBEYXRlPiBleHRlbmRzIFNiYkRhdGVwaWNrZXJCdXR0b25CYXNlPFQ+IHtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdWUgZGF0ZSBlcXVhbHMgdG8gYm91bmRhcnkgZGF0ZS4gKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuT2ZmQm91bmRhcnlEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXk6IChfY3VycmVudERhdGU6IHN0cmluZykgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZvbGxvd2luZ0RhdGUoX2RhdGU6IFQpOiBUIHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydGluZ0RhdGU6IFQgPSB0aGlzLmlucHV0LnZhbHVlQXNEYXRlID8/IHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHN0YXJ0aW5nRGF0ZSk7XG4gICAgaWYgKHRoaXMuZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlKSAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHN0YXJ0aW5nRGF0ZSkgIT09IDApIHtcbiAgICAgIHRoaXMuaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInLCB7IGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3luY0RhdGVJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnN5bmNEYXRlSW5wdXRTdGF0ZSgpO1xuICAgIGlmICghdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5pMThuT2ZmQm91bmRhcnlEYXlbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5nZXRGb2xsb3dpbmdEYXRlKHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA9XG4gICAgICAhdGhpcy5kYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGUpIHx8XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIHRoaXMuaW5wdXQhLnZhbHVlQXNEYXRlKSA9PT0gMDtcbiAgICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9XG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgdGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpID09PSAwXG4gICAgICAgID8gaTE4blRvZGF5W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0udG9Mb3dlckNhc2UoKVxuICAgICAgICA6IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUodGhpcy5pbnB1dCEudmFsdWVBc0RhdGUpO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9XG4gICAgICB0aGlzLmkxOG5TZWxlY3RPZmZCb3VuZGFyeURheShjdXJyZW50RGF0ZVN0cmluZylbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ2dDc0IsaUNBQXVCO21CQUNuQyxpQkFBaUIsb0JBQW9COzs7O2NBRHpCLGdDQUNaLFlBQXNDOzs7R0FjOUIsS0FBQSwwQkFBQSxrQkFBQSxNQUFBLHFCQUF1QyxJQUFJOztHQVFuRCxLQUFBLGtCQUFjLGtCQUFBLE1BQUEsd0JBQUEsR0FBRztHQUlmLEtBQUEsY0FBOEIsV0FBVSxFQUFHLFVBQVUsZUFBZTtHQUNwRSxLQUFBLFdBQVcsSUFBSSxzQkFBc0IsSUFBSTtFQWtFckQ7Ozt3QkFqRkcsWUFBVyxHQUNYLFNBQVEsQ0FB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as SbbDatepickerButtonBase, t as SbbDatepickerButton } from "./datepicker-button-
|
|
1
|
+
import { n as SbbDatepickerButtonBase, t as SbbDatepickerButton } from "./datepicker-button-Bb76EBYH.js";
|
|
2
2
|
import { SbbDatepickerNextDayElement } from "./datepicker/datepicker-next-day/datepicker-next-day.component.js";
|
|
3
3
|
import { SbbDatepickerPreviousDayElement } from "./datepicker/datepicker-previous-day/datepicker-previous-day.component.js";
|
|
4
4
|
import { SbbDatepickerToggleElement } from "./datepicker/datepicker-toggle/datepicker-toggle.component.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as SbbDatepickerButtonBase, t as SbbDatepickerButton } from "./datepicker-button-
|
|
1
|
+
import { n as SbbDatepickerButtonBase, t as SbbDatepickerButton } from "./datepicker-button-Bb76EBYH.js";
|
|
2
2
|
import { SbbDatepickerNextDayElement } from "./datepicker/datepicker-next-day/datepicker-next-day.component.js";
|
|
3
3
|
import { SbbDatepickerPreviousDayElement } from "./datepicker/datepicker-previous-day/datepicker-previous-day.component.js";
|
|
4
4
|
import { SbbDatepickerToggleElement } from "./datepicker/datepicker-toggle/datepicker-toggle.component.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-
|
|
1
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-cZ3SAujq.js";
|
|
2
2
|
export { SbbDialogCloseEvent, SbbDialogElement, assignDialogResult };
|
|
@@ -20,4 +20,4 @@ var SbbDialogActionsElement = class extends SbbActionGroupElement {
|
|
|
20
20
|
//#endregion
|
|
21
21
|
export { SbbDialogActionsElement as t };
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LWUwWlRUVWluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGdyaWQtYXJlYTogYWN0aW9ucztcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1kaWFsb2ctcGFkZGluZy1pbmxpbmUpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZGlhbG9nLXBhZGRpbmctYmxvY2spO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1kaWFsb2ctYmFja2dyb3VuZC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stZW5kLWJveC1zaGFkb3csIG5vbmUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gSG9yaXpvbnRhbCBsaW5lIGhhcyB0byBiZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGJlY2F1c2Ugb3RoZXJ3aXNlXG4gIC8vIGl0IGludGVyZmVyZXMgd2l0aCBzY3JvbGwgZGV0ZWN0aW9uIG9mIGFib3ZlIGNvbnRhaW5lci5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpIHZhcigtLXNiYi1kaWFsb2ctc2hhZG93LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBDYW52YXNUZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiQWN0aW9uR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vLi4vYWN0aW9uLWdyb3VwLnB1cmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctYWN0aW9ucy5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IHRvIGRpc3BsYXkgYSBmb290ZXIgaW50byBhbiBgc2JiLWRpYWxvZ2Agd2l0aCBhbiBhY3Rpb24gZ3JvdXAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1ibG9jay1saW5rYCBvciBgc2JiLWJ1dHRvbmAgZWxlbWVudHMgdG8gdGhlIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQgZXh0ZW5kcyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1hY3Rpb25zJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1hY3Rpb25zJzogU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNXQSxJQUFhLDBCQUFiLGNBQTZDLHNCQUFxQjs7RUFDaEMsS0FBQSxjQUFzQjtDQUFxQjs7RUFDcEQsS0FBQSxTQUF5QixDQUFDLFVBQVUsc0JBQUssQ0FBQztDQUFFIn0=
|
|
@@ -188,16 +188,16 @@ var SbbDialogElement = (() => {
|
|
|
188
188
|
return this.dispatchEvent(new SbbOverlayCloseEvent("beforeclose", {
|
|
189
189
|
cancelable: true,
|
|
190
190
|
closeAttribute: this.closeAttribute,
|
|
191
|
-
closeTarget: this.
|
|
192
|
-
result: this.
|
|
191
|
+
closeTarget: this.lastClosedTarget,
|
|
192
|
+
result: this.lastResult
|
|
193
193
|
}));
|
|
194
194
|
}
|
|
195
195
|
dispatchCloseEvent() {
|
|
196
196
|
/** @type {SbbDialogCloseEvent} Emits whenever the component is closed. */
|
|
197
197
|
return this.dispatchEvent(new SbbOverlayCloseEvent("close", {
|
|
198
198
|
closeAttribute: this.closeAttribute,
|
|
199
|
-
closeTarget: this.
|
|
200
|
-
result: this.
|
|
199
|
+
closeTarget: this.lastClosedTarget,
|
|
200
|
+
result: this.lastResult
|
|
201
201
|
}));
|
|
202
202
|
}
|
|
203
203
|
render() {
|
|
@@ -224,4 +224,4 @@ var SbbDialogElement = (() => {
|
|
|
224
224
|
//#endregion
|
|
225
225
|
export { SbbDialogElement as n, assignDialogResult as r, SbbDialogCloseEvent as t };
|
|
226
226
|
|
|
227
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1EOEIyZFZjay5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaW5zZXQ6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG4uc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG46aG9zdCg6bm90KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSkgLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICd0aXRsZSBjbG9zZS1idXR0b24nIGF1dG9cbiAgICAnY29udGVudCBjb250ZW50JyAxZnJcbiAgICAnYWN0aW9ucyBhY3Rpb25zJyBhdXRvIC8gMWZyIGF1dG87XG4gIGdhcDogMDtcbn1cblxuLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVzZSBhbmltYXRpb25zIHdpdGgga2V5ZnJhbWVzIGluc3RlYWQgb2YgdHJhbnNpdGlvbnMgaW4gb3JkZXIgbm90IHRvIGFsdGVyXG4vLyB0aGUgZGVmYXVsdCBgZGlzcGxheTogYmxvY2tgIG9mIHRoZSBtb2RhbCBvdGhlcndpc2UgaXQgY2F1c2VzIHNldmVyYWwgcHJvYmxlbXMsXG4vLyBlc3BlY2lhbGx5IGZvciBhY2Nlc3NpYmlsaXR5LlxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItZGlhbG9nLXRyYW5zbGF0ZS15LCAxMDAlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgc2NyZWVuUmVhZGVyT25seVN0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgb3ZlcmxheVJlZnMsXG4gIFNiYk92ZXJsYXlCYXNlRWxlbWVudCxcbiAgU2JiT3ZlcmxheUNsb3NlRXZlbnQgYXMgU2JiRGlhbG9nQ2xvc2VFdmVudCxcbn0gZnJvbSAnLi4vLi4vb3ZlcmxheS5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRGlhbG9nQ29udGVudEVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctY29udGVudC9kaWFsb2ctY29udGVudC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQge1xuICBhc3NpZ25PdmVybGF5UmVzdWx0IGFzIGFzc2lnbkRpYWxvZ1Jlc3VsdCxcbiAgU2JiT3ZlcmxheUNsb3NlRXZlbnQgYXMgU2JiRGlhbG9nQ2xvc2VFdmVudCxcbn0gZnJvbSAnLi4vLi4vb3ZlcmxheS9vdmVybGF5LWJhc2UtZWxlbWVudC50cyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItZGlhbG9nLXRpdGxlYCwgYHNiYi1kaWFsb2ctY29udGVudGAgYW5kIGFuIG9wdGlvbmFsIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICogQGNzc3Byb3AgWy0tc2JiLWRpYWxvZy16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1kaWFsb2cnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc2NyZWVuUmVhZGVyT25seVN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLyoqIEJhY2tkcm9wIGRlbnNpdHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3A6XG4gICAgfCAnb3BhcXVlJ1xuICAgIHwgJ3RyYW5zbHVjZW50JyA9ICdvcGFxdWUnO1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2xvc2VUYWc6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lcik7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3VwZGF0ZU92ZXJmbG93U3RhdGUoKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQW5ub3VuY2UgdGhlIGFjY2Vzc2liaWxpdHkgbGFiZWwgb3IgZGlhbG9nIHRpdGxlIGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbiAgcHVibGljIGFubm91bmNlVGl0bGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBcmlhTGl2ZVJlZkNvbnRlbnQoXG4gICAgICB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCB8fCB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctdGl0bGUnKT8udGV4dENvbnRlbnQudHJpbSgpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG5cbiAgICBjb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIGlmICghdGhpcy5za2lwRm9jdXNSZXN0b3JhdGlvbikge1xuICAgICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLmhvc3REaXNjb25uZWN0ZWQoKTtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nIGlmIG5vIGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFubm91bmNlVGl0bGUoKSk7XG5cbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgaWYgKGNvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSBvcGVuIG9uIGZpcnN0VXBkYXRlLCBhbm5vdW5jZSB0aGUgdGl0bGVcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuYW5ub3VuY2VUaXRsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIHRoaXMuX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4gPVxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnOnNjb3BlID4gOmlzKHNiYi1kaWFsb2ctdGl0bGUsIHNiYi1kaWFsb2ctY2xvc2UtYnV0dG9uLCBzYmItZGlhbG9nLWNvbnRlbnQsIHNiYi1kaWFsb2ctYWN0aW9ucyknLFxuICAgICAgKSA9PT0gbnVsbDtcblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2hhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCcsIGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbik7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9XG4gICAgICAhIXRoaXMuX2RpYWxvZ0VsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudCk7XG4gIH07XG5cbiAgLyoqIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuYmFja2Ryb3BBY3Rpb24gPT09ICdjbG9zZScgJiZcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgdGhpcy5fZGlhbG9nRWxlbWVudCAmJlxuICAgICAgIWV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZU92ZXJmbG93U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3RvcC1zaGFkb3cnLCAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSA+IDApO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnYm90dG9tLXNoYWRvdycsXG4gICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvcCA/PyAwKSArIChjb250ZW50RWxlbWVudD8ub2Zmc2V0SGVpZ2h0ID8/IDApIDxcbiAgICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPz8gMCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRFbGVtZW50KCk6IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy1jb250ZW50Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnYmVmb3JlY2xvc2UnLCB7XG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgICByZXN1bHQ6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7KCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZSgpfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZyc6IFNiYkRpYWxvZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDNkJhLDBCQUFnQjttQkFBUzs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBcUI7OztpQ0FLeEQsU0FBUyxFQUFFLFdBQVcsa0JBQWlCLENBQUUsQ0FB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
|
|
227
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1jWjNTQXVqcS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIG91dGxpbmU6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gICAgd2lkdGg6IHZhcigtLXNiYi1kaWFsb2ctd2lkdGgpO1xuICAgIGluc2V0OiB1bnNldDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZGlhbG9nLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpIDo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpLFxuLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpIDo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpLFxuOmhvc3QoOm5vdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkpIC5zYmItZGlhbG9nX193cmFwcGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAndGl0bGUgY2xvc2UtYnV0dG9uJyBhdXRvXG4gICAgJ2NvbnRlbnQgY29udGVudCcgMWZyXG4gICAgJ2FjdGlvbnMgYWN0aW9ucycgYXV0byAvIDFmciBhdXRvO1xuICBnYXA6IDA7XG59XG5cbi8vIEl0IGlzIG5lY2Vzc2FyeSB0byB1c2UgYW5pbWF0aW9ucyB3aXRoIGtleWZyYW1lcyBpbnN0ZWFkIG9mIHRyYW5zaXRpb25zIGluIG9yZGVyIG5vdCB0byBhbHRlclxuLy8gdGhlIGRlZmF1bHQgYGRpc3BsYXk6IGJsb2NrYCBvZiB0aGUgbW9kYWwgb3RoZXJ3aXNlIGl0IGNhdXNlcyBzZXZlcmFsIHByb2JsZW1zLFxuLy8gZXNwZWNpYWxseSBmb3IgYWNjZXNzaWJpbGl0eS5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1kaWFsb2ctdHJhbnNsYXRlLXksIDEwMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIHNjcmVlblJlYWRlck9ubHlTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID1cbiAgICAnY2xvc2UnO1xuXG4gIC8qKiBCYWNrZHJvcCBkZW5zaXR5LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGJhY2tkcm9wOlxuICAgIHwgJ29wYXF1ZSdcbiAgICB8ICd0cmFuc2x1Y2VudCcgPSAnb3BhcXVlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNsb3NlVGFnOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEFubm91bmNlIHRoZSBhY2Nlc3NpYmlsaXR5IGxhYmVsIG9yIGRpYWxvZyB0aXRsZSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIHB1YmxpYyBhbm5vdW5jZVRpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXJpYUxpdmVSZWZDb250ZW50KFxuICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LnRleHRDb250ZW50LnRyaW0oKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuXG4gICAgY29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICBpZiAoIXRoaXMuc2tpcEZvY3VzUmVzdG9yYXRpb24pIHtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbm5vdW5jZVRpdGxlKCkpO1xuXG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGFscmVhZHkgb3BlbiBvbiBmaXJzdFVwZGF0ZSwgYW5ub3VuY2UgdGhlIHRpdGxlXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmFubm91bmNlVGl0bGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgICB0aGlzLl9kZXRlY3RJbnRlcm1lZGlhdGVFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jVGl0bGVOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dUaXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nKTtcblxuICAgIGlmIChkaWFsb2dUaXRsZSkge1xuICAgICAgZGlhbG9nVGl0bGUubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cblxuICAgIGlmIChjbG9zZUJ1dHRvbikge1xuICAgICAgY2xvc2VCdXR0b24ubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzTm9FeHBlY3RlZERpcmVjdENoaWxkcmVuID1cbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJzpzY29wZSA+IDppcyhzYmItZGlhbG9nLXRpdGxlLCBzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbiwgc2JiLWRpYWxvZy1jb250ZW50LCBzYmItZGlhbG9nLWFjdGlvbnMpJyxcbiAgICAgICkgPT09IG51bGw7XG5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQnLCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4pO1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd0b3Atc2hhZG93JywgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgPiAwKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ2JvdHRvbS1zaGFkb3cnLFxuICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgKyAoY29udGVudEVsZW1lbnQ/Lm9mZnNldEhlaWdodCA/PyAwKSA8XG4gICAgICAgIChjb250ZW50RWxlbWVudD8uc2Nyb2xsSGVpZ2h0ID8/IDApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50RWxlbWVudCgpOiBTYmJEaWFsb2dDb250ZW50RWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYkRpYWxvZ0Nsb3NlRXZlbnQoJ2JlZm9yZWNsb3NlJywge1xuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMubGFzdENsb3NlZFRhcmdldCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLmxhc3RSZXN1bHQsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiRGlhbG9nQ2xvc2VFdmVudCgnY2xvc2UnLCB7XG4gICAgICAgIGNsb3NlQXR0cmlidXRlOiB0aGlzLmNsb3NlQXR0cmlidXRlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5sYXN0Q2xvc2VkVGFyZ2V0LFxuICAgICAgICByZXN1bHQ6IHRoaXMubGFzdFJlc3VsdCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9kaWFsb2dFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlKCl9Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM2QmEsMEJBQWdCO21CQUFTOzs7Ozs7O2NBQXpCLHlCQUF5QixZQUFxQjs7O2lDQUt4RCxTQUFTLEVBQUUsV0FBVyxrQkFBaUIsQ0FBRSxDQUFDOzJCQUkx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
|
package/development/dialog.js
CHANGED
|
@@ -2,7 +2,7 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-e0ZTTUi
|
|
|
2
2
|
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-Idc00dB9.js";
|
|
3
3
|
import { t as SbbDialogContentElement } from "./dialog-content.component-CThU7Z8A.js";
|
|
4
4
|
import { t as SbbDialogTitleElement } from "./dialog-title.component-0uNsUR2C.js";
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-cZ3SAujq.js";
|
|
6
6
|
import "./dialog.pure.js";
|
|
7
7
|
//#region src/elements/dialog.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -2,5 +2,5 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-e0ZTTUi
|
|
|
2
2
|
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-Idc00dB9.js";
|
|
3
3
|
import { t as SbbDialogContentElement } from "./dialog-content.component-CThU7Z8A.js";
|
|
4
4
|
import { t as SbbDialogTitleElement } from "./dialog-title.component-0uNsUR2C.js";
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-cZ3SAujq.js";
|
|
6
6
|
export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
|
|
@@ -391,4 +391,4 @@ var SbbElement = class extends LitElement {
|
|
|
391
391
|
//#endregion
|
|
392
392
|
export { ɵstateController as a, removeAriaElements as i, SbbSlottedChangeEvent as n, appendAriaElements as r, SbbElement as t };
|
|
393
393
|
|
|
394
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcbiAgcHVibGljIHN0YXRpYyBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcHVibGljIHN0YXRpYyByb2xlPzogRWxlbWVudEludGVybmFsc1sncm9sZSddO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuICBwcml2YXRlIF9oeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uQ29tcGxldGUgPSBuZXcgUHJvbWlzZTxib29sZWFuPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgKTtcbiAgcHJpdmF0ZSBfcmVzb2x2ZUh5ZHJhdGlvbiE6IChoeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfdGV4dE9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgaHlkcmF0aW9uLlxuICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICpcbiAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBoeWRyYXRpb24gaXMgcmVxdWlyZWQgYW5kIG5vdCBjb21wbGV0ZWQuICovXG4gIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLnNldCh0aGlzLCB0aGlzLmludGVybmFscyk7XG4gICAgaWYgKEN1c3RvbVN0YXRlU2V0UG9seWZpbGwpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLmludGVybmFscywgJ3N0YXRlcycsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBDdXN0b21TdGF0ZVNldFBvbHlmaWxsKHRoaXMpLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIHVzZSB0aGUgQ3VzdG9tU3RhdGVTZXQgcG9seWZpbGwgaW4gU1NSLCB3aGljaCByZW5kZXJzIHRoZSBzdGF0ZSBhcyBhdHRyaWJ1dGVzXG4gICAgICAvLyB3aGljaCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gY2xpZW50IHNpZGUsIHdoZXJlIHdlIGNhbiB0aGVuIGNvbnZlcnQgW3N0YXRlLS0qXVxuICAgICAgLy8gYXR0cmlidXRlcyB0byBpbnRlcm5hbCBzdGF0ZS5cbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZmlsdGVyKChuKSA9PiBuLnN0YXJ0c1dpdGgoJ3N0YXRlLS0nKSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lLnNsaWNlKDcpKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvbGUgPSAodGhpcy5jb25zdHJ1Y3RvciBhcyBTYmJFbGVtZW50Q29uc3RydWN0b3IpLnJvbGU7XG4gICAgaWYgKHJvbGUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSByb2xlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgIC8vIGlzIGF2YWlsYWJsZSBkdXJpbmcgY29uc3RydWN0aW9uL3VwZ3JhZGUgcGhhc2UuXG4gICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSAhIXRoaXMuc2hhZG93Um9vdDtcbiAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAvLyBjYW4gY2F1c2UgcmVuZGVyIGRpZmZlcmVuY2VzLCB3aGljaCB3b3VsZCBicmVhayBoeWRyYXRpb24uIEFmdGVyXG4gICAgICAvLyBoeWRyYXRpb24gaXMgY29tcGxldGUsIHdlIGRpc3BhdGNoIGEgbWFudWFsIHNsb3RjaGFuZ2UgZXZlbnQsIGlmIHRoZXJlXG4gICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgY29uc3Qgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgY29uc3Qgc2xvdHMgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3Nsb3QnKTtcbiAgICAgIGlmIChzbG90cz8ubGVuZ3RoKSB7XG4gICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgc2xvdC5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgc3VwcHJlc3NTbG90Y2hhbmdlRXZlbnQsIGV2ZW50T3B0aW9ucyksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+IHtcbiAgICAgICAgICAgIHNsb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgaW4gdGhlIGdsb2JhbCBDdXN0b21FbGVtZW50UmVnaXN0cnkuICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbGVtZW50TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHN0YXRpYyBwcm9wZXJ0eSBcImVsZW1lbnROYW1lXCIgaXMgbm90IGRlZmluZWQgb24gJHt0aGlzLm5hbWV9LiBQbGVhc2UgZGVmaW5lIGl0IHRvIHJlZ2lzdGVyIHRoZSBjdXN0b20gZWxlbWVudC5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSBjdXN0b21FbGVtZW50cy5nZXQodGhpcy5lbGVtZW50TmFtZSk7XG4gICAgaWYgKCFlbGVtZW50Q2xhc3MpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcblxuICAgICAgY29uc3QgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgICBsZXQgY3RvcjogU2JiRWxlbWVudFR5cGUgPSB0aGlzO1xuICAgICAgd2hpbGUgKGN0b3JbJ18kc2JiRWxlbWVudCQnXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpKSB7XG4gICAgICAgICAgZWxlbWVudERlcGVuZGVuY2llcy5wdXNoKC4uLmN0b3IuZWxlbWVudERlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cbiAgICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKTtcbiAgICAgIH1cbiAgICAgIG5ldyBTZXQoZWxlbWVudERlcGVuZGVuY2llcykuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4gZGVwZW5kZW5jeS5kZWZpbmUoKSk7XG4gICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGVsZW1lbnRDbGFzcyAhPT0gdGhpcykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIGN1c3RvbSBlbGVtZW50IHdpdGggbmFtZSBcIiR7dGhpcy5lbGVtZW50TmFtZX1cIiBpcyBhbHJlYWR5IGRlZmluZWQuIFNraXBwaW5nLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBgc3R5bGVzYCBmcm9tIGV2ZXJ5IGNsYXNzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4gKHVzaW5nIGBPYmplY3QuaGFzT3duYClcbiAgICogYW5kIG1lcmdlcyB0aGVtIGluIHRvcC1kb3duIG9yZGVyLiBUaGlzIG1lYW5zIGVhY2ggY2xhc3MvbWl4aW4gb25seSBuZWVkcyB0byBkZWNsYXJlXG4gICAqIGl0cyAqKm93bioqIHN0eWxlcyDigJQgdGhlcmUgaXMgbm8gbmVlZCB0byByZWZlcmVuY2UgYHN1cGVyLnN0eWxlc2AuXG4gICAqXG4gICAqIExpdCdzIGRlZmF1bHQgYmVoYXZpb3VyIGFscmVhZHkgd2Fsa3MgdGhlIGNoYWluLCBidXQgZmFpbHMgZm9yIG1peGlucyB3aGVyZVxuICAgKiBgc3VwZXIuc3R5bGVzYCByZXNvbHZlcyB0byB0aGUgd3JvbmcgY2xhc3MuIFRoaXMgb3ZlcnJpZGUgZml4ZXMgdGhhdC5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgb3ZlcnJpZGUgZmluYWxpemVTdHlsZXMoX3N0eWxlczogQ1NTUmVzdWx0R3JvdXApOiBDU1NSZXN1bHRPck5hdGl2ZVtdIHtcbiAgICBjb25zdCBjb2xsZWN0ZWQ6IENTU1Jlc3VsdEdyb3VwW10gPSBbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgY3RvcjogdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsID0gdGhpcztcbiAgICB3aGlsZSAoY3RvciAmJiBjdG9yICE9PSBMaXRFbGVtZW50KSB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihjdG9yLCAnc3R5bGVzJykgJiYgY3Rvci5zdHlsZXMpIHtcbiAgICAgICAgY29sbGVjdGVkLnVuc2hpZnQoY3Rvci5zdHlsZXMpO1xuICAgICAgfVxuICAgICAgY3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdG9yKSBhcyB0eXBlb2YgU2JiRWxlbWVudCB8IG51bGw7XG4gICAgfVxuICAgIC8vIENhbGwgTGl0RWxlbWVudC5maW5hbGl6ZVN0eWxlcyB3aGljaCBoYW5kbGVzIGRlZHVwICYgYWRvcHRpb25cbiAgICByZXR1cm4gc3VwZXIuZmluYWxpemVTdHlsZXMoY29sbGVjdGVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVSZW5kZXJSb290KCk6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB7XG4gICAgY29uc3Qgcm9vdCA9IHN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZSkgPT5cbiAgICAgIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3R0ZWRjaGFuZ2UnLCAoZSkgPT4gdGhpcy5fc2xvdGNoYW5nZUhhbmRsZXIoZSwgZS5zbG90KSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3RcbiAgICAgID8ucXVlcnlTZWxlY3RvckFsbD8uKCdzbG90JylcbiAgICAgIC5mb3JFYWNoKChzbG90KSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3QpKTtcblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gV2hlbiBoeWRyYXRpb24gaXMgbmVlZGVkLCB3ZSB3YWl0IHRoZSBoeWRyYXRpb24gcHJvY2VzcyB0byBmaW5pc2gsIHdoaWNoIGlzIHBhdGNoZWRcbiAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVN0YXRlKHZhbHVlOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmb3JjZSB8fCAoZm9yY2UgIT09IGZhbHNlICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zbG90Y2hhbmdlSGFuZGxlcihldmVudDogRXZlbnQsIHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc29sdmVkU2xvdCA9IHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoc2xvdClcbiAgICAgID8gc2xvdFxuICAgICAgOiBldmVudFxuICAgICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAgIC5maW5kKFxuICAgICAgICAgICAgKGVsKTogZWwgaXMgSFRNTFNsb3RFbGVtZW50ID0+XG4gICAgICAgICAgICAgIGVsIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50ICYmIHRoaXMuc2hhZG93Um9vdCEuY29udGFpbnMoZWwpLFxuICAgICAgICAgICk7XG4gICAgaWYgKHJlc29sdmVkU2xvdCkge1xuICAgICAgdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShyZXNvbHZlZFNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgIGlmICghc2xvdC5uYW1lKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU5hbWUgPSBzbG90Lm5hbWUgPyBgc2xvdHRlZC0ke3Nsb3QubmFtZX1gIDogJ3Nsb3R0ZWQnO1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRDb250ZW50ID0gdGhpcy5faGFzU2xvdHRlZENvbnRlbnQoc2xvdCk7XG4gICAgaWYgKGhhc1Nsb3R0ZWRDb250ZW50ICYmICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9IGVsc2UgaWYgKCFoYXNTbG90dGVkQ29udGVudCAmJiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKHN0YXRlTmFtZSkpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoc3RhdGVOYW1lKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiU2xvdHRlZENoYW5nZUV2ZW50KHNsb3QpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlVGV4dE5vZGVzSW5TbG90KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3RleHRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIC8vIE9ubHkgY3JlYXRlIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoZW4gaXQgaXMgYWN0dWFsbHkgbmVlZGVkIHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLlxuICAgIHRoaXMuX3RleHRPYnNlcnZlciA/Pz0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3Qgc2xvdCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MU2xvdEVsZW1lbnQ+KCdzbG90Om5vdChbbmFtZV0pJyk7XG4gICAgICBpZiAoc2xvdCkge1xuICAgICAgICB0aGlzLl91cGRhdGVTbG90dGVkU3RhdGUoc2xvdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBUZXh0IG5vZGVzIGNhbiBiZSBlbXB0eSBhbmQgZmlsbGVkIGxhdGVyIChvciB2aWNlIHZlcnNhKS5cbiAgICAvLyBGaWxsaW5nIGFuIGV4aXN0aW5nIG5vZGUgbGF0ZXIgd291bGQgbm90IHRyaWdnZXIgYW5vdGhlciBzbG90Y2hhbmdlIGV2ZW50LlxuICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBvYnNlcnZlIHRleHQgbm9kZXMgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIGZpbGxlZCBvciBlbXB0eS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgdW5uYW1lZCBzbG90IGFzIGZvciBldmVyeSBvdGhlciB0aGVyZSB3b3VsZFxuICAgIC8vIGJlIGEgdGFnIHdoaWNoIHRyaWdnZXJzIHRoZSBzbG90IGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGUgbWFpbiByZWFzb24gaXMgdGhhdCBBbmd1bGFyIGNyZWF0ZXMgZW1wdHkgdGV4dCBub2RlcyBhbmQgZmlsbHMgdGhlbSBsYXRlci5cbiAgICBzbG90XG4gICAgICAuYXNzaWduZWROb2RlcygpXG4gICAgICAuZmlsdGVyKChuKSA9PiBuLm5vZGVUeXBlID09PSBuLlRFWFRfTk9ERSlcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB0aGlzLl90ZXh0T2JzZXJ2ZXIhLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzbG90Lm5hbWVcbiAgICAgID8gc2xvdFxuICAgICAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgICAgICAuc29tZSgobm9kZSkgPT4gIShub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50KSB8fCB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKSlcbiAgICAgIDogc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobm9kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBub2RlIGluc3RhbmNlb2YgSFRNTFNsb3RFbGVtZW50XG4gICAgICAgICAgICA/IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KG5vZGUpXG4gICAgICAgICAgICA6IG5vZGUubm9kZVR5cGUgIT09IG5vZGUuVEVYVF9OT0RFIHx8ICEhbm9kZS50ZXh0Q29udGVudD8udHJpbSgpO1xuICAgICAgICB9KTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBzbG90dGVkY2hhbmdlOiBTYmJTbG90dGVkQ2hhbmdlRXZlbnQ7XG4gIH1cbiAgaW50ZXJmYWNlIFNoYWRvd1Jvb3RFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FDbUJBLElBQU0seUJBQ0osWUFBWSxDQUFDLElBQUksU0FBUywyQkFBMkIsSUFDakQsTUFBTSx1QkFDSSxJQUFXO0NBS25CLFlBQTJCLE9BQWlCO0VBQzFDLE1BQUs7RUFEb0IsS0FBQSxRQUFBO0VBRm5CLEtBQUEsV0FBVztFQUlqQixLQUFLLE1BQU0sY0FBYyxJQUFJO0VBQzdCLElBQUksQ0FBQyxVQUdILFFBQVEsUUFBTyxFQUFHLFdBQVcsS0FBSyxhQUFZLENBQUU7Q0FFcEQ7Q0FFZ0IsSUFBSSxPQUFhO0VBQy9CLElBQUksS0FBSyxVQUNQLEtBQUssYUFBYSxPQUFPLElBQUk7RUFFL0IsT0FBTyxNQUFNLElBQUksS0FBSztDQUN4QjtDQUVnQixPQUFPLE9BQWE7RUFDbEMsS0FBSyxhQUFhLE9BQU8sS0FBSztFQUM5QixPQUFPLE1BQU0sT0FBTyxLQUFLO0NBQzNCO0NBRWdCLFFBQUs7RUFDbkIsS0FBSyxTQUFTLFVBQVUsS0FBSyxPQUFPLEtBQUssQ0FBQztDQUM1QztDQUVPLGdCQUFhO0VBQ2xCLEtBQUssYUFBWTtDQUNuQjtDQUVRLGFBQWEsT0FBZSxTQUFnQjtFQUNsRCxLQUFLLE1BQU0sZ0JBQWdCLFVBQVUsU0FBUyxPQUFPO0NBQ3ZEO0NBRVEsZUFBWTtFQUNsQixJQUFJLEtBQUssVUFDUDtFQUVGLEtBQUssV0FBVztFQUNoQixLQUFLLFNBQVMsVUFBVSxLQUFLLGFBQWEsT0FBTyxJQUFJLENBQUM7Q0FDeEQ7SUFFRjtBQUVOLElBQUksQ0FBQyxVQUFVO0NBRWIsSUFBSSxTQUFTO0NBQ2IsTUFBTSxlQUFlLFdBQ25C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
|
|
394
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgWydfJHNiYkVsZW1lbnQkJ10gPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0aWMgZWxlbWVudERlcGVuZGVuY2llcz86IFNiYkVsZW1lbnRUeXBlW107XG4gIHB1YmxpYyBzdGF0aWMgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsczogRWxlbWVudEludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbGxlcnM/OiBTZXQ8U2JiUmVhY3RpdmVDb250cm9sbGVyPjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlSHlkcmF0aW9uID0gcmVzb2x2ZSksXG4gICk7XG4gIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX3RleHRPYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25Db21wbGV0ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICBwcm90ZWN0ZWQgZ2V0IGh5ZHJhdGlvblJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgIGlmIChDdXN0b21TdGF0ZVNldFBvbHlmaWxsKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMsICdzdGF0ZXMnLCB7XG4gICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gd2hpY2ggY2FuIGJlIHRyYW5zZmVycmVkIHRvIGNsaWVudCBzaWRlLCB3aGVyZSB3ZSBjYW4gdGhlbiBjb252ZXJ0IFtzdGF0ZS0tKl1cbiAgICAgIC8vIGF0dHJpYnV0ZXMgdG8gaW50ZXJuYWwgc3RhdGUuXG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQobmFtZS5zbGljZSg3KSk7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb2xlID0gKHRoaXMuY29uc3RydWN0b3IgYXMgU2JiRWxlbWVudENvbnN0cnVjdG9yKS5yb2xlO1xuICAgIGlmIChyb2xlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gcm9sZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIGh5ZHJhdGlvbiBpcyBuZWVkZWQgYnkgY2hlY2tpbmcgd2hldGhlciB0aGUgc2hhZG93IHJvb3RcbiAgICAvLyBpcyBhdmFpbGFibGUgZHVyaW5nIGNvbnN0cnVjdGlvbi91cGdyYWRlIHBoYXNlLlxuICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgaWYgKCF0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIER1cmluZyBoeWRyYXRpb24gcGhhc2UsIHdlIHdhbnQgdG8gc3VwcHJlc3Mgc2xvdGNoYW5nZSBldmVudHMgYXMgdGhleVxuICAgICAgLy8gY2FuIGNhdXNlIHJlbmRlciBkaWZmZXJlbmNlcywgd2hpY2ggd291bGQgYnJlYWsgaHlkcmF0aW9uLiBBZnRlclxuICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgLy8gYXJlIGVsZW1lbnRzIGFzc2lnbmVkIHRvIGEgc2xvdC5cbiAgICAgIGNvbnN0IHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGV2ZW50T3B0aW9uczogRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7IGNhcHR1cmU6IHRydWUgfTtcbiAgICAgIGNvbnN0IHNsb3RzID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCdzbG90Jyk7XG4gICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PlxuICAgICAgICAgIHNsb3QuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT5cbiAgICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PiB7XG4gICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChzbG90LmFzc2lnbmVkTm9kZXMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICAgICAgICBzbG90LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzbG90Y2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgdGhlIGN1c3RvbSBlbGVtZW50IGluIHRoZSBnbG9iYWwgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LiAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudHMuZ2V0KHRoaXMuZWxlbWVudE5hbWUpO1xuICAgIGlmICghZWxlbWVudENsYXNzKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGhpcy5lbGVtZW50TmFtZSwgdGhpcyBhcyB1bmtub3duIGFzIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvcik7XG5cbiAgICAgIGNvbnN0IGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgbGV0IGN0b3I6IFNiYkVsZW1lbnRUeXBlID0gdGhpcztcbiAgICAgIHdoaWxlIChjdG9yWydfJHNiYkVsZW1lbnQkJ10pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3Rvci5lbGVtZW50RGVwZW5kZW5jaWVzKSkge1xuICAgICAgICAgIGVsZW1lbnREZXBlbmRlbmNpZXMucHVzaCguLi5jdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpO1xuICAgICAgICB9XG4gICAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3Rvcik7XG4gICAgICB9XG4gICAgICBuZXcgU2V0KGVsZW1lbnREZXBlbmRlbmNpZXMpLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGRlcGVuZGVuY3kuZGVmaW5lKCkpO1xuICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBlbGVtZW50Q2xhc3MgIT09IHRoaXMpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFRoZSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgXCIke3RoaXMuZWxlbWVudE5hbWV9XCIgaXMgYWxyZWFkeSBkZWZpbmVkLiBTa2lwcGluZy5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYHN0eWxlc2AgZnJvbSBldmVyeSBjbGFzcyBpbiB0aGUgcHJvdG90eXBlIGNoYWluICh1c2luZyBgT2JqZWN0Lmhhc093bmApXG4gICAqIGFuZCBtZXJnZXMgdGhlbSBpbiB0b3AtZG93biBvcmRlci4gVGhpcyBtZWFucyBlYWNoIGNsYXNzL21peGluIG9ubHkgbmVlZHMgdG8gZGVjbGFyZVxuICAgKiBpdHMgKipvd24qKiBzdHlsZXMg4oCUIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVmZXJlbmNlIGBzdXBlci5zdHlsZXNgLlxuICAgKlxuICAgKiBMaXQncyBkZWZhdWx0IGJlaGF2aW91ciBhbHJlYWR5IHdhbGtzIHRoZSBjaGFpbiwgYnV0IGZhaWxzIGZvciBtaXhpbnMgd2hlcmVcbiAgICogYHN1cGVyLnN0eWxlc2AgcmVzb2x2ZXMgdG8gdGhlIHdyb25nIGNsYXNzLiBUaGlzIG92ZXJyaWRlIGZpeGVzIHRoYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIG92ZXJyaWRlIGZpbmFsaXplU3R5bGVzKF9zdHlsZXM6IENTU1Jlc3VsdEdyb3VwKTogQ1NTUmVzdWx0T3JOYXRpdmVbXSB7XG4gICAgY29uc3QgY29sbGVjdGVkOiBDU1NSZXN1bHRHcm91cFtdID0gW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgbGV0IGN0b3I6IHR5cGVvZiBTYmJFbGVtZW50IHwgbnVsbCA9IHRoaXM7XG4gICAgd2hpbGUgKGN0b3IgJiYgY3RvciAhPT0gTGl0RWxlbWVudCkge1xuICAgICAgaWYgKE9iamVjdC5oYXNPd24oY3RvciwgJ3N0eWxlcycpICYmIGN0b3Iuc3R5bGVzKSB7XG4gICAgICAgIGNvbGxlY3RlZC51bnNoaWZ0KGN0b3Iuc3R5bGVzKTtcbiAgICAgIH1cbiAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3RvcikgYXMgdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsO1xuICAgIH1cbiAgICAvLyBDYWxsIExpdEVsZW1lbnQuZmluYWxpemVTdHlsZXMgd2hpY2ggaGFuZGxlcyBkZWR1cCAmIGFkb3B0aW9uXG4gICAgcmV0dXJuIHN1cGVyLmZpbmFsaXplU3R5bGVzKGNvbGxlY3RlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGUpID0+XG4gICAgICB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcihlLCBlLnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLFxuICAgICk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90dGVkY2hhbmdlJywgKGUpID0+IHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUuc2xvdCksIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5zaGFkb3dSb290XG4gICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2xvdCcpXG4gICAgICAuZm9yRWFjaCgoc2xvdCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShzbG90KSk7XG5cbiAgICByZXR1cm4gcm9vdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZWxlbWVudCdzIHJlYWN0aXZlXG4gICAqIHVwZGF0ZSBjeWNsZS4gVGhlIGVsZW1lbnQgYXV0b21hdGljYWxseSBjYWxscyBpbnRvIGFueSByZWdpc3RlcmVkXG4gICAqIGNvbnRyb2xsZXJzIGR1cmluZyBpdHMgbGlmZWN5Y2xlIGNhbGxiYWNrcy5cbiAgICpcbiAgICogSWYgdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkIHdoZW4gYGFkZENvbnRyb2xsZXIoKWAgaXMgY2FsbGVkLCB0aGVcbiAgICogY29udHJvbGxlcidzIGBob3N0Q29ubmVjdGVkKClgIGNhbGxiYWNrIHdpbGwgYmUgaW1tZWRpYXRlbHkgY2FsbGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAodGhpcy5fY29udHJvbGxlcnMgPz89IG5ldyBTZXQoKSkuYWRkKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCBmcm9tIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICB0aGlzLl9jb250cm9sbGVycz8uZGVsZXRlKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSB3aGljaCBpcyBwcm9jZXNzZWQgYXN5bmNocm9ub3VzbHkuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZFxuICAgKiB3aGVuIGFuIGVsZW1lbnQgc2hvdWxkIHVwZGF0ZSBiYXNlZCBvbiBzb21lIHN0YXRlIG5vdCB0cmlnZ2VyZWQgYnkgc2V0dGluZ1xuICAgKiBhIHJlYWN0aXZlIHByb3BlcnR5LiBJbiB0aGlzIGNhc2UsIHBhc3Mgbm8gYXJndW1lbnRzLiBJdCBzaG91bGQgYWxzbyBiZVxuICAgKiBjYWxsZWQgd2hlbiBtYW51YWxseSBpbXBsZW1lbnRpbmcgYSBwcm9wZXJ0eSBzZXR0ZXIuIEluIHRoaXMgY2FzZSwgcGFzcyB0aGVcbiAgICogcHJvcGVydHkgYG5hbWVgIGFuZCBgb2xkVmFsdWVgIHRvIGVuc3VyZSB0aGF0IGFueSBjb25maWd1cmVkIHByb3BlcnR5XG4gICAqIG9wdGlvbnMgYXJlIGhvbm9yZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb2xkVmFsdWUgb2xkIHZhbHVlIG9mIHJlcXVlc3RpbmcgcHJvcGVydHlcbiAgICogQHBhcmFtIG9wdGlvbnMgcHJvcGVydHkgb3B0aW9ucyB0byB1c2UgaW5zdGVhZCBvZiB0aGUgcHJldmlvdXNseVxuICAgKiAgICAgY29uZmlndXJlZCBvcHRpb25zXG4gICAqIEBwYXJhbSB1c2VOZXdWYWx1ZSBpZiB0cnVlLCB0aGUgbmV3VmFsdWUgYXJndW1lbnQgaXMgdXNlZCBpbnN0ZWFkIG9mXG4gICAqICAgICByZWFkaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gdXNlIGlmIHRoZSByZWFjdGl2ZVxuICAgKiAgICAgcHJvcGVydHkgaXMgYSBzdGFuZGFyZCBwcml2YXRlIGFjY2Vzc29yLCBhcyBvcHBvc2VkIHRvIGEgcGxhaW5cbiAgICogICAgIHByb3BlcnR5LCBzaW5jZSBwcml2YXRlIG1lbWJlcnMgY2FuJ3QgYmUgZHluYW1pY2FsbHkgcmVhZCBieSBuYW1lLlxuICAgKiBAcGFyYW0gbmV3VmFsdWUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgcHJvcGVydHkuIFRoaXMgaXMgb25seSB1c2VkIGlmXG4gICAqICAgICBgdXNlTmV3VmFsdWVgIGlzIHRydWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgIHVzZU5ld1ZhbHVlPzogYm9vbGVhbixcbiAgICBuZXdWYWx1ZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMsIHVzZU5ld1ZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlczogU2JiUHJvcGVydHlWYWx1ZXMgPSB7XG4gICAgICAgIG9sZFZhbHVlLFxuICAgICAgICB2YWx1ZTogdXNlTmV3VmFsdWUgPyBuZXdWYWx1ZSA6IHRoaXNbbmFtZSBhcyBrZXlvZiB0aGlzXSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9jb250cm9sbGVycz8uZm9yRWFjaCgoY29udHJvbGxlcikgPT5cbiAgICAgICAgY29udHJvbGxlci5ob3N0UHJvcGVydHlVcGRhdGU/LihuYW1lLCB2YWx1ZXMsIG9wdGlvbnMpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgLy8gaW50byB0aGUgdXBkYXRlIG1ldGhvZCBvZiB0aGUgTGl0RWxlbWVudCBiYXNlIGNsYXNzLlxuICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVTdGF0ZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyh2YWx1ZSkpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50LCBzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXNvbHZlZFNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKHNsb3QpXG4gICAgICA/IHNsb3RcbiAgICAgIDogZXZlbnRcbiAgICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIChlbCk6IGVsIGlzIEhUTUxTbG90RWxlbWVudCA9PlxuICAgICAgICAgICAgICBlbCBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCAmJiB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKGVsKSxcbiAgICAgICAgICApO1xuICAgIGlmIChyZXNvbHZlZFNsb3QpIHtcbiAgICAgIHRoaXMuX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUocmVzb2x2ZWRTbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90KTtcbiAgICBpZiAoIXNsb3QubmFtZSkge1xuICAgICAgdGhpcy5fb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOYW1lID0gc2xvdC5uYW1lID8gYHNsb3R0ZWQtJHtzbG90Lm5hbWV9YCA6ICdzbG90dGVkJztcbiAgICBjb25zdCBoYXNTbG90dGVkQ29udGVudCA9IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3QpO1xuICAgIGlmIChoYXNTbG90dGVkQ29udGVudCAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfSBlbHNlIGlmICghaGFzU2xvdHRlZENvbnRlbnQgJiYgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgTXV0YXRpb25PYnNlcnZlciB3aGVuIGl0IGlzIGFjdHVhbGx5IG5lZWRlZCB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZS5cbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIgPz89IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTFNsb3RFbGVtZW50Pignc2xvdDpub3QoW25hbWVdKScpO1xuICAgICAgaWYgKHNsb3QpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdGV4dE9ic2VydmVyIS5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gVGV4dCBub2RlcyBjYW4gYmUgZW1wdHkgYW5kIGZpbGxlZCBsYXRlciAob3IgdmljZSB2ZXJzYSkuXG4gICAgLy8gRmlsbGluZyBhbiBleGlzdGluZyBub2RlIGxhdGVyIHdvdWxkIG5vdCB0cmlnZ2VyIGFub3RoZXIgc2xvdGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gb2JzZXJ2ZSB0ZXh0IG5vZGVzIGFuZCBjaGVjayBpZiB0aGV5IGJlY29tZSBmaWxsZWQgb3IgZW1wdHkuXG4gICAgLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlIHVubmFtZWQgc2xvdCBhcyBmb3IgZXZlcnkgb3RoZXIgdGhlcmUgd291bGRcbiAgICAvLyBiZSBhIHRhZyB3aGljaCB0cmlnZ2VycyB0aGUgc2xvdCBjaGFuZ2UgZXZlbnQuXG4gICAgLy8gVGhlIG1haW4gcmVhc29uIGlzIHRoYXQgQW5ndWxhciBjcmVhdGVzIGVtcHR5IHRleHQgbm9kZXMgYW5kIGZpbGxzIHRoZW0gbGF0ZXIuXG4gICAgc2xvdFxuICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5fdGV4dE9ic2VydmVyIS5vYnNlcnZlKG5vZGUsIHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNTbG90dGVkQ29udGVudChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2xvdC5uYW1lXG4gICAgICA/IHNsb3RcbiAgICAgICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgICAgLnNvbWUoKG5vZGUpID0+ICEobm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCkgfHwgdGhpcy5faGFzU2xvdHRlZENvbnRlbnQobm9kZSkpXG4gICAgICA6IHNsb3QuYXNzaWduZWROb2RlcygpLnNvbWUoKG5vZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudFxuICAgICAgICAgICAgPyB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKVxuICAgICAgICAgICAgOiBub2RlLm5vZGVUeXBlICE9PSBub2RlLlRFWFRfTk9ERSB8fCAhIW5vZGUudGV4dENvbnRlbnQ/LnRyaW0oKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG4gIGludGVyZmFjZSBTaGFkb3dSb290RXZlbnRNYXAge1xuICAgIHNsb3R0ZWRjaGFuZ2U6IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQ21CQSxJQUFNLHlCQUNKLFlBQVksQ0FBQyxJQUFJLFNBQVMsMkJBQTJCLElBQ2pELE1BQU0sdUJBQ0ksSUFBVztDQUtuQixZQUEyQixPQUFpQjtFQUMxQyxNQUFLO0VBRG9CLEtBQUEsUUFBQTtFQUZuQixLQUFBLFdBQVc7RUFJakIsS0FBSyxNQUFNLGNBQWMsSUFBSTtFQUM3QixJQUFJLENBQUMsVUFHSCxRQUFRLFFBQU8sRUFBRyxXQUFXLEtBQUssYUFBWSxDQUFFO0NBRXBEO0NBRWdCLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxJQUFJO0VBRS9CLE9BQU8sTUFBTSxJQUFJLEtBQUs7Q0FDeEI7Q0FFZ0IsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLEtBQUs7RUFDOUIsT0FBTyxNQUFNLE9BQU8sS0FBSztDQUMzQjtDQUVnQixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxLQUFLLENBQUM7Q0FDNUM7Q0FFTyxnQkFBYTtFQUNsQixLQUFLLGFBQVk7Q0FDbkI7Q0FFUSxhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsT0FBTztDQUN2RDtDQUVRLGVBQVk7RUFDbEIsSUFBSSxLQUFLLFVBQ1A7RUFFRixLQUFLLFdBQVc7RUFDaEIsS0FBSyxTQUFTLFVBQVUsS0FBSyxhQUFhLE9BQU8sSUFBSSxDQUFDO0NBQ3hEO0lBRUY7QUFFTixJQUFJLENBQUMsVUFBVTtDQUViLElBQUksU0FBUztDQUNiLE1BQU0sZUFBZSxXQUNuQixPQUFPLFlBQVksU0FDbEIsa0JBQWtCLFVBQ2YsZ0JBQ007RUFDSixNQUFNLElBQUksTUFBTSw4REFBOEQ7Q0FDaEYsR0FBRTtDQUNSLE1BQU0sa0JBQXdDO0VBQUUsWUFBWTtFQUFNLGlCQUFpQixDQUFDLElBQUk7Q0FBQztDQUN6RixNQUFNLGlCQUNKLE1BQ0EsV0FDQSxhQUNRO0VBR1IsTUFBTSxnQkFBZ0IsU0FBUyxRQUFRLFNBQVMsU0FBUyxpQkFBaUI7RUFDMUUsS0FBSyxhQUFhLFdBQVksY0FBYyxPQUFPLFlBQVksVUFBVztDQUM1RTtDQUNBLE1BQU0sa0JBQ0osTUFDQSxXQUNBLGFBQ1E7RUFHUixLQUFLLGFBQ0gsV0FDQSxPQUFPLE9BQU8sUUFBUSxFQUNuQixRQUFRLFNBQVMsU0FBUyxRQUFRLE9BQU8sSUFBSSxDQUFDLEVBQzlDLFFBQVEsR0FBRyxHQUFHLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ3RDLEtBQUssTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLFlBQVksV0FBVyxFQUNsRCxLQUFLLEdBQUcsQ0FBQztDQUVoQjtDQUVBLEtBQUssTUFBTSxRQUFRLENBQUMsa0JBQWtCLE9BQU8sR0FBRztFQUM5QyxNQUFNLFlBQVksS0FBSztFQUN2QixJQUFJLEVBQUUsaUNBQWlDLFlBQVk7R0FDakQsTUFBTSxZQUFZO0dBQ2xCLE1BQU0sMEJBQVUsSUFBSSxRQUFPO0dBSTNCLE9BQU8sZUFBZSxXQUFXLCtCQUErQjtJQUM5RCxZQUFZO0lBQ1osY0FBYztJQUNkLE1BQUc7S0FDRCxNQUFNLE9BQU8sWUFBWSxJQUFJO0tBQzdCLE1BQU0sS0FBSyxLQUFLLGFBQWEsU0FBUyxHQUFHLE1BQU0sS0FBSyxFQUFFLE1BQU07S0FDNUQsT0FBTyxLQUNELEtBQUssWUFBVyxFQUE2QixpQkFBaUIsRUFBRSxLQUFLLE9BQ3ZFO0lBQ047SUFDQSxJQUFzQyxPQUFxQjtLQUN6RCxJQUFJLFVBQVUsUUFBUSxFQUFFLGlCQUFpQixVQUN2QyxNQUFNLElBQUksVUFDUixnRUFBZ0UsS0FBSyxLQUFJLHlDQUEwQztLQUl2SCxNQUFNLE9BQU8sWUFBWSxJQUFJO0tBQzdCLE1BQU0sUUFBUSxRQUFRLElBQUksSUFBSTtLQUM5QixPQUFPLFVBQVUsV0FBVTtLQUMzQixJQUFJLFVBQVU7VUFDUixPQUFPO09BQ1QsT0FBTyxNQUFNLFNBQVMsS0FBSztPQUMzQixJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxRQUFRO1FBQzlCLFFBQVEsT0FBTyxJQUFJO1FBQ25CLEtBQUssZ0JBQWdCLFNBQVM7T0FDaEMsT0FDRSxNQUFNLFNBQVMsUUFBUSxPQUFPLE9BQU8sTUFBTSxRQUFRLEVBQUUsSUFBSSxlQUFlO01BRTVFO1lBQ0ssSUFBSSxDQUFDLE9BQU87TUFDakIsTUFBTSxXQUFvQyxHQUFHLEtBQUssT0FBTyxNQUFLO01BQzlELGNBQWMsTUFBTSxXQUFXLFFBQVE7TUFDdkMsTUFBTSxXQUFXLElBQUksdUJBQXVCLGNBQWMsTUFBTSxXQUFXLFFBQVEsQ0FBQztNQUNwRixTQUFTLFFBQVEsT0FBTyxlQUFlO01BQ3ZDLFFBQVEsSUFBSSxNQUFNO09BQUU7T0FBVTtNQUFRLENBQUU7S0FDMUMsT0FBTztNQUNMLE1BQU0sU0FBUyxLQUFLLFFBQVE7TUFDNUIsY0FBYyxNQUFNLFdBQVcsTUFBTSxRQUFRO01BQzdDLE9BQU8sT0FBTyxNQUFNLFFBQVEsRUFBRSxTQUFTLE1BQ3JDLE1BQU0sU0FBUyxRQUFRLEdBQUcsZUFBZSxDQUFDO0tBRTlDO0lBQ0Y7SUFDRDtFQUNIO0VBRUEsS0FBSyxNQUFNLFlBQVk7R0FDckI7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0tBRUEsSUFBSSxFQUFFLFlBQVksWUFBWTtHQUM1QixNQUFNLDBCQUFVLElBQUksUUFBTztHQUkzQixNQUFNLFlBQVksUUFBUSxTQUFTLE1BQU0sR0FBRyxFQUFFLEVBQUUsWUFBVztHQUMzRCxPQUFPLGVBQWUsV0FBVyxVQUFVO0lBQ3pDLFlBQVk7SUFDWixjQUFjO0lBQ2QsTUFBRztLQUNELE1BQU0sT0FBTyxZQUFZLElBQUk7S0FDN0IsTUFBTSxXQUFXLEtBQ2QsYUFBYSxTQUFTLEdBQ3JCLE1BQU0sS0FBSyxFQUNaLFFBQVEsR0FBRyxHQUFHLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ3RDLEtBQUssT0FBUSxLQUFLLFlBQVcsRUFBNkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUM5RSxRQUFRLE1BQU0sYUFBYSxPQUFPO0tBQ3JDLE9BQU8sVUFBVSxTQUFTLE9BQU8sT0FBTyxRQUFRLElBQUk7SUFDdEQ7SUFDQSxJQUFzQyxPQUFnQjtLQUNwRCxJQUNFLFVBQVUsU0FDVCxDQUFDLE1BQU0sUUFBUSxLQUFLLEtBQUssTUFBTSxNQUFNLFlBQVksRUFBRSxtQkFBbUIsUUFBUSxJQUUvRSxNQUFNLElBQUksVUFDUixzQkFBc0IsU0FBUSxpQkFBa0IsS0FBSyxLQUFJLHlDQUEwQztLQUl2RyxNQUFNLE9BQU8sWUFBWSxJQUFJO0tBQzdCLFFBQVEsT0FBTyxRQUFRLEdBQUcsR0FBRyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLO0tBQzFELE1BQU0sUUFBUSxRQUFRLElBQUksSUFBSTtLQUM5QixPQUFPLFVBQVUsV0FBVTtLQUMzQixJQUFJLFVBQVU7VUFDUixPQUFPO09BQ1QsT0FBTyxNQUFNLFNBQVMsS0FBSztPQUMzQixJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sUUFBUSxFQUFFLFFBQy9CLFFBQVEsT0FBTyxJQUFJO1lBRW5CLE9BQU8sT0FBTyxNQUFNLFFBQVEsRUFDekIsUUFBUSxTQUFTLFNBQVMsUUFBUSxPQUFPLElBQUksQ0FBQyxFQUM5QyxTQUFTLE1BQU0sTUFBTSxTQUFTLFFBQVEsR0FBRyxlQUFlLENBQUM7TUFFaEU7WUFDSyxJQUFJLENBQUMsT0FBTztNQUNqQixNQUFNLFdBQXNDLEdBQUcsS0FBSyxPQUFPLE1BQUs7TUFDaEUsZUFBZSxNQUFNLFdBQVcsUUFBUTtNQUN4QyxNQUFNLFdBQVcsSUFBSSx1QkFDbkIsZUFBZSxNQUFNLFdBQVcsUUFBUSxDQUFDO01BRTNDLE1BQU0sU0FBUyxZQUFZLFNBQVMsUUFBUSxTQUFTLGVBQWUsQ0FBQztNQUNyRSxRQUFRLElBQUksTUFBTTtPQUFFO09BQVU7TUFBUSxDQUFFO0tBQzFDLE9BQU87TUFDTCxNQUFNLFNBQVMsS0FBSyxRQUFRO01BQzVCLGVBQWUsTUFBTSxXQUFXLE1BQU0sUUFBUTtNQUM5QyxPQUFPLE9BQU8sTUFBTSxRQUFRLEVBQ3pCLFFBQVEsU0FBUyxTQUFTLFFBQVEsT0FBTyxJQUFJLENBQUMsRUFDOUMsU0FBUyxNQUFNLE1BQU0sU0FBUyxRQUFRLEdBQUcsZUFBZSxDQUFDO0tBQzlEO0lBQ0Y7SUFDRDtFQUNIO0NBRUo7QUFDRjtBQUVBLElBQU0sMkNBQTJCLElBQUksUUFBTztBQWdCNUMsU0FBZ0IsaUJBQWlCLFNBQW1DO0NBQ2xFLElBQUksQ0FBQyxTQUNILE9BQU87Q0FFVCxNQUFNLFNBQVMseUJBQXlCLElBQUksT0FBTyxHQUFHO0NBQ3RELE1BQU0sU0FBdUMsU0FBb0MsT0FBTyxPQUFLO0VBQzNGLElBQUksU0FBVSxVQUFVLFNBQVMsQ0FBQyxLQUFLLElBQUksS0FBSyxHQUM5QyxLQUFLLElBQUksS0FBSztPQUVkLEtBQUssT0FBTyxLQUFLO0NBRXJCO0NBQ0EsSUFBSSxRQUNGLE9BQU87RUFDTCxJQUFJLE9BQUs7R0FDUCxPQUFPLElBQUksS0FBSztHQUNoQixPQUFPO0VBQ1Q7RUFDQSxTQUFTLFVBQVUsT0FBTyxPQUFPLEtBQUs7RUFDdEMsTUFBTSxVQUFVLE9BQU8sSUFBSSxLQUFLO0VBQ2hDOztNQUlGLE9BQU87RUFDTCxJQUFJLE9BQUs7R0FDUCxRQUFRLGdCQUFnQixVQUFVLFNBQVMsSUFBSTtHQUMvQyxPQUFPO0VBQ1Q7RUFDQSxTQUFTLFVBQVUsUUFBUSxnQkFBZ0IsVUFBVSxTQUFTLEtBQUs7RUFDbkUsTUFBTSxVQUFVLFFBQVEsYUFBYSxVQUFVLE9BQU87RUFDdEQ7O0FBR047QUFFQSxJQUFhLHdCQUFiLGNBQTJDLE1BQUs7Q0FDOUMsWUFBbUMsTUFBcUI7RUFDdEQsTUFBTSxpQkFBaUIsRUFBRSxVQUFVLEtBQUksQ0FBRTtFQURSLEtBQUEsT0FBQTtDQUVuQzs7Ozs7O0FBb0JGLElBQWEsc0JBQ1gsV0FDQSxHQUFHLGdCQUNpQjtDQUNwQixNQUFNLFdBQVcsWUFBWSxRQUFRLE1BQW9CLENBQUMsQ0FBQyxDQUFDO0NBQzVELE9BQU8sV0FBVyxTQUFTLFVBQVUsT0FBTyxRQUFRLElBQUksWUFBWSxTQUFTLFdBQVc7QUFDMUY7Ozs7O0FBTUEsSUFBYSxzQkFDWCxXQUNBLEdBQUcsc0JBQ2lCO0NBQ3BCLG9CQUFvQixrQkFBa0IsUUFBUSxNQUFNLENBQUMsQ0FBQyxDQUFDO0NBQ3ZELE1BQU0sV0FBVyxXQUFXLFFBQVEsTUFBTSxDQUFDLGtCQUFrQixTQUFTLENBQUMsQ0FBQyxLQUFLO0NBQzdFLE9BQU8sVUFBVSxTQUFTLFdBQVc7QUFDdkM7Ozs7O0FBYUEsSUFBYSxhQUFiLGNBQWdDLFdBQVU7O0VBQzFCLEtBQUMsbUJBQW1CO0NBQUs7O0VBSWhCLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGVBQUssQ0FBQztDQUFFOzs7Ozs7Ozs7Q0FxQm5FLElBQVcsb0JBQWlCO0VBQzFCLE9BQU8sS0FBSztDQUNkOztDQUdBLElBQWMsb0JBQWlCO0VBQzdCLE9BQU8sS0FBSztDQUNkO0NBRUEsY0FBQTtFQUNFLE1BQUs7O0VBNUJZLEtBQUEsWUFBOEIsS0FBSyxnQkFBZTtFQUk3RCxLQUFBLHFCQUFxQixJQUFJLFNBQzlCLFlBQWEsS0FBSyxvQkFBb0IsT0FBUTtFQXdCL0MseUJBQXlCLElBQUksTUFBTSxLQUFLLFNBQVM7RUFDakQsSUFBSSx3QkFDRixPQUFPLGVBQWUsS0FBSyxXQUFXLFVBQVU7R0FDOUMsT0FBTyxJQUFJLHVCQUF1QixJQUFJO0dBQ3RDLFVBQVU7R0FDVixjQUFjO0dBQ2QsWUFBWTtHQUNiO09BS0QsS0FBSyxNQUFNLFFBQVEsS0FBSyxrQkFBaUIsRUFBRyxRQUFRLE1BQU0sRUFBRSxXQUFXLFNBQVMsQ0FBQyxHQUFHO0dBQ2xGLEtBQUssVUFBVSxPQUFPLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztHQUN2QyxLQUFLLGdCQUFnQixJQUFJO0VBQzNCO0VBRUYsTUFBTSxPQUFRLEtBQUssWUFBc0M7RUFDekQsSUFBSSxNQUNGLEtBQUssVUFBVSxPQUFPO0VBS3hCLEtBQUsscUJBQXFCLENBQUMsQ0FBQyxLQUFLO0VBQ2pDLElBQUksQ0FBQyxLQUFLLG9CQUNSLEtBQUssa0JBQWtCLEtBQUs7T0FDdkI7R0FLTCxNQUFNLDJCQUEyQixVQUFzQjtJQUNyRCxJQUFJLEtBQUssb0JBQ1AsTUFBTSx5QkFBd0I7R0FFbEM7R0FDQSxNQUFNLGVBQXFDLEVBQUUsU0FBUyxLQUFJO0dBQzFELE1BQU0sUUFBUSxLQUFLLFlBQVksaUJBQWlCLE1BQU07R0FDdEQsSUFBSSxPQUFPLFFBQVE7SUFDakIsTUFBTSxTQUFTLFNBQ2IsS0FBSyxpQkFBaUIsY0FBYyx5QkFBeUIsWUFBWSxDQUFDO0lBRTVFLEtBQUssa0JBQWtCLFdBQ3JCLE1BQU0sU0FBUyxTQUFRO0tBQ3JCLEtBQUssb0JBQW9CLGNBQWMseUJBQXlCLFlBQVk7S0FDNUUsSUFBSSxLQUFLLGNBQWEsRUFBRzs7S0FFdkIsS0FBSyxjQUFjLElBQUksTUFBTSxjQUFjLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQztJQUVqRSxDQUFDLENBQUM7R0FFTjtFQUNGO0NBQ0Y7O0NBR08sT0FBTyxTQUFNO0VBQ2xCLElBQUksQ0FBQyxLQUFLLGFBQ1IsTUFBTSxJQUFJLE1BQ1IsdURBQXVELEtBQUssS0FBSSxtREFBb0Q7RUFLeEgsSUFBSSxDQURpQixlQUFlLElBQUksS0FBSyxXQUN4QyxHQUFjO0dBQ2pCLGVBQWUsT0FBTyxLQUFLLGFBQWEsSUFBMkM7R0FFbkYsTUFBTSxzQkFBd0MsQ0FBQTtHQUU5QyxJQUFJLE9BQXVCO0dBQzNCLE9BQU8sS0FBSyxrQkFBa0I7SUFDNUIsSUFBSSxNQUFNLFFBQVEsS0FBSyxtQkFBbUIsR0FDeEMsb0JBQW9CLEtBQUssR0FBRyxLQUFLLG1CQUFtQjtJQUV0RCxPQUFPLE9BQU8sZUFBZSxJQUFJO0dBQ25DO0dBQ0EsSUFBSSxJQUFJLG1CQUFtQixFQUFFLFNBQVMsZUFBZSxXQUFXLE9BQU0sQ0FBRTtFQUMxRTtDQUtGOzs7Ozs7Ozs7Q0FVVSxPQUFnQixlQUFlLFNBQXVCO0VBQzlELE1BQU0sWUFBOEIsQ0FBQTtFQUVwQyxJQUFJLE9BQWlDO0VBQ3JDLE9BQU8sUUFBUSxTQUFTLFlBQVk7R0FDbEMsSUFBSSxPQUFPLE9BQU8sTUFBTSxRQUFRLEtBQUssS0FBSyxRQUN4QyxVQUFVLFFBQVEsS0FBSyxNQUFNO0dBRS9CLE9BQU8sT0FBTyxlQUFlLElBQUk7RUFDbkM7RUFFQSxPQUFPLE1BQU0sZUFBZSxTQUFTO0NBQ3ZDO0NBRW1CLG1CQUFnQjtFQUNqQyxNQUFNLE9BQU8sTUFBTSxpQkFBZ0I7RUFDbkMsS0FBSyxZQUFZLGlCQUFpQixlQUFlLE1BQy9DLEtBQUssbUJBQW1CLEdBQUcsRUFBRSxNQUF5QixDQUFDO0VBRXpELEtBQUssWUFBWSxpQkFBaUIsa0JBQWtCLE1BQU0sS0FBSyxtQkFBbUIsR0FBRyxFQUFFLElBQUksR0FBRyxFQUM1RixTQUFTLEtBQUEsQ0FDVjtFQUNELEtBQUssWUFDRCxtQkFBbUIsTUFBTSxFQUMxQixTQUFTLFNBQVMsS0FBSyxpQ0FBaUMsSUFBSSxDQUFDO0VBRWhFLE9BQU87Q0FDVDs7Ozs7Ozs7O0NBVWdCLGNBQWMsWUFBaUM7RUFDN0QsTUFBTSxjQUFjLFVBQVU7RUFDOUIsQ0FBQyxLQUFLLGlDQUFpQixJQUFJLElBQUcsR0FBSSxJQUFJLFVBQVU7Q0FDbEQ7Ozs7Q0FLZ0IsaUJBQWlCLFlBQWlDO0VBQ2hFLE1BQU0saUJBQWlCLFVBQVU7RUFDakMsS0FBSyxjQUFjLE9BQU8sVUFBVTtDQUN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxQmdCLGNBQ2QsTUFDQSxVQUNBLFNBQ0EsYUFDQSxVQUFrQjtFQUVsQixNQUFNLGNBQWMsTUFBTSxVQUFVLFNBQVMsYUFBYSxRQUFRO0VBQ2xFLElBQUksTUFBTTtHQUNSLE1BQU0sU0FBNEI7SUFDaEM7SUFDQSxPQUFPLGNBQWMsV0FBVyxLQUFLOztHQUV2QyxLQUFLLGNBQWMsU0FBUyxlQUMxQixXQUFXLHFCQUFxQixNQUFNLFFBQVEsT0FBTyxDQUFDO0VBRTFEO0NBQ0Y7Q0FFbUIsT0FBTyxtQkFBdUM7RUFHL0QsTUFBTSxPQUFPLGlCQUFpQjtFQUU5QixJQUFJLEtBQUssb0JBQW9CO0dBQzNCLEtBQUsscUJBQXFCO0dBQzFCLEtBQUssa0JBQWtCLElBQUk7RUFDN0I7Q0FDRjtDQUVVLFlBQVksT0FBZSxPQUFlO0VBQ2xELElBQUksU0FBVSxVQUFVLFNBQVMsQ0FBQyxLQUFLLFVBQVUsT0FBTyxJQUFJLEtBQUssR0FDL0QsS0FBSyxVQUFVLE9BQU8sSUFBSSxLQUFLO09BRS9CLEtBQUssVUFBVSxPQUFPLE9BQU8sS0FBSztDQUV0QztDQUVRLG1CQUFtQixPQUFjLE1BQXFCO0VBQzVELE1BQU0sZUFBZSxLQUFLLFdBQVksU0FBUyxJQUFJLElBQy9DLE9BQ0EsTUFDRyxhQUFZLEVBQ1osTUFDRSxPQUNDLGNBQWMsbUJBQW1CLEtBQUssV0FBWSxTQUFTLEVBQUUsQ0FBQztFQUV4RSxJQUFJLGNBQ0YsS0FBSyxpQ0FBaUMsWUFBWTtDQUV0RDtDQUVRLGlDQUFpQyxNQUFxQjtFQUM1RCxLQUFLLG9CQUFvQixJQUFJO0VBQzdCLElBQUksQ0FBQyxLQUFLLE1BQ1IsS0FBSyx3QkFBd0IsSUFBSTtDQUVyQztDQUVRLG9CQUFvQixNQUFxQjtFQUMvQyxNQUFNLFlBQVksS0FBSyxPQUFPLFdBQVcsS0FBSyxTQUFTO0VBQ3ZELE1BQU0sb0JBQW9CLEtBQUssbUJBQW1CLElBQUk7RUFDdEQsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLFVBQVUsT0FBTyxJQUFJLFNBQVMsR0FBRztHQUM5RCxLQUFLLFVBQVUsT0FBTyxJQUFJLFNBQVM7O0dBRW5DLEtBQUssY0FBYyxJQUFJLHNCQUFzQixJQUFJLENBQUM7RUFDcEQsT0FBTyxJQUFJLENBQUMscUJBQXFCLEtBQUssVUFBVSxPQUFPLElBQUksU0FBUyxHQUFHO0dBQ3JFLEtBQUssVUFBVSxPQUFPLE9BQU8sU0FBUzs7R0FFdEMsS0FBSyxjQUFjLElBQUksc0JBQXNCLElBQUksQ0FBQztFQUNwRDtDQUNGO0NBRVEsd0JBQXdCLE1BQXFCO0VBQ25ELEtBQUssZUFBZSxXQUFVO0VBRTlCLEtBQUssa0JBQWtCLElBQUksdUJBQXNCO0dBQy9DLE1BQU0sT0FBTyxLQUFLLFdBQVksY0FBK0Isa0JBQWtCO0dBQy9FLElBQUksTUFDRixLQUFLLG9CQUFvQixJQUFJO1FBRTdCLEtBQUssY0FBZSxXQUFVO0VBRWxDLENBQUM7RUFPRCxLQUNHLGNBQWEsRUFDYixRQUFRLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUN4QyxTQUFTLFNBQVMsS0FBSyxjQUFlLFFBQVEsTUFBTSxFQUFFLGVBQWUsS0FBSSxDQUFFLENBQUM7Q0FDakY7Q0FFUSxtQkFBbUIsTUFBcUI7RUFDOUMsT0FBTyxLQUFLLE9BQ1IsS0FDRyxpQkFBZ0IsRUFDaEIsTUFBTSxTQUFTLEVBQUUsZ0JBQWdCLG9CQUFvQixLQUFLLG1CQUFtQixJQUFJLENBQUMsSUFDckYsS0FBSyxjQUFhLEVBQUcsTUFBTSxTQUFRO0dBQ2pDLE9BQU8sZ0JBQWdCLGtCQUNuQixLQUFLLG1CQUFtQixJQUFJLElBQzVCLEtBQUssYUFBYSxLQUFLLGFBQWEsQ0FBQyxDQUFDLEtBQUssYUFBYSxLQUFJO0VBQ2xFLENBQUM7Q0FDUCJ9
|
|
@@ -50,4 +50,4 @@ var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
|
|
|
50
50
|
//#endregion
|
|
51
51
|
export { SbbErrorElement as t };
|
|
52
52
|
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LVdDa2l3TTdfLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LVdDa2l3TTdfLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1lcnJvci1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWVycm9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcmVkODUpO1xufVxuXG4uZXJyb3JfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLmVycm9yLWNvbnRlbnQge1xuICAvLyBGaXggZm9yIGxpbmUtaGVpZ2h0IHRha2luZyBtb3JlIHRoYW4gcmVzZXJ2ZWQgc3BhY2VcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5lcnJvcl9faWNvbi1zdmcge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgaGVpZ2h0OiB2YXIoLS1fc2JiLWVycm9yLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Vycm9yLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBgc2JiLWZvcm0tZmllbGRgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZXJyb3IgaWNvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkVycm9yRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWVycm9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvcl9faWNvblwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaWNvblwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiZXJyb3JfX2ljb24tc3ZnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjE0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIzXCIgeDI9XCI3XCIgeTI9XCI4LjVcIiAvPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxMFwiIHgyPVwiN1wiIHkyPVwiMTFcIiAvPlxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjdcIiBjeT1cIjdcIiByPVwiNi41XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXJyb3InOiBTYmJFcnJvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDWUEsSUFBYSxrQkFBYixjQUFxQyxpQkFBaUIsVUFBVSxFQUFDOztFQUMvQixLQUFBLGNBQXNCO0NBQVk7O0VBQzNDLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGFBQUssQ0FBQztDQUFFO0NBRW5ELG9CQUFpQjtFQUMvQixNQUFNLGtCQUFpQjtFQUN2QixNQUFNLFlBQVksS0FBSyxVQUFVLGdCQUFnQjtFQUNqRCxJQUFJLFdBQ0YsS0FBSyxXQUFXLFVBQVUsYUFBYSxVQUFVO0NBRXJEO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JiIn0=
|
package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expansion-panel-header.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEzF,OAAO,EACL,oBAAoB,EAMrB,MAAM,eAAe,CAAC;;AAMvB;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,mCAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,aAAa,CAElB;IAEH,OAAO,CAAC,QAAQ,CAAoE;IACpF,OAAO,CAAC,aAAa,CAA0C;;IAuB/C,iBAAiB,IAAI,IAAI;IAKzC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"expansion-panel-header.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEzF,OAAO,EACL,oBAAoB,EAMrB,MAAM,eAAe,CAAC;;AAMvB;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,mCAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,aAAa,CAElB;IAEH,OAAO,CAAC,QAAQ,CAAoE;IACpF,OAAO,CAAC,aAAa,CAA0C;;IAuB/C,iBAAiB,IAAI,IAAI;IAKzC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,aAAa;cAIF,cAAc,IAAI,cAAc;CAkBpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
|
|
@@ -80,4 +80,4 @@ var SbbExpansionPanelHeaderElement = class extends SbbDisabledTabIndexActionMixi
|
|
|
80
80
|
//#endregion
|
|
81
81
|
export { SbbExpansionPanelHeaderElement as t };
|
|
82
82
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQtZ2c1QV83UHouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1sKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLWwpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXAtZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogdmFyKFxuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jay1kZWZhdWx0XG4gICk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lLWRlZmF1bHRcbiAgKTtcbn1cblxuOmhvc3QoOmlzKDpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKVxuICApO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRleHQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItanVzdGlmeS1jb250ZW50KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXApO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jaylcbiAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZSk7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICBjdXJzb3I6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWN1cnNvcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190aXRsZSxcbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLFxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uIHtcbiAgd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcblxuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1pY29uLXNpemUpO1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBBbGlnbiB3aXRoIHRvZ2dsZSBpY29uXG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktbWVkaXVtKTtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190b2dnbGUtaWNvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNHgpKTtcblxuICA6aG9zdChbYXJpYS1leHBhbmRlZF06bm90KFthcmlhLWV4cGFuZGVkPSdmYWxzZSddKSkgJiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7XG4gIFNiYkJ1dHRvbkJhc2VFbGVtZW50LFxuICBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4sXG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlIb3ZlcixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbiAgybVzdGF0ZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgYWN0cyBhcyBhIG5hdGl2ZSBgc3VtbWFyeWAgdGFnIGZvciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byByZW5kZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcmAgaWNvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0b2dnbGVleHBhbmRlZDogJ3RvZ2dsZWV4cGFuZGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7XG4gICAgW1NiYk1lZGlhUXVlcnlIb3Zlcl06IChtKSA9PiAodGhpcy5faXNIb3ZlciA9IG0pLFxuICB9KTtcblxuICBwcml2YXRlIF9pc0hvdmVyOiBib29sZWFuID0gdGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXMoU2JiTWVkaWFRdWVyeUhvdmVyKSA/PyBmYWxzZTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnRbJ3NpemUnXSA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4gdGhpcy5fZW1pdEV4cGFuZGVkRXZlbnQoKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk1vdXNlTW92ZW1lbnQodHJ1ZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25Nb3VzZU1vdmVtZW50KGZhbHNlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Nsb3R0ZWRjaGFuZ2UnLCAoKSA9PiB0aGlzLl9zZXRJY29uU3RhdGUoKSk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItZXhwYW5zaW9uLXBhbmVsJyksIHtcbiAgICAgICAgc2l6ZTogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBzLnNpemU7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnaGVhZGVyJztcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRFeHBhbmRlZEV2ZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgLyoqIE5vdGlmaWVzIHRoYXQgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBhYm91dCB0byBleHBhbmQvc2hyaW5rLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndG9nZ2xlZXhwYW5kZWQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk1vdXNlTW92ZW1lbnQodG9nZ2xlRGF0YUF0dHJpYnV0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudDogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50ID0gdGhpcy5jbG9zZXN0KCdzYmItZXhwYW5zaW9uLXBhbmVsJykhO1xuICAgIC8vIFRoZSBgc2JiLmhvdmVyLW1xYCBsb2dpYyBoYXMgYmVlbiByZW1vdmVkIGZyb20gc2NzcywgYnV0IGl0IG11c3QgYmUgcmVwbGljYXRlZCB0byBoYXZlIHRoZSBjb3JyZWN0IGJlaGF2aW9yIG9uIG1vYmlsZS5cbiAgICBpZiAoIXRvZ2dsZURhdGFBdHRyaWJ1dGUgfHwgKHBhcmVudCAmJiB0aGlzLl9pc0hvdmVyKSkge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIocGFyZW50KS50b2dnbGUoJ3RvZ2dsZS1ob3ZlcicsIHRvZ2dsZURhdGFBdHRyaWJ1dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgOnN0YXRlKGljb24pIGlzIHVzZWQgYnkgdGhlICdzYmItZXhwYW5zaW9uLXBhbmVsJy5cbiAgICogSXQgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgQHNsb3RjaGFuZ2UgZXZlbnQgYnViYmxlcyB0byB0aGUgJ2V4cGFuc2lvbi1wYW5lbCdcbiAgICogYnV0IGFmdGVyIHRoZSAnU2JiU2xvdFN0YXRlQ29udHJvbGxlcicgaGFzIHJ1bi5cbiAgICovXG4gIHByaXZhdGUgX3NldEljb25TdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdpY29uJywgISEodGhpcy5pY29uTmFtZSB8fCB0aGlzLm1hdGNoZXM/LignOnN0YXRlKGljb24pJykpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gVE9ETzogU3RpbGwgbmVjZXNzYXJ5P1xuICAgIHRoaXMuX3NldEljb25TdGF0ZSgpO1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgICAkeyF0aGlzLmRpc2FibGVkXG4gICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190b2dnbGVcIj5cbiAgICAgICAgICAgIDxzYmItaWNvblxuICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1zbWFsbC1kb3duLW1lZGl1bVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZS1pY29uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc2JiLWljb24+XG4gICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyJzogU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNxQkEsSUFBYSxpQ0FBYixjQUFvRCwrQkFDbEQsaUJBQWlCLG9CQUFvQixDQUFDLEVBQ3ZDOztFQUNpQyxLQUFBLGNBQXNCO0NBQTZCOztFQUM1RCxLQUFBLFNBQXlCLENBQUMsVUFBVSw4QkFBSyxDQUFDO0NBQUU7O0VBQzVDLEtBQUEsU0FBUyxFQUM5QixnQkFBZ0IsaUJBQUE7Q0FDUDtDQVNYLGNBQUE7RUFDRSxNQUFLO0VBUkMsS0FBQSxnQkFBZ0IsSUFBSSwwQkFBMEIsTUFBTSxHQUN6RCxzQkFBc0IsTUFBTyxLQUFLLFdBQVcsRUFBQSxDQUMvQztFQUVPLEtBQUEsV0FBb0IsS0FBSyxjQUFjLFFBQVEsa0JBQWtCLEtBQUs7RUFDdEUsS0FBQSxnQkFBa0Q7RUFJeEQsS0FBSyxtQkFBbUIsZUFBZSxLQUFLLG1CQUFrQixDQUFFO0VBQ2hFLEtBQUssbUJBQW1CLG9CQUFvQixLQUFLLGlCQUFpQixJQUFJLENBQUM7RUFDdkUsS0FBSyxtQkFBbUIsb0JBQW9CLEtBQUssaUJBQWlCLEtBQUssQ0FBQztFQUN4RSxLQUFLLG1CQUFtQix1QkFBdUIsS0FBSyxjQUFhLENBQUU7RUFDbkUsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLHFCQUFxQixHQUFHLEVBQ2hGLE9BQU8sTUFBSztHQUNWLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLE9BQU8sUUFBUSxLQUFLLGVBQWU7R0FFM0QsS0FBSyxnQkFBZ0IsRUFBRTtHQUN2QixJQUFJLEtBQUssZUFDUCxLQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxlQUFlO0VBRTFELEVBQUEsQ0FDRCxDQUFDO0NBRU47Q0FFZ0Isb0JBQWlCO0VBQy9CLE1BQU0sa0JBQWlCO0VBQ3ZCLEtBQUssU0FBUztDQUNoQjtDQUVRLHFCQUFrQjtFQUN4QixJQUFJLENBQUMsS0FBSzs7RUFFUixLQUFLLGNBQWMsSUFBSSxNQUFNLGtCQUFrQjtHQUFFLFNBQVM7R0FBTSxVQUFVO0VBQUksQ0FBRSxDQUFDO0NBRXJGO0NBRVEsaUJBQWlCLHFCQUE0QjtFQUNuRCxNQUFNLFNBQW1DLEtBQUssUUFBUSxxQkFBcUI7RUFFM0UsSUFBSSxDQUFDLHVCQUF3QixVQUFVLEtBQUssVUFDMUMsaUJBQWlCLE1BQU0sRUFBRSxPQUFPLGdCQUFnQixtQkFBbUI7Q0FFdkU7Ozs7OztDQU9RLGdCQUFhO0VBQ25CLEtBQUssWUFBWSxRQUFRLENBQUMsRUFBRSxLQUFLLFlBQVksS0FBSyxVQUFVLGlDQUFjLEVBQUU7Q0FDOUU7Q0FFbUIsaUJBQWM7RUFFL0IsS0FBSyxjQUFhO0VBQ2xCLE9BQU8sSUFBSTs7MERBRTJDLEtBQUssZUFBYyxFQUFFOzs7UUFHdkUsQ0FBQyxLQUFLLFdBQ0osSUFBSTs7Ozs7O3FCQU9KLFFBQUE7O0NBRVIifQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQtZ2c1QV83UHouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1sKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLWwpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXAtZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogdmFyKFxuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jay1kZWZhdWx0XG4gICk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lLWRlZmF1bHRcbiAgKTtcbn1cblxuOmhvc3QoOmlzKDpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKVxuICApO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10ZXh0LWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWp1c3RpZnktY29udGVudCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctYmxvY2spXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmUpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3IpO1xuICBjb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGUsXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZSxcbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIHdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gQWxpZ24gd2l0aCB0b2dnbGUgaWNvblxuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLW1lZGl1bSk7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KSk7XG5cbiAgOmhvc3QoW2FyaWEtZXhwYW5kZWRdOm5vdChbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSkpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5SG92ZXIsXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG4gIMm1c3RhdGVDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGFjdHMgYXMgYSBuYXRpdmUgYHN1bW1hcnlgIHRhZyBmb3IgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYC5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGljb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgdG9nZ2xlZXhwYW5kZWQ6ICd0b2dnbGVleHBhbmRlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyID0gbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICAgIFtTYmJNZWRpYVF1ZXJ5SG92ZXJdOiAobSkgPT4gKHRoaXMuX2lzSG92ZXIgPSBtKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfaXNIb3ZlcjogYm9vbGVhbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlIb3ZlcikgPz8gZmFsc2U7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2VtaXRFeHBhbmRlZEV2ZW50KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fb25Nb3VzZU1vdmVtZW50KHRydWUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuX29uTW91c2VNb3ZlbWVudChmYWxzZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzbG90dGVkY2hhbmdlJywgKCkgPT4gdGhpcy5fc2V0SWNvblN0YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2hlYWRlcic7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0RXhwYW5kZWRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgYWJvdXQgdG8gZXhwYW5kL3Nocmluay4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3RvZ2dsZWV4cGFuZGVkJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Nb3VzZU1vdmVtZW50KHRvZ2dsZURhdGFBdHRyaWJ1dGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnQ6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCA9IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpITtcbiAgICAvLyBUaGUgYHNiYi5ob3Zlci1tcWAgbG9naWMgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHNjc3MsIGJ1dCBpdCBtdXN0IGJlIHJlcGxpY2F0ZWQgdG8gaGF2ZSB0aGUgY29ycmVjdCBiZWhhdmlvciBvbiBtb2JpbGUuXG4gICAgLy8gVE9ETzogd2l0aCBtb3JlIHN1cHBvcnQgZm9yIGxpZ2h0IERPTSBzdHlsZXMgc2V0IGZyb20gYSBjb21wb2VudCAocm9vdG5vZGUpLCB3ZSBzaG91bGQgbW92ZSB0aGlzIGludG8gc2NzcyB3aXRoIDpoYXMoOmhvdmVyKSBzZWxlY3Rvci5cbiAgICBpZiAoIXRvZ2dsZURhdGFBdHRyaWJ1dGUgfHwgKHBhcmVudCAmJiB0aGlzLl9pc0hvdmVyKSkge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIocGFyZW50KS50b2dnbGUoJ3RvZ2dsZS1ob3ZlcicsIHRvZ2dsZURhdGFBdHRyaWJ1dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgOnN0YXRlKGljb24pIGlzIHVzZWQgYnkgdGhlICdzYmItZXhwYW5zaW9uLXBhbmVsJy5cbiAgICogSXQgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgQHNsb3RjaGFuZ2UgZXZlbnQgYnViYmxlcyB0byB0aGUgJ2V4cGFuc2lvbi1wYW5lbCdcbiAgICogYnV0IGFmdGVyIHRoZSAnU2JiU2xvdFN0YXRlQ29udHJvbGxlcicgaGFzIHJ1bi5cbiAgICovXG4gIHByaXZhdGUgX3NldEljb25TdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdpY29uJywgISEodGhpcy5pY29uTmFtZSB8fCB0aGlzLm1hdGNoZXM/LignOnN0YXRlKGljb24pJykpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgdGhpcy5fc2V0SWNvblN0YXRlKCk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190aXRsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgICR7IXRoaXMuZGlzYWJsZWRcbiAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZVwiPlxuICAgICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLWRvd24tbWVkaXVtXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zYmItaWNvbj5cbiAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInOiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQ3FCQSxJQUFhLGlDQUFiLGNBQW9ELCtCQUNsRCxpQkFBaUIsb0JBQW9CLENBQUMsRUFDdkM7O0VBQ2lDLEtBQUEsY0FBc0I7Q0FBNkI7O0VBQzVELEtBQUEsU0FBeUIsQ0FBQyxVQUFVLDhCQUFLLENBQUM7Q0FBRTs7RUFDNUMsS0FBQSxTQUFTLEVBQzlCLGdCQUFnQixpQkFBQTtDQUNQO0NBU1gsY0FBQTtFQUNFLE1BQUs7RUFSQyxLQUFBLGdCQUFnQixJQUFJLDBCQUEwQixNQUFNLEdBQ3pELHNCQUFzQixNQUFPLEtBQUssV0FBVyxFQUFBLENBQy9DO0VBRU8sS0FBQSxXQUFvQixLQUFLLGNBQWMsUUFBUSxrQkFBa0IsS0FBSztFQUN0RSxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLG1CQUFtQixlQUFlLEtBQUssbUJBQWtCLENBQUU7RUFDaEUsS0FBSyxtQkFBbUIsb0JBQW9CLEtBQUssaUJBQWlCLElBQUksQ0FBQztFQUN2RSxLQUFLLG1CQUFtQixvQkFBb0IsS0FBSyxpQkFBaUIsS0FBSyxDQUFDO0VBQ3hFLEtBQUssbUJBQW1CLHVCQUF1QixLQUFLLGNBQWEsQ0FBRTtFQUNuRSxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRVEscUJBQWtCO0VBQ3hCLElBQUksQ0FBQyxLQUFLOztFQUVSLEtBQUssY0FBYyxJQUFJLE1BQU0sa0JBQWtCO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFLENBQUM7Q0FFckY7Q0FFUSxpQkFBaUIscUJBQTRCO0VBQ25ELE1BQU0sU0FBbUMsS0FBSyxRQUFRLHFCQUFxQjtFQUczRSxJQUFJLENBQUMsdUJBQXdCLFVBQVUsS0FBSyxVQUMxQyxpQkFBaUIsTUFBTSxFQUFFLE9BQU8sZ0JBQWdCLG1CQUFtQjtDQUV2RTs7Ozs7O0NBT1EsZ0JBQWE7RUFDbkIsS0FBSyxZQUFZLFFBQVEsQ0FBQyxFQUFFLEtBQUssWUFBWSxLQUFLLFVBQVUsaUNBQWMsRUFBRTtDQUM5RTtDQUVtQixpQkFBYztFQUMvQixLQUFLLGNBQWE7RUFDbEIsT0FBTyxJQUFJOzswREFFMkMsS0FBSyxlQUFjLEVBQUU7OztRQUd2RSxDQUFDLEtBQUssV0FDSixJQUFJOzs7Ozs7cUJBT0osUUFBQTs7Q0FFUiJ9
|