@sbb-esta/lyne-elements 1.14.0 → 1.15.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.d.ts +1 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid.js +6 -6
- package/autocomplete.js +20 -19
- package/calendar/calendar.d.ts +1 -1
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +175 -178
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +5 -5
- package/checkbox/common.js +1 -1
- package/clock/clock.d.ts +1 -1
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +2 -2
- package/container/sticky-bar/sticky-bar.d.ts +29 -2
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +69 -31
- package/core/controllers/media-matchers-controller.d.ts +32 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +75 -33
- package/core/dom/breakpoint.d.ts +2 -1
- package/core/dom/breakpoint.d.ts.map +1 -1
- package/core/dom.js +7 -7
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins.js +8 -1
- package/core/styles/core/mediaqueries.scss +1 -2
- package/core/styles/mixins/buttons.scss +5 -5
- package/core/testing/event-spy.d.ts +6 -4
- package/core/testing/event-spy.d.ts.map +1 -1
- package/core/testing.js +82 -55
- package/custom-elements.json +650 -74
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts +1 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid.js +4 -3
- package/development/autocomplete.js +4 -3
- package/development/calendar/calendar.d.ts +1 -1
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +40 -44
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +2 -2
- package/development/checkbox/common.js +2 -2
- package/development/clock/clock.d.ts +1 -1
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +3 -3
- package/development/container/sticky-bar/sticky-bar.d.ts +29 -2
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +149 -36
- package/development/core/controllers/media-matchers-controller.d.ts +32 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +65 -1
- package/development/core/dom/breakpoint.d.ts +2 -1
- package/development/core/dom/breakpoint.d.ts.map +1 -1
- package/development/core/dom.js +2 -2
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +9 -2
- package/development/core/testing/event-spy.d.ts +6 -4
- package/development/core/testing/event-spy.d.ts.map +1 -1
- package/development/core/testing.js +35 -1
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker.js +1 -1
- package/development/dialog/dialog.js +2 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +3 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +8 -4
- package/development/file-selector/file-selector.d.ts +5 -0
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +8 -1
- package/development/flip-card/flip-card/flip-card.d.ts +4 -0
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +4 -6
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary.js +9 -10
- package/development/flip-card/flip-card.js +26 -2
- package/development/form-field/form-field.js +5 -3
- package/development/icon/icon.d.ts +1 -1
- package/development/icon.js +1 -1
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +3 -19
- package/development/map-container.js +3 -2
- package/development/menu/menu/menu.d.ts +1 -0
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +15 -11
- package/development/navigation/navigation-section.js +4 -14
- package/development/navigation/navigation.js +2 -7
- package/development/notification.js +3 -2
- package/development/paginator/paginator/paginator.d.ts +1 -5
- package/development/paginator/paginator/paginator.d.ts.map +1 -1
- package/development/paginator/paginator.js +19 -27
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +9 -16
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +2 -2
- package/development/sbb-tokens-BdGhUJjM.js +33 -0
- package/development/select/select.d.ts +6 -5
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +23 -14
- package/development/slider/slider.d.ts +5 -0
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +8 -1
- package/development/table/table-wrapper/table-wrapper.d.ts +1 -1
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +11 -9
- package/development/toggle-check/toggle-check.d.ts +1 -1
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +2 -2
- package/dialog/dialog.js +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +3 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +26 -24
- package/file-selector/file-selector.d.ts +5 -0
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +7 -0
- package/flip-card/flip-card/flip-card.d.ts +4 -0
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +6 -6
- package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/flip-card/flip-card-summary.js +8 -8
- package/flip-card/flip-card.js +56 -42
- package/icon/icon.d.ts +1 -1
- package/image/image.d.ts.map +1 -1
- package/image.js +46 -45
- package/map-container.js +7 -7
- package/menu/menu/menu.d.ts +1 -0
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +45 -41
- package/navigation/navigation-section.js +7 -7
- package/navigation/navigation.js +8 -8
- package/package.json +2 -2
- package/paginator/paginator/paginator.d.ts +1 -5
- package/paginator/paginator/paginator.d.ts.map +1 -1
- package/paginator/paginator.js +50 -52
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +42 -46
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +7 -7
- package/sbb-tokens-Dx20OtVg.js +18 -0
- package/select/select.d.ts +6 -5
- package/select/select.d.ts.map +1 -1
- package/select.js +55 -53
- package/slider/slider.d.ts +5 -0
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +12 -5
- package/table/table-wrapper/table-wrapper.d.ts +1 -1
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +45 -44
- package/toggle-check/toggle-check.d.ts +1 -1
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +1 -1
|
@@ -105,7 +105,8 @@ const style = css`*,
|
|
|
105
105
|
(var(--sbb-font-size-title-5) * var(--sbb-typo-line-height-body-text)) - var(
|
|
106
106
|
--sbb-size-icon-ui-small
|
|
107
107
|
)
|
|
108
|
-
) /
|
|
108
|
+
) /
|
|
109
|
+
2
|
|
109
110
|
);
|
|
110
111
|
}
|
|
111
112
|
:host([size=s]) {
|
|
@@ -517,4 +518,4 @@ let SbbNotificationElement = (() => {
|
|
|
517
518
|
export {
|
|
518
519
|
SbbNotificationElement
|
|
519
520
|
};
|
|
520
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9ub3RpZmljYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2RpdmlkZXIuanMnO1xuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBub3RpZmljYXRpb24gdGl0bGUgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBzdGFydHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbm90aWZpY2F0aW9uJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICAvLyBGSVhNRSBpbmhlcml0aW5nIGZyb20gU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgcmVxdWlyZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXdjL2N1c3RvbS1lbGVtZW50cy1tYW5pZmVzdC9pc3N1ZXMvMjUzXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsT3BlbjogJ3dpbGxPcGVuJyxcbiAgICBkaWRPcGVuOiAnZGlkT3BlbicsXG4gICAgd2lsbENsb3NlOiAnd2lsbENsb3NlJyxcbiAgICBkaWRDbG9zZTogJ2RpZENsb3NlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIHR5cGUgb2YgdGhlIG5vdGlmaWNhdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgdHlwZTogJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm4nIHwgJ2Vycm9yJyA9ICdpbmZvJztcblxuICAvKiogQ29udGVudCBvZiB0aXRsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnLCByZWZsZWN0OiB0cnVlLCBjb252ZXJ0ZXI6IG9taXRFbXB0eUNvbnZlcnRlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdGl0bGVDb250ZW50OiBzdHJpbmcgPSAnJztcblxuICAvKiogTGV2ZWwgb2YgdGl0bGUsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgaGVhZGluZyB0YWcgKGUuZy4gaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5vdGlmaWNhdGlvbiBpcyByZWFkb25seS5cbiAgICogSW4gcmVhZG9ubHkgbW9kZSwgdGhlcmUgaXMgbm8gZGlzbWlzcyBidXR0b24gb2ZmZXJlZCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9ICdtJztcblxuICAvKiogVGhlIGVuYWJsZWQgYW5pbWF0aW9ucy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYW5pbWF0aW9uOiAnb3BlbicgfCAnY2xvc2UnIHwgJ2FsbCcgfCAnbm9uZScgPSAnYWxsJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgX2RpZE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy5kaWRPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgICAgdGhpcy5fd2lsbENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgfHw9ICdjbG9zZWQnO1xuXG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXInLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgY29tcG9uZW50J3MgYHVwZGF0ZUNvbXBsZXRlYCBpbiBvcmRlciB0byBzZXQgdGhlIGNvcnJlY3RcbiAgICAvLyBoZWlnaHQgdG8gdGhlIG5vdGlmaWNhdGlvbiBlbGVtZW50LlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgdGhpcy5fb3BlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudD8uc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkhlaWdodCA9IGAke3RoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1ub3RpZmljYXRpb24taGVpZ2h0Jywgbm90aWZpY2F0aW9uSGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nLCB0cnVlKTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG5cbiAgICAvLyBUbyBhdm9pZCBSZXNpemVPYnNlcnZlciBsb29wcywgd2Ugc2V0IHRoZSBoZWlnaHQgYSB0aWNrIGxhdGVyLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmluZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLWhlaWdodCcpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZGlkT3Blbi5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX193cmFwcGVyXCJcbiAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25cIj5cbiAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9faWNvblwiXG4gICAgICAgICAgICBuYW1lPSR7bm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fdGl0bGVcIlxuICAgICAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbH1cbiAgICAgICAgICAgICAgdmlzdWFsLWxldmVsPSR7dGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNid9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgPC9zYmItdGl0bGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkb25seVxuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJOb3RpZmljYXRpb25FbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
521
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9ub3RpZmljYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2RpdmlkZXIuanMnO1xuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBub3RpZmljYXRpb24gdGl0bGUgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBzdGFydHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbm90aWZpY2F0aW9uJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICAvLyBGSVhNRSBpbmhlcml0aW5nIGZyb20gU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgcmVxdWlyZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXdjL2N1c3RvbS1lbGVtZW50cy1tYW5pZmVzdC9pc3N1ZXMvMjUzXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsT3BlbjogJ3dpbGxPcGVuJyxcbiAgICBkaWRPcGVuOiAnZGlkT3BlbicsXG4gICAgd2lsbENsb3NlOiAnd2lsbENsb3NlJyxcbiAgICBkaWRDbG9zZTogJ2RpZENsb3NlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIHR5cGUgb2YgdGhlIG5vdGlmaWNhdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgdHlwZTogJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm4nIHwgJ2Vycm9yJyA9ICdpbmZvJztcblxuICAvKiogQ29udGVudCBvZiB0aXRsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnLCByZWZsZWN0OiB0cnVlLCBjb252ZXJ0ZXI6IG9taXRFbXB0eUNvbnZlcnRlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdGl0bGVDb250ZW50OiBzdHJpbmcgPSAnJztcblxuICAvKiogTGV2ZWwgb2YgdGl0bGUsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgaGVhZGluZyB0YWcgKGUuZy4gaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5vdGlmaWNhdGlvbiBpcyByZWFkb25seS5cbiAgICogSW4gcmVhZG9ubHkgbW9kZSwgdGhlcmUgaXMgbm8gZGlzbWlzcyBidXR0b24gb2ZmZXJlZCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9ICdtJztcblxuICAvKiogVGhlIGVuYWJsZWQgYW5pbWF0aW9ucy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYW5pbWF0aW9uOiAnb3BlbicgfCAnY2xvc2UnIHwgJ2FsbCcgfCAnbm9uZScgPSAnYWxsJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgX2RpZE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy5kaWRPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgICAgdGhpcy5fd2lsbENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgfHw9ICdjbG9zZWQnO1xuXG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXInLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgY29tcG9uZW50J3MgYHVwZGF0ZUNvbXBsZXRlYCBpbiBvcmRlciB0byBzZXQgdGhlIGNvcnJlY3RcbiAgICAvLyBoZWlnaHQgdG8gdGhlIG5vdGlmaWNhdGlvbiBlbGVtZW50LlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgdGhpcy5fb3BlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudD8uc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkhlaWdodCA9IGAke3RoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1ub3RpZmljYXRpb24taGVpZ2h0Jywgbm90aWZpY2F0aW9uSGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nLCB0cnVlKTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG5cbiAgICAvLyBUbyBhdm9pZCBSZXNpemVPYnNlcnZlciBsb29wcywgd2Ugc2V0IHRoZSBoZWlnaHQgYSB0aWNrIGxhdGVyLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmluZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLWhlaWdodCcpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZGlkT3Blbi5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX193cmFwcGVyXCJcbiAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25cIj5cbiAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9faWNvblwiXG4gICAgICAgICAgICBuYW1lPSR7bm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fdGl0bGVcIlxuICAgICAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbH1cbiAgICAgICAgICAgICAgdmlzdWFsLWxldmVsPSR7dGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNid9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgPC9zYmItdGl0bGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkb25seVxuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJOb3RpZmljYXRpb25FbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -9,17 +9,13 @@ export declare class SbbPaginatorElement extends SbbPaginatorElement_base {
|
|
|
9
9
|
static styles: CSSResultGroup;
|
|
10
10
|
static readonly events: Record<string, string>;
|
|
11
11
|
/** The available `pageSize` choices. */
|
|
12
|
-
|
|
13
|
-
get pageSizeOptions(): number[] | undefined;
|
|
14
|
-
private _pageSizeOptions?;
|
|
12
|
+
accessor pageSizeOptions: number[];
|
|
15
13
|
/**
|
|
16
14
|
* Position of the prev/next buttons: if `pageSizeOptions` is set,
|
|
17
15
|
* the sbb-select for the pageSize change will be positioned oppositely, with the page numbers always in the center.
|
|
18
16
|
*/
|
|
19
17
|
accessor pagerPosition: 'start' | 'end';
|
|
20
|
-
private _paginatorOptionsLabel;
|
|
21
18
|
private _markForFocus;
|
|
22
|
-
private _updateSelectAriaLabelledBy;
|
|
23
19
|
protected updated(changedProperties: PropertyValues<this>): void;
|
|
24
20
|
/**
|
|
25
21
|
* If the `pageSize` changes due to user interaction with the `pageSizeOptions` select,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAWb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;
|
|
1
|
+
{"version":3,"file":"paginator.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAWb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;;;GAIG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgBzE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAUxB,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,kBAAkB;cAiCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
|
|
@@ -246,36 +246,34 @@ const style = css`*,
|
|
|
246
246
|
width: 1px;
|
|
247
247
|
}`;
|
|
248
248
|
const MAX_PAGE_NUMBERS_DISPLAYED = 3;
|
|
249
|
-
let nextId = 0;
|
|
250
249
|
let SbbPaginatorElement = (() => {
|
|
251
|
-
var _pagerPosition_accessor_storage, _a;
|
|
250
|
+
var _pageSizeOptions_accessor_storage, _pagerPosition_accessor_storage, _a;
|
|
252
251
|
let _classDecorators = [customElement("sbb-paginator")];
|
|
253
252
|
let _classDescriptor;
|
|
254
253
|
let _classExtraInitializers = [];
|
|
255
254
|
let _classThis;
|
|
256
255
|
let _classSuper = SbbPaginatorCommonElementMixin(LitElement);
|
|
257
|
-
let
|
|
258
|
-
let
|
|
256
|
+
let _pageSizeOptions_decorators;
|
|
257
|
+
let _pageSizeOptions_initializers = [];
|
|
258
|
+
let _pageSizeOptions_extraInitializers = [];
|
|
259
259
|
let _pagerPosition_decorators;
|
|
260
260
|
let _pagerPosition_initializers = [];
|
|
261
261
|
let _pagerPosition_extraInitializers = [];
|
|
262
262
|
_a = class extends _classSuper {
|
|
263
263
|
constructor() {
|
|
264
264
|
super(...arguments);
|
|
265
|
+
__privateAdd(this, _pageSizeOptions_accessor_storage);
|
|
265
266
|
__privateAdd(this, _pagerPosition_accessor_storage);
|
|
266
|
-
this
|
|
267
|
-
__privateSet(this, _pagerPosition_accessor_storage, __runInitializers(this, _pagerPosition_initializers, "start"));
|
|
268
|
-
this.
|
|
269
|
-
this._markForFocus = null;
|
|
270
|
-
this._updateSelectAriaLabelledBy = false;
|
|
267
|
+
__privateSet(this, _pageSizeOptions_accessor_storage, __runInitializers(this, _pageSizeOptions_initializers, []));
|
|
268
|
+
__privateSet(this, _pagerPosition_accessor_storage, (__runInitializers(this, _pageSizeOptions_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start")));
|
|
269
|
+
this._markForFocus = (__runInitializers(this, _pagerPosition_extraInitializers), null);
|
|
271
270
|
}
|
|
272
271
|
/** The available `pageSize` choices. */
|
|
273
|
-
set pageSizeOptions(value) {
|
|
274
|
-
this._pageSizeOptions = value;
|
|
275
|
-
this._updateSelectAriaLabelledBy = true;
|
|
276
|
-
}
|
|
277
272
|
get pageSizeOptions() {
|
|
278
|
-
return this
|
|
273
|
+
return __privateGet(this, _pageSizeOptions_accessor_storage);
|
|
274
|
+
}
|
|
275
|
+
set pageSizeOptions(value) {
|
|
276
|
+
__privateSet(this, _pageSizeOptions_accessor_storage, value);
|
|
279
277
|
}
|
|
280
278
|
/**
|
|
281
279
|
* Position of the prev/next buttons: if `pageSizeOptions` is set,
|
|
@@ -296,11 +294,6 @@ let SbbPaginatorElement = (() => {
|
|
|
296
294
|
}
|
|
297
295
|
this._markForFocus = null;
|
|
298
296
|
}
|
|
299
|
-
const select = this.shadowRoot.querySelector("sbb-select");
|
|
300
|
-
if (select && this._updateSelectAriaLabelledBy) {
|
|
301
|
-
select.setAttribute("aria-labelledby", this._paginatorOptionsLabel);
|
|
302
|
-
this._updateSelectAriaLabelledBy = false;
|
|
303
|
-
}
|
|
304
297
|
}
|
|
305
298
|
/**
|
|
306
299
|
* If the `pageSize` changes due to user interaction with the `pageSizeOptions` select,
|
|
@@ -366,9 +359,7 @@ let SbbPaginatorElement = (() => {
|
|
|
366
359
|
var _a2;
|
|
367
360
|
return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
|
|
368
361
|
<div class="sbb-paginator__page-size-options">
|
|
369
|
-
<label
|
|
370
|
-
${i18nItemsPerPage[this.language.current]}
|
|
371
|
-
</label>
|
|
362
|
+
<label for="select">${i18nItemsPerPage[this.language.current]}</label>
|
|
372
363
|
<sbb-form-field
|
|
373
364
|
borderless
|
|
374
365
|
width="collapse"
|
|
@@ -376,6 +367,7 @@ let SbbPaginatorElement = (() => {
|
|
|
376
367
|
size=${this.size}
|
|
377
368
|
>
|
|
378
369
|
<sbb-select
|
|
370
|
+
id="select"
|
|
379
371
|
?disabled=${this.disabled}
|
|
380
372
|
value=${((_a2 = this.pageSizeOptions) == null ? void 0 : _a2.find((e) => e === this.pageSize)) ?? this.pageSizeOptions[0]}
|
|
381
373
|
@change=${(e) => this._pageSizeChanged(+e.target.value)}
|
|
@@ -425,13 +417,13 @@ let SbbPaginatorElement = (() => {
|
|
|
425
417
|
</div>
|
|
426
418
|
`;
|
|
427
419
|
}
|
|
428
|
-
}, _pagerPosition_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
420
|
+
}, _pageSizeOptions_accessor_storage = new WeakMap(), _pagerPosition_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
429
421
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
430
|
-
|
|
422
|
+
_pageSizeOptions_decorators = [property({ attribute: "page-size-options", type: Array })];
|
|
431
423
|
_pagerPosition_decorators = [property({ attribute: "pager-position", reflect: true })];
|
|
432
|
-
__esDecorate(_a, null,
|
|
424
|
+
__esDecorate(_a, null, _pageSizeOptions_decorators, { kind: "accessor", name: "pageSizeOptions", static: false, private: false, access: { has: (obj) => "pageSizeOptions" in obj, get: (obj) => obj.pageSizeOptions, set: (obj, value) => {
|
|
433
425
|
obj.pageSizeOptions = value;
|
|
434
|
-
} }, metadata: _metadata },
|
|
426
|
+
} }, metadata: _metadata }, _pageSizeOptions_initializers, _pageSizeOptions_extraInitializers);
|
|
435
427
|
__esDecorate(_a, null, _pagerPosition_decorators, { kind: "accessor", name: "pagerPosition", static: false, private: false, access: { has: (obj) => "pagerPosition" in obj, get: (obj) => obj.pagerPosition, set: (obj, value) => {
|
|
436
428
|
obj.pagerPosition = value;
|
|
437
429
|
} }, metadata: _metadata }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
|
|
@@ -446,4 +438,4 @@ let SbbPaginatorElement = (() => {
|
|
|
446
438
|
export {
|
|
447
439
|
SbbPaginatorElement
|
|
448
440
|
};
|
|
449
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0LmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPn0gcGFnZSAtIEVtaXRzIHdoZW4gdGhlIHBhZ2VJbmRleCBjaGFuZ2VzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcGFnaW5hdG9yJylcbmNsYXNzIFNiYlBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgc2V0IHBhZ2VTaXplT3B0aW9ucyh2YWx1ZTogbnVtYmVyW10pIHtcbiAgICB0aGlzLl9wYWdlU2l6ZU9wdGlvbnMgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTZWxlY3RBcmlhTGFiZWxsZWRCeSA9IHRydWU7XG4gIH1cbiAgcHVibGljIGdldCBwYWdlU2l6ZU9wdGlvbnMoKTogbnVtYmVyW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZU9wdGlvbnM7XG4gIH1cbiAgcHJpdmF0ZSBfcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBwcmV2L25leHQgYnV0dG9uczogaWYgYHBhZ2VTaXplT3B0aW9uc2AgaXMgc2V0LFxuICAgKiB0aGUgc2JiLXNlbGVjdCBmb3IgdGhlIHBhZ2VTaXplIGNoYW5nZSB3aWxsIGJlIHBvc2l0aW9uZWQgb3Bwb3NpdGVseSwgd2l0aCB0aGUgcGFnZSBudW1iZXJzIGFsd2F5cyBpbiB0aGUgY2VudGVyLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgIHwgJ3N0YXJ0J1xuICAgIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIHByaXZhdGUgX3BhZ2luYXRvck9wdGlvbnNMYWJlbCA9IGBzYmItcGFnaW5hdG9yLW9wdGlvbnMtbGFiZWwtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9tYXJrRm9yRm9jdXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF91cGRhdGVTZWxlY3RBcmlhTGFiZWxsZWRCeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLyoqIFRhYiBuYXZpZ2F0aW9uIGNhbiBmb3JjZSBhIHJlcmVuZGVyIHdoZW4gZWxsaXBzaXMgZWxlbWVudHMgbmVlZCB0byBiZSBkaXNwbGF5ZWQ7IHRoZSBmb2N1cyBtdXN0IHN0YXkgb24gdGhlIGNvcnJlY3QgZWxlbWVudC4gKi9cbiAgICBpZiAodGhpcy5fbWFya0ZvckZvY3VzICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIFJlc2V0IG1hcmsgZm9yIGZvY3VzXG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE86IEFjY2Vzc2liaWxpdHkgZml4IHJlcXVpcmVkIHRvIGNvcnJlY3RseSByZWFkIHRoZSBsYWJlbDtcbiAgICAgKiBjYW4gYmUgcG9zc2libHkgcmVtb3ZlZCBhZnRlciB0aGUgbWVyZ2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL3NiYi1kZXNpZ24tc3lzdGVtcy9seW5lLWNvbXBvbmVudHMvaXNzdWVzLzMwNjJcbiAgICAgKi9cbiAgICBjb25zdCBzZWxlY3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1zZWxlY3QnKTtcbiAgICBpZiAoc2VsZWN0ICYmIHRoaXMuX3VwZGF0ZVNlbGVjdEFyaWFMYWJlbGxlZEJ5KSB7XG4gICAgICBzZWxlY3Quc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCB0aGlzLl9wYWdpbmF0b3JPcHRpb25zTGFiZWwpO1xuICAgICAgdGhpcy5fdXBkYXRlU2VsZWN0QXJpYUxhYmVsbGVkQnkgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGBwYWdlU2l6ZWAgY2hhbmdlcyBkdWUgdG8gdXNlciBpbnRlcmFjdGlvbiB3aXRoIHRoZSBgcGFnZVNpemVPcHRpb25zYCBzZWxlY3QsXG4gICAqIGVtaXQgdGhlIGBwYWdlYCBldmVudCBhbmQgdGhlbiB1cGRhdGUgdGhlIGBwYWdlU2l6ZWAgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF9wYWdlU2l6ZUNoYW5nZWQodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZVNpemUgPSB0aGlzLnBhZ2VTaXplO1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHZhbHVlO1xuXG4gICAgaWYgKHByZXZpb3VzUGFnZVNpemUgIT09IHRoaXMucGFnZVNpemUpIHtcbiAgICAgIHRoaXMuZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGRpc3BsYXllZCBwYWdlIGVsZW1lbnRzLiAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXMoKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHBhZ2VzIHNldCBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKiAgLSB0aGUgZmlyc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSB0aGUgbGFzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gYE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEYCBvdGhlciBwYWdlcywgZWxsaXBzaXMgYnV0dG9uIG11c3QgYmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlc0luZGV4KCk6IChudW1iZXIgfCAnZWxsaXBzaXMnKVtdIHtcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSB0aGlzLm51bWJlck9mUGFnZXMoKTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSB0aGlzLnBhZ2VJbmRleDtcblxuICAgIGlmICh0b3RhbFBhZ2VzIDw9IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMikge1xuICAgICAgcmV0dXJuIHRoaXMuX3JhbmdlKHRvdGFsUGFnZXMpO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA8IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSksICdlbGxpcHNpcycsIHRvdGFsUGFnZXMgLSAxXTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdG90YWxQYWdlcyAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICAuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEsIHRvdGFsUGFnZXMgLSAxIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCAtIDEsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXgsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKyAxLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICB0b3RhbFBhZ2VzIC0gMSxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqIENyZWF0ZXMgYW4gYXJyYXkgb2YgY29uc2VjdXRpdmUgbnVtYmVycyBnaXZlbiB0aGUgbGVuZ3RoIGFuZCB0aGUgc3RhcnRpbmcgdmFsdWUuICovXG4gIHByaXZhdGUgX3JhbmdlKGxlbmd0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciA9IDApOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGspID0+IGsgKyBvZmZzZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnICcgJiYgZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoKGU6IEVsZW1lbnQpID0+IGUgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHRoaXMucGFnZUluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemVPcHRpb25zICYmIHRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS1zaXplLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBpZD0ke3RoaXMuX3BhZ2luYXRvck9wdGlvbnNMYWJlbH0+XG4gICAgICAgICAgICAgICR7aTE4bkl0ZW1zUGVyUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxzYmItZm9ybS1maWVsZFxuICAgICAgICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgICAgICAgIHdpZHRoPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2JiLXNlbGVjdFxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9JHt0aGlzLnBhZ2VTaXplT3B0aW9ucz8uZmluZCgoZSkgPT4gZSA9PT0gdGhpcy5wYWdlU2l6ZSkgPz9cbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyFbMF19XG4gICAgICAgICAgICAgICAgQGNoYW5nZT0keyhlOiBDdXN0b21FdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIHRoaXMuX3BhZ2VTaXplQ2hhbmdlZCgrKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHtpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMucGFnZUluZGV4Q2hhbmdlZChpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgICBAa2V5dXA9JHt0aGlzLl9oYW5kbGVLZXlVcH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0tbGFiZWxcIj4ke2l0ZW0gKyAxfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICl9XG4gICAgICA8L3VsPlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGFnaW5hdG9yXCI+XG4gICAgICAgICR7XG4gICAgICAgICAgdGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfSAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfWBcbiAgICAgICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICB9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBhZ2luYXRvcic6IFNiYlBhZ2luYXRvckVsZW1lbnQ7XG4gIH1cbn1cbiJd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
|
|
441
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0LmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+fSBwYWdlIC0gRW1pdHMgd2hlbiB0aGUgcGFnZUluZGV4IGNoYW5nZXMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1wYWdpbmF0b3InKVxuY2xhc3MgU2JiUGFnaW5hdG9yRWxlbWVudCBleHRlbmRzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSBhdmFpbGFibGUgYHBhZ2VTaXplYCBjaG9pY2VzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUtb3B0aW9ucycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gW107XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBwcmV2L25leHQgYnV0dG9uczogaWYgYHBhZ2VTaXplT3B0aW9uc2AgaXMgc2V0LFxuICAgKiB0aGUgc2JiLXNlbGVjdCBmb3IgdGhlIHBhZ2VTaXplIGNoYW5nZSB3aWxsIGJlIHBvc2l0aW9uZWQgb3Bwb3NpdGVseSwgd2l0aCB0aGUgcGFnZSBudW1iZXJzIGFsd2F5cyBpbiB0aGUgY2VudGVyLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgIHwgJ3N0YXJ0J1xuICAgIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIHByaXZhdGUgX21hcmtGb3JGb2N1czogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgY29uc3QgZm9jdXNFbGVtZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZChcbiAgICAgICAgKGUpID0+IHRoaXMucGFnZUluZGV4ID09PSArZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKSEsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzRWxlbWVudCkge1xuICAgICAgICAoZm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBgcGFnZVNpemVgIGNoYW5nZXMgZHVlIHRvIHVzZXIgaW50ZXJhY3Rpb24gd2l0aCB0aGUgYHBhZ2VTaXplT3B0aW9uc2Agc2VsZWN0LFxuICAgKiBlbWl0IHRoZSBgcGFnZWAgZXZlbnQgYW5kIHRoZW4gdXBkYXRlIHRoZSBgcGFnZVNpemVgIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBfcGFnZVNpemVDaGFuZ2VkKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1BhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBjb25zdCBwcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xuICAgIHRoaXMucGFnZVNpemUgPSB2YWx1ZTtcblxuICAgIGlmIChwcmV2aW91c1BhZ2VTaXplICE9PSB0aGlzLnBhZ2VTaXplKSB7XG4gICAgICB0aGlzLmVtaXRQYWdlRXZlbnQocHJldmlvdXNQYWdlSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJyAnICYmIGV2ZW50LmtleSAhPT0gJ0VudGVyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKChlOiBFbGVtZW50KSA9PiBlID09PSBldmVudC50YXJnZXQpO1xuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCI+JHtpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbD5cbiAgICAgICAgICAgIDxzYmItZm9ybS1maWVsZFxuICAgICAgICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgICAgICAgIHdpZHRoPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2JiLXNlbGVjdFxuICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgIHZhbHVlPSR7dGhpcy5wYWdlU2l6ZU9wdGlvbnM/LmZpbmQoKGUpID0+IGUgPT09IHRoaXMucGFnZVNpemUpID8/XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhWzBdfVxuICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHsoZTogQ3VzdG9tRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLl9wYWdlU2l6ZUNoYW5nZWQoKygoZS50YXJnZXQgYXMgU2JiU2VsZWN0RWxlbWVudCkudmFsdWUgYXMgc3RyaW5nKSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zISxcbiAgICAgICAgICAgICAgICAgIChlbGVtZW50KSA9PiBodG1sYDxzYmItb3B0aW9uIHZhbHVlPSR7ZWxlbWVudH0+JHtlbGVtZW50fTwvc2JiLW9wdGlvbj5gLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvc2JiLXNlbGVjdD5cbiAgICAgICAgICAgIDwvc2JiLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIGBcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDx1bCBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2VzXCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIHRoaXMuX2dldFZpc2libGVQYWdlc0luZGV4KCksXG4gICAgICAgICAgKGl0ZW06IG51bWJlciB8ICdlbGxpcHNpcycpOiBUZW1wbGF0ZVJlc3VsdCA9PlxuICAgICAgICAgICAgaXRlbSA9PT0gJ2VsbGlwc2lzJ1xuICAgICAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzLWl0ZW1cIj7igKY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgOiBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICA/ZGF0YS1zZWxlY3RlZD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1pbmRleD0ke2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7aTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHtpdGVtICsgMX1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtID8gJ3RydWUnIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLnBhZ2VJbmRleENoYW5nZWQoaXRlbSl9XG4gICAgICAgICAgICAgICAgICAgICAgQGtleXVwPSR7dGhpcy5faGFuZGxlS2V5VXB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsXCI+JHtpdGVtICsgMX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgLFxuICAgICAgICApfVxuICAgICAgPC91bD5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvclwiPlxuICAgICAgICAke1xuICAgICAgICAgIHRoaXMucGFnZXJQb3NpdGlvbiA9PT0gJ3N0YXJ0J1xuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKX1gXG4gICAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgfTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wYWdpbmF0b3InOiBTYmJQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1QkEsTUFBTSw2QkFBNkI7SUFTN0IsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGVBQWUsQ0FBQzs7OztvQkFDRywrQkFBK0IsVUFBVTs7Ozs7OztBQUFqRCxFQUFBLG1CQUFRLFlBQTBDO0FBQUE7O0FBUTFFO0FBTTBEO0FBTjFDLHlCQUFBLG1DQUFBLGtCQUFBLE1BQUEsK0JBQTRCLENBQUEsQ0FBRTtBQU1xQyx5QkFBQSxrQ0FBQSxrQkFBQSxNQUFBLGtDQUFBLEdBQUEsa0JBQUEsTUFBQSw2QkFFdkUsT0FBTztBQUVYLFdBQWEsaUJBQUEsa0JBQUEsTUFBQSxnQ0FBQSxHQUFrQjtBQUFBLElBQUE7QUFBQTtBQUFBLElBVnZDLElBQWdCLGtCQUErQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBL0MsSUFBZ0IsZ0JBQStCLE9BQUE7QUFBQSx5QkFBQSxtQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTVcsSUFBeUIsZ0JBRS9EO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUZzQyxJQUF5QixjQUUvRCxPQUFBO0FBQUEseUJBQUEsaUNBQUE7QUFBQSxJQUFBO0FBQUEsSUFJRCxRQUFRLG1CQUF1QztBQUNoRSxZQUFNLFFBQVEsaUJBQWlCO0FBRy9CLFVBQUksS0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAItE,OAAO,EAA4B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAahF,OAAO,kCAAkC,CAAC;;
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAItE,OAAO,EAA4B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAahF,OAAO,kCAAkC,CAAC;;AAU1C;;;;;;;;;;;;GAYG;AACH,qBAEM,iBAAkB,SAAQ,sBAA0C;IACxE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAA4B,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAExE,iDAAiD;IACjD,SAEgB,eAAe,EAAE,OAAO,CAAS;IAEjD,wDAAwD;IACxD,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,MAAM,CAAK;IAEtC,+CAA+C;IAC/C,SAEgB,UAAU,EAAE,MAAM,CAAK;IAEvC,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,sEAAsE;IACtE,UAAmB,SAAS,EAAE,YAAY,CAAC;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAGvE;IAEF,kDAAkD;IAClD,UAAmB,QAAQ,EAAE,YAAY,CAAC;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAGtE;IAEF,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAqB;IAE7C,OAAO,CAAC,mBAAmB,CAAC,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAc;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAAU;IAC/C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,SAAS,CAAmC;IAEpD,0CAA0C;IACnC,IAAI,IAAI,IAAI;IAyBnB,0BAA0B;IACnB,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAgBxC,OAAO,CAAC,eAAe;IAWP,iBAAiB,IAAI,IAAI;cAYtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAczD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9D,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,OAAO,CAAC,oBAAoB,CAI1B;IAEF,OAAO,CAAC,oBAAoB,CAI1B;IAMF,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,mBAAmB;cA6BR,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|
|
@@ -11,7 +11,7 @@ import { customElement, property } from "lit/decorators.js";
|
|
|
11
11
|
import { ref } from "lit/directives/ref.js";
|
|
12
12
|
import { SbbFocusHandler, IS_FOCUSABLE_QUERY, setModalityOnNextFocus, getFirstFocusableElement } from "../core/a11y.js";
|
|
13
13
|
import { SbbOpenCloseBaseElement } from "../core/base-elements.js";
|
|
14
|
-
import { SbbLanguageController } from "../core/controllers.js";
|
|
14
|
+
import { SbbMediaQueryPointerCoarse, SbbLanguageController } from "../core/controllers.js";
|
|
15
15
|
import { forceType } from "../core/decorators.js";
|
|
16
16
|
import { findReferencedElement } from "../core/dom.js";
|
|
17
17
|
import { EventEmitter, composedPathHasAttribute } from "../core/eventing.js";
|
|
@@ -180,6 +180,7 @@ const VERTICAL_OFFSET = 16;
|
|
|
180
180
|
const HORIZONTAL_OFFSET = 32;
|
|
181
181
|
let nextId = 0;
|
|
182
182
|
const popoversRef = /* @__PURE__ */ new Set();
|
|
183
|
+
const pointerCoarse = isServer ? false : matchMedia(SbbMediaQueryPointerCoarse).matches;
|
|
183
184
|
let SbbPopoverElement = (() => {
|
|
184
185
|
var _trigger_accessor_storage, _hideCloseButton_accessor_storage, _hoverTrigger_accessor_storage, _openDelay_accessor_storage, _closeDelay_accessor_storage, _accessibilityCloseLabel_accessor_storage, _a;
|
|
185
186
|
let _classDecorators = [customElement("sbb-popover")];
|
|
@@ -406,31 +407,23 @@ let SbbPopoverElement = (() => {
|
|
|
406
407
|
return;
|
|
407
408
|
}
|
|
408
409
|
setAriaOverlayTriggerAttributes(this._triggerElement, "dialog", this.id, this.state);
|
|
409
|
-
this._hoverTrigger = this.hoverTrigger && !
|
|
410
|
+
this._hoverTrigger = this.hoverTrigger && !pointerCoarse;
|
|
410
411
|
(_a2 = this._popoverController) == null ? void 0 : _a2.abort();
|
|
411
|
-
this._popoverController = new AbortController();
|
|
412
|
+
const { signal } = this._popoverController = new AbortController();
|
|
412
413
|
if (this._hoverTrigger) {
|
|
413
|
-
this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, {
|
|
414
|
-
|
|
415
|
-
});
|
|
416
|
-
this._triggerElement.addEventListener("mouseleave", this._onTriggerMouseLeave, {
|
|
417
|
-
signal: this._popoverController.signal
|
|
418
|
-
});
|
|
414
|
+
this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, { signal });
|
|
415
|
+
this._triggerElement.addEventListener("mouseleave", this._onTriggerMouseLeave, { signal });
|
|
419
416
|
this._triggerElement.addEventListener("keydown", (evt) => {
|
|
420
417
|
if (evt.code === "Space" || evt.code === "Enter") {
|
|
421
418
|
this.open();
|
|
422
419
|
}
|
|
423
|
-
}, {
|
|
424
|
-
signal: this._popoverController.signal
|
|
425
|
-
});
|
|
420
|
+
}, { signal });
|
|
426
421
|
} else {
|
|
427
422
|
this._triggerElement.addEventListener("click", () => {
|
|
428
423
|
if (this.state === "closed") {
|
|
429
424
|
this.open();
|
|
430
425
|
}
|
|
431
|
-
}, {
|
|
432
|
-
signal: this._popoverController.signal
|
|
433
|
-
});
|
|
426
|
+
}, { signal });
|
|
434
427
|
}
|
|
435
428
|
}
|
|
436
429
|
_attachWindowEvents() {
|
|
@@ -600,4 +593,4 @@ let SbbPopoverElement = (() => {
|
|
|
600
593
|
export {
|
|
601
594
|
SbbPopoverElement
|
|
602
595
|
};
|
|
603
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci9wb3BvdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7XG4gIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCxcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBTYmJGb2N1c0hhbmRsZXIsXG4gIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBmaW5kUmVmZXJlbmNlZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBjb21wb3NlZFBhdGhIYXNBdHRyaWJ1dGUsIEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlUG9wb3ZlciB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wb3BvdmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuXG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSAxNjtcbmNvbnN0IEhPUklaT05UQUxfT0ZGU0VUID0gMzI7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwb3BvdmVyc1JlZiA9IG5ldyBTZXQ8U2JiUG9wb3ZlckVsZW1lbnQ+KCk7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgY29udGV4dHVhbCBpbmZvcm1hdGlvbiB3aXRoaW4gYSBwb3BvdmVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgaW50byB0aGUgcG9wb3Zlci5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1wb3BvdmVyYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IH0+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1wb3BvdmVyYCBiZWdpbnMgdGhlIGNsb3NpbmdcbiAqIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfT59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcG9wb3ZlcicpXG5jbGFzcyBTYmJQb3BvdmVyRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgcG9wb3ZlciBvdmVybGF5LlxuICAgKiBBY2NlcHRzIGJvdGggYSBzdHJpbmcgKGlkIG9mIGFuIGVsZW1lbnQpIG9yIGFuIEhUTUwgZWxlbWVudC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjbG9zZSBidXR0b24gc2hvdWxkIGJlIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtY2xvc2UtYnV0dG9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaGlkZUNsb3NlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIHRyaWdnZXJlZCBvbiBob3Zlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvdmVyLXRyaWdnZXInLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBob3ZlclRyaWdnZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3BlbiB0aGUgcG9wb3ZlciBhZnRlciBhIGNlcnRhaW4gZGVsYXkuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdvcGVuLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcGVuRGVsYXk6IG51bWJlciA9IDA7XG5cbiAgLyoqIENsb3NlIHRoZSBwb3BvdmVyIGFmdGVyIGEgY2VydGFpbiBkZWxheS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjbG9zZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx7IGNsb3NlVGFyZ2V0PzogSFRNTEVsZW1lbnQgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiUG9wb3ZlckVsZW1lbnQuZXZlbnRzLndpbGxDbG9zZSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgaXMgY2xvc2VkLiAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlkQ2xvc2U6IEV2ZW50RW1pdHRlcjx7IGNsb3NlVGFyZ2V0PzogSFRNTEVsZW1lbnQgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiUG9wb3ZlckVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHByaXZhdGUgX292ZXJsYXkhOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ/OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIC8vIFRoZSBlbGVtZW50IHdoaWNoIHNob3VsZCByZWNlaXZlIGZvY3VzIGFmdGVyIGNsb3NpbmcgYmFzZWQgb24gd2hlcmUgaW4gdGhlIGJhY2tkcm9wIHRoZSB1c2VyIGNsaWNrcy5cbiAgcHJpdmF0ZSBfbmV4dEZvY3VzZWRFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3NraXBDbG9zZUZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3BvcG92ZXJDbG9zZUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyPzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcG9wb3ZlckNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5TdGF0ZUNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2ZvY3VzSGFuZGxlciA9IG5ldyBTYmJGb2N1c0hhbmRsZXIoKTtcbiAgcHJpdmF0ZSBfaG92ZXJUcmlnZ2VyID0gZmFsc2U7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqIE9wZW5zIHRoZSBwb3BvdmVyIG9uIHRyaWdnZXIgY2xpY2suICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fCAhdGhpcy5fb3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgb3RoZXIgcG9wb3ZlcnNcbiAgICBmb3IgKGNvbnN0IHBvcG92ZXIgb2YgQXJyYXkuZnJvbShwb3BvdmVyc1JlZikpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gcG9wb3Zlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgICAgIGlmIChzdGF0ZSAmJiAoc3RhdGUgPT09ICdvcGVuZWQnIHx8IHN0YXRlID09PSAnb3BlbmluZycpKSB7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IGZhbHNlO1xuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgcG9wb3Zlci4gKi9cbiAgcHVibGljIGNsb3NlKHRhcmdldD86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3BvcG92ZXJDbG9zZUVsZW1lbnQgPSB0YXJnZXQ7XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KHsgY2xvc2VUYXJnZXQ6IHRhcmdldCB9KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5pbmVydCA9IHRydWU7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICB9XG5cbiAgLy8gQ2xvc2VzIHRoZSBwb3BvdmVyIG9uIFwiRXNjXCIga2V5IHByZXNzZWQgYW5kIHRyYXBzIGZvY3VzIHdpdGhpbiB0aGUgcG9wb3Zlci5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICghdGhpcy5pZCkge1xuICAgICAgdGhpcy5pZCA9IHRoaXMuaWQgfHwgYHNiYi1wb3BvdmVyLSR7KytuZXh0SWR9YDtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0cmlnZ2VyIGVsZW1lbnQgYW5kIGF0dGFjaCBldmVudCBsaXN0ZW5lcnNcbiAgICB0aGlzLl9jb25maWd1cmUoKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgcG9wb3ZlcnNSZWYuYWRkKHRoaXMgYXMgU2JiUG9wb3ZlckVsZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd0cmlnZ2VyJykgJiYgdGhpcy50cmlnZ2VyICE9PSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3RyaWdnZXInKSkge1xuICAgICAgdGhpcy5fcG9wb3ZlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fY29uZmlndXJlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnaG92ZXJUcmlnZ2VyJykpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHRoaXMuX29uT3ZlcmxheU1vdXNlRW50ZXIoKSk7XG4gICAgICB0aGlzLl9vdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUxlYXZlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3BvcG92ZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZm9jdXNIYW5kbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICBwb3BvdmVyc1JlZi5kZWxldGUodGhpcyBhcyBTYmJQb3BvdmVyRWxlbWVudCk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX2NvbmZpZ3VyZSgpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICghdGhpcy50cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQodGhpcy50cmlnZ2VyKTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSB0cmlnZ2VyIGNhbiBiZSBob3ZlcmVkLiBTb21lIGRldmljZXMgbWlnaHQgaW50ZXJwcmV0IHRoZSBtZWRpYSBxdWVyeSAoaG92ZXI6IGhvdmVyKSBkaWZmZXJlbnRseSxcbiAgICAvLyBhbmQgbm90IHJlc3BlY3QgdGhlIGZhbGxiYWNrIG1lY2hhbmlzbSBvbiB0aGUgY2xpY2suIFRoZXJlZm9yZSwgdGhlIGZvbGxvd2luZyBpcyBwcmVmZXJyZWQgdG8gaWRlbnRpZnlcbiAgICAvLyBhbGwgbm9uLXRvdWNoc2NyZWVuIGRldmljZXMuXG4gICAgdGhpcy5faG92ZXJUcmlnZ2VyID0gdGhpcy5ob3ZlclRyaWdnZXIgJiYgIXdpbmRvdy5tYXRjaE1lZGlhKCcocG9pbnRlcjogY29hcnNlKScpLm1hdGNoZXM7XG5cbiAgICB0aGlzLl9wb3BvdmVyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9wb3BvdmVyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5fb25UcmlnZ2VyTW91c2VFbnRlciwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3BvcG92ZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3BvcG92ZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZ0LmNvZGUgPT09ICdTcGFjZScgfHwgZXZ0LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNpZ25hbDogdGhpcy5fcG9wb3ZlckNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9wb3BvdmVyQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0UG9wb3ZlclBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBwb3BvdmVyIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBDbG9zZSB0aGUgcG9wb3ZlciBvbiBjbGljayBvZiBhbnkgZWxlbWVudCB0aGF0IGhhcyB0aGUgJ3NiYi1wb3BvdmVyLWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZUVsZW1lbnQgPSBjb21wb3NlZFBhdGhIYXNBdHRyaWJ1dGUoZXZlbnQsICdzYmItcG9wb3Zlci1jbG9zZScsIHRoaXMpO1xuXG4gICAgaWYgKGNsb3NlRWxlbWVudCAmJiAhY2xvc2VFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5fb3ZlcmxheSwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCkpIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCB0aGlzLm9wZW5EZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vblRyaWdnZXJNb3VzZUxlYXZlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUxlYXZlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH1cbiAgfTtcblxuICAvLyBTZXQgcG9wb3ZlciBwb3NpdGlvbiAoeCwgeSkgdG8gJzAnIG9uY2UgdGhlIHBvcG92ZXIgaXMgY2xvc2VkIGFuZCB0aGUgdHJhbnNpdGlvbiBlbmRlZCB0byBwcmV2ZW50IHRoZVxuICAvLyB2aWV3cG9ydCBmcm9tIG92ZXJmbG93aW5nLiBBbmQgc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgb25jZSB0aGUgcG9wb3ZlciBpcyBvcGVuLlxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uUG9wb3ZlckFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2F0dGFjaFdpbmRvd0V2ZW50cygpO1xuICAgICAgdGhpcy5fc2V0UG9wb3ZlckZvY3VzKCk7XG4gICAgICB0aGlzLl9mb2N1c0hhbmRsZXIudHJhcCh0aGlzLCB7XG4gICAgICAgIHBvc3RGaWx0ZXI6IChlbCkgPT4gZWwgIT09IHRoaXMuX292ZXJsYXksXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLl9vdmVybGF5Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB0aGlzLl9vdmVybGF5Py5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICAgIGlmICghdGhpcy5fc2tpcENsb3NlRm9jdXMpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFRvRm9jdXMgPSB0aGlzLl9uZXh0Rm9jdXNlZEVsZW1lbnQgfHwgdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhlbGVtZW50VG9Gb2N1cyk7XG4gICAgICAgIC8vIFRvIGVuYWJsZSBmb2N1c2luZyBvdGhlciBlbGVtZW50IHRoYW4gdGhlIHRyaWdnZXIsIHdlIG5lZWQgdG8gY2FsbCBmb2N1cygpIGEgc2Vjb25kIHRpbWUuXG4gICAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRpZENsb3NlLmVtaXQoeyBjbG9zZVRhcmdldDogdGhpcy5fcG9wb3ZlckNsb3NlRWxlbWVudCB9KTtcbiAgICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl9mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gIHByaXZhdGUgX3NldFBvcG92ZXJGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdbc2JiLXBvcG92ZXItY2xvc2VdJykgfHxcbiAgICAgIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpLFxuICAgICAgKTtcbiAgICBpZiAoZmlyc3RGb2N1c2FibGUpIHtcbiAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGUpO1xuICAgICAgZmlyc3RGb2N1c2FibGUuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb3ZlcmxheS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5fb3ZlcmxheSk7XG4gICAgICB0aGlzLl9vdmVybGF5LmZvY3VzKCk7XG5cbiAgICAgIC8vIFdoZW4gYSBibHVyIG9jY3Vycywgd2Uga25vdyB0aGF0IHRoZSBwb3BvdmVyIGhhcyB0byBiZSBjbG9zZWQsXG4gICAgICAvLyBiZWNhdXNlIHRoZXJlIGFyZSBubyBpbnRlcmFjdGl2ZSBlbGVtZW50cyBpbnNpZGUgdGhlIHBvcG92ZXIuXG4gICAgICAvLyBXaGVuIGEgd2luZG93L3RhYiBjaGFuZ2Ugb2NjdXJzLCBhIGJsdXIgZXZlbnQgaXMgYWxzbyBmaXJlZC4gSG93ZXZlciwgd2hlbiB0aGUgY3VycmVudCB3aW5kb3cvdGFiXG4gICAgICAvLyBiZWNvbWVzIGFjdGl2ZSBhZ2FpbiwgaXQgZm9jdXNlcyBvbmNlIGFnYWluIHRoZSBwb3BvdmVyLlxuICAgICAgLy8gVGhlcmVmb3JlLCB3ZSBjYW5ub3QgbGlzdGVuIHRvIHRoZSBibHVyIGV2ZW50IG9ubHkgb25jZS5cbiAgICAgIC8vIFRvIHByZXZlbnQgYWNjaWRlbnRhbGx5IGNsb3NpbmcgdGhlIHBvcG92ZXIsIHdlIG5lZWQgdG8gY2hlY2sgZm9yIHRoZSB3aW5kb3cvdGFiIHN0YXRlLlxuICAgICAgLy8gV2UgY2FuIGFjaGlldmUgdGhpcyBieSB1c2luZyB2aXNpYmlsaXR5U3RhdGUsIHdoaWNoIG9ubHkgd29ya3Mgd2l0aCBzZXRUaW1lb3V0KCkuXG4gICAgICB0aGlzLl9vdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSAhPT0gJ2hpZGRlbicpIHtcbiAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheT8ucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2tpcENsb3NlRm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFBvcG92ZXJQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX292ZXJsYXkgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9wb3ZlclBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICAgICAgdGhpcy5fb3ZlcmxheSxcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXBvcG92ZXJfX2NvbnRhaW5lcicpISxcbiAgICAgIHtcbiAgICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogSE9SSVpPTlRBTF9PRkZTRVQsXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9wb3ZlclBvc2l0aW9uLmFsaWdubWVudC52ZXJ0aWNhbCk7XG5cbiAgICBjb25zdCBhcnJvd1hQb3NpdGlvbiA9XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHBvcG92ZXJQb3NpdGlvbi5sZWZ0ICtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtXG4gICAgICA4OyAvLyBoYWxmIHRoZSBzaXplIG9mIHRoZSBwb3BvdmVyIGFycm93XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItcG9zaXRpb24teScsIGAke3BvcG92ZXJQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgnLCBgJHthcnJvd1hQb3NpdGlvbn1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcG9wb3Zlcl9fY2xvc2VcIj5cbiAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWwgfHwgaTE4bkNsb3NlUG9wb3Zlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgIHNiYi1wb3BvdmVyLWNsb3NlXG4gICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7KGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gdGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyXCJcbiAgICAgICAgICByb2xlPVwidG9vbHRpcFwiXG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX292ZXJsYXkgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgQGNsaWNrPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fY2xvc2VPblNiYlBvcG92ZXJDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJfX2NvbnRlbnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7IXRoaXMuaGlkZUNsb3NlQnV0dG9uICYmICF0aGlzLl9ob3ZlclRyaWdnZXIgPyBjbG9zZUJ1dHRvbiA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHNsb3Q+Tm8gY29udGVudDwvc2xvdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcG9wb3Zlcic6IFNiYlBvcG92ZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiUG9wb3ZlckVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
596
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci9wb3BvdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7XG4gIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCxcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBTYmJGb2N1c0hhbmRsZXIsXG4gIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgZmluZFJlZmVyZW5jZWRFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5DbG9zZVBvcG92ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7XG4gIGdldEVsZW1lbnRQb3NpdGlvbixcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vcG9wb3Zlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcblxuY29uc3QgVkVSVElDQUxfT0ZGU0VUID0gMTY7XG5jb25zdCBIT1JJWk9OVEFMX09GRlNFVCA9IDMyO1xuXG5sZXQgbmV4dElkID0gMDtcblxuY29uc3QgcG9wb3ZlcnNSZWYgPSBuZXcgU2V0PFNiYlBvcG92ZXJFbGVtZW50PigpO1xuY29uc3QgcG9pbnRlckNvYXJzZSA9IGlzU2VydmVyID8gZmFsc2UgOiBtYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gd2l0aGluIGEgcG9wb3Zlci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IGludG8gdGhlIHBvcG92ZXIuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXBvcG92ZXJgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgaXMgb3BlbmVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB9Pn0gd2lsbENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItcG9wb3ZlcmAgYmVnaW5zIHRoZSBjbG9zaW5nXG4gKiB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IH0+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXBvcG92ZXJgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1wb3BvdmVyLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBvcG92ZXInKVxuY2xhc3MgU2JiUG9wb3ZlckVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIHBvcG92ZXIgb3ZlcmxheS5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY2xvc2UgYnV0dG9uIHNob3VsZCBiZSBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLWNsb3NlLWJ1dHRvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSB0cmlnZ2VyZWQgb24gaG92ZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Zlci10cmlnZ2VyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJUcmlnZ2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE9wZW4gdGhlIHBvcG92ZXIgYWZ0ZXIgYSBjZXJ0YWluIGRlbGF5LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbkRlbGF5OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBDbG9zZSB0aGUgcG9wb3ZlciBhZnRlciBhIGNlcnRhaW4gZGVsYXkuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2xvc2VEZWxheTogbnVtYmVyID0gMDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXBvcG92ZXJgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbENsb3NlOiBFdmVudEVtaXR0ZXI8eyBjbG9zZVRhcmdldD86IEhUTUxFbGVtZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlBvcG92ZXJFbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXBvcG92ZXJgIGlzIGNsb3NlZC4gKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpZENsb3NlOiBFdmVudEVtaXR0ZXI8eyBjbG9zZVRhcmdldD86IEhUTUxFbGVtZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlBvcG92ZXJFbGVtZW50LmV2ZW50cy5kaWRDbG9zZSxcbiAgKTtcblxuICBwcml2YXRlIF9vdmVybGF5ITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICAvLyBUaGUgZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1cyBhZnRlciBjbG9zaW5nIGJhc2VkIG9uIHdoZXJlIGluIHRoZSBiYWNrZHJvcCB0aGUgdXNlciBjbGlja3MuXG4gIHByaXZhdGUgX25leHRGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9za2lwQ2xvc2VGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wb3BvdmVyQ2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3Zlcj86IGJvb2xlYW47XG4gIHByaXZhdGUgX3BvcG92ZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9mb2N1c0hhbmRsZXIgPSBuZXcgU2JiRm9jdXNIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2hvdmVyVHJpZ2dlciA9IGZhbHNlO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKiBPcGVucyB0aGUgcG9wb3ZlciBvbiB0cmlnZ2VyIGNsaWNrLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuc3RhdGUgIT09ICdjbG9zaW5nJykgfHwgIXRoaXMuX292ZXJsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgdGhlIG90aGVyIHBvcG92ZXJzXG4gICAgZm9yIChjb25zdCBwb3BvdmVyIG9mIEFycmF5LmZyb20ocG9wb3ZlcnNSZWYpKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHBvcG92ZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gICAgICBpZiAoc3RhdGUgJiYgKHN0YXRlID09PSAnb3BlbmVkJyB8fCBzdGF0ZSA9PT0gJ29wZW5pbmcnKSkge1xuICAgICAgICBwb3BvdmVyLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcbiAgICB0aGlzLl9uZXh0Rm9jdXNlZEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fc2tpcENsb3NlRm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gIHB1YmxpYyBjbG9zZSh0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID0gdGFyZ2V0O1xuICAgIGlmICghdGhpcy53aWxsQ2xvc2UuZW1pdCh7IGNsb3NlVGFyZ2V0OiB0YXJnZXQgfSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgfVxuXG4gIC8vIENsb3NlcyB0aGUgcG9wb3ZlciBvbiBcIkVzY1wiIGtleSBwcmVzc2VkIGFuZCB0cmFwcyBmb2N1cyB3aXRoaW4gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX29uS2V5ZG93bkV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgIHRoaXMuaWQgPSB0aGlzLmlkIHx8IGBzYmItcG9wb3Zlci0keysrbmV4dElkfWA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdHJpZ2dlciBlbGVtZW50IGFuZCBhdHRhY2ggZXZlbnQgbGlzdGVuZXJzXG4gICAgdGhpcy5fY29uZmlndXJlKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHBvcG92ZXJzUmVmLmFkZCh0aGlzIGFzIFNiYlBvcG92ZXJFbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygndHJpZ2dlcicpICYmIHRoaXMudHJpZ2dlciAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCd0cmlnZ2VyJykpIHtcbiAgICAgIHRoaXMuX3BvcG92ZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZSgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2hvdmVyVHJpZ2dlcicpKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyKSB7XG4gICAgICB0aGlzLl9vdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCkpO1xuICAgICAgdGhpcy5fb3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9wb3BvdmVyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG4gICAgcG9wb3ZlcnNSZWYuZGVsZXRlKHRoaXMgYXMgU2JiUG9wb3ZlckVsZW1lbnQpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiB0aGlzLl9jb25maWd1cmUoKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAoIXRoaXMudHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZmluZFJlZmVyZW5jZWRFbGVtZW50KHRoaXMudHJpZ2dlcik7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2RpYWxvZycsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuXG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgdHJpZ2dlciBjYW4gYmUgaG92ZXJlZC4gU29tZSBkZXZpY2VzIG1pZ2h0IGludGVycHJldCB0aGUgbWVkaWEgcXVlcnkgKGhvdmVyOiBob3ZlcikgZGlmZmVyZW50bHksXG4gICAgLy8gYW5kIG5vdCByZXNwZWN0IHRoZSBmYWxsYmFjayBtZWNoYW5pc20gb24gdGhlIGNsaWNrLiBUaGVyZWZvcmUsIHRoZSBmb2xsb3dpbmcgaXMgcHJlZmVycmVkIHRvIGlkZW50aWZ5XG4gICAgLy8gYWxsIG5vbi10b3VjaHNjcmVlbiBkZXZpY2VzLlxuICAgIHRoaXMuX2hvdmVyVHJpZ2dlciA9IHRoaXMuaG92ZXJUcmlnZ2VyICYmICFwb2ludGVyQ29hcnNlO1xuXG4gICAgdGhpcy5fcG9wb3ZlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgY29uc3QgeyBzaWduYWwgfSA9ICh0aGlzLl9wb3BvdmVyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKSk7XG4gICAgaWYgKHRoaXMuX2hvdmVyVHJpZ2dlcikge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMuX29uVHJpZ2dlck1vdXNlRW50ZXIsIHsgc2lnbmFsIH0pO1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuX29uVHJpZ2dlck1vdXNlTGVhdmUsIHsgc2lnbmFsIH0pO1xuXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZ0LmNvZGUgPT09ICdTcGFjZScgfHwgZXZ0LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBzaWduYWwgfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdjbGljaycsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBzaWduYWwgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fc2V0UG9wb3ZlclBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX29uS2V5ZG93bkV2ZW50KGV2ZW50KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljaywge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENsb3NlIHRoZSBwb3BvdmVyIG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXBvcG92ZXItY2xvc2UnIGF0dHJpYnV0ZS5cbiAgcHJpdmF0ZSBfY2xvc2VPblNiYlBvcG92ZXJDbG9zZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3NlRWxlbWVudCA9IGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZShldmVudCwgJ3NiYi1wb3BvdmVyLWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoY2xvc2VFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgcG9wb3Zlci5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KSkge1xuICAgICAgdGhpcy5fbmV4dEZvY3VzZWRFbGVtZW50ID0gZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgICAgLmZpbmQoKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoSVNfRk9DVVNBQkxFX1FVRVJZKSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UcmlnZ2VyTW91c2VFbnRlciA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9vcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIHRoaXMub3BlbkRlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9vcGVuVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gICAgfVxuICB9O1xuXG4gIC8vIFNldCBwb3BvdmVyIHBvc2l0aW9uICh4LCB5KSB0byAnMCcgb25jZSB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgYW5kIHRoZSB0cmFuc2l0aW9uIGVuZGVkIHRvIHByZXZlbnQgdGhlXG4gIC8vIHZpZXdwb3J0IGZyb20gb3ZlcmZsb3dpbmcuIEFuZCBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBvbmNlIHRoZSBwb3BvdmVyIGlzIG9wZW4uXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25Qb3BvdmVyQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5pbmVydCA9IGZhbHNlO1xuICAgICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgICB0aGlzLl9zZXRQb3BvdmVyRm9jdXMoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci50cmFwKHRoaXMsIHtcbiAgICAgICAgcG9zdEZpbHRlcjogKGVsKSA9PiBlbCAhPT0gdGhpcy5fb3ZlcmxheSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICAgIHRoaXMuX292ZXJsYXk/LmZpcnN0RWxlbWVudENoaWxkPy5zY3JvbGxUbygwLCAwKTtcbiAgICAgIHRoaXMuX292ZXJsYXk/LnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcblxuICAgICAgaWYgKCF0aGlzLl9za2lwQ2xvc2VGb2N1cykge1xuICAgICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKGVsZW1lbnRUb0ZvY3VzKTtcbiAgICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgICAgZWxlbWVudFRvRm9jdXM/LmZvY3VzKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7IGNsb3NlVGFyZ2V0OiB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50IH0pO1xuICAgICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID1cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ1tzYmItcG9wb3Zlci1jbG9zZV0nKSB8fFxuICAgICAgZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50KFxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCksXG4gICAgICApO1xuICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhmaXJzdEZvY3VzYWJsZSk7XG4gICAgICBmaXJzdEZvY3VzYWJsZS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vdmVybGF5LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyh0aGlzLl9vdmVybGF5KTtcbiAgICAgIHRoaXMuX292ZXJsYXkuZm9jdXMoKTtcblxuICAgICAgLy8gV2hlbiBhIGJsdXIgb2NjdXJzLCB3ZSBrbm93IHRoYXQgdGhlIHBvcG92ZXIgaGFzIHRvIGJlIGNsb3NlZCxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgYXJlIG5vIGludGVyYWN0aXZlIGVsZW1lbnRzIGluc2lkZSB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFdoZW4gYSB3aW5kb3cvdGFiIGNoYW5nZSBvY2N1cnMsIGEgYmx1ciBldmVudCBpcyBhbHNvIGZpcmVkLiBIb3dldmVyLCB3aGVuIHRoZSBjdXJyZW50IHdpbmRvdy90YWJcbiAgICAgIC8vIGJlY29tZXMgYWN0aXZlIGFnYWluLCBpdCBmb2N1c2VzIG9uY2UgYWdhaW4gdGhlIHBvcG92ZXIuXG4gICAgICAvLyBUaGVyZWZvcmUsIHdlIGNhbm5vdCBsaXN0ZW4gdG8gdGhlIGJsdXIgZXZlbnQgb25seSBvbmNlLlxuICAgICAgLy8gVG8gcHJldmVudCBhY2NpZGVudGFsbHkgY2xvc2luZyB0aGUgcG9wb3Zlciwgd2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIHdpbmRvdy90YWIgc3RhdGUuXG4gICAgICAvLyBXZSBjYW4gYWNoaWV2ZSB0aGlzIGJ5IHVzaW5nIHZpc2liaWxpdHlTdGF0ZSwgd2hpY2ggb25seSB3b3JrcyB3aXRoIHNldFRpbWVvdXQoKS5cbiAgICAgIHRoaXMuX292ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2JsdXInLFxuICAgICAgICAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgICB0aGlzLl9vdmVybGF5Py5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3ZlcmxheSB8fCAhdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3BvdmVyUG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb24oXG4gICAgICB0aGlzLl9vdmVybGF5LFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItcG9wb3Zlcl9fY29udGFpbmVyJykhLFxuICAgICAge1xuICAgICAgICB2ZXJ0aWNhbE9mZnNldDogVkVSVElDQUxfT0ZGU0VULFxuICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBIT1JJWk9OVEFMX09GRlNFVCxcbiAgICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVIZWlnaHQ6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtcG9zaXRpb24nLCBwb3BvdmVyUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcblxuICAgIGNvbnN0IGFycm93WFBvc2l0aW9uID1cbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgcG9wb3ZlclBvc2l0aW9uLmxlZnQgK1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC1cbiAgICAgIDg7IC8vIGhhbGYgdGhlIHNpemUgb2YgdGhlIHBvcG92ZXIgYXJyb3dcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItcG9zaXRpb24teCcsIGAke3BvcG92ZXJQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItcG9wb3Zlci1wb3NpdGlvbi15JywgYCR7cG9wb3ZlclBvc2l0aW9uLnRvcH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItYXJyb3ctcG9zaXRpb24teCcsIGAke2Fycm93WFBvc2l0aW9ufXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1wb3BvdmVyX19jbG9zZVwiPlxuICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VQb3BvdmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgc2JiLXBvcG92ZXItY2xvc2VcbiAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHsoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiB0aGlzLl9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQpfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fb3ZlcmxheSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgJHshdGhpcy5oaWRlQ2xvc2VCdXR0b24gJiYgIXRoaXMuX2hvdmVyVHJpZ2dlciA/IGNsb3NlQnV0dG9uIDogbm90aGluZ31cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8c2xvdD5ObyBjb250ZW50PC9zbG90PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wb3BvdmVyJzogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJQb3BvdmVyRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -18,7 +18,7 @@ export declare class SbbRadioButtonPanelElement extends SbbRadioButtonPanelEleme
|
|
|
18
18
|
};
|
|
19
19
|
/** Size variant. */
|
|
20
20
|
accessor size: SbbPanelSize;
|
|
21
|
-
protected willUpdate(changedProperties: PropertyValues<this>):
|
|
21
|
+
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
22
22
|
protected render(): TemplateResult;
|
|
23
23
|
}
|
|
24
24
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-button-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,6BAA6B,CAAC;;AAErC;;;;;;;;GAQG;AACH,qBAGM,0BAA2B,SAAQ,+BAExC;IACC,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAG3F,gBAAuB,MAAM;;;MAGlB;IAEX,oBAAoB;IACpB,SAEgB,IAAI,EAAE,YAAY,CAAO;
|
|
1
|
+
{"version":3,"file":"radio-button-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,6BAA6B,CAAC;;AAErC;;;;;;;;GAQG;AACH,qBAGM,0BAA2B,SAAQ,+BAExC;IACC,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAG3F,gBAAuB,MAAM;;;MAGlB;IAEX,oBAAoB;IACpB,SAEgB,IAAI,EAAE,YAAY,CAAO;cAEtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQzD,MAAM,IAAI,cAAc;CA6B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;CACF"}
|