@agorapulse/ui-components 17.4.4 → 17.4.6
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/agorapulse-ui-components-17.4.6.tgz +0 -0
- package/datepicker/datepicker.component.d.ts +19 -5
- package/esm2022/avatar/avatar.component.mjs +3 -3
- package/esm2022/datepicker/datepicker.component.mjs +31 -15
- package/fesm2022/agorapulse-ui-components-avatar.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +31 -15
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/package.json +19 -19
- package/agorapulse-ui-components-17.4.4.tgz +0 -0
|
Binary file
|
|
@@ -27,8 +27,22 @@ export interface I18nDatePicker {
|
|
|
27
27
|
last30Days: string;
|
|
28
28
|
lastMonth: string;
|
|
29
29
|
thisMonth: string;
|
|
30
|
+
[other: string]: string;
|
|
30
31
|
};
|
|
31
32
|
}
|
|
33
|
+
export type RangesConfigPresetType = {
|
|
34
|
+
[periodText: string]: [dayjs.Dayjs, dayjs.Dayjs];
|
|
35
|
+
};
|
|
36
|
+
export declare const RangesConfigPreset: {
|
|
37
|
+
yesterday: [dayjs.Dayjs, dayjs.Dayjs];
|
|
38
|
+
lastWeek: [dayjs.Dayjs, dayjs.Dayjs];
|
|
39
|
+
last30Days: [dayjs.Dayjs, dayjs.Dayjs];
|
|
40
|
+
lastMonth: [dayjs.Dayjs, dayjs.Dayjs];
|
|
41
|
+
last3Months: [dayjs.Dayjs, dayjs.Dayjs];
|
|
42
|
+
last6Months: [dayjs.Dayjs, dayjs.Dayjs];
|
|
43
|
+
lastYear: [dayjs.Dayjs, dayjs.Dayjs];
|
|
44
|
+
thisMonth: [dayjs.Dayjs, dayjs.Dayjs];
|
|
45
|
+
};
|
|
32
46
|
export declare class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {
|
|
33
47
|
changeDetectorRef: ChangeDetectorRef;
|
|
34
48
|
symbolRegistry: SymbolRegistry;
|
|
@@ -43,6 +57,7 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
43
57
|
selectedDates: dayjs.Dayjs[];
|
|
44
58
|
selectedPeriod: Period;
|
|
45
59
|
showRanges: boolean;
|
|
60
|
+
showCustomRangeLabel: import("@angular/core").InputSignal<boolean>;
|
|
46
61
|
dateSelected: EventEmitter<any>;
|
|
47
62
|
periodSelected: EventEmitter<Period>;
|
|
48
63
|
DatepickerMode: typeof DatepickerMode;
|
|
@@ -53,9 +68,8 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
53
68
|
monthNames: string[];
|
|
54
69
|
firstDay: number;
|
|
55
70
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
71
|
+
rangesConfig: import("@angular/core").InputSignal<RangesConfigPresetType | null>;
|
|
72
|
+
ranges: RangesConfigPresetType;
|
|
59
73
|
rangePickerWidth: number;
|
|
60
74
|
width: number;
|
|
61
75
|
pageSet: boolean;
|
|
@@ -66,7 +80,7 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
66
80
|
ngOnChanges(changes: SimpleChanges): void;
|
|
67
81
|
ngAfterViewInit(): void;
|
|
68
82
|
initDatePickerLocale(): void;
|
|
69
|
-
initRanges
|
|
83
|
+
private initRanges;
|
|
70
84
|
isCustomDate: (date: any) => string[];
|
|
71
85
|
private isSelected;
|
|
72
86
|
onStartDateChanged(event: StartDate): void;
|
|
@@ -80,5 +94,5 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
80
94
|
setCalendarCurrentPage(): void;
|
|
81
95
|
setWidth(): void;
|
|
82
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
83
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "ap-datepicker", never, { "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "mode": { "alias": "mode"; "required": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedDates": { "alias": "selectedDates"; "required": false; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; }, { "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "ap-datepicker", never, { "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "mode": { "alias": "mode"; "required": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedDates": { "alias": "selectedDates"; "required": false; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "rangesConfig": { "alias": "rangesConfig"; "required": false; "isSignal": true; }; }, { "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
84
98
|
}
|
|
@@ -193,11 +193,11 @@ export class AvatarComponent {
|
|
|
193
193
|
this.imageError$.next(true);
|
|
194
194
|
}
|
|
195
195
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
196
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: "size" }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
196
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: "size" }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.youtube{bottom:-1px;border-radius:unset;overflow:visible;box-shadow:none}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
197
197
|
}
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
199
199
|
type: Component,
|
|
200
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective, NgClass], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
200
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective, NgClass], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.youtube{bottom:-1px;border-radius:unset;overflow:visible;box-shadow:none}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
201
201
|
}], ctorParameters: () => [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }], propDecorators: { alternativeText: [{
|
|
202
202
|
type: Input
|
|
203
203
|
}], anonymous: [{
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
225
225
|
}], size: [{
|
|
226
226
|
type: Input
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJM0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzNMLE1BQU0sMkJBQTJCLEdBQTBDLENBQUMsVUFBVSxFQUFF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biAgICBTeW1ib2xSZWdpc3RyeSxcbiAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzT2ZmaWNpYWwsXG4gICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgYXBOc1RocmVhZHNMb2dvLFxuICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgYXBTaW5nbGVOZXV0cmFsLFxuICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgYXBXZWJCbG9ncyxcbiAgICBhcFdlYk5ld3MsXG4gICAgYXBYT2ZmaWNpYWwsXG4gICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQge05nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQXZhdGFyU2l6ZSA9IDU2IHwgNDggfCA0MCB8IDM2IHwgMzIgfCAyNCB8IDE2O1xuXG5leHBvcnQgY29uc3QgQVZBVEFSX05FVFdPUktfQVJSQVkgPSBbJ2ZhY2Vib29rJywgJ2xpbmtlZGluJywgJ3R3aXR0ZXInLCAnWCcsICd5b3V0dWJlJywgJ2dvb2dsZU15QnVzaW5lc3MnLCAnZ29vZ2xlJywgJ2luc3RhZ3JhbScsICd0aHJlYWRzJywgJ3Rpa3RvaycsICdwaW50ZXJlc3QnLCAnd2ViQmxvZycsICd3ZWJOZXdzJ107XG5jb25zdCBST1VORF9CT1JERVJfQVZBVEFSX05FVFdPUks6IHR5cGVvZiBBVkFUQVJfTkVUV09SS19BUlJBWVtudW1iZXJdW10gPSBbJ2ZhY2Vib29rJywgJ3R3aXR0ZXInLCAneW91dHViZScsICd0aWt0b2snLCAnWCcsICdwaW50ZXJlc3QnLCAnd2ViQmxvZycsICd3ZWJOZXdzJywgJ3RocmVhZHMnXTtcbmV4cG9ydCB0eXBlIEF2YXRhck5ldHdvcmsgPSB0eXBlb2YgQVZBVEFSX05FVFdPUktfQVJSQVlbbnVtYmVyXTtcblxuY29uc3Qgb25saW5lSWNvblNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAxNixcbiAgICA0ODogMTIsXG4gICAgNDA6IDEyLFxuICAgIDM2OiA4LFxuICAgIDMyOiA4LFxuICAgIDI0OiA2LFxuICAgIDE2OiA2LFxufTtcblxuY29uc3Qgc3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjAsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxNixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDE2LFxuICAgIDQ4OiAxNixcbiAgICA0MDogMTYsXG4gICAgMzY6IDE2LFxuICAgIDMyOiAxMixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjIsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxOCxcbiAgICAyNDogMTQsXG4gICAgMTY6IDEwLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1hdmF0YXInLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nT3B0aW1pemVkSW1hZ2UsIFN5bWJvbENvbXBvbmVudCwgTGV0RGlyZWN0aXZlLCBOZ0NsYXNzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHJlYWRvbmx5IG5ldHdvcmtTeW1ib2xCeU5ldHdvcms6IFJlY29yZDxBdmF0YXJOZXR3b3JrLCBzdHJpbmc+ID0ge1xuICAgICAgICBmYWNlYm9vazogJ2ZhY2Vib29rLW9mZmljaWFsJyxcbiAgICAgICAgaW5zdGFncmFtOiAnaW5zdGFncmFtLW9mZmljaWFsJyxcbiAgICAgICAgWDogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICB0d2l0dGVyOiAneC1vZmZpY2lhbCcsXG4gICAgICAgIGxpbmtlZGluOiAnbGlua2VkaW4tb2ZmaWNpYWwnLFxuICAgICAgICB0aWt0b2s6ICd0aWt0b2stb2ZmaWNpYWwnLFxuICAgICAgICB5b3V0dWJlOiAneW91dHViZS1vZmZpY2lhbCcsXG4gICAgICAgIHBpbnRlcmVzdDogJ3BpbnRlcmVzdC1vZmZpY2lhbCcsXG4gICAgICAgIHRocmVhZHM6ICducy10aHJlYWRzLWxvZ28nLFxuICAgICAgICBnb29nbGVNeUJ1c2luZXNzOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgd2ViTmV3czogJ3dlYi1uZXdzJyxcbiAgICAgICAgd2ViQmxvZzogJ3dlYi1ibG9ncycsXG4gICAgfTtcblxuICAgIHNpemUkOiBCZWhhdmlvclN1YmplY3Q8QXZhdGFyU2l6ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+KDQwKTtcbiAgICBwcm9maWxlUGljdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KCcnKTtcbiAgICBuZXR3b3JrJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHJpdmF0ZSBhbHRlcm5hdGl2ZVRleHQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBhbm9ueW1vdXMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHVzZXJuYW1lJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgb25saW5lJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzaG93SW5pdGlhbHMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJvdW5kZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsdGVybmF0aXZlVGV4dChhbHRlcm5hdGl2ZVRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFsdGVybmF0aXZlVGV4dCQubmV4dChhbHRlcm5hdGl2ZVRleHQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbm9ueW1vdXMoYW5vbnltb3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYW5vbnltb3VzJC5uZXh0KGFub255bW91cyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dCh1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5ldHdvcmsobmV0d29yazogQXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLm5ldHdvcmskLm5leHQobmV0d29yayk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1uZXR3b3JrLXNpemUnLCBgJHtuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvbmxpbmUob25saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub25saW5lJC5uZXh0KG9ubGluZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByb2ZpbGVQaWN0dXJlKHByb2ZpbGVQaWN0dXJlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQubmV4dChwcm9maWxlUGljdHVyZSk7XG4gICAgICAgIHRoaXMuaW1hZ2VFcnJvciQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNob3dJbml0aWFscyhzaG93SW5pdGlhbHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SW5pdGlhbHMkLm5leHQoc2hvd0luaXRpYWxzKTtcbiAgICB9XG4gICAgQElucHV0KCkgYWx0ID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdW5kZWQtYXZhdGFyJylcbiAgICByb3VuZGVkQXZhdGFyID0gdHJ1ZTtcblxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHNldCByb3VuZGVkKHJvdW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQXZhdGFyID0gcm91bmRlZDtcbiAgICAgICAgdGhpcy5yb3VuZGVkJC5uZXh0KHJvdW5kZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gLSBtaWdyYXRlIHRvIHNpZ25hbCBpbnB1dCBhbmQgcmVtb3ZlIHNpemUgaW5wdXRcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHNpemU6IEF2YXRhclNpemUgfCBgJHtBdmF0YXJTaXplfWApIHtcbiAgICAgICAgdGhpcy5zaXplJC5uZXh0KCtzaXplIGFzIEF2YXRhclNpemUpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGAke3NpemV9cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXN5bWJvbC1zaXplJywgYCR7c3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItb25saW5lLWljb24tc2l6ZScsIGAke29ubGluZUljb25TaXplQnlBdmF0YXJTaXplW3NpemVdfXB4YCk7XG4gICAgfVxuXG4gICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5SW5pdGlhbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5QW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU5ldHdvcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5T25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgaW1hZ2VFcnJvciQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGluaXRpYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPigpO1xuICAgIGluaXRpYWxzQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgICBzb2NpYWxOZXR3b3JrJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcE5zVGhyZWFkc0xvZ28sXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwV2ViQmxvZ3MsXG4gICAgICAgICAgICBhcFdlYk5ld3MsXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGA0MHB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQgPSB0aGlzLnVzZXJuYW1lJC5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJuYW1lID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF1c2VybmFtZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkID0gY29tYmluZUxhdGVzdChbdGhpcy5wcm9maWxlUGljdHVyZSQsIHRoaXMuYW5vbnltb3VzJCwgdGhpcy5pbWFnZUVycm9yJCwgdGhpcy5zaG93SW5pdGlhbHMkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwcm9maWxlUGljdHVyZSwgaW1hZ2VFcnJvciwgaW5pdGlhbHNBdmFpbGFibGUsIHNob3dJbml0aWFscywgYW5vbnltb3VzLCBkaXNwbGF5SW5pdGlhbHMsIGRpc3BsYXlQcm9maWxlUGljdHVyZV0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoIXByb2ZpbGVQaWN0dXJlIHx8IGltYWdlRXJyb3IgfHwgIWluaXRpYWxzQXZhaWxhYmxlIHx8IChpbml0aWFsc0F2YWlsYWJsZSAmJiAhc2hvd0luaXRpYWxzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFub255bW91cyAmJlxuICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5UHJvZmlsZVBpY3R1cmVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBbm9ueW1vdXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5hbm9ueW1vdXMkLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2Fub255bW91cywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYW5vbnltb3VzICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU9ubGluZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9ubGluZSQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbb25saW5lLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvbmxpbmUgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV0d29yayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5ldHdvcmskLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW25ldHdvcmssIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbmV0d29yayAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNvY2lhbE5ldHdvcmskID0gdGhpcy5uZXR3b3JrJC5waXBlKG1hcChuZXR3b3JrID0+IHtcbiAgICAgICAgICAgIGlmICghbmV0d29yaykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBST1VORF9CT1JERVJfQVZBVEFSX05FVFdPUksuaW5kZXhPZihuZXR3b3JrKSA+IC0xO1xuICAgICAgICB9KSk7XG5cblxuICAgICAgICB0aGlzLmluaXRpYWxzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlzcGxheUluaXRpYWxzJCwgdGhpcy51c2VybmFtZSRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZGlzcGxheUluaXRpYWxzLCB1c2VybmFtZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKGRpc3BsYXlJbml0aWFscyAmJiAhdXNlcm5hbWUpIHx8ICFkaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgJy0tYXAtYXZhdGFyLWluaXRpYWxzLXNpemUnLFxuICAgICAgICAgICAgICAgICAgICBgJHtpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gdXNlcm5hbWU/LnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWVzWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSW1hZ2VFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUVycm9yJC5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdyeExldD1cIntcbiAgICAgICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlOiBkaXNwbGF5UHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZzogZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckLFxuICAgICAgICBkaXNwbGF5SW5pdGlhbHM6IGRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgIGRpc3BsYXlBbm9ueW1vdXM6IGRpc3BsYXlBbm9ueW1vdXMkLFxuICAgICAgICBkaXNwbGF5T25saW5lOiBkaXNwbGF5T25saW5lJCxcbiAgICAgICAgZGlzcGxheU5ldHdvcms6IGRpc3BsYXlOZXR3b3JrJCxcbiAgICAgICAgaW5pdGlhbHM6IGluaXRpYWxzJCxcbiAgICAgICAgcHJvZmlsZVBpY3R1cmU6IHByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgc2l6ZTogc2l6ZSQsXG4gICAgICAgIG5ldHdvcms6IG5ldHdvcmskLFxuICAgICAgICBzb2NpYWxOZXR3b3JrOiBzb2NpYWxOZXR3b3JrJFxuICAgIH0gYXMgYXZhdGFyVmlld01vZGVsXCI+XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVByb2ZpbGVQaWN0dXJlKSB7XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwiYXZhdGFyVmlld01vZGVsLnByb2ZpbGVQaWN0dXJlXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCJhdmF0YXJWaWV3TW9kZWwuc2l6ZVwiXG4gICAgICAgICAgICBbaGVpZ2h0XT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgICAgIFthbHRdPVwiYWx0XCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkltYWdlRXJyb3IoKVwiIC8+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby1wcm9maWxlLXBpY3R1cmVcIj5cbiAgICAgICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJzaW5nbGUtbmV1dHJhbFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlBbm9ueW1vdXMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImFub255bW91c1wiPlxuICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNob3ctdGhlYXRlci1tYXNrLWhhcHB5XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlPbmxpbmUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9ubGluZVwiPjwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5TmV0d29yaykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIm5ldHdvcmtcIlxuICAgICAgICAgICAgW2NsYXNzLnNvY2lhbC1uZXR3b3JrXT1cImF2YXRhclZpZXdNb2RlbC5zb2NpYWxOZXR3b3JrXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrXCI+XG4gICAgICAgICAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5uZXR3b3JrKSB7XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBbc3ltYm9sSWRdPVwibmV0d29ya1N5bWJvbEJ5TmV0d29ya1thdmF0YXJWaWV3TW9kZWwubmV0d29ya11cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImluaXRpYWxzXCI+XG4gICAgICAgICAgICB7eyBhdmF0YXJWaWV3TW9kZWwuaW5pdGlhbHMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJM0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzNMLE1BQU0sMkJBQTJCLEdBQTBDLENBQUMsVUFBVSxFQUFF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biAgICBTeW1ib2xSZWdpc3RyeSxcbiAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzT2ZmaWNpYWwsXG4gICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgYXBOc1RocmVhZHNMb2dvLFxuICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgYXBTaW5nbGVOZXV0cmFsLFxuICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgYXBXZWJCbG9ncyxcbiAgICBhcFdlYk5ld3MsXG4gICAgYXBYT2ZmaWNpYWwsXG4gICAgYXBZb3V0dWJlT2ZmaWNpYWwsXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQge05nQ2xhc3MsIE5nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQXZhdGFyU2l6ZSA9IDU2IHwgNDggfCA0MCB8IDM2IHwgMzIgfCAyNCB8IDE2O1xuXG5leHBvcnQgY29uc3QgQVZBVEFSX05FVFdPUktfQVJSQVkgPSBbJ2ZhY2Vib29rJywgJ2xpbmtlZGluJywgJ3R3aXR0ZXInLCAnWCcsICd5b3V0dWJlJywgJ2dvb2dsZU15QnVzaW5lc3MnLCAnZ29vZ2xlJywgJ2luc3RhZ3JhbScsICd0aHJlYWRzJywgJ3Rpa3RvaycsICdwaW50ZXJlc3QnLCAnd2ViQmxvZycsICd3ZWJOZXdzJ107XG5jb25zdCBST1VORF9CT1JERVJfQVZBVEFSX05FVFdPUks6IHR5cGVvZiBBVkFUQVJfTkVUV09SS19BUlJBWVtudW1iZXJdW10gPSBbJ2ZhY2Vib29rJywgJ3R3aXR0ZXInLCAneW91dHViZScsICd0aWt0b2snLCAnWCcsICdwaW50ZXJlc3QnLCAnd2ViQmxvZycsICd3ZWJOZXdzJywgJ3RocmVhZHMnXTtcbmV4cG9ydCB0eXBlIEF2YXRhck5ldHdvcmsgPSB0eXBlb2YgQVZBVEFSX05FVFdPUktfQVJSQVlbbnVtYmVyXTtcblxuY29uc3Qgb25saW5lSWNvblNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAxNixcbiAgICA0ODogMTIsXG4gICAgNDA6IDEyLFxuICAgIDM2OiA4LFxuICAgIDMyOiA4LFxuICAgIDI0OiA2LFxuICAgIDE2OiA2LFxufTtcblxuY29uc3Qgc3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjAsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxNixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDE2LFxuICAgIDQ4OiAxNixcbiAgICA0MDogMTYsXG4gICAgMzY6IDE2LFxuICAgIDMyOiAxMixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjIsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxOCxcbiAgICAyNDogMTQsXG4gICAgMTY6IDEwLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1hdmF0YXInLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nT3B0aW1pemVkSW1hZ2UsIFN5bWJvbENvbXBvbmVudCwgTGV0RGlyZWN0aXZlLCBOZ0NsYXNzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHJlYWRvbmx5IG5ldHdvcmtTeW1ib2xCeU5ldHdvcms6IFJlY29yZDxBdmF0YXJOZXR3b3JrLCBzdHJpbmc+ID0ge1xuICAgICAgICBmYWNlYm9vazogJ2ZhY2Vib29rLW9mZmljaWFsJyxcbiAgICAgICAgaW5zdGFncmFtOiAnaW5zdGFncmFtLW9mZmljaWFsJyxcbiAgICAgICAgWDogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICB0d2l0dGVyOiAneC1vZmZpY2lhbCcsXG4gICAgICAgIGxpbmtlZGluOiAnbGlua2VkaW4tb2ZmaWNpYWwnLFxuICAgICAgICB0aWt0b2s6ICd0aWt0b2stb2ZmaWNpYWwnLFxuICAgICAgICB5b3V0dWJlOiAneW91dHViZS1vZmZpY2lhbCcsXG4gICAgICAgIHBpbnRlcmVzdDogJ3BpbnRlcmVzdC1vZmZpY2lhbCcsXG4gICAgICAgIHRocmVhZHM6ICducy10aHJlYWRzLWxvZ28nLFxuICAgICAgICBnb29nbGVNeUJ1c2luZXNzOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgd2ViTmV3czogJ3dlYi1uZXdzJyxcbiAgICAgICAgd2ViQmxvZzogJ3dlYi1ibG9ncycsXG4gICAgfTtcblxuICAgIHNpemUkOiBCZWhhdmlvclN1YmplY3Q8QXZhdGFyU2l6ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+KDQwKTtcbiAgICBwcm9maWxlUGljdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KCcnKTtcbiAgICBuZXR3b3JrJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHJpdmF0ZSBhbHRlcm5hdGl2ZVRleHQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBhbm9ueW1vdXMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHVzZXJuYW1lJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgb25saW5lJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzaG93SW5pdGlhbHMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJvdW5kZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsdGVybmF0aXZlVGV4dChhbHRlcm5hdGl2ZVRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFsdGVybmF0aXZlVGV4dCQubmV4dChhbHRlcm5hdGl2ZVRleHQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbm9ueW1vdXMoYW5vbnltb3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYW5vbnltb3VzJC5uZXh0KGFub255bW91cyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dCh1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5ldHdvcmsobmV0d29yazogQXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLm5ldHdvcmskLm5leHQobmV0d29yayk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1uZXR3b3JrLXNpemUnLCBgJHtuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvbmxpbmUob25saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub25saW5lJC5uZXh0KG9ubGluZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByb2ZpbGVQaWN0dXJlKHByb2ZpbGVQaWN0dXJlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQubmV4dChwcm9maWxlUGljdHVyZSk7XG4gICAgICAgIHRoaXMuaW1hZ2VFcnJvciQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNob3dJbml0aWFscyhzaG93SW5pdGlhbHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SW5pdGlhbHMkLm5leHQoc2hvd0luaXRpYWxzKTtcbiAgICB9XG4gICAgQElucHV0KCkgYWx0ID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdW5kZWQtYXZhdGFyJylcbiAgICByb3VuZGVkQXZhdGFyID0gdHJ1ZTtcblxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHNldCByb3VuZGVkKHJvdW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQXZhdGFyID0gcm91bmRlZDtcbiAgICAgICAgdGhpcy5yb3VuZGVkJC5uZXh0KHJvdW5kZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gLSBtaWdyYXRlIHRvIHNpZ25hbCBpbnB1dCBhbmQgcmVtb3ZlIHNpemUgaW5wdXRcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHNpemU6IEF2YXRhclNpemUgfCBgJHtBdmF0YXJTaXplfWApIHtcbiAgICAgICAgdGhpcy5zaXplJC5uZXh0KCtzaXplIGFzIEF2YXRhclNpemUpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGAke3NpemV9cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXN5bWJvbC1zaXplJywgYCR7c3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItb25saW5lLWljb24tc2l6ZScsIGAke29ubGluZUljb25TaXplQnlBdmF0YXJTaXplW3NpemVdfXB4YCk7XG4gICAgfVxuXG4gICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5SW5pdGlhbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5QW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU5ldHdvcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5T25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgaW1hZ2VFcnJvciQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGluaXRpYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPigpO1xuICAgIGluaXRpYWxzQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgICBzb2NpYWxOZXR3b3JrJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcE5zVGhyZWFkc0xvZ28sXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwV2ViQmxvZ3MsXG4gICAgICAgICAgICBhcFdlYk5ld3MsXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGA0MHB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQgPSB0aGlzLnVzZXJuYW1lJC5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJuYW1lID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF1c2VybmFtZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkID0gY29tYmluZUxhdGVzdChbdGhpcy5wcm9maWxlUGljdHVyZSQsIHRoaXMuYW5vbnltb3VzJCwgdGhpcy5pbWFnZUVycm9yJCwgdGhpcy5zaG93SW5pdGlhbHMkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwcm9maWxlUGljdHVyZSwgaW1hZ2VFcnJvciwgaW5pdGlhbHNBdmFpbGFibGUsIHNob3dJbml0aWFscywgYW5vbnltb3VzLCBkaXNwbGF5SW5pdGlhbHMsIGRpc3BsYXlQcm9maWxlUGljdHVyZV0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoIXByb2ZpbGVQaWN0dXJlIHx8IGltYWdlRXJyb3IgfHwgIWluaXRpYWxzQXZhaWxhYmxlIHx8IChpbml0aWFsc0F2YWlsYWJsZSAmJiAhc2hvd0luaXRpYWxzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFub255bW91cyAmJlxuICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5UHJvZmlsZVBpY3R1cmVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBbm9ueW1vdXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5hbm9ueW1vdXMkLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2Fub255bW91cywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYW5vbnltb3VzICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU9ubGluZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9ubGluZSQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbb25saW5lLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvbmxpbmUgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV0d29yayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5ldHdvcmskLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW25ldHdvcmssIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbmV0d29yayAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNvY2lhbE5ldHdvcmskID0gdGhpcy5uZXR3b3JrJC5waXBlKG1hcChuZXR3b3JrID0+IHtcbiAgICAgICAgICAgIGlmICghbmV0d29yaykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBST1VORF9CT1JERVJfQVZBVEFSX05FVFdPUksuaW5kZXhPZihuZXR3b3JrKSA+IC0xO1xuICAgICAgICB9KSk7XG5cblxuICAgICAgICB0aGlzLmluaXRpYWxzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlzcGxheUluaXRpYWxzJCwgdGhpcy51c2VybmFtZSRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZGlzcGxheUluaXRpYWxzLCB1c2VybmFtZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKGRpc3BsYXlJbml0aWFscyAmJiAhdXNlcm5hbWUpIHx8ICFkaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgJy0tYXAtYXZhdGFyLWluaXRpYWxzLXNpemUnLFxuICAgICAgICAgICAgICAgICAgICBgJHtpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gdXNlcm5hbWU/LnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWVzWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSW1hZ2VFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUVycm9yJC5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdyeExldD1cIntcbiAgICAgICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlOiBkaXNwbGF5UHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZzogZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckLFxuICAgICAgICBkaXNwbGF5SW5pdGlhbHM6IGRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgIGRpc3BsYXlBbm9ueW1vdXM6IGRpc3BsYXlBbm9ueW1vdXMkLFxuICAgICAgICBkaXNwbGF5T25saW5lOiBkaXNwbGF5T25saW5lJCxcbiAgICAgICAgZGlzcGxheU5ldHdvcms6IGRpc3BsYXlOZXR3b3JrJCxcbiAgICAgICAgaW5pdGlhbHM6IGluaXRpYWxzJCxcbiAgICAgICAgcHJvZmlsZVBpY3R1cmU6IHByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgc2l6ZTogc2l6ZSQsXG4gICAgICAgIG5ldHdvcms6IG5ldHdvcmskLFxuICAgICAgICBzb2NpYWxOZXR3b3JrOiBzb2NpYWxOZXR3b3JrJFxuICAgIH0gYXMgYXZhdGFyVmlld01vZGVsXCI+XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVByb2ZpbGVQaWN0dXJlKSB7XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwiYXZhdGFyVmlld01vZGVsLnByb2ZpbGVQaWN0dXJlXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCJhdmF0YXJWaWV3TW9kZWwuc2l6ZVwiXG4gICAgICAgICAgICBbaGVpZ2h0XT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgICAgIFthbHRdPVwiYWx0XCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkltYWdlRXJyb3IoKVwiIC8+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby1wcm9maWxlLXBpY3R1cmVcIj5cbiAgICAgICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJzaW5nbGUtbmV1dHJhbFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlBbm9ueW1vdXMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImFub255bW91c1wiPlxuICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNob3ctdGhlYXRlci1tYXNrLWhhcHB5XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlPbmxpbmUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9ubGluZVwiPjwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5TmV0d29yaykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIm5ldHdvcmtcIlxuICAgICAgICAgICAgW2NsYXNzLnNvY2lhbC1uZXR3b3JrXT1cImF2YXRhclZpZXdNb2RlbC5zb2NpYWxOZXR3b3JrXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrXCI+XG4gICAgICAgICAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5uZXR3b3JrKSB7XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBbc3ltYm9sSWRdPVwibmV0d29ya1N5bWJvbEJ5TmV0d29ya1thdmF0YXJWaWV3TW9kZWwubmV0d29ya11cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImluaXRpYWxzXCI+XG4gICAgICAgICAgICB7eyBhdmF0YXJWaWV3TW9kZWwuaW5pdGlhbHMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
|