@sbb-esta/lyne-elements 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete-base-element.d.ts +19 -20
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +7 -7
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete.js +143 -134
- package/chip/chip/chip.d.ts +32 -0
- package/chip/chip/chip.d.ts.map +1 -0
- package/chip/chip-group/chip-group.d.ts +100 -0
- package/chip/chip-group/chip-group.d.ts.map +1 -0
- package/chip/chip-group.d.ts +2 -0
- package/chip/chip-group.d.ts.map +1 -0
- package/chip/chip-group.js +225 -0
- package/chip/chip.d.ts +2 -0
- package/chip/chip.d.ts.map +1 -0
- package/chip/chip.js +85 -0
- package/chip.d.ts +3 -0
- package/chip.d.ts.map +1 -0
- package/chip.js +2 -0
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +1 -1
- package/core/controllers/id-observer-controller.d.ts +21 -0
- package/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers.d.ts +2 -1
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +135 -80
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +8 -3
- package/core/dom/find-referenced-element.d.ts +1 -0
- package/core/dom/find-referenced-element.d.ts.map +1 -1
- package/core/dom/input-element.d.ts +3 -1
- package/core/dom/input-element.d.ts.map +1 -1
- package/core/i18n/i18n.d.ts +3 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +135 -117
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins.js +64 -59
- package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/core/overlay/position.d.ts +1 -1
- package/core/overlay/position.d.ts.map +1 -1
- package/core/styles/core.scss +89 -24
- package/core/styles/image.scss +1 -1
- package/core/styles/mixins/table.scss +63 -26
- package/core/styles/table.scss +16 -0
- package/core/testing/scroll.d.ts +1 -0
- package/core/testing/scroll.d.ts.map +1 -1
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing.js +8 -5
- package/core.css +90 -34
- package/custom-elements.json +1588 -650
- package/datepicker/datepicker/datepicker.d.ts +4 -4
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +30 -34
- package/datepicker/datepicker.js +103 -105
- package/development/autocomplete/autocomplete-base-element.d.ts +19 -20
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +3 -3
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +1 -1
- package/development/autocomplete.js +103 -79
- package/development/chip/chip/chip.d.ts +32 -0
- package/development/chip/chip/chip.d.ts.map +1 -0
- package/development/chip/chip-group/chip-group.d.ts +100 -0
- package/development/chip/chip-group/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.d.ts +2 -0
- package/development/chip/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.js +349 -0
- package/development/chip/chip.d.ts +2 -0
- package/development/chip/chip.d.ts.map +1 -0
- package/development/chip/chip.js +212 -0
- package/development/chip.d.ts +3 -0
- package/development/chip.d.ts.map +1 -0
- package/development/chip.js +3 -0
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +5 -2
- package/development/core/controllers/id-observer-controller.d.ts +21 -0
- package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers.d.ts +2 -1
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +116 -44
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +6 -2
- package/development/core/dom/find-referenced-element.d.ts +1 -0
- package/development/core/dom/find-referenced-element.d.ts.map +1 -1
- package/development/core/dom/input-element.d.ts +3 -1
- package/development/core/dom/input-element.d.ts.map +1 -1
- package/development/core/dom.js +1 -1
- package/development/core/i18n/i18n.d.ts +3 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +23 -2
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +12 -3
- package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/development/core/overlay/position.d.ts +1 -1
- package/development/core/overlay/position.d.ts.map +1 -1
- package/development/core/overlay.js +1 -1
- package/development/core/testing/scroll.d.ts +1 -0
- package/development/core/testing/scroll.d.ts.map +1 -1
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing.js +6 -2
- package/development/datepicker/datepicker/datepicker.d.ts +4 -4
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +4 -12
- package/development/datepicker/datepicker.js +46 -43
- package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +2 -5
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel.js +2 -7
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +3 -3
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field.js +12 -145
- package/development/header/header/header.d.ts +6 -7
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header.js +45 -34
- package/development/menu/menu/menu.d.ts +7 -8
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +42 -41
- package/development/navigation/navigation/navigation.d.ts +7 -8
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +3 -3
- package/development/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +50 -47
- package/development/navigation/navigation.js +42 -40
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.d.ts +2 -2
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +3 -3
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +3 -3
- package/development/paginator/paginator.js +12 -1
- package/development/popover/popover/popover.d.ts +8 -7
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +28 -35
- package/development/select/select.d.ts +1 -1
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +15 -15
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +2 -7
- package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/development/sidebar/sidebar.js +3 -3
- package/development/stepper/step/step.d.ts +15 -1
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label.js +2 -2
- package/development/stepper/step.js +23 -3
- package/development/stepper/stepper/stepper.d.ts +1 -0
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +5 -1
- package/development/table/table-wrapper.js +2 -1
- package/development/time-input/time-input.d.ts +6 -8
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +42 -44
- package/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +18 -21
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel.js +53 -56
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +8 -8
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +102 -97
- package/header/header/header.d.ts +6 -7
- package/header/header/header.d.ts.map +1 -1
- package/header/header.js +72 -70
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/menu/menu/menu.d.ts +7 -8
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +73 -73
- package/navigation/navigation/navigation.d.ts +7 -8
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +4 -4
- package/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +75 -77
- package/navigation/navigation.js +70 -70
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup.d.ts +2 -2
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +13 -13
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +2 -2
- package/package.json +16 -1
- package/paginator/paginator.js +44 -44
- package/popover/popover/popover.d.ts +8 -7
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +73 -73
- package/select/select.d.ts +1 -1
- package/select/select.d.ts.map +1 -1
- package/select.js +68 -67
- package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +10 -13
- package/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/sidebar/sidebar.js +2 -2
- package/standard-theme.css +166 -79
- package/stepper/step/step.d.ts +15 -1
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper/step.js +36 -22
- package/stepper/stepper/stepper.d.ts +1 -0
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +19 -16
- package/table/table-wrapper.js +4 -4
- package/table.css +75 -44
- package/time-input/time-input.d.ts +6 -8
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +66 -73
|
@@ -55,14 +55,14 @@ let SbbFlipCardDetailsElement = (() => {
|
|
|
55
55
|
_a = class extends _classSuper {
|
|
56
56
|
constructor() {
|
|
57
57
|
super();
|
|
58
|
-
new MutationController(this, {
|
|
58
|
+
this.addController(new MutationController(this, {
|
|
59
59
|
config: {
|
|
60
60
|
childList: true,
|
|
61
61
|
subtree: true,
|
|
62
62
|
attributes: true
|
|
63
63
|
},
|
|
64
64
|
callback: () => this._checkForSlottedActions()
|
|
65
|
-
});
|
|
65
|
+
}));
|
|
66
66
|
}
|
|
67
67
|
_checkForSlottedActions() {
|
|
68
68
|
var _a2;
|
|
@@ -89,4 +89,4 @@ let SbbFlipCardDetailsElement = (() => {
|
|
|
89
89
|
export {
|
|
90
90
|
SbbFlipCardDetailsElement
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLWRldGFpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9mbGlwLWNhcmQvZmxpcC1jYXJkLWRldGFpbHMvZmxpcC1jYXJkLWRldGFpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgSVNfRk9DVVNBQkxFX1FVRVJZIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLWRldGFpbHMuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1mbGlwLWNhcmRgLCBpdCBkaXNwbGF5cyBpdHMgY29udGVudCB3aGVuIHRoZSBjYXJkIGlzIGZsaXBwZWQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGFueSBraW5kIG9mIGNvbnRlbnQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mbGlwLWNhcmQtZGV0YWlscycpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnZGV0YWlscycsXG59KVxuY2xhc3MgU2JiRmxpcENhcmREZXRhaWxzRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrRm9yU2xvdHRlZEFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY2FyZEZvY3VzYWJsZUF0dHJpYnV0ZU5hbWUgPSAnZGF0YS1jYXJkLWZvY3VzYWJsZSc7XG5cbiAgICBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKElTX0ZPQ1VTQUJMRV9RVUVSWSkgPz8gW10pLmZvckVhY2goKGVsOiBFbGVtZW50KSA9PlxuICAgICAgZWwudG9nZ2xlQXR0cmlidXRlKGNhcmRGb2N1c2FibGVBdHRyaWJ1dGVOYW1lLCB0cnVlKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWZsaXAtY2FyZC1kZXRhaWxzLS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZmxpcC1jYXJkLWRldGFpbHNcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZsaXAtY2FyZC1kZXRhaWxzJzogU2JiRmxpcENhcmREZXRhaWxzRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFvQk0sNkJBQXlCLE1BQUE7O0FBSjlCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLHVCQUF1QixHQUNyQyxlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQLENBQUM7Ozs7b0JBQ3NDO0FBQVIsRUFBQSxtQkFBUSxZQUFVO0FBQUEsSUFHaEQsY0FBQTs7QUFHTyxXQUFBLGNBQ0gsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNCLFFBQVE7QUFBQSxVQUNOLFdBQVc7QUFBQSxVQUNYLFNBQVM7QUFBQSxVQUNULFlBQVk7QUFBQSxRQUNiO0FBQUEsUUFDRCxVQUFVLE1BQU0sS0FBSyx3QkFBeUI7QUFBQSxNQUFBLENBQy9DLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFJRSwwQkFBdUI7O0FBQzdCLFlBQU0sNkJBQTZCO0FBRW5DLFlBQU0sT0FBS0EsTUFBQSxLQUFLLHFCQUFMLGdCQUFBQSxJQUFBLFdBQXdCLHdCQUF1QixDQUFFLENBQUEsRUFBRSxRQUFRLENBQUMsT0FDckUsR0FBRyxnQkFBZ0IsNEJBQTRCLElBQUksQ0FBQztBQUFBLElBQUE7QUFBQSxJQUlyQyxTQUFNO0FBQ2hCLGFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUE7O0FBM0JYLGlCQW1DQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBbEN3QixHQUFNLFNBQW1CLE9BRDVDLGtCQUF5QixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAcb,OAAO,eAAe,CAAC;;AAOvB;;;;;;;;GAQG;AACH,qBAGM,mBAAoB,SAAQ,wBAA+C;IAC/E,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAK5C;IAEF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAItC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAcb,OAAO,eAAe,CAAC;;AAOvB;;;;;;;;GAQG;AACH,qBAGM,mBAAoB,SAAQ,wBAA+C;IAC/E,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAK5C;IAEF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAItC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAuD;IAE9F,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAMnD;IAEF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAQhD;IAEF;;;;OAIG;IACH,SACgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAU;IAExD,+CAA+C;IAC/C,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAwB;IAE1F,0DAA0D;IAC1D,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C;;+EAE2E;IAC3E,SAA6C,KAAK,EAAE,SAAS,GAAG,UAAU,CAAa;IAEvF,wFAAwF;IACxF,SAEgB,WAAW,EAAE,OAAO,CAAS;IAE7C,4FAA4F;IAC5F,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,qDAAqD;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEzD,oEAAoE;IACpE,OAAO,CAAC,6BAA6B,CAAC,CAAgB;IAEtD,8CAA8C;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkE;IAElG,+CAA+C;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAEpD,iCAAiC;IACjC,IAAW,YAAY,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAExF;IAED,OAAO,CAAC,SAAS,CAAmC;IAEpD;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAM1B;IAET,OAAO,CAAC,qBAAqB,CAAyB;IAEtC,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,sBAAsB;IA+E9B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,qBAAqB;IAiB7B,qFAAqF;IAC9E,KAAK,IAAI,IAAI;IAIpB,4FAA4F;IACrF,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,aAAa;cAMF,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -394,143 +394,6 @@ const style = css`@charset "UTF-8";
|
|
|
394
394
|
margin-block-end: -0.125rem;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
.sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input)) {
|
|
398
|
-
--sbb-text-font-size: var(--sbb-font-size-text-m);
|
|
399
|
-
font-family: var(--sbb-typo-font-family);
|
|
400
|
-
font-weight: normal;
|
|
401
|
-
line-height: var(--sbb-typo-line-height-body-text);
|
|
402
|
-
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
403
|
-
font-size: var(--sbb-text-font-size);
|
|
404
|
-
overflow: hidden;
|
|
405
|
-
white-space: nowrap;
|
|
406
|
-
text-overflow: ellipsis;
|
|
407
|
-
outline: none;
|
|
408
|
-
border: none;
|
|
409
|
-
background-color: transparent;
|
|
410
|
-
padding: 0;
|
|
411
|
-
-webkit-appearance: none;
|
|
412
|
-
outline: none !important;
|
|
413
|
-
overflow: var(--sbb-form-field-overflow);
|
|
414
|
-
width: 100%;
|
|
415
|
-
box-sizing: border-box;
|
|
416
|
-
color: var(--sbb-form-field-text-color);
|
|
417
|
-
-webkit-text-fill-color: var(--sbb-form-field-text-color);
|
|
418
|
-
opacity: 1;
|
|
419
|
-
background-color: transparent;
|
|
420
|
-
font-size: var(--sbb-form-field-input-text-size) !important;
|
|
421
|
-
font-family: var(--sbb-typo-font-family) !important;
|
|
422
|
-
line-height: var(--sbb-typo-line-height-body-text) !important;
|
|
423
|
-
}
|
|
424
|
-
.sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input))::placeholder {
|
|
425
|
-
color: var(--sbb-color-metal);
|
|
426
|
-
-webkit-text-fill-color: var(--sbb-color-metal);
|
|
427
|
-
opacity: 1;
|
|
428
|
-
}
|
|
429
|
-
:host([floating-label]) .sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input))::placeholder {
|
|
430
|
-
color: transparent !important;
|
|
431
|
-
-webkit-text-fill-color: transparent !important;
|
|
432
|
-
}
|
|
433
|
-
@media (forced-colors: active) {
|
|
434
|
-
:host([floating-label]) .sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input))::placeholder {
|
|
435
|
-
color: Canvas !important;
|
|
436
|
-
-webkit-text-fill-color: Canvas !important;
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
:host([data-disabled]:not([floating-label])) .sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input))::placeholder {
|
|
440
|
-
color: var(--sbb-color-granite);
|
|
441
|
-
-webkit-text-fill-color: var(--sbb-color-granite);
|
|
442
|
-
}
|
|
443
|
-
:host([data-input-type=select]) .sbb-form-field__input ::slotted(:where(input, select, textarea, sbb-select, sbb-date-input)) {
|
|
444
|
-
vertical-align: middle;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
.sbb-form-field__input ::slotted(:where(select, sbb-select)) {
|
|
448
|
-
padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
.sbb-form-field__input ::slotted(textarea) {
|
|
452
|
-
--sbb-scrollbar-thumb-width: 0.125rem;
|
|
453
|
-
--sbb-scrollbar-thumb-width-hover: 0.25rem;
|
|
454
|
-
--sbb-scrollbar-width-firefox: thin;
|
|
455
|
-
--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);
|
|
456
|
-
--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);
|
|
457
|
-
--sbb-scrollbar-track-color: transparent;
|
|
458
|
-
--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
|
|
459
|
-
}
|
|
460
|
-
.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar {
|
|
461
|
-
width: var(--sbb-scrollbar-width);
|
|
462
|
-
height: var(--sbb-scrollbar-width);
|
|
463
|
-
background-color: var(--sbb-scrollbar-track-color, transparent);
|
|
464
|
-
}
|
|
465
|
-
.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner {
|
|
466
|
-
background-color: var(--sbb-scrollbar-track-color, transparent);
|
|
467
|
-
}
|
|
468
|
-
.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb {
|
|
469
|
-
background-color: var(--sbb-scrollbar-color, currentcolor);
|
|
470
|
-
border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
|
|
471
|
-
border-radius: var(--sbb-border-radius-4x);
|
|
472
|
-
background-clip: padding-box;
|
|
473
|
-
}
|
|
474
|
-
.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover {
|
|
475
|
-
background-color: var(--sbb-scrollbar-color-hover, currentcolor);
|
|
476
|
-
border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
|
|
477
|
-
}
|
|
478
|
-
.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button, .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner {
|
|
479
|
-
display: none;
|
|
480
|
-
}
|
|
481
|
-
@supports not selector(::-webkit-scrollbar) {
|
|
482
|
-
.sbb-form-field__input ::slotted(textarea) {
|
|
483
|
-
scrollbar-width: var(--sbb-scrollbar-width-firefox);
|
|
484
|
-
scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
.sbb-form-field__input ::slotted(textarea) {
|
|
488
|
-
position: relative;
|
|
489
|
-
resize: none;
|
|
490
|
-
white-space: break-spaces;
|
|
491
|
-
overflow-y: auto;
|
|
492
|
-
min-height: calc(var(--sbb-typo-line-height-body-text) * 1em);
|
|
493
|
-
}
|
|
494
|
-
:host([size=l]) .sbb-form-field__input ::slotted(textarea) {
|
|
495
|
-
padding-block-end: 0.34375rem;
|
|
496
|
-
}
|
|
497
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea) {
|
|
498
|
-
--sbb-scrollbar-thumb-width: 0.125rem;
|
|
499
|
-
--sbb-scrollbar-thumb-width-hover: 0.25rem;
|
|
500
|
-
--sbb-scrollbar-width-firefox: thin;
|
|
501
|
-
--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);
|
|
502
|
-
--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);
|
|
503
|
-
--sbb-scrollbar-track-color: transparent;
|
|
504
|
-
--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
|
|
505
|
-
}
|
|
506
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar {
|
|
507
|
-
width: var(--sbb-scrollbar-width);
|
|
508
|
-
height: var(--sbb-scrollbar-width);
|
|
509
|
-
background-color: var(--sbb-scrollbar-track-color, transparent);
|
|
510
|
-
}
|
|
511
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner {
|
|
512
|
-
background-color: var(--sbb-scrollbar-track-color, transparent);
|
|
513
|
-
}
|
|
514
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb {
|
|
515
|
-
background-color: var(--sbb-scrollbar-color, currentcolor);
|
|
516
|
-
border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
|
|
517
|
-
border-radius: var(--sbb-border-radius-4x);
|
|
518
|
-
background-clip: padding-box;
|
|
519
|
-
}
|
|
520
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover {
|
|
521
|
-
background-color: var(--sbb-scrollbar-color-hover, currentcolor);
|
|
522
|
-
border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
|
|
523
|
-
}
|
|
524
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button, :host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner {
|
|
525
|
-
display: none;
|
|
526
|
-
}
|
|
527
|
-
@supports not selector(::-webkit-scrollbar) {
|
|
528
|
-
:host([negative]) .sbb-form-field__input ::slotted(textarea) {
|
|
529
|
-
scrollbar-width: var(--sbb-scrollbar-width-firefox);
|
|
530
|
-
scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
|
|
534
397
|
.sbb-form-field__error {
|
|
535
398
|
display: flex;
|
|
536
399
|
min-height: var(--sbb-form-field-error-min-height);
|
|
@@ -600,7 +463,7 @@ let SbbFormFieldElement = (() => {
|
|
|
600
463
|
"sbb-select",
|
|
601
464
|
"sbb-slider"
|
|
602
465
|
];
|
|
603
|
-
this._excludedFocusElements = ["button", "sbb-popover", "sbb-option"];
|
|
466
|
+
this._excludedFocusElements = ["button", "sbb-popover", "sbb-option", "sbb-chip"];
|
|
604
467
|
this._floatingLabelSupportedInputElements = [
|
|
605
468
|
"input",
|
|
606
469
|
"select",
|
|
@@ -765,17 +628,18 @@ let SbbFormFieldElement = (() => {
|
|
|
765
628
|
/**
|
|
766
629
|
* It is used internally to assign the attributes of `<input>` to `_id` and `_input` and to observe the native readonly and disabled attributes.
|
|
767
630
|
*/
|
|
768
|
-
_onSlotInputChange(
|
|
631
|
+
_onSlotInputChange() {
|
|
769
632
|
var _a2, _b;
|
|
770
|
-
const newInput =
|
|
633
|
+
const newInput = this.querySelector(`:where(${this._supportedInputElements.join(",")})`);
|
|
771
634
|
this._assignSlots();
|
|
772
635
|
if (this._input && this._input.localName === "input" && newInput !== this._input) {
|
|
773
636
|
this._unpatchInputValue();
|
|
774
637
|
}
|
|
775
|
-
|
|
776
|
-
|
|
638
|
+
if (!newInput) {
|
|
639
|
+
this._input = void 0;
|
|
777
640
|
return;
|
|
778
641
|
}
|
|
642
|
+
this._input = newInput;
|
|
779
643
|
this._originalInputAriaDescribedby = this._input.getAttribute("aria-describedby");
|
|
780
644
|
this._applyAriaDescribedby();
|
|
781
645
|
this._readInputState();
|
|
@@ -901,7 +765,10 @@ let SbbFormFieldElement = (() => {
|
|
|
901
765
|
}
|
|
902
766
|
_isInputEmpty() {
|
|
903
767
|
var _a2, _b, _c, _d, _e;
|
|
904
|
-
|
|
768
|
+
const chipGroupElem = this.querySelector("sbb-chip-group");
|
|
769
|
+
if (chipGroupElem) {
|
|
770
|
+
return this._isInputValueEmpty() && chipGroupElem.value.length === 0;
|
|
771
|
+
} else if (this._input instanceof HTMLInputElement) {
|
|
905
772
|
return this._floatingLabelSupportedInputTypes.includes(this._input.type) && this._isInputValueEmpty();
|
|
906
773
|
} else if (this._input instanceof HTMLSelectElement) {
|
|
907
774
|
return ((_c = (_b = (_a2 = this._input.selectedOptions) == null ? void 0 : _a2.item(0)) == null ? void 0 : _b.label) == null ? void 0 : _c.trim()) === "";
|
|
@@ -976,7 +843,7 @@ let SbbFormFieldElement = (() => {
|
|
|
976
843
|
}
|
|
977
844
|
_syncNegative() {
|
|
978
845
|
var _a2;
|
|
979
|
-
(_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-form-error,sbb-mini-button,sbb-popover-trigger,sbb-form-field-clear,sbb-datepicker-next-day,sbb-datepicker-previous-day,sbb-datepicker-toggle,sbb-select,sbb-autocomplete,sbb-autocomplete-grid").forEach((element) => element.toggleAttribute("negative", this.negative));
|
|
846
|
+
(_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-form-error,sbb-mini-button,sbb-popover-trigger,sbb-form-field-clear,sbb-datepicker-next-day,sbb-datepicker-previous-day,sbb-datepicker-toggle,sbb-select,sbb-autocomplete,sbb-autocomplete-grid,sbb-chip-group").forEach((element) => element.toggleAttribute("negative", this.negative));
|
|
980
847
|
}
|
|
981
848
|
render() {
|
|
982
849
|
var _a2;
|
|
@@ -1062,4 +929,4 @@ let SbbFormFieldElement = (() => {
|
|
|
1062
929
|
export {
|
|
1063
930
|
SbbFormFieldElement
|
|
1064
931
|
};
|
|
1065
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYklucHV0TW9kYWxpdHkgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0xlYW4sIHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bk9wdGlvbmFsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2ljb24uanMnO1xuXG5sZXQgbmV4dElkID0gMDtcbmxldCBuZXh0Rm9ybUZpZWxkRXJyb3JJZCA9IDA7XG5cbmNvbnN0IHBhdGNoZWRJbnB1dHMgPSBuZXcgV2Vha01hcDxIVE1MSW5wdXRFbGVtZW50LCBQcm9wZXJ0eURlc2NyaXB0b3I+KCk7XG5cbi8qKlxuICogSXQgd3JhcHMgYW4gaW5wdXQgZWxlbWVudCBhZGRpbmcgbGFiZWwsIGVycm9ycywgaWNvbiwgZXRjLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaW5wdXQvc2VsZWN0IG9yIGEgc3VwcG9ydGVkIG5vbi1uYXRpdmUgZWxlbWVudC5cbiAqIEBzbG90IGxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYSBsYWJlbC5cbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mb3JtLWZpZWxkJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyA9IFtcbiAgICAnaW5wdXQnLFxuICAgICdzZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gICAgJ3NiYi1kYXRlLWlucHV0JyxcbiAgXTtcbiAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCBzZWxlY3RvcnMgaW4gdW5uYW1lZCBzbG90XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgLi4udGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gICAgJ3NiYi1zbGlkZXInLFxuICBdO1xuICAvLyBMaXN0IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBmb2N1cyBpbnB1dCBvbiBjbGlja1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGNsdWRlZEZvY3VzRWxlbWVudHMgPSBbJ2J1dHRvbicsICdzYmItcG9wb3ZlcicsICdzYmItb3B0aW9uJ107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgJ2lucHV0JyxcbiAgICAnc2VsZWN0JyxcbiAgICAnc2JiLWRhdGUtaW5wdXQnLFxuICAgICdzYmItc2VsZWN0JyxcbiAgICAndGV4dGFyZWEnLFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzID0gW1xuICAgICdlbWFpbCcsXG4gICAgJ251bWJlcicsXG4gICAgJ3Bhc3N3b3JkJyxcbiAgICAnc2VhcmNoJyxcbiAgICAndGVsJyxcbiAgICAndGV4dCcsXG4gICAgJ3VybCcsXG4gIF07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGVycm9yU3BhY2U6ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGlzIG9wdGlvbmFsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3B0aW9uYWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbCwgbSBvciBzLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbCcgfCAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBmb3JtIGZpZWxkIHdpdGhvdXQgYSBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqIC0gYGRlZmF1bHRgOiB0aGUgY29tcG9uZW50IGhhcyBkZWZpbmVkIHdpZHRoIGFuZCBtaW4td2lkdGg7XG4gICAqIC0gYGNvbGxhcHNlYDogdGhlIGNvbXBvbmVudCBhZGFwdHMgaXRzZWxmIHRvIGl0cyBpbm5lciBpbnB1dCBjb250ZW50LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB3aWR0aDogJ2RlZmF1bHQnIHwgJ2NvbGxhcHNlJyA9ICdkZWZhdWx0JztcblxuICAvKiogV2hldGhlciB0byB2aXN1YWxseSBoaWRlIHRoZSBsYWJlbC4gSWYgaGlkZGVuLCBzY3JlZW4gcmVhZGVycyB3aWxsIHN0aWxsIHJlYWQgaXQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRkZW4tbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBoaWRkZW5MYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgZmxvYXQuIElmIGFjdGl2YXRlZCwgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBpbnB1dCBpcyBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmbG9hdGluZy1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZsb2F0aW5nTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGdldCB0aGUgYGVycm9yYCBzbG90LiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9lcnJvckVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogT3JpZ2luYWwgYXJpYS1kZXNjcmliZWRieSB2YWx1ZSBvZiB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0ITogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbGFiZWwhOiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIGByZWFkb25seWAgYW5kIGBkaXNhYmxlZGAgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSkge1xuICAgICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIHByaXZhdGUgX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0VsZW1lbnRGb2N1c0V4Y2x1ZGVkKGV2ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0JyAmJlxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lICE9PSAnc2JiLXNlbGVjdCdcbiAgICApIHtcbiAgICAgIHRoaXMuX2lucHV0LmNsaWNrKCk7XG4gICAgICB0aGlzLl9pbnB1dC5mb2N1cygpO1xuICAgIH0gZWxzZSBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdsYWJlbCcpIHtcbiAgICAgIHRoaXMuX2lucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5zb21lKFxuICAgICAgICAoZWwpID0+XG4gICAgICAgICAgKGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50ICYmXG4gICAgICAgICAgICAoZWwuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpID09PSAnMCcgfHwgZWwuaGFzQXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0lucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gdGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhlLmxvY2FsTmFtZSkpO1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQgJiYgdGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnaW5wdXQnICYmIG5ld0lucHV0ICE9PSB0aGlzLl9pbnB1dCkge1xuICAgICAgdGhpcy5fdW5wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dCA9IG5ld0lucHV0O1xuXG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB0aGlzLl9hcHBseUFyaWFEZXNjcmliZWRieSgpO1xuICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ3Jvd3MnLCB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ3Jvd3MnKSB8fCAnMycpO1xuICAgIH1cblxuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCcsICdkYXRhLWV4cGFuZGVkJ10sXG4gICAgfSk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtdHlwZScsIHRoaXMuX2lucHV0LmxvY2FsTmFtZSk7XG4gICAgdGhpcy5fc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCB8fCAhdGhpcy5fbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dC5sb2NhbE5hbWUpKSB7XG4gICAgICAvLyBGb3IgbmF0aXZlIGlucHV0IGVsZW1lbnRzIHdlIHVzZSB0aGUgYGZvcmAgYXR0cmlidXRlIG9uIHRoZSBsYWJlbCB0byByZWZlcmVuY2UgdGhlIGlucHV0XG4gICAgICAvLyB2aWEgaWQgcmVmZXJlbmNlLlxuICAgICAgaWYgKCF0aGlzLl9pbnB1dC5pZCkge1xuICAgICAgICB0aGlzLl9pbnB1dC5pZCA9IGBzYmItZm9ybS1maWVsZC1pbnB1dC0ke25leHRJZCsrfWA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2xhYmVsLmh0bWxGb3IgPSB0aGlzLl9pbnB1dC5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIG5vbi1uYXRpdmUgaW5wdXQgZWxlbWVudHMsIHRoYXQgZG8gbm90IHN1cHBvcnQgcmVmZXJlbmNlcyB2aWEgdGhlIGxhYmVsIGZvciBhdHRyaWJ1dGUsXG4gICAgICAvLyB3ZSB1c2UgYXJpYS1sYWJlbGxlZGJ5IG9uIHRoZSBpbnB1dCBlbGVtZW50IHRvIHJlZmVyZW5jZSB0aGUgbGFiZWwgZWxlbWVudCB2aWEgaWQuXG4gICAgICBpZiAoIXRoaXMuX2xhYmVsLmlkKSB7XG4gICAgICAgIHRoaXMuX2xhYmVsLmlkID0gYHNiYi1mb3JtLWZpZWxkLWxhYmVsLSR7bmV4dElkKyt9YDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhYmVsbGVkYnkgPVxuICAgICAgICB0aGlzLl9pbnB1dFxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpXG4gICAgICAgICAgPy5zcGxpdCgnICcpXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gISFsICYmIGwgIT09IHRoaXMuX2xhYmVsIS5pZCkgPz8gW107XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScsIFsuLi5sYWJlbGxlZGJ5LCB0aGlzLl9sYWJlbC5pZF0uam9pbignICcpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3RlcklucHV0TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuXG4gICAgLy8gVGltZW91dCBuZWVkZWQgdG8gaGF2ZSB2YWx1ZSB1cGRhdGVkXG4gICAgdGhpcy5fZ2V0SW5wdXRGb3JtKCk/LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlc2V0KCkpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIFdlIHdhbnQgdG8gcHJldmVudCB0aGUgbmF0aXZlIGJyb3dzZXIgdmFsaWRhdGlvbiBtZXNzYWdlIHBvcG92ZXJcbiAgICAvLyB0byBiZSBzaG93bi4gVGhpcyBhbHNvIHByZXZlbnRzIGEgYnVnIGluIFdlYktpdCwgd2hpY2ggd291bGQgbm90XG4gICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgLy8gVGhpcyBpcyBkdXBsaWNhdGVkIGZyb20gdGhlIGZvcm0gYXNzb2NpYXRlZCBtaXhpbiBmb3IgdGhlIG5hdGl2ZVxuICAgIC8vIGlucHV0IGNvbnRyb2xzIChlLmcuIDxpbnB1dD4gb3IgPHNlbGVjdD4pLlxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIGxldCBpbnB1dEZvY3VzRWxlbWVudCA9IHRoaXMuX2lucHV0O1xuXG4gICAgaWYgKHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5fcGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZGlzcGxheVZhbHVlQ2hhbmdlJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2VsZWN0SW5wdXQgPSB0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50O1xuICAgICAgaW5wdXRGb2N1c0VsZW1lbnQgPSBzZWxlY3RJbnB1dC5pbnB1dEVsZW1lbnQ7XG5cbiAgICAgIC8vIElmIGlucHV0RWxlbWVudCBpcyBub3QgeWV0IHJlYWR5LCB0cnkgYSBzZWNvbmQgdGltZSBhZnRlciB1cGRhdGluZy5cbiAgICAgIGlmICghaW5wdXRGb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IHtcbiAgICAgICAgICBob3N0VXBkYXRlZDogKCkgPT4ge1xuICAgICAgICAgICAgc2VsZWN0SW5wdXQucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgc2VsZWN0SW5wdXQuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c291dCcsXG4gICAgICAoKSA9PlxuICAgICAgICBbJ2RhdGEtZm9jdXMtb3JpZ2luJywgJ2RhdGEtaW5wdXQtZm9jdXNlZCddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0Py5jbG9zZXN0KCdmb3JtJyk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXRFbGVtZW50KSxcbiAgICAgICd2YWx1ZScsXG4gICAgKTtcblxuICAgIGlmICghb3JpZ2luYWxEZXNjcmlwdG9yIHx8ICFvcmlnaW5hbERlc2NyaXB0b3Iuc2V0IHx8ICFvcmlnaW5hbERlc2NyaXB0b3IuZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGF0Y2hlZElucHV0cy5zZXQoaW5wdXRFbGVtZW50LCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuXG4gICAgY29uc3QgeyBnZXQ6IGdldHRlciwgc2V0OiBzZXR0ZXIgfSA9IG9yaWdpbmFsRGVzY3JpcHRvcjtcbiAgICBjb25zdCBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkgPSAoKTogdm9pZCA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dEVsZW1lbnQsICd2YWx1ZScsIHtcbiAgICAgIC4uLm9yaWdpbmFsRGVzY3JpcHRvcixcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGdldHRlci5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIHNldChuZXdWYWx1ZSkge1xuICAgICAgICBzZXR0ZXIuY2FsbCh0aGlzLCBuZXdWYWx1ZSk7XG4gICAgICAgIGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VucGF0Y2hJbnB1dFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX2lucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gcGF0Y2hlZElucHV0cy5nZXQoaW5wdXRFbGVtZW50KTtcbiAgICBpZiAob3JpZ2luYWxEZXNjcmlwdG9yKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuICAgICAgcGF0Y2hlZElucHV0cy5kZWxldGUoaW5wdXRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnB1dC1lbXB0eScsXG4gICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dEVtcHR5KCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlKCk/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRWYWx1ZUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZTtcbiAgICByZXR1cm4gWycnLCB1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnblNsb3RzKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWw6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PiBlLnNldEF0dHJpYnV0ZSgnc2xvdCcsICdsYWJlbCcpKTtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1mb3JtLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT5cbiAgICAgIGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2Vycm9yJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVhZG9ubHknLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWludmFsaWQnLFxuICAgICAgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItaW52YWxpZCcpIHx8XG4gICAgICAgICh0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXRvdWNoZWQnKSAmJlxuICAgICAgICAgIHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpKSxcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWhhcy1wb3B1cC1vcGVuJywgdGhpcy5faW5wdXQhLmhhc0F0dHJpYnV0ZSgnZGF0YS1leHBhbmRlZCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gc2V0IHRoZSBhcmlhLWRlc2NyaWJlZGJ5IGF0dHJpYnV0ZSBmb3IgdGhlIHNsb3R0ZWQgaW5wdXQgcmVmZXJlbmNpbmcgYXZhaWxhYmxlIDxzYmItZm9ybS1lcnJvcj4gaW5zdGFuY2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25TbG90RXJyb3JDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZXJyb3JFbGVtZW50cyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCk7XG5cbiAgICBmb3IgKGNvbnN0IGVsIG9mIHRoaXMuX2Vycm9yRWxlbWVudHMpIHtcbiAgICAgIC8vIEFsdGhvdWdoIGEgZm9ybSBlcnJvciBhc3NpZ25zIGFuIGlkIGl0c2VsZiwgd2UgbmVlZCB0byBiZSBlYXJsaWVyIGJ5IGNyZWF0aW5nIG9uZSBoZXJlXG4gICAgICBpZiAoIWVsLmlkKSB7XG4gICAgICAgIGVsLmlkID0gYHNiYi1mb3JtLWZpZWxkLWVycm9yLSR7KytuZXh0Rm9ybUZpZWxkRXJyb3JJZH1gO1xuICAgICAgfVxuICAgICAgaWYgKCFlbC5yb2xlKSB7XG4gICAgICAgIC8vIEluc3RlYWQgb2YgZGVmaW5pbmcgYSBjb250YWluZXIgd2l0aCBhbiBhcmlhLWxpdmUgcmVnaW9uIGFzIGV4cGVjdGVkLCB3ZSBoYWQgdG8gY2hhbmdlXG4gICAgICAgIC8vIHNldHRpbmcgaXQgZm9yIGV2ZXJ5IHNsb3R0ZWQgZWxlbWVudCB0byBwcm9wZXJseSB3b3JrIGluIGFsbCBicm93c2VycyBhbmQgc2NyZWVuIHJlYWRlciBjb21iaW5hdGlvbnMuXG4gICAgICAgIGVsLnJvbGUgPSAnc3RhdHVzJztcbiAgICAgICAgaWYgKGlzRmlyZWZveCkge1xuICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgncm9sZScsICdzdGF0dXMnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9hcHBseUFyaWFEZXNjcmliZWRieSgpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWhhcy1lcnJvcicsICEhdGhpcy5fZXJyb3JFbGVtZW50cy5sZW5ndGgpO1xuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTogdm9pZCB7XG4gICAgY29uc3QgaWRzID0gW107XG5cbiAgICBpZiAodGhpcy5fb3JpZ2luYWxJbnB1dEFyaWFEZXNjcmliZWRieSkge1xuICAgICAgaWRzLnB1c2godGhpcy5fb3JpZ2luYWxJbnB1dEFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLl9lcnJvckVsZW1lbnRzLmZvckVhY2goKGUpID0+IGlkcy5wdXNoKGUuaWQpKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcmlhRGVzY3JpYmVkYnkgPSBpZHMuam9pbignICcpO1xuICAgIGlmICh0aGlzLl9pbnB1dCkge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcy5faW5wdXQsICdhcmlhLWRlc2NyaWJlZGJ5JywgYXJpYURlc2NyaWJlZGJ5KTtcbiAgICB9XG4gIH1cblxuICAvKiogTWFudWFsbHkgcmVzZXQgdGhlIGZvcm0gZmllbGQuIEN1cnJlbnRseSwgdGhpcyBvbmx5IHJlc2V0cyB0aGUgZmxvYXRpbmcgbGFiZWwuICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgfVxuXG4gIC8qKiBNYW51YWxseSBjbGVhcnMgdGhlIGlucHV0IHZhbHVlLiBJdCBvbmx5IHdvcmtzIGZvciBpbnB1dHMsIHNlbGVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQuICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlID0gJyc7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oXG4gICAgICAnc2JiLWZvcm0tZXJyb3Isc2JiLW1pbmktYnV0dG9uLHNiYi1wb3BvdmVyLXRyaWdnZXIsc2JiLWZvcm0tZmllbGQtY2xlYXIsc2JiLWRhdGVwaWNrZXItbmV4dC1kYXksc2JiLWRhdGVwaWNrZXItcHJldmlvdXMtZGF5LHNiYi1kYXRlcGlja2VyLXRvZ2dsZSxzYmItc2VsZWN0LHNiYi1hdXRvY29tcGxldGUsc2JiLWF1dG9jb21wbGV0ZS1ncmlkJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgJHt0aGlzLm9wdGlvbmFsXG4gICAgICAgICAgICAgICAgICA/IGh0bWxgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiAke2kxOG5PcHRpb25hbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdElucHV0Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICR7WydzZWxlY3QnLCAnc2JiLXNlbGVjdCddLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1zbWFsbC1kb3duLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19lcnJvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
932
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYklucHV0TW9kYWxpdHkgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0xlYW4sIHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bk9wdGlvbmFsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2ljb24uanMnO1xuXG5sZXQgbmV4dElkID0gMDtcbmxldCBuZXh0Rm9ybUZpZWxkRXJyb3JJZCA9IDA7XG5cbmNvbnN0IHBhdGNoZWRJbnB1dHMgPSBuZXcgV2Vha01hcDxIVE1MSW5wdXRFbGVtZW50LCBQcm9wZXJ0eURlc2NyaXB0b3I+KCk7XG5cbi8qKlxuICogSXQgd3JhcHMgYW4gaW5wdXQgZWxlbWVudCBhZGRpbmcgbGFiZWwsIGVycm9ycywgaWNvbiwgZXRjLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaW5wdXQvc2VsZWN0IG9yIGEgc3VwcG9ydGVkIG5vbi1uYXRpdmUgZWxlbWVudC5cbiAqIEBzbG90IGxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYSBsYWJlbC5cbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mb3JtLWZpZWxkJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyA9IFtcbiAgICAnaW5wdXQnLFxuICAgICdzZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gICAgJ3NiYi1kYXRlLWlucHV0JyxcbiAgXTtcbiAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCBzZWxlY3RvcnMgaW4gdW5uYW1lZCBzbG90XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgLi4udGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gICAgJ3NiYi1zbGlkZXInLFxuICBdO1xuICAvLyBMaXN0IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBmb2N1cyBpbnB1dCBvbiBjbGlja1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGNsdWRlZEZvY3VzRWxlbWVudHMgPSBbJ2J1dHRvbicsICdzYmItcG9wb3ZlcicsICdzYmItb3B0aW9uJywgJ3NiYi1jaGlwJ107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgJ2lucHV0JyxcbiAgICAnc2VsZWN0JyxcbiAgICAnc2JiLWRhdGUtaW5wdXQnLFxuICAgICdzYmItc2VsZWN0JyxcbiAgICAndGV4dGFyZWEnLFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzID0gW1xuICAgICdlbWFpbCcsXG4gICAgJ251bWJlcicsXG4gICAgJ3Bhc3N3b3JkJyxcbiAgICAnc2VhcmNoJyxcbiAgICAndGVsJyxcbiAgICAndGV4dCcsXG4gICAgJ3VybCcsXG4gIF07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGVycm9yU3BhY2U6ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGlzIG9wdGlvbmFsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3B0aW9uYWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbCwgbSBvciBzLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbCcgfCAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBmb3JtIGZpZWxkIHdpdGhvdXQgYSBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqIC0gYGRlZmF1bHRgOiB0aGUgY29tcG9uZW50IGhhcyBkZWZpbmVkIHdpZHRoIGFuZCBtaW4td2lkdGg7XG4gICAqIC0gYGNvbGxhcHNlYDogdGhlIGNvbXBvbmVudCBhZGFwdHMgaXRzZWxmIHRvIGl0cyBpbm5lciBpbnB1dCBjb250ZW50LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB3aWR0aDogJ2RlZmF1bHQnIHwgJ2NvbGxhcHNlJyA9ICdkZWZhdWx0JztcblxuICAvKiogV2hldGhlciB0byB2aXN1YWxseSBoaWRlIHRoZSBsYWJlbC4gSWYgaGlkZGVuLCBzY3JlZW4gcmVhZGVycyB3aWxsIHN0aWxsIHJlYWQgaXQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRkZW4tbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBoaWRkZW5MYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgZmxvYXQuIElmIGFjdGl2YXRlZCwgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBpbnB1dCBpcyBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmbG9hdGluZy1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZsb2F0aW5nTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGdldCB0aGUgYGVycm9yYCBzbG90LiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9lcnJvckVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogT3JpZ2luYWwgYXJpYS1kZXNjcmliZWRieSB2YWx1ZSBvZiB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0ITogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbGFiZWwhOiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIGByZWFkb25seWAgYW5kIGBkaXNhYmxlZGAgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSkge1xuICAgICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIHByaXZhdGUgX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0VsZW1lbnRGb2N1c0V4Y2x1ZGVkKGV2ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0JyAmJlxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lICE9PSAnc2JiLXNlbGVjdCdcbiAgICApIHtcbiAgICAgIHRoaXMuX2lucHV0LmNsaWNrKCk7XG4gICAgICB0aGlzLl9pbnB1dC5mb2N1cygpO1xuICAgIH0gZWxzZSBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdsYWJlbCcpIHtcbiAgICAgIHRoaXMuX2lucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRWxlbWVudEZvY3VzRXhjbHVkZWQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5zb21lKFxuICAgICAgICAoZWwpID0+XG4gICAgICAgICAgKGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50ICYmXG4gICAgICAgICAgICAoZWwuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpID09PSAnMCcgfHwgZWwuaGFzQXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIC8vIEZpbmQgdGhlIHNsb3R0ZWQgJ3N1cHBvcnRlZElucHV0RWxlbWVudCcsIGV2ZW4gaWYgaXQncyBuZXN0ZWRcbiAgICBjb25zdCBuZXdJbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oXG4gICAgICBgOndoZXJlKCR7dGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5qb2luKCcsJyl9KWAsXG4gICAgKTtcblxuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQgJiYgdGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnaW5wdXQnICYmIG5ld0lucHV0ICE9PSB0aGlzLl9pbnB1dCkge1xuICAgICAgdGhpcy5fdW5wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBpZiAoIW5ld0lucHV0KSB7XG4gICAgICB0aGlzLl9pbnB1dCA9IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dCA9IG5ld0lucHV0O1xuICAgIHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB0aGlzLl9hcHBseUFyaWFEZXNjcmliZWRieSgpO1xuICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ3Jvd3MnLCB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ3Jvd3MnKSB8fCAnMycpO1xuICAgIH1cblxuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCcsICdkYXRhLWV4cGFuZGVkJ10sXG4gICAgfSk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtdHlwZScsIHRoaXMuX2lucHV0LmxvY2FsTmFtZSk7XG4gICAgdGhpcy5fc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCB8fCAhdGhpcy5fbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dC5sb2NhbE5hbWUpKSB7XG4gICAgICAvLyBGb3IgbmF0aXZlIGlucHV0IGVsZW1lbnRzIHdlIHVzZSB0aGUgYGZvcmAgYXR0cmlidXRlIG9uIHRoZSBsYWJlbCB0byByZWZlcmVuY2UgdGhlIGlucHV0XG4gICAgICAvLyB2aWEgaWQgcmVmZXJlbmNlLlxuICAgICAgaWYgKCF0aGlzLl9pbnB1dC5pZCkge1xuICAgICAgICB0aGlzLl9pbnB1dC5pZCA9IGBzYmItZm9ybS1maWVsZC1pbnB1dC0ke25leHRJZCsrfWA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2xhYmVsLmh0bWxGb3IgPSB0aGlzLl9pbnB1dC5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIG5vbi1uYXRpdmUgaW5wdXQgZWxlbWVudHMsIHRoYXQgZG8gbm90IHN1cHBvcnQgcmVmZXJlbmNlcyB2aWEgdGhlIGxhYmVsIGZvciBhdHRyaWJ1dGUsXG4gICAgICAvLyB3ZSB1c2UgYXJpYS1sYWJlbGxlZGJ5IG9uIHRoZSBpbnB1dCBlbGVtZW50IHRvIHJlZmVyZW5jZSB0aGUgbGFiZWwgZWxlbWVudCB2aWEgaWQuXG4gICAgICBpZiAoIXRoaXMuX2xhYmVsLmlkKSB7XG4gICAgICAgIHRoaXMuX2xhYmVsLmlkID0gYHNiYi1mb3JtLWZpZWxkLWxhYmVsLSR7bmV4dElkKyt9YDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhYmVsbGVkYnkgPVxuICAgICAgICB0aGlzLl9pbnB1dFxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpXG4gICAgICAgICAgPy5zcGxpdCgnICcpXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gISFsICYmIGwgIT09IHRoaXMuX2xhYmVsIS5pZCkgPz8gW107XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScsIFsuLi5sYWJlbGxlZGJ5LCB0aGlzLl9sYWJlbC5pZF0uam9pbignICcpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3RlcklucHV0TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuXG4gICAgLy8gVGltZW91dCBuZWVkZWQgdG8gaGF2ZSB2YWx1ZSB1cGRhdGVkXG4gICAgdGhpcy5fZ2V0SW5wdXRGb3JtKCk/LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlc2V0KCkpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIFdlIHdhbnQgdG8gcHJldmVudCB0aGUgbmF0aXZlIGJyb3dzZXIgdmFsaWRhdGlvbiBtZXNzYWdlIHBvcG92ZXJcbiAgICAvLyB0byBiZSBzaG93bi4gVGhpcyBhbHNvIHByZXZlbnRzIGEgYnVnIGluIFdlYktpdCwgd2hpY2ggd291bGQgbm90XG4gICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgLy8gVGhpcyBpcyBkdXBsaWNhdGVkIGZyb20gdGhlIGZvcm0gYXNzb2NpYXRlZCBtaXhpbiBmb3IgdGhlIG5hdGl2ZVxuICAgIC8vIGlucHV0IGNvbnRyb2xzIChlLmcuIDxpbnB1dD4gb3IgPHNlbGVjdD4pLlxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIGxldCBpbnB1dEZvY3VzRWxlbWVudCA9IHRoaXMuX2lucHV0O1xuXG4gICAgaWYgKHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5fcGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZGlzcGxheVZhbHVlQ2hhbmdlJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2VsZWN0SW5wdXQgPSB0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50O1xuICAgICAgaW5wdXRGb2N1c0VsZW1lbnQgPSBzZWxlY3RJbnB1dC5pbnB1dEVsZW1lbnQ7XG5cbiAgICAgIC8vIElmIGlucHV0RWxlbWVudCBpcyBub3QgeWV0IHJlYWR5LCB0cnkgYSBzZWNvbmQgdGltZSBhZnRlciB1cGRhdGluZy5cbiAgICAgIGlmICghaW5wdXRGb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IHtcbiAgICAgICAgICBob3N0VXBkYXRlZDogKCkgPT4ge1xuICAgICAgICAgICAgc2VsZWN0SW5wdXQucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgc2VsZWN0SW5wdXQuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c291dCcsXG4gICAgICAoKSA9PlxuICAgICAgICBbJ2RhdGEtZm9jdXMtb3JpZ2luJywgJ2RhdGEtaW5wdXQtZm9jdXNlZCddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0Py5jbG9zZXN0KCdmb3JtJyk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXRFbGVtZW50KSxcbiAgICAgICd2YWx1ZScsXG4gICAgKTtcblxuICAgIGlmICghb3JpZ2luYWxEZXNjcmlwdG9yIHx8ICFvcmlnaW5hbERlc2NyaXB0b3Iuc2V0IHx8ICFvcmlnaW5hbERlc2NyaXB0b3IuZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGF0Y2hlZElucHV0cy5zZXQoaW5wdXRFbGVtZW50LCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuXG4gICAgY29uc3QgeyBnZXQ6IGdldHRlciwgc2V0OiBzZXR0ZXIgfSA9IG9yaWdpbmFsRGVzY3JpcHRvcjtcbiAgICBjb25zdCBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkgPSAoKTogdm9pZCA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dEVsZW1lbnQsICd2YWx1ZScsIHtcbiAgICAgIC4uLm9yaWdpbmFsRGVzY3JpcHRvcixcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGdldHRlci5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIHNldChuZXdWYWx1ZSkge1xuICAgICAgICBzZXR0ZXIuY2FsbCh0aGlzLCBuZXdWYWx1ZSk7XG4gICAgICAgIGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VucGF0Y2hJbnB1dFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX2lucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gcGF0Y2hlZElucHV0cy5nZXQoaW5wdXRFbGVtZW50KTtcbiAgICBpZiAob3JpZ2luYWxEZXNjcmlwdG9yKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuICAgICAgcGF0Y2hlZElucHV0cy5kZWxldGUoaW5wdXRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnB1dC1lbXB0eScsXG4gICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dEVtcHR5KCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlwR3JvdXBFbGVtID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItY2hpcC1ncm91cCcpO1xuICAgIGlmIChjaGlwR3JvdXBFbGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5faXNJbnB1dFZhbHVlRW1wdHkoKSAmJiBjaGlwR3JvdXBFbGVtLnZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5fZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMuaW5jbHVkZXModGhpcy5faW5wdXQudHlwZSkgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dFZhbHVlRW1wdHkoKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnB1dC5zZWxlY3RlZE9wdGlvbnM/Lml0ZW0oMCk/LmxhYmVsPy50cmltKCkgPT09ICcnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQ/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zZWxlY3QnKSB7XG4gICAgICByZXR1cm4gKHRoaXMuX2lucHV0IGFzIFNiYlNlbGVjdEVsZW1lbnQpLmdldERpc3BsYXlWYWx1ZSgpPy50cmltKCkgPT09ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5faXNJbnB1dFZhbHVlRW1wdHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0lucHV0VmFsdWVFbXB0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCB2YWx1ZSA9ICh0aGlzLl9pbnB1dCBhcyB7IHZhbHVlOiBzdHJpbmcgfSkudmFsdWU7XG4gICAgcmV0dXJuIFsnJywgdW5kZWZpbmVkLCBudWxsXS5pbmNsdWRlcyh2YWx1ZSkgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25TbG90cygpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xhYmVsOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT4gZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnbGFiZWwnKSk7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdzYmItZm9ybS1lcnJvcjpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+XG4gICAgICBlLnNldEF0dHJpYnV0ZSgnc2xvdCcsICdlcnJvcicpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFkSW5wdXRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXJlYWRvbmx5JywgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdyZWFkb25seScpKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlZCcsIHRoaXMuX2lucHV0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnZhbGlkJyxcbiAgICAgIHRoaXMuX2lucHV0Lmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW52YWxpZCcpIHx8XG4gICAgICAgIHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnc2JiLWludmFsaWQnKSB8fFxuICAgICAgICAodGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy10b3VjaGVkJykgJiZcbiAgICAgICAgICB0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLWludmFsaWQnKSksXG4gICAgKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicsIHRoaXMuX2lucHV0IS5oYXNBdHRyaWJ1dGUoJ2RhdGEtZXhwYW5kZWQnKSk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWZvcm0tZXJyb3I+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEVycm9yQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yRWxlbWVudHMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBBbHRob3VnaCBhIGZvcm0gZXJyb3IgYXNzaWducyBhbiBpZCBpdHNlbGYsIHdlIG5lZWQgdG8gYmUgZWFybGllciBieSBjcmVhdGluZyBvbmUgaGVyZVxuICAgICAgaWYgKCFlbC5pZCkge1xuICAgICAgICBlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1lcnJvci0keysrbmV4dEZvcm1GaWVsZEVycm9ySWR9YDtcbiAgICAgIH1cbiAgICAgIGlmICghZWwucm9sZSkge1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgICAvLyBzZXR0aW5nIGl0IGZvciBldmVyeSBzbG90dGVkIGVsZW1lbnQgdG8gcHJvcGVybHkgd29yayBpbiBhbGwgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXIgY29tYmluYXRpb25zLlxuICAgICAgICBlbC5yb2xlID0gJ3N0YXR1cyc7XG4gICAgICAgIGlmIChpc0ZpcmVmb3gpIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnc3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtZXJyb3InLCAhIXRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKTtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpIHtcbiAgICAgIGlkcy5wdXNoKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZXJyb3JFbGVtZW50cy5mb3JFYWNoKChlKSA9PiBpZHMucHVzaChlLmlkKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJpYURlc2NyaWJlZGJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMuX2lucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1hbnVhbGx5IHJlc2V0IHRoZSBmb3JtIGZpZWxkLiBDdXJyZW50bHksIHRoaXMgb25seSByZXNldHMgdGhlIGZsb2F0aW5nIGxhYmVsLiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICAvKiogTWFudWFsbHkgY2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS4gSXQgb25seSB3b3JrcyBmb3IgaW5wdXRzLCBzZWxlY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgIT09ICdpbnB1dCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZSA9ICcnO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKFxuICAgICAgJ3NiYi1mb3JtLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItcG9wb3Zlci10cmlnZ2VyLHNiYi1mb3JtLWZpZWxkLWNsZWFyLHNiYi1kYXRlcGlja2VyLW5leHQtZGF5LHNiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheSxzYmItZGF0ZXBpY2tlci10b2dnbGUsc2JiLXNlbGVjdCxzYmItYXV0b2NvbXBsZXRlLHNiYi1hdXRvY29tcGxldGUtZ3JpZCxzYmItY2hpcC1ncm91cCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fc3BhY2Utd3JhcHBlclwiPlxuICAgICAgICAkey8qIFF1ZXJpZWQgYnkgaWQgZnJvbSB0aGUgYXV0b2NvbXBsZXRlL3NlbGVjdCB0byBiZSB1c2VkIGFzIHRoZSBhbmNob3IgZWxlbWVudCAqLyAnJ31cbiAgICAgICAgPGRpdiBAY2xpY2s9JHt0aGlzLl9oYW5kbGVXcmFwcGVyQ2xpY2t9IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3dyYXBwZXJcIiBpZD1cIm92ZXJsYXktYW5jaG9yXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY05lZ2F0aXZlfT48L3Nsb3Q+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsLXNwYWNlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cImxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RMYWJlbENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgICAgICR7dGhpcy5vcHRpb25hbFxuICAgICAgICAgICAgICAgICAgPyBodG1sYCA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4gJHtpMThuT3B0aW9uYWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19IDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RJbnB1dENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAke1snc2VsZWN0JywgJ3NiYi1zZWxlY3QnXS5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZylcbiAgICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtZG93bi1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zZWxlY3QtaW5wdXQtaWNvblwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN1ZmZpeFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY05lZ2F0aXZlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fZXJyb3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdEVycm9yQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZvcm0tZmllbGQnOiBTYmJGb3JtRmllbGRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLElBQUksU0FBUztBQUNiLElBQUksdUJBQXVCO0FBRTNCLE1BQU0sb0NBQW9CO0lBY3BCLHVCQUFtQixNQUFBOztBQUZ4QixNQUFBLG1CQUFBLENBQUEsY0FBYyxnQkFBZ0IsR0FDOUIsV0FBVzs7OztBQUNzQixNQUFBLGNBQUEsaUJBQWlCLGtCQUFrQixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdEQsRUFBQSxtQkFBUSxZQUErQztBQUFBOztBQTBDL0U7QUFLQTtBQU02QjtBQUs3QjtBQUs2QjtBQUs3QjtBQUtBO0FBR1M7QUFNQTtBQUdBO0FBbEZRLFdBQUEsZ0NBQWdDO0FBQUEsUUFDL0M7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQTtBQUdlLFdBQUEsMEJBQTBCO0FBQUEsUUFDekMsR0FBRyxLQUFLO0FBQUEsUUFDUjtB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
|
|
1
|
+
import { CSSResultGroup, LitElement, PropertyDeclaration, TemplateResult } from 'lit';
|
|
2
2
|
declare const SbbHeaderElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
3
3
|
/**
|
|
4
4
|
* It displays a header section for the page.
|
|
@@ -15,9 +15,7 @@ export declare class SbbHeaderElement extends SbbHeaderElement_base {
|
|
|
15
15
|
*/
|
|
16
16
|
accessor expanded: boolean;
|
|
17
17
|
/** The element's id or the element on which the scroll listener is attached. */
|
|
18
|
-
|
|
19
|
-
get scrollOrigin(): string | HTMLElement | Document;
|
|
20
|
-
private _scrollOrigin;
|
|
18
|
+
accessor scrollOrigin: string | HTMLElement | Document;
|
|
21
19
|
/** Whether the header should hide and show on scroll. */
|
|
22
20
|
accessor hideOnScroll: boolean;
|
|
23
21
|
/**
|
|
@@ -30,13 +28,14 @@ export declare class SbbHeaderElement extends SbbHeaderElement_base {
|
|
|
30
28
|
private _scrollEventsController;
|
|
31
29
|
private _scrollFunction;
|
|
32
30
|
private _lastScroll;
|
|
33
|
-
private
|
|
31
|
+
private _scrollOriginIdReferenceController;
|
|
32
|
+
constructor();
|
|
34
33
|
/** If `hideOnScroll` is set, checks the element to hook the listener on, and possibly add it.*/
|
|
35
34
|
connectedCallback(): void;
|
|
36
35
|
/** Removes the scroll listener, if previously attached. */
|
|
37
36
|
disconnectedCallback(): void;
|
|
38
|
-
|
|
39
|
-
private
|
|
37
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
|
|
38
|
+
private _updateScrollListener;
|
|
40
39
|
/** Returns the correct function to attach on scroll. */
|
|
41
40
|
private _getScrollFunction;
|
|
42
41
|
/** Returns the requested property of the scrollContext. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/elements/header/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/elements/header/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAab;;;;;;GAMG;AACH,qBAEM,gBAAiB,SAAQ,qBAA6B;IAC1D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAG1C,gFAAgF;IAChF,SACgB,YAAY,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAgC;IAE7F,yDAAyD;IACzD,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAE3E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAE9C,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,kCAAkC,CAAsD;;IAQhG,gGAAgG;IAChF,iBAAiB,IAAI,IAAI;IAKzC,2DAA2D;IAC3C,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAQP,OAAO,CAAC,qBAAqB;IA0B7B,wDAAwD;IACxD,OAAO,CAAC,kBAAkB;IAI1B,2DAA2D;IAC3D,OAAO,CAAC,yBAAyB;IAOjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8CvB,uEAAuE;IACvE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,kBAAkB;cAgBP,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|