@eui/components 17.0.0-next.4 → 17.0.0-next.5
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/directives/eui-clearable.directive.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/esm2022/directives/eui-clearable.directive.mjs +8 -9
- package/esm2022/directives/eui-has-permission.directive.mjs +7 -7
- package/esm2022/directives/eui-loading.directive.mjs +3 -3
- package/esm2022/directives/eui-maxlength.directive.mjs +7 -7
- package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +3 -3
- package/esm2022/directives/eui-resizable/eui-resizable.directive.mjs +4 -5
- package/esm2022/directives/eui-resizable/eui-resizable.module.mjs +4 -4
- package/esm2022/directives/eui-scroll-handler.directive.mjs +10 -10
- package/esm2022/directives/eui-smooth-scroll.directive.mjs +10 -10
- package/esm2022/directives/eui-template.directive.mjs +7 -7
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +3 -3
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +58 -26
- package/esm2022/directives/eui-tooltip/eui-tooltip.module.mjs +4 -4
- package/esm2022/eui-alert/eui-alert.component.mjs +9 -8
- package/esm2022/eui-all/eui-all.module.mjs +9 -10
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +31 -15
- package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +4 -4
- package/esm2022/eui-autocomplete/models/eui-autocomplete-item.model.mjs +2 -1
- package/esm2022/eui-badge/eui-badge.component.mjs +8 -8
- package/esm2022/eui-block-content/eui-block-content.component.mjs +5 -5
- package/esm2022/eui-block-content/eui-block-content.module.mjs +4 -4
- package/esm2022/eui-block-document/eui-block-document.component.mjs +3 -3
- package/esm2022/eui-block-document/eui-block-document.module.mjs +4 -4
- package/esm2022/eui-button/eui-button.component.mjs +10 -10
- package/esm2022/eui-button-group/eui-button-group.component.mjs +7 -7
- package/esm2022/eui-buttons/eui-buttons.component.mjs +17 -17
- package/esm2022/eui-card/components/eui-card-content/eui-card-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-left-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-right-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-subtitle.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-title.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header-body/eui-card-header-body.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-media/eui-card-media.component.mjs +3 -3
- package/esm2022/eui-card/eui-card.component.mjs +3 -3
- package/esm2022/eui-card/eui-card.module.mjs +4 -4
- package/esm2022/eui-card/services/ui-state.service.mjs +3 -3
- package/esm2022/eui-chip/eui-chip.component.mjs +3 -3
- package/esm2022/eui-chip/eui-chip.module.mjs +4 -4
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +9 -9
- package/esm2022/eui-chip-list/eui-chip-list.module.mjs +4 -4
- package/esm2022/eui-chip-list/services/eui-chip-list-drag.service.mjs +3 -3
- package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +15 -15
- package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +9 -8
- package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +19 -6
- package/esm2022/eui-date-range-selector/eui-date-range-selector.module.mjs +4 -4
- package/esm2022/eui-datepicker/eui-datepicker.component.mjs +21 -21
- package/esm2022/eui-datepicker/eui-datepicker.module.mjs +4 -4
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +3 -3
- package/esm2022/eui-dialog/eui-dialog.component.mjs +10 -10
- package/esm2022/eui-dialog/eui-dialog.module.mjs +4 -4
- package/esm2022/eui-dialog/services/eui-dialog.service.mjs +5 -5
- package/esm2022/eui-dimmer/dimmer.component.mjs +4 -4
- package/esm2022/eui-dimmer/dimmer.module.mjs +4 -4
- package/esm2022/eui-disable-content/eui-disable-content.component.mjs +10 -10
- package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +5 -5
- package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +3 -3
- package/esm2022/eui-discussion-thread/eui-discussion-thread.module.mjs +4 -4
- package/esm2022/eui-dropdown/directives/eui-dropdown-content.directive.mjs +3 -3
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +10 -8
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
- package/esm2022/eui-dropdown/eui-dropdown.module.mjs +8 -8
- package/esm2022/eui-dropdown/eui-dropdown.service.mjs +3 -3
- package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +3 -3
- package/esm2022/eui-feedback-message/eui-feedback-message.module.mjs +4 -4
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +9 -9
- package/esm2022/eui-fieldset/eui-fieldset.module.mjs +4 -4
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +32 -18
- package/esm2022/eui-file-upload/eui-file-upload.module.mjs +6 -17
- package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +6 -4
- package/esm2022/eui-file-upload/pipes/filesize.pipe.mjs +3 -3
- package/esm2022/eui-file-upload/progress/eui-file-upload-progress.component.mjs +3 -3
- package/esm2022/eui-file-upload/utils/eui-file-upload.utils.mjs +4 -4
- package/esm2022/eui-file-upload/utils/eui-file-upload.validators.mjs +1 -1
- package/esm2022/eui-file-upload/utils/mime-types.mjs +3 -1
- package/esm2022/eui-growl/eui-growl.component.mjs +4 -4
- package/esm2022/eui-growl/eui-growl.module.mjs +4 -4
- package/esm2022/eui-growl/services/eui-growl.service.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-color.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-svg.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon.module.mjs +4 -4
- package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +3 -3
- package/esm2022/eui-icon-toggle/eui-icon-toggle.module.mjs +4 -4
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +4 -4
- package/esm2022/eui-input-checkbox/eui-input-checkbox.module.mjs +4 -4
- package/esm2022/eui-input-group/eui-input-group.component.mjs +4 -4
- package/esm2022/eui-input-group/eui-input-group.module.mjs +4 -4
- package/esm2022/eui-input-number/eui-input-number.component.mjs +4 -4
- package/esm2022/eui-input-number/eui-input-number.module.mjs +4 -4
- package/esm2022/eui-input-number/eui-number-control.directive.mjs +4 -4
- package/esm2022/eui-input-radio/eui-input-radio.component.mjs +9 -11
- package/esm2022/eui-input-radio/eui-input-radio.module.mjs +4 -4
- package/esm2022/eui-input-text/eui-input-text.component.mjs +5 -5
- package/esm2022/eui-input-text/eui-input-text.module.mjs +4 -4
- package/esm2022/eui-label/eui-label.component.mjs +4 -4
- package/esm2022/eui-label/eui-label.module.mjs +4 -4
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +4 -4
- package/esm2022/eui-list/eui-list.component.mjs +3 -3
- package/esm2022/eui-list/eui-list.module.mjs +4 -4
- package/esm2022/eui-list/services/eui-list.service.mjs +3 -3
- package/esm2022/eui-menu/eui-menu-item.component.mjs +4 -4
- package/esm2022/eui-menu/eui-menu.component.mjs +5 -5
- package/esm2022/eui-menu/eui-menu.module.mjs +4 -4
- package/esm2022/eui-message-box/eui-message-box.component.mjs +9 -7
- package/esm2022/eui-message-box/eui-message-box.module.mjs +4 -4
- package/esm2022/eui-message-box/services/eui-message-box.service.mjs +3 -3
- package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +38 -0
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +5 -5
- package/esm2022/eui-overlay/eui-overlay.component.mjs +30 -12
- package/esm2022/eui-overlay/index.mjs +2 -1
- package/esm2022/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +21 -21
- package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-content/eui-page-content.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +9 -9
- package/esm2022/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-top-content/eui-page-top-content.component.mjs +3 -3
- package/esm2022/eui-page/eui-page.component.mjs +3 -3
- package/esm2022/eui-page/eui-page.module.mjs +4 -4
- package/esm2022/eui-paginator/eui-paginator.component.mjs +10 -8
- package/esm2022/eui-paginator/eui-paginator.module.mjs +4 -4
- package/esm2022/eui-picker/eui-picker.component.mjs +8 -6
- package/esm2022/eui-picker/eui-picker.module.mjs +4 -4
- package/esm2022/eui-picker/modal-picker/eui-modal-picker.component.mjs +5 -5
- package/esm2022/eui-popover/directives/eui-popover-arrow-position.directive.mjs +58 -0
- package/esm2022/eui-popover/eui-popover.component.mjs +25 -19
- package/esm2022/eui-popover/eui-popover.module.mjs +7 -6
- package/esm2022/eui-popover/models/eui-popover-position.model.mjs +18 -0
- package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +3 -3
- package/esm2022/eui-progress-bar/eui-progress-bar.module.mjs +4 -4
- package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +7 -7
- package/esm2022/eui-select/eui-select-control.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-multiple.directive.mjs +10 -5
- package/esm2022/eui-select/eui-select-mutli-option.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-option.directive.mjs +5 -4
- package/esm2022/eui-select/eui-select.component.mjs +5 -5
- package/esm2022/eui-select/eui-select.module.mjs +4 -4
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +6 -4
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.module.mjs +4 -4
- package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +4 -4
- package/esm2022/eui-slide-toggle/eui-slide-toggle.module.mjs +4 -4
- package/esm2022/eui-table/directives/eui-table-sticky-columns.directive.mjs +3 -3
- package/esm2022/eui-table/eui-table.component.mjs +76 -29
- package/esm2022/eui-table/eui-table.module.mjs +4 -4
- package/esm2022/eui-table/expandable-row/eui-table-expandable-row.component.mjs +3 -3
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +3 -3
- package/esm2022/eui-table/pipes/eui-table-highlight-filter.pipe.mjs +3 -3
- package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +3 -3
- package/esm2022/eui-table/selectable-row/eui-table-selectable-row.component.mjs +3 -3
- package/esm2022/eui-table/services/eui-table-selectable-row.service.mjs +3 -3
- package/esm2022/eui-table/services/eui-table-sort.service.mjs +3 -3
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +4 -4
- package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tab-content/eui-tab-content.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tab-label/eui-tab-label.component.mjs +6 -6
- package/esm2022/eui-tabs/eui-tabs.component.mjs +7 -7
- package/esm2022/eui-tabs/eui-tabs.module.mjs +4 -4
- package/esm2022/eui-textarea/auto-resize.directive.mjs +4 -4
- package/esm2022/eui-textarea/eui-textarea.component.mjs +5 -5
- package/esm2022/eui-textarea/eui-textarea.module.mjs +4 -4
- package/esm2022/eui-timebar/eui-timebar-item.model.mjs +3 -1
- package/esm2022/eui-timebar/eui-timebar.component.mjs +9 -9
- package/esm2022/eui-timeline/eui-timeline-item.component.mjs +3 -3
- package/esm2022/eui-timeline/eui-timeline.component.mjs +3 -3
- package/esm2022/eui-timeline/eui-timeline.module.mjs +4 -4
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +3 -3
- package/esm2022/eui-timepicker/eui-timepicker.module.mjs +11 -11
- package/esm2022/eui-timepicker/models/eui-date-time-picker.config.model.mjs +1 -1
- package/esm2022/eui-tree/eui-dropdown-tree.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree-form-control.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree-helper.mjs +1 -1
- package/esm2022/eui-tree/eui-tree.component.mjs +29 -11
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +3 -3
- package/esm2022/eui-wizard/eui-wizard.component.mjs +16 -14
- package/esm2022/eui-wizard/eui-wizard.module.mjs +4 -4
- package/esm2022/eui-wizard/services/eui-wizard.service.mjs +3 -3
- package/esm2022/externals/charts/chart/chart.component.mjs +3 -3
- package/esm2022/externals/charts/eui-charts.module.mjs +4 -4
- package/esm2022/externals/eui-editor/counters/eui-editor-counters.component.mjs +3 -3
- package/esm2022/externals/eui-editor/directives/eui-editor-maxlength.directive.mjs +3 -3
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +8 -8
- package/esm2022/externals/eui-editor/eui-editor.module.mjs +4 -4
- package/esm2022/externals/eui-editor/html-view/eui-editor-html-view.component.mjs +3 -3
- package/esm2022/externals/eui-editor/image-url-dialog/image-url-dialog.component.mjs +3 -3
- package/esm2022/externals/eui-editor/json-view/eui-editor-json-view.component.mjs +3 -3
- package/esm2022/externals/quill/quill-editor.component.mjs +3 -3
- package/esm2022/externals/quill/quill.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-footer/footer.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-header/header.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-body/sidebar-body.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +5 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +5 -4
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app.component.mjs +6 -6
- package/esm2022/layout/eui-app/eui-app.module.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +10 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.service.mjs +3 -3
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +8 -8
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +6 -6
- package/esm2022/layout/eui-footer/footer.component.mjs +3 -3
- package/esm2022/layout/eui-footer/footer.module.mjs +4 -4
- package/esm2022/layout/eui-header/header-app/header-app.component.mjs +12 -12
- package/esm2022/layout/eui-header/header-app-name/header-app-name.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-app-name-logo/header-app-name-logo.component.mjs +7 -11
- package/esm2022/layout/eui-header/header-app-subtitle/header-app-subtitle.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-environment/header-environment.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-logo/header-logo.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-user-profile/header-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-header/header.component.mjs +3 -3
- package/esm2022/layout/eui-header/header.module.mjs +4 -4
- package/esm2022/layout/eui-language-selector/language-selector.component.mjs +4 -4
- package/esm2022/layout/eui-language-selector/language-selector.module.mjs +4 -4
- package/esm2022/layout/eui-language-selector/modal-selector/modal-selector.component.mjs +3 -3
- package/esm2022/layout/eui-layout.module.mjs +10 -5
- package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +5 -5
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-notifications/eui-notifications.module.mjs +4 -4
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +57 -0
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +244 -0
- package/esm2022/layout/eui-notifications-v2/eui-notifications.module.mjs +25 -0
- package/esm2022/layout/eui-notifications-v2/index.mjs +4 -0
- package/esm2022/layout/eui-search/search.component.mjs +3 -3
- package/esm2022/layout/eui-search/search.module.mjs +4 -4
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +3 -3
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.module.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-app/toolbar-app.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-center/toolbar-center.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item/toolbar-item.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-notifications/toolbar-item-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-search/toolbar-item-search.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-items/toolbar-items.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-logo/toolbar-logo.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar.module.mjs +4 -4
- package/esm2022/layout/eui-user-profile/user-profile-card/user-profile-card.component.mjs +6 -5
- package/esm2022/layout/eui-user-profile/user-profile-menu/user-profile-menu.component.mjs +3 -3
- package/esm2022/layout/eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.mjs +3 -3
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +14 -5
- package/esm2022/layout/eui-user-profile/user-profile.module.mjs +4 -4
- package/esm2022/layout/index.mjs +2 -1
- package/esm2022/pipes/eui-is-empty.pipe.mjs +7 -7
- package/esm2022/pipes/eui-truncate.pipe.mjs +7 -7
- package/esm2022/shared/base/base-states.directive.mjs +3 -3
- package/esm2022/shared/base/base.directive.mjs +3 -3
- package/esm2022/shared/base/mixins/index.mjs +1 -1
- package/esm2022/shared/eui-common-header/common-header.component.mjs +7 -7
- package/esm2022/shared/eui-expand-content/eui-expand-content.component.mjs +7 -7
- package/esm2022/shared/input.directive.mjs +4 -4
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-all/eui-all.module.d.ts +19 -20
- package/eui-all/eui-all.module.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts +12 -3
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts +1 -0
- package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts.map +1 -1
- package/eui-block-content/eui-block-content.component.d.ts.map +1 -1
- package/eui-button/eui-button.component.d.ts +1 -1
- package/eui-button/eui-button.component.d.ts.map +1 -1
- package/eui-buttons/eui-buttons.component.d.ts +2 -2
- package/eui-buttons/eui-buttons.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dashboard-button/eui-dashboard-button.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts +5 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
- package/eui-dimmer/dimmer.component.d.ts.map +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts.map +1 -1
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts +8 -5
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.module.d.ts +5 -6
- package/eui-file-upload/eui-file-upload.module.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
- package/eui-file-upload/utils/mime-types.d.ts.map +1 -1
- package/eui-growl/eui-growl.component.d.ts.map +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts.map +1 -1
- package/eui-input-number/eui-number-control.directive.d.ts.map +1 -1
- package/eui-input-radio/eui-input-radio.component.d.ts +2 -1
- package/eui-input-radio/eui-input-radio.component.d.ts.map +1 -1
- package/eui-input-text/eui-input-text.component.d.ts +1 -1
- package/eui-input-text/eui-input-text.component.d.ts.map +1 -1
- package/eui-label/eui-label.component.d.ts.map +1 -1
- package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.d.ts +15 -0
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.d.ts.map +1 -0
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.d.ts +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.d.ts.map +1 -1
- package/eui-overlay/eui-overlay.component.d.ts +4 -2
- package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
- package/eui-overlay/index.d.ts +1 -0
- package/eui-overlay/index.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts +3 -1
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-picker/eui-picker.component.d.ts.map +1 -1
- package/eui-picker/modal-picker/eui-modal-picker.component.d.ts.map +1 -1
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts +18 -0
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts.map +1 -0
- package/eui-popover/eui-popover.component.d.ts +7 -5
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.module.d.ts +8 -7
- package/eui-popover/eui-popover.module.d.ts.map +1 -1
- package/eui-popover/models/eui-popover-position.model.d.ts +8 -0
- package/eui-popover/models/eui-popover-position.model.d.ts.map +1 -0
- package/eui-select/eui-select-multiple.directive.d.ts +1 -1
- package/eui-select/eui-select-multiple.directive.d.ts.map +1 -1
- package/eui-select/eui-select-mutli-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts +1 -1
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-table/sortable-col/eui-table-sortable-col.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.component.d.ts +3 -3
- package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
- package/eui-timebar/eui-timebar-item.model.d.ts +2 -2
- package/eui-timebar/eui-timebar-item.model.d.ts.map +1 -1
- package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.module.d.ts +1 -1
- package/eui-timepicker/eui-timepicker.module.d.ts.map +1 -1
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts +1 -10
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts.map +1 -1
- package/eui-tree/eui-dropdown-tree.directive.d.ts.map +1 -1
- package/eui-tree/eui-tree-form-control.directive.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts +4 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +125 -95
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +8 -7
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-all.mjs +8 -9
- package/fesm2022/eui-components-eui-all.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +35 -18
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +7 -7
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +8 -8
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +7 -7
- package/fesm2022/eui-components-eui-button-group.mjs +7 -7
- package/fesm2022/eui-components-eui-button.mjs +9 -9
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-buttons.mjs +16 -16
- package/fesm2022/eui-components-eui-buttons.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +46 -46
- package/fesm2022/eui-components-eui-chip-list.mjs +15 -15
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +7 -7
- package/fesm2022/eui-components-eui-dashboard-button.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +8 -7
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +22 -9
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +24 -24
- package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +20 -20
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dimmer.mjs +7 -7
- package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
- package/fesm2022/eui-components-eui-disable-content.mjs +9 -9
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +11 -11
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +26 -24
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs +7 -7
- package/fesm2022/eui-components-eui-fieldset.mjs +13 -13
- package/fesm2022/eui-components-eui-file-upload.mjs +52 -153
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +10 -10
- package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +7 -7
- package/fesm2022/eui-components-eui-icon.mjs +13 -13
- package/fesm2022/eui-components-eui-input-checkbox.mjs +7 -7
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +8 -8
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +11 -11
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +12 -14
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +8 -8
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +7 -7
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +13 -13
- package/fesm2022/eui-components-eui-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +12 -12
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-message-box.mjs +15 -13
- package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +76 -25
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +55 -55
- package/fesm2022/eui-components-eui-paginator.mjs +14 -13
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-picker.mjs +15 -13
- package/fesm2022/eui-components-eui-picker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +104 -28
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +7 -7
- package/fesm2022/eui-components-eui-progress-circle.mjs +7 -7
- package/fesm2022/eui-components-eui-select.mjs +27 -21
- package/fesm2022/eui-components-eui-select.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +9 -7
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +7 -7
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +106 -59
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +22 -22
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +11 -11
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +10 -8
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +10 -10
- package/fesm2022/eui-components-eui-timepicker.mjs +13 -12
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +42 -24
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +25 -23
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +7 -7
- package/fesm2022/eui-components-externals-eui-editor.mjs +27 -27
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +7 -7
- package/fesm2022/eui-components-layout.mjs +553 -237
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-pipes.mjs +14 -14
- package/fesm2022/eui-components-shared-base.mjs +6 -6
- package/fesm2022/eui-components-shared-base.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +17 -17
- package/fesm2022/eui-components-shared.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/item/breadcrumb-item.component.d.ts +1 -1
- package/layout/eui-breadcrumb/item/breadcrumb-item.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-name/header-app-name.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-name-logo/header-app-name-logo.component.d.ts +2 -4
- package/layout/eui-header/header-app-name-logo/header-app-name-logo.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-subtitle/header-app-subtitle.component.d.ts.map +1 -1
- package/layout/eui-header/header-environment/header-environment.component.d.ts.map +1 -1
- package/layout/eui-header/header-logo/header-logo.component.d.ts.map +1 -1
- package/layout/eui-layout.module.d.ts +10 -9
- package/layout/eui-layout.module.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts +21 -0
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -0
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts +78 -0
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -0
- package/layout/eui-notifications-v2/eui-notifications.module.d.ts +16 -0
- package/layout/eui-notifications-v2/eui-notifications.module.d.ts.map +1 -0
- package/layout/eui-notifications-v2/index.d.ts +4 -0
- package/layout/eui-notifications-v2/index.d.ts.map +1 -0
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile.component.d.ts +5 -2
- package/layout/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/layout/index.d.ts +1 -0
- package/layout/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/shared/base/mixins/index.d.ts.map +1 -1
- package/shared/input.directive.d.ts.map +1 -1
- package/esm2022/eui-file-upload/uploaded-file/uploaded-file.component.mjs +0 -116
- package/eui-file-upload/uploaded-file/uploaded-file.component.d.ts +0 -51
- package/eui-file-upload/uploaded-file/uploaded-file.component.d.ts.map +0 -1
@@ -15,29 +15,72 @@ export class EuiTableComponent extends BaseDirective {
|
|
15
15
|
get hasLoading() {
|
16
16
|
return this.loading;
|
17
17
|
}
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
18
|
+
get loading() {
|
19
|
+
return this._loading;
|
20
|
+
}
|
21
|
+
set loading(value) {
|
22
|
+
this._loading = coerceBooleanProperty(value);
|
23
|
+
}
|
24
|
+
get asyncTable() {
|
25
|
+
return this._asyncTable;
|
26
|
+
}
|
27
|
+
set asyncTable(value) {
|
28
|
+
this._asyncTable = coerceBooleanProperty(value);
|
29
|
+
}
|
30
|
+
get paginable() {
|
31
|
+
return this._paginable;
|
32
|
+
}
|
33
|
+
set paginable(value) {
|
34
|
+
this._paginable = coerceBooleanProperty(value);
|
35
|
+
}
|
36
|
+
get euiTableResponsive() {
|
37
|
+
return this._euiTableResponsive;
|
38
|
+
}
|
39
|
+
set euiTableResponsive(value) {
|
40
|
+
this._euiTableResponsive = coerceBooleanProperty(value);
|
41
|
+
}
|
42
|
+
get euiTableFixedLayout() {
|
43
|
+
return this._euiTableFixedLayout;
|
44
|
+
}
|
45
|
+
set euiTableFixedLayout(value) {
|
46
|
+
this._euiTableFixedLayout = coerceBooleanProperty(value);
|
47
|
+
}
|
48
|
+
get euiTableDraggable() {
|
49
|
+
return this._euiTableDraggable;
|
50
|
+
}
|
51
|
+
set euiTableDraggable(value) {
|
52
|
+
this._euiTableDraggable = coerceBooleanProperty(value);
|
53
|
+
}
|
54
|
+
get euiTableCards() {
|
55
|
+
return this._euiTableCards;
|
56
|
+
}
|
57
|
+
set euiTableCards(value) {
|
58
|
+
this._euiTableCards = coerceBooleanProperty(value);
|
59
|
+
}
|
60
|
+
get euiTableBordered() {
|
61
|
+
return this._euiTableBordered;
|
62
|
+
}
|
63
|
+
set euiTableBordered(value) {
|
64
|
+
this._euiTableBordered = coerceBooleanProperty(value);
|
65
|
+
}
|
66
|
+
get euiTableCompact() {
|
67
|
+
return this._euiTableCompact;
|
68
|
+
}
|
69
|
+
set euiTableCompact(value) {
|
70
|
+
this._euiTableCompact = coerceBooleanProperty(value);
|
71
|
+
}
|
72
|
+
get hasStickyHeader() {
|
73
|
+
return this._hasStickyHeader;
|
74
|
+
}
|
75
|
+
set hasStickyHeader(value) {
|
76
|
+
this._hasStickyHeader = coerceBooleanProperty(value);
|
77
|
+
}
|
78
|
+
get hasStickyColumns() {
|
79
|
+
return this._hasStickyColumns;
|
80
|
+
}
|
81
|
+
set hasStickyColumns(value) {
|
82
|
+
this._hasStickyColumns = coerceBooleanProperty(value);
|
83
|
+
}
|
41
84
|
get cssClasses() {
|
42
85
|
return [
|
43
86
|
this.euiTableResponsive ? `eui-table--responsive` : ``,
|
@@ -82,7 +125,6 @@ export class EuiTableComponent extends BaseDirective {
|
|
82
125
|
this._euiTableCompact = false;
|
83
126
|
this._hasStickyHeader = false;
|
84
127
|
this._hasStickyColumns = false;
|
85
|
-
/* eslint-enable prettier/prettier */
|
86
128
|
this.rowsSrc = null;
|
87
129
|
this.destroy$ = new Subject();
|
88
130
|
this.tableFeaturesHandlerSubscription = new Subscription();
|
@@ -424,7 +466,12 @@ export class EuiTableComponent extends BaseDirective {
|
|
424
466
|
const props = [];
|
425
467
|
const paths = (pathObj = {}, head = '') => Object.entries(pathObj).reduce((product, [key, value]) => {
|
426
468
|
const fullPath = addDelimiter(head, key);
|
427
|
-
const match = (v) => v &&
|
469
|
+
const match = (v) => v &&
|
470
|
+
typeof v !== 'object' &&
|
471
|
+
v
|
472
|
+
?.toString()
|
473
|
+
.toLowerCase()
|
474
|
+
.indexOf(filter?.trim().toLowerCase()) !== -1;
|
428
475
|
if (key !== '0' && typeof value !== 'object') {
|
429
476
|
props.push({ key: addDelimiter(head, key), match: match(value), value });
|
430
477
|
}
|
@@ -441,10 +488,10 @@ export class EuiTableComponent extends BaseDirective {
|
|
441
488
|
getObjProp(obj, prop) {
|
442
489
|
return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;
|
443
490
|
}
|
444
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
445
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.3", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", propId: "propId", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange", multiSortChange: "multiSortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i + page * pageSize }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-5)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-10);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-table thead tr th .eui-resizable .eui-resizable-icon__container{transform:translateY(calc((var(--eui-base-spacing-l) + 2px) + 2px))}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{display:inherit;position:relative;vertical-align:middle;white-space:nowrap}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon-button{margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(2n){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(2n) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0;z-index:8}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-2xs);width:45%;overflow:hidden;text-overflow:ellipsis}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{padding-left:var(--eui-base-spacing-2xl)!important}.eui-table__filter-search-icon{left:var(--eui-base-spacing-xs);position:absolute;top:calc(var(--eui-base-spacing-xs) + 2px)}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
491
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableComponent, deps: [{ token: i1.EuiTableSortService }, { token: i0.ChangeDetectorRef }, { token: i2.EuiTableSelectableRowService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
492
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", propId: "propId", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange", multiSortChange: "multiSortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i + page * pageSize }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-5)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-10);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-table thead tr th .eui-resizable .eui-resizable-icon__container{transform:translateY(calc((var(--eui-base-spacing-l) + 2px) + 2px))}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{display:inherit;position:relative;vertical-align:middle;white-space:nowrap}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon-button{margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(2n){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(2n) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0;z-index:8}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-2xs);width:45%;overflow:hidden;text-overflow:ellipsis}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{padding-left:var(--eui-base-spacing-2xl)!important}.eui-table__filter-search-icon{left:var(--eui-base-spacing-xs);position:absolute;top:calc(var(--eui-base-spacing-xs) + 2px)}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
446
493
|
}
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
494
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableComponent, decorators: [{
|
448
495
|
type: Component,
|
449
496
|
args: [{ selector: 'eui-table, table[euiTable]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [EuiTableSortService, EuiTableSelectableRowService], template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i + page * pageSize }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-5)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-10);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-table thead tr th .eui-resizable .eui-resizable-icon__container{transform:translateY(calc((var(--eui-base-spacing-l) + 2px) + 2px))}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{display:inherit;position:relative;vertical-align:middle;white-space:nowrap}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon-button{margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);width:auto}.eui-table tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(2n){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(2n) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0;z-index:8}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-2xs);width:45%;overflow:hidden;text-overflow:ellipsis}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{padding-left:var(--eui-base-spacing-2xl)!important}.eui-table__filter-search-icon{left:var(--eui-base-spacing-xs);position:absolute;top:calc(var(--eui-base-spacing-xs) + 2px)}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards thead tr th.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr td.eui-table__cell-select .eui-table__cell-select-checkbox-container{display:flex}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(2n):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"] }]
|
450
497
|
}], ctorParameters: function () { return [{ type: i1.EuiTableSortService }, { type: i0.ChangeDetectorRef }, { type: i2.EuiTableSelectableRowService }, { type: i0.ElementRef }]; }, propDecorators: { rows: [{
|
@@ -506,4 +553,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
|
|
506
553
|
type: HostBinding,
|
507
554
|
args: ['class']
|
508
555
|
}] } });
|
509
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS9ldWktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUlOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUUzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBVTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBWWhELElBQTZDLFVBQVU7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFzQkQsc0NBQXNDO0lBQ3RDLElBQWEsT0FBTyxLQUFjLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekQsSUFBSSxPQUFPLENBQUMsS0FBbUIsSUFBSSxJQUFJLENBQUMs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LHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFZ0IsTUFBTTtzQkFBM0IsV0FBVzt1QkFBQyxPQUFPO2dCQUN5QixVQUFVO3NCQUF0RCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFJN0IsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBYWdDLFNBQVM7c0JBQS9DLGVBQWU7dUJBQUMsb0JBQW9CO2dCQUVkLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDRSxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBR1IsT0FBTztzQkFBbkIsS0FBSztnQkFJRixVQUFVO3NCQURiLEtBQUs7Z0JBS0YsU0FBUztzQkFEWixLQUFLO2dCQUtGLGtCQUFrQjtzQkFEckIsS0FBSztnQkFLRixtQkFBbUI7c0JBRHRCLEtBQUs7Z0JBS0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQUtGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBS0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQUtGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBS0YsZUFBZTtzQkFEbEIsS0FBSztnQkFLRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBYUYsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgRXVpVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLXBhZ2luYXRvcic7XG5cbmltcG9ydCB7IEV1aVRhYmxlU29ydFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V1aS10YWJsZS1zb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkV2ZW50IH0gZnJvbSAnLi9tb2RlbHMvcGFnaW5hdGlvbi1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBFdWlUYWJsZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V1aS10YWJsZS1zZWxlY3RhYmxlLXJvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnRFdmVudCB9IGZyb20gJy4vbW9kZWxzL3NvcnQtZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgTXVsdGlzb3J0UGFyYW0gfSBmcm9tICcuL21vZGVscy9tdWx0aS1zb3J0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdGFibGUsIHRhYmxlW2V1aVRhYmxlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtFdWlUYWJsZVNvcnRTZXJ2aWNlLCBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcm93czogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBwcm9wSWQgPSAnaWQnO1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvcjogRXVpUGFnaW5hdG9yQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIGZpbHRlcjogRXVpVGFibGVGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBTaW5jZSBldWktdGFibGUgdXNlcyBuYXRpdmUgQ1NTIHBvc2l0aW9uIHN0aWNreSwgcGFzc2luZyB0aGUgcmVmZXJlbmNlIG9mIGNvbnRhaW5lciBpcyBubyBsb25nZXIgbmVlZGVkLlxuICAgICAqIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlIHZlcnNpb24gb2YgZVVJXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBzY3JvbGxhYmxlQ29udGFpbmVyUmVmOiBFbGVtZW50O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHN0cmluZyA9ICdldWktdGFibGUnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZXVpLXRhYmxlX19sb2FkaW5nJykgZ2V0IGhhc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmc7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbXVsdGlTb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aXNvcnRQYXJhbVtdPigpO1xuXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBlbXB0eU1lc3NhZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgcm93c1JlbmRlcmVkOiBhbnlbXSA9IFtdO1xuXG4gICAgcHVibGljIHBhZ2UgPSAwO1xuICAgIHB1YmxpYyBwYWdlU2l6ZSA9IDA7XG4gICAgcHVibGljIHNob3dTdGlja3lIZWFkZXIgPSBmYWxzZTtcbiAgICBwdWJsaWMgZmlsdGVyZWRSb3dzID0gW107XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEV1aVRlbXBsYXRlRGlyZWN0aXZlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxFdWlUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICBAVmlld0NoaWxkKCd0aGVhZFJlZicpIHRoZWFkUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCd0Ym9keVJlZicpIHRib2R5UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyICovXG4gICAgQElucHV0KCkgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9sb2FkaW5nOyB9XG4gICAgc2V0IGxvYWRpbmcodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9sb2FkaW5nID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBhc3luY1RhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fYXN5bmNUYWJsZTsgfVxuICAgIHNldCBhc3luY1RhYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fYXN5bmNUYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9hc3luY1RhYmxlID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgcGFnaW5hYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcGFnaW5hYmxlOyB9XG4gICAgc2V0IHBhZ2luYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX3BhZ2luYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9wYWdpbmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZVJlc3BvbnNpdmUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZVJlc3BvbnNpdmU7IH1cbiAgICBzZXQgZXVpVGFibGVSZXNwb25zaXZlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVSZXNwb25zaXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlUmVzcG9uc2l2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlRml4ZWRMYXlvdXQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9ldWlUYWJsZUZpeGVkTGF5b3V0OyB9XG4gICAgc2V0IGV1aVRhYmxlRml4ZWRMYXlvdXQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9ldWlUYWJsZUZpeGVkTGF5b3V0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlRml4ZWRMYXlvdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZURyYWdnYWJsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlRHJhZ2dhYmxlOyB9XG4gICAgc2V0IGV1aVRhYmxlRHJhZ2dhYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVEcmFnZ2FibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVEcmFnZ2FibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZUNhcmRzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZXVpVGFibGVDYXJkczsgfVxuICAgIHNldCBldWlUYWJsZUNhcmRzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZXVpVGFibGVDYXJkcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUNhcmRzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVCb3JkZXJlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlQm9yZGVyZWQ7IH1cbiAgICBzZXQgZXVpVGFibGVCb3JkZXJlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2V1aVRhYmxlQm9yZGVyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVCb3JkZXJlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlQ29tcGFjdCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2V1aVRhYmxlQ29tcGFjdDsgfVxuICAgIHNldCBldWlUYWJsZUNvbXBhY3QodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9ldWlUYWJsZUNvbXBhY3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfZXVpVGFibGVDb21wYWN0ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzU3RpY2t5SGVhZGVyKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU3RpY2t5SGVhZGVyOyB9XG4gICAgc2V0IGhhc1N0aWNreUhlYWRlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7IHRoaXMuX2hhc1N0aWNreUhlYWRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTdGlja3lIZWFkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTdGlja3lDb2x1bW5zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU3RpY2t5Q29sdW1uczsgfVxuICAgIHNldCBoYXNTdGlja3lDb2x1bW5zKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzU3RpY2t5Q29sdW1ucyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTdGlja3lDb2x1bW5zID0gZmFsc2U7XG4gICAgLyogZXNsaW50LWVuYWJsZSBwcmV0dGllci9wcmV0dGllciAqL1xuXG4gICAgcHJpdmF0ZSByb3dzU3JjOiBhbnkgPSBudWxsO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgdGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBzZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBzdGlja3lGZWF0dXJlSGFuZGxlckluZGV4ID0gMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlUmVzcG9uc2l2ZSA/IGBldWktdGFibGUtLXJlc3BvbnNpdmVgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlRml4ZWRMYXlvdXQgPyBgZXVpLXRhYmxlLS1maXhlZC1sYXlvdXRgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlQm9yZGVyZWQgPyBgZXVpLXRhYmxlLS1ib3JkZXJlZGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVDb21wYWN0ID8gYGV1aS10YWJsZS0tY29tcGFjdGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVEcmFnZ2FibGUgPyBgZXVpLXRhYmxlLS1kcmFnZ2FibGVgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlQ2FyZHMgPyBgZXVpLXRhYmxlLWNhcmRzYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5oYXNTdGlja3lIZWFkZXIgPyBgZXVpLXRhYmxlLS1zdGlja3ktaGVhZGVyYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5oYXNTdGlja3lDb2x1bW5zID8gYGV1aS10YWJsZS0tc3RpY2t5LWNvbHVtbnNgIDogYGAsXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUnKSxcbiAgICAgICAgXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVNvcnRTZXJ2aWNlOiBFdWlUYWJsZVNvcnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnJvd3MgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZXRQcm9wSWQodGhpcy5wcm9wSWQpO1xuICAgICAgICBpZiAoYyAmJiBjLnJvd3MgJiYgYy5yb3dzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAvLyBHbyB0byBmaXJzdCBwYWdlIG9ubHkgaWYgbGVuZ3RoIG9mIGRhdGEgaGFzIGNoYW5nZWQuIFRvIGF2b2lkIHVzZXIgdG8gYmUgb24gYSBwYWdlIHRoYXQgbm8gbG9uZ2VyIGV4aXN0IGluIGNhc2Ugb2YgZmlsdGVyaW5nLlxuICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMucm93c1NyYy5sZW5ndGggIT09IGMucm93cy5jdXJyZW50VmFsdWUubGVuZ3RoO1xuXG4gICAgICAgICAgICB0aGlzLnJvd3NTcmMgPSBbLi4uYy5yb3dzLmN1cnJlbnRWYWx1ZV07XG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IgJiYgbGVuZ3RoQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXN5bmNUYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhjLnJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhjLnJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucHJlc2VsZWN0ZWRSb3dzICYmIGMucHJlc2VsZWN0ZWRSb3dzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3ModGhpcy5wcmVzZWxlY3RlZFJvd3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGMgJiYgYy5wYWdpbmF0b3I/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHRoaXMucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgaWYgKCFjLnBhZ2luYXRvcj8uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IuZ29GaXJzdFBhZ2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRoaXMucm93cyBjYW4gYmUgY2hhbmdlZCBhbnl0aW1lLCB0aGVuIHRoaXMgZWxzZSBjYW4gYmUgZXhlY3V0ZWQgYXQgdGhhdCB0aW1lLCB0ZXN0aW5nIHRoaXMucGFnaW5hdG9yIGFsbG93cyB0byBtYWtlIHN1cmVcbiAgICAgICAgICAgIC8vIHRoZSB1c2VyIHdoYW50cyB0byBkaXNhYmxlIHBhZ2luYXRpb24gb3IgY2hhbmdlIHRoZSBkYXRhc291cmNlXG4gICAgICAgICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3dzUmVuZGVyZWQgPSB0aGlzLnJvd3NTcmMgPyB0aGlzLnJvd3NTcmMgOiBbLi4udGhpcy5yb3dzXTtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm93c1NyYyA9IFsuLi50aGlzLnJvd3NdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmUyZUF0dHIpIHtcbiAgICAgICAgICAgIHRoaXMuZTJlQXR0ciA9ICdldWktdGFibGUnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZm9vdGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZW1wdHlNZXNzYWdlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1wdHlNZXNzYWdlVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hc3luY1RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV1aVRhYmxlU29ydFNlcnZpY2Uuc29ydGluZ1BhcmFtcyRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNvcnRpbmdQYXJhbXM6IHsgc29ydDogc3RyaW5nIHwgbnVsbDsgb3JkZXI6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgc29ydDogc29ydGluZ1BhcmFtcy5zb3J0LCBvcmRlcjogc29ydGluZ1BhcmFtcy5vcmRlciB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTb3J0U2VydmljZS5tdWx0aXNvcnRQYXJhbXNTb3J0JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtdWx0aVNvcnRQYXJhbXM6IE11bHRpc29ydFBhcmFtW10pID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTb3J0Q2hhbmdlLmVtaXQobXVsdGlTb3J0UGFyYW1zLmZpbHRlcigoZWwpID0+IGVsLnBvc2l0aW9uID4gMCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0Um93cyh0aGlzLnByZXNlbGVjdGVkUm93cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnVuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RSb3dzKHJvd3M6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKHJvd3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJSb3dzKGZpbHRlcjogc3RyaW5nLCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IGZpbHRlclxuICAgICAgICAgICAgPyByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcigocCkgPT4gcC5tYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmc/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlc2V0Um93cygpO1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhyb3dzKTtcblxuICAgICAgICB0aGlzLmZpbHRlcmVkUm93cyA9IHJvd3M7XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNvcnQoc29ydDogc3RyaW5nIHwgbnVsbCwgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlU29ydFNlcnZpY2Uuc2V0U29ydChzb3J0LCBvcmRlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGlja3lGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZW91dCA9IHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXJJbmRleCA9PT0gMCA/IDI1MCA6IDA7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ckl0ZW1zID0gQXJyYXkuZnJvbSh0aGlzLnRib2R5UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKSk7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aGVhZFJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcblxuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGxlZnQgJiByaWdodCBwb3NpdGlvblxuICAgICAgICAgICAgICAgIHRoSXRlbXMuZm9yRWFjaCgodGg6IEhUTUxUYWJsZUNlbGxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyBTdGlja3kgRmlyc3QgQ29scyAmIExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lGaXJzdENvbCA9IHRoSXRlbXMuZmlsdGVyKCh0aCkgPT4gdGgub2Zmc2V0TGVmdCArIHRoLmNsaWVudFdpZHRoIDwgY29udGFpbmVyV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lMYXN0Q29sID0gdGhJdGVtcy5maWx0ZXIoKHRoKSA9PiB0aC5vZmZzZXRMZWZ0ICsgdGguY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG5cbiAgICAgICAgICAgICAgICB0aEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGgsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IHRoSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsID0gcGFyc2VJbnQodGhJdGVtc1N0aWNreUZpcnN0Q29sW2kgLSAxXT8uc3R5bGUubGVmdCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5sZWZ0ID0gKGkgPT09IDAgPyAwIDogdyArIGwpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRoSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRoLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB0aEl0ZW1zU3RpY2t5TGFzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQodGhJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5yaWdodCA9IChpID09PSAwID8gMCA6IHcgKyByKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0aEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRkLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdHJJdGVtcy5mb3JFYWNoKCh0cikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdGFibGVfX2NvbC0tc3RpY2t5JykpO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IEZpcnN0IENvbHNcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wgPSB0ZEl0ZW1zLmZpbHRlcigodGQpID0+IHRkLm9mZnNldExlZnQgKyB0ZC5jbGllbnRXaWR0aCA8IGNvbnRhaW5lcldpZHRoKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGQsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IHRkSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsID0gcGFyc2VJbnQodGRJdGVtc1N0aWNreUZpcnN0Q29sW2kgLSAxXT8uc3R5bGUubGVmdCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5sZWZ0ID0gKGkgPT09IDAgPyAwIDogdyArIGwpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRkSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXNTdGlja3lMYXN0Q29sID0gdGRJdGVtcy5maWx0ZXIoKHRkKSA9PiB0ZC5vZmZzZXRMZWZ0ICsgdGQuY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG4gICAgICAgICAgICAgICAgdGRJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB0ZEl0ZW1zU3RpY2t5TGFzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQodGRJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5yaWdodCA9IChpID09PSAwID8gMCA6IHcgKyByKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0ZEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dCk7XG5cbiAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlckluZGV4Kys7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZUZlYXR1cmVzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLnNvcnRpbmdQYXJhbXMkLFxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IgPyB0aGlzLnBhZ2luYXRvci5wYWdlJCA6IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCksXG4gICAgICAgICAgICB0aGlzLmZpbHRlciA/IHRoaXMuZmlsdGVyLmZpbHRlciQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLm11bHRpc29ydFBhcmFtc1NvcnQkLFxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3NvcnRpbmdQYXJhbXMsIHBhZ2luYXRpb24sIGZpbHRlciwgbXVsdGlzb3J0UGFyYW1zXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByID0gWy4uLnRoaXMucm93c1NyY107XG4gICAgICAgICAgICAgICAgaWYgKHNvcnRpbmdQYXJhbXMub3JkZXIgIT09IG51bGwgJiYgc29ydGluZ1BhcmFtcy5zb3J0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG11bHRpc29ydCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtdWx0aXNvcnQucHVzaChuZXcgTXVsdGlzb3J0UGFyYW0oc29ydGluZ1BhcmFtcy5zb3J0LCBzb3J0aW5nUGFyYW1zLm9yZGVyLCAxKSk7XG4gICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLmRvTXVsdGlTb3J0KG11bHRpc29ydCwgcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG11bHRpc29ydFBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvcnRhYmxlQ29sdW1ucyA9IG11bHRpc29ydFBhcmFtcy5maWx0ZXIoKGNvbCkgPT4gY29sLm9yZGVyICE9PSBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvcnRhYmxlQ29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByID0gdGhpcy5kb011bHRpU29ydChzb3J0YWJsZUNvbHVtbnMsIHIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHIgPSB0aGlzLmZpbHRlclJvd3MoZmlsdGVyLCByKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgciA9IHRoaXMucGFnaW5hdGVSb3dzKHBhZ2luYXRpb24sIHIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucm93c1JlbmRlcmVkID0gcjtcbiAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZG9NdWx0aVNvcnQobXVsdGlzb3J0UGFyYW1zOiBNdWx0aXNvcnRQYXJhbVtdLCByOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIHIgPSB0aGlzLm11bHRpU29ydFJvd3MobXVsdGlzb3J0UGFyYW1zLCAxLCByKTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtdWx0aVNvcnRSb3dzKG11bHRpc29ydFBhcmFtczogTXVsdGlzb3J0UGFyYW1bXSwgY3VycmVudFBvc2l0aW9uOiBudW1iZXIsIHI6IGFueSk6IGFueVtdIHtcbiAgICAgICAgbGV0IHJvd3M6IGFueVtdID0gbnVsbDtcbiAgICAgICAgY29uc3QgY29sUGFyYW1zID0gbXVsdGlzb3J0UGFyYW1zLmZpbmQoKGNvbCkgPT4gY29sLnBvc2l0aW9uID09PSBjdXJyZW50UG9zaXRpb24pO1xuICAgICAgICBpZiAoY29sUGFyYW1zLm9yZGVyID09PSAnZGVzYycpIHtcbiAgICAgICAgICAgIHJvd3MgPSByLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2x1bW5Tb3J0YWJsZShhLCBiLCBtdWx0aXNvcnRQYXJhbXMsIGN1cnJlbnRQb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFR3b1Jvd3NEZXNjKGEsIGIsIGNvbFBhcmFtcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvd3MgPSByLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2x1bW5Tb3J0YWJsZShhLCBiLCBtdWx0aXNvcnRQYXJhbXMsIGN1cnJlbnRQb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFR3b1Jvd3NBc2MoYSwgYiwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXNvcnRQYXJhbXMubGVuZ3RoID09PSBjdXJyZW50UG9zaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlTb3J0Um93cyhtdWx0aXNvcnRQYXJhbXMsICsrY3VycmVudFBvc2l0aW9uLCByb3dzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNDb2x1bW5Tb3J0YWJsZShhOiBhbnksIGI6IGFueSwgbXVsdGlzb3J0UGFyYW1zOiBNdWx0aXNvcnRQYXJhbVtdLCBjdXJyZW50UG9zaXRpb246IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoY3VycmVudFBvc2l0aW9uID09PSAxKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgY29sUGFyYW1zID0gbXVsdGlzb3J0UGFyYW1zLmZpbmQoKGNvbCkgPT4gY29sLnBvc2l0aW9uID09PSBjdXJyZW50UG9zaXRpb24gLSAxKTtcbiAgICAgICAgY29uc3QgYUNvbCA9IHRoaXMuZ2V0T2JqUHJvcFZhbHVlKGEsIGNvbFBhcmFtcy5uYW1lKTtcbiAgICAgICAgLy8gdHlwZW9mIHRoaXMuZ2V0T2JqUHJvcChhLCBjb2xQYXJhbXMubmFtZSkgPT09ICdzdHJpbmcnXG4gICAgICAgIC8vICAgICA/IHRoaXMuZ2V0T2JqUHJvcChhLCBjb2xQYXJhbXMubmFtZSkudG9Mb3dlckNhc2UoKVxuICAgICAgICAvLyAgICAgOiB0aGlzLmdldE9ialByb3AoYSwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICBjb25zdCBiQ29sID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYiwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICAvLyB0eXBlb2YgdGhpcy5nZXRPYmpQcm9wKGIsIGNvbFBhcmFtcy5uYW1lKSA9PT0gJ3N0cmluZydcbiAgICAgICAgLy8gICAgID8gdGhpcy5nZXRPYmpQcm9wKGIsIGNvbFBhcmFtcy5uYW1lKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC8vICAgICA6IHRoaXMuZ2V0T2JqUHJvcChiLCBjb2xQYXJhbXMubmFtZSk7XG4gICAgICAgIGlmIChhQ29sICE9PSBiQ29sKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFBvc2l0aW9uIC0gMSA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0NvbHVtblNvcnRhYmxlKGEsIGIsIG11bHRpc29ydFBhcmFtcywgLS1jdXJyZW50UG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9UaGlzIGZ1bmN0aW9uIGlzIHRvIGRvIHRoZSBzb3J0aW5nIHRoZSB0YWJsZSB3aXRoIHRoZSBjb21iaW5hdGlvbiBvZiAwLG51bGwgYW5kIHRleHQgaW4gZGVzY2VuZGluZyBvcmRlci5cbiAgICAvL2dldE9ialByb3BWYWx1ZSBpcyB0byBnZXQgdGhlIG9iamVjdCBwcm9wZXJ0eSB2YWx1ZVxuICAgIHByaXZhdGUgc29ydFR3b1Jvd3NEZXNjKGE6IGFueSwgYjogYW55LCBjb2xOYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBhU29ydE9uID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYSwgY29sTmFtZSk7XG4gICAgICAgIGNvbnN0IGJTb3J0T24gPSB0aGlzLmdldE9ialByb3BWYWx1ZShiLCBjb2xOYW1lKTtcbiAgICAgICAgaWYgKGFTb3J0T24gPT09IG51bGwgJiYgYlNvcnRPbikge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gbnVsbCAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIGlmIChhU29ydE9uID09PSBudWxsICYmIGJTb3J0T24gPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9IGVsc2UgaWYgKGFTb3J0T24gPT09IDAgJiYgYlNvcnRPbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFTb3J0T24gPCBiU29ydE9uID8gMSA6IGFTb3J0T24gPiBiU29ydE9uID8gLTEgOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9UaGlzIGZ1bmN0aW9uIGlzIHRvIGRvIHRoZSBzb3J0aW5nIHRoZSB0YWJsZSB3aXRoIHRoZSBjb21iaW5hdGlvbiBvZiAwLG51bGwgYW5kIHRleHQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgIC8vZ2V0T2JqUHJvcFZhbHVlIGlzIHRvIGdldCB0aGUgb2JqZWN0IHByb3BlcnR5IHZhbHVlXG4gICAgcHJpdmF0ZSBzb3J0VHdvUm93c0FzYyhhOiBhbnksIGI6IGFueSwgY29sTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYVNvcnRPbiA9IHRoaXMuZ2V0T2JqUHJvcFZhbHVlKGEsIGNvbE5hbWUpO1xuICAgICAgICBjb25zdCBiU29ydE9uID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYiwgY29sTmFtZSk7XG4gICAgICAgIGlmIChhU29ydE9uID09PSBudWxsICYmIGJTb3J0T24pIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfSBlbHNlIGlmIChhU29ydE9uICYmIGJTb3J0T24gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9IGVsc2UgaWYgKGFTb3J0T24gPT09IG51bGwgJiYgYlNvcnRPbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gbnVsbCAmJiBiU29ydE9uID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gMCAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhU29ydE9uIDwgYlNvcnRPbiA/IC0xIDogYVNvcnRPbiA+IGJTb3J0T24gPyAxIDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqUHJvcFZhbHVlKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0T2JqUHJvcChvYmosIHByb3ApO1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXJTdWJzY3JpcHRpb24gPSB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0ZWRSb3dzJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQ6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BzKG9iajogYW55W10sIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgbWF0Y2g6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBhbnkpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IChhICYmIGEgIT09ICcwJyA/IGAke2F9LiR7Yn1gIDogYik7XG4gICAgICAgIGNvbnN0IHByb3BzID0gW107XG4gICAgICAgIGNvbnN0IHBhdGhzID0gKHBhdGhPYmogPSB7fSwgaGVhZCA9ICcnKTogYW55W10gPT5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBhbnkpOiBib29sZWFuID0+XG4gICAgICAgICAgICAgICAgICAgIHYgJiYgdHlwZW9mIHYgIT09ICdvYmplY3QnICYmIHY/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgcGF0aHMob2JqKTtcblxuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogUGFnaW5hdGlvbkV2ZW50LCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnaW5hdGlvbi5wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnaW5hdGlvbi5wYWdlU2l6ZTtcblxuICAgICAgICByZXR1cm4gci5zbGljZSh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplLCB0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplICsgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPYmpQcm9wKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvcCA/IHByb3Auc3BsaXQoJy4nKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IChwcmV2ID8gcHJldltjdXJyXSA6IG51bGwpLCBvYmogfHwgc2VsZikgOiBudWxsO1xuICAgIH1cbn1cbiIsIjx0aGVhZCAjdGhlYWRSZWYgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3RoZWFkPlxuPHRib2R5ICN0Ym9keVJlZiAqbmdJZj1cImJvZHlUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzUmVuZGVyZWQ7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGkgKyBwYWdlICogcGFnZVNpemUgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtcHR5TWVzc2FnZVRlbXBsYXRlICYmIHJvd3NSZW5kZXJlZC5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5TWVzc2FnZVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGJvZHk+XG48dGZvb3QgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3Rmb290PlxuIl19
|
556
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS9ldWktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlL2V1aS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUlOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUUzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBVTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBWWhELElBQTZDLFVBQVU7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFzQkQsSUFBYSxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxx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QUlHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFZ0IsTUFBTTtzQkFBM0IsV0FBVzt1QkFBQyxPQUFPO2dCQUN5QixVQUFVO3NCQUF0RCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFJN0IsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBYWdDLFNBQVM7c0JBQS9DLGVBQWU7dUJBQUMsb0JBQW9CO2dCQUVkLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDRSxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVIsT0FBTztzQkFBbkIsS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixLQUFLO2dCQVNGLGtCQUFrQjtzQkFEckIsS0FBSztnQkFTRixtQkFBbUI7c0JBRHRCLEtBQUs7Z0JBU0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBU0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVNGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBU0YsZUFBZTtzQkFEbEIsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBZ0JGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IEV1aVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9zaGFyZWQnO1xuaW1wb3J0IHsgRXVpUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1wYWdpbmF0b3InO1xuXG5pbXBvcnQgeyBFdWlUYWJsZVNvcnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktdGFibGUtc29ydC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2luYXRpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3BhZ2luYXRpb24tZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgRXVpVGFibGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci9ldWktdGFibGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldWktdGFibGUtc2VsZWN0YWJsZS1yb3cuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0RXZlbnQgfSBmcm9tICcuL21vZGVscy9zb3J0LWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IE11bHRpc29ydFBhcmFtIH0gZnJvbSAnLi9tb2RlbHMvbXVsdGktc29ydC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXRhYmxlLCB0YWJsZVtldWlUYWJsZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRXVpVGFibGVTb3J0U2VydmljZSwgRXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHJvd3M6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgcHJvcElkID0gJ2lkJztcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVBhZ2luYXRvckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBmaWx0ZXI6IEV1aVRhYmxlRmlsdGVyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIHByZXNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgU2luY2UgZXVpLXRhYmxlIHVzZXMgbmF0aXZlIENTUyBwb3NpdGlvbiBzdGlja3ksIHBhc3NpbmcgdGhlIHJlZmVyZW5jZSBvZiBjb250YWluZXIgaXMgbm8gbG9uZ2VyIG5lZWRlZC5cbiAgICAgKiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZSB2ZXJzaW9uIG9mIGVVSVxuICAgICAqICovXG4gICAgQElucHV0KCkgc2Nyb2xsYWJsZUNvbnRhaW5lclJlZjogRWxlbWVudDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLXRhYmxlJztcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV1aS10YWJsZV9fbG9hZGluZycpIGdldCBoYXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG11bHRpU29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlzb3J0UGFyYW1bXT4oKTtcblxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgZW1wdHlNZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHVibGljIHJvd3NSZW5kZXJlZDogYW55W10gPSBbXTtcblxuICAgIHB1YmxpYyBwYWdlID0gMDtcbiAgICBwdWJsaWMgcGFnZVNpemUgPSAwO1xuICAgIHB1YmxpYyBzaG93U3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgcHVibGljIGZpbHRlcmVkUm93cyA9IFtdO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgndGhlYWRSZWYnKSB0aGVhZFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgndGJvZHlSZWYnKSB0Ym9keVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKSBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XG4gICAgfVxuICAgIHNldCBsb2FkaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fbG9hZGluZyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBhc3luY1RhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXN5bmNUYWJsZTtcbiAgICB9XG4gICAgc2V0IGFzeW5jVGFibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9hc3luY1RhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYXN5bmNUYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHBhZ2luYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZ2luYWJsZTtcbiAgICB9XG4gICAgc2V0IHBhZ2luYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3BhZ2luYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3BhZ2luYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlUmVzcG9uc2l2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRhYmxlUmVzcG9uc2l2ZTtcbiAgICB9XG4gICAgc2V0IGV1aVRhYmxlUmVzcG9uc2l2ZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRhYmxlUmVzcG9uc2l2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlUmVzcG9uc2l2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlRml4ZWRMYXlvdXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUYWJsZUZpeGVkTGF5b3V0O1xuICAgIH1cbiAgICBzZXQgZXVpVGFibGVGaXhlZExheW91dCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRhYmxlRml4ZWRMYXlvdXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUZpeGVkTGF5b3V0ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVEcmFnZ2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUYWJsZURyYWdnYWJsZTtcbiAgICB9XG4gICAgc2V0IGV1aVRhYmxlRHJhZ2dhYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVGFibGVEcmFnZ2FibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZURyYWdnYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRhYmxlQ2FyZHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUYWJsZUNhcmRzO1xuICAgIH1cbiAgICBzZXQgZXVpVGFibGVDYXJkcyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRhYmxlQ2FyZHMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUNhcmRzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVGFibGVCb3JkZXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRhYmxlQm9yZGVyZWQ7XG4gICAgfVxuICAgIHNldCBldWlUYWJsZUJvcmRlcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVGFibGVCb3JkZXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRhYmxlQm9yZGVyZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUYWJsZUNvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUYWJsZUNvbXBhY3Q7XG4gICAgfVxuICAgIHNldCBldWlUYWJsZUNvbXBhY3QodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUYWJsZUNvbXBhY3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUYWJsZUNvbXBhY3QgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTdGlja3lIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNTdGlja3lIZWFkZXI7XG4gICAgfVxuICAgIHNldCBoYXNTdGlja3lIZWFkZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNTdGlja3lIZWFkZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9oYXNTdGlja3lIZWFkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTdGlja3lDb2x1bW5zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzU3RpY2t5Q29sdW1ucztcbiAgICB9XG4gICAgc2V0IGhhc1N0aWNreUNvbHVtbnModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNTdGlja3lDb2x1bW5zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzU3RpY2t5Q29sdW1ucyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByb3dzU3JjOiBhbnkgPSBudWxsO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgdGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBzZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBzdGlja3lGZWF0dXJlSGFuZGxlckluZGV4ID0gMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlUmVzcG9uc2l2ZSA/IGBldWktdGFibGUtLXJlc3BvbnNpdmVgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlRml4ZWRMYXlvdXQgPyBgZXVpLXRhYmxlLS1maXhlZC1sYXlvdXRgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlQm9yZGVyZWQgPyBgZXVpLXRhYmxlLS1ib3JkZXJlZGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVDb21wYWN0ID8gYGV1aS10YWJsZS0tY29tcGFjdGAgOiBgYCxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVEcmFnZ2FibGUgPyBgZXVpLXRhYmxlLS1kcmFnZ2FibGVgIDogYGAsXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlQ2FyZHMgPyBgZXVpLXRhYmxlLWNhcmRzYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5oYXNTdGlja3lIZWFkZXIgPyBgZXVpLXRhYmxlLS1zdGlja3ktaGVhZGVyYCA6IGBgLFxuICAgICAgICAgICAgdGhpcy5oYXNTdGlja3lDb2x1bW5zID8gYGV1aS10YWJsZS0tc3RpY2t5LWNvbHVtbnNgIDogYGAsXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUnKSxcbiAgICAgICAgXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVNvcnRTZXJ2aWNlOiBFdWlUYWJsZVNvcnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnJvd3MgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZXRQcm9wSWQodGhpcy5wcm9wSWQpO1xuICAgICAgICBpZiAoYyAmJiBjLnJvd3MgJiYgYy5yb3dzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAvLyBHbyB0byBmaXJzdCBwYWdlIG9ubHkgaWYgbGVuZ3RoIG9mIGRhdGEgaGFzIGNoYW5nZWQuIFRvIGF2b2lkIHVzZXIgdG8gYmUgb24gYSBwYWdlIHRoYXQgbm8gbG9uZ2VyIGV4aXN0IGluIGNhc2Ugb2YgZmlsdGVyaW5nLlxuICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMucm93c1NyYy5sZW5ndGggIT09IGMucm93cy5jdXJyZW50VmFsdWUubGVuZ3RoO1xuXG4gICAgICAgICAgICB0aGlzLnJvd3NTcmMgPSBbLi4uYy5yb3dzLmN1cnJlbnRWYWx1ZV07XG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IgJiYgbGVuZ3RoQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXN5bmNUYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhjLnJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5yZXNldFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhjLnJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucHJlc2VsZWN0ZWRSb3dzICYmIGMucHJlc2VsZWN0ZWRSb3dzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3ModGhpcy5wcmVzZWxlY3RlZFJvd3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGMgJiYgYy5wYWdpbmF0b3I/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHRoaXMucm93cy5sZW5ndGgpO1xuICAgICAgICAgICAgaWYgKCFjLnBhZ2luYXRvcj8uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IuZ29GaXJzdFBhZ2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRoaXMucm93cyBjYW4gYmUgY2hhbmdlZCBhbnl0aW1lLCB0aGVuIHRoaXMgZWxzZSBjYW4gYmUgZXhlY3V0ZWQgYXQgdGhhdCB0aW1lLCB0ZXN0aW5nIHRoaXMucGFnaW5hdG9yIGFsbG93cyB0byBtYWtlIHN1cmVcbiAgICAgICAgICAgIC8vIHRoZSB1c2VyIHdoYW50cyB0byBkaXNhYmxlIHBhZ2luYXRpb24gb3IgY2hhbmdlIHRoZSBkYXRhc291cmNlXG4gICAgICAgICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3dzUmVuZGVyZWQgPSB0aGlzLnJvd3NTcmMgPyB0aGlzLnJvd3NTcmMgOiBbLi4udGhpcy5yb3dzXTtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm93c1NyYyA9IFsuLi50aGlzLnJvd3NdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmUyZUF0dHIpIHtcbiAgICAgICAgICAgIHRoaXMuZTJlQXR0ciA9ICdldWktdGFibGUnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZm9vdGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZW1wdHlNZXNzYWdlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1wdHlNZXNzYWdlVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hc3luY1RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV1aVRhYmxlU29ydFNlcnZpY2Uuc29ydGluZ1BhcmFtcyRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNvcnRpbmdQYXJhbXM6IHsgc29ydDogc3RyaW5nIHwgbnVsbDsgb3JkZXI6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgc29ydDogc29ydGluZ1BhcmFtcy5zb3J0LCBvcmRlcjogc29ydGluZ1BhcmFtcy5vcmRlciB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpVGFibGVTb3J0U2VydmljZS5tdWx0aXNvcnRQYXJhbXNTb3J0JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtdWx0aVNvcnRQYXJhbXM6IE11bHRpc29ydFBhcmFtW10pID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTb3J0Q2hhbmdlLmVtaXQobXVsdGlTb3J0UGFyYW1zLmZpbHRlcigoZWwpID0+IGVsLnBvc2l0aW9uID4gMCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0Um93cyh0aGlzLnByZXNlbGVjdGVkUm93cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnVuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RSb3dzKHJvd3M6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKHJvd3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJSb3dzKGZpbHRlcjogc3RyaW5nLCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IGZpbHRlclxuICAgICAgICAgICAgPyByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcigocCkgPT4gcC5tYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmc/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlc2V0Um93cygpO1xuICAgICAgICB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2UuYWRkUm93cyhyb3dzKTtcblxuICAgICAgICB0aGlzLmZpbHRlcmVkUm93cyA9IHJvd3M7XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNvcnQoc29ydDogc3RyaW5nIHwgbnVsbCwgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlU29ydFNlcnZpY2Uuc2V0U29ydChzb3J0LCBvcmRlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGlja3lGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZW91dCA9IHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXJJbmRleCA9PT0gMCA/IDI1MCA6IDA7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ckl0ZW1zID0gQXJyYXkuZnJvbSh0aGlzLnRib2R5UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKSk7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aGVhZFJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcblxuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGxlZnQgJiByaWdodCBwb3NpdGlvblxuICAgICAgICAgICAgICAgIHRoSXRlbXMuZm9yRWFjaCgodGg6IEhUTUxUYWJsZUNlbGxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyBTdGlja3kgRmlyc3QgQ29scyAmIExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lGaXJzdENvbCA9IHRoSXRlbXMuZmlsdGVyKCh0aCkgPT4gdGgub2Zmc2V0TGVmdCArIHRoLmNsaWVudFdpZHRoIDwgY29udGFpbmVyV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoSXRlbXNTdGlja3lMYXN0Q29sID0gdGhJdGVtcy5maWx0ZXIoKHRoKSA9PiB0aC5vZmZzZXRMZWZ0ICsgdGguY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG5cbiAgICAgICAgICAgICAgICB0aEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGgsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IHRoSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsID0gcGFyc2VJbnQodGhJdGVtc1N0aWNreUZpcnN0Q29sW2kgLSAxXT8uc3R5bGUubGVmdCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5sZWZ0ID0gKGkgPT09IDAgPyAwIDogdyArIGwpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRoSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRoLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB0aEl0ZW1zU3RpY2t5TGFzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQodGhJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0aC5zdHlsZS5yaWdodCA9IChpID09PSAwID8gMCA6IHcgKyByKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0aEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRkLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5yaWdodCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdHJJdGVtcy5mb3JFYWNoKCh0cikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdGFibGVfX2NvbC0tc3RpY2t5JykpO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IEZpcnN0IENvbHNcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wgPSB0ZEl0ZW1zLmZpbHRlcigodGQpID0+IHRkLm9mZnNldExlZnQgKyB0ZC5jbGllbnRXaWR0aCA8IGNvbnRhaW5lcldpZHRoKTtcbiAgICAgICAgICAgICAgICB0ZEl0ZW1zU3RpY2t5Rmlyc3RDb2wuZm9yRWFjaCgodGQsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IHRkSXRlbXNTdGlja3lGaXJzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsID0gcGFyc2VJbnQodGRJdGVtc1N0aWNreUZpcnN0Q29sW2kgLSAxXT8uc3R5bGUubGVmdCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5sZWZ0ID0gKGkgPT09IDAgPyAwIDogdyArIGwpICsgJ3B4JztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPT09IHRkSXRlbXNTdGlja3lGaXJzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtZmlyc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gU3RpY2t5IExhc3QgQ29sc1xuICAgICAgICAgICAgICAgIGNvbnN0IHRkSXRlbXNTdGlja3lMYXN0Q29sID0gdGRJdGVtcy5maWx0ZXIoKHRkKSA9PiB0ZC5vZmZzZXRMZWZ0ICsgdGQuY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aCk7XG4gICAgICAgICAgICAgICAgdGRJdGVtc1N0aWNreUxhc3RDb2wucmV2ZXJzZSgpLmZvckVhY2goKHRkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB0ZEl0ZW1zU3RpY2t5TGFzdENvbFtpIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQodGRJdGVtc1N0aWNreUxhc3RDb2xbaSAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuICAgICAgICAgICAgICAgICAgICB0ZC5zdHlsZS5yaWdodCA9IChpID09PSAwID8gMCA6IHcgKyByKSArICdweCc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgKyAxID09PSB0ZEl0ZW1zU3RpY2t5TGFzdENvbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoJ2V1aS10YWJsZV9fY29sLS1zdGlja3ktc2hhZG93ZWQtbGFzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dCk7XG5cbiAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlckluZGV4Kys7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZUZlYXR1cmVzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLnNvcnRpbmdQYXJhbXMkLFxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IgPyB0aGlzLnBhZ2luYXRvci5wYWdlJCA6IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCksXG4gICAgICAgICAgICB0aGlzLmZpbHRlciA/IHRoaXMuZmlsdGVyLmZpbHRlciQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVNvcnRTZXJ2aWNlLm11bHRpc29ydFBhcmFtc1NvcnQkLFxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3NvcnRpbmdQYXJhbXMsIHBhZ2luYXRpb24sIGZpbHRlciwgbXVsdGlzb3J0UGFyYW1zXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByID0gWy4uLnRoaXMucm93c1NyY107XG4gICAgICAgICAgICAgICAgaWYgKHNvcnRpbmdQYXJhbXMub3JkZXIgIT09IG51bGwgJiYgc29ydGluZ1BhcmFtcy5zb3J0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG11bHRpc29ydCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtdWx0aXNvcnQucHVzaChuZXcgTXVsdGlzb3J0UGFyYW0oc29ydGluZ1BhcmFtcy5zb3J0LCBzb3J0aW5nUGFyYW1zLm9yZGVyLCAxKSk7XG4gICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLmRvTXVsdGlTb3J0KG11bHRpc29ydCwgcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG11bHRpc29ydFBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvcnRhYmxlQ29sdW1ucyA9IG11bHRpc29ydFBhcmFtcy5maWx0ZXIoKGNvbCkgPT4gY29sLm9yZGVyICE9PSBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvcnRhYmxlQ29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByID0gdGhpcy5kb011bHRpU29ydChzb3J0YWJsZUNvbHVtbnMsIHIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHIgPSB0aGlzLmZpbHRlclJvd3MoZmlsdGVyLCByKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgciA9IHRoaXMucGFnaW5hdGVSb3dzKHBhZ2luYXRpb24sIHIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucm93c1JlbmRlcmVkID0gcjtcbiAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZG9NdWx0aVNvcnQobXVsdGlzb3J0UGFyYW1zOiBNdWx0aXNvcnRQYXJhbVtdLCByOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIHIgPSB0aGlzLm11bHRpU29ydFJvd3MobXVsdGlzb3J0UGFyYW1zLCAxLCByKTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtdWx0aVNvcnRSb3dzKG11bHRpc29ydFBhcmFtczogTXVsdGlzb3J0UGFyYW1bXSwgY3VycmVudFBvc2l0aW9uOiBudW1iZXIsIHI6IGFueSk6IGFueVtdIHtcbiAgICAgICAgbGV0IHJvd3M6IGFueVtdID0gbnVsbDtcbiAgICAgICAgY29uc3QgY29sUGFyYW1zID0gbXVsdGlzb3J0UGFyYW1zLmZpbmQoKGNvbCkgPT4gY29sLnBvc2l0aW9uID09PSBjdXJyZW50UG9zaXRpb24pO1xuICAgICAgICBpZiAoY29sUGFyYW1zLm9yZGVyID09PSAnZGVzYycpIHtcbiAgICAgICAgICAgIHJvd3MgPSByLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2x1bW5Tb3J0YWJsZShhLCBiLCBtdWx0aXNvcnRQYXJhbXMsIGN1cnJlbnRQb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFR3b1Jvd3NEZXNjKGEsIGIsIGNvbFBhcmFtcy5uYW1lKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvd3MgPSByLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2x1bW5Tb3J0YWJsZShhLCBiLCBtdWx0aXNvcnRQYXJhbXMsIGN1cnJlbnRQb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydFR3b1Jvd3NBc2MoYSwgYiwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXNvcnRQYXJhbXMubGVuZ3RoID09PSBjdXJyZW50UG9zaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlTb3J0Um93cyhtdWx0aXNvcnRQYXJhbXMsICsrY3VycmVudFBvc2l0aW9uLCByb3dzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNDb2x1bW5Tb3J0YWJsZShhOiBhbnksIGI6IGFueSwgbXVsdGlzb3J0UGFyYW1zOiBNdWx0aXNvcnRQYXJhbVtdLCBjdXJyZW50UG9zaXRpb246IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoY3VycmVudFBvc2l0aW9uID09PSAxKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgY29sUGFyYW1zID0gbXVsdGlzb3J0UGFyYW1zLmZpbmQoKGNvbCkgPT4gY29sLnBvc2l0aW9uID09PSBjdXJyZW50UG9zaXRpb24gLSAxKTtcbiAgICAgICAgY29uc3QgYUNvbCA9IHRoaXMuZ2V0T2JqUHJvcFZhbHVlKGEsIGNvbFBhcmFtcy5uYW1lKTtcbiAgICAgICAgLy8gdHlwZW9mIHRoaXMuZ2V0T2JqUHJvcChhLCBjb2xQYXJhbXMubmFtZSkgPT09ICdzdHJpbmcnXG4gICAgICAgIC8vICAgICA/IHRoaXMuZ2V0T2JqUHJvcChhLCBjb2xQYXJhbXMubmFtZSkudG9Mb3dlckNhc2UoKVxuICAgICAgICAvLyAgICAgOiB0aGlzLmdldE9ialByb3AoYSwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICBjb25zdCBiQ29sID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYiwgY29sUGFyYW1zLm5hbWUpO1xuICAgICAgICAvLyB0eXBlb2YgdGhpcy5nZXRPYmpQcm9wKGIsIGNvbFBhcmFtcy5uYW1lKSA9PT0gJ3N0cmluZydcbiAgICAgICAgLy8gICAgID8gdGhpcy5nZXRPYmpQcm9wKGIsIGNvbFBhcmFtcy5uYW1lKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC8vICAgICA6IHRoaXMuZ2V0T2JqUHJvcChiLCBjb2xQYXJhbXMubmFtZSk7XG4gICAgICAgIGlmIChhQ29sICE9PSBiQ29sKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFBvc2l0aW9uIC0gMSA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0NvbHVtblNvcnRhYmxlKGEsIGIsIG11bHRpc29ydFBhcmFtcywgLS1jdXJyZW50UG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9UaGlzIGZ1bmN0aW9uIGlzIHRvIGRvIHRoZSBzb3J0aW5nIHRoZSB0YWJsZSB3aXRoIHRoZSBjb21iaW5hdGlvbiBvZiAwLG51bGwgYW5kIHRleHQgaW4gZGVzY2VuZGluZyBvcmRlci5cbiAgICAvL2dldE9ialByb3BWYWx1ZSBpcyB0byBnZXQgdGhlIG9iamVjdCBwcm9wZXJ0eSB2YWx1ZVxuICAgIHByaXZhdGUgc29ydFR3b1Jvd3NEZXNjKGE6IGFueSwgYjogYW55LCBjb2xOYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBhU29ydE9uID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYSwgY29sTmFtZSk7XG4gICAgICAgIGNvbnN0IGJTb3J0T24gPSB0aGlzLmdldE9ialByb3BWYWx1ZShiLCBjb2xOYW1lKTtcbiAgICAgICAgaWYgKGFTb3J0T24gPT09IG51bGwgJiYgYlNvcnRPbikge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gbnVsbCAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIGlmIChhU29ydE9uID09PSBudWxsICYmIGJTb3J0T24gPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9IGVsc2UgaWYgKGFTb3J0T24gPT09IDAgJiYgYlNvcnRPbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFTb3J0T24gPCBiU29ydE9uID8gMSA6IGFTb3J0T24gPiBiU29ydE9uID8gLTEgOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9UaGlzIGZ1bmN0aW9uIGlzIHRvIGRvIHRoZSBzb3J0aW5nIHRoZSB0YWJsZSB3aXRoIHRoZSBjb21iaW5hdGlvbiBvZiAwLG51bGwgYW5kIHRleHQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgIC8vZ2V0T2JqUHJvcFZhbHVlIGlzIHRvIGdldCB0aGUgb2JqZWN0IHByb3BlcnR5IHZhbHVlXG4gICAgcHJpdmF0ZSBzb3J0VHdvUm93c0FzYyhhOiBhbnksIGI6IGFueSwgY29sTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYVNvcnRPbiA9IHRoaXMuZ2V0T2JqUHJvcFZhbHVlKGEsIGNvbE5hbWUpO1xuICAgICAgICBjb25zdCBiU29ydE9uID0gdGhpcy5nZXRPYmpQcm9wVmFsdWUoYiwgY29sTmFtZSk7XG4gICAgICAgIGlmIChhU29ydE9uID09PSBudWxsICYmIGJTb3J0T24pIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfSBlbHNlIGlmIChhU29ydE9uICYmIGJTb3J0T24gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9IGVsc2UgaWYgKGFTb3J0T24gPT09IG51bGwgJiYgYlNvcnRPbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gbnVsbCAmJiBiU29ydE9uID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH0gZWxzZSBpZiAoYVNvcnRPbiA9PT0gMCAmJiBiU29ydE9uID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhU29ydE9uIDwgYlNvcnRPbiA/IC0xIDogYVNvcnRPbiA+IGJTb3J0T24gPyAxIDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqUHJvcFZhbHVlKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0T2JqUHJvcChvYmosIHByb3ApO1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXJTdWJzY3JpcHRpb24gPSB0aGlzLmV1aVRhYmxlU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0ZWRSb3dzJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQ6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BzKG9iajogYW55W10sIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgbWF0Y2g6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBhbnkpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IChhICYmIGEgIT09ICcwJyA/IGAke2F9LiR7Yn1gIDogYik7XG4gICAgICAgIGNvbnN0IHByb3BzID0gW107XG4gICAgICAgIGNvbnN0IHBhdGhzID0gKHBhdGhPYmogPSB7fSwgaGVhZCA9ICcnKTogYW55W10gPT5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBhbnkpOiBib29sZWFuID0+XG4gICAgICAgICAgICAgICAgICAgIHYgJiZcbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHYgIT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICAgIHZcbiAgICAgICAgICAgICAgICAgICAgICAgID8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgcGF0aHMob2JqKTtcblxuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogUGFnaW5hdGlvbkV2ZW50LCByOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnaW5hdGlvbi5wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnaW5hdGlvbi5wYWdlU2l6ZTtcblxuICAgICAgICByZXR1cm4gci5zbGljZSh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplLCB0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplICsgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPYmpQcm9wKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvcCA/IHByb3Auc3BsaXQoJy4nKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IChwcmV2ID8gcHJldltjdXJyXSA6IG51bGwpLCBvYmogfHwgc2VsZikgOiBudWxsO1xuICAgIH1cbn1cbiIsIjx0aGVhZCAjdGhlYWRSZWYgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3RoZWFkPlxuPHRib2R5ICN0Ym9keVJlZiAqbmdJZj1cImJvZHlUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzUmVuZGVyZWQ7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGkgKyBwYWdlICogcGFnZVNpemUgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtcHR5TWVzc2FnZVRlbXBsYXRlICYmIHJvd3NSZW5kZXJlZC5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5TWVzc2FnZVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGJvZHk+XG48dGZvb3QgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L3Rmb290PlxuIl19
|
@@ -21,8 +21,8 @@ import { EuiTableStickyColumnDirective } from './directives/eui-table-sticky-col
|
|
21
21
|
import { TranslateModule } from '@ngx-translate/core';
|
22
22
|
import * as i0 from "@angular/core";
|
23
23
|
export class EuiTableModule {
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
25
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
25
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableModule, declarations: [EuiTableComponent,
|
26
26
|
EuiTableSortableColComponent,
|
27
27
|
EuiTableFilterComponent,
|
28
28
|
EuiTableSelectableRowComponent,
|
@@ -50,7 +50,7 @@ export class EuiTableModule {
|
|
50
50
|
EuiTableHighlightFilterPipe,
|
51
51
|
EuiTemplateDirectiveModule,
|
52
52
|
EuiTableStickyColumnDirective] }); }
|
53
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
53
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableModule, imports: [CommonModule,
|
54
54
|
TranslateModule,
|
55
55
|
FormsModule,
|
56
56
|
EuiIconModule,
|
@@ -64,7 +64,7 @@ export class EuiTableModule {
|
|
64
64
|
EuiFeedbackMessageModule,
|
65
65
|
EuiSelectModule, EuiTemplateDirectiveModule] }); }
|
66
66
|
}
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableModule, decorators: [{
|
68
68
|
type: NgModule,
|
69
69
|
args: [{
|
70
70
|
imports: [
|
@@ -4,10 +4,10 @@ export class EuiTableExpandableRowComponent {
|
|
4
4
|
constructor() {
|
5
5
|
this.string = 'eui-table-expandable-row';
|
6
6
|
}
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
8
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.
|
7
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableExpandableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
8
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiTableExpandableRowComponent, selector: "tr[euiTableExpandableRow]", host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
9
9
|
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableExpandableRowComponent, decorators: [{
|
11
11
|
type: Component,
|
12
12
|
args: [{ selector: 'tr[euiTableExpandableRow]', template: "<ng-content></ng-content>\n" }]
|
13
13
|
}], propDecorators: { string: [{
|
@@ -50,10 +50,10 @@ export class EuiTableFilterComponent extends BaseDirective {
|
|
50
50
|
this.form.reset();
|
51
51
|
this.filterInput.nativeElement.focus();
|
52
52
|
}
|
53
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
54
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.
|
53
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
54
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiTableFilterComponent, selector: "eui-table-filter", inputs: { placeholder: "placeholder", autoSearch: "autoSearch" }, outputs: { filterChange: "filterChange" }, host: { properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <input\n #filterInput\n euiClearable\n euiInputText\n class=\"eui-table__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Filter Input Field'\"\n placeholder=\"{{ placeholder }}\" />\n <eui-icon-svg class=\"eui-table__filter-search-icon\" icon=\"eui-search\" set=\"eui\" size=\"m\" fillColor=\"grey-35\"></eui-icon-svg>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
55
55
|
}
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableFilterComponent, decorators: [{
|
57
57
|
type: Component,
|
58
58
|
args: [{ selector: 'eui-table-filter', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <input\n #filterInput\n euiClearable\n euiInputText\n class=\"eui-table__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Filter Input Field'\"\n placeholder=\"{{ placeholder }}\" />\n <eui-icon-svg class=\"eui-table__filter-search-icon\" icon=\"eui-search\" set=\"eui\" size=\"m\" fillColor=\"grey-35\"></eui-icon-svg>\n </form>\n</div>\n" }]
|
59
59
|
}], ctorParameters: function () { return []; }, propDecorators: { placeholder: [{
|
@@ -10,10 +10,10 @@ export class EuiTableHighlightFilterPipe {
|
|
10
10
|
return value;
|
11
11
|
}
|
12
12
|
}
|
13
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
14
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.0-next.
|
13
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableHighlightFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
14
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableHighlightFilterPipe, name: "euiTableHighlightFilter" }); }
|
15
15
|
}
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTableHighlightFilterPipe, decorators: [{
|
17
17
|
type: Pipe,
|
18
18
|
args: [{
|
19
19
|
name: 'euiTableHighlightFilter',
|