@koobiq/components 18.21.0 → 18.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/_alert-theme.scss +4 -0
- package/alert/alert-tokens.scss +1 -1
- package/alert/alert.component.d.ts +8 -2
- package/badge/badge.component.d.ts +0 -1
- package/breadcrumbs/breadcrumbs.d.ts +19 -22
- package/breadcrumbs/breadcrumbs.scss +13 -4
- package/breadcrumbs/breadcrumbs.types.d.ts +22 -0
- package/breadcrumbs/public-api.d.ts +1 -0
- package/button/button.component.d.ts +11 -16
- package/checkbox/checkbox.d.ts +18 -23
- package/core/animation/animation.d.ts +5 -2
- package/core/common-behaviors/checkbox.d.ts +5 -0
- package/core/common-behaviors/color.d.ts +11 -0
- package/core/common-behaviors/index.d.ts +2 -1
- package/core/option/action.d.ts +5 -7
- package/core/option/optgroup.d.ts +6 -7
- package/core/pop-up/pop-up-trigger.d.ts +11 -3
- package/core/pop-up/pop-up.d.ts +8 -2
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -12
- package/core/utils/utils.d.ts +5 -0
- package/dropdown/dropdown-item.component.d.ts +6 -8
- package/empty-state/_empty-state-theme.scss +15 -5
- package/empty-state/empty-state-tokens.scss +12 -2
- package/empty-state/empty-state.component.d.ts +7 -2
- package/empty-state/empty-state.scss +29 -0
- package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
- package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
- package/esm2022/actions-panel/actions-panel.mjs +1 -1
- package/esm2022/alert/alert.component.mjs +11 -5
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +1 -1
- package/esm2022/badge/badge.component.mjs +2 -5
- package/esm2022/breadcrumbs/breadcrumbs.mjs +55 -22
- package/esm2022/breadcrumbs/breadcrumbs.types.mjs +2 -0
- package/esm2022/breadcrumbs/public-api.mjs +2 -1
- package/esm2022/button/button.component.mjs +23 -27
- package/esm2022/button-toggle/button-toggle.component.mjs +4 -3
- package/esm2022/checkbox/checkbox.mjs +27 -28
- package/esm2022/code-block/code-block-highlight.mjs +1 -1
- package/esm2022/code-block/code-block.mjs +2 -2
- package/esm2022/core/animation/animation.mjs +4 -1
- package/esm2022/core/common-behaviors/checkbox.mjs +2 -0
- package/esm2022/core/common-behaviors/color.mjs +35 -1
- package/esm2022/core/common-behaviors/disabled.mjs +2 -1
- package/esm2022/core/common-behaviors/error-state.mjs +2 -1
- package/esm2022/core/common-behaviors/index.mjs +3 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
- package/esm2022/core/formatters/number/formatter.mjs +1 -1
- package/esm2022/core/forms/validators.mjs +1 -1
- package/esm2022/core/line/line.mjs +1 -1
- package/esm2022/core/option/action.mjs +17 -12
- package/esm2022/core/option/optgroup.mjs +18 -12
- package/esm2022/core/option/option.mjs +1 -1
- package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
- package/esm2022/core/pop-up/pop-up-trigger.mjs +27 -12
- package/esm2022/core/pop-up/pop-up.mjs +18 -5
- package/esm2022/core/select/common.mjs +1 -1
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +10 -19
- package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
- package/esm2022/core/utils/utils.mjs +11 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +2 -2
- package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
- package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
- package/esm2022/datepicker/datepicker.component.mjs +1 -1
- package/esm2022/datepicker/month-view.component.mjs +1 -1
- package/esm2022/dropdown/dropdown-item.component.mjs +19 -14
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +1 -1
- package/esm2022/dropdown/dropdown.component.mjs +1 -1
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -1
- package/esm2022/empty-state/empty-state.component.mjs +13 -8
- package/esm2022/file-upload/file-drop.mjs +1 -1
- package/esm2022/file-upload/file-upload.mjs +1 -1
- package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
- package/esm2022/filter-bar/filter-bar-button.mjs +2 -1
- package/esm2022/filter-bar/filter-bar.mjs +14 -1
- package/esm2022/filter-bar/filter-bar.module.mjs +5 -3
- package/esm2022/filter-bar/filter-bar.types.mjs +27 -2
- package/esm2022/filter-bar/filter-refresher.mjs +2 -2
- package/esm2022/filter-bar/filter-reset.mjs +16 -6
- package/esm2022/filter-bar/filter-search.mjs +19 -6
- package/esm2022/filter-bar/filters.mjs +22 -6
- package/esm2022/filter-bar/pipe-add.mjs +11 -2
- package/esm2022/filter-bar/pipe.directive.mjs +7 -25
- package/esm2022/filter-bar/pipes/base-pipe.mjs +23 -3
- package/esm2022/filter-bar/pipes/pipe-button.mjs +12 -6
- package/esm2022/filter-bar/pipes/pipe-date.mjs +26 -8
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +27 -8
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +7 -2
- package/esm2022/filter-bar/pipes/pipe-select.mjs +7 -2
- package/esm2022/filter-bar/pipes/pipe-state.mjs +2 -1
- package/esm2022/filter-bar/pipes/pipe-text.mjs +7 -3
- package/esm2022/filter-bar/pipes/pipe-title.mjs +2 -1
- package/esm2022/form-field/cleaner.mjs +1 -1
- package/esm2022/form-field/form-field.mjs +13 -22
- package/esm2022/form-field/hint.mjs +10 -18
- package/esm2022/form-field/password-hint.mjs +7 -7
- package/esm2022/form-field/password-toggle.mjs +1 -1
- package/esm2022/form-field/stepper.mjs +1 -1
- package/esm2022/form-field/validate.directive.mjs +1 -1
- package/esm2022/icon/icon-button.component.mjs +13 -21
- package/esm2022/icon/icon-item.component.mjs +8 -15
- package/esm2022/icon/icon.component.mjs +15 -27
- package/esm2022/input/input-number.mjs +1 -1
- package/esm2022/input/input-password.mjs +20 -5
- package/esm2022/input/input.mjs +21 -22
- package/esm2022/link/link.component.mjs +46 -14
- package/esm2022/list/list-selection.component.mjs +19 -15
- package/esm2022/loader-overlay/loader-overlay.component.mjs +14 -9
- package/esm2022/markdown/markdown.component.mjs +2 -2
- package/esm2022/modal/modal.component.mjs +2 -2
- package/esm2022/modal/modal.directive.mjs +1 -1
- package/esm2022/modal/modal.service.mjs +1 -1
- package/esm2022/navbar/navbar-item.component.mjs +2 -2
- package/esm2022/navbar/navbar.component.mjs +9 -12
- package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
- package/esm2022/overflow-items/overflow-items.mjs +1 -1
- package/esm2022/popover/popover-confirm.component.mjs +2 -2
- package/esm2022/popover/popover.component.mjs +5 -4
- package/esm2022/progress-bar/progress-bar.component.mjs +14 -21
- package/esm2022/progress-spinner/progress-spinner.component.mjs +17 -24
- package/esm2022/radio/radio.component.mjs +26 -36
- package/esm2022/scrollbar/scrollbar.component.mjs +1 -1
- package/esm2022/scrollbar/scrollbar.directive.mjs +1 -1
- package/esm2022/select/select.component.mjs +56 -37
- package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
- package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
- package/esm2022/splitter/splitter.component.mjs +1 -1
- package/esm2022/tabs/paginated-tab-header.mjs +7 -4
- package/esm2022/tabs/tab-body.component.mjs +1 -1
- package/esm2022/tabs/tab-group.component.mjs +23 -19
- package/esm2022/tabs/tab-header.component.mjs +3 -3
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +16 -13
- package/esm2022/tabs/tab-nav-bar.mjs +2 -2
- package/esm2022/tabs/tab.component.mjs +17 -12
- package/esm2022/tags/tag-input.mjs +1 -1
- package/esm2022/tags/tag-list.component.mjs +27 -22
- package/esm2022/tags/tag.component.mjs +7 -14
- package/esm2022/textarea/textarea.component.mjs +21 -22
- package/esm2022/timepicker/timepicker.directive.mjs +1 -1
- package/esm2022/timezone/timezone-select.component.mjs +3 -3
- package/esm2022/toast/toast.component.mjs +2 -2
- package/esm2022/toggle/toggle.component.mjs +111 -31
- package/esm2022/tree/control/base-tree-control.mjs +1 -1
- package/esm2022/tree/control/flat-tree-control.filters.mjs +1 -1
- package/esm2022/tree/control/nested-tree-control.mjs +1 -1
- package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
- package/esm2022/tree/padding.directive.mjs +1 -1
- package/esm2022/tree/toggle.mjs +19 -14
- package/esm2022/tree/tree-base.mjs +1 -1
- package/esm2022/tree/tree-option.component.mjs +1 -1
- package/esm2022/tree/tree-selection.component.mjs +1 -1
- package/esm2022/tree-select/tree-select.component.mjs +58 -38
- package/fesm2022/koobiq-components-accordion.mjs +1 -1
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +10 -4
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -5
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +54 -21
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +3 -3
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +23 -27
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +27 -28
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +1 -1
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +130 -51
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +2 -2
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +18 -13
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +12 -7
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +2 -2
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +1381 -1233
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +26 -43
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +33 -57
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +40 -25
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +46 -14
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +19 -15
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +13 -8
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +2 -2
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +2 -2
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +17 -24
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +5 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +13 -20
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +16 -23
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +26 -36
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +56 -37
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +60 -44
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +32 -34
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +21 -22
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +1 -1
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +111 -31
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +57 -37
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +21 -15
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/multiple-file-upload.component.d.ts +2 -2
- package/file-upload/single-file-upload.component.d.ts +2 -2
- package/filter-bar/filter-bar-button.d.ts +1 -0
- package/filter-bar/filter-bar.d.ts +14 -0
- package/filter-bar/filter-bar.types.d.ts +13 -3
- package/filter-bar/filter-reset.d.ts +6 -2
- package/filter-bar/filter-search.d.ts +17 -10
- package/filter-bar/filters.d.ts +26 -11
- package/filter-bar/pipe-add.d.ts +10 -0
- package/filter-bar/pipe.directive.d.ts +5 -5
- package/filter-bar/pipes/base-pipe.d.ts +28 -2
- package/filter-bar/pipes/pipe-button.d.ts +6 -1
- package/filter-bar/pipes/pipe-date.d.ts +30 -10
- package/filter-bar/pipes/pipe-date.scss +29 -27
- package/filter-bar/pipes/pipe-datetime.d.ts +31 -10
- package/filter-bar/pipes/pipe-multi-select.d.ts +7 -0
- package/filter-bar/pipes/pipe-select.d.ts +7 -0
- package/filter-bar/pipes/pipe-state.d.ts +1 -0
- package/filter-bar/pipes/pipe-text.d.ts +5 -0
- package/form-field/form-field.d.ts +4 -12
- package/form-field/hint.d.ts +3 -12
- package/form-field/password-hint.d.ts +3 -3
- package/icon/icon-button.component.d.ts +5 -8
- package/icon/icon-item.component.d.ts +3 -7
- package/icon/icon.component.d.ts +7 -14
- package/input/input-password.d.ts +8 -2
- package/input/input.d.ts +9 -18
- package/link/_link-theme.scss +31 -8
- package/link/link.component.d.ts +13 -9
- package/list/list-selection.component.d.ts +8 -10
- package/loader-overlay/_loader-overlay-theme.scss +18 -8
- package/loader-overlay/loader-overlay-tokens.scss +6 -3
- package/loader-overlay/loader-overlay.component.d.ts +7 -2
- package/loader-overlay/loader-overlay.scss +19 -5
- package/markdown/markdown.scss +0 -4
- package/navbar/navbar.component.d.ts +2 -2
- package/navbar/vertical-navbar.component.d.ts +3 -3
- package/package.json +5 -5
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +4 -12
- package/progress-spinner/progress-spinner.component.d.ts +4 -12
- package/radio/radio.component.d.ts +11 -25
- package/radio/radio.scss +0 -1
- package/schematics/collection.json +10 -0
- package/schematics/migrations/css-selectors/README.md +19 -0
- package/schematics/migrations/deprecated-icons/README.md +21 -0
- package/schematics/migrations/empty-state-size-attr/README.md +62 -0
- package/schematics/migrations/empty-state-size-attr/index.js +74 -0
- package/schematics/migrations/empty-state-size-attr/schema.json +15 -0
- package/schematics/migrations/loader-overlay-size-attr/README.md +62 -0
- package/schematics/migrations/loader-overlay-size-attr/index.js +74 -0
- package/schematics/migrations/loader-overlay-size-attr/schema.json +15 -0
- package/schematics/migrations/new-icons-pack/README.md +21 -0
- package/schematics/ng-add/index.js +3 -3
- package/schematics/utils/angular-parsing.js +153 -0
- package/schematics/utils/ast.js +28 -0
- package/schematics/utils/package-config.js +46 -0
- package/schematics/utils/typescript.js +171 -0
- package/select/select.component.d.ts +26 -25
- package/tabs/paginated-tab-header.d.ts +2 -1
- package/tabs/tab-group.component.d.ts +11 -13
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab-label-wrapper.directive.d.ts +6 -8
- package/tabs/tab.component.d.ts +7 -8
- package/tags/tag-list.component.d.ts +15 -18
- package/tags/tag.component.d.ts +3 -10
- package/textarea/textarea.component.d.ts +8 -17
- package/toggle/_toggle-theme.scss +12 -3
- package/toggle/toggle-tokens.scss +2 -2
- package/toggle/toggle.component.d.ts +28 -14
- package/toggle/toggle.scss +37 -0
- package/tree/toggle.d.ts +7 -9
- package/tree/tree-selection.component.d.ts +2 -2
- package/tree-select/tree-select.component.d.ts +24 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, Inject, InjectionToken, Input, Optional, Output, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { KBQ_PARENT_ANIMATION_COMPONENT
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, Inject, InjectionToken, Input, numberAttribute, Optional, Output, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { KBQ_PARENT_ANIMATION_COMPONENT } from '@koobiq/components/core';
|
|
3
3
|
import { merge, Subject, Subscription } from 'rxjs';
|
|
4
4
|
import { debounceTime } from 'rxjs/operators';
|
|
5
5
|
import { KbqTabHeader } from './tab-header.component';
|
|
@@ -62,17 +62,10 @@ export class KbqTabChangeEvent {
|
|
|
62
62
|
}
|
|
63
63
|
/** Injection token that can be used to provide the default options the tabs module. */
|
|
64
64
|
export const KBQ_TABS_CONFIG = new InjectionToken('KBQ_TABS_CONFIG');
|
|
65
|
-
// Boilerplate for applying mixins to KbqTabGroup.
|
|
66
|
-
class KbqTabGroupBase {
|
|
67
|
-
constructor(elementRef) {
|
|
68
|
-
this.elementRef = elementRef;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
const KbqTabGroupMixinBase = mixinDisabled(KbqTabGroupBase);
|
|
72
65
|
/**
|
|
73
66
|
* Tab-group component. Supports basic tab pairs (label + content) and includes keyboard navigation.
|
|
74
67
|
*/
|
|
75
|
-
export class KbqTabGroup
|
|
68
|
+
export class KbqTabGroup {
|
|
76
69
|
/** The index of the active tab. */
|
|
77
70
|
get selectedIndex() {
|
|
78
71
|
return this._selectedIndex;
|
|
@@ -97,8 +90,15 @@ export class KbqTabGroup extends KbqTabGroupMixinBase {
|
|
|
97
90
|
set activeTab(value) {
|
|
98
91
|
this.attributeToSelectBy = value;
|
|
99
92
|
}
|
|
100
|
-
|
|
101
|
-
|
|
93
|
+
get disabled() {
|
|
94
|
+
return this._disabled;
|
|
95
|
+
}
|
|
96
|
+
set disabled(value) {
|
|
97
|
+
if (value !== this.disabled) {
|
|
98
|
+
this._disabled = value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
constructor(changeDetectorRef, defaultConfig) {
|
|
102
102
|
this.changeDetectorRef = changeDetectorRef;
|
|
103
103
|
this.resizeStream = new Subject();
|
|
104
104
|
this.transparent = false;
|
|
@@ -107,9 +107,9 @@ export class KbqTabGroup extends KbqTabGroupMixinBase {
|
|
|
107
107
|
this.vertical = false;
|
|
108
108
|
/** Whether the tab group should grow to the size of the active tab. */
|
|
109
109
|
this.dynamicHeight = false;
|
|
110
|
-
this._selectedIndex = null;
|
|
111
110
|
/** Position of the tab header. */
|
|
112
111
|
this.headerPosition = 'above';
|
|
112
|
+
this._disabled = false;
|
|
113
113
|
/** Output to enable support for two-way binding on `[(selectedIndex)]` */
|
|
114
114
|
this.selectedIndexChange = new EventEmitter();
|
|
115
115
|
/** Event emitted when the tab selection has changed. */
|
|
@@ -314,12 +314,12 @@ export class KbqTabGroup extends KbqTabGroupMixinBase {
|
|
|
314
314
|
}
|
|
315
315
|
return this.tabs?.toArray().indexOf(currentSelectedTab);
|
|
316
316
|
}
|
|
317
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabGroup, deps: [{ token: i0.
|
|
318
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqTabGroup, selector: "kbq-tab-group", inputs: { disabled: "disabled", transparent: ["transparent", "transparent", booleanAttribute], onSurface: ["onSurface", "onSurface", booleanAttribute], underlined: ["underlined", "underlined", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute], dynamicHeight: ["dynamicHeight", "dynamicHeight", booleanAttribute], selectedIndex: "selectedIndex", activeTab: "activeTab", headerPosition: "headerPosition", animationDuration: "animationDuration" }, outputs: { selectedIndexChange: "selectedIndexChange", activeTabChange: "activeTabChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-tab-group_filled": "!transparent", "class.kbq-tab-group_transparent": "transparent", "class.kbq-tab-group_on-background": "!onSurface", "class.kbq-tab-group_on-surface": "onSurface", "class.kbq-tab-group_dynamic-height": "dynamicHeight", "class.kbq-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "kbq-tab-group" }, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], queries: [{ propertyName: "tabs", predicate: KbqTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["kbqTabGroup"], usesInheritance: true, ngImport: i0, template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined\"\n [vertical]=\"vertical\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, i)\"\n [class.kbq-selected]=\"selectedIndex === i\"\n [class.kbq-tab-label_empty]=\"tab.empty\"\n [class.kbq-tab-label_horizontal]=\"!vertical\"\n [class.kbq-tab-label_underlined]=\"underlined\"\n [class.kbq-tab-label_vertical]=\"vertical\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId(i)\"\n [kbqPlacement]=\"tab.tooltipPlacement\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, i)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @if (!tab.templateLabel) {\n {{ tab.textLabel }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab; let i = $index) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === i\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId(i)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i3.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "directive", type: i4.KbqTabLabelWrapper, selector: "[kbqTabLabelWrapper]", inputs: ["disabled", "tab"] }, { kind: "component", type: i5.KbqTabBody, selector: "kbq-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }, { kind: "component", type: i6.KbqTabHeader, selector: "kbq-tab-header", inputs: ["selectedIndex", "underlined"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
317
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: KBQ_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
318
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqTabGroup, selector: "kbq-tab-group", inputs: { transparent: ["transparent", "transparent", booleanAttribute], onSurface: ["onSurface", "onSurface", booleanAttribute], underlined: ["underlined", "underlined", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute], dynamicHeight: ["dynamicHeight", "dynamicHeight", booleanAttribute], selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], activeTab: "activeTab", headerPosition: "headerPosition", animationDuration: "animationDuration", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", activeTabChange: "activeTabChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-tab-group_filled": "!transparent", "class.kbq-tab-group_transparent": "transparent", "class.kbq-tab-group_on-background": "!onSurface", "class.kbq-tab-group_on-surface": "onSurface", "class.kbq-tab-group_dynamic-height": "dynamicHeight", "class.kbq-tab-group_inverted-header": "headerPosition === \"below\"" }, classAttribute: "kbq-tab-group" }, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], queries: [{ propertyName: "tabs", predicate: KbqTab }], viewQueries: [{ propertyName: "tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["kbqTabGroup"], ngImport: i0, template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined\"\n [vertical]=\"vertical\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, i)\"\n [class.kbq-selected]=\"selectedIndex === i\"\n [class.kbq-tab-label_empty]=\"tab.empty\"\n [class.kbq-tab-label_horizontal]=\"!vertical\"\n [class.kbq-tab-label_underlined]=\"underlined\"\n [class.kbq-tab-label_vertical]=\"vertical\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId(i)\"\n [kbqPlacement]=\"tab.tooltipPlacement\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, i)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @if (!tab.templateLabel) {\n {{ tab.textLabel }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab; let i = $index) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === i\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId(i)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i3.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "directive", type: i4.KbqTabLabelWrapper, selector: "[kbqTabLabelWrapper]", inputs: ["tab", "disabled"] }, { kind: "component", type: i5.KbqTabBody, selector: "kbq-tab-body", inputs: ["position", "content", "origin", "animationDuration"], outputs: ["onCentering", "beforeCentering", "afterLeavingCenter", "onCentered"] }, { kind: "component", type: i6.KbqTabHeader, selector: "kbq-tab-header", inputs: ["underlined"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
319
319
|
}
|
|
320
320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabGroup, decorators: [{
|
|
321
321
|
type: Component,
|
|
322
|
-
args: [{ selector: 'kbq-tab-group', exportAs: 'kbqTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
322
|
+
args: [{ selector: 'kbq-tab-group', exportAs: 'kbqTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
323
323
|
class: 'kbq-tab-group',
|
|
324
324
|
'[class.kbq-tab-group_filled]': '!transparent',
|
|
325
325
|
'[class.kbq-tab-group_transparent]': 'transparent',
|
|
@@ -329,7 +329,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
329
329
|
'[class.kbq-tab-group_inverted-header]': 'headerPosition === "below"',
|
|
330
330
|
'(window:resize)': 'resizeStream.next($event)'
|
|
331
331
|
}, providers: [{ provide: KBQ_PARENT_ANIMATION_COMPONENT, useExisting: forwardRef((() => this)) }], template: "<kbq-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex\"\n [underlined]=\"underlined\"\n [vertical]=\"vertical\"\n (indexFocused)=\"focusChanged($event)\"\n (selectFocusedIndex)=\"onSelectFocusedIndex($event)\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <div\n cdkMonitorElementFocus\n kbqTabLabelWrapper\n class=\"kbq-tab-label\"\n [attr.tabindex]=\"getTabIndex(tab, i)\"\n [class.kbq-selected]=\"selectedIndex === i\"\n [class.kbq-tab-label_empty]=\"tab.empty\"\n [class.kbq-tab-label_horizontal]=\"!vertical\"\n [class.kbq-tab-label_underlined]=\"underlined\"\n [class.kbq-tab-label_vertical]=\"vertical\"\n [disabled]=\"tab.disabled\"\n [id]=\"getTabLabelId(i)\"\n [kbqPlacement]=\"tab.tooltipPlacement\"\n [kbqTooltip]=\"tab.tooltipTitle\"\n [kbqTooltipDisabled]=\"!tab.empty && !tab.isOverflown\"\n [kbqTrigger]=\"'hover, focus'\"\n [tab]=\"tab\"\n (click)=\"handleClick(tab, tabHeader, i)\"\n >\n <div #labelContent class=\"kbq-tab-label__content\" [class.kbq-tab-label__template]=\"tab.templateLabel\">\n <!-- If there is a label template, use it. -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n }\n <!-- If there is not a label template, fall back to the text label. -->\n @if (!tab.templateLabel) {\n {{ tab.textLabel }}\n }\n </div>\n </div>\n }\n</kbq-tab-header>\n\n<div #tabBodyWrapper class=\"kbq-tab-body__wrapper\">\n @for (tab of tabs; track tab; let i = $index) {\n <kbq-tab-body\n [animationDuration]=\"animationDuration\"\n [class.kbq-tab-body__active]=\"selectedIndex === i\"\n [content]=\"tab.content!\"\n [id]=\"getTabContentId(i)\"\n [origin]=\"tab.origin!\"\n [position]=\"tab.position!\"\n (onCentered)=\"removeTabBodyWrapperHeight()\"\n (onCentering)=\"setTabBodyWrapperHeight($event)\"\n />\n }\n</div>\n", styles: [".kbq-tab-group{display:flex;flex-direction:column;box-sizing:border-box;text-align:left}.kbq-tab-group.kbq-tab-group_inverted-header{flex-direction:column-reverse}.kbq-tab-group.kbq-tab-group_vertical{flex-direction:row}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-list__content{gap:var(--kbq-tabs-size-tab-stack-vertical-content-gap-vertical) 0}.kbq-tab-group.kbq-tab-group_vertical .kbq-tab-header__container{overflow-y:auto}.kbq-tab-group .kbq-tab-body__wrapper{display:flex;overflow:hidden;position:relative}.kbq-tab-group .kbq-tab-body{inset:0;position:absolute;display:block;overflow:hidden}.kbq-tab-group .kbq-tab-body.kbq-tab-body__active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.kbq-tab-group.kbq-tab-group_dynamic-height .kbq-tab-group .kbq-tab-body.kbq-tab-body__active{overflow-y:hidden}\n", ".kbq-tab-group,.kbq-tab-nav-bar{--kbq-tabs-size-tab-item-padding-horizontal: var(--kbq-size-m);--kbq-tabs-size-tab-item-padding-vertical: var(--kbq-size-xs);--kbq-tabs-size-tab-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-tabs-size-tab-item-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-item-focus-outline-width: var(--kbq-size-3xs);--kbq-tabs-size-tab-stack-horizontal-border-radius: var(--kbq-size-s);--kbq-tabs-size-tab-stack-vertical-content-gap-vertical: var(--kbq-size-s);--kbq-tabs-tab-item-filled-on-background-default-background: transparent;--kbq-tabs-tab-item-filled-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-background-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-background-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-default-background: transparent;--kbq-tabs-tab-item-filled-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-filled-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-filled-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-filled-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-filled-on-surface-states-selected-background: var(--kbq-states-background-transparent-active);--kbq-tabs-tab-item-filled-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-filled-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-filled-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-default-background: transparent;--kbq-tabs-tab-item-transparent-on-background-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-background-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-background-states-hover-background: var( --kbq-states-background-transparent-hover );--kbq-tabs-tab-item-transparent-on-background-states-focused-focus-outline-color: var( --kbq-states-line-focus-theme );--kbq-tabs-tab-item-transparent-on-background-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-background-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-background-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-background-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-default-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-default-text-color: var(--kbq-foreground-contrast);--kbq-tabs-tab-item-transparent-on-surface-default-icon-color: var(--kbq-icon-contrast);--kbq-tabs-tab-item-transparent-on-surface-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-tabs-tab-item-transparent-on-surface-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-tabs-tab-item-transparent-on-surface-states-selected-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-hover-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-background: var( --kbq-states-background-transparent-active );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-text-color: var( --kbq-states-foreground-disabled );--kbq-tabs-tab-item-transparent-on-surface-states-selected-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-background: transparent;--kbq-tabs-tab-item-transparent-on-surface-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-tabs-tab-item-transparent-on-surface-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-tabs-tab-stack-filled-on-background-background: var(--kbq-background-bg);--kbq-tabs-tab-stack-filled-on-surface-background: var(--kbq-background-contrast-fade);--kbq-tabs-tab-stack-transparent-on-background-background: transparent;--kbq-tabs-tab-stack-transparent-on-surface-background: transparent}\n"] }]
|
|
332
|
-
}], ctorParameters: () => [{ type: i0.
|
|
332
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
333
333
|
type: Inject,
|
|
334
334
|
args: [KBQ_TABS_CONFIG]
|
|
335
335
|
}, {
|
|
@@ -359,13 +359,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
359
359
|
type: Input,
|
|
360
360
|
args: [{ transform: booleanAttribute }]
|
|
361
361
|
}], selectedIndex: [{
|
|
362
|
-
type: Input
|
|
362
|
+
type: Input,
|
|
363
|
+
args: [{ transform: numberAttribute }]
|
|
363
364
|
}], activeTab: [{
|
|
364
365
|
type: Input
|
|
365
366
|
}], headerPosition: [{
|
|
366
367
|
type: Input
|
|
367
368
|
}], animationDuration: [{
|
|
368
369
|
type: Input
|
|
370
|
+
}], disabled: [{
|
|
371
|
+
type: Input,
|
|
372
|
+
args: [{ transform: booleanAttribute }]
|
|
369
373
|
}], selectedIndexChange: [{
|
|
370
374
|
type: Output
|
|
371
375
|
}], activeTabChange: [{
|
|
@@ -377,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
377
381
|
}], selectedTabChange: [{
|
|
378
382
|
type: Output
|
|
379
383
|
}] } });
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsOEJBQThCLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEcsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU96QyxNQUFNLE9BQU8sMkJBQTJCO2lJQUEzQiwyQkFBMkI7cUhBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQ0osdUhBQXVIO29CQUMzSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUNBQW1DLEVBQUU7aUJBQ3ZEOztBQVFELE1BQU0sT0FBTyx3QkFBd0I7aUlBQXhCLHdCQUF3QjtxSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFDSiw4R0FBOEc7b0JBQ2xILElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRTtpQkFDcEQ7O0FBT0QsTUFBTSxPQUFPLHVCQUF1QjtpSUFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdHQUF3RztvQkFDbEgsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFO2lCQUNsRDs7QUFPRCxNQUFNLE9BQU8sd0JBQXdCO2lJQUF4Qix3QkFBd0I7cUhBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0ZBQWdGO29CQUMxRixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7aUJBQzVDOztBQUdELDBEQUEwRDtBQUMxRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZixtRUFBbUU7QUFDbkUsTUFBTSxPQUFPLGlCQUFpQjtDQUs3QjtBQVdELHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLGlCQUFpQixDQUFDLENBQUM7QUFFcEYsa0RBQWtEO0FBQ2xELE1BQU0sZUFBZTtJQUNqQixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztDQUNoRDtBQUVELE1BQU0sb0JBQW9CLEdBQTRDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUlyRzs7R0FFRztBQXFCSCxNQUFNLE9BQU8sV0FDVCxTQUFRLG9CQUFvQjtJQW1CNUIsbUNBQW1DO0lBQ25DLElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUlELElBQ0ksU0FBUztRQUNULFFBQVEsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QyxLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1lBQy9FLEtBQUssUUFBUTtnQkFDVCxPQUFPLENBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDO29CQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLElBQUksQ0FDUCxDQUFDO1lBQ04sS0FBSyxVQUFVO2dCQUNYLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN6RDtnQkFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQTRCO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQXdDRCxZQUNJLFVBQXNCLEVBQ0wsaUJBQW9DLEVBQ2hCLGFBQTZCO1FBRWxFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUhELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUExRmhELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQztRQVFMLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWxFLHVFQUF1RTtRQUMvQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQVkvRCxtQkFBYyxHQUFrQixJQUFJLENBQUM7UUF3QjdDLGtDQUFrQztRQUN6QixtQkFBYyxHQUF5QixPQUFPLENBQUM7UUFLeEQsMEVBQTBFO1FBQ3ZELHdCQUFtQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFGLHdEQUF3RDtRQUNyQyxvQkFBZSxHQUEyQyxJQUFJLFlBQVksRUFFMUYsQ0FBQztRQUVKLCtEQUErRDtRQUM1QyxnQkFBVyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUV4RywwREFBMEQ7UUFDdkMsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoRix3REFBd0Q7UUFDckMsc0JBQWlCLEdBQW9DLElBQUksWUFBWSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUUxRyx3QkFBbUIsR0FBMEIsSUFBSSxDQUFDO1FBRTFELHNGQUFzRjtRQUM5RSx5QkFBb0IsR0FBRyxDQUFDLENBQUM7UUFFakMsZ0RBQWdEO1FBQ3hDLHFCQUFnQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFFOUMsaURBQWlEO1FBQ3pDLHlCQUFvQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDMUMsdUJBQWtCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUcvQiwyQkFBc0IsR0FBVyxHQUFHLENBQUM7UUFxTDlDLGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDO1FBOUtFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGFBQWEsRUFBRSxpQkFBaUIsSUFBSSxLQUFLLENBQUM7UUFFbkUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCO1FBQ2pCLHVGQUF1RjtRQUN2RixzRUFBc0U7UUFDdEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFakQscUZBQXFGO1FBQ3JGLG1EQUFtRDtRQUNuRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFFL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDdkUsQ0FBQztZQUVELHVEQUF1RDtZQUN2RCw0REFBNEQ7WUFDNUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEtBQUssS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUU1RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFFbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxVQUFVLElBQUksV0FBVzt3QkFDckYsQ0FBQyxDQUFDLFdBQVc7d0JBQ2IsQ0FBQyxDQUFFLElBQUksQ0FBQyxtQkFBdUMsQ0FDdEQsQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsMkZBQTJGO1FBQzNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQzdDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxHQUFHLGFBQWEsQ0FBQztZQUVyQyxzRkFBc0Y7WUFDdEYsa0NBQWtDO1lBRWxDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25FLEdBQUcsQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLDZEQUE2RDtRQUM3RCxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckQsZ0VBQWdFO1lBQ2hFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRWpELHdGQUF3RjtZQUN4RixnREFBZ0Q7WUFDaEQsSUFBSSxhQUFhLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUVqQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNuQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDbkIsaUZBQWlGO3dCQUNqRix1RkFBdUY7d0JBQ3ZGLHVEQUF1RDt3QkFDdkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDN0IsTUFBTTtvQkFDVixDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxhQUFhLENBQUMsQ0FBUztRQUNuQixPQUFPLGlCQUFpQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsZUFBZSxDQUFDLENBQVM7UUFDckIsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNwRCxPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFnQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUUvRCxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDO1FBRXhELGtFQUFrRTtRQUNsRSxzREFBc0Q7UUFDdEQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLFNBQVMsSUFBSSxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDBCQUEwQjtRQUN0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzNFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxXQUFXLENBQUMsR0FBVyxFQUFFLFNBQXVCLEVBQUUsS0FBYTtRQUMzRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2xDLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQWM7UUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDdEQsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBTU8saUJBQWlCLENBQUMsS0FBYTtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxvQkFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUMxRixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQ3hDLENBQUM7SUFDTixDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZO2FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7YUFDL0MsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQscUVBQXFFO0lBQzdELGFBQWEsQ0FBQyxLQUFvQjtRQUN0Qyx3RUFBd0U7UUFDeEUsc0VBQXNFO1FBQ3RFLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFDLElBQUksa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7aUlBMVVRLFdBQVcsNkVBK0ZSLGVBQWU7cUhBL0ZsQixXQUFXLHlHQVlBLGdCQUFnQix5Q0FDaEIsZ0JBQWdCLDRDQUNoQixnQkFBZ0Isc0NBQ2hCLGdCQUFnQixxREFHaEIsZ0JBQWdCLDJ3QkFwQnpCLENBQUMsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBRSxDQUFDLCtDQVE1RSxNQUFNLDBSQ3BIM0IsaXZFQXdEQTs7MkZEc0RhLFdBQVc7a0JBcEJ2QixTQUFTOytCQUNJLGVBQWUsWUFDZixhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxVQUFVLENBQUMsUUFDZDt3QkFDRixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsOEJBQThCLEVBQUUsY0FBYzt3QkFDOUMsbUNBQW1DLEVBQUUsYUFBYTt3QkFDbEQscUNBQXFDLEVBQUUsWUFBWTt3QkFDbkQsa0NBQWtDLEVBQUUsV0FBVzt3QkFDL0Msc0NBQXNDLEVBQUUsZUFBZTt3QkFDdkQsdUNBQXVDLEVBQUUsNEJBQTRCO3dCQUNyRSxpQkFBaUIsRUFBRSwyQkFBMkI7cUJBQ2pELGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFFLENBQUM7OzBCQWlHeEYsTUFBTTsyQkFBQyxlQUFlOzswQkFBRyxRQUFRO3lDQXpGYixJQUFJO3NCQUE1QixlQUFlO3VCQUFDLE1BQU07Z0JBRXlCLGNBQWM7c0JBQTdELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVILFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFRCxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUdFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSWxDLGFBQWE7c0JBRGhCLEtBQUs7Z0JBWUYsU0FBUztzQkFEWixLQUFLO2dCQXVCRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHYSxtQkFBbUI7c0JBQXJDLE1BQU07Z0JBR1ksZUFBZTtzQkFBakMsTUFBTTtnQkFLWSxXQUFXO3NCQUE3QixNQUFNO2dCQUdZLGFBQWE7c0JBQS9CLE1BQU07Z0JBR1ksaUJBQWlCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkRpc2FibGVDdG9yLCBLQlFfUEFSRU5UX0FOSU1BVElPTl9DT01QT05FTlQsIG1peGluRGlzYWJsZWQgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBLYnFUYWJIZWFkZXIgfSBmcm9tICcuL3RhYi1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEticVRhYiB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOlxuICAgICAgICAna2JxLXRhYi1ncm91cFtrYnEtYWxpZ24tdGFicy1jZW50ZXJdLCBba2JxLXRhYi1uYXYtYmFyXVtrYnEtYWxpZ24tdGFicy1jZW50ZXJdLCBba2JxVGFiTmF2QmFyXVtrYnEtYWxpZ24tdGFicy1jZW50ZXJdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLXRhYi1ncm91cF9hbGlnbi1sYWJlbHMtY2VudGVyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsaWduVGFic0NlbnRlckNzc1N0eWxlciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjpcbiAgICAgICAgJ2ticS10YWItZ3JvdXBba2JxLWFsaWduLXRhYnMtZW5kXSwgW2ticS10YWItbmF2LWJhcl1ba2JxLWFsaWduLXRhYnMtZW5kXSwgW2ticVRhYk5hdkJhcl1ba2JxLWFsaWduLXRhYnMtZW5kXScsXG4gICAgaG9zdDogeyBjbGFzczogJ2ticS10YWItZ3JvdXBfYWxpZ24tbGFiZWxzLWVuZCcgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFBbGlnblRhYnNFbmRDc3NTdHlsZXIge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdGFiLWdyb3VwW2ticS1zdHJldGNoLXRhYnNdLCBba2JxLXRhYi1uYXYtYmFyXVtrYnEtc3RyZXRjaC10YWJzXSwgW2ticVRhYk5hdkJhcl1ba2JxLXN0cmV0Y2gtdGFic10nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdrYnEtdGFiLWdyb3VwX3N0cmV0Y2gtbGFiZWxzJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticVN0cmV0Y2hUYWJzQ3NzU3R5bGVyIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRhYi1ncm91cFt2ZXJ0aWNhbF0sIFtrYnEtdGFiLW5hdi1iYXJdW3ZlcnRpY2FsXSwgW2ticVRhYk5hdkJhcl1bdmVydGljYWxdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLXRhYi1ncm91cF92ZXJ0aWNhbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFWZXJ0aWNhbFRhYnNDc3NTdHlsZXIge31cblxuLyoqIFVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElEJ3MgZm9yIGVhY2ggdGFiIGNvbXBvbmVudCAqL1xubGV0IG5leHRJZCA9IDA7XG5cbi8qKiBBIHNpbXBsZSBjaGFuZ2UgZXZlbnQgZW1pdHRlZCBvbiBmb2N1cyBvciBzZWxlY3Rpb24gY2hhbmdlcy4gKi9cbmV4cG9ydCBjbGFzcyBLYnFUYWJDaGFuZ2VFdmVudCB7XG4gICAgLyoqIEluZGV4IG9mIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgdGFiLiAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudGx5LXNlbGVjdGVkIHRhYi4gKi9cbiAgICB0YWI6IEticVRhYjtcbn1cblxuLyoqIFBvc3NpYmxlIHBvc2l0aW9ucyBmb3IgdGhlIHRhYiBoZWFkZXIuICovXG5leHBvcnQgdHlwZSBLYnFUYWJIZWFkZXJQb3NpdGlvbiA9ICdhYm92ZScgfCAnYmVsb3cnO1xuXG4vKiogT2JqZWN0IHRoYXQgY2FuIGJlIHVzZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSB0YWJzIG1vZHVsZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2JxVGFic0NvbmZpZyB7XG4gICAgLyoqIER1cmF0aW9uIGZvciB0aGUgdGFiIGFuaW1hdGlvbi4gTXVzdCBiZSBhIHZhbGlkIENTUyB2YWx1ZSAoZS5nLiA2MDBtcykuICovXG4gICAgYW5pbWF0aW9uRHVyYXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIHRoZSBkZWZhdWx0IG9wdGlvbnMgdGhlIHRhYnMgbW9kdWxlLiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9UQUJTX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLYnFUYWJzQ29uZmlnPignS0JRX1RBQlNfQ09ORklHJyk7XG5cbi8vIEJvaWxlcnBsYXRlIGZvciBhcHBseWluZyBtaXhpbnMgdG8gS2JxVGFiR3JvdXAuXG5jbGFzcyBLYnFUYWJHcm91cEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG5jb25zdCBLYnFUYWJHcm91cE1peGluQmFzZTogQ2FuRGlzYWJsZUN0b3IgJiB0eXBlb2YgS2JxVGFiR3JvdXBCYXNlID0gbWl4aW5EaXNhYmxlZChLYnFUYWJHcm91cEJhc2UpO1xuXG5leHBvcnQgdHlwZSBLYnFUYWJTZWxlY3RCeSA9IHN0cmluZyB8IG51bWJlciB8ICgodGFiczogS2JxVGFiW10pID0+IEticVRhYiB8IG51bGwpO1xuXG4vKipcbiAqIFRhYi1ncm91cCBjb21wb25lbnQuICBTdXBwb3J0cyBiYXNpYyB0YWIgcGFpcnMgKGxhYmVsICsgY29udGVudCkgYW5kIGluY2x1ZGVzIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRhYi1ncm91cCcsXG4gICAgZXhwb3J0QXM6ICdrYnFUYWJHcm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi1ncm91cC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItZ3JvdXAuc2NzcycsICcuL3RhYnMtdG9rZW5zLnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGlucHV0czogWydkaXNhYmxlZCddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdGFiLWdyb3VwJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWdyb3VwX2ZpbGxlZF0nOiAnIXRyYW5zcGFyZW50JyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWdyb3VwX3RyYW5zcGFyZW50XSc6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF9vbi1iYWNrZ3JvdW5kXSc6ICchb25TdXJmYWNlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWdyb3VwX29uLXN1cmZhY2VdJzogJ29uU3VyZmFjZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF9keW5hbWljLWhlaWdodF0nOiAnZHluYW1pY0hlaWdodCcsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF9pbnZlcnRlZC1oZWFkZXJdJzogJ2hlYWRlclBvc2l0aW9uID09PSBcImJlbG93XCInLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ3Jlc2l6ZVN0cmVhbS5uZXh0KCRldmVudCknXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEtCUV9QQVJFTlRfQU5JTUFUSU9OX0NPTVBPTkVOVCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gdGhpcykgfV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGFiR3JvdXBcbiAgICBleHRlbmRzIEticVRhYkdyb3VwTWl4aW5CYXNlXG4gICAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3lcbntcbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxVGFiKSB0YWJzOiBRdWVyeUxpc3Q8S2JxVGFiPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhYkJvZHlXcmFwcGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYkJvZHlXcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgndGFiSGVhZGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYkhlYWRlcjogS2JxVGFiSGVhZGVyO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRyYW5zcGFyZW50OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9uU3VyZmFjZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB1bmRlcmxpbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdGFiIGdyb3VwIHNob3VsZCBncm93IHRvIHRoZSBzaXplIG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkeW5hbWljSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgIH1cblxuICAgIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBhY3RpdmVUYWIoKTogS2JxVGFiIHwgbnVsbCB7XG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSkge1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50YWJzLmdldCh0aGlzLmNsYW1wVGFiSW5kZXgodGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5KSkgfHwgbnVsbDtcbiAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzLnRvQXJyYXkoKS5maW5kKCh7IHRhYklkIH0pID0+IHRhYklkID09PSB0aGlzLmF0dHJpYnV0ZVRvU2VsZWN0QnkpIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFicy5nZXQoMCkgfHxcbiAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSh0aGlzLnRhYnMudG9BcnJheSgpKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGFicy5nZXQoMCkgfHwgbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldCBhY3RpdmVUYWIodmFsdWU6IEticVRhYlNlbGVjdEJ5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZVRvU2VsZWN0QnkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogUG9zaXRpb24gb2YgdGhlIHRhYiBoZWFkZXIuICovXG4gICAgQElucHV0KCkgaGVhZGVyUG9zaXRpb246IEticVRhYkhlYWRlclBvc2l0aW9uID0gJ2Fib3ZlJztcblxuICAgIC8qKiBEdXJhdGlvbiBmb3IgdGhlIHRhYiBhbmltYXRpb24uIE11c3QgYmUgYSB2YWxpZCBDU1MgdmFsdWUgKGUuZy4gNjAwbXMpLiAqL1xuICAgIEBJbnB1dCgpIGFuaW1hdGlvbkR1cmF0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogT3V0cHV0IHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0d28td2F5IGJpbmRpbmcgb24gYFsoc2VsZWN0ZWRJbmRleCldYCAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdGFiIHNlbGVjdGlvbiBoYXMgY2hhbmdlZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYWN0aXZlVGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyIHwgS2JxVGFiPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICAgIHN0cmluZyB8IG51bWJlciB8IEticVRhYlxuICAgID4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZm9jdXMgaGFzIGNoYW5nZWQgd2l0aGluIGEgdGFiIGdyb3VwLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPEticVRhYkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxVGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBib2R5IGFuaW1hdGlvbiBoYXMgY29tcGxldGVkICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGFuaW1hdGlvbkRvbmU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHRhYiBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkVGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8S2JxVGFiQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFUYWJDaGFuZ2VFdmVudD4odHJ1ZSk7XG5cbiAgICBwcml2YXRlIGF0dHJpYnV0ZVRvU2VsZWN0Qnk6IEticVRhYlNlbGVjdEJ5IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogU25hcHNob3Qgb2YgdGhlIGhlaWdodCBvZiB0aGUgdGFiIGJvZHkgd3JhcHBlciBiZWZvcmUgYW5vdGhlciB0YWIgaXMgYWN0aXZhdGVkLiAqL1xuICAgIHByaXZhdGUgdGFiQm9keVdyYXBwZXJIZWlnaHQgPSAwO1xuXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byB0YWJzIGJlaW5nIGFkZGVkL3JlbW92ZWQuICovXG4gICAgcHJpdmF0ZSB0YWJzU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byBjaGFuZ2VzIGluIHRoZSB0YWIgbGFiZWxzLiAqL1xuICAgIHByaXZhdGUgdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3VwSWQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZURlYm91bmNlSW50ZXJ2YWw6IG51bWJlciA9IDEwMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChLQlFfVEFCU19DT05GSUcpIEBPcHRpb25hbCgpIGRlZmF1bHRDb25maWc/OiBLYnFUYWJzQ29uZmlnXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgICAgIHRoaXMuZ3JvdXBJZCA9IG5leHRJZCsrO1xuICAgICAgICB0aGlzLmFuaW1hdGlvbkR1cmF0aW9uID0gZGVmYXVsdENvbmZpZz8uYW5pbWF0aW9uRHVyYXRpb24gfHwgJzBtcyc7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1Jlc2l6ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFmdGVyIHRoZSBjb250ZW50IGlzIGNoZWNrZWQsIHRoaXMgY29tcG9uZW50IGtub3dzIHdoYXQgdGFicyBoYXZlIGJlZW4gZGVmaW5lZFxuICAgICAqIGFuZCB3aGF0IHRoZSBzZWxlY3RlZCBpbmRleCBzaG91bGQgYmUuIFRoaXMgaXMgd2hlcmUgd2UgY2FuIGtub3cgZXhhY3RseSB3aGF0IHBvc2l0aW9uXG4gICAgICogZWFjaCB0YWIgc2hvdWxkIGJlIGluIGFjY29yZGluZyB0byB0aGUgbmV3IHNlbGVjdGVkIGluZGV4LCBhbmQgYWRkaXRpb25hbGx5IHdlIGtub3cgaG93XG4gICAgICogYSBuZXcgc2VsZWN0ZWQgdGFiIHNob3VsZCB0cmFuc2l0aW9uIGluIChmcm9tIHRoZSBsZWZ0IG9yIHJpZ2h0KS5cbiAgICAgKi9cbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgICAgIC8vIERvbid0IGNsYW1wIHRoZSBgaW5kZXhUb1NlbGVjdGAgaW1tZWRpYXRlbHkgaW4gdGhlIHNldHRlciBiZWNhdXNlIGl0IGNhbiBoYXBwZW4gdGhhdFxuICAgICAgICAvLyB0aGUgYW1vdW50IG9mIHRhYnMgY2hhbmdlcyBiZWZvcmUgdGhlIGFjdHVhbCBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMuXG4gICAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLmdldFRhYkluZGV4VG9TZWxlY3QoKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiBzZWxlY3RlZCBpbmRleCwgZW1pdCBhIGNoYW5nZSBldmVudC4gU2hvdWxkIG5vdCB0cmlnZ2VyIGlmXG4gICAgICAgIC8vIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLlxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gaW5kZXhUb1NlbGVjdCkge1xuICAgICAgICAgICAgY29uc3QgaXNGaXJzdFJ1biA9IHRoaXMuX3NlbGVjdGVkSW5kZXggPT0gbnVsbDtcblxuICAgICAgICAgICAgaWYgKCFpc0ZpcnN0UnVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXhUb1NlbGVjdCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGFuZ2luZyB0aGVzZSB2YWx1ZXMgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvbiBoYXMgcnVuXG4gICAgICAgICAgICAvLyBzaW5jZSB0aGUgY2hlY2tlZCBjb250ZW50IG1heSBjb250YWluIHJlZmVyZW5jZXMgdG8gdGhlbS5cbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiAodGFiLmlzQWN0aXZlID0gaW5kZXggPT09IGluZGV4VG9TZWxlY3QpKTtcblxuICAgICAgICAgICAgICAgIGlmICghaXNGaXJzdFJ1bikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJUb1NlbGVjdCA9IHRoaXMuYWN0aXZlVGFiO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KGluZGV4VG9TZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5ICYmIHR5cGVvZiB0aGlzLmF0dHJpYnV0ZVRvU2VsZWN0QnkgPT09ICdmdW5jdGlvbicgJiYgdGFiVG9TZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRhYlRvU2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAodGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5IGFzIHN0cmluZyB8IG51bWJlcilcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldHVwIHRoZSBwb3NpdGlvbiBmb3IgZWFjaCB0YWIgYW5kIG9wdGlvbmFsbHkgc2V0dXAgYW4gb3JpZ2luIG9uIHRoZSBuZXh0IHNlbGVjdGVkIHRhYi5cbiAgICAgICAgdGhpcy50YWJzLmZvckVhY2goKHRhYjogS2JxVGFiLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBzZWxlY3RlZCB0YWIsIHRoZW4gc2V0IHVwIGFuIG9yaWdpbiBmb3IgdGhlIG5leHQgc2VsZWN0ZWQgdGFiXG4gICAgICAgICAgICAvLyBpZiBpdCBkb2Vzbid0IGhhdmUgb25lIGFscmVhZHkuXG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9IG51bGwgJiYgdGFiLnBvc2l0aW9uID09PSAwICYmICF0YWIub3JpZ2luKSB7XG4gICAgICAgICAgICAgICAgdGFiLm9yaWdpbiA9IGluZGV4VG9TZWxlY3QgLSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gaW5kZXhUb1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IGluZGV4VG9TZWxlY3Q7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIGFtb3VudCBvZiB0YWJzLCBpbiBvcmRlciB0byBiZVxuICAgICAgICAvLyBhYmxlIHRvIHJlLXJlbmRlciB0aGUgY29udGVudCBhcyBuZXcgdGFicyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICAgICAgdGhpcy50YWJzU3Vic2NyaXB0aW9uID0gdGhpcy50YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLmNsYW1wVGFiSW5kZXgodGhpcy5pbmRleFRvU2VsZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLmdldFRhYkluZGV4VG9TZWxlY3QoKTtcblxuICAgICAgICAgICAgLy8gTWFpbnRhaW4gdGhlIHByZXZpb3VzbHktc2VsZWN0ZWQgdGFiIGlmIGEgbmV3IHRhYiBpcyBhZGRlZCBvciByZW1vdmVkIGFuZCB0aGVyZSBpcyBub1xuICAgICAgICAgICAgLy8gZXhwbGljaXQgY2hhbmdlIHRoYXQgc2VsZWN0cyBhIGRpZmZlcmVudCB0YWIuXG4gICAgICAgICAgICBpZiAoaW5kZXhUb1NlbGVjdCA9PT0gdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YWJzW2ldLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBc3NpZ24gYm90aCB0byB0aGUgYGFjdGl2ZVRhYmAgYW5kIGBfc2VsZWN0ZWRJbmRleGAgc28gd2UgZG9uJ3QgZmlyZSBhIGNoYW5nZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV2ZW50LCBvdGhlcndpc2UgdGhlIGNvbnN1bWVyIG1heSBlbmQgdXAgaW4gYW4gaW5maW5pdGUgbG9vcCBpbiBzb21lIGVkZ2UgY2FzZXMgbGlrZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkaW5nIGEgdGFiIHdpdGhpbiB0aGUgYHNlbGVjdGVkSW5kZXhDaGFuZ2VgIGV2ZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2VsZWN0Rm9jdXNlZEluZGV4KGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UYWJMYWJlbHMoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudGFic1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2VkKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mb2N1c0NoYW5nZS5lbWl0KHRoaXMuY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXgpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhIHVuaXF1ZSBpZCBmb3IgZWFjaCB0YWIgbGFiZWwgZWxlbWVudCAqL1xuICAgIGdldFRhYkxhYmVsSWQoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBrYnEtdGFiLWxhYmVsLSR7dGhpcy5ncm91cElkfS0ke2l9YDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhIHVuaXF1ZSBpZCBmb3IgZWFjaCB0YWIgY29udGVudCBlbGVtZW50ICovXG4gICAgZ2V0VGFiQ29udGVudElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBga2JxLXRhYi1jb250ZW50LSR7dGhpcy5ncm91cElkfS0ke2l9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGJvZHkgd3JhcHBlciB0byB0aGUgaGVpZ2h0IG9mIHRoZSBhY3RpdmF0aW5nIHRhYiBpZiBkeW5hbWljXG4gICAgICogaGVpZ2h0IHByb3BlcnR5IGlzIHRydWUuXG4gICAgICovXG4gICAgc2V0VGFiQm9keVdyYXBwZXJIZWlnaHQodGFiSGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmR5bmFtaWNIZWlnaHQgfHwgIXRoaXMudGFiQm9keVdyYXBwZXJIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyYXBwZXI6IEhUTUxFbGVtZW50ID0gdGhpcy50YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy50YWJCb2R5V3JhcHBlckhlaWdodH1weGA7XG5cbiAgICAgICAgLy8gVGhpcyBjb25kaXRpb25hbCBmb3JjZXMgdGhlIGJyb3dzZXIgdG8gcGFpbnQgdGhlIGhlaWdodCBzbyB0aGF0XG4gICAgICAgIC8vIHRoZSBhbmltYXRpb24gdG8gdGhlIG5ldyBoZWlnaHQgY2FuIGhhdmUgYW4gb3JpZ2luLlxuICAgICAgICBpZiAodGhpcy50YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgICAgICAgd3JhcHBlci5zdHlsZS5oZWlnaHQgPSBgJHt0YWJIZWlnaHR9cHhgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgdGhlIGhlaWdodCBvZiB0aGUgdGFiIGJvZHkgd3JhcHBlci4gKi9cbiAgICByZW1vdmVUYWJCb2R5V3JhcHBlckhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJCb2R5V3JhcHBlckhlaWdodCA9IHRoaXMudGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHRoaXMudGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnJztcbiAgICAgICAgdGhpcy5hbmltYXRpb25Eb25lLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIGNsaWNrIGV2ZW50cywgc2V0dGluZyBuZXcgc2VsZWN0ZWQgaW5kZXggaWYgYXBwcm9wcmlhdGUuICovXG4gICAgaGFuZGxlQ2xpY2sodGFiOiBLYnFUYWIsIHRhYkhlYWRlcjogS2JxVGFiSGVhZGVyLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25TZWxlY3RGb2N1c2VkSW5kZXgoaW5kZXgpO1xuICAgICAgICB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIHRhYmluZGV4IGZvciB0aGUgdGFiLiAqL1xuICAgIGdldFRhYkluZGV4KHRhYjogS2JxVGFiLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXggPyAwIDogLTE7XG4gICAgfVxuXG4gICAgb25TZWxlY3RGb2N1c2VkSW5kZXgoJGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF0dHJpYnV0ZVRvU2VsZWN0QnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9IHRoaXMudGFicy5nZXQoJGV2ZW50KT8udGFiSWQgfHwgbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gJGV2ZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tPdmVyZmxvdyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy50YWJIZWFkZXIuaXRlbXMuZm9yRWFjaCgoaGVhZGVyVGFiKSA9PiBoZWFkZXJUYWIuY2hlY2tPdmVyZmxvdygpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaGFuZ2VFdmVudChpbmRleDogbnVtYmVyKTogS2JxVGFiQ2hhbmdlRXZlbnQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBLYnFUYWJDaGFuZ2VFdmVudCgpO1xuICAgICAgICBldmVudC5pbmRleCA9IGluZGV4O1xuXG4gICAgICAgIGlmICh0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmxlbmd0aCkge1xuICAgICAgICAgICAgZXZlbnQudGFiID0gdGhpcy50YWJzLnRvQXJyYXkoKVtpbmRleF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byBjaGFuZ2VzIGluIHRoZSB0YWIgbGFiZWxzLiBUaGlzIGlzIG5lZWRlZCwgYmVjYXVzZSB0aGUgQElucHV0IGZvciB0aGUgbGFiZWwgaXNcbiAgICAgKiBvbiB0aGUgS2JxVGFiIGNvbXBvbmVudCwgd2hlcmVhcyB0aGUgZGF0YSBiaW5kaW5nIGlzIGluc2lkZSB0aGUgS2JxVGFiR3JvdXAuIEluIG9yZGVyIGZvciB0aGVcbiAgICAgKiBiaW5kaW5nIHRvIGJlIHVwZGF0ZWQsIHdlIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gaXQgYW5kIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAqIG1hbnVhbGx5LlxuICAgICAqL1xuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9UYWJMYWJlbHMoKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYkxhYmVsU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRhYkxhYmVsU3Vic2NyaXB0aW9uID0gbWVyZ2UoLi4udGhpcy50YWJzLm1hcCgodGFiKSA9PiB0YWIuc3RhdGVDaGFuZ2VzKSkuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb1Jlc2l6ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZlcnRpY2FsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXNpemVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5yZXNpemVEZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5jaGVja092ZXJmbG93KTtcbiAgICB9XG5cbiAgICAvKiogQ2xhbXBzIHRoZSBnaXZlbiBpbmRleCB0byB0aGUgYm91bmRzIG9mIDAgYW5kIHRoZSB0YWJzIGxlbmd0aC4gKi9cbiAgICBwcml2YXRlIGNsYW1wVGFiSW5kZXgoaW5kZXg6IG51bWJlciB8IG51bGwpOiBudW1iZXIge1xuICAgICAgICAvLyBOb3RlIHRoZSBgfHwgMGAsIHdoaWNoIGVuc3VyZXMgdGhhdCB2YWx1ZXMgbGlrZSBOYU4gY2FuJ3QgZ2V0IHRocm91Z2hcbiAgICAgICAgLy8gYW5kIHdoaWNoIHdvdWxkIG90aGVyd2lzZSB0aHJvdyB0aGUgY29tcG9uZW50IGludG8gYW4gaW5maW5pdGUgbG9vcFxuICAgICAgICAvLyAoc2luY2UgTWF0aC5tYXgoTmFOLCAwKSA9PT0gTmFOKS5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMudGFicy5sZW5ndGggLSAxLCBNYXRoLm1heChpbmRleCB8fCAwLCAwKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJJbmRleFRvU2VsZWN0KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZFRhYiA9IHRoaXMuYWN0aXZlVGFiO1xuICAgICAgICBpZiAoY3VycmVudFNlbGVjdGVkVGFiID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJzPy50b0FycmF5KCkuaW5kZXhPZihjdXJyZW50U2VsZWN0ZWRUYWIpO1xuICAgIH1cbn1cbiIsIjxrYnEtdGFiLWhlYWRlclxuICAgICN0YWJIZWFkZXJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICBbdW5kZXJsaW5lZF09XCJ1bmRlcmxpbmVkXCJcbiAgICBbdmVydGljYWxdPVwidmVydGljYWxcIlxuICAgIChpbmRleEZvY3VzZWQpPVwiZm9jdXNDaGFuZ2VkKCRldmVudClcIlxuICAgIChzZWxlY3RGb2N1c2VkSW5kZXgpPVwib25TZWxlY3RGb2N1c2VkSW5kZXgoJGV2ZW50KVwiXG4+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAgICAgICAgICAga2JxVGFiTGFiZWxXcmFwcGVyXG4gICAgICAgICAgICBjbGFzcz1cImticS10YWItbGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiSW5kZXgodGFiLCBpKVwiXG4gICAgICAgICAgICBbY2xhc3Mua2JxLXNlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgICAgICAgICAgW2NsYXNzLmticS10YWItbGFiZWxfZW1wdHldPVwidGFiLmVtcHR5XCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWxhYmVsX2hvcml6b250YWxdPVwiIXZlcnRpY2FsXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWxhYmVsX3VuZGVybGluZWRdPVwidW5kZXJsaW5lZFwiXG4gICAgICAgICAgICBbY2xhc3Mua2JxLXRhYi1sYWJlbF92ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtpZF09XCJnZXRUYWJMYWJlbElkKGkpXCJcbiAgICAgICAgICAgIFtrYnFQbGFjZW1lbnRdPVwidGFiLnRvb2x0aXBQbGFjZW1lbnRcIlxuICAgICAgICAgICAgW2ticVRvb2x0aXBdPVwidGFiLnRvb2x0aXBUaXRsZVwiXG4gICAgICAgICAgICBba2JxVG9vbHRpcERpc2FibGVkXT1cIiF0YWIuZW1wdHkgJiYgIXRhYi5pc092ZXJmbG93blwiXG4gICAgICAgICAgICBba2JxVHJpZ2dlcl09XCInaG92ZXIsIGZvY3VzJ1wiXG4gICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAjbGFiZWxDb250ZW50IGNsYXNzPVwia2JxLXRhYi1sYWJlbF9fY29udGVudFwiIFtjbGFzcy5rYnEtdGFiLWxhYmVsX190ZW1wbGF0ZV09XCJ0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgICAgICAgIDwhLS0gSWYgdGhlcmUgaXMgYSBsYWJlbCB0ZW1wbGF0ZSwgdXNlIGl0LiAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKHRhYi50ZW1wbGF0ZUxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPCEtLSBJZiB0aGVyZSBpcyBub3QgYSBsYWJlbCB0ZW1wbGF0ZSwgZmFsbCBiYWNrIHRvIHRoZSB0ZXh0IGxhYmVsLiAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKCF0YWIudGVtcGxhdGVMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICB7eyB0YWIudGV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwva2JxLXRhYi1oZWFkZXI+XG5cbjxkaXYgI3RhYkJvZHlXcmFwcGVyIGNsYXNzPVwia2JxLXRhYi1ib2R5X193cmFwcGVyXCI+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGticS10YWItYm9keVxuICAgICAgICAgICAgW2FuaW1hdGlvbkR1cmF0aW9uXT1cImFuaW1hdGlvbkR1cmF0aW9uXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWJvZHlfX2FjdGl2ZV09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInRhYi5jb250ZW50IVwiXG4gICAgICAgICAgICBbaWRdPVwiZ2V0VGFiQ29udGVudElkKGkpXCJcbiAgICAgICAgICAgIFtvcmlnaW5dPVwidGFiLm9yaWdpbiFcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInRhYi5wb3NpdGlvbiFcIlxuICAgICAgICAgICAgKG9uQ2VudGVyZWQpPVwicmVtb3ZlVGFiQm9keVdyYXBwZXJIZWlnaHQoKVwiXG4gICAgICAgICAgICAob25DZW50ZXJpbmcpPVwic2V0VGFiQm9keVdyYXBwZXJIZWlnaHQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxlQUFlLEVBRWYsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBT3pDLE1BQU0sT0FBTywyQkFBMkI7aUlBQTNCLDJCQUEyQjtxSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFDSix1SEFBdUg7b0JBQzNILElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtpQkFDdkQ7O0FBUUQsTUFBTSxPQUFPLHdCQUF3QjtpSUFBeEIsd0JBQXdCO3FIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7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QUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUlsQyxhQUFhO3NCQURoQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFZakMsU0FBUztzQkFEWixLQUFLO2dCQXVCRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBY25CLG1CQUFtQjtzQkFBckMsTUFBTTtnQkFHWSxlQUFlO3NCQUFqQyxNQUFNO2dCQUtZLFdBQVc7c0JBQTdCLE1BQU07Z0JBR1ksYUFBYTtzQkFBL0IsTUFBTTtnQkFHWSxpQkFBaUI7c0JBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudENoZWNrZWQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtCUV9QQVJFTlRfQU5JTUFUSU9OX0NPTVBPTkVOVCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEticVRhYkhlYWRlciB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxVGFiIH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdrYnEtdGFiLWdyb3VwW2ticS1hbGlnbi10YWJzLWNlbnRlcl0sIFtrYnEtdGFiLW5hdi1iYXJdW2ticS1hbGlnbi10YWJzLWNlbnRlcl0sIFtrYnFUYWJOYXZCYXJdW2ticS1hbGlnbi10YWJzLWNlbnRlcl0nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdrYnEtdGFiLWdyb3VwX2FsaWduLWxhYmVscy1jZW50ZXInIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQWxpZ25UYWJzQ2VudGVyQ3NzU3R5bGVyIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOlxuICAgICAgICAna2JxLXRhYi1ncm91cFtrYnEtYWxpZ24tdGFicy1lbmRdLCBba2JxLXRhYi1uYXYtYmFyXVtrYnEtYWxpZ24tdGFicy1lbmRdLCBba2JxVGFiTmF2QmFyXVtrYnEtYWxpZ24tdGFicy1lbmRdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLXRhYi1ncm91cF9hbGlnbi1sYWJlbHMtZW5kJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticUFsaWduVGFic0VuZENzc1N0eWxlciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS10YWItZ3JvdXBba2JxLXN0cmV0Y2gtdGFic10sIFtrYnEtdGFiLW5hdi1iYXJdW2ticS1zdHJldGNoLXRhYnNdLCBba2JxVGFiTmF2QmFyXVtrYnEtc3RyZXRjaC10YWJzXScsXG4gICAgaG9zdDogeyBjbGFzczogJ2ticS10YWItZ3JvdXBfc3RyZXRjaC1sYWJlbHMnIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxU3RyZXRjaFRhYnNDc3NTdHlsZXIge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdGFiLWdyb3VwW3ZlcnRpY2FsXSwgW2ticS10YWItbmF2LWJhcl1bdmVydGljYWxdLCBba2JxVGFiTmF2QmFyXVt2ZXJ0aWNhbF0nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdrYnEtdGFiLWdyb3VwX3ZlcnRpY2FsJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticVZlcnRpY2FsVGFic0Nzc1N0eWxlciB7fVxuXG4vKiogVXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgSUQncyBmb3IgZWFjaCB0YWIgY29tcG9uZW50ICovXG5sZXQgbmV4dElkID0gMDtcblxuLyoqIEEgc2ltcGxlIGNoYW5nZSBldmVudCBlbWl0dGVkIG9uIGZvY3VzIG9yIHNlbGVjdGlvbiBjaGFuZ2VzLiAqL1xuZXhwb3J0IGNsYXNzIEticVRhYkNoYW5nZUV2ZW50IHtcbiAgICAvKiogSW5kZXggb2YgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCB0YWIuICovXG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgdGFiLiAqL1xuICAgIHRhYjogS2JxVGFiO1xufVxuXG4vKiogUG9zc2libGUgcG9zaXRpb25zIGZvciB0aGUgdGFiIGhlYWRlci4gKi9cbmV4cG9ydCB0eXBlIEticVRhYkhlYWRlclBvc2l0aW9uID0gJ2Fib3ZlJyB8ICdiZWxvdyc7XG5cbi8qKiBPYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25maWd1cmUgdGhlIGRlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIHRhYnMgbW9kdWxlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYnFUYWJzQ29uZmlnIHtcbiAgICAvKiogRHVyYXRpb24gZm9yIHRoZSB0YWIgYW5pbWF0aW9uLiBNdXN0IGJlIGEgdmFsaWQgQ1NTIHZhbHVlIChlLmcuIDYwMG1zKS4gKi9cbiAgICBhbmltYXRpb25EdXJhdGlvbj86IHN0cmluZztcbn1cblxuLyoqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHByb3ZpZGUgdGhlIGRlZmF1bHQgb3B0aW9ucyB0aGUgdGFicyBtb2R1bGUuICovXG5leHBvcnQgY29uc3QgS0JRX1RBQlNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEticVRhYnNDb25maWc+KCdLQlFfVEFCU19DT05GSUcnKTtcblxuZXhwb3J0IHR5cGUgS2JxVGFiU2VsZWN0QnkgPSBzdHJpbmcgfCBudW1iZXIgfCAoKHRhYnM6IEticVRhYltdKSA9PiBLYnFUYWIgfCBudWxsKTtcblxuLyoqXG4gKiBUYWItZ3JvdXAgY29tcG9uZW50LiAgU3VwcG9ydHMgYmFzaWMgdGFiIHBhaXJzIChsYWJlbCArIGNvbnRlbnQpIGFuZCBpbmNsdWRlcyBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10YWItZ3JvdXAnLFxuICAgIGV4cG9ydEFzOiAna2JxVGFiR3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItZ3JvdXAuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFiLWdyb3VwLnNjc3MnLCAnLi90YWJzLXRva2Vucy5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRhYi1ncm91cCcsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF9maWxsZWRdJzogJyF0cmFuc3BhcmVudCcsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF90cmFuc3BhcmVudF0nOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAnW2NsYXNzLmticS10YWItZ3JvdXBfb24tYmFja2dyb3VuZF0nOiAnIW9uU3VyZmFjZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1ncm91cF9vbi1zdXJmYWNlXSc6ICdvblN1cmZhY2UnLFxuICAgICAgICAnW2NsYXNzLmticS10YWItZ3JvdXBfZHluYW1pYy1oZWlnaHRdJzogJ2R5bmFtaWNIZWlnaHQnLFxuICAgICAgICAnW2NsYXNzLmticS10YWItZ3JvdXBfaW52ZXJ0ZWQtaGVhZGVyXSc6ICdoZWFkZXJQb3NpdGlvbiA9PT0gXCJiZWxvd1wiJyxcbiAgICAgICAgJyh3aW5kb3c6cmVzaXplKSc6ICdyZXNpemVTdHJlYW0ubmV4dCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBLQlFfUEFSRU5UX0FOSU1BVElPTl9DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHRoaXMpIH1dXG59KVxuZXhwb3J0IGNsYXNzIEticVRhYkdyb3VwIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxVGFiKSB0YWJzOiBRdWVyeUxpc3Q8S2JxVGFiPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhYkJvZHlXcmFwcGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYkJvZHlXcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgndGFiSGVhZGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYkhlYWRlcjogS2JxVGFiSGVhZGVyO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRyYW5zcGFyZW50OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9uU3VyZmFjZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB1bmRlcmxpbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdGFiIGdyb3VwIHNob3VsZCBncm93IHRvIHRoZSBzaXplIG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkeW5hbWljSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NlbGVjdGVkSW5kZXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFjdGl2ZVRhYigpOiBLYnFUYWIgfCBudWxsIHtcbiAgICAgICAgc3dpdGNoICh0eXBlb2YgdGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5KSB7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRhYnMuZ2V0KHRoaXMuY2xhbXBUYWJJbmRleCh0aGlzLmF0dHJpYnV0ZVRvU2VsZWN0QnkpKSB8fCBudWxsO1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYnMudG9BcnJheSgpLmZpbmQoKHsgdGFiSWQgfSkgPT4gdGFiSWQgPT09IHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSkgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJzLmdldCgwKSB8fFxuICAgICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5KHRoaXMudGFicy50b0FycmF5KCkpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50YWJzLmdldCgwKSB8fCBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0IGFjdGl2ZVRhYih2YWx1ZTogS2JxVGFiU2VsZWN0QnkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgdGFiIGhlYWRlci4gKi9cbiAgICBASW5wdXQoKSBoZWFkZXJQb3NpdGlvbjogS2JxVGFiSGVhZGVyUG9zaXRpb24gPSAnYWJvdmUnO1xuXG4gICAgLyoqIER1cmF0aW9uIGZvciB0aGUgdGFiIGFuaW1hdGlvbi4gTXVzdCBiZSBhIHZhbGlkIENTUyB2YWx1ZSAoZS5nLiA2MDBtcykuICovXG4gICAgQElucHV0KCkgYW5pbWF0aW9uRHVyYXRpb246IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIE91dHB1dCB0byBlbmFibGUgc3VwcG9ydCBmb3IgdHdvLXdheSBiaW5kaW5nIG9uIGBbKHNlbGVjdGVkSW5kZXgpXWAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHRhYiBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGFjdGl2ZVRhYkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlciB8IEticVRhYj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgICAgICBzdHJpbmcgfCBudW1iZXIgfCBLYnFUYWJcbiAgICA+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGZvY3VzIGhhcyBjaGFuZ2VkIHdpdGhpbiBhIHRhYiBncm91cC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZm9jdXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxLYnFUYWJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEticVRhYkNoYW5nZUV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYm9keSBhbmltYXRpb24gaGFzIGNvbXBsZXRlZCAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBhbmltYXRpb25Eb25lOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB0YWIgc2VsZWN0aW9uIGhhcyBjaGFuZ2VkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZFRhYkNoYW5nZTogRXZlbnRFbWl0dGVyPEticVRhYkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxVGFiQ2hhbmdlRXZlbnQ+KHRydWUpO1xuXG4gICAgcHJpdmF0ZSBhdHRyaWJ1dGVUb1NlbGVjdEJ5OiBLYnFUYWJTZWxlY3RCeSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIFNuYXBzaG90IG9mIHRoZSBoZWlnaHQgb2YgdGhlIHRhYiBib2R5IHdyYXBwZXIgYmVmb3JlIGFub3RoZXIgdGFiIGlzIGFjdGl2YXRlZC4gKi9cbiAgICBwcml2YXRlIHRhYkJvZHlXcmFwcGVySGVpZ2h0ID0gMDtcblxuICAgIC8qKiBTdWJzY3JpcHRpb24gdG8gdGFicyBiZWluZyBhZGRlZC9yZW1vdmVkLiAqL1xuICAgIHByaXZhdGUgdGFic1N1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIC8qKiBTdWJzY3JpcHRpb24gdG8gY2hhbmdlcyBpbiB0aGUgdGFiIGxhYmVscy4gKi9cbiAgICBwcml2YXRlIHRhYkxhYmVsU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBncm91cElkOiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVEZWJvdW5jZUludGVydmFsOiBudW1iZXIgPSAxMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoS0JRX1RBQlNfQ09ORklHKSBAT3B0aW9uYWwoKSBkZWZhdWx0Q29uZmlnPzogS2JxVGFic0NvbmZpZ1xuICAgICkge1xuICAgICAgICB0aGlzLmdyb3VwSWQgPSBuZXh0SWQrKztcbiAgICAgICAgdGhpcy5hbmltYXRpb25EdXJhdGlvbiA9IGRlZmF1bHRDb25maWc/LmFuaW1hdGlvbkR1cmF0aW9uIHx8ICcwbXMnO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9SZXNpemUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZnRlciB0aGUgY29udGVudCBpcyBjaGVja2VkLCB0aGlzIGNvbXBvbmVudCBrbm93cyB3aGF0IHRhYnMgaGF2ZSBiZWVuIGRlZmluZWRcbiAgICAgKiBhbmQgd2hhdCB0aGUgc2VsZWN0ZWQgaW5kZXggc2hvdWxkIGJlLiBUaGlzIGlzIHdoZXJlIHdlIGNhbiBrbm93IGV4YWN0bHkgd2hhdCBwb3NpdGlvblxuICAgICAqIGVhY2ggdGFiIHNob3VsZCBiZSBpbiBhY2NvcmRpbmcgdG8gdGhlIG5ldyBzZWxlY3RlZCBpbmRleCwgYW5kIGFkZGl0aW9uYWxseSB3ZSBrbm93IGhvd1xuICAgICAqIGEgbmV3IHNlbGVjdGVkIHRhYiBzaG91bGQgdHJhbnNpdGlvbiBpbiAoZnJvbSB0aGUgbGVmdCBvciByaWdodCkuXG4gICAgICovXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgICAgICAvLyBEb24ndCBjbGFtcCB0aGUgYGluZGV4VG9TZWxlY3RgIGltbWVkaWF0ZWx5IGluIHRoZSBzZXR0ZXIgYmVjYXVzZSBpdCBjYW4gaGFwcGVuIHRoYXRcbiAgICAgICAgLy8gdGhlIGFtb3VudCBvZiB0YWJzIGNoYW5nZXMgYmVmb3JlIHRoZSBhY3R1YWwgY2hhbmdlIGRldGVjdGlvbiBydW5zLlxuICAgICAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gdGhpcy5nZXRUYWJJbmRleFRvU2VsZWN0KCk7XG5cbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gc2VsZWN0ZWQgaW5kZXgsIGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFNob3VsZCBub3QgdHJpZ2dlciBpZlxuICAgICAgICAvLyB0aGUgc2VsZWN0ZWQgaW5kZXggaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzRmlyc3RSdW4gPSB0aGlzLl9zZWxlY3RlZEluZGV4ID09IG51bGw7XG5cbiAgICAgICAgICAgIGlmICghaXNGaXJzdFJ1bikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdCh0aGlzLmNyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdGhlc2UgdmFsdWVzIGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gaGFzIHJ1blxuICAgICAgICAgICAgLy8gc2luY2UgdGhlIGNoZWNrZWQgY29udGVudCBtYXkgY29udGFpbiByZWZlcmVuY2VzIHRvIHRoZW0uXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiLCBpbmRleCkgPT4gKHRhYi5pc0FjdGl2ZSA9IGluZGV4ID09PSBpbmRleFRvU2VsZWN0KSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFiVG9TZWxlY3QgPSB0aGlzLmFjdGl2ZVRhYjtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXhDaGFuZ2UuZW1pdChpbmRleFRvU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJDaGFuZ2UuZW1pdChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSAmJiB0eXBlb2YgdGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5ID09PSAnZnVuY3Rpb24nICYmIHRhYlRvU2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0YWJUb1NlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHRoaXMuYXR0cmlidXRlVG9TZWxlY3RCeSBhcyBzdHJpbmcgfCBudW1iZXIpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXR1cCB0aGUgcG9zaXRpb24gZm9yIGVhY2ggdGFiIGFuZCBvcHRpb25hbGx5IHNldHVwIGFuIG9yaWdpbiBvbiB0aGUgbmV4dCBzZWxlY3RlZCB0YWIuXG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWI6IEticVRhYiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgdGFiLnBvc2l0aW9uID0gaW5kZXggLSBpbmRleFRvU2VsZWN0O1xuXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgc2VsZWN0ZWQgdGFiLCB0aGVuIHNldCB1cCBhbiBvcmlnaW4gZm9yIHRoZSBuZXh0IHNlbGVjdGVkIHRhYlxuICAgICAgICAgICAgLy8gaWYgaXQgZG9lc24ndCBoYXZlIG9uZSBhbHJlYWR5LlxuXG4gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPSBudWxsICYmIHRhYi5wb3NpdGlvbiA9PT0gMCAmJiAhdGFiLm9yaWdpbikge1xuICAgICAgICAgICAgICAgIHRhYi5vcmlnaW4gPSBpbmRleFRvU2VsZWN0IC0gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1RhYkxhYmVscygpO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIHRoZSBhbW91bnQgb2YgdGFicywgaW4gb3JkZXIgdG8gYmVcbiAgICAgICAgLy8gYWJsZSB0byByZS1yZW5kZXIgdGhlIGNvbnRlbnQgYXMgbmV3IHRhYnMgYXJlIGFkZGVkIG9yIHJlbW92ZWQuXG4gICAgICAgIHRoaXMudGFic1N1YnNjcmlwdGlvbiA9IHRoaXMudGFicy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zdCBpbmRleFRvU2VsZWN0ID0gdGhpcy5jbGFtcFRhYkluZGV4KHRoaXMuaW5kZXhUb1NlbGVjdCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gdGhpcy5nZXRUYWJJbmRleFRvU2VsZWN0KCk7XG5cbiAgICAgICAgICAgIC8vIE1haW50YWluIHRoZSBwcmV2aW91c2x5LXNlbGVjdGVkIHRhYiBpZiBhIG5ldyB0YWIgaXMgYWRkZWQgb3IgcmVtb3ZlZCBhbmQgdGhlcmUgaXMgbm9cbiAgICAgICAgICAgIC8vIGV4cGxpY2l0IGNoYW5nZSB0aGF0IHNlbGVjdHMgYSBkaWZmZXJlbnQgdGFiLlxuICAgICAgICAgICAgaWYgKGluZGV4VG9TZWxlY3QgPT09IHRoaXMuX3NlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJzLnRvQXJyYXkoKTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFicy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFic1tpXS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXNzaWduIGJvdGggdG8gdGhlIGBhY3RpdmVUYWJgIGFuZCBgX3NlbGVjdGVkSW5kZXhgIHNvIHdlIGRvbid0IGZpcmUgYSBjaGFuZ2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVudCwgb3RoZXJ3aXNlIHRoZSBjb25zdW1lciBtYXkgZW5kIHVwIGluIGFuIGluZmluaXRlIGxvb3AgaW4gc29tZSBlZGdlIGNhc2VzIGxpa2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZGluZyBhIHRhYiB3aXRoaW4gdGhlIGBzZWxlY3RlZEluZGV4Q2hhbmdlYCBldmVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdEZvY3VzZWRJbmRleChpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnRhYnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlZChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLmNyZWF0ZUNoYW5nZUV2ZW50KGluZGV4KSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgYSB1bmlxdWUgaWQgZm9yIGVhY2ggdGFiIGxhYmVsIGVsZW1lbnQgKi9cbiAgICBnZXRUYWJMYWJlbElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBga2JxLXRhYi1sYWJlbC0ke3RoaXMuZ3JvdXBJZH0tJHtpfWA7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgYSB1bmlxdWUgaWQgZm9yIGVhY2ggdGFiIGNvbnRlbnQgZWxlbWVudCAqL1xuICAgIGdldFRhYkNvbnRlbnRJZChpOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGticS10YWItY29udGVudC0ke3RoaXMuZ3JvdXBJZH0tJHtpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgaGVpZ2h0IG9mIHRoZSBib2R5IHdyYXBwZXIgdG8gdGhlIGhlaWdodCBvZiB0aGUgYWN0aXZhdGluZyB0YWIgaWYgZHluYW1pY1xuICAgICAqIGhlaWdodCBwcm9wZXJ0eSBpcyB0cnVlLlxuICAgICAqL1xuICAgIHNldFRhYkJvZHlXcmFwcGVySGVpZ2h0KHRhYkhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5keW5hbWljSGVpZ2h0IHx8ICF0aGlzLnRhYkJvZHlXcmFwcGVySGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3cmFwcGVyOiBIVE1MRWxlbWVudCA9IHRoaXMudGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB3cmFwcGVyLnN0eWxlLmhlaWdodCA9IGAke3RoaXMudGFiQm9keVdyYXBwZXJIZWlnaHR9cHhgO1xuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uYWwgZm9yY2VzIHRoZSBicm93c2VyIHRvIHBhaW50IHRoZSBoZWlnaHQgc28gdGhhdFxuICAgICAgICAvLyB0aGUgYW5pbWF0aW9uIHRvIHRoZSBuZXcgaGVpZ2h0IGNhbiBoYXZlIGFuIG9yaWdpbi5cbiAgICAgICAgaWYgKHRoaXMudGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpIHtcbiAgICAgICAgICAgIHdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gYCR7dGFiSGVpZ2h0fXB4YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIHRoZSBoZWlnaHQgb2YgdGhlIHRhYiBib2R5IHdyYXBwZXIuICovXG4gICAgcmVtb3ZlVGFiQm9keVdyYXBwZXJIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFiQm9keVdyYXBwZXJIZWlnaHQgPSB0aGlzLnRhYkJvZHlXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICB0aGlzLnRhYkJvZHlXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZSBjbGljayBldmVudHMsIHNldHRpbmcgbmV3IHNlbGVjdGVkIGluZGV4IGlmIGFwcHJvcHJpYXRlLiAqL1xuICAgIGhhbmRsZUNsaWNrKHRhYjogS2JxVGFiLCB0YWJIZWFkZXI6IEticVRhYkhlYWRlciwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU2VsZWN0Rm9jdXNlZEluZGV4KGluZGV4KTtcbiAgICAgICAgdGFiSGVhZGVyLmZvY3VzSW5kZXggPSBpbmRleDtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSB0YWJpbmRleCBmb3IgdGhlIHRhYi4gKi9cbiAgICBnZXRUYWJJbmRleCh0YWI6IEticVRhYiwgaW5kZXg6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXggPT09IGluZGV4ID8gMCA6IC0xO1xuICAgIH1cblxuICAgIG9uU2VsZWN0Rm9jdXNlZEluZGV4KCRldmVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdHRyaWJ1dGVUb1NlbGVjdEJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0aGlzLnRhYnMuZ2V0KCRldmVudCk/LnRhYklkIHx8IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gJGV2ZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tPdmVyZmxvdyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy50YWJIZWFkZXIuaXRlbXMuZm9yRWFjaCgoaGVhZGVyVGFiKSA9PiBoZWFkZXJUYWIuY2hlY2tPdmVyZmxvdygpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaGFuZ2VFdmVudChpbmRleDogbnVtYmVyKTogS2JxVGFiQ2hhbmdlRXZlbnQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBLYnFUYWJDaGFuZ2VFdmVudCgpO1xuXG4gICAgICAgIGV2ZW50LmluZGV4ID0gaW5kZXg7XG5cbiAgICAgICAgaWYgKHRoaXMudGFicyAmJiB0aGlzLnRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBldmVudC50YWIgPSB0aGlzLnRhYnMudG9BcnJheSgpW2luZGV4XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmVzIHRvIGNoYW5nZXMgaW4gdGhlIHRhYiBsYWJlbHMuIFRoaXMgaXMgbmVlZGVkLCBiZWNhdXNlIHRoZSBASW5wdXQgZm9yIHRoZSBsYWJlbCBpc1xuICAgICAqIG9uIHRoZSBLYnFUYWIgY29tcG9uZW50LCB3aGVyZWFzIHRoZSBkYXRhIGJpbmRpbmcgaXMgaW5zaWRlIHRoZSBLYnFUYWJHcm91cC4gSW4gb3JkZXIgZm9yIHRoZVxuICAgICAqIGJpbmRpbmcgdG8gYmUgdXBkYXRlZCwgd2UgbmVlZCB0byBzdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiBpdCBhbmQgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICogbWFudWFsbHkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb1RhYkxhYmVscygpIHtcbiAgICAgICAgaWYgKHRoaXMudGFiTGFiZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFiTGFiZWxTdWJzY3JpcHRpb24gPSBtZXJnZSguLi50aGlzLnRhYnMubWFwKCh0YWIpID0+IHRhYi5zdGF0ZUNoYW5nZXMpKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvUmVzaXplKCkge1xuICAgICAgICBpZiAoIXRoaXMudmVydGljYWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmNoZWNrT3ZlcmZsb3cpO1xuICAgIH1cblxuICAgIC8qKiBDbGFtcHMgdGhlIGdpdmVuIGluZGV4IHRvIHRoZSBib3VuZHMgb2YgMCBhbmQgdGhlIHRhYnMgbGVuZ3RoLiAqL1xuICAgIHByaXZhdGUgY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgICAgIC8vIE5vdGUgdGhlIGB8fCAwYCwgd2hpY2ggZW5zdXJlcyB0aGF0IHZhbHVlcyBsaWtlIE5hTiBjYW4ndCBnZXQgdGhyb3VnaFxuICAgICAgICAvLyBhbmQgd2hpY2ggd291bGQgb3RoZXJ3aXNlIHRocm93IHRoZSBjb21wb25lbnQgaW50byBhbiBpbmZpbml0ZSBsb29wXG4gICAgICAgIC8vIChzaW5jZSBNYXRoLm1heChOYU4sIDApID09PSBOYU4pLlxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy50YWJzLmxlbmd0aCAtIDEsIE1hdGgubWF4KGluZGV4IHx8IDAsIDApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhYkluZGV4VG9TZWxlY3QoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlbGVjdGVkVGFiID0gdGhpcy5hY3RpdmVUYWI7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTZWxlY3RlZFRhYiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50YWJzPy50b0FycmF5KCkuaW5kZXhPZihjdXJyZW50U2VsZWN0ZWRUYWIpO1xuICAgIH1cbn1cbiIsIjxrYnEtdGFiLWhlYWRlclxuICAgICN0YWJIZWFkZXJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICBbdW5kZXJsaW5lZF09XCJ1bmRlcmxpbmVkXCJcbiAgICBbdmVydGljYWxdPVwidmVydGljYWxcIlxuICAgIChpbmRleEZvY3VzZWQpPVwiZm9jdXNDaGFuZ2VkKCRldmVudClcIlxuICAgIChzZWxlY3RGb2N1c2VkSW5kZXgpPVwib25TZWxlY3RGb2N1c2VkSW5kZXgoJGV2ZW50KVwiXG4+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAgICAgICAgICAga2JxVGFiTGFiZWxXcmFwcGVyXG4gICAgICAgICAgICBjbGFzcz1cImticS10YWItbGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiSW5kZXgodGFiLCBpKVwiXG4gICAgICAgICAgICBbY2xhc3Mua2JxLXNlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgICAgICAgICAgW2NsYXNzLmticS10YWItbGFiZWxfZW1wdHldPVwidGFiLmVtcHR5XCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWxhYmVsX2hvcml6b250YWxdPVwiIXZlcnRpY2FsXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWxhYmVsX3VuZGVybGluZWRdPVwidW5kZXJsaW5lZFwiXG4gICAgICAgICAgICBbY2xhc3Mua2JxLXRhYi1sYWJlbF92ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtpZF09XCJnZXRUYWJMYWJlbElkKGkpXCJcbiAgICAgICAgICAgIFtrYnFQbGFjZW1lbnRdPVwidGFiLnRvb2x0aXBQbGFjZW1lbnRcIlxuICAgICAgICAgICAgW2ticVRvb2x0aXBdPVwidGFiLnRvb2x0aXBUaXRsZVwiXG4gICAgICAgICAgICBba2JxVG9vbHRpcERpc2FibGVkXT1cIiF0YWIuZW1wdHkgJiYgIXRhYi5pc092ZXJmbG93blwiXG4gICAgICAgICAgICBba2JxVHJpZ2dlcl09XCInaG92ZXIsIGZvY3VzJ1wiXG4gICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAjbGFiZWxDb250ZW50IGNsYXNzPVwia2JxLXRhYi1sYWJlbF9fY29udGVudFwiIFtjbGFzcy5rYnEtdGFiLWxhYmVsX190ZW1wbGF0ZV09XCJ0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgICAgICAgIDwhLS0gSWYgdGhlcmUgaXMgYSBsYWJlbCB0ZW1wbGF0ZSwgdXNlIGl0LiAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKHRhYi50ZW1wbGF0ZUxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPCEtLSBJZiB0aGVyZSBpcyBub3QgYSBsYWJlbCB0ZW1wbGF0ZSwgZmFsbCBiYWNrIHRvIHRoZSB0ZXh0IGxhYmVsLiAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKCF0YWIudGVtcGxhdGVMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICB7eyB0YWIudGV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwva2JxLXRhYi1oZWFkZXI+XG5cbjxkaXYgI3RhYkJvZHlXcmFwcGVyIGNsYXNzPVwia2JxLXRhYi1ib2R5X193cmFwcGVyXCI+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGticS10YWItYm9keVxuICAgICAgICAgICAgW2FuaW1hdGlvbkR1cmF0aW9uXT1cImFuaW1hdGlvbkR1cmF0aW9uXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtdGFiLWJvZHlfX2FjdGl2ZV09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInRhYi5jb250ZW50IVwiXG4gICAgICAgICAgICBbaWRdPVwiZ2V0VGFiQ29udGVudElkKGkpXCJcbiAgICAgICAgICAgIFtvcmlnaW5dPVwidGFiLm9yaWdpbiFcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInRhYi5wb3NpdGlvbiFcIlxuICAgICAgICAgICAgKG9uQ2VudGVyZWQpPVwicmVtb3ZlVGFiQm9keVdyYXBwZXJIZWlnaHQoKVwiXG4gICAgICAgICAgICAob25DZW50ZXJpbmcpPVwic2V0VGFiQm9keVdyYXBwZXJIZWlnaHQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -27,11 +27,11 @@ export class KbqTabHeader extends KbqPaginatedTabHeader {
|
|
|
27
27
|
event.preventDefault();
|
|
28
28
|
}
|
|
29
29
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabHeader, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqTabHeader, selector: "kbq-tab-header", inputs: {
|
|
30
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqTabHeader, selector: "kbq-tab-header", inputs: { underlined: ["underlined", "underlined", booleanAttribute] }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.kbq-tab-header_vertical": "vertical", "class.kbq-tab-header_underlined": "underlined", "class.kbq-tab-header__pagination-controls_enabled": "showPaginationControls", "class.kbq-tab-header_rtl": "getLayoutDirection() == 'rtl'" }, classAttribute: "kbq-tab-header" }, queries: [{ propertyName: "items", predicate: KbqTabLabelWrapper }], viewQueries: [{ propertyName: "tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #previousPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_before\"\n [class.kbq-disabled]=\"disableScrollBefore\"\n (click)=\"handlePaginatorClick('before')\"\n (mousedown)=\"handlePaginatorPress('before', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-left_16\"></i>\n</div>\n\n<div #tabListContainer class=\"kbq-tab-header__container\" (keydown)=\"handleKeydown($event)\">\n <div #tabList class=\"kbq-tab-list\" (cdkObserveContent)=\"onContentChanges()\">\n <div class=\"kbq-tab-list__content\">\n <ng-content />\n <div\n class=\"kbq-tab-list__active-tab-underline\"\n [style.left.px]=\"activeTabOffsetLeft\"\n [style.width.px]=\"activeTabOffsetWidth\"\n ></div>\n </div>\n </div>\n</div>\n\n<div\n #nextPaginator\n class=\"kbq-tab-header__pagination kbq-tab-header__pagination_after\"\n [class.kbq-disabled]=\"disableScrollAfter\"\n (click)=\"handlePaginatorClick('after')\"\n (mousedown)=\"handlePaginatorPress('after', $event)\"\n (touchend)=\"stopInterval()\"\n>\n <i kbq-icon=\"kbq-chevron-right_16\"></i>\n</div>\n", styles: [".kbq-tab-header__pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0 var(--kbq-size-m)}.kbq-tab-header__pagination-controls_enabled .kbq-tab-header__pagination{display:flex}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content{padding:8px 0}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after{content:\"\";position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--kbq-line-contrast-less)}.kbq-tab-list__active-tab-underline{display:none}.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__active-tab-underline{display:block;position:absolute;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--kbq-line-contrast);transition:all .2s ease-in-out}.kbq-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.kbq-tab-list__content{display:flex}.kbq-tab-group_align-labels-center .kbq-tab-list__content{justify-content:center}.kbq-tab-group_align-labels-end .kbq-tab-list__content{justify-content:flex-end}.kbq-tab-header_vertical .kbq-tab-list__content{flex-direction:column}.kbq-tab-header__container{display:flex;flex-grow:1;z-index:1;overflow:hidden}.kbq-tab-list{position:relative;width:100%;transition:transform .5s cubic-bezier(.35,0,.25,1)}.kbq-tab-label{position:relative;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:nowrap;cursor:pointer;padding:calc(var(--kbq-tabs-size-tab-item-padding-vertical) - var(--kbq-tabs-size-tab-item-focus-outline-width)) calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width));border-width:var(--kbq-tabs-size-tab-item-focus-outline-width);border-style:solid;border-color:transparent;border-radius:var(--kbq-tabs-size-tab-item-border-radius);outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical){padding-left:14px;padding-right:14px}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-left{padding-left:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical).kbq-tab-label_with-icon-right{padding-right:calc(var(--kbq-tabs-size-tab-item-padding-horizontal) - var(--kbq-tabs-size-tab-item-focus-outline-width))}.kbq-tab-label.kbq-selected{cursor:default}.kbq-tab-label.cdk-keyboard-focused{z-index:1}.kbq-tab-label.kbq-disabled{pointer-events:none}.kbq-tab-label .kbq-tab-label__content{display:flex;align-items:center;gap:var(--kbq-tabs-size-tab-item-content-gap-horizontal)}.kbq-tab-label.kbq-tab-label_underlined:not(.kbq-tab-label_vertical):before{content:\"\";position:absolute;inset:-10px 0}.kbq-tab-label.kbq-tab-label_vertical{justify-content:flex-start}.kbq-tab-label.kbq-tab-label_vertical .kbq-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbq-tab-group_stretch-labels .kbq-tab-label{flex-basis:0;flex-grow:1}\n"], dependencies: [{ kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabHeader, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'kbq-tab-header',
|
|
34
|
+
args: [{ selector: 'kbq-tab-header', outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
35
35
|
class: 'kbq-tab-header',
|
|
36
36
|
'[class.kbq-tab-header_vertical]': 'vertical',
|
|
37
37
|
'[class.kbq-tab-header_underlined]': 'underlined',
|
|
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
57
57
|
type: ViewChild,
|
|
58
58
|
args: ['previousPaginator']
|
|
59
59
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RhYnMvdGFiLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RhYnMvdGFiLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQVNuRTs7Ozs7O0dBTUc7QUFnQkgsTUFBTSxPQUFPLFlBQWEsU0FBUSxxQkFBcUI7SUFmdkQ7O1FBZ0JJLHVDQUF1QztRQUNDLGVBQVUsR0FBWSxLQUFLLENBQUM7S0FtQnZFO0lBWEcsSUFBYyxvQkFBb0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQWMsbUJBQW1CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDO0lBQ3JGLENBQUM7SUFFUyxZQUFZLENBQUMsS0FBb0I7UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7aUlBcEJRLFlBQVk7cUhBQVosWUFBWSxpRkFFRCxnQkFBZ0IsOGFBRW5CLGtCQUFrQixxZUMvQ3ZDLHNzQ0FrQ0E7OzJGRFNhLFlBQVk7a0JBZnhCLFNBQVM7K0JBQ0ksZ0JBQWdCLFdBR2pCLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxPQUFPLFFBQzFDO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLGlDQUFpQyxFQUFFLFVBQVU7d0JBQzdDLG1DQUFtQyxFQUFFLFlBQVk7d0JBQ2pELHFEQUFxRCxFQUFFLHdCQUF3Qjt3QkFDL0UsNEJBQTRCLEVBQUUsK0JBQStCO3FCQUNoRTs4QkFJdUMsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFZ0MsS0FBSztzQkFBMUUsZUFBZTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBQ0QsZ0JBQWdCO3NCQUF6RSxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxPQUFPO3NCQUF2RCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0QsYUFBYTtzQkFBakQsU0FBUzt1QkFBQyxlQUFlO2dCQUNlLGlCQUFpQjtzQkFBekQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFQYWdpbmF0ZWRUYWJIZWFkZXIgfSBmcm9tICcuL3BhZ2luYXRlZC10YWItaGVhZGVyJztcbmltcG9ydCB7IEticVRhYkxhYmVsV3JhcHBlciB9IGZyb20gJy4vdGFiLWxhYmVsLXdyYXBwZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgZGlyZWN0aW9ucyB0aGF0IHNjcm9sbGluZyBjYW4gZ28gaW4gd2hlbiB0aGUgaGVhZGVyJ3MgdGFicyBleGNlZWQgdGhlIGhlYWRlciB3aWR0aC4gJ0FmdGVyJ1xuICogd2lsbCBzY3JvbGwgdGhlIGhlYWRlciB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIHRhYnMgbGlzdCBhbmQgJ2JlZm9yZScgd2lsbCBzY3JvbGwgdG93YXJkcyB0aGVcbiAqIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAqL1xuZXhwb3J0IHR5cGUgU2Nyb2xsRGlyZWN0aW9uID0gJ2FmdGVyJyB8ICdiZWZvcmUnO1xuXG4vKipcbiAqIFRoZSBoZWFkZXIgb2YgdGhlIHRhYiBncm91cCB3aGljaCBkaXNwbGF5cyBhIGxpc3Qgb2YgYWxsIHRoZSB0YWJzIGluIHRoZSB0YWIgZ3JvdXAuXG4gKiBXaGVuIHRoZSB0YWJzIGxpc3QncyB3aWR0aCBleGNlZWRzIHRoZSB3aWR0aCBvZiB0aGUgaGVhZGVyIGNvbnRhaW5lcixcbiAqIHRoZW4gYXJyb3dzIHdpbGwgYmUgZGlzcGxheWVkIHRvIGFsbG93IHRoZSB1c2VyIHRvIHNjcm9sbFxuICogbGVmdCBhbmQgcmlnaHQgYWNyb3NzIHRoZSBoZWFkZXIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRhYi1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItaGVhZGVyLmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi90YWItaGVhZGVyLnNjc3MnLFxuICAgIG91dHB1dHM6IFsnc2VsZWN0Rm9jdXNlZEluZGV4JywgJ2luZGV4Rm9jdXNlZCddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdGFiLWhlYWRlcicsXG4gICAgICAgICdbY2xhc3Mua2JxLXRhYi1oZWFkZXJfdmVydGljYWxdJzogJ3ZlcnRpY2FsJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWhlYWRlcl91bmRlcmxpbmVkXSc6ICd1bmRlcmxpbmVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWhlYWRlcl9fcGFnaW5hdGlvbi1jb250cm9sc19lbmFibGVkXSc6ICdzaG93UGFnaW5hdGlvbkNvbnRyb2xzJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGFiLWhlYWRlcl9ydGxdJzogXCJnZXRMYXlvdXREaXJlY3Rpb24oKSA9PSAncnRsJ1wiXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUYWJIZWFkZXIgZXh0ZW5kcyBLYnFQYWdpbmF0ZWRUYWJIZWFkZXIge1xuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJzIGFyZSB1bmRlcmxpbmVkLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB1bmRlcmxpbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEticVRhYkxhYmVsV3JhcHBlciwgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxLYnFUYWJMYWJlbFdyYXBwZXI+O1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkxpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSByZWFkb25seSB0YWJMaXN0Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkxpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSByZWFkb25seSB0YWJMaXN0OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ25leHRQYWdpbmF0b3InKSByZWFkb25seSBuZXh0UGFnaW5hdG9yOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdwcmV2aW91c1BhZ2luYXRvcicpIHJlYWRvbmx5IHByZXZpb3VzUGFnaW5hdG9yOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByb3RlY3RlZCBnZXQgYWN0aXZlVGFiT2Zmc2V0V2lkdGgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmdldCh0aGlzLnNlbGVjdGVkSW5kZXgpPy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFjdGl2ZVRhYk9mZnNldExlZnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmdldCh0aGlzLnNlbGVjdGVkSW5kZXgpPy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRMZWZ0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpdGVtU2VsZWN0ZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI3ByZXZpb3VzUGFnaW5hdG9yXG4gICAgY2xhc3M9XCJrYnEtdGFiLWhlYWRlcl9fcGFnaW5hdGlvbiBrYnEtdGFiLWhlYWRlcl9fcGFnaW5hdGlvbl9iZWZvcmVcIlxuICAgIFtjbGFzcy5rYnEtZGlzYWJsZWRdPVwiZGlzYWJsZVNjcm9sbEJlZm9yZVwiXG4gICAgKGNsaWNrKT1cImhhbmRsZVBhZ2luYXRvckNsaWNrKCdiZWZvcmUnKVwiXG4gICAgKG1vdXNlZG93bik9XCJoYW5kbGVQYWdpbmF0b3JQcmVzcygnYmVmb3JlJywgJGV2ZW50KVwiXG4gICAgKHRvdWNoZW5kKT1cInN0b3BJbnRlcnZhbCgpXCJcbj5cbiAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLWxlZnRfMTZcIj48L2k+XG48L2Rpdj5cblxuPGRpdiAjdGFiTGlzdENvbnRhaW5lciBjbGFzcz1cImticS10YWItaGVhZGVyX19jb250YWluZXJcIiAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKCRldmVudClcIj5cbiAgICA8ZGl2ICN0YWJMaXN0IGNsYXNzPVwia2JxLXRhYi1saXN0XCIgKGNka09ic2VydmVDb250ZW50KT1cIm9uQ29udGVudENoYW5nZXMoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLXRhYi1saXN0X19jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLXRhYi1saXN0X19hY3RpdmUtdGFiLXVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiYWN0aXZlVGFiT2Zmc2V0TGVmdFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImFjdGl2ZVRhYk9mZnNldFdpZHRoXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICAgICNuZXh0UGFnaW5hdG9yXG4gICAgY2xhc3M9XCJrYnEtdGFiLWhlYWRlcl9fcGFnaW5hdGlvbiBrYnEtdGFiLWhlYWRlcl9fcGFnaW5hdGlvbl9hZnRlclwiXG4gICAgW2NsYXNzLmticS1kaXNhYmxlZF09XCJkaXNhYmxlU2Nyb2xsQWZ0ZXJcIlxuICAgIChjbGljayk9XCJoYW5kbGVQYWdpbmF0b3JDbGljaygnYWZ0ZXInKVwiXG4gICAgKG1vdXNlZG93bik9XCJoYW5kbGVQYWdpbmF0b3JQcmVzcygnYWZ0ZXInLCAkZXZlbnQpXCJcbiAgICAodG91Y2hlbmQpPVwic3RvcEludGVydmFsKClcIlxuPlxuICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tcmlnaHRfMTZcIj48L2k+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { ContentChild, Directive, ElementRef, Input, Renderer2 } from '@angular/core';
|
|
2
|
-
import { mixinDisabled } from '@koobiq/components/core';
|
|
1
|
+
import { booleanAttribute, ContentChild, Directive, ElementRef, Input, Renderer2 } from '@angular/core';
|
|
3
2
|
import { KbqTab } from './tab.component';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
// Boilerplate for applying mixins to KbqTabLabelWrapper.
|
|
6
|
-
/** @docs-private */
|
|
7
|
-
export class KbqTabLabelWrapperBase {
|
|
8
|
-
}
|
|
9
|
-
/** @docs-private */
|
|
10
|
-
export const KbqTabLabelWrapperMixinBase = mixinDisabled(KbqTabLabelWrapperBase);
|
|
11
4
|
/**
|
|
12
5
|
* Used in the `kbq-tab-group` view to display tab labels.
|
|
13
6
|
* @docs-private
|
|
14
7
|
*/
|
|
15
|
-
export class KbqTabLabelWrapper
|
|
8
|
+
export class KbqTabLabelWrapper {
|
|
9
|
+
get disabled() {
|
|
10
|
+
return this._disabled;
|
|
11
|
+
}
|
|
12
|
+
set disabled(value) {
|
|
13
|
+
if (value !== this.disabled) {
|
|
14
|
+
this._disabled = value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
16
17
|
constructor(elementRef, renderer) {
|
|
17
|
-
super();
|
|
18
18
|
this.elementRef = elementRef;
|
|
19
19
|
this.renderer = renderer;
|
|
20
|
+
this._disabled = false;
|
|
20
21
|
}
|
|
21
22
|
ngAfterViewInit() {
|
|
22
23
|
this.addClassModifierForIcons(Array.from(this.elementRef.nativeElement.querySelectorAll('.kbq-icon')));
|
|
@@ -62,13 +63,12 @@ export class KbqTabLabelWrapper extends KbqTabLabelWrapperMixinBase {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabLabelWrapper, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
66
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.6", type: KbqTabLabelWrapper, selector: "[kbqTabLabelWrapper]", inputs: { tab: "tab", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null" } }, queries: [{ propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], ngImport: i0 }); }
|
|
66
67
|
}
|
|
67
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqTabLabelWrapper, decorators: [{
|
|
68
69
|
type: Directive,
|
|
69
70
|
args: [{
|
|
70
71
|
selector: '[kbqTabLabelWrapper]',
|
|
71
|
-
inputs: ['disabled'],
|
|
72
72
|
host: {
|
|
73
73
|
'[class.kbq-disabled]': 'disabled',
|
|
74
74
|
'[attr.disabled]': 'disabled || null'
|
|
@@ -79,5 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
79
79
|
args: ['labelContent']
|
|
80
80
|
}], tab: [{
|
|
81
81
|
type: Input
|
|
82
|
+
}], disabled: [{
|
|
83
|
+
type: Input,
|
|
84
|
+
args: [{ transform: booleanAttribute }]
|
|
82
85
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLXdyYXBwZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90YWJzL3RhYi1sYWJlbC13cmFwcGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV6Qzs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFJRCxZQUNXLFVBQXNCLEVBQ3JCLFFBQW1CO1FBRHBCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUp2QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBS2hDLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFB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bGVhbkF0dHJpYnV0ZSwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticVRhYiB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVXNlZCBpbiB0aGUgYGticS10YWItZ3JvdXBgIHZpZXcgdG8gZGlzcGxheSB0YWIgbGFiZWxzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnFUYWJMYWJlbFdyYXBwZXJdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Mua2JxLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVRhYkxhYmVsV3JhcHBlciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsQ29udGVudCcpIGxhYmVsQ29udGVudDogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHRhYjogS2JxVGFiO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRDbGFzc01vZGlmaWVyRm9ySWNvbnMoQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcua2JxLWljb24nKSkpO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIGZvY3VzIG9uIHRoZSB3cmFwcGVyIGVsZW1lbnQgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBnZXRPZmZzZXRMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIH1cblxuICAgIGdldE9mZnNldFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBjaGVja092ZXJmbG93KCkge1xuICAgICAgICB0aGlzLnRhYi5vdmVyZmxvd1Rvb2x0aXBUaXRsZSA9IHRoaXMuaXNPdmVyZmxvd24oKSA/IHRoaXMuZ2V0SW5uZXJUZXh0KCkgOiAnJztcbiAgICB9XG5cbiAgICBpc092ZXJmbG93bigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGggPiB0aGlzLmxhYmVsQ29udGVudC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIGdldElubmVyVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxDb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQ2xhc3NNb2RpZmllckZvckljb25zKGljb25zOiBIVE1MRWxlbWVudFtdKSB7XG4gICAgICAgIGNvbnN0IHR3b0ljb25zID0gMjtcbiAgICAgICAgY29uc3QgW2ZpcnN0SWNvbkVsZW1lbnQsIHNlY29uZEljb25FbGVtZW50XSA9IGljb25zO1xuXG4gICAgICAgIGlmIChpY29ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IENPTU1FTlRfTk9ERSA9IDg7XG5cbiAgICAgICAgICAgIGlmIChmaXJzdEljb25FbGVtZW50Lm5leHRTaWJsaW5nICYmIGZpcnN0SWNvbkVsZW1lbnQubmV4dFNpYmxpbmcubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZmlyc3RJY29uRWxlbWVudCwgJ2ticS1pY29uX2xlZnQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2JxLXRhYi1sYWJlbF93aXRoLWljb24tbGVmdCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmlyc3RJY29uRWxlbWVudC5wcmV2aW91c1NpYmxpbmcgJiYgZmlyc3RJY29uRWxlbWVudC5wcmV2aW91c1NpYmxpbmcubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZmlyc3RJY29uRWxlbWVudCwgJ2ticS1pY29uX3JpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ticS10YWItbGFiZWxfd2l0aC1pY29uLXJpZ2h0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaWNvbnMubGVuZ3RoID09PSB0d29JY29ucykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhmaXJzdEljb25FbGVtZW50LCAna2JxLWljb25fbGVmdCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzZWNvbmRJY29uRWxlbWVudCwgJ2ticS1pY29uX3JpZ2h0Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2JxLXRhYi1sYWJlbF93aXRoLWljb24tbGVmdCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ticS10YWItbGFiZWxfd2l0aC1pY29uLXJpZ2h0Jyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|