@sbb-esta/lyne-elements 2.11.0 → 2.11.2
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/accordion/accordion.component.js +19 -22
- package/action-group/action-group.component.js +3 -5
- package/alert/alert/alert.component.js +1 -2
- package/alert/alert-group/alert-group.component.js +2 -3
- package/autocomplete/autocomplete-base-element.js +71 -82
- package/autocomplete/autocomplete.component.js +31 -36
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +44 -52
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +3 -4
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +23 -26
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +9 -9
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +29 -33
- package/button/mini-button/mini-button.component.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -2
- package/calendar/calendar.component.js +8 -13
- package/card/card/card.component.js +12 -12
- package/card/card-badge/card-badge.component.js +16 -16
- package/card/common/card-action-common.js +23 -25
- package/checkbox/checkbox/checkbox.component.js +17 -20
- package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
- package/checkbox/checkbox-panel/checkbox-panel.component.js +22 -25
- package/checkbox/common/checkbox-common.js +13 -15
- package/chip/chip-group/chip-group.component.js +59 -70
- package/clock/clock.component.js +50 -60
- package/container/container/container.component.js +28 -29
- package/container/sticky-bar/sticky-bar.component.js +26 -27
- package/core/a11y/focus-trap-controller.js +11 -14
- package/core/a11y/focus.js +27 -29
- package/core/a11y/input-modality-detector.js +18 -19
- package/core/a11y/interactivity-checker.js +10 -10
- package/core/base-elements/button-base-element.js +13 -18
- package/core/base-elements/link-base-element.js +3 -6
- package/core/base-elements/open-close-base-element.js +1 -1
- package/core/controllers/connected-abort-controller.js +2 -4
- package/core/controllers/escapable-overlay-controller.js +10 -12
- package/core/controllers/id-reference-controller.js +13 -14
- package/core/controllers/inert-controller.js +8 -10
- package/core/controllers/slot-state-controller.js +16 -26
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/date-adapter.js +21 -21
- package/core/datetime/native-date-adapter.js +11 -11
- package/core/decorators/date-converter.js +10 -12
- package/core/decorators/date-only-type.js +5 -6
- package/core/decorators/force-type.js +4 -5
- package/core/dom/breakpoint.js +8 -8
- package/core/dom/input-element.js +4 -9
- package/core/eventing/event-emitter.js +4 -5
- package/core/mixins/form-associated-checkbox-mixin.js +32 -37
- package/core/mixins/form-associated-input-mixin.js +58 -64
- package/core/mixins/form-associated-mixin.js +42 -44
- package/core/mixins/form-associated-radio-button-mixin.js +3 -5
- package/core/mixins/hydration-mixin.js +12 -13
- package/core/mixins/named-slot-list-mixin.js +32 -37
- package/core/mixins/panel-mixin.js +26 -27
- package/core/mixins.js +1 -1
- package/core/overlay/position.js +23 -23
- package/core/styles/core/mediaqueries.scss +1 -1
- package/core/styles/core.scss +27 -28
- package/core/styles/mixins/table.scss +1 -24
- package/core/styles/mixins/typo.scss +0 -1
- package/core/testing/event-spy.js +2 -4
- package/core/testing/wait-for-image-ready.js +8 -9
- package/core/testing/wait-for-render.js +8 -9
- package/custom-elements.json +2 -2
- package/date-input/date-input.component.js +2 -4
- package/datepicker/common/datepicker-association-controllers.js +21 -24
- package/datepicker/common/datepicker-button.js +53 -57
- package/datepicker/datepicker/datepicker.component.js +82 -95
- package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.component.js +74 -81
- package/development/accordion/accordion.component.js +4 -7
- package/development/action-group/action-group.component.js +3 -5
- package/development/alert/alert/alert.component.js +2 -3
- package/development/alert/alert-group/alert-group.component.js +2 -3
- package/development/autocomplete/autocomplete-base-element.js +19 -30
- package/development/autocomplete/autocomplete.component.js +7 -12
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +3 -4
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/button-link/button-link.component.js +1 -1
- package/development/button/button-static/button-static.component.js +1 -1
- package/development/button/common/button-common.js +1 -1
- package/development/button/mini-button/mini-button.component.js +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +2 -3
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
- package/development/calendar/calendar.component.js +9 -14
- package/development/card/card/card.component.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/card-button/card-button.component.js +1 -1
- package/development/card/card-link/card-link.component.js +1 -1
- package/development/card/common/card-action-common.js +3 -5
- package/development/checkbox/checkbox/checkbox.component.js +2 -5
- package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
- package/development/checkbox/common/checkbox-common.js +3 -5
- package/development/chip/chip/chip.component.js +1 -1
- package/development/chip/chip-group/chip-group.component.js +15 -26
- package/development/chip-label/chip-label.component.js +1 -1
- package/development/clock/clock.component.js +23 -33
- package/development/container/container/container.component.js +2 -3
- package/development/container/sticky-bar/sticky-bar.component.js +2 -3
- package/development/core/a11y/arrow-navigation.js +1 -1
- package/development/core/a11y/fake-event-detection.js +1 -1
- package/development/core/a11y/focus-trap-controller.js +6 -9
- package/development/core/a11y/focus-visible-within-controller.js +1 -1
- package/development/core/a11y/focus.js +8 -10
- package/development/core/a11y/input-modality-detector.js +2 -3
- package/development/core/a11y/interactivity-checker.js +2 -2
- package/development/core/base-elements/action-base-element.js +2 -3
- package/development/core/base-elements/button-base-element.js +6 -11
- package/development/core/base-elements/link-base-element.js +4 -7
- package/development/core/base-elements/open-close-base-element.js +2 -2
- package/development/core/config/config.js +1 -1
- package/development/core/controllers/connected-abort-controller.js +3 -5
- package/development/core/controllers/escapable-overlay-controller.js +3 -5
- package/development/core/controllers/id-reference-controller.js +2 -3
- package/development/core/controllers/inert-controller.js +4 -6
- package/development/core/controllers/language-controller.js +1 -1
- package/development/core/controllers/media-matchers-controller.js +1 -1
- package/development/core/controllers/slot-state-controller.js +8 -18
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.js +5 -5
- package/development/core/datetime/native-date-adapter.js +2 -2
- package/development/core/decorators/date-converter.js +3 -5
- package/development/core/decorators/date-only-type.js +2 -3
- package/development/core/decorators/force-type.js +3 -4
- package/development/core/decorators/get-override.js +1 -1
- package/development/core/decorators/handle-distinct-change.js +1 -1
- package/development/core/decorators/host-attributes.js +1 -1
- package/development/core/decorators/slot-state.js +1 -1
- package/development/core/dom/animation.js +1 -1
- package/development/core/dom/breakpoint.js +2 -2
- package/development/core/dom/find-referenced-element.js +1 -1
- package/development/core/dom/host-context.js +1 -1
- package/development/core/dom/input-element.js +3 -4
- package/development/core/dom/platform.js +1 -1
- package/development/core/dom/scroll.js +1 -1
- package/development/core/dom/set-or-remove-attribute.js +1 -1
- package/development/core/eventing/composed-path-has-attribute.js +1 -1
- package/development/core/eventing/event-emitter.js +2 -3
- package/development/core/eventing/form-element-handlers.js +1 -1
- package/development/core/eventing/forward-event.js +1 -1
- package/development/core/eventing/throttle.js +1 -1
- package/development/core/i18n/i18n.js +1 -1
- package/development/core/mixins/animation-complete-mixin.js +1 -1
- package/development/core/mixins/disabled-mixin.js +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
- package/development/core/mixins/form-associated-input-mixin.js +14 -20
- package/development/core/mixins/form-associated-mixin.js +5 -7
- package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
- package/development/core/mixins/hydration-mixin.js +3 -4
- package/development/core/mixins/named-slot-list-mixin.js +4 -7
- package/development/core/mixins/negative-mixin.js +1 -1
- package/development/core/mixins/panel-mixin.js +2 -3
- package/development/core/mixins/required-mixin.js +1 -1
- package/development/core/mixins/update-scheduler-mixin.js +1 -1
- package/development/core/overlay/overlay-option-panel.js +1 -1
- package/development/core/overlay/overlay-trigger-attributes.js +1 -1
- package/development/core/overlay/overlay.js +1 -1
- package/development/core/overlay/position.js +5 -5
- package/development/core/testing/event-spy.js +3 -5
- package/development/core/testing/mocha-extensions.js +1 -1
- package/development/core/testing/wait-for-condition.js +1 -1
- package/development/core/testing/wait-for-image-ready.js +2 -3
- package/development/core/testing/wait-for-render.js +2 -3
- package/development/date-input/date-input.component.js +4 -6
- package/development/datepicker/common/datepicker-association-controllers.js +6 -9
- package/development/datepicker/common/datepicker-button.js +7 -11
- package/development/datepicker/datepicker/datepicker.component.js +22 -35
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +13 -20
- package/development/dialog/dialog/dialog.component.js +16 -27
- package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog/dialog-title/dialog-title.component.js +1 -1
- package/development/divider/divider.component.js +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +4 -5
- package/development/file-selector/common/file-selector-common.js +2 -3
- package/development/file-selector/file-selector/file-selector.component.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +7 -13
- package/development/flip-card/flip-card-details/flip-card-details.component.js +2 -3
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +2 -3
- package/development/footer/footer.component.js +1 -1
- package/development/form-error/form-error.component.js +3 -4
- package/development/form-field/form-field/form-field.component.js +19 -30
- package/development/form-field/form-field-clear/form-field-clear.component.js +4 -6
- package/development/header/common/header-action-common.js +1 -1
- package/development/header/header/header.component.js +5 -8
- package/development/header/header-button/header-button.component.js +1 -1
- package/development/header/header-link/header-link.component.js +1 -1
- package/development/icon/icon-base.js +1 -1
- package/development/icon/icon-name-mixin.js +1 -1
- package/development/icon/icon-request.js +2 -3
- package/development/icon/icon-validate.js +1 -1
- package/development/icon/icon.component.js +1 -1
- package/development/image/image.component.js +7 -9
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/lead-container/lead-container.component.js +1 -1
- package/development/link/block-link/block-link.component.js +1 -1
- package/development/link/block-link-button/block-link-button.component.js +1 -1
- package/development/link/block-link-static/block-link-static.component.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link/link/link.component.js +1 -1
- package/development/link/link-button/link-button.component.js +1 -1
- package/development/link/link-static/link-static.component.js +1 -1
- package/development/link-common-CJEWffDZ.js +1 -1
- package/development/link-list/common/link-list-base.js +1 -1
- package/development/link-list/link-list/link-list.component.js +1 -1
- package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
- package/development/loading-indicator/loading-indicator.component.js +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/development/logo/logo.component.js +1 -1
- package/development/map-container/map-container.component.js +2 -3
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/menu/menu.component.js +17 -25
- package/development/menu/menu-button/menu-button.component.js +1 -1
- package/development/menu/menu-link/menu-link.component.js +1 -1
- package/development/message/message.component.js +1 -1
- package/development/navigation/common/navigation-action-common.js +3 -5
- package/development/navigation/navigation/navigation.component.js +19 -35
- package/development/navigation/navigation-button/navigation-button.component.js +1 -1
- package/development/navigation/navigation-link/navigation-link.component.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
- package/development/navigation/navigation-section/navigation-section.component.js +22 -32
- package/development/notification/notification.component.js +22 -24
- package/development/option/optgroup/optgroup-base-element.js +4 -6
- package/development/option/optgroup/optgroup.component.js +6 -10
- package/development/option/option/option-base-element.js +3 -4
- package/development/option/option/option.component.js +7 -10
- package/development/overlay/overlay-base-element.js +4 -6
- package/development/overlay/overlay.component.js +7 -9
- 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.js +2 -3
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +17 -19
- package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
- package/development/radio-button/common/radio-button-common.js +6 -10
- package/development/radio-button/radio-button/radio-button.component.js +2 -5
- package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
- package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
- package/development/screen-reader-only/screen-reader-only.component.js +1 -1
- package/development/select/select.component.js +26 -48
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
- package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
- package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
- package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +8 -15
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +2 -2
- package/development/signet/signet.component.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/slider/slider.component.js +3 -4
- package/development/status/status.component.js +3 -2
- package/development/stepper/step/step.component.js +5 -7
- package/development/stepper/step-label/step-label.component.js +3 -4
- package/development/stepper/stepper/stepper.component.js +16 -29
- package/development/table/table-wrapper/table-wrapper.component.js +2 -7
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +23 -38
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tag/tag/tag.component.js +6 -12
- package/development/tag/tag-group/tag-group.component.js +5 -13
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.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/teaser-product-static/teaser-product-static.component.js +1 -1
- package/development/time-input/time-input.component.js +8 -12
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -3
- package/development/title/title-base.js +1 -2
- package/development/title/title.component.js +1 -1
- package/development/toast/toast.component.js +4 -7
- package/development/toggle/toggle/toggle.component.js +8 -12
- package/development/toggle/toggle-option/toggle-option.component.js +9 -16
- package/development/toggle-check/toggle-check.component.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 +5 -7
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/dialog/dialog/dialog.component.js +59 -70
- package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +31 -32
- package/file-selector/common/file-selector-common.js +1 -2
- package/flip-card/flip-card/flip-card.component.js +48 -54
- package/flip-card/flip-card-details/flip-card-details.component.js +16 -17
- package/flip-card/flip-card-summary/flip-card-summary.component.js +18 -19
- package/form-error/form-error.component.js +13 -14
- package/form-field/form-field/form-field.component.js +128 -139
- package/form-field/form-field-clear/form-field-clear.component.js +20 -22
- package/header/header/header.component.js +25 -28
- package/icon/icon-request.js +10 -11
- package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
- package/image/image.component.js +4 -6
- package/map-container/map-container.component.js +1 -2
- package/menu/menu/menu.component.js +48 -56
- package/navigation/common/navigation-action-common.js +19 -21
- package/navigation/navigation/navigation.component.js +74 -93
- package/navigation/navigation-marker/navigation-marker.component.js +26 -28
- package/navigation/navigation-section/navigation-section.component.js +79 -89
- package/notification/notification.component.js +18 -20
- package/option/optgroup/optgroup-base-element.js +40 -42
- package/option/optgroup/optgroup.component.js +16 -20
- package/option/option/option-base-element.js +3 -4
- package/option/option/option.component.js +28 -31
- package/overlay/overlay-base-element.js +25 -27
- package/overlay/overlay.component.js +38 -40
- package/package.json +1 -1
- package/paginator/paginator/paginator.component.js +3 -4
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +65 -72
- package/popover/popover-trigger/popover-trigger.component.js +1 -1
- package/radio-button/common/radio-button-common.js +11 -15
- package/radio-button/radio-button/radio-button.component.js +20 -23
- package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
- package/radio-button/radio-button-panel/radio-button-panel.component.js +31 -35
- package/select/select.component.js +89 -111
- package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
- package/sidebar/common.js +1 -1
- package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
- package/sidebar/sidebar/sidebar.component.js +61 -68
- package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
- package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/sidebar.js +1 -1
- package/slider/slider.component.js +3 -4
- package/standard-theme.css +0 -25
- package/status/status.component.js +17 -17
- package/stepper/step/step.component.js +22 -24
- package/stepper/step-label/step-label.component.js +2 -3
- package/stepper/stepper/stepper.component.js +72 -86
- package/table/table-wrapper/table-wrapper.component.js +13 -14
- package/table.css +0 -25
- package/tabs/tab-group/tab-group.component.js +77 -92
- package/tabs/tab-label/tab-label.component.js +10 -10
- package/tag/tag/tag.component.js +55 -61
- package/tag/tag-group/tag-group.component.js +21 -29
- package/teaser/teaser.component.js +1 -1
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product-common-C8oSkIxy.js +5 -0
- package/teaser-product.js +1 -1
- package/time-input/time-input.component.js +62 -66
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +9 -10
- package/title/title-base.js +1 -1
- package/toast/toast.component.js +4 -7
- package/toggle/toggle/toggle.component.js +38 -42
- package/toggle/toggle-option/toggle-option.component.js +47 -54
- package/train/train-formation/train-formation.component.js +41 -43
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
- package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
- package/teaser-product-common-CpMAlYEp.js +0 -5
|
@@ -15,4 +15,4 @@ const throttle = (func, delay) => {
|
|
|
15
15
|
export {
|
|
16
16
|
throttle
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2V2ZW50aW5nL3Rocm90dGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0aHJvdHRsZSA9IDxGIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBmdW5jOiBGLFxuICBkZWxheTogbnVtYmVyLFxuKTogKCguLi5hcmdzOiBQYXJhbWV0ZXJzPEY+KSA9PiBQcm9taXNlPFJldHVyblR5cGU8Rj4+KSA9PiB7XG4gIGxldCBzaG91bGRXYWl0ID0gZmFsc2U7XG5cbiAgY29uc3QgdGhyb3R0bGVkID0gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pOiBhbnkgPT4ge1xuICAgIGlmIChzaG91bGRXYWl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoLi4uYXJncyk7XG4gICAgc2hvdWxkV2FpdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzaG91bGRXYWl0ID0gZmFsc2U7XG4gICAgfSwgZGVsYXkpO1xuICB9O1xuXG4gIHJldHVybiB0aHJvdHRsZWQgYXMgKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pID0+
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2V2ZW50aW5nL3Rocm90dGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0aHJvdHRsZSA9IDxGIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBmdW5jOiBGLFxuICBkZWxheTogbnVtYmVyLFxuKTogKCguLi5hcmdzOiBQYXJhbWV0ZXJzPEY+KSA9PiBQcm9taXNlPFJldHVyblR5cGU8Rj4+KSA9PiB7XG4gIGxldCBzaG91bGRXYWl0ID0gZmFsc2U7XG5cbiAgY29uc3QgdGhyb3R0bGVkID0gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pOiBhbnkgPT4ge1xuICAgIGlmIChzaG91bGRXYWl0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmMoLi4uYXJncyk7XG4gICAgc2hvdWxkV2FpdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzaG91bGRXYWl0ID0gZmFsc2U7XG4gICAgfSwgZGVsYXkpO1xuICB9O1xuXG4gIHJldHVybiB0aHJvdHRsZWQgYXMgKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pID0+IFJldHVyblR5cGU8Rj47XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFPLE1BQU0sV0FBVyxDQUN0QixNQUNBLFVBQ3dEO0FBQ3hELE1BQUksYUFBYTtBQUVqQixRQUFNLFlBQVksSUFBSSxTQUE0QjtBQUNoRCxRQUFJLFlBQVk7QUFDZDtBQUFBLElBQUE7QUFFRixTQUFLLEdBQUcsSUFBSTtBQUNaLGlCQUFhO0FBQ2IsZUFBVyxNQUFLO0FBQ2QsbUJBQWE7QUFBQSxJQUFBLEdBQ1osS0FBSztBQUFBLEVBQUE7QUFHVixTQUFPO0FBQ1Q7In0=
|
|
@@ -790,4 +790,4 @@ export {
|
|
|
790
790
|
i18nWalkingDistanceDeparture,
|
|
791
791
|
i18nYearMonthSelection
|
|
792
792
|
};
|
|
793
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvaTE4bi9pMThuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiTGFuZ3VhZ2UsIFNiYk9jY3VwYW5jeSB9IGZyb20gJy4uL2ludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgY29uc3QgaTE4bkRpcmVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSaWNodHVuZycsXG4gIGVuOiAnRGlyZWN0aW9uJyxcbiAgZnI6ICdEaXJlY3Rpb24nLFxuICBpdDogJ0RpcmV6aW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkFycml2YWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQW5rdW5mdCcsXG4gIGVuOiAnQXJyaXZhbCcsXG4gIGZyOiAnQXJyaXbDqWUnLFxuICBpdDogJ0Fycml2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTZWt0b3InLFxuICBlbjogJ1NlY3RvcicsXG4gIGZyOiAnU2VjdGV1cicsXG4gIGl0OiAnU2V0dG9yZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvclNob3J0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NrdC4nLFxuICBlbjogJ1NlYy4nLFxuICBmcjogJ1NlY3QuJyxcbiAgaXQ6ICdTZXQuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xhc3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmaXJzdDoge1xuICAgIGRlOiAnRXJzdGUgS2xhc3NlJyxcbiAgICBlbjogJ0ZpcnN0IENsYXNzJyxcbiAgICBmcjogJ1ByZW1pw6hyZSBjbGFzc2UnLFxuICAgIGl0OiAnUHJpbWEgY2xhc3NlJyxcbiAgfSxcbiAgc2Vjb25kOiB7XG4gICAgZGU6ICdad2VpdGUgS2xhc3NlJyxcbiAgICBlbjogJ1NlY29uZCBDbGFzcycsXG4gICAgZnI6ICdEZXV4acOobWUgY2xhc3NlJyxcbiAgICBpdDogJ1NlY29uZGEgY2xhc3NlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVnJyxcbiAgZW46ICdUcmFpbicsXG4gIGZyOiAnVHJhaW4nLFxuICBpdDogJ1RyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW5zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1rDvGdlJyxcbiAgZW46ICdUcmFpbnMnLFxuICBmcjogJ1RyYWlucycsXG4gIGl0OiAnVHJlbmknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWdvbnNMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdXYWdlbiBkZXMgWnVnZXMnLFxuICBlbjogJ0NvYWNoZXMgb2YgdGhlIHRyYWluJyxcbiAgZnI6ICdXYWdvbnMgZGUgdHJhaW4nLFxuICBpdDogJ0NhcnJvenplIGRlbCB0cmVubycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnV2FnZW4nLFxuICBlbjogJ1RyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbicsXG4gIGl0OiAnQ2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuV2Fnb25MYWJlbE51bWJlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6IGBOdW1tZXJgLFxuICBlbjogYE51bWJlcmAsXG4gIGZyOiBgTnVtw6lyb2AsXG4gIGl0OiBgTnVtZXJvYCxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdHZXNjaGxvc3NlbmVyIFp1Z3dhZ2dvbicsXG4gIGVuOiAnQ2xvc2VkIHRyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbiBmZXJtw6knLFxuICBpdDogJ0NhcnJvenphIGRlbCB0cmVubyBjaGl1c28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Mb2NvbW90aXZlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTG9rb21vdGl2ZScsXG4gIGVuOiAnTG9jb21vdGl2ZScsXG4gIGZyOiAnTG9jb21vdGl2ZScsXG4gIGl0OiAnTG9jb21vdGl2YScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNsZWVwaW5nV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTY2hsYWZ3YWdlbicsXG4gIGVuOiAnU2xlZXBpbmcgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWxpdHMnLFxuICBpdDogJ0NhcnJvenphIGxldHRpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ291Y2hldHRlV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdMaWVnZXdhZ2VuJyxcbiAgZW46ICdDb3VjaGV0dGUgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWNvdWNoZXR0ZXMnLFxuICBpdDogJ0NhcnJvenphIGN1Y2NldHRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmVzdGF1cmFudFdhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnU3BlaXNld2FnZW4nLFxuICBlbjogJ0RpbmluZyBjYXInLFxuICBmcjogJ1ZvaXR1cmUtcmVzdGF1cmFudCcsXG4gIGl0OiAnQ2Fycm96emEgcmlzdG9yYW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJsb2NrZWRQYXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgcHJldmlvdXM6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSB2b3JoZXJpZ2VuIFdhZ2VuJyxcbiAgICBlbjogJ05vIHBhc3NhZ2UgdG8gdGhlIHByZXZpb3VzIHRyYWluIGNvYWNoJyxcbiAgICBmcjogJ1BhcyBkZSBwYXNzYWdlIGF1IHdhZ29uIGR1IHRyYWluIHByw6ljw6lkZW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gcHJlY2VkZW50ZScsXG4gIH0sXG4gIG5leHQ6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCB0cmFpbiBjb2FjaCcsXG4gICAgZnI6ICdQYXMgZGUgcGFzc2FnZSBhdSB3YWdvbiBkZSB0cmFpbiBzdWl2YW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gc3VjY2Vzc2l2bycsXG4gIH0sXG4gIGJvdGg6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gdW5kIHZvcmhlcmlnZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgdHJhaW4gY29hY2gnLFxuICAgIGZyOiAnUGFzIGRlIHBhc3NhZ2UgYXUgd2Fnb24gZGUgdHJhaW4gc3VpdmFudCBldCBwcsOpY8OpZGVudCcsXG4gICAgaXQ6ICdOZXNzdW4gcGFzc2FnZ2lvIGFsbGEgY2Fycm96emEgZGVsIHRyZW5vIHN1Y2Nlc3Npdm8gZSBwcmVjZWRlbnRlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQWRkaXRpb25hbFdhZ29uSW5mb3JtYXRpb25IZWFkaW5nOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1c8OkdHpsaWNoZSBXYWdlbmluZm9ybWF0aW9uJyxcbiAgZW46ICdBZGRpdGlvbmFsIHdhZ29uIGluZm9ybWF0aW9uJyxcbiAgZnI6ICdJbmZvcm1hdGlvbnMgc3VwcGzDqW1lbnRhaXJlcyBzdXIgbGVzIHdhZ29ucycsXG4gIGl0OiAnSW5mb3JtYXppb25pIGFnZ2l1bnRpdmUgc3VsbGEgY2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGVwYXJ0dXJlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0FiZmFocnQnLFxuICBlbjogJ0RlcGFydHVyZScsXG4gIGZyOiAnRMOpcGFydCcsXG4gIGl0OiAnUGFydGVuemEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbk1pbnV0ZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4+ID0ge1xuICBzaW5nbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ01pbnV0ZScsXG4gICAgICBlbjogJ01pbnV0ZScsXG4gICAgICBmcjogJ01pbnV0ZScsXG4gICAgICBpdDogJ01pbnV0bycsXG4gICAgfSxcbiAgICBzaG9ydDoge1xuICAgICAgZGU6ICdtJyxcbiAgICAgIGVuOiAnbScsXG4gICAgICBmcjogJ20nLFxuICAgICAgaXQ6ICdtJyxcbiAgICB9LFxuICB9LFxuICBtdWx0aXBsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnTWludXRlbicsXG4gICAgICBlbjogJ01pbnV0ZXMnLFxuICAgICAgZnI6ICdNaW51dGVzJyxcbiAgICAgIGl0OiAnTWludXRpJyxcbiAgICB9LFxuICAgIHNob3J0OiB7XG4gICAgICBkZTogJ01pbicsXG4gICAgICBlbjogJ21pbicsXG4gICAgICBmcjogJ21pbi4nLFxuICAgICAgaXQ6ICdtaW5zJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbkhvdXI6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+PiA9IHtcbiAgc2luZ2xlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGUnLFxuICAgICAgZW46ICdIb3VyJyxcbiAgICAgIGZyOiAnSGV1cmUnLFxuICAgICAgaXQ6ICdPcmEnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG4gIG11bHRpcGxlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGVuJyxcbiAgICAgIGVuOiAnSG91cnMnLFxuICAgICAgZnI6ICdIZXVyZXMnLFxuICAgICAgaXQ6ICdPcmUnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkR1cmF0aW9uRGF5OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pj4gPSB7XG4gIHNpbmdsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnVGFnJyxcbiAgICAgIGVuOiAnRGF5JyxcbiAgICAgIGZyOiAnSm91cicsXG4gICAgICBpdDogJ0dpb3JubycsXG4gICAgfSxcbiAgfSxcbiAgbXVsdGlwbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ1RhZ2UnLFxuICAgICAgZW46ICdEYXlzJyxcbiAgICAgIGZyOiAnSm91cnMnLFxuICAgICAgaXQ6ICdHaW9ybmknLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBRdWF5Q2hhbmdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0dsZWlzw6RuZGVydW5nIGltIFZlcmxhdWYgZGllc2VyIFZlcmJpbmR1bmcnLFxuICBlbjogJ1RyYWNrIGNoYW5nZSBpbiB0aGUgY291cnNlIG9mIHRoaXMgY29ubmVjdGlvbicsXG4gIGZyOiAnQ2hhbmdlbWVudCBkZSB2b2llIHN1ciBsZSBwYXJjb3VycyBkZSBjZXR0ZSBjb25uZXhpb24nLFxuICBpdDogJ0NhbWJpYW1lbnRvIGRpIGJpbmFyaW8gbmVsIGNvcnNvIGRpIHF1ZXN0YSBjb25uZXNzaW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBEdXJhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSZWlzZWRhdWVyJyxcbiAgZW46ICdUcmF2ZWwgdGltZScsXG4gIGZyOiAnRHVyw6llIGR1IHZveWFnZScsXG4gIGl0OiAnRHVyYXRhIGRlbCB2aWFnZ2lvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhdmVsaGludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnUmVpc2VoaW53ZWlzZScsXG4gIGVuOiAnVHJhdmVsaGludHMnLFxuICBmcjogJ0luZGljYXRpb25zIHN1ciBsZSB2b3lhZ2UnLFxuICBpdDogJ0lkaWljYXppb25pIGRpIHZpYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5SZWFsVGltZUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWNodHplaXRpbmZvcm1hdGlvbmVuJyxcbiAgZW46ICdSZWFsIHRpbWUgaW5mb3JtYXRpb24nLFxuICBmcjogJ0luZm9ybWF0aW9ucyBlbiB0ZW1wcyByw6llbCcsXG4gIGl0OiAnSW5mb3JtYXppb25pIGluIHRlbXBvIHJlYWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhbnNmZXJQcm9jZWR1cmU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnbWFsIHVtc3RlaWdlbicsXG4gIGVuOiAnY2hhbmdlJyxcbiAgZnI6ICdjaGFuZ2VtZW50IGRlIHRyYWluJyxcbiAgaXQ6ICdjYW1iaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UcmFuc2ZlclByb2NlZHVyZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnbWFsIHVtc3RlaWdlbicsXG4gIGVuOiAnY2hhbmdlcycsXG4gIGZyOiAnY2hhbmdlbWVudHMgZGUgdHJhaW4nLFxuICBpdDogJ2NhbWJpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV3OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ25ldScsXG4gIGVuOiAnbmV3JyxcbiAgZnI6ICdub3V2ZWF1JyxcbiAgaXQ6ICdudW92bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZyb21QbGF0Zm9ybTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdBdWYnLFxuICBlbjogJ29uJyxcbiAgZnI6ICdzdXInLFxuICBpdDogJ3N1Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU3VwZXJzYXZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTcGFyYmlsbGV0dGUnLFxuICBlbjogJ1N1cGVyc2F2ZXIgdGlja2V0cycsXG4gIGZyOiAnQmlsbGV0cyBkw6lncmlmZsOpcycsXG4gIGl0OiAnQmlnbGlldHRpIHJpc3Bhcm1pbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk9jY3VwYW5jeTogUmVjb3JkPFNiYk9jY3VwYW5jeSwgUmVjb3JkPFNiYkxhbmd1YWdlLCBzdHJpbmc+PiA9IHtcbiAgbm9uZToge1xuICAgIGRlOiAnS2VpbmUgQmVsZWd1bmdzcHJvZ25vc2UgdmVyZsO8Z2JhcicsXG4gICAgZW46ICdObyBvY2N1cGFuY3kgZm9yZWNhc3QgYXZhaWxhYmxlJyxcbiAgICBmcjogXCJBdWN1bmUgcHLDqXZpc2lvbiBkJ29jY3VwYXRpb24gZGlzcG9uaWJsZVwiLFxuICAgIGl0OiAnTmVzc3VuYSBwcmV2aXNpb25lIGRpIG9jY3VwYXppb25lIGRpc3BvbmliaWxlJyxcbiAgfSxcbiAgbG93OiB7XG4gICAgZGU6ICdUaWVmZSBiaXMgbWl0dGxlcmUgQmVsZWd1bmcgZXJ3YXJ0ZXQnLFxuICAgIGVuOiAnTG93IHRvIG1lZGl1bSBvY2N1cGFuY3kgZXhwZWN0ZWQnLFxuICAgIGZyOiBcIk9uIHMnYXR0ZW5kIMOgIHVuIHRhdXggZCdvY2N1cGF0aW9uIGZhaWJsZSDDoCBtb3llblwiLFxuICAgIGl0OiBcIlNpIHByZXZlZGUgdW4nb2NjdXBhemlvbmUgbWVkaW8tYmFzc2FcIixcbiAgfSxcbiAgbWVkaXVtOiB7XG4gICAgZGU6ICdIb2hlIEJlbGVndW5nIGVyd2FydGV0JyxcbiAgICBlbjogJ0hpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidhbHRhIG9jY3VwYXppb25lXCIsXG4gIH0sXG4gIGhpZ2g6IHtcbiAgICBkZTogJ1NlaHIgaG9oZSBCZWxlZ3VuZyBlcndhcnRldCcsXG4gICAgZW46ICdWZXJ5IGhpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiB0csOocyDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidvY2N1cGF6aW9uZSBtb2x0byBhbHRhXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk1lYW5zT2ZUcmFuc3BvcnQ6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmdW5pY3VsYXI6IHtcbiAgICBkZTogJ1NlaWxiYWhuL1phaG5yYWRiYWhuJyxcbiAgICBlbjogJ0Z1bmljdWxhci9Db2cgcmFpbHdheScsXG4gICAgZnI6ICdGdW5pY3VsYWlyZS9DaGVtaW4gZGUgZmVyIMOgIGNyw6ltYWlsbMOocmUnLFxuICAgIGl0OiAnRnVuaXZpYS9GZXJyb3ZpYSBhIGNyZW1hZ2xpZXJhJyxcbiAgfSxcbiAgZWNfaWQ6IHtcbiAgICBkZTogJ0VDL0lDJyxcbiAgICBlbjogJ0VDL0lDJyxcbiAgICBmcjogJ0VDL0lDJyxcbiAgICBpdDogJ0VDL0lDJyxcbiAgfSxcbiAgYnVzOiB7XG4gICAgZGU6ICdCdXMnLFxuICAgIGVuOiAnQnVzJyxcbiAgICBmcjogJ0J1cycsXG4gICAgaXQ6ICdCdXMnLFxuICB9LFxuICByZToge1xuICAgIGRlOiAnUkUnLFxuICAgIGVuOiAnUkUnLFxuICAgIGZyOiAnUkUnLFxuICAgIGl0OiAnUkUnLFxuICB9LFxuICBhcnpfZXh0OiB7XG4gICAgZGU6ICdBUlovRVhUJyxcbiAgICBlbjogJ0FSWi9FWFQnLFxuICAgIGZyOiAnQVJaL0VYVCcsXG4gICAgaXQ6ICdBUlovRVhUJyxcbiAgfSxcbiAgaWNlX3Rndl9yang6IHtcbiAgICBkZTogJ0lDRS9UR1YvUkpYJyxcbiAgICBlbjogJ0lDRS9UR1YvUkpYJyxcbiAgICBmcjogJ0lDRS9UR1YvUkpYJyxcbiAgICBpdDogJ0lDRS9UR1YvUkpYJyxcbiAgfSxcbiAgaXJfcGU6IHtcbiAgICBkZTogJ0lSL1BFJyxcbiAgICBlbjogJ0lSL1BFJyxcbiAgICBmcjogJ0lSL1BFJyxcbiAgICBpdDogJ0lSL1BFJyxcbiAgfSxcbiAgc19zbl9yOiB7XG4gICAgZGU6ICdTL1NOL1InLFxuICAgIGVuOiAnUy9TTi9SJyxcbiAgICBmcjogJ1MvU04vUicsXG4gICAgaXQ6ICdTL1NOL1InLFxuICB9LFxuICB0cmFtd2F5OiB7XG4gICAgZGU6ICdUcmFtL01ldHJvJyxcbiAgICBlbjogJ1RyYW13YXkvVW5kZXJncm91bmQnLFxuICAgIGZyOiAnVHJhbS9Nw6l0cm8nLFxuICAgIGl0OiAnVHJhbS9NZXRybycsXG4gIH0sXG4gIHNoaXA6IHtcbiAgICBkZTogJ1NjaGlmZicsXG4gICAgZW46ICdTaGlwJyxcbiAgICBmcjogJ0JhdGVhdScsXG4gICAgaXQ6ICdCYXR0ZWxsbycsXG4gIH0sXG4gIHRyYWluOiB7XG4gICAgZGU6ICdadWcnLFxuICAgIGVuOiAnVHJhaW4nLFxuICAgIGZyOiAnVHJhaW4nLFxuICAgIGl0OiAnVHJlbm8nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5PcHRpb25hbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICcob3B0aW9uYWwpJyxcbiAgZW46ICcob3B0aW9uYWwpJyxcbiAgZnI6ICcoZmFjdWx0YXRpZiknLFxuICBpdDogJyhmYWNvbHRhdGl2byknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UYXJnZXRPcGVuc0luTmV3V2luZG93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0xpbmt6aWVsIMO2ZmZuZXQgaW4gbmV1ZW0gRmVuc3Rlci4nLFxuICBlbjogJ0xpbmsgdGFyZ2V0IG9wZW5zIGluIGEgbmV3IHdpbmRvdy4nLFxuICBmcjogXCJMZSBsaWVuIHMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmUuXCIsXG4gIGl0OiBcIkwnb2JpZXR0aXZvIGRlbCBsaW5rIHNpIGFwcmUgaW4gdW5hIG51b3ZhIGZpbmVzdHJhLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01pbnV0ZW4gRnVzc3dlZyBuYWNoIEFua3VuZnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBhZnRlciBhcnJpdmFsOicsXG4gIGZyOiAnbWludXRlcyBkZSB0cmFqZXQgw6AgcGllZCBhcHLDqHMgbOKAmWFycml2w6llOicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgYWxs4oCZYXJyaXZvOicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNaW51dGVuIEZ1c3N3ZWcgdm9yIEFiZmFocnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBiZWZvcmUgZGVwYXJ0dXJlOicsXG4gIGZyOiAnbWludXRlcyB0cmFqZXQgw6AgcGllZCBhdmFudCBsZSBkw6lwYXJ0OicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgcHJpbWEgZGVsbGEgcGFydGVuemE6Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VBbGVydDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNZWxkdW5nIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG1lc3NhZ2UnLFxuICBmcjogJ0Zlcm1lciBtZXNzYWdlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBpbCBtZXNzYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZU5vdGlmaWNhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOYWNocmljaHQgc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbWVzc2FnZScsXG4gIGZyOiAnRmVybWVyIG1lc3NhZ2UnLFxuICBpdDogJ0NoaXVkZXJlIGlsIG1lc3NhZ2dpbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEaWFsb2cnLFxuICBlbjogJ0RpYWxvZycsXG4gIGZyOiAnRGlhbG9ndWUnLFxuICBpdDogJ0RpYWxvZ28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZURpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICfDnGJlcmdlbGFnZXJ0ZXMgRmVuc3RlciBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzZWNvbmRhcnkgd2luZG93JyxcbiAgZnI6ICdGZXJtZXIgbGEgZmVuw6p0cmUgc3VwZXJwb3PDqWUnLFxuICBpdDogJ0NoaXVkZXJlIGxhIGZpbmVzdHJhIHNvdnJhcHBvc3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VOYXZpZ2F0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ05hdmlnYXRpb24gc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbmF2aWdhdGlvbicsXG4gIGZyOiAnRmVybWVyIGxhIG5hdmlnYXRpb24nLFxuICBpdDogJ0NoaXVkZXJlIGxhIG5hdmlnYXppb25lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VTaWRlYmFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlbmxlaXN0ZSBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzaWRlYmFyJyxcbiAgZnI6ICdGZXJtZXIgbGEgYmFycmUgbGF0w6lyYWxlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBiYXJyYSBsYXRlcmFsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsb3NlUG9wb3ZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdIaW53ZWlzIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG5vdGUnLFxuICBmcjogJ0Zlcm1lciBsYSBub3RlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBub3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuR29CYWNrOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1csO8Y2snLFxuICBlbjogJ0dvIGJhY2snLFxuICBmcjogJ1JldG91cm5lcicsXG4gIGl0OiAnVmFpIGluZGlldHJvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVG9kYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnSGV1dGUnLFxuICBlbjogJ1RvZGF5JyxcbiAgZnI6ICdBdWpvdXJk4oCZaHVpJyxcbiAgaXQ6ICdPZ2dpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dE1vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gTW9uYXQgd2VjaHNlbG4nLFxuICBlbjogJ0NoYW5nZSB0byB0aGUgbmV4dCBtb250aCcsXG4gIGZyOiAnUGFzc2VyIGF1IG1vaXMgc3VpdmFudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHN1Y2Nlc3Npdm8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c01vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBsZXR6dGVuIE1vbmF0IHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIG1vbnRoJyxcbiAgZnI6ICdQYXNzZXIgYXUgbW9pcyBwcsOpY8OpZGVudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0RGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ07DpGNoc3RlciBUYWcnLFxuICBlbjogJ05leHQgZGF5JyxcbiAgZnI6ICdMZSBwcm9jaGFpbiBqb3VyJyxcbiAgaXQ6ICdHaW9ybm8gc3VjY2Vzc2l2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzRGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZvcmhlcmlnZXIgVGFnJyxcbiAgZW46ICdQcmV2aW91cyBkYXknLFxuICBmcjogJ0pvdXIgcHLDqWPDqWRlbnQnLFxuICBpdDogJ0dpb3JubyBwcmVjZWRlbnRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuWWVhck1vbnRoU2VsZWN0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0phaHIgdW5kIE1vbmF0IGF1c3fDpGhsZW4nLFxuICBlbjogJ0Nob29zZSB5ZWFyIGFuZCBtb250aCcsXG4gIGZyOiBcIkNob2lzaXNzZXogbCdhbm7DqWUgZXQgbGUgbW9pc1wiLFxuICBpdDogJ1NlbGV6aW9uYSBhbm5vIGUgbWVzZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNhbGVuZGFyRGF0ZVNlbGVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXR1bSBhdXN3w6RobGVuJyxcbiAgZW46ICdDaG9vc2UgZGF0ZScsXG4gIGZyOiAnQ2hvaXNpciB1bmUgZGF0ZScsXG4gIGl0OiAnU2VsZXppb25hIHVuYSBkYXRhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dFllYXJSYW5nZSA9ICh5ZWFyUmFuZ2U6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBXZWNoc2VsIHp1IGRlbiBuw6RjaHN0ZW4gJHt5ZWFyUmFuZ2V9IEphaHJlbmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBuZXh0ICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2VyIGF1eCAke3llYXJSYW5nZX0gcHJvY2hhaW5lcyBhbm7DqWVzYCxcbiAgaXQ6IGBQYXNzYXJlIGFpIHN1Y2Nlc3NpdmkgJHt5ZWFyUmFuZ2V9IGFubmlgLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuUHJldmlvdXNZZWFyUmFuZ2UgPSAoeWVhclJhbmdlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgV2VjaHNlbCB6dSBkZW4gdm9yaGVyaWdlbiAke3llYXJSYW5nZX0gSmFocmVuYCxcbiAgZW46IGBDaGFuZ2UgdG8gdGhlIHByZXZpb3VzICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2FnZSBhdXggJHt5ZWFyUmFuZ2V9IHByw6ljw6lkZW50ZXMgYW5uw6llc2AsXG4gIGl0OiBgUGFzc2FyZSBhaSBwcmVjZWRlbnRpICR7eWVhclJhbmdlfSBhbm5pYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bk5leHRZZWFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gSmFociB3ZWNoc2VsbicsXG4gIGVuOiAnQ2hhbmdlIHRvIHRoZSBuZXh0IHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgc3VpdmFudGVcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBzdWNjZXNzaXZvXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzWWVhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdadW0gbGV0enRlbiBKYWhyIHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgcHLDqWPDqWRlbnRcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBwcmVjZWRlbnRlXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdE5leHREYXkgPSAoY3VycmVudERhdGU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBadW0gbsOkY2hzdGVuIFRhZyB3ZWNoc2VsbiwgZGVyemVpdCBhdXNnZXfDpGhsdCAke2N1cnJlbnREYXRlfS5gLFxuICBlbjogYENoYW5nZSB0byB0aGUgbmV4dCBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHN1aXZhbnQsIGFjdHVlbGxlbWVudCBzw6lsZWN0aW9ubsOpICR7Y3VycmVudERhdGV9LmAsXG4gIGl0OiBgUGFzc2FyZSBhbCBnaW9ybm8gc3VjY2Vzc2l2bywgYXR0dWFsbWVudGUgc2VsZXppb25hdG8gJHtjdXJyZW50RGF0ZX0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdFByZXZpb3VzRGF5ID0gKGN1cnJlbnREYXRlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgWnVtIHZvcmhlcmlnZW4gVGFnIHdlY2hzZWxuLCBkZXJ6ZWl0IGF1c2dld8OkaGx0ICR7Y3VycmVudERhdGV9LmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBwcmV2aW91cyBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHByw6ljw6lkZW50LCBhY3R1ZWxsZW1lbnQgc8OpbGVjdGlvbm7DqSAke2N1cnJlbnREYXRlfS5gLFxuICBpdDogYFBhc3NhcmUgYWwgZ2lvcm5vIHByZWNlZGVudGUsIGF0dHVhbG1lbnRlIHNlbGV6aW9uYXRvICR7Y3VycmVudERhdGV9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5TaG93Q2FsZW5kYXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FsZW5kZXIgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgY2FsZW5kYXInLFxuICBmcjogJ0FmZmljaGVyIGxlIGNhbGVuZHJpZXInLFxuICBpdDogJ1Zpc3VhbGl6emFyZSBjYWxlbmRhcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1RULk1NLkpKSkonLFxuICBlbjogJ0RELk1NLllZWVknLFxuICBmcjogJ0pKLk1NLkFBQUEnLFxuICBpdDogJ0dHLk1NLkFBQUEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlQ2hhbmdlZFRvOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0RhdHVtIGdlw6RuZGVydCBhdWYnLFxuICBlbjogJ0RhdGUgY2hhbmdlZCB0bycsXG4gIGZyOiAnRGF0ZSBtb2RpZmnDqWUgYXUnLFxuICBpdDogJ0RhdGEgbW9kaWZpY2F0YSBpbicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25Gcm9tOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZlcmJpbmR1bmcgdm9uJyxcbiAgZW46ICdDb25uZWN0aW9uIGZyb20nLFxuICBmcjogJ0xpYWlzb24gZGUnLFxuICBpdDogJ0NvbGxlZ2FtZW50byBkYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25UbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICduYWNoJyxcbiAgZW46ICd0bycsXG4gIGZyOiAnw6AnLFxuICBpdDogJ2EnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db25uZWN0aW9uUm91bmR0cmlwID0gKHJldHVybkNpdHk6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGB1bmQgenVyw7xjayBuYWNoICR7cmV0dXJuQ2l0eX0uYCxcbiAgZW46IGBhbmQgYmFjayB0byAke3JldHVybkNpdHl9LmAsXG4gIGZyOiBgZXQgcmV0b3VyIMOgICR7cmV0dXJuQ2l0eX0uYCxcbiAgaXQ6IGBlIHJpdG9ybm8gYSAke3JldHVybkNpdHl9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5FeHBhbmRlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdlcndlaXRlcnQnLFxuICBlbjogJ2V4cGFuZGVkJyxcbiAgZnI6ICdlc3QgdGlyw6knLFxuICBpdDogJ2VzYXBuc28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db2xsYXBzZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAncmVkdXppZXJ0JyxcbiAgZW46ICdjb2xsYXBzZWQnLFxuICBmcjogJ2NvbmRlbnPDqScsXG4gIGl0OiAnY29tcHJlc3NvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTWFwQ29udGFpbmVyQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FydGUgemVpZ2VuJyxcbiAgZW46ICdTaG93IG1hcCcsXG4gIGZyOiAnQWZmaWNoZXIgbGEgY2FydGUnLFxuICBpdDogJ01vc3RyYSBsYSBtYXBwYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJyZWFkY3J1bWJFbGxpcHNpc0J1dHRvbkxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01laHIgQnJlYWRjcnVtYnMgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgbW9yZSBicmVhZGNydW1icycsXG4gIGZyOiAnQWZmaWNoZXIgcGx1cyBicmVhZGNydW1icycsXG4gIGl0OiAnTW9zdHJhIHBpw7kgYnJlYWRjcnVtYnMnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UaW1lSW5wdXRDaGFuZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmVpdCBnZcOkbmRlcnQgenUnLFxuICBlbjogJ1RpbWUgY2hhbmdlZCB0bycsXG4gIGZyOiAnSGV1cmUgbW9kaWZpw6llOicsXG4gIGl0OiAnT3JhcmlvIG1vZGlmaWNhdGEgYWxsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsZWFySW5wdXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRmVsZGluaGFsdCBsw7ZzY2hlbicsXG4gIGVuOiAnQ2xlYXIgaW5wdXQgdmFsdWUnLFxuICBmcjogJ0VmZmFjZXIgbGEgdmFsZXVyIGTigJllbnRyw6llJyxcbiAgaXQ6ICdDYW5jZWxsYSBpbCB2YWxvcmUgZGVsbOKAmWlucHV0Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmxpcENhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlIGbDvHIgRGV0YWlscycsXG4gIGVuOiAnQ2xpY2sgb24gdGhpcyBjYXJkIGZvciBkZXRhaWxzJyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHBsdXMgZGUgZMOpdGFpbHMnLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciBpIGRldHRhZ2xpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmV2ZXJzZUNhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlLCB1bSB6dXLDvGNrIHp1ciBadXNhbW1lbmZhc3N1bmcgenUgZ2VsYW5nZW4nLFxuICBlbjogJ0NsaWNrIG9uIHRoaXMgY2FyZCB0byBnbyBiYWNrIHRvIHRoZSBzdW1tYXJ5JyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHJldmVuaXIgYXUgcsOpc3Vtw6knLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciB0b3JuYXJlIGFsIHNvbW1hcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRGF0ZWkgYXVzd8OkaGxlbicsXG4gIGVuOiAnQ2hvb3NlIGEgZmlsZScsXG4gIGZyOiAnQ2hvaXNpc3NleiB1biBmaWNoaWVyJyxcbiAgaXQ6ICdTY2VnbGkgdW4gZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvclN1YnRpdGxlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmllaGUgZGVpbmUgRGF0ZWllbiBoaWVyIGhpbiAoRHJhZyAmIERyb3ApJyxcbiAgZW46ICdEcmFnICYgRHJvcCB5b3VyIGZpbGVzIGhlcmUnLFxuICBmcjogJ0ZhaXRlcyBnbGlzc2VyIGV0IGTDqXBvc2V6IHZvcyBmaWNoaWVycyBpY2knLFxuICBpdDogJ1RyYXNjaW5hIGUgcmlsYXNjaWEgaSB0dW9pIGZpbGUgcXVpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yRGVsZXRlRmlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXRlaSBlbnRmZXJuZW4nLFxuICBlbjogJ1JlbW92ZSBmaWxlJyxcbiAgZnI6ICdFZmZhY2VyIGxlIGZpY2hpZXInLFxuICBpdDogJ1JpbXVvdmkgaWwgZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkID0gKGZpbGVzTmFtZTogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgaWYgKGZpbGVzTmFtZSAmJiBmaWxlc05hbWUubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZTogYEFrdHVlbGwgYXVzZ2V3w6RobHRlIERhdGVpOiAke2ZpbGVzTmFtZS5qb2luKCcsICcpfS5gLFxuICAgICAgZW46IGBDdXJyZW50bHkgc2VsZWN0ZWQgZmlsZXM6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBmcjogYEZpY2hpZXIgYWN0dWVsbGVtZW50IHPDqWxlY3Rpb25uw6k6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBpdDogYEZpbGUgYXR0dWFsbWVudGUgc2VsZXppb25hdG86ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRlOiAnS2VpbmUgRGF0ZWkgYXVzZ2V3w6RobHQuJyxcbiAgICBlbjogJ05vIGZpbGVzIHNlbGVjdGVkLicsXG4gICAgZnI6ICdOZXNzdW4gZmljaGllciBzw6lsZWN0aW9ubsOpLicsXG4gICAgaXQ6ICdOZXNzdW4gZmlsZSBzZWxlemlvbmF0by4nLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0UGFnZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOw6RjaHN0ZSBTZWl0ZScsXG4gIGVuOiAnTmV4dCBwYWdlJyxcbiAgZnI6ICdQcm9jaGFpbmUgcGFnZScsXG4gIGl0OiAnUGFnaW5hIHN1Y2Nlc3NpdmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c1BhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVm9yaGVyaWdlIFNlaXRlJyxcbiAgZW46ICdQcmV2aW91cyBwYWdlJyxcbiAgZnI6ICdQYWdlIHByw6ljw6lkZW50ZScsXG4gIGl0OiAnUGFnaW5hIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QYWdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlJyxcbiAgZW46ICdQYWdlJyxcbiAgZnI6ICdQYWdlJyxcbiAgaXQ6ICdQYWdpbmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JdGVtc1BlclBhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWludHLDpGdlIHBybyBTZWl0ZScsXG4gIGVuOiAnSXRlbXMgcGVyIHBhZ2UnLFxuICBmcjogJ0VudHLDqWVzIHBhciBwYWdlJyxcbiAgaXQ6ICdFbGVtZW50aSBwZXIgcGFnaW5hJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0ZWRQYWdlID0gKHBhZ2VOdW1iZXI6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBTZWl0ZSAke3BhZ2VOdW1iZXJ9IGF1c2dld8OkaGx0LmAsXG4gIGVuOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHNlbGVjdGVkLmAsXG4gIGZyOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHPDqWxlY3Rpb25uw6llLmAsXG4gIGl0OiBgUGFnaW5hICR7cGFnZU51bWJlcn0gc2VsZXppb25hdGEuYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkNoZWNrYm94UmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTXVzcyBnZXNldHp0IHNlaW4uJyxcbiAgZW46ICdNdXN0IGJlIGNoZWNrZWQuJyxcbiAgZnI6ICdEb2l0IMOqdHJlIGTDqWZpbmkuJyxcbiAgaXQ6ICdEZXZlIGVzc2VyZSBpbXBvc3RhdG8uJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0aW9uUmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQXVzd2FobCBlcmZvcmRlcmxpY2guJyxcbiAgZW46ICdTZWxlY3Rpb24gcmVxdWlyZWQuJyxcbiAgZnI6ICdTw6lsZWN0aW9uIHJlcXVpc2UuJyxcbiAgaXQ6ICdTZWxlemlvbmUgbmVjZXNzYXJpYS4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JbnB1dFJlcXVpcmVkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0VpbmdhYmUgZXJmb3JkZXJsaWNoLicsXG4gIGVuOiAnSW5wdXQgcmVxdWlyZWQuJyxcbiAgZnI6ICdFbnRyw6llIG9ibGlnYXRvaXJlLicsXG4gIGl0OiAnSW5zZXJpbWVudG8gbmVjZXNzYXJpby4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlSW52YWxpZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdCaXR0ZSBnw7xsdGlnZXMgRGF0dW0gZWluZ2ViZW4uJyxcbiAgZW46ICdQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGRhdGUuJyxcbiAgZnI6ICdWZXVpbGxleiBzYWlzaXIgdW5lIGRhdGUgdmFsaWRlLicsXG4gIGl0OiAnSW5zZXJpcmUgdW5hIGRhdGEgdmFsaWRhLicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNaW4gPSAobWluOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCB2b3IgJHttaW59IHNlaW4uYCxcbiAgZW46IGBEYXRlIG11c3Qgbm90IGJlIGJlZm9yZSAke21pbn0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIGFudMOpcmlldXJlIGF1ICR7bWlufS5gLFxuICBpdDogYExhIGRhdGEgbm9uIGRldmUgZXNzZXJlIGFudGVyaW9yZSBhbCAke21pbn0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNYXggPSAobWF4OiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCBuYWNoICR7bWF4fSBzZWluLmAsXG4gIGVuOiBgRGF0ZSBtdXN0IG5vdCBiZSBhZnRlciAke21heH0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIHBvc3TDqXJpZXVyZSBhdSAke21heH0uYCxcbiAgaXQ6IGBMYSBkYXRhIG5vbiBkZXZlIGVzc2VyZSBzdWNjZXNzaXZhIGFsICR7bWF4fS5gLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuQ2hpcERlbGV0ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEcsO8Y2tlbiBTaWUgZGllIEVudGZlcm5lbi1UYXN0ZSB1bSBkZW4gQ2hpcCB6dSBsw7ZzY2hlbicsXG4gIGVuOiAnUHJlc3MgdGhlIERlbGV0ZSBidXR0b24gdG8gcmVtb3ZlIHRoZSBjaGlwJyxcbiAgZnI6ICdBcHB1eWV6IHN1ciBsYSB0b3VjaGUgRGVsIHBvdXIgc3VwcHJpbWVyIGNldHRlIHB1Y2UnLFxuICBpdDogJ1ByZW1pIGlsIHRhc3RvIENhbmMgcGVyIHJpbXVvdmVyZSBxdWVzdGEgY2hpcCcsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQXVzZ2V3w6RobHRlIEVsZW1lbnRlOicsXG4gIGVuOiAnU2VsZWN0ZWQgZWxlbWVudHM6JyxcbiAgZnI6ICfDiWzDqW1lbnRzIHPDqWxlY3Rpb25uw6lzOicsXG4gIGl0OiAnRWxlbWVudGkgc2VsZXppb25hdGk6Jyxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRU8sTUFBTSxnQkFBd0M7QUFBQSxFQUNuRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sY0FBc0M7QUFBQSxFQUNqRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sYUFBcUM7QUFBQSxFQUNoRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sa0JBQTBDO0FBQUEsRUFDckQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLFlBQW9EO0FBQUEsRUFDL0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElB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
|
|
793
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvaTE4bi9pMThuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiTGFuZ3VhZ2UsIFNiYk9jY3VwYW5jeSB9IGZyb20gJy4uL2ludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgY29uc3QgaTE4bkRpcmVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSaWNodHVuZycsXG4gIGVuOiAnRGlyZWN0aW9uJyxcbiAgZnI6ICdEaXJlY3Rpb24nLFxuICBpdDogJ0RpcmV6aW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkFycml2YWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQW5rdW5mdCcsXG4gIGVuOiAnQXJyaXZhbCcsXG4gIGZyOiAnQXJyaXbDqWUnLFxuICBpdDogJ0Fycml2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTZWt0b3InLFxuICBlbjogJ1NlY3RvcicsXG4gIGZyOiAnU2VjdGV1cicsXG4gIGl0OiAnU2V0dG9yZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvclNob3J0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NrdC4nLFxuICBlbjogJ1NlYy4nLFxuICBmcjogJ1NlY3QuJyxcbiAgaXQ6ICdTZXQuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xhc3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmaXJzdDoge1xuICAgIGRlOiAnRXJzdGUgS2xhc3NlJyxcbiAgICBlbjogJ0ZpcnN0IENsYXNzJyxcbiAgICBmcjogJ1ByZW1pw6hyZSBjbGFzc2UnLFxuICAgIGl0OiAnUHJpbWEgY2xhc3NlJyxcbiAgfSxcbiAgc2Vjb25kOiB7XG4gICAgZGU6ICdad2VpdGUgS2xhc3NlJyxcbiAgICBlbjogJ1NlY29uZCBDbGFzcycsXG4gICAgZnI6ICdEZXV4acOobWUgY2xhc3NlJyxcbiAgICBpdDogJ1NlY29uZGEgY2xhc3NlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVnJyxcbiAgZW46ICdUcmFpbicsXG4gIGZyOiAnVHJhaW4nLFxuICBpdDogJ1RyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW5zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1rDvGdlJyxcbiAgZW46ICdUcmFpbnMnLFxuICBmcjogJ1RyYWlucycsXG4gIGl0OiAnVHJlbmknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWdvbnNMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdXYWdlbiBkZXMgWnVnZXMnLFxuICBlbjogJ0NvYWNoZXMgb2YgdGhlIHRyYWluJyxcbiAgZnI6ICdXYWdvbnMgZGUgdHJhaW4nLFxuICBpdDogJ0NhcnJvenplIGRlbCB0cmVubycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnV2FnZW4nLFxuICBlbjogJ1RyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbicsXG4gIGl0OiAnQ2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuV2Fnb25MYWJlbE51bWJlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6IGBOdW1tZXJgLFxuICBlbjogYE51bWJlcmAsXG4gIGZyOiBgTnVtw6lyb2AsXG4gIGl0OiBgTnVtZXJvYCxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdHZXNjaGxvc3NlbmVyIFp1Z3dhZ2dvbicsXG4gIGVuOiAnQ2xvc2VkIHRyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbiBmZXJtw6knLFxuICBpdDogJ0NhcnJvenphIGRlbCB0cmVubyBjaGl1c28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Mb2NvbW90aXZlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTG9rb21vdGl2ZScsXG4gIGVuOiAnTG9jb21vdGl2ZScsXG4gIGZyOiAnTG9jb21vdGl2ZScsXG4gIGl0OiAnTG9jb21vdGl2YScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNsZWVwaW5nV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTY2hsYWZ3YWdlbicsXG4gIGVuOiAnU2xlZXBpbmcgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWxpdHMnLFxuICBpdDogJ0NhcnJvenphIGxldHRpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ291Y2hldHRlV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdMaWVnZXdhZ2VuJyxcbiAgZW46ICdDb3VjaGV0dGUgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWNvdWNoZXR0ZXMnLFxuICBpdDogJ0NhcnJvenphIGN1Y2NldHRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmVzdGF1cmFudFdhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnU3BlaXNld2FnZW4nLFxuICBlbjogJ0RpbmluZyBjYXInLFxuICBmcjogJ1ZvaXR1cmUtcmVzdGF1cmFudCcsXG4gIGl0OiAnQ2Fycm96emEgcmlzdG9yYW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJsb2NrZWRQYXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgcHJldmlvdXM6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSB2b3JoZXJpZ2VuIFdhZ2VuJyxcbiAgICBlbjogJ05vIHBhc3NhZ2UgdG8gdGhlIHByZXZpb3VzIHRyYWluIGNvYWNoJyxcbiAgICBmcjogJ1BhcyBkZSBwYXNzYWdlIGF1IHdhZ29uIGR1IHRyYWluIHByw6ljw6lkZW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gcHJlY2VkZW50ZScsXG4gIH0sXG4gIG5leHQ6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCB0cmFpbiBjb2FjaCcsXG4gICAgZnI6ICdQYXMgZGUgcGFzc2FnZSBhdSB3YWdvbiBkZSB0cmFpbiBzdWl2YW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gc3VjY2Vzc2l2bycsXG4gIH0sXG4gIGJvdGg6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gdW5kIHZvcmhlcmlnZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgdHJhaW4gY29hY2gnLFxuICAgIGZyOiAnUGFzIGRlIHBhc3NhZ2UgYXUgd2Fnb24gZGUgdHJhaW4gc3VpdmFudCBldCBwcsOpY8OpZGVudCcsXG4gICAgaXQ6ICdOZXNzdW4gcGFzc2FnZ2lvIGFsbGEgY2Fycm96emEgZGVsIHRyZW5vIHN1Y2Nlc3Npdm8gZSBwcmVjZWRlbnRlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQWRkaXRpb25hbFdhZ29uSW5mb3JtYXRpb25IZWFkaW5nOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1c8OkdHpsaWNoZSBXYWdlbmluZm9ybWF0aW9uJyxcbiAgZW46ICdBZGRpdGlvbmFsIHdhZ29uIGluZm9ybWF0aW9uJyxcbiAgZnI6ICdJbmZvcm1hdGlvbnMgc3VwcGzDqW1lbnRhaXJlcyBzdXIgbGVzIHdhZ29ucycsXG4gIGl0OiAnSW5mb3JtYXppb25pIGFnZ2l1bnRpdmUgc3VsbGEgY2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGVwYXJ0dXJlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0FiZmFocnQnLFxuICBlbjogJ0RlcGFydHVyZScsXG4gIGZyOiAnRMOpcGFydCcsXG4gIGl0OiAnUGFydGVuemEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbk1pbnV0ZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4+ID0ge1xuICBzaW5nbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ01pbnV0ZScsXG4gICAgICBlbjogJ01pbnV0ZScsXG4gICAgICBmcjogJ01pbnV0ZScsXG4gICAgICBpdDogJ01pbnV0bycsXG4gICAgfSxcbiAgICBzaG9ydDoge1xuICAgICAgZGU6ICdtJyxcbiAgICAgIGVuOiAnbScsXG4gICAgICBmcjogJ20nLFxuICAgICAgaXQ6ICdtJyxcbiAgICB9LFxuICB9LFxuICBtdWx0aXBsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnTWludXRlbicsXG4gICAgICBlbjogJ01pbnV0ZXMnLFxuICAgICAgZnI6ICdNaW51dGVzJyxcbiAgICAgIGl0OiAnTWludXRpJyxcbiAgICB9LFxuICAgIHNob3J0OiB7XG4gICAgICBkZTogJ01pbicsXG4gICAgICBlbjogJ21pbicsXG4gICAgICBmcjogJ21pbi4nLFxuICAgICAgaXQ6ICdtaW5zJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbkhvdXI6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+PiA9IHtcbiAgc2luZ2xlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGUnLFxuICAgICAgZW46ICdIb3VyJyxcbiAgICAgIGZyOiAnSGV1cmUnLFxuICAgICAgaXQ6ICdPcmEnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG4gIG11bHRpcGxlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGVuJyxcbiAgICAgIGVuOiAnSG91cnMnLFxuICAgICAgZnI6ICdIZXVyZXMnLFxuICAgICAgaXQ6ICdPcmUnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkR1cmF0aW9uRGF5OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pj4gPSB7XG4gIHNpbmdsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnVGFnJyxcbiAgICAgIGVuOiAnRGF5JyxcbiAgICAgIGZyOiAnSm91cicsXG4gICAgICBpdDogJ0dpb3JubycsXG4gICAgfSxcbiAgfSxcbiAgbXVsdGlwbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ1RhZ2UnLFxuICAgICAgZW46ICdEYXlzJyxcbiAgICAgIGZyOiAnSm91cnMnLFxuICAgICAgaXQ6ICdHaW9ybmknLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBRdWF5Q2hhbmdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0dsZWlzw6RuZGVydW5nIGltIFZlcmxhdWYgZGllc2VyIFZlcmJpbmR1bmcnLFxuICBlbjogJ1RyYWNrIGNoYW5nZSBpbiB0aGUgY291cnNlIG9mIHRoaXMgY29ubmVjdGlvbicsXG4gIGZyOiAnQ2hhbmdlbWVudCBkZSB2b2llIHN1ciBsZSBwYXJjb3VycyBkZSBjZXR0ZSBjb25uZXhpb24nLFxuICBpdDogJ0NhbWJpYW1lbnRvIGRpIGJpbmFyaW8gbmVsIGNvcnNvIGRpIHF1ZXN0YSBjb25uZXNzaW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBEdXJhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSZWlzZWRhdWVyJyxcbiAgZW46ICdUcmF2ZWwgdGltZScsXG4gIGZyOiAnRHVyw6llIGR1IHZveWFnZScsXG4gIGl0OiAnRHVyYXRhIGRlbCB2aWFnZ2lvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhdmVsaGludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnUmVpc2VoaW53ZWlzZScsXG4gIGVuOiAnVHJhdmVsaGludHMnLFxuICBmcjogJ0luZGljYXRpb25zIHN1ciBsZSB2b3lhZ2UnLFxuICBpdDogJ0lkaWljYXppb25pIGRpIHZpYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5SZWFsVGltZUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWNodHplaXRpbmZvcm1hdGlvbmVuJyxcbiAgZW46ICdSZWFsIHRpbWUgaW5mb3JtYXRpb24nLFxuICBmcjogJ0luZm9ybWF0aW9ucyBlbiB0ZW1wcyByw6llbCcsXG4gIGl0OiAnSW5mb3JtYXppb25pIGluIHRlbXBvIHJlYWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhbnNmZXJQcm9jZWR1cmU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnbWFsIHVtc3RlaWdlbicsXG4gIGVuOiAnY2hhbmdlJyxcbiAgZnI6ICdjaGFuZ2VtZW50IGRlIHRyYWluJyxcbiAgaXQ6ICdjYW1iaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UcmFuc2ZlclByb2NlZHVyZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnbWFsIHVtc3RlaWdlbicsXG4gIGVuOiAnY2hhbmdlcycsXG4gIGZyOiAnY2hhbmdlbWVudHMgZGUgdHJhaW4nLFxuICBpdDogJ2NhbWJpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV3OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ25ldScsXG4gIGVuOiAnbmV3JyxcbiAgZnI6ICdub3V2ZWF1JyxcbiAgaXQ6ICdudW92bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZyb21QbGF0Zm9ybTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdBdWYnLFxuICBlbjogJ29uJyxcbiAgZnI6ICdzdXInLFxuICBpdDogJ3N1Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU3VwZXJzYXZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTcGFyYmlsbGV0dGUnLFxuICBlbjogJ1N1cGVyc2F2ZXIgdGlja2V0cycsXG4gIGZyOiAnQmlsbGV0cyBkw6lncmlmZsOpcycsXG4gIGl0OiAnQmlnbGlldHRpIHJpc3Bhcm1pbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk9jY3VwYW5jeTogUmVjb3JkPFNiYk9jY3VwYW5jeSwgUmVjb3JkPFNiYkxhbmd1YWdlLCBzdHJpbmc+PiA9IHtcbiAgbm9uZToge1xuICAgIGRlOiAnS2VpbmUgQmVsZWd1bmdzcHJvZ25vc2UgdmVyZsO8Z2JhcicsXG4gICAgZW46ICdObyBvY2N1cGFuY3kgZm9yZWNhc3QgYXZhaWxhYmxlJyxcbiAgICBmcjogXCJBdWN1bmUgcHLDqXZpc2lvbiBkJ29jY3VwYXRpb24gZGlzcG9uaWJsZVwiLFxuICAgIGl0OiAnTmVzc3VuYSBwcmV2aXNpb25lIGRpIG9jY3VwYXppb25lIGRpc3BvbmliaWxlJyxcbiAgfSxcbiAgbG93OiB7XG4gICAgZGU6ICdUaWVmZSBiaXMgbWl0dGxlcmUgQmVsZWd1bmcgZXJ3YXJ0ZXQnLFxuICAgIGVuOiAnTG93IHRvIG1lZGl1bSBvY2N1cGFuY3kgZXhwZWN0ZWQnLFxuICAgIGZyOiBcIk9uIHMnYXR0ZW5kIMOgIHVuIHRhdXggZCdvY2N1cGF0aW9uIGZhaWJsZSDDoCBtb3llblwiLFxuICAgIGl0OiBcIlNpIHByZXZlZGUgdW4nb2NjdXBhemlvbmUgbWVkaW8tYmFzc2FcIixcbiAgfSxcbiAgbWVkaXVtOiB7XG4gICAgZGU6ICdIb2hlIEJlbGVndW5nIGVyd2FydGV0JyxcbiAgICBlbjogJ0hpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidhbHRhIG9jY3VwYXppb25lXCIsXG4gIH0sXG4gIGhpZ2g6IHtcbiAgICBkZTogJ1NlaHIgaG9oZSBCZWxlZ3VuZyBlcndhcnRldCcsXG4gICAgZW46ICdWZXJ5IGhpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiB0csOocyDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidvY2N1cGF6aW9uZSBtb2x0byBhbHRhXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk1lYW5zT2ZUcmFuc3BvcnQ6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmdW5pY3VsYXI6IHtcbiAgICBkZTogJ1NlaWxiYWhuL1phaG5yYWRiYWhuJyxcbiAgICBlbjogJ0Z1bmljdWxhci9Db2cgcmFpbHdheScsXG4gICAgZnI6ICdGdW5pY3VsYWlyZS9DaGVtaW4gZGUgZmVyIMOgIGNyw6ltYWlsbMOocmUnLFxuICAgIGl0OiAnRnVuaXZpYS9GZXJyb3ZpYSBhIGNyZW1hZ2xpZXJhJyxcbiAgfSxcbiAgZWNfaWQ6IHtcbiAgICBkZTogJ0VDL0lDJyxcbiAgICBlbjogJ0VDL0lDJyxcbiAgICBmcjogJ0VDL0lDJyxcbiAgICBpdDogJ0VDL0lDJyxcbiAgfSxcbiAgYnVzOiB7XG4gICAgZGU6ICdCdXMnLFxuICAgIGVuOiAnQnVzJyxcbiAgICBmcjogJ0J1cycsXG4gICAgaXQ6ICdCdXMnLFxuICB9LFxuICByZToge1xuICAgIGRlOiAnUkUnLFxuICAgIGVuOiAnUkUnLFxuICAgIGZyOiAnUkUnLFxuICAgIGl0OiAnUkUnLFxuICB9LFxuICBhcnpfZXh0OiB7XG4gICAgZGU6ICdBUlovRVhUJyxcbiAgICBlbjogJ0FSWi9FWFQnLFxuICAgIGZyOiAnQVJaL0VYVCcsXG4gICAgaXQ6ICdBUlovRVhUJyxcbiAgfSxcbiAgaWNlX3Rndl9yang6IHtcbiAgICBkZTogJ0lDRS9UR1YvUkpYJyxcbiAgICBlbjogJ0lDRS9UR1YvUkpYJyxcbiAgICBmcjogJ0lDRS9UR1YvUkpYJyxcbiAgICBpdDogJ0lDRS9UR1YvUkpYJyxcbiAgfSxcbiAgaXJfcGU6IHtcbiAgICBkZTogJ0lSL1BFJyxcbiAgICBlbjogJ0lSL1BFJyxcbiAgICBmcjogJ0lSL1BFJyxcbiAgICBpdDogJ0lSL1BFJyxcbiAgfSxcbiAgc19zbl9yOiB7XG4gICAgZGU6ICdTL1NOL1InLFxuICAgIGVuOiAnUy9TTi9SJyxcbiAgICBmcjogJ1MvU04vUicsXG4gICAgaXQ6ICdTL1NOL1InLFxuICB9LFxuICB0cmFtd2F5OiB7XG4gICAgZGU6ICdUcmFtL01ldHJvJyxcbiAgICBlbjogJ1RyYW13YXkvVW5kZXJncm91bmQnLFxuICAgIGZyOiAnVHJhbS9Nw6l0cm8nLFxuICAgIGl0OiAnVHJhbS9NZXRybycsXG4gIH0sXG4gIHNoaXA6IHtcbiAgICBkZTogJ1NjaGlmZicsXG4gICAgZW46ICdTaGlwJyxcbiAgICBmcjogJ0JhdGVhdScsXG4gICAgaXQ6ICdCYXR0ZWxsbycsXG4gIH0sXG4gIHRyYWluOiB7XG4gICAgZGU6ICdadWcnLFxuICAgIGVuOiAnVHJhaW4nLFxuICAgIGZyOiAnVHJhaW4nLFxuICAgIGl0OiAnVHJlbm8nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5PcHRpb25hbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICcob3B0aW9uYWwpJyxcbiAgZW46ICcob3B0aW9uYWwpJyxcbiAgZnI6ICcoZmFjdWx0YXRpZiknLFxuICBpdDogJyhmYWNvbHRhdGl2byknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UYXJnZXRPcGVuc0luTmV3V2luZG93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0xpbmt6aWVsIMO2ZmZuZXQgaW4gbmV1ZW0gRmVuc3Rlci4nLFxuICBlbjogJ0xpbmsgdGFyZ2V0IG9wZW5zIGluIGEgbmV3IHdpbmRvdy4nLFxuICBmcjogXCJMZSBsaWVuIHMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmUuXCIsXG4gIGl0OiBcIkwnb2JpZXR0aXZvIGRlbCBsaW5rIHNpIGFwcmUgaW4gdW5hIG51b3ZhIGZpbmVzdHJhLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01pbnV0ZW4gRnVzc3dlZyBuYWNoIEFua3VuZnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBhZnRlciBhcnJpdmFsOicsXG4gIGZyOiAnbWludXRlcyBkZSB0cmFqZXQgw6AgcGllZCBhcHLDqHMgbOKAmWFycml2w6llOicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgYWxs4oCZYXJyaXZvOicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNaW51dGVuIEZ1c3N3ZWcgdm9yIEFiZmFocnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBiZWZvcmUgZGVwYXJ0dXJlOicsXG4gIGZyOiAnbWludXRlcyB0cmFqZXQgw6AgcGllZCBhdmFudCBsZSBkw6lwYXJ0OicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgcHJpbWEgZGVsbGEgcGFydGVuemE6Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VBbGVydDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNZWxkdW5nIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG1lc3NhZ2UnLFxuICBmcjogJ0Zlcm1lciBtZXNzYWdlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBpbCBtZXNzYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZU5vdGlmaWNhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOYWNocmljaHQgc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbWVzc2FnZScsXG4gIGZyOiAnRmVybWVyIG1lc3NhZ2UnLFxuICBpdDogJ0NoaXVkZXJlIGlsIG1lc3NhZ2dpbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEaWFsb2cnLFxuICBlbjogJ0RpYWxvZycsXG4gIGZyOiAnRGlhbG9ndWUnLFxuICBpdDogJ0RpYWxvZ28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZURpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICfDnGJlcmdlbGFnZXJ0ZXMgRmVuc3RlciBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzZWNvbmRhcnkgd2luZG93JyxcbiAgZnI6ICdGZXJtZXIgbGEgZmVuw6p0cmUgc3VwZXJwb3PDqWUnLFxuICBpdDogJ0NoaXVkZXJlIGxhIGZpbmVzdHJhIHNvdnJhcHBvc3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VOYXZpZ2F0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ05hdmlnYXRpb24gc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbmF2aWdhdGlvbicsXG4gIGZyOiAnRmVybWVyIGxhIG5hdmlnYXRpb24nLFxuICBpdDogJ0NoaXVkZXJlIGxhIG5hdmlnYXppb25lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VTaWRlYmFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlbmxlaXN0ZSBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzaWRlYmFyJyxcbiAgZnI6ICdGZXJtZXIgbGEgYmFycmUgbGF0w6lyYWxlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBiYXJyYSBsYXRlcmFsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsb3NlUG9wb3ZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdIaW53ZWlzIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG5vdGUnLFxuICBmcjogJ0Zlcm1lciBsYSBub3RlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBub3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuR29CYWNrOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1csO8Y2snLFxuICBlbjogJ0dvIGJhY2snLFxuICBmcjogJ1JldG91cm5lcicsXG4gIGl0OiAnVmFpIGluZGlldHJvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVG9kYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnSGV1dGUnLFxuICBlbjogJ1RvZGF5JyxcbiAgZnI6ICdBdWpvdXJk4oCZaHVpJyxcbiAgaXQ6ICdPZ2dpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dE1vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gTW9uYXQgd2VjaHNlbG4nLFxuICBlbjogJ0NoYW5nZSB0byB0aGUgbmV4dCBtb250aCcsXG4gIGZyOiAnUGFzc2VyIGF1IG1vaXMgc3VpdmFudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHN1Y2Nlc3Npdm8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c01vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBsZXR6dGVuIE1vbmF0IHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIG1vbnRoJyxcbiAgZnI6ICdQYXNzZXIgYXUgbW9pcyBwcsOpY8OpZGVudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0RGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ07DpGNoc3RlciBUYWcnLFxuICBlbjogJ05leHQgZGF5JyxcbiAgZnI6ICdMZSBwcm9jaGFpbiBqb3VyJyxcbiAgaXQ6ICdHaW9ybm8gc3VjY2Vzc2l2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzRGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZvcmhlcmlnZXIgVGFnJyxcbiAgZW46ICdQcmV2aW91cyBkYXknLFxuICBmcjogJ0pvdXIgcHLDqWPDqWRlbnQnLFxuICBpdDogJ0dpb3JubyBwcmVjZWRlbnRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuWWVhck1vbnRoU2VsZWN0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0phaHIgdW5kIE1vbmF0IGF1c3fDpGhsZW4nLFxuICBlbjogJ0Nob29zZSB5ZWFyIGFuZCBtb250aCcsXG4gIGZyOiBcIkNob2lzaXNzZXogbCdhbm7DqWUgZXQgbGUgbW9pc1wiLFxuICBpdDogJ1NlbGV6aW9uYSBhbm5vIGUgbWVzZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNhbGVuZGFyRGF0ZVNlbGVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXR1bSBhdXN3w6RobGVuJyxcbiAgZW46ICdDaG9vc2UgZGF0ZScsXG4gIGZyOiAnQ2hvaXNpciB1bmUgZGF0ZScsXG4gIGl0OiAnU2VsZXppb25hIHVuYSBkYXRhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dFllYXJSYW5nZSA9ICh5ZWFyUmFuZ2U6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBXZWNoc2VsIHp1IGRlbiBuw6RjaHN0ZW4gJHt5ZWFyUmFuZ2V9IEphaHJlbmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBuZXh0ICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2VyIGF1eCAke3llYXJSYW5nZX0gcHJvY2hhaW5lcyBhbm7DqWVzYCxcbiAgaXQ6IGBQYXNzYXJlIGFpIHN1Y2Nlc3NpdmkgJHt5ZWFyUmFuZ2V9IGFubmlgLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuUHJldmlvdXNZZWFyUmFuZ2UgPSAoeWVhclJhbmdlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgV2VjaHNlbCB6dSBkZW4gdm9yaGVyaWdlbiAke3llYXJSYW5nZX0gSmFocmVuYCxcbiAgZW46IGBDaGFuZ2UgdG8gdGhlIHByZXZpb3VzICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2FnZSBhdXggJHt5ZWFyUmFuZ2V9IHByw6ljw6lkZW50ZXMgYW5uw6llc2AsXG4gIGl0OiBgUGFzc2FyZSBhaSBwcmVjZWRlbnRpICR7eWVhclJhbmdlfSBhbm5pYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bk5leHRZZWFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gSmFociB3ZWNoc2VsbicsXG4gIGVuOiAnQ2hhbmdlIHRvIHRoZSBuZXh0IHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgc3VpdmFudGVcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBzdWNjZXNzaXZvXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzWWVhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdadW0gbGV0enRlbiBKYWhyIHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgcHLDqWPDqWRlbnRcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBwcmVjZWRlbnRlXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdE5leHREYXkgPSAoY3VycmVudERhdGU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBadW0gbsOkY2hzdGVuIFRhZyB3ZWNoc2VsbiwgZGVyemVpdCBhdXNnZXfDpGhsdCAke2N1cnJlbnREYXRlfS5gLFxuICBlbjogYENoYW5nZSB0byB0aGUgbmV4dCBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHN1aXZhbnQsIGFjdHVlbGxlbWVudCBzw6lsZWN0aW9ubsOpICR7Y3VycmVudERhdGV9LmAsXG4gIGl0OiBgUGFzc2FyZSBhbCBnaW9ybm8gc3VjY2Vzc2l2bywgYXR0dWFsbWVudGUgc2VsZXppb25hdG8gJHtjdXJyZW50RGF0ZX0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdFByZXZpb3VzRGF5ID0gKGN1cnJlbnREYXRlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgWnVtIHZvcmhlcmlnZW4gVGFnIHdlY2hzZWxuLCBkZXJ6ZWl0IGF1c2dld8OkaGx0ICR7Y3VycmVudERhdGV9LmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBwcmV2aW91cyBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHByw6ljw6lkZW50LCBhY3R1ZWxsZW1lbnQgc8OpbGVjdGlvbm7DqSAke2N1cnJlbnREYXRlfS5gLFxuICBpdDogYFBhc3NhcmUgYWwgZ2lvcm5vIHByZWNlZGVudGUsIGF0dHVhbG1lbnRlIHNlbGV6aW9uYXRvICR7Y3VycmVudERhdGV9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5TaG93Q2FsZW5kYXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FsZW5kZXIgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgY2FsZW5kYXInLFxuICBmcjogJ0FmZmljaGVyIGxlIGNhbGVuZHJpZXInLFxuICBpdDogJ1Zpc3VhbGl6emFyZSBjYWxlbmRhcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1RULk1NLkpKSkonLFxuICBlbjogJ0RELk1NLllZWVknLFxuICBmcjogJ0pKLk1NLkFBQUEnLFxuICBpdDogJ0dHLk1NLkFBQUEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlQ2hhbmdlZFRvOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0RhdHVtIGdlw6RuZGVydCBhdWYnLFxuICBlbjogJ0RhdGUgY2hhbmdlZCB0bycsXG4gIGZyOiAnRGF0ZSBtb2RpZmnDqWUgYXUnLFxuICBpdDogJ0RhdGEgbW9kaWZpY2F0YSBpbicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25Gcm9tOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZlcmJpbmR1bmcgdm9uJyxcbiAgZW46ICdDb25uZWN0aW9uIGZyb20nLFxuICBmcjogJ0xpYWlzb24gZGUnLFxuICBpdDogJ0NvbGxlZ2FtZW50byBkYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25UbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICduYWNoJyxcbiAgZW46ICd0bycsXG4gIGZyOiAnw6AnLFxuICBpdDogJ2EnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db25uZWN0aW9uUm91bmR0cmlwID0gKHJldHVybkNpdHk6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGB1bmQgenVyw7xjayBuYWNoICR7cmV0dXJuQ2l0eX0uYCxcbiAgZW46IGBhbmQgYmFjayB0byAke3JldHVybkNpdHl9LmAsXG4gIGZyOiBgZXQgcmV0b3VyIMOgICR7cmV0dXJuQ2l0eX0uYCxcbiAgaXQ6IGBlIHJpdG9ybm8gYSAke3JldHVybkNpdHl9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5FeHBhbmRlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdlcndlaXRlcnQnLFxuICBlbjogJ2V4cGFuZGVkJyxcbiAgZnI6ICdlc3QgdGlyw6knLFxuICBpdDogJ2VzYXBuc28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db2xsYXBzZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAncmVkdXppZXJ0JyxcbiAgZW46ICdjb2xsYXBzZWQnLFxuICBmcjogJ2NvbmRlbnPDqScsXG4gIGl0OiAnY29tcHJlc3NvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTWFwQ29udGFpbmVyQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FydGUgemVpZ2VuJyxcbiAgZW46ICdTaG93IG1hcCcsXG4gIGZyOiAnQWZmaWNoZXIgbGEgY2FydGUnLFxuICBpdDogJ01vc3RyYSBsYSBtYXBwYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJyZWFkY3J1bWJFbGxpcHNpc0J1dHRvbkxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01laHIgQnJlYWRjcnVtYnMgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgbW9yZSBicmVhZGNydW1icycsXG4gIGZyOiAnQWZmaWNoZXIgcGx1cyBicmVhZGNydW1icycsXG4gIGl0OiAnTW9zdHJhIHBpw7kgYnJlYWRjcnVtYnMnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UaW1lSW5wdXRDaGFuZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmVpdCBnZcOkbmRlcnQgenUnLFxuICBlbjogJ1RpbWUgY2hhbmdlZCB0bycsXG4gIGZyOiAnSGV1cmUgbW9kaWZpw6llOicsXG4gIGl0OiAnT3JhcmlvIG1vZGlmaWNhdGEgYWxsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsZWFySW5wdXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRmVsZGluaGFsdCBsw7ZzY2hlbicsXG4gIGVuOiAnQ2xlYXIgaW5wdXQgdmFsdWUnLFxuICBmcjogJ0VmZmFjZXIgbGEgdmFsZXVyIGTigJllbnRyw6llJyxcbiAgaXQ6ICdDYW5jZWxsYSBpbCB2YWxvcmUgZGVsbOKAmWlucHV0Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmxpcENhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlIGbDvHIgRGV0YWlscycsXG4gIGVuOiAnQ2xpY2sgb24gdGhpcyBjYXJkIGZvciBkZXRhaWxzJyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHBsdXMgZGUgZMOpdGFpbHMnLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciBpIGRldHRhZ2xpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmV2ZXJzZUNhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlLCB1bSB6dXLDvGNrIHp1ciBadXNhbW1lbmZhc3N1bmcgenUgZ2VsYW5nZW4nLFxuICBlbjogJ0NsaWNrIG9uIHRoaXMgY2FyZCB0byBnbyBiYWNrIHRvIHRoZSBzdW1tYXJ5JyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHJldmVuaXIgYXUgcsOpc3Vtw6knLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciB0b3JuYXJlIGFsIHNvbW1hcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRGF0ZWkgYXVzd8OkaGxlbicsXG4gIGVuOiAnQ2hvb3NlIGEgZmlsZScsXG4gIGZyOiAnQ2hvaXNpc3NleiB1biBmaWNoaWVyJyxcbiAgaXQ6ICdTY2VnbGkgdW4gZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvclN1YnRpdGxlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmllaGUgZGVpbmUgRGF0ZWllbiBoaWVyIGhpbiAoRHJhZyAmIERyb3ApJyxcbiAgZW46ICdEcmFnICYgRHJvcCB5b3VyIGZpbGVzIGhlcmUnLFxuICBmcjogJ0ZhaXRlcyBnbGlzc2VyIGV0IGTDqXBvc2V6IHZvcyBmaWNoaWVycyBpY2knLFxuICBpdDogJ1RyYXNjaW5hIGUgcmlsYXNjaWEgaSB0dW9pIGZpbGUgcXVpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yRGVsZXRlRmlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXRlaSBlbnRmZXJuZW4nLFxuICBlbjogJ1JlbW92ZSBmaWxlJyxcbiAgZnI6ICdFZmZhY2VyIGxlIGZpY2hpZXInLFxuICBpdDogJ1JpbXVvdmkgaWwgZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkID0gKGZpbGVzTmFtZTogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgaWYgKGZpbGVzTmFtZSAmJiBmaWxlc05hbWUubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZTogYEFrdHVlbGwgYXVzZ2V3w6RobHRlIERhdGVpOiAke2ZpbGVzTmFtZS5qb2luKCcsICcpfS5gLFxuICAgICAgZW46IGBDdXJyZW50bHkgc2VsZWN0ZWQgZmlsZXM6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBmcjogYEZpY2hpZXIgYWN0dWVsbGVtZW50IHPDqWxlY3Rpb25uw6k6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBpdDogYEZpbGUgYXR0dWFsbWVudGUgc2VsZXppb25hdG86ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRlOiAnS2VpbmUgRGF0ZWkgYXVzZ2V3w6RobHQuJyxcbiAgICBlbjogJ05vIGZpbGVzIHNlbGVjdGVkLicsXG4gICAgZnI6ICdOZXNzdW4gZmljaGllciBzw6lsZWN0aW9ubsOpLicsXG4gICAgaXQ6ICdOZXNzdW4gZmlsZSBzZWxlemlvbmF0by4nLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0UGFnZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOw6RjaHN0ZSBTZWl0ZScsXG4gIGVuOiAnTmV4dCBwYWdlJyxcbiAgZnI6ICdQcm9jaGFpbmUgcGFnZScsXG4gIGl0OiAnUGFnaW5hIHN1Y2Nlc3NpdmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c1BhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVm9yaGVyaWdlIFNlaXRlJyxcbiAgZW46ICdQcmV2aW91cyBwYWdlJyxcbiAgZnI6ICdQYWdlIHByw6ljw6lkZW50ZScsXG4gIGl0OiAnUGFnaW5hIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QYWdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlJyxcbiAgZW46ICdQYWdlJyxcbiAgZnI6ICdQYWdlJyxcbiAgaXQ6ICdQYWdpbmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JdGVtc1BlclBhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWludHLDpGdlIHBybyBTZWl0ZScsXG4gIGVuOiAnSXRlbXMgcGVyIHBhZ2UnLFxuICBmcjogJ0VudHLDqWVzIHBhciBwYWdlJyxcbiAgaXQ6ICdFbGVtZW50aSBwZXIgcGFnaW5hJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0ZWRQYWdlID0gKHBhZ2VOdW1iZXI6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBTZWl0ZSAke3BhZ2VOdW1iZXJ9IGF1c2dld8OkaGx0LmAsXG4gIGVuOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHNlbGVjdGVkLmAsXG4gIGZyOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHPDqWxlY3Rpb25uw6llLmAsXG4gIGl0OiBgUGFnaW5hICR7cGFnZU51bWJlcn0gc2VsZXppb25hdGEuYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkNoZWNrYm94UmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTXVzcyBnZXNldHp0IHNlaW4uJyxcbiAgZW46ICdNdXN0IGJlIGNoZWNrZWQuJyxcbiAgZnI6ICdEb2l0IMOqdHJlIGTDqWZpbmkuJyxcbiAgaXQ6ICdEZXZlIGVzc2VyZSBpbXBvc3RhdG8uJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0aW9uUmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQXVzd2FobCBlcmZvcmRlcmxpY2guJyxcbiAgZW46ICdTZWxlY3Rpb24gcmVxdWlyZWQuJyxcbiAgZnI6ICdTw6lsZWN0aW9uIHJlcXVpc2UuJyxcbiAgaXQ6ICdTZWxlemlvbmUgbmVjZXNzYXJpYS4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JbnB1dFJlcXVpcmVkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0VpbmdhYmUgZXJmb3JkZXJsaWNoLicsXG4gIGVuOiAnSW5wdXQgcmVxdWlyZWQuJyxcbiAgZnI6ICdFbnRyw6llIG9ibGlnYXRvaXJlLicsXG4gIGl0OiAnSW5zZXJpbWVudG8gbmVjZXNzYXJpby4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlSW52YWxpZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdCaXR0ZSBnw7xsdGlnZXMgRGF0dW0gZWluZ2ViZW4uJyxcbiAgZW46ICdQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGRhdGUuJyxcbiAgZnI6ICdWZXVpbGxleiBzYWlzaXIgdW5lIGRhdGUgdmFsaWRlLicsXG4gIGl0OiAnSW5zZXJpcmUgdW5hIGRhdGEgdmFsaWRhLicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNaW4gPSAobWluOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCB2b3IgJHttaW59IHNlaW4uYCxcbiAgZW46IGBEYXRlIG11c3Qgbm90IGJlIGJlZm9yZSAke21pbn0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIGFudMOpcmlldXJlIGF1ICR7bWlufS5gLFxuICBpdDogYExhIGRhdGEgbm9uIGRldmUgZXNzZXJlIGFudGVyaW9yZSBhbCAke21pbn0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNYXggPSAobWF4OiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCBuYWNoICR7bWF4fSBzZWluLmAsXG4gIGVuOiBgRGF0ZSBtdXN0IG5vdCBiZSBhZnRlciAke21heH0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIHBvc3TDqXJpZXVyZSBhdSAke21heH0uYCxcbiAgaXQ6IGBMYSBkYXRhIG5vbiBkZXZlIGVzc2VyZSBzdWNjZXNzaXZhIGFsICR7bWF4fS5gLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuQ2hpcERlbGV0ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEcsO8Y2tlbiBTaWUgZGllIEVudGZlcm5lbi1UYXN0ZSB1bSBkZW4gQ2hpcCB6dSBsw7ZzY2hlbicsXG4gIGVuOiAnUHJlc3MgdGhlIERlbGV0ZSBidXR0b24gdG8gcmVtb3ZlIHRoZSBjaGlwJyxcbiAgZnI6ICdBcHB1eWV6IHN1ciBsYSB0b3VjaGUgRGVsIHBvdXIgc3VwcHJpbWVyIGNldHRlIHB1Y2UnLFxuICBpdDogJ1ByZW1pIGlsIHRhc3RvIENhbmMgcGVyIHJpbXVvdmVyZSBxdWVzdGEgY2hpcCcsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQXVzZ2V3w6RobHRlIEVsZW1lbnRlOicsXG4gIGVuOiAnU2VsZWN0ZWQgZWxlbWVudHM6JyxcbiAgZnI6ICfDiWzDqW1lbnRzIHPDqWxlY3Rpb25uw6lzOicsXG4gIGl0OiAnRWxlbWVudGkgc2VsZXppb25hdGk6Jyxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRU8sTUFBTSxnQkFBd0M7QUFBQSxFQUNuRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sY0FBc0M7QUFBQSxFQUNqRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sYUFBcUM7QUFBQSxFQUNoRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sa0JBQTBDO0FBQUEsRUFDckQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLFlBQW9EO0FBQUEsRUFDL0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElB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
|
|
@@ -49,4 +49,4 @@ const SbbAnimationCompleteMixin = (superClass) => {
|
|
|
49
49
|
export {
|
|
50
50
|
SbbAnimationCompleteMixin
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWNvbXBsZXRlLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvYW5pbWF0aW9uLWNvbXBsZXRlLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJBbmltYXRpb25Db21wbGV0ZU1peGluVHlwZSB7XG4gIHB1YmxpYyBpc0FuaW1hdGluZzogYm9vbGVhbjtcbiAgcHVibGljIGdldCBhbmltYXRpb25Db21wbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHwgbnVsbDtcbiAgcHJvdGVjdGVkIHN0YXJ0QW5pbWF0aW9uKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBzdG9wQW5pbWF0aW9uKCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRW5oYW5jZXMgdGhlIGNvbXBvbmVudCB3aXRoIGEgUHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aGVuZXZlciBhbiBhbmltYXRpb24gZW5kcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBbmltYXRpb25Db21wbGV0ZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQW5pbWF0aW9uQ29tcGxldGVFbGVtZW50XG4gICAgZXh0ZW5kcyBzdXBlckNsYXNzXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW5UeXBlPlxuICB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBhbmltYXRpbmcuXG4gICAgICovXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB3aGljaCBjb21wbGV0ZXMgd2hlbmV2ZXIgYW4gYW5pbWF0aW9uIGVuZHMuXG4gICAgICogV2hlbiBhIG5ldyBhbmltYXRpb24gc3RhcnRzLCBhIG5ldyBQcm9taXNlIGlzIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYW5pbWF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uUHJvbWlzZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYW5pbWF0aW9uUHJvbWlzZTogUHJvbWlzZTx2b2lkPiA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGFydEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5pc0FuaW1hdGluZykge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25Qcm9taXNlID0gdGhpcy5fZW5xdWV1ZUFuaW1hdGlvbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRpbmcgc3RvcEFuaW1hdGlvbigpIGJyZWFrcyBmdW5jdGlvbmFsaXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdG9wQW5pbWF0aW9uKCk6IHZvaWQge31cblxuICAgIHByaXZhdGUgYXN5bmMgX2VucXVldWVBbmltYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHN0b3BBbmltYXRpb24gPSB0aGlzLnN0b3BBbmltYXRpb247XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBQcm9taXNlPHZvaWQ+KChyKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcEFuaW1hdGlvbiA9ICgpID0+
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWNvbXBsZXRlLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvYW5pbWF0aW9uLWNvbXBsZXRlLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJBbmltYXRpb25Db21wbGV0ZU1peGluVHlwZSB7XG4gIHB1YmxpYyBpc0FuaW1hdGluZzogYm9vbGVhbjtcbiAgcHVibGljIGdldCBhbmltYXRpb25Db21wbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHwgbnVsbDtcbiAgcHJvdGVjdGVkIHN0YXJ0QW5pbWF0aW9uKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBzdG9wQW5pbWF0aW9uKCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRW5oYW5jZXMgdGhlIGNvbXBvbmVudCB3aXRoIGEgUHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aGVuZXZlciBhbiBhbmltYXRpb24gZW5kcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBbmltYXRpb25Db21wbGV0ZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQW5pbWF0aW9uQ29tcGxldGVFbGVtZW50XG4gICAgZXh0ZW5kcyBzdXBlckNsYXNzXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW5UeXBlPlxuICB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBhbmltYXRpbmcuXG4gICAgICovXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB3aGljaCBjb21wbGV0ZXMgd2hlbmV2ZXIgYW4gYW5pbWF0aW9uIGVuZHMuXG4gICAgICogV2hlbiBhIG5ldyBhbmltYXRpb24gc3RhcnRzLCBhIG5ldyBQcm9taXNlIGlzIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYW5pbWF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uUHJvbWlzZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYW5pbWF0aW9uUHJvbWlzZTogUHJvbWlzZTx2b2lkPiA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGFydEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5pc0FuaW1hdGluZykge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25Qcm9taXNlID0gdGhpcy5fZW5xdWV1ZUFuaW1hdGlvbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRpbmcgc3RvcEFuaW1hdGlvbigpIGJyZWFrcyBmdW5jdGlvbmFsaXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdG9wQW5pbWF0aW9uKCk6IHZvaWQge31cblxuICAgIHByaXZhdGUgYXN5bmMgX2VucXVldWVBbmltYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHN0b3BBbmltYXRpb24gPSB0aGlzLnN0b3BBbmltYXRpb247XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBQcm9taXNlPHZvaWQ+KChyKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcEFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICBzdG9wQW5pbWF0aW9uKCk7XG4gICAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICAgIHIoKTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRW5zdXJlIGFueSBwcmV2aW91cyB1cGRhdGUgaGFzIHJlc29sdmVkIGJlZm9yZSB1cGRhdGluZy5cbiAgICAgICAgYXdhaXQgdGhpcy5fYW5pbWF0aW9uUHJvbWlzZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gUmVmaXJlIGFueSBwcmV2aW91cyBlcnJvcnMgYXN5bmMgc28gdGhleSBkbyBub3QgZGlzcnVwdCB0aGUgdXBkYXRlXG4gICAgICAgIC8vIGN5Y2xlLiBFcnJvcnMgYXJlIHJlLWZpcmVkIHNvIGRldmVsb3BlcnMgaGF2ZSBhIGNoYW5jZSB0byBvYnNlcnZlXG4gICAgICAgIC8vIHRoZW0sIGFuZCB0aGlzIGNhbiBiZSBkb25lIGJ5IGltcGxlbWVudGluZ1xuICAgICAgICAvLyBgd2luZG93Lm9udW5oYW5kbGVkcmVqZWN0aW9uYC5cbiAgICAgICAgUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJBbmltYXRpb25Db21wbGV0ZUVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZU8sTUFBTSw0QkFBNEIsQ0FDdkMsZUFDMEQ7QUFBQSxFQUMxRCxNQUFlLG9DQUNMLFdBQVU7QUFBQSxJQURwQixjQUFBOztBQU9TLFdBQUEsY0FBYztBQVNiLFdBQUEsb0JBQW1DLFFBQVEsUUFBQTtBQUFBOzs7OztJQUhuRCxJQUFXLG9CQUFpQjtBQUMxQixhQUFPLEtBQUs7QUFBQSxJQUFBO0FBQUEsSUFJRSx1QkFBb0I7QUFDbEMsWUFBTSxxQkFBQTtBQUNOLFdBQUssY0FBQTtBQUFBLElBQWE7QUFBQSxJQUdWLGlCQUFjO0FBQ3RCLFVBQUksQ0FBQyxLQUFLLGFBQWE7QUFDckIsYUFBSyxvQkFBb0IsS0FBSyxrQkFBQTtBQUFBO0lBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNUTs7SUFFRixNQUFNLG9CQUFpQjtBQUM3QixXQUFLLGNBQWM7QUFDbkIsWUFBTSxnQkFBZ0IsS0FBSztBQUUzQixZQUFNLFNBQVMsSUFBSSxRQUFjLENBQUMsTUFBSztBQUNyQyxhQUFLLGdCQUFnQixNQUFLO0FBQ3hCLHdCQUFBO0FBQ0EsZUFBSyxjQUFjO0FBQ25CLFlBQUE7QUFBQTtNQUNGLENBQ0Q7QUFDRCxVQUFJO0FBRUYsY0FBTSxLQUFLO0FBQUEsTUFBQSxTQUNKLEdBQUc7QUFLVixnQkFBUSxPQUFPLENBQUM7QUFBQSxNQUFBO0FBRWxCLGFBQU87QUFBQSxJQUFBO0FBQUEsRUFDVDtBQUdGLFNBQU87QUFFVDsifQ==
|
|
@@ -101,4 +101,4 @@ export {
|
|
|
101
101
|
SbbDisabledMixin,
|
|
102
102
|
SbbDisabledTabIndexActionMixin
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9kaXNhYmxlZC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIGdldE92ZXJyaWRlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB9IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiRGlzYWJsZWRNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlIHtcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkSW50ZXJhY3RpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgZGlzYWJsZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJEaXNhYmxlZE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkRpc2FibGVkRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkRpc2FibGVkTWl4aW5UeXBlPiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgQGdldE92ZXJyaWRlKChlOiBTYmJEaXNhYmxlZEVsZW1lbnQsIHY6IGJvb2xlYW4pOiBib29sZWFuID0+IHYgfHwgZS5pc0Rpc2FibGVkRXh0ZXJuYWxseSgpKVxuICAgIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2lsbCBiZSB1c2VkIGFzICdvcicgY2hlY2sgdG8gdGhlIGN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAgICogQ2FuIGUuZy4gYmUgdXNlZCB0byByZWFkIGRpc2FibGVkIHN0YXRlIG9mIGEgZ3JvdXAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJEaXNhYmxlZEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkRpc2FibGVkTWl4aW5UeXBlPiAmIFQ7XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgeW91ciBjb21wb25lbnQgd2l0aCBhIGRpc2FibGVkIGludGVyYWN0aXZlIHByb3BlcnR5LlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRGlzYWJsZWRNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZUVsZW1lbnRcbiAgICBleHRlbmRzIHN1cGVyQ2xhc3NcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT5cbiAge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gc2hvdWxkIGJlIGFyaWEtZGlzYWJsZWQgYnV0IHN0YXkgaW50ZXJhY3RpdmUuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZWQtaW50ZXJhY3RpdmUnLCB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkSW50ZXJhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBTYmJEaXNhYmxlZEludGVyYWN0aXZlRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRNaXhpblR5cGUgJiBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uXG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihzdXBlckNsYXNzKSlcbiAgICBpbXBsZW1lbnRzIFNiYkRpc2FibGVkTWl4aW5UeXBlLCBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlXG4gIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZEludGVyYWN0aXZlJykpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZEludGVyYWN0aXZlID8gJ3RydWUnIDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbiBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFxuICAgIFNiYkRpc2FibGVkTWl4aW5UeXBlICYgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZVxuICA+
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9kaXNhYmxlZC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIGdldE92ZXJyaWRlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB9IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiRGlzYWJsZWRNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlIHtcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkSW50ZXJhY3RpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgZGlzYWJsZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJEaXNhYmxlZE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkRpc2FibGVkRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkRpc2FibGVkTWl4aW5UeXBlPiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgQGdldE92ZXJyaWRlKChlOiBTYmJEaXNhYmxlZEVsZW1lbnQsIHY6IGJvb2xlYW4pOiBib29sZWFuID0+IHYgfHwgZS5pc0Rpc2FibGVkRXh0ZXJuYWxseSgpKVxuICAgIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2lsbCBiZSB1c2VkIGFzICdvcicgY2hlY2sgdG8gdGhlIGN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAgICogQ2FuIGUuZy4gYmUgdXNlZCB0byByZWFkIGRpc2FibGVkIHN0YXRlIG9mIGEgZ3JvdXAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJEaXNhYmxlZEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkRpc2FibGVkTWl4aW5UeXBlPiAmIFQ7XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgeW91ciBjb21wb25lbnQgd2l0aCBhIGRpc2FibGVkIGludGVyYWN0aXZlIHByb3BlcnR5LlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRGlzYWJsZWRNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZUVsZW1lbnRcbiAgICBleHRlbmRzIHN1cGVyQ2xhc3NcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT5cbiAge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gc2hvdWxkIGJlIGFyaWEtZGlzYWJsZWQgYnV0IHN0YXkgaW50ZXJhY3RpdmUuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZWQtaW50ZXJhY3RpdmUnLCB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkSW50ZXJhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBTYmJEaXNhYmxlZEludGVyYWN0aXZlRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRNaXhpblR5cGUgJiBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uXG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihzdXBlckNsYXNzKSlcbiAgICBpbXBsZW1lbnRzIFNiYkRpc2FibGVkTWl4aW5UeXBlLCBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW5UeXBlXG4gIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZEludGVyYWN0aXZlJykpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZEludGVyYWN0aXZlID8gJ3RydWUnIDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKCFjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbiBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFxuICAgIFNiYkRpc2FibGVkTWl4aW5UeXBlICYgU2JiRGlzYWJsZWRJbnRl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
|
|
@@ -44,7 +44,6 @@ const SbbFormAssociatedCheckboxMixin = (superClass) => {
|
|
|
44
44
|
return "checkbox";
|
|
45
45
|
}
|
|
46
46
|
constructor() {
|
|
47
|
-
var _a2, _b, _c;
|
|
48
47
|
super();
|
|
49
48
|
this._attributeMutationBlocked = (__runInitializers(this, _instanceExtraInitializers), false);
|
|
50
49
|
this._languageController = new SbbLanguageController(this);
|
|
@@ -55,20 +54,19 @@ const SbbFormAssociatedCheckboxMixin = (superClass) => {
|
|
|
55
54
|
}
|
|
56
55
|
};
|
|
57
56
|
this._handleUserInteraction = () => {
|
|
58
|
-
var _a3;
|
|
59
57
|
if (this.disabled) {
|
|
60
58
|
return;
|
|
61
59
|
}
|
|
62
|
-
|
|
60
|
+
this.withUserInteraction?.();
|
|
63
61
|
this.checked = !this.checked;
|
|
64
62
|
this._attributeMutationBlocked = true;
|
|
65
63
|
this.dispatchEvent(new InputEvent("input", { composed: true, bubbles: true }));
|
|
66
64
|
this.dispatchEvent(new Event("change", { bubbles: true }));
|
|
67
65
|
};
|
|
68
66
|
this.internals.role = "checkbox";
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
this.addEventListener?.("click", this._handleUserInteraction);
|
|
68
|
+
this.addEventListener?.("keydown", preventScrollOnSpacebarPress);
|
|
69
|
+
this.addEventListener?.("keyup", this._handleKeyboardInteraction);
|
|
72
70
|
}
|
|
73
71
|
attributeChangedCallback(name, old, value) {
|
|
74
72
|
if (name !== "checked" || !this._attributeMutationBlocked) {
|
|
@@ -124,8 +122,7 @@ const SbbFormAssociatedCheckboxMixin = (superClass) => {
|
|
|
124
122
|
...defaultConverter,
|
|
125
123
|
// We need to pass information to the setter so that we know it was called by attribute change.
|
|
126
124
|
fromAttribute: (value, type) => {
|
|
127
|
-
|
|
128
|
-
const result = (_b = (_a2 = defaultConverter).fromAttribute) == null ? void 0 : _b.call(_a2, value, type);
|
|
125
|
+
const result = defaultConverter.fromAttribute?.(value, type);
|
|
129
126
|
return { value: result, attribute: true };
|
|
130
127
|
}
|
|
131
128
|
}
|
|
@@ -145,4 +142,4 @@ const SbbFormAssociatedCheckboxMixin = (superClass) => {
|
|
|
145
142
|
export {
|
|
146
143
|
SbbFormAssociatedCheckboxMixin
|
|
147
144
|
};
|
|
148
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRDb252ZXJ0ZXIsIHR5cGUgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHByZXZlbnRTY3JvbGxPblNwYWNlYmFyUHJlc3MgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2hlY2tib3hSZXF1aXJlZCB9IGZyb20gJy4uL2kxOG4uanMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCB0eXBlIFNiYkRpc2FibGVkTWl4aW5UeXBlIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQge1xuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUsXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4sIHR5cGUgU2JiUmVxdWlyZWRNaXhpblR5cGUgfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxudHlwZSBDaGVja2VkU2V0dGVyVmFsdWUgPSB7IHZhbHVlOiBib29sZWFuOyBhdHRyaWJ1dGU6IGJvb2xlYW4gfTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZVxuICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlXG4gIGltcGxlbWVudHMgUGFydGlhbDxTYmJEaXNhYmxlZE1peGluVHlwZT4sIFBhcnRpYWw8U2JiUmVxdWlyZWRNaXhpblR5cGU+XG57XG4gIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHdpdGhVc2VySW50ZXJhY3Rpb24/KCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY2hlY2tib3ggY29udHJvbHMuXG4gKlxuICogSW5oZXJpdGVkIGNsYXNzZXMgTVVTVCBpbXBsZW1lbnQgdGhlIGFyaWFDaGVja2VkIHN0YXRlIChFbGVtZW50SW50ZXJuYWxzKSB0aGVtc2VsdmVzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluID0gPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBAaG9zdEF0dHJpYnV0ZXMoe1xuICAgIHRhYmluZGV4OiAnMCcsXG4gIH0pXG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+XG4gIHtcbiAgICBwcml2YXRlIF9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9sYW5ndWFnZUNvbnRyb2xsZXIgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQuICovXG4gICAgQHByb3BlcnR5KHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBjb252ZXJ0ZXI6IHtcbiAgICAgICAgLi4uZGVmYXVsdENvbnZlcnRlcixcbiAgICAgICAgLy8gV2UgbmVlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRvIHRoZSBzZXR0ZXIgc28gdGhhdCB3ZSBrbm93IGl0IHdhcyBjYWxsZWQgYnkgYXR0cmlidXRlIGNoYW5nZS5cbiAgICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcgfCBudWxsLCB0eXBlPzogdW5rbm93bik6IENoZWNrZWRTZXR0ZXJWYWx1ZSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmYXVsdENvbnZlcnRlci5mcm9tQXR0cmlidXRlPy4odmFsdWUsIHR5cGUpO1xuICAgICAgICAgIHJldHVybiB7IHZhbHVlOiByZXN1bHQsIGF0dHJpYnV0ZTogdHJ1ZSB9IGFzIENoZWNrZWRTZXR0ZXJWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVNldHRlciA9XG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyAodmFsdWUgYXMgdW5rbm93biBhcyBDaGVja2VkU2V0dGVyVmFsdWUpLmF0dHJpYnV0ZSA6IGZhbHNlO1xuICAgICAgaWYgKGF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyB1bmtub3duIGFzIENoZWNrZWRTZXR0ZXJWYWx1ZSkudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEFzIHNvb24gYXMgbXV0YXRpb24gd2FzIGRvbmUgbm90IGJ5IHNldHRpbmcgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgbmVlZCB0byBibG9jayBzeW5jaW5nIGF0dHJpYnV0ZS5cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIWF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5fY2hlY2tlZCA9IEJvb2xlYW4odmFsdWUpO1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdjaGVja2JveCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnY2hlY2tib3gnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ2NoZWNrYm94JztcblxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgdGhpcy5faGFuZGxlVXNlckludGVyYWN0aW9uKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5dXAnLCB0aGlzLl9oYW5kbGVLZXlib2FyZEludGVyYWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBBdHRyaWJ1dGUgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhZnRlciBwcm9ncmFtbWF0aWMgb3IgbWFudWFsIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChuYW1lICE9PSAnY2hlY2tlZCcgfHwgIXRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgICAgIHRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gJ3RydWUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZGl0aW9uYWwgbG9naWMgd2hpY2ggaXMgYmVpbmcgZXhlY3V0ZWQgd2hlbiB1c2VyXG4gICAgICogaW50ZXJhY3Rpb24gaGFwcGVucyBhbmQgc3RhdGUgaXMgbm90IGRpc2FibGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB3aXRoVXNlckludGVyYWN0aW9uPygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUsIGAke3RoaXMuY2hlY2tlZH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgICAndmFsdWVNaXNzaW5nJyxcbiAgICAgICAgICBpMThuQ2hlY2tib3hSZXF1aXJlZFt0aGlzLl9sYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudF0sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24ga2V5Ym9hcmQgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVVzZXJJbnRlcmFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2l0aFVzZXJJbnRlcmFjdGlvbj8uKCk7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgY29tcG9zZWQ6IHRydWUsIGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7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
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWNoZWNrYm94LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRDb252ZXJ0ZXIsIHR5cGUgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHByZXZlbnRTY3JvbGxPblNwYWNlYmFyUHJlc3MgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2hlY2tib3hSZXF1aXJlZCB9IGZyb20gJy4uL2kxOG4uanMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCB0eXBlIFNiYkRpc2FibGVkTWl4aW5UeXBlIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQge1xuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUsXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4sIHR5cGUgU2JiUmVxdWlyZWRNaXhpblR5cGUgfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxudHlwZSBDaGVja2VkU2V0dGVyVmFsdWUgPSB7IHZhbHVlOiBib29sZWFuOyBhdHRyaWJ1dGU6IGJvb2xlYW4gfTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZVxuICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlXG4gIGltcGxlbWVudHMgUGFydGlhbDxTYmJEaXNhYmxlZE1peGluVHlwZT4sIFBhcnRpYWw8U2JiUmVxdWlyZWRNaXhpblR5cGU+XG57XG4gIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHdpdGhVc2VySW50ZXJhY3Rpb24/KCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY2hlY2tib3ggY29udHJvbHMuXG4gKlxuICogSW5oZXJpdGVkIGNsYXNzZXMgTVVTVCBpbXBsZW1lbnQgdGhlIGFyaWFDaGVja2VkIHN0YXRlIChFbGVtZW50SW50ZXJuYWxzKSB0aGVtc2VsdmVzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluID0gPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBAaG9zdEF0dHJpYnV0ZXMoe1xuICAgIHRhYmluZGV4OiAnMCcsXG4gIH0pXG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+XG4gIHtcbiAgICBwcml2YXRlIF9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9sYW5ndWFnZUNvbnRyb2xsZXIgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQuICovXG4gICAgQHByb3BlcnR5KHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBjb252ZXJ0ZXI6IHtcbiAgICAgICAgLi4uZGVmYXVsdENvbnZlcnRlcixcbiAgICAgICAgLy8gV2UgbmVlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRvIHRoZSBzZXR0ZXIgc28gdGhhdCB3ZSBrbm93IGl0IHdhcyBjYWxsZWQgYnkgYXR0cmlidXRlIGNoYW5nZS5cbiAgICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcgfCBudWxsLCB0eXBlPzogdW5rbm93bik6IENoZWNrZWRTZXR0ZXJWYWx1ZSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmYXVsdENvbnZlcnRlci5mcm9tQXR0cmlidXRlPy4odmFsdWUsIHR5cGUpO1xuICAgICAgICAgIHJldHVybiB7IHZhbHVlOiByZXN1bHQsIGF0dHJpYnV0ZTogdHJ1ZSB9IGFzIENoZWNrZWRTZXR0ZXJWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVNldHRlciA9XG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyAodmFsdWUgYXMgdW5rbm93biBhcyBDaGVja2VkU2V0dGVyVmFsdWUpLmF0dHJpYnV0ZSA6IGZhbHNlO1xuICAgICAgaWYgKGF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyB1bmtub3duIGFzIENoZWNrZWRTZXR0ZXJWYWx1ZSkudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEFzIHNvb24gYXMgbXV0YXRpb24gd2FzIGRvbmUgbm90IGJ5IHNldHRpbmcgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgbmVlZCB0byBibG9jayBzeW5jaW5nIGF0dHJpYnV0ZS5cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIWF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5fY2hlY2tlZCA9IEJvb2xlYW4odmFsdWUpO1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdjaGVja2JveCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAnY2hlY2tib3gnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ2NoZWNrYm94JztcblxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgdGhpcy5faGFuZGxlVXNlckludGVyYWN0aW9uKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5dXAnLCB0aGlzLl9oYW5kbGVLZXlib2FyZEludGVyYWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBBdHRyaWJ1dGUgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhZnRlciBwcm9ncmFtbWF0aWMgb3IgbWFudWFsIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChuYW1lICE9PSAnY2hlY2tlZCcgfHwgIXRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgICAgIHRoaXMuX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gJ3RydWUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZGl0aW9uYWwgbG9naWMgd2hpY2ggaXMgYmVpbmcgZXhlY3V0ZWQgd2hlbiB1c2VyXG4gICAgICogaW50ZXJhY3Rpb24gaGFwcGVucyBhbmQgc3RhdGUgaXMgbm90IGRpc2FibGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB3aXRoVXNlckludGVyYWN0aW9uPygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUsIGAke3RoaXMuY2hlY2tlZH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgICAndmFsdWVNaXNzaW5nJyxcbiAgICAgICAgICBpMThuQ2hlY2tib3hSZXF1aXJlZFt0aGlzLl9sYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudF0sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24ga2V5Ym9hcmQgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVVzZXJJbnRlcmFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2l0aFVzZXJJbnRlcmFjdGlvbj8uKCk7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgY29tcG9zZWQ6IHRydWUsIGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hFbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7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
|
|
@@ -83,21 +83,19 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
83
83
|
return this.getAttribute("placeholder") ?? "";
|
|
84
84
|
}
|
|
85
85
|
constructor() {
|
|
86
|
-
var _a2, _b, _c, _d, _e, _f, _g;
|
|
87
86
|
super();
|
|
88
87
|
this._interacted = (__runInitializers(this, _instanceExtraInitializers), false);
|
|
89
88
|
this._shouldEmitChange = false;
|
|
90
89
|
this._shouldTriggerSubmit = false;
|
|
91
90
|
this.language = new SbbLanguageController(this);
|
|
92
91
|
this.internals.role = "textbox";
|
|
93
|
-
|
|
92
|
+
this.addEventListener?.("input", () => {
|
|
94
93
|
super.value = this._cleanText(this.textContent ?? "");
|
|
95
94
|
this._interacted = true;
|
|
96
95
|
this._shouldEmitChange = true;
|
|
97
96
|
}, { capture: true });
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var _a3;
|
|
97
|
+
this.addEventListener?.("change", () => this._shouldEmitChange = false, { capture: true });
|
|
98
|
+
this.addEventListener?.("keydown", (event) => {
|
|
101
99
|
if ((event.key === "Enter" || event.key === "\n") && event.isTrusted) {
|
|
102
100
|
event.preventDefault();
|
|
103
101
|
event.stopImmediatePropagation();
|
|
@@ -108,7 +106,7 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
108
106
|
if (!this.dispatchEvent(new KeyboardEvent("keydown", event))) {
|
|
109
107
|
return;
|
|
110
108
|
}
|
|
111
|
-
const selectedRange =
|
|
109
|
+
const selectedRange = window.getSelection()?.getRangeAt(0);
|
|
112
110
|
if (!selectedRange) {
|
|
113
111
|
return;
|
|
114
112
|
}
|
|
@@ -126,21 +124,19 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
126
124
|
}
|
|
127
125
|
}
|
|
128
126
|
}, { capture: true });
|
|
129
|
-
|
|
130
|
-
var _a3;
|
|
127
|
+
this.addEventListener?.("keyup", (event) => {
|
|
131
128
|
if (event.key === "Enter" || event.key === "\n") {
|
|
132
129
|
this._emitChangeIfNecessary();
|
|
133
130
|
if (this._shouldTriggerSubmit) {
|
|
134
131
|
this._shouldTriggerSubmit = false;
|
|
135
|
-
|
|
132
|
+
this.form?.requestSubmit();
|
|
136
133
|
}
|
|
137
134
|
}
|
|
138
135
|
}, { capture: true });
|
|
139
|
-
|
|
140
|
-
var _a3, _b2;
|
|
136
|
+
this.addEventListener?.("paste", (e) => {
|
|
141
137
|
e.preventDefault();
|
|
142
|
-
const text = this._cleanText(
|
|
143
|
-
const selectedRange =
|
|
138
|
+
const text = this._cleanText(e.clipboardData?.getData("text/plain") ?? "");
|
|
139
|
+
const selectedRange = window.getSelection()?.getRangeAt(0);
|
|
144
140
|
if (!selectedRange || !text) {
|
|
145
141
|
return;
|
|
146
142
|
}
|
|
@@ -149,15 +145,13 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
149
145
|
selectedRange.setStart(selectedRange.endContainer, selectedRange.endOffset);
|
|
150
146
|
this._dispatchInputEvent();
|
|
151
147
|
});
|
|
152
|
-
|
|
153
|
-
var _a3;
|
|
148
|
+
this.addEventListener?.("focus", () => {
|
|
154
149
|
if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
|
|
155
|
-
|
|
150
|
+
window.getSelection()?.selectAllChildren(this);
|
|
156
151
|
}
|
|
157
152
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
(_a3 = window.getSelection()) == null ? void 0 : _a3.removeAllRanges();
|
|
153
|
+
this.addEventListener?.("blur", () => {
|
|
154
|
+
window.getSelection()?.removeAllRanges();
|
|
161
155
|
this._emitChangeIfNecessary();
|
|
162
156
|
this.scrollLeft = 0;
|
|
163
157
|
}, { capture: true });
|
|
@@ -291,4 +285,4 @@ const SbbFormAssociatedInputMixin = (superClass) => {
|
|
|
291
285
|
export {
|
|
292
286
|
SbbFormAssociatedInputMixin
|
|
293
287
|
};
|
|
294
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc1dlYmtpdCB9IGZyb20gJy4uL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuSW5wdXRSZXF1aXJlZCB9IGZyb20gJy4uL2kxOG4uanMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUsXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4sIHR5cGUgU2JiUmVxdWlyZWRNaXhpblR5cGUgfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZVxuICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlXG4gIGltcGxlbWVudHMgUGFydGlhbDxTYmJSZXF1aXJlZE1peGluVHlwZT5cbntcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCByZWFkT25seSgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTtcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmc7XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgd2l0aFVzZXJJbnRlcmFjdGlvbj8oKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbn1cblxuY29uc3QgY2hlY2tQbGFpbnRleHRPbmx5U3VwcG9ydCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdQTEFJTlRFWFQtT05MWScpO1xuXG4gIC8vIElmIHBsYWludGV4dC1vbmx5IGlzIHN1cHBvcnRlZCwgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpc1xuICAvLyByZXR1cm5lZCBhcyBsb3dlci1jYXNlIGZyb20gdGhlIHByb3BlcnR5IGFjY2Vzcy5cbiAgcmV0dXJuIGRpdi5jb250ZW50RWRpdGFibGUgPT09ICdwbGFpbnRleHQtb25seSc7XG59O1xuY29uc3QgcGxhaW50ZXh0T25seVN1cHBvcnRlZCA9IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQoKTtcblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgdGV4dCBpbnB1dCBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihzdXBlckNsYXNzKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT5cbiAge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCBjaGFuZ2VzIHRoZSB2YWx1ZSBwcm9wZXJ0eSB3aGVuIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXNcbiAgICAgKiBjaGFuZ2VkIHVuZGVyIHRoZSBjb25kaXRpb24gdGhhdCBubyBpbnB1dCBldmVudCBoYXMgb2NjdXJlZCBzaW5jZSBjcmVhdGlvblxuICAgICAqIG9yIHRoZSBsYXN0IGZvcm0gcmVzZXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW50ZXJhY3RlZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEFuIGVsZW1lbnQgd2l0aCBjb250ZW50ZWRpdGFibGUgd2lsbCBub3QgZW1pdCBhIGNoYW5nZSBldmVudC4gVG8gYWNoaWV2ZSBwYXJpdHlcbiAgICAgKiB3aXRoIGEgbmF0aXZlIHRleHQgaW5wdXQsIHdlIG5lZWQgdG8gdHJhY2sgd2hldGhlciBhIGNoYW5nZSBldmVudCBzaG91bGQgYmVcbiAgICAgKiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBBIG5hdGl2ZSB0ZXh0IGlucHV0IGF0dGVtcHRzIHRvIHN1Ym1pdCB0aGUgZm9ybSB3aGVuIHByZXNzaW5nIEVudGVyLlxuICAgICAqIFRoaXMgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0IG9uIHRoZSBrZXlkb3duIGV2ZW50LlxuICAgICAqIFdlIHRyYWNrIHdoZXRoZXIgdG8gcmVxdWVzdCBzdWJtaXQsIHdoaWNoIHNob3VsZCBvY2N1ciBiZWZvcmUgdGhlIGtleXVwXG4gICAgICogZXZlbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICd0ZXh0J1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCB2YWx1ZSBvZiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLnZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHZhbHVlKTtcbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5pbm5lckhUTUwgPSBzdXBlci52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyByZWFkb25seS5cbiAgICAgKiBAYXR0ciByZWFkb25seVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBzZXQgcmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdyZWFkb25seScsICEhdmFsdWUpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVJlYWRPbmx5ID0gdmFsdWUgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgdGhpcy5fdXBkYXRlQ29udGVudGVkaXRhYmxlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgICAqIEBhdHRyIGRpc2FibGVkXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgISF2YWx1ZSk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB2YWx1ZSA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB0aGlzLl91cGRhdGVDb250ZW50ZWRpdGFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB9XG5cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhUGxhY2Vob2xkZXIgPSB2YWx1ZSA/IHZhbHVlIDogbnVsbDtcbiAgICB9XG4gICAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicpID8/ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ3RleHRib3gnO1xuICAgICAgLy8gV2UgcHJpbWFyaWx5IHVzZSBjYXB0dXJlIGV2ZW50IGxpc3RlbmVycywgYXMgd2Ugd2FudFxuICAgICAgLy8gb3VyIGxpc3RlbmVycyB0byBvY2N1ciBiZWZvcmUgY29uc3VtZXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzdXBlci52YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh0aGlzLnRleHRDb250ZW50ID8/ICcnKTtcbiAgICAgICAgICB0aGlzLl9pbnRlcmFjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+ICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2UpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBXZSBwcmV2ZW50IHJlY3Vyc2l2ZSBldmVudHMgYnkgY2hlY2tpbmcgdGhlIG9yaWdpbmFsIGV2ZW50IGZvciBpc1RydXN0ZWRcbiAgICAgICAgICAvLyB3aGljaCBpcyBmYWxzZSBmb3IgbWFudWFsbHkgZGlzcGF0Y2hlZCBldmVudHMgKHdoaWNoIHdlIGRpc3BhdGNoIGJlbG93KS5cbiAgICAgICAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBpc1dlYmtpdCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmlzVHJ1c3RlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gSW4gV2Via2l0IHByZXNzaW5nIEJhY2tzcGFjZSBvciBEZWxldGUgY29tcGxldGVseSByZW1vdmVzIGFsbCB0aGUgY29udGVudFxuICAgICAgICAgICAgLy8gaWYgY29udGVudGVkaXRhYmxlIGlzIHNldCBvbiBhIHdlYiBjb21wb25lbnQgaG9zdC5cbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBub3JtYWwgZGVsZXRlIGJlaGF2aW9yLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIGV2ZW50KSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgIT09IHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIGEgdGV4dCByYW5nZSBpcyBzZWxlY3RlZCwgdGhlbiBkZWxldGUgdGhpcyByYW5nZVxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgQmFja3NwYWNlLCB3ZSBzZWxlY3QgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2Uuc3RhcnRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgLSAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJyAmJiBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCA8IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgRGVsZXRlLCB3ZSBzZWxlY3QgdGhlIG5leHQgY2hhcmFjdGVyIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGFuZCBkZWxldGUgaXQuXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0RW5kKHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCArIDEpO1xuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdrZXl1cCcsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCkge1xuICAgICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybT8ucmVxdWVzdFN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgLy8gY29udGVudGVkaXRhYmxlIGFsbG93cyBwYXN0aW5nIHJpY2ggY29udGVudCBpbnRvIGl0cyBob3N0LlxuICAgICAgLy8gV2UgcHJldmVudCB0aGlzIGJ5IGxpc3RlbmluZyB0byB0aGUgcGFzdGUgZXZlbnQgYW5kXG4gICAgICAvLyBleHRyYWN0aW5nIHRoZSBwbGFpbiB0ZXh0IGZyb20gdGhlIHBhc3RlZCBjb250ZW50XG4gICAgICAvLyBhbmQgaW5zZXJ0aW5nIGl0IGludG8gdGhlIHNlbGVjdGVkIHJhbmdlIChjdXJzb3IgcG9zaXRpb25cbiAgICAgIC8vIG9yIHNlbGVjdGlvbikuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncGFzdGUnLCAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLl9jbGVhblRleHQoZS5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgPz8gJycpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmFuZ2UgfHwgIXRleHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0U3RhcnQoc2VsZWN0ZWRSYW5nZS5lbmRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICAgIC8vIFdoZW4gZm9jdXNpbmcgYSB0ZXh0IGlucHV0IHZpYSBrZXlib2FyZCwgdGhlIHRleHQgY29udGVudCBzaG91bGQgYmUgc2VsZWN0ZWQuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5zZWxlY3RBbGxDaGlsZHJlbih0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICAvLyBPbiBibHVyIHRoZSBuYXRpdmUgdGV4dCBpbnB1dCBzY3JvbGxzIHRoZSB0ZXh0IHRvIHRoZSBzdGFydCBvZiB0aGUgdGV4dC5cbiAgICAgIC8vIFdlIG1pbWljayB0aGF0IGJ5IHJlc2V0dGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uLlxuICAgICAgLy8gV2UgYWxzbyB1bnNldCBhbnkgc2VsZWN0aW9uIHRvIGFsaWduIHdpdGggdGhlIG5hdGl2ZSB0ZXh0IGlucHV0LlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgdGhpcy5zY3JvbGxMZWZ0ID0gMDtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgICBzdXBlci5mb2N1cyhvcHRpb25zKTtcbiAgICAgIC8vIEJ5IGRlZmF1bHQsIHdoZW4gY2FsbGluZyBmb2N1cyBvbiBhbiBpbnB1dCBlbGVtZW50LCB0aGUgY3Vyc29yIGlzIHBsYWNlZFxuICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXQgdGV4dC4gSG93ZXZlciwgd2l0aCBjb250ZW50ZWRpdGFibGUsIHRoZSBjdXJzb3JcbiAgICAgIC8vIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nLCBzbyB3ZSBtb3ZlIGl0IHRvIHRoZSBlbmQsIGlmIHRoYXQgaXMgdGhlIGNhc2UuXG4gICAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRPbmx5ICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmFuZ2UgPSBzZWxlY3Rpb24ucmFuZ2VDb3VudCA+IDAgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IG51bGw7XG4gICAgICAgIGlmIChyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5maXJzdENoaWxkISwgdGhpcy50ZXh0Q29udGVudCEubGVuZ3RoKTtcbiAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCAhdGhpcy5faW50ZXJhY3RlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5faW50ZXJhY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0QXR0cmlidXRlKCd2YWx1ZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSAmJiB0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBzdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHZhbHVlIHdhcyBhc3NpZ25lZCBiZWZvcmUgZmlyc3RVcGRhdGUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIHdyaXRlIGl0IHRoZSBkb2N1bWVudCB0byBiZSB2aXN1YWxseSBzZWVuXG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiAhdGhpcy5pbm5lckhUTUwubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaW5uZXJIVE1MID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUsIHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICd2YWx1ZScgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5JbnB1dFJlcXVpcmVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFuVGV4dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIC8vIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCByZW1vdmVzIGFsbCBuZXdsaW5lIGNoYXJhY3RlcnMgaWYgcGFzc2VkIHRvIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJycgOiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1tcXG5cXHJdKy9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIEBldmVudE9wdGlvbnMoeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfY2xlYW5DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkRWxlbWVudENvdW50KSB7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpOiB2b2lkIHtcbiAgICAgIGlmICghaXNTZXJ2ZXIgJiYgdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAvLyBUT0RPKDIwMjYpOiBGaXJlZm94IHN1cHBvcnRzIHBsYWludGV4dC1vbmx5IHNpbmNlIHZlcnNpb24gMTM2IChNYXJjaCAyMDI1KS5cbiAgICAgICAgLy8gVW50aWwgdGhpcyBpcyBwYXJ0IG9mIG91ciBiYXNlbGluZSwgd2Ugc2hvdWxkIGZlYXR1cmUgY2hlY2sgdG8gZW5hYmxlIGl0LlxuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRPbmx5XG4gICAgICAgICAgICA/ICdmYWxzZSdcbiAgICAgICAgICAgIDogcGxhaW50ZXh0T25seVN1cHBvcnRlZFxuICAgICAgICAgICAgICA/ICdwbGFpbnRleHQtb25seSdcbiAgICAgICAgICAgICAgOiAndHJ1ZSc7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB2YWx1ZSk7XG4gICAgICAgIC8vIEluIHRoZSByZWFkb25seSBjYXNlLCB3ZSBkaXNhYmxlIGNvbnRlbnRlZGl0YWJsZSwgYnV0IGl0IHN0aWxsXG4gICAgICAgIC8vIG5lZWRzIHRvIGJlIGZvY3VzYWJsZS4gV2UgYWNoaWV2ZSB0aGlzIGJ5IHNldHRpbmcgdGFiaW5kZXggaW4gdGhhdCBjYXNlLlxuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5fc2hvdWxkRW1pdENoYW5nZSkge1xuICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiB1bmtub3duIHtcbiAgICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fY2xlYW5DaGlsZHJlbn0+PC9zbG90PmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRFbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbIl9hIiwiX2Ii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
|
|
288
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc1dlYmtpdCB9IGZyb20gJy4uL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuSW5wdXRSZXF1aXJlZCB9IGZyb20gJy4uL2kxOG4uanMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUsXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4sIHR5cGUgU2JiUmVxdWlyZWRNaXhpblR5cGUgfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZVxuICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlXG4gIGltcGxlbWVudHMgUGFydGlhbDxTYmJSZXF1aXJlZE1peGluVHlwZT5cbntcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCByZWFkT25seSgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTtcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmc7XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgd2l0aFVzZXJJbnRlcmFjdGlvbj8oKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbn1cblxuY29uc3QgY2hlY2tQbGFpbnRleHRPbmx5U3VwcG9ydCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdQTEFJTlRFWFQtT05MWScpO1xuXG4gIC8vIElmIHBsYWludGV4dC1vbmx5IGlzIHN1cHBvcnRlZCwgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpc1xuICAvLyByZXR1cm5lZCBhcyBsb3dlci1jYXNlIGZyb20gdGhlIHByb3BlcnR5IGFjY2Vzcy5cbiAgcmV0dXJuIGRpdi5jb250ZW50RWRpdGFibGUgPT09ICdwbGFpbnRleHQtb25seSc7XG59O1xuY29uc3QgcGxhaW50ZXh0T25seVN1cHBvcnRlZCA9IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQoKTtcblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgdGV4dCBpbnB1dCBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihzdXBlckNsYXNzKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT5cbiAge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCBjaGFuZ2VzIHRoZSB2YWx1ZSBwcm9wZXJ0eSB3aGVuIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXNcbiAgICAgKiBjaGFuZ2VkIHVuZGVyIHRoZSBjb25kaXRpb24gdGhhdCBubyBpbnB1dCBldmVudCBoYXMgb2NjdXJlZCBzaW5jZSBjcmVhdGlvblxuICAgICAqIG9yIHRoZSBsYXN0IGZvcm0gcmVzZXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW50ZXJhY3RlZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEFuIGVsZW1lbnQgd2l0aCBjb250ZW50ZWRpdGFibGUgd2lsbCBub3QgZW1pdCBhIGNoYW5nZSBldmVudC4gVG8gYWNoaWV2ZSBwYXJpdHlcbiAgICAgKiB3aXRoIGEgbmF0aXZlIHRleHQgaW5wdXQsIHdlIG5lZWQgdG8gdHJhY2sgd2hldGhlciBhIGNoYW5nZSBldmVudCBzaG91bGQgYmVcbiAgICAgKiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBBIG5hdGl2ZSB0ZXh0IGlucHV0IGF0dGVtcHRzIHRvIHN1Ym1pdCB0aGUgZm9ybSB3aGVuIHByZXNzaW5nIEVudGVyLlxuICAgICAqIFRoaXMgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0IG9uIHRoZSBrZXlkb3duIGV2ZW50LlxuICAgICAqIFdlIHRyYWNrIHdoZXRoZXIgdG8gcmVxdWVzdCBzdWJtaXQsIHdoaWNoIHNob3VsZCBvY2N1ciBiZWZvcmUgdGhlIGtleXVwXG4gICAgICogZXZlbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICd0ZXh0J1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCB2YWx1ZSBvZiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLnZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHZhbHVlKTtcbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5pbm5lckhUTUwgPSBzdXBlci52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyByZWFkb25seS5cbiAgICAgKiBAYXR0ciByZWFkb25seVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBzZXQgcmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdyZWFkb25seScsICEhdmFsdWUpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVJlYWRPbmx5ID0gdmFsdWUgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgdGhpcy5fdXBkYXRlQ29udGVudGVkaXRhYmxlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgICAqIEBhdHRyIGRpc2FibGVkXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgISF2YWx1ZSk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB2YWx1ZSA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB0aGlzLl91cGRhdGVDb250ZW50ZWRpdGFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB9XG5cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhUGxhY2Vob2xkZXIgPSB2YWx1ZSA/IHZhbHVlIDogbnVsbDtcbiAgICB9XG4gICAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicpID8/ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ3RleHRib3gnO1xuICAgICAgLy8gV2UgcHJpbWFyaWx5IHVzZSBjYXB0dXJlIGV2ZW50IGxpc3RlbmVycywgYXMgd2Ugd2FudFxuICAgICAgLy8gb3VyIGxpc3RlbmVycyB0byBvY2N1ciBiZWZvcmUgY29uc3VtZXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzdXBlci52YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh0aGlzLnRleHRDb250ZW50ID8/ICcnKTtcbiAgICAgICAgICB0aGlzLl9pbnRlcmFjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+ICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2UpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBXZSBwcmV2ZW50IHJlY3Vyc2l2ZSBldmVudHMgYnkgY2hlY2tpbmcgdGhlIG9yaWdpbmFsIGV2ZW50IGZvciBpc1RydXN0ZWRcbiAgICAgICAgICAvLyB3aGljaCBpcyBmYWxzZSBmb3IgbWFudWFsbHkgZGlzcGF0Y2hlZCBldmVudHMgKHdoaWNoIHdlIGRpc3BhdGNoIGJlbG93KS5cbiAgICAgICAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBpc1dlYmtpdCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmlzVHJ1c3RlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gSW4gV2Via2l0IHByZXNzaW5nIEJhY2tzcGFjZSBvciBEZWxldGUgY29tcGxldGVseSByZW1vdmVzIGFsbCB0aGUgY29udGVudFxuICAgICAgICAgICAgLy8gaWYgY29udGVudGVkaXRhYmxlIGlzIHNldCBvbiBhIHdlYiBjb21wb25lbnQgaG9zdC5cbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBub3JtYWwgZGVsZXRlIGJlaGF2aW9yLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIGV2ZW50KSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgIT09IHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIGEgdGV4dCByYW5nZSBpcyBzZWxlY3RlZCwgdGhlbiBkZWxldGUgdGhpcyByYW5nZVxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgQmFja3NwYWNlLCB3ZSBzZWxlY3QgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2Uuc3RhcnRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgLSAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJyAmJiBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCA8IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgRGVsZXRlLCB3ZSBzZWxlY3QgdGhlIG5leHQgY2hhcmFjdGVyIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGFuZCBkZWxldGUgaXQuXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0RW5kKHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCArIDEpO1xuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdrZXl1cCcsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCkge1xuICAgICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybT8ucmVxdWVzdFN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgLy8gY29udGVudGVkaXRhYmxlIGFsbG93cyBwYXN0aW5nIHJpY2ggY29udGVudCBpbnRvIGl0cyBob3N0LlxuICAgICAgLy8gV2UgcHJldmVudCB0aGlzIGJ5IGxpc3RlbmluZyB0byB0aGUgcGFzdGUgZXZlbnQgYW5kXG4gICAgICAvLyBleHRyYWN0aW5nIHRoZSBwbGFpbiB0ZXh0IGZyb20gdGhlIHBhc3RlZCBjb250ZW50XG4gICAgICAvLyBhbmQgaW5zZXJ0aW5nIGl0IGludG8gdGhlIHNlbGVjdGVkIHJhbmdlIChjdXJzb3IgcG9zaXRpb25cbiAgICAgIC8vIG9yIHNlbGVjdGlvbikuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncGFzdGUnLCAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLl9jbGVhblRleHQoZS5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgPz8gJycpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmFuZ2UgfHwgIXRleHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0U3RhcnQoc2VsZWN0ZWRSYW5nZS5lbmRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICAgIC8vIFdoZW4gZm9jdXNpbmcgYSB0ZXh0IGlucHV0IHZpYSBrZXlib2FyZCwgdGhlIHRleHQgY29udGVudCBzaG91bGQgYmUgc2VsZWN0ZWQuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5zZWxlY3RBbGxDaGlsZHJlbih0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICAvLyBPbiBibHVyIHRoZSBuYXRpdmUgdGV4dCBpbnB1dCBzY3JvbGxzIHRoZSB0ZXh0IHRvIHRoZSBzdGFydCBvZiB0aGUgdGV4dC5cbiAgICAgIC8vIFdlIG1pbWljayB0aGF0IGJ5IHJlc2V0dGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uLlxuICAgICAgLy8gV2UgYWxzbyB1bnNldCBhbnkgc2VsZWN0aW9uIHRvIGFsaWduIHdpdGggdGhlIG5hdGl2ZSB0ZXh0IGlucHV0LlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgdGhpcy5zY3JvbGxMZWZ0ID0gMDtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgICBzdXBlci5mb2N1cyhvcHRpb25zKTtcbiAgICAgIC8vIEJ5IGRlZmF1bHQsIHdoZW4gY2FsbGluZyBmb2N1cyBvbiBhbiBpbnB1dCBlbGVtZW50LCB0aGUgY3Vyc29yIGlzIHBsYWNlZFxuICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXQgdGV4dC4gSG93ZXZlciwgd2l0aCBjb250ZW50ZWRpdGFibGUsIHRoZSBjdXJzb3JcbiAgICAgIC8vIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nLCBzbyB3ZSBtb3ZlIGl0IHRvIHRoZSBlbmQsIGlmIHRoYXQgaXMgdGhlIGNhc2UuXG4gICAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRPbmx5ICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmFuZ2UgPSBzZWxlY3Rpb24ucmFuZ2VDb3VudCA+IDAgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IG51bGw7XG4gICAgICAgIGlmIChyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5maXJzdENoaWxkISwgdGhpcy50ZXh0Q29udGVudCEubGVuZ3RoKTtcbiAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCAhdGhpcy5faW50ZXJhY3RlZCkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5faW50ZXJhY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0QXR0cmlidXRlKCd2YWx1ZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChzdGF0ZSAmJiB0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBzdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHZhbHVlIHdhcyBhc3NpZ25lZCBiZWZvcmUgZmlyc3RVcGRhdGUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIHdyaXRlIGl0IHRoZSBkb2N1bWVudCB0byBiZSB2aXN1YWxseSBzZWVuXG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiAhdGhpcy5pbm5lckhUTUwubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaW5uZXJIVE1MID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUsIHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICd2YWx1ZScgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5JbnB1dFJlcXVpcmVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFuVGV4dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIC8vIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCByZW1vdmVzIGFsbCBuZXdsaW5lIGNoYXJhY3RlcnMgaWYgcGFzc2VkIHRvIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJycgOiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1tcXG5cXHJdKy9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIEBldmVudE9wdGlvbnMoeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfY2xlYW5DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkRWxlbWVudENvdW50KSB7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpOiB2b2lkIHtcbiAgICAgIGlmICghaXNTZXJ2ZXIgJiYgdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAvLyBUT0RPKDIwMjYpOiBGaXJlZm94IHN1cHBvcnRzIHBsYWludGV4dC1vbmx5IHNpbmNlIHZlcnNpb24gMTM2IChNYXJjaCAyMDI1KS5cbiAgICAgICAgLy8gVW50aWwgdGhpcyBpcyBwYXJ0IG9mIG91ciBiYXNlbGluZSwgd2Ugc2hvdWxkIGZlYXR1cmUgY2hlY2sgdG8gZW5hYmxlIGl0LlxuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRPbmx5XG4gICAgICAgICAgICA/ICdmYWxzZSdcbiAgICAgICAgICAgIDogcGxhaW50ZXh0T25seVN1cHBvcnRlZFxuICAgICAgICAgICAgICA/ICdwbGFpbnRleHQtb25seSdcbiAgICAgICAgICAgICAgOiAndHJ1ZSc7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB2YWx1ZSk7XG4gICAgICAgIC8vIEluIHRoZSByZWFkb25seSBjYXNlLCB3ZSBkaXNhYmxlIGNvbnRlbnRlZGl0YWJsZSwgYnV0IGl0IHN0aWxsXG4gICAgICAgIC8vIG5lZWRzIHRvIGJlIGZvY3VzYWJsZS4gV2UgYWNoaWV2ZSB0aGlzIGJ5IHNldHRpbmcgdGFiaW5kZXggaW4gdGhhdCBjYXNlLlxuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5fc2hvdWxkRW1pdENoYW5nZSkge1xuICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiB1bmtub3duIHtcbiAgICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fY2xlYW5DaGlsZHJlbn0+PC9zbG90PmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRFbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGlu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
|