@fundamental-ngx/core 0.46.0-rc.36 → 0.46.0-rc.37
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/dynamic-page/dynamic-page.component.d.ts +12 -7
- package/esm2022/dynamic-page/dynamic-page.component.mjs +29 -26
- package/esm2022/scrollbar/scrollbar.directive.mjs +9 -8
- package/esm2022/tabs/tab-list.component.mjs +22 -17
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +202 -200
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs +9 -8
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +19 -15
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fundamental-ngx-core-v0.46.0-rc.37.tgz +0 -0
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/scrollbar/scrollbar.directive.d.ts +6 -4
- package/tabs/tab-list.component.d.ts +11 -8
- package/fundamental-ngx-core-v0.46.0-rc.36.tgz +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList, Renderer2 } from '@angular/core';
|
|
2
|
+
import { Nullable } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';
|
|
4
|
+
import { TabListComponent } from '@fundamental-ngx/core/tabs';
|
|
2
5
|
import { DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';
|
|
3
6
|
import { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';
|
|
4
|
-
import { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';
|
|
5
7
|
import { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';
|
|
8
|
+
import { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';
|
|
6
9
|
import { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';
|
|
7
10
|
import { DynamicPageService } from './dynamic-page.service';
|
|
8
|
-
import {
|
|
9
|
-
import { Nullable } from '@fundamental-ngx/cdk/utils';
|
|
10
|
-
import { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';
|
|
11
|
+
import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
13
14
|
protected _cd: ChangeDetectorRef;
|
|
@@ -16,6 +17,8 @@ export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
|
16
17
|
private _dynamicPageService;
|
|
17
18
|
private _columnLayout;
|
|
18
19
|
private _dynamicPageWrapper;
|
|
20
|
+
/** Whether DynamicPage should snap on scroll */
|
|
21
|
+
disableSnapOnScroll: boolean;
|
|
19
22
|
/** Page role */
|
|
20
23
|
role: string;
|
|
21
24
|
/** aria label for the page */
|
|
@@ -61,6 +64,8 @@ export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
|
61
64
|
/** @hidden */
|
|
62
65
|
_dynamicPageElement: ElementRef;
|
|
63
66
|
/** @hidden */
|
|
67
|
+
_scrollbar: ScrollbarDirective;
|
|
68
|
+
/** @hidden */
|
|
64
69
|
_headerCollapsible: boolean;
|
|
65
70
|
/** @hidden **/
|
|
66
71
|
private readonly _onDestroy$;
|
|
@@ -76,6 +81,8 @@ export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
|
76
81
|
* Triggers recheck for spacing and sizing of elements inside DynamicPage.
|
|
77
82
|
*/
|
|
78
83
|
refreshSize(): void;
|
|
84
|
+
/** @hidden */
|
|
85
|
+
_getScrollElement(): HTMLElement | null;
|
|
79
86
|
/** Set the positions of the tabs and content with respect to the window */
|
|
80
87
|
private _setContainerPositions;
|
|
81
88
|
/** @hidden */
|
|
@@ -96,8 +103,6 @@ export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
|
96
103
|
private _sizeChangeHandle;
|
|
97
104
|
/** @hidden */
|
|
98
105
|
private _addScrollListeners;
|
|
99
|
-
/** @hidden */
|
|
100
|
-
private _listenOnScroll;
|
|
101
106
|
/** @hidden Listen for window resize and adjust tab and content positions accordingly */
|
|
102
107
|
private _listenOnResize;
|
|
103
108
|
/** @hidden */
|
|
@@ -113,5 +118,5 @@ export declare class DynamicPageComponent implements AfterViewInit, OnDestroy {
|
|
|
113
118
|
/** @hidden */
|
|
114
119
|
private _setContentFooterSpacer;
|
|
115
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageComponent, [null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
116
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageComponent, "fd-dynamic-page", never, { "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "autoResponsive": { "alias": "autoResponsive"; "required": false; }; "size": { "alias": "size"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "expandContent": { "alias": "expandContent"; "required": false; }; }, {}, ["_pageSubheaderComponent", "_headerComponent", "_footerComponent", "_tabComponent", "_contentComponent"], ["fd-dynamic-page-header", "fd-dynamic-page-subheader", "fd-tab-list", "fd-dynamic-page-content", "fd-dynamic-page-content", "fd-dynamic-page-footer"], false, never, false>;
|
|
121
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageComponent, "fd-dynamic-page", never, { "disableSnapOnScroll": { "alias": "disableSnapOnScroll"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "autoResponsive": { "alias": "autoResponsive"; "required": false; }; "size": { "alias": "size"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "expandContent": { "alias": "expandContent"; "required": false; }; }, {}, ["_pageSubheaderComponent", "_headerComponent", "_footerComponent", "_tabComponent", "_contentComponent"], ["fd-dynamic-page-header", "fd-dynamic-page-subheader", "fd-tab-list", "fd-dynamic-page-content", "fd-dynamic-page-content", "fd-dynamic-page-footer"], false, never, false>;
|
|
117
122
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, HostBinding, Inject, Input, Optional, QueryList, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { resizeObservable } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT, FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';
|
|
4
|
+
import { TabListComponent } from '@fundamental-ngx/core/tabs';
|
|
3
5
|
import { DYNAMIC_PAGE_CLASS_NAME } from './constants';
|
|
4
6
|
import { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';
|
|
5
|
-
import { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';
|
|
6
|
-
import { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';
|
|
7
7
|
import { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';
|
|
8
|
+
import { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';
|
|
9
|
+
import { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';
|
|
8
10
|
import { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';
|
|
9
11
|
import { DynamicPageService } from './dynamic-page.service';
|
|
10
12
|
import { addClassNameToElement, dynamicPageWidthToSize } from './utils';
|
|
11
|
-
import {
|
|
12
|
-
import { FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT, FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';
|
|
13
|
+
import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
|
|
13
14
|
import { asyncScheduler, fromEvent, startWith, Subject } from 'rxjs';
|
|
14
15
|
import { debounceTime, map, observeOn, takeUntil } from 'rxjs/operators';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
@@ -38,6 +39,8 @@ export class DynamicPageComponent {
|
|
|
38
39
|
this._dynamicPageService = _dynamicPageService;
|
|
39
40
|
this._columnLayout = _columnLayout;
|
|
40
41
|
this._dynamicPageWrapper = _dynamicPageWrapper;
|
|
42
|
+
/** Whether DynamicPage should snap on scroll */
|
|
43
|
+
this.disableSnapOnScroll = false;
|
|
41
44
|
/** Page role */
|
|
42
45
|
this.role = 'region';
|
|
43
46
|
/**
|
|
@@ -75,7 +78,7 @@ export class DynamicPageComponent {
|
|
|
75
78
|
this._listenOnCollapse();
|
|
76
79
|
this._propagatePropertiesToChildren();
|
|
77
80
|
this._setContentFooterSpacer();
|
|
78
|
-
if (this._pageSubheaderComponent?.collapsible) {
|
|
81
|
+
if (!this.disableSnapOnScroll && this._pageSubheaderComponent?.collapsible) {
|
|
79
82
|
this._addScrollListeners();
|
|
80
83
|
}
|
|
81
84
|
if (this._columnLayout && this.autoResponsive) {
|
|
@@ -102,6 +105,10 @@ export class DynamicPageComponent {
|
|
|
102
105
|
this._setContainerPositions();
|
|
103
106
|
this._sizeChangeHandle();
|
|
104
107
|
}
|
|
108
|
+
/** @hidden */
|
|
109
|
+
_getScrollElement() {
|
|
110
|
+
return this._tabComponent?._scrollbar.elementRef.nativeElement || this._scrollbar?.elementRef.nativeElement;
|
|
111
|
+
}
|
|
105
112
|
/** Set the positions of the tabs and content with respect to the window */
|
|
106
113
|
_setContainerPositions() {
|
|
107
114
|
this._setDynamicPageHeight();
|
|
@@ -158,26 +165,17 @@ export class DynamicPageComponent {
|
|
|
158
165
|
}
|
|
159
166
|
/** @hidden */
|
|
160
167
|
_addScrollListeners() {
|
|
161
|
-
const
|
|
162
|
-
if (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
168
|
+
const element = this._getScrollElement();
|
|
169
|
+
if (element) {
|
|
170
|
+
fromEvent(element, 'scroll')
|
|
171
|
+
.pipe(debounceTime(10), takeUntil(this._onDestroy$))
|
|
172
|
+
.subscribe(() => {
|
|
173
|
+
const collapse = !this._dynamicPageService.pinned.value &&
|
|
174
|
+
(element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);
|
|
175
|
+
this._dynamicPageService.collapsed.next(collapse);
|
|
176
|
+
});
|
|
169
177
|
}
|
|
170
178
|
}
|
|
171
|
-
/** @hidden */
|
|
172
|
-
_listenOnScroll(element) {
|
|
173
|
-
fromEvent(element, 'scroll')
|
|
174
|
-
.pipe(debounceTime(10), takeUntil(this._onDestroy$))
|
|
175
|
-
.subscribe(() => {
|
|
176
|
-
const collapse = !this._dynamicPageService.pinned.value &&
|
|
177
|
-
(element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);
|
|
178
|
-
this._dynamicPageService.collapsed.next(collapse);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
179
|
/** @hidden Listen for window resize and adjust tab and content positions accordingly */
|
|
182
180
|
_listenOnResize() {
|
|
183
181
|
const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();
|
|
@@ -230,7 +228,7 @@ export class DynamicPageComponent {
|
|
|
230
228
|
});
|
|
231
229
|
}
|
|
232
230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DynamicPageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicPageService }, { token: FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT, optional: true }, { token: i2.DynamicPageWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DynamicPageComponent, selector: "fd-dynamic-page", inputs: { role: "role", ariaLabel: "ariaLabel", background: "background", autoResponsive: "autoResponsive", size: "size", offset: "offset", expandContent: "expandContent" }, host: { properties: { "attr.role": "this.role" } }, providers: [DynamicPageService], queries: [{ propertyName: "_pageSubheaderComponent", first: true, predicate: DynamicPageSubheaderComponent, descendants: true }, { propertyName: "_headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "_footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "_tabComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "_contentComponent", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_dynamicPageElement", first: true, predicate: ["dynamicPageElement"], descendants: true }], ngImport: i0, template: "<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <div fd-scrollbar *ngIf=\"!_tabComponent\">\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n\n <div *ngIf=\"_tabComponent\">\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dynamic-page{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page:after,.fd-dynamic-page:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__header-fixed{left:0;position:fixed;right:0;top:0;z-index:3}.fd-dynamic-page__header{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__header:after,.fd-dynamic-page__header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;min-height:3rem;padding:0;z-index:1}.fd-dynamic-page__title-area:after,.fd-dynamic-page__title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area.is-focus,.fd-dynamic-page__title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:1}.fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__title-area:hover{background:var(--sapObjectHeader_Hover_Background);border-bottom:var(--fdDynamicPage_Hover_Border_Bottom);cursor:pointer}.fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page__title-area--collapsed .fd-dynamic-page__title{font-size:var(--fdDynamicPage_Title_Collapsed_Font_Size)}.fd-dynamic-page__title-area[aria-hidden=true]{display:none}.fd-dynamic-page__main-container{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__main-container:after,.fd-dynamic-page__main-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__title-container:after,.fd-dynamic-page__title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:.5rem 0 .25rem}.fd-dynamic-page__breadcrumb:after,.fd-dynamic-page__breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-title-container{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-width:0;padding:0}.fd-dynamic-page__breadcrumb-title-container:after,.fd-dynamic-page__breadcrumb-title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-container{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__breadcrumb-container:after,.fd-dynamic-page__breadcrumb-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Title_Color);font-family:var(--sapFontFamily);font-family:var(--fdDynamicPage_Title_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdDynamicPage_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title:after,.fd-dynamic-page__title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title .fd-link{color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader3Size);max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.fd-dynamic-page__title--wrap{white-space:normal}.fd-dynamic-page__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Subtitle_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__subtitle:after,.fd-dynamic-page__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__subtitle--wrap{white-space:normal}.fd-dynamic-page__title-content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap}.fd-dynamic-page__title-content:after,.fd-dynamic-page__title-content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-content[dir=rtl],[dir=rtl] .fd-dynamic-page__title-content{padding:0 1rem 0 0}.fd-dynamic-page__title-subtitle-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title-subtitle-container:after,.fd-dynamic-page__title-subtitle-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 auto;padding:0}.fd-dynamic-page__toolbar-container:after,.fd-dynamic-page__toolbar-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container[dir=rtl],[dir=rtl] .fd-dynamic-page__toolbar-container{margin-left:0;margin-right:auto}.fd-dynamic-page .fd-dynamic-page__toolbar{background:transparent;margin:0;padding:0 0 0 1rem}.fd-dynamic-page .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar{padding-left:0;padding-right:1rem}.fd-dynamic-page .fd-dynamic-page__toolbar--actions,.fd-dynamic-page .fd-dynamic-page__toolbar--actions[dir=rtl],.fd-dynamic-page .fd-dynamic-page__toolbar--content,.fd-dynamic-page .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--actions,[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--content{padding:0}.fd-dynamic-page__summarized-title-area{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;-webkit-box-shadow:var(--sapContent_HeaderShadow);align-items:center;background:var(--sapObjectHeader_Background);border:0;box-shadow:var(--sapContent_HeaderShadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;z-index:1}.fd-dynamic-page__summarized-title-area:after,.fd-dynamic-page__summarized-title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__summarized-title-area.is-focus,.fd-dynamic-page__summarized-title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-dynamic-page__summarized-title-area--no-shadow{box-shadow:none}.fd-dynamic-page__summarized-title-area[aria-hidden=true]{display:none}.fd-dynamic-page__summarized-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:2rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__summarized-title:after,.fd-dynamic-page__summarized-title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__collapsible-header-container:after,.fd-dynamic-page__collapsible-header-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header{-webkit-box-sizing:border-box;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 0}.fd-dynamic-page__collapsible-header:after,.fd-dynamic-page__collapsible-header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header[aria-hidden=true]{display:none}.fd-dynamic-page .fd-dynamic-page__tabs{margin:0;padding:0}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{overflow:hidden}.fd-dynamic-page .fd-dynamic-page__tabs--add-shadow,.fd-dynamic-page__collapsible-header-visibility-container{box-shadow:var(--sapContent_HeaderShadow)}.fd-dynamic-page__collapsible-header-visibility-container{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-height:.0625rem;padding:0;z-index:2}.fd-dynamic-page__collapsible-header-visibility-container:after,.fd-dynamic-page__collapsible-header-visibility-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--button-group{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fdDynamicPage_Button_Group_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:4.25rem;z-index:1}.fd-dynamic-page__collapsible-header-visibility-container--button-group:after,.fd-dynamic-page__collapsible-header-visibility-container--button-group:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container[aria-hidden=true]{display:none}.fd-dynamic-page__collapsible-header-visibility-container--no-shadow{box-shadow:none}.fd-dynamic-page__collapse-button,.fd-dynamic-page__expand-button,.fd-dynamic-page__pin-button{--fdButtonBackgroundColor:var(--fdDynamicPage_Button_Pin_Background);height:1.5rem;margin:0 .25rem;min-width:1.5rem;padding:0;width:1.5rem}.fd-dynamic-page__collapse-button:before,.fd-dynamic-page__expand-button:before,.fd-dynamic-page__pin-button:before{bottom:-.25rem;height:2rem;top:-.25rem;width:100%}.fd-dynamic-page__collapse-button[aria-hidden=true],.fd-dynamic-page__expand-button[aria-hidden=true],.fd-dynamic-page__pin-button[aria-hidden=true]{display:none}.fd-dynamic-page__content{-webkit-box-sizing:border-box;background-color:var(--sapBackgroundColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow-y:auto;padding:0}.fd-dynamic-page__content:after,.fd-dynamic-page__content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__footer{bottom:0;left:0;margin:0 .5rem .5rem;position:fixed;right:0}.fd-dynamic-page--sm .fd-dynamic-page__title-area{padding:.5rem 1rem}.fd-dynamic-page--sm .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--sm .fd-dynamic-page__collapsible-header,.fd-dynamic-page--sm .fd-dynamic-page__content{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__tabs{padding:0 1rem}.fd-dynamic-page--sm .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__breadcrumb{padding:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:auto;padding-left:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:0;margin-right:auto;padding-left:0;padding-right:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-left:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-right:0}.fd-dynamic-page--lg .fd-dynamic-page__title-area,.fd-dynamic-page--md .fd-dynamic-page__title-area{padding:.5rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__title-area--collapsed,.fd-dynamic-page--md .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--lg .fd-dynamic-page__collapsible-header,.fd-dynamic-page--lg .fd-dynamic-page__content,.fd-dynamic-page--md .fd-dynamic-page__collapsible-header,.fd-dynamic-page--md .fd-dynamic-page__content{padding:1rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__tabs,.fd-dynamic-page--md .fd-dynamic-page__tabs{padding:0 2rem}.fd-dynamic-page--lg .fd-dynamic-page__summarized-title-area,.fd-dynamic-page--md .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area{padding:.5rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--xl .fd-dynamic-page__collapsible-header,.fd-dynamic-page--xl .fd-dynamic-page__content{padding:1rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__tabs{padding:0 3rem}.fd-dynamic-page--xl .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--md .fd-dynamic-page__toolbar{padding:0}.fd-dynamic-page--list-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_List_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__title-area{background:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__collapsible-header{background-color:var(--fdDynamicPage_Title_Header_Transparent_Background)}.footer-spacer{height:3rem}.content-sticker{position:static}.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}.fd-dynamic-page__collapsible-header-visibility-container--button-group{z-index:6}.fd-tabs .fd-dynamic-page__content{display:block;height:auto!important}.fd-dynamic-page{height:100%}.fd-dynamic-page .fd-bar--floating-footer{z-index:6}.fd-dynamic-page .fd-tabs-custom{overflow:auto;background-color:#f7f7f7;background-color:var(--sapBackgroundColor, #f7f7f7);flex:1}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__title-subtitle-container{flex:1}.fd-dynamic-page--transparent-bg .fd-tabs-custom{background-color:transparent;background-color:var(--fdDynamicPage_Content_Transparent_Background, transparent)}.fd-dynamic-page--list-bg .fd-tabs-custom{background-color:#fff;background-color:var(--fdDynamicPage_Content_List_Background, var(--sapGroup_ContentBackground, #fff))}.fd-dynamic-page--xl .fd-bar--floating-footer{margin:1rem 3rem}.fd-dynamic-page--lg .fd-bar--floating-footer,.fd-dynamic-page--md .fd-bar--floating-footer{margin:1rem 2rem}.fd-dynamic-page--sm .fd-bar--floating-footer{margin:1rem .5rem}.fd-dynamic-page--sm .fd-dynamic-page__title-container{align-items:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DynamicPageComponent, selector: "fd-dynamic-page", inputs: { disableSnapOnScroll: "disableSnapOnScroll", role: "role", ariaLabel: "ariaLabel", background: "background", autoResponsive: "autoResponsive", size: "size", offset: "offset", expandContent: "expandContent" }, host: { properties: { "attr.role": "this.role" } }, providers: [DynamicPageService], queries: [{ propertyName: "_pageSubheaderComponent", first: true, predicate: DynamicPageSubheaderComponent, descendants: true }, { propertyName: "_headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "_footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "_tabComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "_contentComponent", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_dynamicPageElement", first: true, predicate: ["dynamicPageElement"], descendants: true }, { propertyName: "_scrollbar", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: "<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <div fd-scrollbar *ngIf=\"!_tabComponent\">\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n\n <div *ngIf=\"_tabComponent\">\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dynamic-page{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page:after,.fd-dynamic-page:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__header-fixed{left:0;position:fixed;right:0;top:0;z-index:3}.fd-dynamic-page__header{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__header:after,.fd-dynamic-page__header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;min-height:3rem;padding:0;z-index:1}.fd-dynamic-page__title-area:after,.fd-dynamic-page__title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area.is-focus,.fd-dynamic-page__title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:1}.fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__title-area:hover{background:var(--sapObjectHeader_Hover_Background);border-bottom:var(--fdDynamicPage_Hover_Border_Bottom);cursor:pointer}.fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page__title-area--collapsed .fd-dynamic-page__title{font-size:var(--fdDynamicPage_Title_Collapsed_Font_Size)}.fd-dynamic-page__title-area[aria-hidden=true]{display:none}.fd-dynamic-page__main-container{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__main-container:after,.fd-dynamic-page__main-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__title-container:after,.fd-dynamic-page__title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:.5rem 0 .25rem}.fd-dynamic-page__breadcrumb:after,.fd-dynamic-page__breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-title-container{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-width:0;padding:0}.fd-dynamic-page__breadcrumb-title-container:after,.fd-dynamic-page__breadcrumb-title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-container{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__breadcrumb-container:after,.fd-dynamic-page__breadcrumb-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Title_Color);font-family:var(--sapFontFamily);font-family:var(--fdDynamicPage_Title_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdDynamicPage_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title:after,.fd-dynamic-page__title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title .fd-link{color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader3Size);max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.fd-dynamic-page__title--wrap{white-space:normal}.fd-dynamic-page__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Subtitle_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__subtitle:after,.fd-dynamic-page__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__subtitle--wrap{white-space:normal}.fd-dynamic-page__title-content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap}.fd-dynamic-page__title-content:after,.fd-dynamic-page__title-content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-content[dir=rtl],[dir=rtl] .fd-dynamic-page__title-content{padding:0 1rem 0 0}.fd-dynamic-page__title-subtitle-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title-subtitle-container:after,.fd-dynamic-page__title-subtitle-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 auto;padding:0}.fd-dynamic-page__toolbar-container:after,.fd-dynamic-page__toolbar-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container[dir=rtl],[dir=rtl] .fd-dynamic-page__toolbar-container{margin-left:0;margin-right:auto}.fd-dynamic-page .fd-dynamic-page__toolbar{background:transparent;margin:0;padding:0 0 0 1rem}.fd-dynamic-page .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar{padding-left:0;padding-right:1rem}.fd-dynamic-page .fd-dynamic-page__toolbar--actions,.fd-dynamic-page .fd-dynamic-page__toolbar--actions[dir=rtl],.fd-dynamic-page .fd-dynamic-page__toolbar--content,.fd-dynamic-page .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--actions,[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--content{padding:0}.fd-dynamic-page__summarized-title-area{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;-webkit-box-shadow:var(--sapContent_HeaderShadow);align-items:center;background:var(--sapObjectHeader_Background);border:0;box-shadow:var(--sapContent_HeaderShadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;z-index:1}.fd-dynamic-page__summarized-title-area:after,.fd-dynamic-page__summarized-title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__summarized-title-area.is-focus,.fd-dynamic-page__summarized-title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-dynamic-page__summarized-title-area--no-shadow{box-shadow:none}.fd-dynamic-page__summarized-title-area[aria-hidden=true]{display:none}.fd-dynamic-page__summarized-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:2rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__summarized-title:after,.fd-dynamic-page__summarized-title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__collapsible-header-container:after,.fd-dynamic-page__collapsible-header-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header{-webkit-box-sizing:border-box;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 0}.fd-dynamic-page__collapsible-header:after,.fd-dynamic-page__collapsible-header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header[aria-hidden=true]{display:none}.fd-dynamic-page .fd-dynamic-page__tabs{margin:0;padding:0}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{overflow:hidden}.fd-dynamic-page .fd-dynamic-page__tabs--add-shadow,.fd-dynamic-page__collapsible-header-visibility-container{box-shadow:var(--sapContent_HeaderShadow)}.fd-dynamic-page__collapsible-header-visibility-container{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-height:.0625rem;padding:0;z-index:2}.fd-dynamic-page__collapsible-header-visibility-container:after,.fd-dynamic-page__collapsible-header-visibility-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--button-group{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fdDynamicPage_Button_Group_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:4.25rem;z-index:1}.fd-dynamic-page__collapsible-header-visibility-container--button-group:after,.fd-dynamic-page__collapsible-header-visibility-container--button-group:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container[aria-hidden=true]{display:none}.fd-dynamic-page__collapsible-header-visibility-container--no-shadow{box-shadow:none}.fd-dynamic-page__collapse-button,.fd-dynamic-page__expand-button,.fd-dynamic-page__pin-button{--fdButtonBackgroundColor:var(--fdDynamicPage_Button_Pin_Background);height:1.5rem;margin:0 .25rem;min-width:1.5rem;padding:0;width:1.5rem}.fd-dynamic-page__collapse-button:before,.fd-dynamic-page__expand-button:before,.fd-dynamic-page__pin-button:before{bottom:-.25rem;height:2rem;top:-.25rem;width:100%}.fd-dynamic-page__collapse-button[aria-hidden=true],.fd-dynamic-page__expand-button[aria-hidden=true],.fd-dynamic-page__pin-button[aria-hidden=true]{display:none}.fd-dynamic-page__content{-webkit-box-sizing:border-box;background-color:var(--sapBackgroundColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow-y:auto;padding:0}.fd-dynamic-page__content:after,.fd-dynamic-page__content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__footer{bottom:0;left:0;margin:0 .5rem .5rem;position:fixed;right:0}.fd-dynamic-page--sm .fd-dynamic-page__title-area{padding:.5rem 1rem}.fd-dynamic-page--sm .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--sm .fd-dynamic-page__collapsible-header,.fd-dynamic-page--sm .fd-dynamic-page__content{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__tabs{padding:0 1rem}.fd-dynamic-page--sm .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__breadcrumb{padding:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:auto;padding-left:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:0;margin-right:auto;padding-left:0;padding-right:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-left:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-right:0}.fd-dynamic-page--lg .fd-dynamic-page__title-area,.fd-dynamic-page--md .fd-dynamic-page__title-area{padding:.5rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__title-area--collapsed,.fd-dynamic-page--md .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--lg .fd-dynamic-page__collapsible-header,.fd-dynamic-page--lg .fd-dynamic-page__content,.fd-dynamic-page--md .fd-dynamic-page__collapsible-header,.fd-dynamic-page--md .fd-dynamic-page__content{padding:1rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__tabs,.fd-dynamic-page--md .fd-dynamic-page__tabs{padding:0 2rem}.fd-dynamic-page--lg .fd-dynamic-page__summarized-title-area,.fd-dynamic-page--md .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area{padding:.5rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--xl .fd-dynamic-page__collapsible-header,.fd-dynamic-page--xl .fd-dynamic-page__content{padding:1rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__tabs{padding:0 3rem}.fd-dynamic-page--xl .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--md .fd-dynamic-page__toolbar{padding:0}.fd-dynamic-page--list-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_List_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__title-area{background:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__collapsible-header{background-color:var(--fdDynamicPage_Title_Header_Transparent_Background)}.footer-spacer{height:3rem}.content-sticker{position:static}.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}.fd-dynamic-page__collapsible-header-visibility-container--button-group{z-index:6}.fd-tabs .fd-dynamic-page__content{display:block;height:auto!important}.fd-dynamic-page{height:100%}.fd-dynamic-page .fd-bar--floating-footer{z-index:6}.fd-dynamic-page .fd-tabs-custom{overflow:auto;background-color:#f7f7f7;background-color:var(--sapBackgroundColor, #f7f7f7);flex:1}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__title-subtitle-container{flex:1}.fd-dynamic-page--transparent-bg .fd-tabs-custom{background-color:transparent;background-color:var(--fdDynamicPage_Content_Transparent_Background, transparent)}.fd-dynamic-page--list-bg .fd-tabs-custom{background-color:#fff;background-color:var(--fdDynamicPage_Content_List_Background, var(--sapGroup_ContentBackground, #fff))}.fd-dynamic-page--xl .fd-bar--floating-footer{margin:1rem 3rem}.fd-dynamic-page--lg .fd-bar--floating-footer,.fd-dynamic-page--md .fd-bar--floating-footer{margin:1rem 2rem}.fd-dynamic-page--sm .fd-bar--floating-footer{margin:1rem .5rem}.fd-dynamic-page--sm .fd-dynamic-page__title-container{align-items:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
234
232
|
}
|
|
235
233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DynamicPageComponent, decorators: [{
|
|
236
234
|
type: Component,
|
|
@@ -242,7 +240,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
242
240
|
args: [FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT]
|
|
243
241
|
}] }, { type: i2.DynamicPageWrapperDirective, decorators: [{
|
|
244
242
|
type: Optional
|
|
245
|
-
}] }]; }, propDecorators: {
|
|
243
|
+
}] }]; }, propDecorators: { disableSnapOnScroll: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], role: [{
|
|
246
246
|
type: Input
|
|
247
247
|
}, {
|
|
248
248
|
type: HostBinding,
|
|
@@ -277,5 +277,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
277
277
|
}], _dynamicPageElement: [{
|
|
278
278
|
type: ViewChild,
|
|
279
279
|
args: ['dynamicPageElement']
|
|
280
|
+
}], _scrollbar: [{
|
|
281
|
+
type: ViewChild,
|
|
282
|
+
args: [ScrollbarDirective]
|
|
280
283
|
}] } });
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdELE1BQU0sYUFBYSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVB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WTt1QkFBQyxnQkFBZ0I7Z0JBSzlCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVzaXplT2JzZXJ2YWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IERZTkFNSUNfUEFHRV9DTEFTU19OQU1FLCBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlLCBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvc3ViaGVhZGVyL2R5bmFtaWMtcGFnZS1zdWJoZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL2hlYWRlci9keW5hbWljLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWZvb3Rlci9keW5hbWljLXBhZ2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVdyYXBwZXJEaXJlY3RpdmUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS13cmFwcGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGFkZENsYXNzTmFtZVRvRWxlbWVudCwgZHluYW1pY1BhZ2VXaWR0aFRvU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVGFiTGlzdENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90YWJzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBGRF9GTEVYSUJMRV9DT0xVTU5fTEFZT1VUX0NPTVBPTkVOVCxcbiAgICBGbGV4aWJsZUNvbHVtbkxheW91dENvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZmxleGlibGUtY29sdW1uLWxheW91dCc7XG5cbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIG9ic2VydmVPbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWR5bmFtaWMtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEeW5hbWljUGFnZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogUGFnZSByb2xlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncmVnaW9uJztcblxuICAgIC8qKiBhcmlhIGxhYmVsIGZvciB0aGUgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogc2V0cyBiYWNrZ3JvdW5kIGZvciBjb250ZW50IHRvIGBsaXN0YCwgYHRyYW5zcGFyZW50YCwgb3IgYHNvbGlkYCBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICAqIERlZmF1bHQgaXMgYHNvbGlkYC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGJhY2tncm91bmQ6IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUgPSAnc29saWQnO1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIGhhdmUgcmVzcG9uc2l2ZSBzaWRlcyBzcGFjaW5nIGNoYW5naW5nIHdpdGggUGFnZSB3aW5kb3cgd2lkdGguXG4gICAgICogbWF4LXdpZHRoOiA1OTlweCAgICAgICAgICAgICAgICAgICAgICAgICAtIHNtYWxsXG4gICAgICogbWluLXdpZHRoOiA2MDBweCBhbmQgbWF4LXdpZHRoOiAxMDIzcHggICAtIG1lZGl1bVxuICAgICAqIG1pbi13aWR0aDogMTAyNHB4IGFuZCBtYXgtd2lkdGg6IDE0MzlweCAgLSBsYXJnZVxuICAgICAqIG1pbi13aWR0aDogMTQ0MHB4ICAgICAgICAgICAgICAgICAgICAgICAgLSBleHRyYSBsYXJnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b1Jlc3BvbnNpdmUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogc2V0cyBzaXplIHdoaWNoIGluIHR1cm4gYWRkcyBjb3JyZXNwb25kaW5nIHBhZGRpbmcgZm9yIHRoZSBzaXplIHR5cGUuXG4gICAgICogc2l6ZSBjYW4gYmUgYHNtYWxsYCwgYG1lZGl1bWAsIGBsYXJnZWAsIG9yIGBleHRyYS1sYXJnZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc2l6ZShzaXplOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVTaXplVG9DaGlsZHJlbigpO1xuICAgIH1cblxuICAgIGdldCBzaXplKCk6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaXplOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplID0gJ2V4dHJhLWxhcmdlJztcblxuICAgIC8qKiBPZmZzZXQgaW4gUFhcbiAgICAgKiBTaG91bGQgYmUgYWRkZWQsIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIGVsc2UgYXQgdGhlIGJvdHRvbSBhbmQgZHluYW1pYyBwYWdlIGlzIG5vdCBleHBhbmRlZCB0byBib3R0b20ncyBjb3JuZXJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvZmZzZXQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBkeW5hbWljIHBhZ2Ugc2hvdWxkIGJlIGV4cGFuZGVkIGluIHdob2xlIHBhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRDb250ZW50ID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuIHJlZmVyZW5jZSB0byBoZWFkZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQpXG4gICAgX3BhZ2VTdWJoZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIHRpdGxlIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50KVxuICAgIF9oZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIGNvbnRlbnQgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgX2NvbnRlbnRDb21wb25lbnQ6IFF1ZXJ5TGlzdDxEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIGZvb3RlciBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudClcbiAgICBfZm9vdGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiByZWZlcmVuY2UgdG8gdGFiIGNvbXBvbmVudCAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFiTGlzdENvbXBvbmVudClcbiAgICBfdGFiQ29tcG9uZW50OiBUYWJMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdkeW5hbWljUGFnZUVsZW1lbnQnKVxuICAgIF9keW5hbWljUGFnZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oZWFkZXJDb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBfZHluYW1pY1BhZ2VTZXJ2aWNlOiBEeW5hbWljUGFnZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkRfRkxFWElCTEVfQ09MVU1OX0xBWU9VVF9DT01QT05FTlQpIHByaXZhdGUgX2NvbHVtbkxheW91dDogRmxleGlibGVDb2x1bW5MYXlvdXRDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2R5bmFtaWNQYWdlV3JhcHBlcjogRHluYW1pY1BhZ2VXcmFwcGVyRGlyZWN0aXZlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpemVDaGFuZ2VIYW5kbGUoKTtcbiAgICAgICAgdGhpcy5fcmVtb3ZlU2hhZG93V2hlblRhYkNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PblJlc2l6ZSgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PbkNvbGxhcHNlKCk7XG4gICAgICAgIHRoaXMuX3Byb3BhZ2F0ZVByb3BlcnRpZXNUb0NoaWxkcmVuKCk7XG4gICAgICAgIHRoaXMuX3NldENvbnRlbnRGb290ZXJTcGFjZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5fcGFnZVN1YmhlYWRlckNvbXBvbmVudD8uY29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZFNjcm9sbExpc3RlbmVycygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbHVtbkxheW91dCAmJiB0aGlzLmF1dG9SZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5Ub0xheW91dENoYW5nZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRDb250YWluZXJQb3NpdGlvbnMoKSk7XG5cbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgaGVhZGVyIG9uIGNsaWNrIG9mIHRpdGxlIGFyZWEuICovXG4gICAgdG9nZ2xlQ29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9oZWFkZXJDb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnRvZ2dsZUNvbGxhcHNlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcnMgcmVjaGVjayBmb3Igc3BhY2luZyBhbmQgc2l6aW5nIG9mIGVsZW1lbnRzIGluc2lkZSBEeW5hbWljUGFnZS5cbiAgICAgKi9cbiAgICByZWZyZXNoU2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0Q29udGFpbmVyUG9zaXRpb25zKCk7XG4gICAgICAgIHRoaXMuX3NpemVDaGFuZ2VIYW5kbGUoKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBwb3NpdGlvbnMgb2YgdGhlIHRhYnMgYW5kIGNvbnRlbnQgd2l0aCByZXNwZWN0IHRvIHRoZSB3aW5kb3cgKi9cbiAgICBwcml2YXRlIF9zZXRDb250YWluZXJQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldER5bmFtaWNQYWdlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcm9wYWdhdGVQcm9wZXJ0aWVzVG9DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGVhZGVyQ29sbGFwc2libGUgPSB0aGlzLl9wYWdlU3ViaGVhZGVyQ29tcG9uZW50Py5jb2xsYXBzaWJsZTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlU2l6ZVRvQ2hpbGRyZW4oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZ1bmN0aW9uYWxpdHkgaGFuZGxpbmcgY29sdW1uIGxheW91dCBjaGFuZ2VzLFxuICAgICAqIC0gcmVjYWxjdWxhdGUgaGVpZ2h0IG9mIGNvbnRlbnQgZWxlbWVudFxuICAgICAqIC0gcmVjaGVjayBzaXplIGRlcGVuZGluZyBvbiB3aWR0aCBvZiBEeW5hbWljUGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvTGF5b3V0Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb2x1bW5MYXlvdXQubGF5b3V0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoU2l6ZSgpO1xuICAgICAgICAgICAgdGhpcy5fc2l6ZUNoYW5nZUhhbmRsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZVNpemVUb0NoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faGVhZGVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9oZWFkZXJDb21wb25lbnQuc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRDb250YWluZXJQb3NpdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQ29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5zdWJoZWFkZXJWaXNpYmlsaXR5Q2hhbmdlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NldENvbnRhaW5lclBvc2l0aW9ucygpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENhbGN1bGF0ZWRGdWxsSGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlzdGFuY2VGcm9tVG9wID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIHJldHVybiAnY2FsYygxMDB2aCAtICcgKyAoZGlzdGFuY2VGcm9tVG9wICsgdGhpcy5vZmZzZXQpICsgJ3B4KSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaXplQ2hhbmdlSGFuZGxlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYgfHwgIXRoaXMuYXV0b1Jlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkeW5hbWljUGFnZVdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UucGl4ZWxzU2l6ZUNoYW5nZWQubmV4dChkeW5hbWljUGFnZVdpZHRoKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGR5bmFtaWNQYWdlV2lkdGhUb1NpemUoZHluYW1pY1BhZ2VXaWR0aCk7XG5cbiAgICAgICAgaWYgKHNpemUgIT09IHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJFbGVtZW50ID0gdGhpcy5fdGFiQ29tcG9uZW50Py5jb250ZW50Q29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAodGFiRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuT25TY3JvbGwodGFiRWxlbWVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRDb21wb25lbnQuZmlyc3Q/LmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuT25TY3JvbGwoY29udGVudEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xsYXBzZSA9XG4gICAgICAgICAgICAgICAgICAgICF0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UucGlubmVkLnZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnNjcm9sbFRvcCA+IDAgfHwgZWxlbWVudC5zY3JvbGxIZWlnaHQgPD0gZWxlbWVudC5jbGllbnRIZWlnaHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWQubmV4dChjb2xsYXBzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBMaXN0ZW4gZm9yIHdpbmRvdyByZXNpemUgYW5kIGFkanVzdCB0YWIgYW5kIGNvbnRlbnQgcG9zaXRpb25zIGFjY29yZGluZ2x5ICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVyID0gdGhpcy5fZHluYW1pY1BhZ2VXcmFwcGVyID8gdGhpcy5fbGlzdGVuVG9XcmFwcGVyUmVzaXplKCkgOiB0aGlzLl9saXN0ZW5Ub1dpbmRvd1Jlc2l6ZSgpO1xuXG4gICAgICAgIGxpc3RlbmVyLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldENvbnRhaW5lclBvc2l0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5fc2l6ZUNoYW5nZUhhbmRsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvV3JhcHBlclJlc2l6ZSgpOiBPYnNlcnZhYmxlPFJlc2l6ZU9ic2VydmVyRW50cnlbXT4ge1xuICAgICAgICByZXR1cm4gcmVzaXplT2JzZXJ2YWJsZSh0aGlzLl9keW5hbWljUGFnZVdyYXBwZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvV2luZG93UmVzaXplKCk6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeVtdPiB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShtYXAoKCkgPT4gW10pKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIHNldCB0b3AgcG9zaXRpb24gb2YgRHluYW1pY1BhZ2Ugb24gc2Nyb2xsaW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2V0RHluYW1pY1BhZ2VIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZHluYW1pY1BhZ2VFbGVtZW50IHx8ICF0aGlzLmV4cGFuZENvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZHluYW1pY1BhZ2VFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdoZWlnaHQnLCB0aGlzLl9nZXRDYWxjdWxhdGVkRnVsbEhlaWdodChlbGVtZW50KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZW1vdmVTaGFkb3dXaGVuVGFiQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3BhZ2VTdWJoZWFkZXJDb21wb25lbnQ/LmNvbGxhcHNpYmxlIHx8ICF0aGlzLl90YWJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBpbkNvbGxhcHNlU2hhZG93RWxlbWVudCA9IHRoaXMuX3BhZ2VTdWJoZWFkZXJDb21wb25lbnQ/LnBpbkNvbGxhcHNlQ29udGFpbmVyO1xuXG4gICAgICAgIGlmIChwaW5Db2xsYXBzZVNoYWRvd0VsZW1lbnQpIHtcbiAgICAgICAgICAgIGFkZENsYXNzTmFtZVRvRWxlbWVudChcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcixcbiAgICAgICAgICAgICAgICBwaW5Db2xsYXBzZVNoYWRvd0VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBEWU5BTUlDX1BBR0VfQ0xBU1NfTkFNRS5keW5hbWljUGFnZUNvbGxhcHNpYmxlSGVhZGVyUGluQ29sbGFwc2VOb1NoYWRvd1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0Q29udGVudEZvb3RlclNwYWNlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGVudENvbXBvbmVudC5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgodGhpcy5fY29udGVudENvbXBvbmVudC50b0FycmF5KCkpLCBvYnNlcnZlT24oYXN5bmNTY2hlZHVsZXIpLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb21wb25lbnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50cy5mb3JFYWNoKChjb250ZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvKiogc2hvdyBzcGFjZXIgd2hlbjpcbiAgICAgICAgICAgICAgICAgICAgICogYSkgZm9vdGVyICsgbm8gdGFicyA9IG9ubHkgbGFzdFxuICAgICAgICAgICAgICAgICAgICAgKiBiKSBmb290ZXIgKyB0YWJzLCBub3Qgc3RhY2tlZCA9IGFsbFxuICAgICAgICAgICAgICAgICAgICAgKiBjKSBmb290ZXIgKyB0YWJzLCBzdGFja2VkID0gb25seSBsYXN0XG4gICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50Ll90b2dnbGVTcGFjZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb290ZXJDb21wb25lbnQgJiYgKCF0aGlzLl90YWJDb21wb25lbnQ/LnN0YWNrQ29udGVudCB8fCBpbmRleCA9PT0gY29tcG9uZW50cy5sZW5ndGggLSAxKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICAjZHluYW1pY1BhZ2VFbGVtZW50XG4gICAgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VcIlxuICAgIFtjbGFzcy5mZC1keW5hbWljLXBhZ2UtLXNtXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICAgIFtjbGFzcy5mZC1keW5hbWljLXBhZ2UtLW1kXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS1sZ109XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS14bF09XCJzaXplID09PSAnZXh0cmEtbGFyZ2UnXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS10cmFuc3BhcmVudC1iZ109XCJiYWNrZ3JvdW5kID09PSAndHJhbnNwYXJlbnQnXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS1saXN0LWJnXT1cImJhY2tncm91bmQgPT09ICdsaXN0J1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2hlYWRlclwiIFtjbGFzcy5mZC1keW5hbWljLXBhZ2VfX2hlYWRlci0tbm90LWNvbGxhcHNpYmxlXT1cIiFfaGVhZGVyQ29sbGFwc2libGVcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIiAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGVDb2xsYXBzZSgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10YWItbGlzdFwiPjwvbmctY29udGVudD5cblxuICAgIDxkaXYgZmQtc2Nyb2xsYmFyICpuZ0lmPVwiIV90YWJDb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiX3RhYkNvbXBvbmVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1keW5hbWljLXBhZ2UtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxmb290ZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWR5bmFtaWMtcGFnZS1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mb290ZXI+XG48L3NlY3Rpb24+XG4iXX0=
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsbUNBQW1DLEVBQ25DLDZCQUE2QixFQUNoQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0QsTUFBTSxhQUFhLENBQUM7QUFDNUcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDakgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FB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RGYsWUFBWTt1QkFBQywwQkFBMEI7Z0JBS3hDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBSzlCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBSy9CLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUsIHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEZEX0ZMRVhJQkxFX0NPTFVNTl9MQVlPVVRfQ09NUE9ORU5ULFxuICAgIEZsZXhpYmxlQ29sdW1uTGF5b3V0Q29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0JztcbmltcG9ydCB7IFRhYkxpc3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGFicyc7XG5pbXBvcnQgeyBEWU5BTUlDX1BBR0VfQ0xBU1NfTkFNRSwgRHluYW1pY1BhZ2VCYWNrZ3JvdW5kVHlwZSwgRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWNvbnRlbnQvZHluYW1pYy1wYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtZm9vdGVyL2R5bmFtaWMtcGFnZS1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL2hlYWRlci9keW5hbWljLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VXcmFwcGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9keW5hbWljLXBhZ2Utd3JhcHBlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBhZGRDbGFzc05hbWVUb0VsZW1lbnQsIGR5bmFtaWNQYWdlV2lkdGhUb1NpemUgfSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBvYnNlcnZlT24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1keW5hbWljLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2R5bmFtaWMtcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbRHluYW1pY1BhZ2VTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIHNuYXAgb24gc2Nyb2xsICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU25hcE9uU2Nyb2xsID0gZmFsc2U7XG5cbiAgICAvKiogUGFnZSByb2xlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncmVnaW9uJztcblxuICAgIC8qKiBhcmlhIGxhYmVsIGZvciB0aGUgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogc2V0cyBiYWNrZ3JvdW5kIGZvciBjb250ZW50IHRvIGBsaXN0YCwgYHRyYW5zcGFyZW50YCwgb3IgYHNvbGlkYCBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICAqIERlZmF1bHQgaXMgYHNvbGlkYC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGJhY2tncm91bmQ6IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUgPSAnc29saWQnO1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIGhhdmUgcmVzcG9uc2l2ZSBzaWRlcyBzcGFjaW5nIGNoYW5naW5nIHdpdGggUGFnZSB3aW5kb3cgd2lkdGguXG4gICAgICogbWF4LXdpZHRoOiA1OTlweCAgICAgICAgICAgICAgICAgICAgICAgICAtIHNtYWxsXG4gICAgICogbWluLXdpZHRoOiA2MDBweCBhbmQgbWF4LXdpZHRoOiAxMDIzcHggICAtIG1lZGl1bVxuICAgICAqIG1pbi13aWR0aDogMTAyNHB4IGFuZCBtYXgtd2lkdGg6IDE0MzlweCAgLSBsYXJnZVxuICAgICAqIG1pbi13aWR0aDogMTQ0MHB4ICAgICAgICAgICAgICAgICAgICAgICAgLSBleHRyYSBsYXJnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b1Jlc3BvbnNpdmUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogc2V0cyBzaXplIHdoaWNoIGluIHR1cm4gYWRkcyBjb3JyZXNwb25kaW5nIHBhZGRpbmcgZm9yIHRoZSBzaXplIHR5cGUuXG4gICAgICogc2l6ZSBjYW4gYmUgYHNtYWxsYCwgYG1lZGl1bWAsIGBsYXJnZWAsIG9yIGBleHRyYS1sYXJnZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc2l6ZShzaXplOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVTaXplVG9DaGlsZHJlbigpO1xuICAgIH1cblxuICAgIGdldCBzaXplKCk6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaXplOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplID0gJ2V4dHJhLWxhcmdlJztcblxuICAgIC8qKiBPZmZzZXQgaW4gUFhcbiAgICAgKiBTaG91bGQgYmUgYWRkZWQsIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIGVsc2UgYXQgdGhlIGJvdHRvbSBhbmQgZHluYW1pYyBwYWdlIGlzIG5vdCBleHBhbmRlZCB0byBib3R0b20ncyBjb3JuZXJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvZmZzZXQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBkeW5hbWljIHBhZ2Ugc2hvdWxkIGJlIGV4cGFuZGVkIGluIHdob2xlIHBhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRDb250ZW50ID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuIHJlZmVyZW5jZSB0byBoZWFkZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQpXG4gICAgX3BhZ2VTdWJoZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIHRpdGxlIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50KVxuICAgIF9oZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIGNvbnRlbnQgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgX2NvbnRlbnRDb21wb25lbnQ6IFF1ZXJ5TGlzdDxEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIHRvIGZvb3RlciBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudClcbiAgICBfZm9vdGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiByZWZlcmVuY2UgdG8gdGFiIGNvbXBvbmVudCAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFiTGlzdENvbXBvbmVudClcbiAgICBfdGFiQ29tcG9uZW50OiBUYWJMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdkeW5hbWljUGFnZUVsZW1lbnQnKVxuICAgIF9keW5hbWljUGFnZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoU2Nyb2xsYmFyRGlyZWN0aXZlKVxuICAgIF9zY3JvbGxiYXI6IFNjcm9sbGJhckRpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hlYWRlckNvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICoqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9keW5hbWljUGFnZVNlcnZpY2U6IER5bmFtaWNQYWdlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChGRF9GTEVYSUJMRV9DT0xVTU5fTEFZT1VUX0NPTVBPTkVOVCkgcHJpdmF0ZSBfY29sdW1uTGF5b3V0OiBGbGV4aWJsZUNvbHVtbkxheW91dENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZHluYW1pY1BhZ2VXcmFwcGVyOiBEeW5hbWljUGFnZVdyYXBwZXJEaXJlY3RpdmVcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2l6ZUNoYW5nZUhhbmRsZSgpO1xuICAgICAgICB0aGlzLl9yZW1vdmVTaGFkb3dXaGVuVGFiQ29tcG9uZW50KCk7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uUmVzaXplKCk7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uQ29sbGFwc2UoKTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlUHJvcGVydGllc1RvQ2hpbGRyZW4oKTtcbiAgICAgICAgdGhpcy5fc2V0Q29udGVudEZvb3RlclNwYWNlcigpO1xuXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlU25hcE9uU2Nyb2xsICYmIHRoaXMuX3BhZ2VTdWJoZWFkZXJDb21wb25lbnQ/LmNvbGxhcHNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9hZGRTY3JvbGxMaXN0ZW5lcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9jb2x1bW5MYXlvdXQgJiYgdGhpcy5hdXRvUmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9MYXlvdXRDaGFuZ2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Q29udGFpbmVyUG9zaXRpb25zKCkpO1xuXG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiB0b2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGhlYWRlciBvbiBjbGljayBvZiB0aXRsZSBhcmVhLiAqL1xuICAgIHRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faGVhZGVyQ29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS50b2dnbGVDb2xsYXBzZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHJlY2hlY2sgZm9yIHNwYWNpbmcgYW5kIHNpemluZyBvZiBlbGVtZW50cyBpbnNpZGUgRHluYW1pY1BhZ2UuXG4gICAgICovXG4gICAgcmVmcmVzaFNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldENvbnRhaW5lclBvc2l0aW9ucygpO1xuICAgICAgICB0aGlzLl9zaXplQ2hhbmdlSGFuZGxlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZ2V0U2Nyb2xsRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFiQ29tcG9uZW50Py5fc2Nyb2xsYmFyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB8fCB0aGlzLl9zY3JvbGxiYXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBwb3NpdGlvbnMgb2YgdGhlIHRhYnMgYW5kIGNvbnRlbnQgd2l0aCByZXNwZWN0IHRvIHRoZSB3aW5kb3cgKi9cbiAgICBwcml2YXRlIF9zZXRDb250YWluZXJQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldER5bmFtaWNQYWdlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcm9wYWdhdGVQcm9wZXJ0aWVzVG9DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGVhZGVyQ29sbGFwc2libGUgPSB0aGlzLl9wYWdlU3ViaGVhZGVyQ29tcG9uZW50Py5jb2xsYXBzaWJsZTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlU2l6ZVRvQ2hpbGRyZW4oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZ1bmN0aW9uYWxpdHkgaGFuZGxpbmcgY29sdW1uIGxheW91dCBjaGFuZ2VzLFxuICAgICAqIC0gcmVjYWxjdWxhdGUgaGVpZ2h0IG9mIGNvbnRlbnQgZWxlbWVudFxuICAgICAqIC0gcmVjaGVjayBzaXplIGRlcGVuZGluZyBvbiB3aWR0aCBvZiBEeW5hbWljUGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvTGF5b3V0Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb2x1bW5MYXlvdXQubGF5b3V0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoU2l6ZSgpO1xuICAgICAgICAgICAgdGhpcy5fc2l6ZUNoYW5nZUhhbmRsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZVNpemVUb0NoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faGVhZGVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9oZWFkZXJDb21wb25lbnQuc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRDb250YWluZXJQb3NpdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQ29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5zdWJoZWFkZXJWaXNpYmlsaXR5Q2hhbmdlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NldENvbnRhaW5lclBvc2l0aW9ucygpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENhbGN1bGF0ZWRGdWxsSGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlzdGFuY2VGcm9tVG9wID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICAgIHJldHVybiAnY2FsYygxMDB2aCAtICcgKyAoZGlzdGFuY2VGcm9tVG9wICsgdGhpcy5vZmZzZXQpICsgJ3B4KSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaXplQ2hhbmdlSGFuZGxlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYgfHwgIXRoaXMuYXV0b1Jlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkeW5hbWljUGFnZVdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UucGl4ZWxzU2l6ZUNoYW5nZWQubmV4dChkeW5hbWljUGFnZVdpZHRoKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGR5bmFtaWNQYWdlV2lkdGhUb1NpemUoZHluYW1pY1BhZ2VXaWR0aCk7XG5cbiAgICAgICAgaWYgKHNpemUgIT09IHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZ2V0U2Nyb2xsRWxlbWVudCgpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgZnJvbUV2ZW50KGVsZW1lbnQsICdzY3JvbGwnKVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sbGFwc2UgPVxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5waW5uZWQudmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChlbGVtZW50LnNjcm9sbFRvcCA+IDAgfHwgZWxlbWVudC5zY3JvbGxIZWlnaHQgPD0gZWxlbWVudC5jbGllbnRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UuY29sbGFwc2VkLm5leHQoY29sbGFwc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTGlzdGVuIGZvciB3aW5kb3cgcmVzaXplIGFuZCBhZGp1c3QgdGFiIGFuZCBjb250ZW50IHBvc2l0aW9ucyBhY2NvcmRpbmdseSAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ZW5lciA9IHRoaXMuX2R5bmFtaWNQYWdlV3JhcHBlciA/IHRoaXMuX2xpc3RlblRvV3JhcHBlclJlc2l6ZSgpIDogdGhpcy5fbGlzdGVuVG9XaW5kb3dSZXNpemUoKTtcblxuICAgICAgICBsaXN0ZW5lci5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDb250YWluZXJQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuX3NpemVDaGFuZ2VIYW5kbGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1dyYXBwZXJSZXNpemUoKTogT2JzZXJ2YWJsZTxSZXNpemVPYnNlcnZlckVudHJ5W10+IHtcbiAgICAgICAgcmV0dXJuIHJlc2l6ZU9ic2VydmFibGUodGhpcy5fZHluYW1pY1BhZ2VXcmFwcGVyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1dpbmRvd1Jlc2l6ZSgpOiBPYnNlcnZhYmxlPFJlc2l6ZU9ic2VydmVyRW50cnlbXT4ge1xuICAgICAgICByZXR1cm4gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnBpcGUobWFwKCgpID0+IFtdKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBzZXQgdG9wIHBvc2l0aW9uIG9mIER5bmFtaWNQYWdlIG9uIHNjcm9sbGluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgX3NldER5bmFtaWNQYWdlSGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2R5bmFtaWNQYWdlRWxlbWVudCB8fCAhdGhpcy5leHBhbmRDb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2R5bmFtaWNQYWdlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0JywgdGhpcy5fZ2V0Q2FsY3VsYXRlZEZ1bGxIZWlnaHQoZWxlbWVudCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVtb3ZlU2hhZG93V2hlblRhYkNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wYWdlU3ViaGVhZGVyQ29tcG9uZW50Py5jb2xsYXBzaWJsZSB8fCAhdGhpcy5fdGFiQ29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwaW5Db2xsYXBzZVNoYWRvd0VsZW1lbnQgPSB0aGlzLl9wYWdlU3ViaGVhZGVyQ29tcG9uZW50Py5waW5Db2xsYXBzZUNvbnRhaW5lcjtcblxuICAgICAgICBpZiAocGluQ29sbGFwc2VTaGFkb3dFbGVtZW50KSB7XG4gICAgICAgICAgICBhZGRDbGFzc05hbWVUb0VsZW1lbnQoXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgcGluQ29sbGFwc2VTaGFkb3dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgRFlOQU1JQ19QQUdFX0NMQVNTX05BTUUuZHluYW1pY1BhZ2VDb2xsYXBzaWJsZUhlYWRlclBpbkNvbGxhcHNlTm9TaGFkb3dcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldENvbnRlbnRGb290ZXJTcGFjZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRDb21wb25lbnQuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2NvbnRlbnRDb21wb25lbnQudG9BcnJheSgpKSwgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29tcG9uZW50cykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMuZm9yRWFjaCgoY29udGVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLyoqIHNob3cgc3BhY2VyIHdoZW46XG4gICAgICAgICAgICAgICAgICAgICAqIGEpIGZvb3RlciArIG5vIHRhYnMgPSBvbmx5IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgICogYikgZm9vdGVyICsgdGFicywgbm90IHN0YWNrZWQgPSBhbGxcbiAgICAgICAgICAgICAgICAgICAgICogYykgZm9vdGVyICsgdGFicywgc3RhY2tlZCA9IG9ubHkgbGFzdFxuICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgY29udGVudC5fdG9nZ2xlU3BhY2VyKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9vdGVyQ29tcG9uZW50ICYmICghdGhpcy5fdGFiQ29tcG9uZW50Py5zdGFja0NvbnRlbnQgfHwgaW5kZXggPT09IGNvbXBvbmVudHMubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uXG4gICAgI2R5bmFtaWNQYWdlRWxlbWVudFxuICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS1zbV09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlLS1tZF09XCJzaXplID09PSAnbWVkaXVtJ1wiXG4gICAgW2NsYXNzLmZkLWR5bmFtaWMtcGFnZS0tbGddPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgW2NsYXNzLmZkLWR5bmFtaWMtcGFnZS0teGxdPVwic2l6ZSA9PT0gJ2V4dHJhLWxhcmdlJ1wiXG4gICAgW2NsYXNzLmZkLWR5bmFtaWMtcGFnZS0tdHJhbnNwYXJlbnQtYmddPVwiYmFja2dyb3VuZCA9PT0gJ3RyYW5zcGFyZW50J1wiXG4gICAgW2NsYXNzLmZkLWR5bmFtaWMtcGFnZS0tbGlzdC1iZ109XCJiYWNrZ3JvdW5kID09PSAnbGlzdCdcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19oZWFkZXJcIiBbY2xhc3MuZmQtZHluYW1pYy1wYWdlX19oZWFkZXItLW5vdC1jb2xsYXBzaWJsZV09XCIhX2hlYWRlckNvbGxhcHNpYmxlXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCIgKGtleWRvd24uZW50ZXIpPVwidG9nZ2xlQ29sbGFwc2UoKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWR5bmFtaWMtcGFnZS1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWR5bmFtaWMtcGFnZS1zdWJoZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtdGFiLWxpc3RcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2IGZkLXNjcm9sbGJhciAqbmdJZj1cIiFfdGFiQ29tcG9uZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWR5bmFtaWMtcGFnZS1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIl90YWJDb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9vdGVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1keW5hbWljLXBhZ2UtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZm9vdGVyPlxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CSP_NONCE, Directive, ElementRef, HostBinding, HostListener, inject, Input, PLATFORM_ID, Renderer2 } from '@angular/core';
|
|
2
1
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { CdkScrollable } from '@angular/cdk/overlay';
|
|
3
3
|
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
4
|
+
import { CSP_NONCE, Directive, ElementRef, HostBinding, HostListener, Input, PLATFORM_ID, Renderer2, inject } from '@angular/core';
|
|
4
5
|
import scrollbarStyles from 'fundamental-styles/dist/js/scrollbar';
|
|
5
|
-
import { CdkScrollable } from '@angular/cdk/overlay';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/cdk/overlay";
|
|
8
8
|
let scrollbarElementsQuantity = 0;
|
|
@@ -62,13 +62,14 @@ export class ScrollbarDirective {
|
|
|
62
62
|
/**
|
|
63
63
|
* @hidden
|
|
64
64
|
*/
|
|
65
|
-
constructor(
|
|
66
|
-
this._elementRef = _elementRef;
|
|
65
|
+
constructor(renderer2) {
|
|
67
66
|
/** Whether to force apply tabindex attribute. */
|
|
68
67
|
this.overrideTabindex = true;
|
|
69
68
|
/** @hidden */
|
|
70
69
|
this._inPopover = false;
|
|
71
70
|
/** @hidden */
|
|
71
|
+
this.elementRef = inject(ElementRef);
|
|
72
|
+
/** @hidden */
|
|
72
73
|
this._document = inject(DOCUMENT);
|
|
73
74
|
/** @hidden */
|
|
74
75
|
this._csp_nonce = inject(CSP_NONCE, {
|
|
@@ -106,7 +107,7 @@ export class ScrollbarDirective {
|
|
|
106
107
|
}
|
|
107
108
|
/** method to invoke scroll */
|
|
108
109
|
scroll(options) {
|
|
109
|
-
this.
|
|
110
|
+
this.elementRef.nativeElement.scroll(options);
|
|
110
111
|
}
|
|
111
112
|
/** @hidden */
|
|
112
113
|
get _overflow() {
|
|
@@ -115,7 +116,7 @@ export class ScrollbarDirective {
|
|
|
115
116
|
}
|
|
116
117
|
return 'auto';
|
|
117
118
|
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ScrollbarDirective, deps: [{ token: i0.
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ScrollbarDirective, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
119
120
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: ScrollbarDirective, isStandalone: true, selector: "[fdScrollbar], [fd-scrollbar]", inputs: { noHorizontalScroll: "noHorizontalScroll", noVerticalScroll: "noVerticalScroll", alwaysVisible: "alwaysVisible", overrideTabindex: "overrideTabindex" }, host: { listeners: { "scroll": "onScroll($event)" }, properties: { "attr.tabindex": "this._tabindex", "style.overflow-x": "this._overflowX", "style.overflow-y": "this._overflowY" }, classAttribute: "fd-scrollbar" }, hostDirectives: [{ directive: i1.CdkScrollable }], ngImport: i0 }); }
|
|
120
121
|
}
|
|
121
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ScrollbarDirective, decorators: [{
|
|
@@ -128,7 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
128
129
|
hostDirectives: [CdkScrollable],
|
|
129
130
|
standalone: true
|
|
130
131
|
}]
|
|
131
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
132
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { noHorizontalScroll: [{
|
|
132
133
|
type: Input
|
|
133
134
|
}], noVerticalScroll: [{
|
|
134
135
|
type: Input
|
|
@@ -149,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
149
150
|
type: HostListener,
|
|
150
151
|
args: ['scroll', ['$event']]
|
|
151
152
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Njcm9sbGJhci9zY3JvbGxiYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sZUFBZSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSXJELElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLElBQUksVUFBVSxHQUE0QixJQUFJLENBQUM7QUFFL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLDREQUE0RDtJQUM1RCxJQUNJLGtCQUFrQixDQUFDLEtBQW1CO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxJQUNJLGdCQUFnQixDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFD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bEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEI7b0JBQ0QsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUhBSU8sa0JBQWtCO3NCQURyQixLQUFLO2dCQVdGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFXRixhQUFhO3NCQURoQixLQUFLO2dCQVdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlO2dCQU94QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQVczQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQStDL0IsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ1NQX05PTkNFLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgc2Nyb2xsYmFyU3R5bGVzIGZyb20gJ2Z1bmRhbWVudGFsLXN0eWxlcy9kaXN0L2pzL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5leHBvcnQgdHlwZSBTY3JvbGxiYXJPdmVyZmxvd09wdGlvbnMgPSAnYXV0bycgfCAnc2Nyb2xsJyB8ICdoaWRkZW4nO1xuXG5sZXQgc2Nyb2xsYmFyRWxlbWVudHNRdWFudGl0eSA9IDA7XG5sZXQgc3R5bGVTaGVldDogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIFRoZSBzY3JvbGxiYXIgZGlyZWN0aXZlLlxuICpcbiAqIENoaWxkcmVuIHVzYWdlOlxuICogYGBgaHRtbFxuICogPGRpdiBmZC1zY3JvbGxiYXI+XG4gKiA8ZGl2IGZkLXNjcm9sbGJhciBub1ZlcnRpY2FsU2Nyb2xsPlxuICogPGRpdiBmZC1zY3JvbGxiYXIgW25vVmVydGljYWxTY3JvbGxdPVwidHJ1ZVwiPlxuICogPGRpdiBmZC1zY3JvbGxiYXIgbm9Ib3Jpem9udGFsU2Nyb2xsPlxuICogPGRpdiBmZC1zY3JvbGxiYXIgW25vSG9yaXpvbnRhbFNjcm9sbF09XCJ0cnVlXCI+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRTY3JvbGxiYXJdLCBbZmQtc2Nyb2xsYmFyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXNjcm9sbGJhcidcbiAgICB9LFxuICAgIGhvc3REaXJlY3RpdmVzOiBbQ2RrU2Nyb2xsYWJsZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxiYXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIG92ZXJmbG93IGhvcml6b250YWwgY29udGVudCBzaG91bGQgYmUgaGlkZGVuLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG5vSG9yaXpvbnRhbFNjcm9sbCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX25vSG9yaXpvbnRhbFNjcm9sbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG5vSG9yaXpvbnRhbFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vSG9yaXpvbnRhbFNjcm9sbDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBvdmVyZmxvdyB2ZXJ0aWNhbCBjb250ZW50IHNob3VsZCBiZSBoaWRkZW4uICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbm9WZXJ0aWNhbFNjcm9sbCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX25vVmVydGljYWxTY3JvbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBub1ZlcnRpY2FsU2Nyb2xsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9WZXJ0aWNhbFNjcm9sbDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBzY3JvbGxiYXJzIHNob3VsZCBiZSB2aXNpYmxlIGV2ZW4gaWYgY29udGVudCBmaXRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGFsd2F5c1Zpc2libGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9hbHdheXNWaXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgYWx3YXlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Fsd2F5c1Zpc2libGU7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdG8gZm9yY2UgYXBwbHkgdGFiaW5kZXggYXR0cmlidXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcnJpZGVUYWJpbmRleCA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcnJpZGVUYWJpbmRleCA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vdmVyZmxvdy14JylcbiAgICBnZXQgX292ZXJmbG93WCgpOiBTY3JvbGxiYXJPdmVyZmxvd09wdGlvbnMge1xuICAgICAgICBpZiAodGhpcy5ub0hvcml6b250YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnaGlkZGVuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVyZmxvdztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cteScpXG4gICAgZ2V0IF9vdmVyZmxvd1koKTogU2Nyb2xsYmFyT3ZlcmZsb3dPcHRpb25zIHtcbiAgICAgICAgaWYgKHRoaXMubm9WZXJ0aWNhbFNjcm9sbCkge1xuICAgICAgICAgICAgcmV0dXJuICdoaWRkZW4nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJmbG93O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2luUG9wb3ZlciA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jc3Bfbm9uY2UgPSBpbmplY3QoQ1NQX05PTkNFLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vSG9yaXpvbnRhbFNjcm9sbCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ub1ZlcnRpY2FsU2Nyb2xsID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Fsd2F5c1Zpc2libGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc2Nyb2xsYmFyRWxlbWVudHNRdWFudGl0eSsrO1xuICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG4gICAgICAgIGlmICghc3R5bGVTaGVldCAmJiBpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybSkpIHtcbiAgICAgICAgICAgIHN0eWxlU2hlZXQgPSByZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgIHN0eWxlU2hlZXQhLmlubmVySFRNTCA9IHNjcm9sbGJhclN0eWxlcy5jc3NTb3VyY2U7XG4gICAgICAgICAgICBpZiAodGhpcy5fY3NwX25vbmNlKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVTaGVldD8uc2V0QXR0cmlidXRlKCdub25jZScsIHRoaXMuX2NzcF9ub25jZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5fZG9jdW1lbnQuaGVhZCwgc3R5bGVTaGVldCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25TY3JvbGwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pblBvcG92ZXIpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKC0tc2Nyb2xsYmFyRWxlbWVudHNRdWFudGl0eSA9PT0gMCkge1xuICAgICAgICAgICAgc3R5bGVTaGVldD8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBzdHlsZVNoZWV0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBtZXRob2QgdG8gaW52b2tlIHNjcm9sbCAqL1xuICAgIHNjcm9sbChvcHRpb25zOiBTY3JvbGxUb09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9vdmVyZmxvdygpOiBTY3JvbGxiYXJPdmVyZmxvd09wdGlvbnMge1xuICAgICAgICBpZiAodGhpcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3Njcm9sbCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ2F1dG8nO1xuICAgIH1cbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Njcm9sbGJhci9zY3JvbGxiYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBSW5FLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLElBQUksVUFBVSxHQUE0QixJQUFJLENBQUM7QUFFL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLDREQUE0RDtJQUM1RCxJQUNJLGtCQUFrQixDQUFDLEtBQW1CO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxJQUNJLGdCQUFnQixDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFD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LGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEI7b0JBQ0QsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7Z0dBSU8sa0JBQWtCO3NCQURyQixLQUFLO2dCQVdGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFXRixhQUFhO3NCQURoQixLQUFLO2dCQVdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlO2dCQU94QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQVczQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQWtEL0IsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDU1BfTk9OQ0UsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbiAgICBSZW5kZXJlcjIsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCBzY3JvbGxiYXJTdHlsZXMgZnJvbSAnZnVuZGFtZW50YWwtc3R5bGVzL2Rpc3QvanMvc2Nyb2xsYmFyJztcblxuZXhwb3J0IHR5cGUgU2Nyb2xsYmFyT3ZlcmZsb3dPcHRpb25zID0gJ2F1dG8nIHwgJ3Njcm9sbCcgfCAnaGlkZGVuJztcblxubGV0IHNjcm9sbGJhckVsZW1lbnRzUXVhbnRpdHkgPSAwO1xubGV0IHN0eWxlU2hlZXQ6IEhUTUxTdHlsZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuLyoqXG4gKiBUaGUgc2Nyb2xsYmFyIGRpcmVjdGl2ZS5cbiAqXG4gKiBDaGlsZHJlbiB1c2FnZTpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgZmQtc2Nyb2xsYmFyPlxuICogPGRpdiBmZC1zY3JvbGxiYXIgbm9WZXJ0aWNhbFNjcm9sbD5cbiAqIDxkaXYgZmQtc2Nyb2xsYmFyIFtub1ZlcnRpY2FsU2Nyb2xsXT1cInRydWVcIj5cbiAqIDxkaXYgZmQtc2Nyb2xsYmFyIG5vSG9yaXpvbnRhbFNjcm9sbD5cbiAqIDxkaXYgZmQtc2Nyb2xsYmFyIFtub0hvcml6b250YWxTY3JvbGxdPVwidHJ1ZVwiPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkU2Nyb2xsYmFyXSwgW2ZkLXNjcm9sbGJhcl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1zY3JvbGxiYXInXG4gICAgfSxcbiAgICBob3N0RGlyZWN0aXZlczogW0Nka1Njcm9sbGFibGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsYmFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBIYXNFbGVtZW50UmVmIHtcbiAgICAvKiogV2hldGhlciBvdmVyZmxvdyBob3Jpem9udGFsIGNvbnRlbnQgc2hvdWxkIGJlIGhpZGRlbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBub0hvcml6b250YWxTY3JvbGwodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub0hvcml6b250YWxTY3JvbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBub0hvcml6b250YWxTY3JvbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub0hvcml6b250YWxTY3JvbGw7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgb3ZlcmZsb3cgdmVydGljYWwgY29udGVudCBzaG91bGQgYmUgaGlkZGVuLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG5vVmVydGljYWxTY3JvbGwodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub1ZlcnRpY2FsU2Nyb2xsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgbm9WZXJ0aWNhbFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vVmVydGljYWxTY3JvbGw7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgc2Nyb2xsYmFycyBzaG91bGQgYmUgdmlzaWJsZSBldmVuIGlmIGNvbnRlbnQgZml0cy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhbHdheXNWaXNpYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fYWx3YXlzVmlzaWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGFsd2F5c1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbHdheXNWaXNpYmxlO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRvIGZvcmNlIGFwcGx5IHRhYmluZGV4IGF0dHJpYnV0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG92ZXJyaWRlVGFiaW5kZXggPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIGdldCBfdGFiaW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJyaWRlVGFiaW5kZXggPyAwIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cteCcpXG4gICAgZ2V0IF9vdmVyZmxvd1goKTogU2Nyb2xsYmFyT3ZlcmZsb3dPcHRpb25zIHtcbiAgICAgICAgaWYgKHRoaXMubm9Ib3Jpem9udGFsU2Nyb2xsKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2hpZGRlbic7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm92ZXJmbG93LXknKVxuICAgIGdldCBfb3ZlcmZsb3dZKCk6IFNjcm9sbGJhck92ZXJmbG93T3B0aW9ucyB7XG4gICAgICAgIGlmICh0aGlzLm5vVmVydGljYWxTY3JvbGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnaGlkZGVuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVyZmxvdztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pblBvcG92ZXIgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NzcF9ub25jZSA9IGluamVjdChDU1BfTk9OQ0UsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbm9Ib3Jpem9udGFsU2Nyb2xsID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vVmVydGljYWxTY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWx3YXlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHJlbmRlcmVyMjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHNjcm9sbGJhckVsZW1lbnRzUXVhbnRpdHkrKztcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgICAgICBpZiAoIXN0eWxlU2hlZXQgJiYgaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm0pKSB7XG4gICAgICAgICAgICBzdHlsZVNoZWV0ID0gcmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgICBzdHlsZVNoZWV0IS5pbm5lckhUTUwgPSBzY3JvbGxiYXJTdHlsZXMuY3NzU291cmNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2NzcF9ub25jZSkge1xuICAgICAgICAgICAgICAgIHN0eWxlU2hlZXQ/LnNldEF0dHJpYnV0ZSgnbm9uY2UnLCB0aGlzLl9jc3Bfbm9uY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuX2RvY3VtZW50LmhlYWQsIHN0eWxlU2hlZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdzY3JvbGwnLCBbJyRldmVudCddKVxuICAgIG9uU2Nyb2xsKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5Qb3BvdmVyKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICgtLXNjcm9sbGJhckVsZW1lbnRzUXVhbnRpdHkgPT09IDApIHtcbiAgICAgICAgICAgIHN0eWxlU2hlZXQ/LnJlbW92ZSgpO1xuICAgICAgICAgICAgc3R5bGVTaGVldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogbWV0aG9kIHRvIGludm9rZSBzY3JvbGwgKi9cbiAgICBzY3JvbGwob3B0aW9uczogU2Nyb2xsVG9PcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9vdmVyZmxvdygpOiBTY3JvbGxiYXJPdmVyZmxvd09wdGlvbnMge1xuICAgICAgICBpZiAodGhpcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3Njcm9sbCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ2F1dG8nO1xuICAgIH1cbn1cbiJdfQ==
|