@agorapulse/ui-components 17.3.0 → 17.3.1
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.3.1.tgz +0 -0
- package/avatar/avatar.component.d.ts +3 -1
- package/esm2022/avatar/avatar.component.mjs +14 -4
- package/fesm2022/agorapulse-ui-components-avatar.mjs +14 -4
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/package.json +1 -1
- package/agorapulse-ui-components-17.3.0.tgz +0 -0
|
Binary file
|
|
@@ -3,7 +3,8 @@ import { ElementRef, OnInit } from '@angular/core';
|
|
|
3
3
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;
|
|
6
|
-
export
|
|
6
|
+
export declare const AVATAR_NETWORK_ARRAY: string[];
|
|
7
|
+
export type AvatarNetwork = typeof AVATAR_NETWORK_ARRAY[number];
|
|
7
8
|
export declare class AvatarComponent implements OnInit {
|
|
8
9
|
private symbolRegistry;
|
|
9
10
|
private elementRef;
|
|
@@ -37,6 +38,7 @@ export declare class AvatarComponent implements OnInit {
|
|
|
37
38
|
imageError$: BehaviorSubject<boolean>;
|
|
38
39
|
initials$: Observable<string>;
|
|
39
40
|
initialsAvailable$: Observable<boolean>;
|
|
41
|
+
socialNetwork$: Observable<boolean>;
|
|
40
42
|
constructor(symbolRegistry: SymbolRegistry, elementRef: ElementRef);
|
|
41
43
|
ngOnInit(): void;
|
|
42
44
|
onImageError(): void;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { SymbolComponent, apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apPinterestOfficial, apShowTheaterMaskHappy, apSingleNeutral, apTiktokOfficial, apWebBlogs, apWebNews, apXOfficial, apYoutubeOfficial, } from '@agorapulse/ui-symbol';
|
|
1
|
+
import { SymbolComponent, apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apPinterestOfficial, apNsThreadsLogo, apShowTheaterMaskHappy, apSingleNeutral, apTiktokOfficial, apWebBlogs, apWebNews, apXOfficial, apYoutubeOfficial, } from '@agorapulse/ui-symbol';
|
|
2
2
|
import { NgOptimizedImage } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, booleanAttribute, } from '@angular/core';
|
|
4
4
|
import { LetDirective } from '@ngrx/component';
|
|
5
5
|
import { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@agorapulse/ui-symbol";
|
|
8
|
+
export const AVATAR_NETWORK_ARRAY = ['facebook', 'linkedin', 'twitter', 'X', 'youtube', 'googleMyBusiness', 'google', 'instagram', 'threads', 'tiktok', 'pinterest', 'webBlog', 'webNews'];
|
|
8
9
|
const onlineIconSizeByAvatarSize = {
|
|
9
10
|
56: 16,
|
|
10
11
|
48: 12,
|
|
@@ -53,6 +54,7 @@ export class AvatarComponent {
|
|
|
53
54
|
tiktok: 'tiktok-official',
|
|
54
55
|
youtube: 'youtube-official',
|
|
55
56
|
pinterest: 'pinterest-official',
|
|
57
|
+
threads: 'ns-threads-logo',
|
|
56
58
|
googleMyBusiness: 'google-my-business-official',
|
|
57
59
|
google: 'google-my-business-official',
|
|
58
60
|
webNews: 'web-news',
|
|
@@ -112,6 +114,7 @@ export class AvatarComponent {
|
|
|
112
114
|
imageError$ = new BehaviorSubject(false);
|
|
113
115
|
initials$ = new Observable();
|
|
114
116
|
initialsAvailable$ = of(false);
|
|
117
|
+
socialNetwork$ = of(false);
|
|
115
118
|
constructor(symbolRegistry, elementRef) {
|
|
116
119
|
this.symbolRegistry = symbolRegistry;
|
|
117
120
|
this.elementRef = elementRef;
|
|
@@ -124,6 +127,7 @@ export class AvatarComponent {
|
|
|
124
127
|
apTiktokOfficial,
|
|
125
128
|
apGoogleMyBusinessOfficial,
|
|
126
129
|
apPinterestOfficial,
|
|
130
|
+
apNsThreadsLogo,
|
|
127
131
|
apXOfficial,
|
|
128
132
|
apWebBlogs,
|
|
129
133
|
apWebNews,
|
|
@@ -169,6 +173,12 @@ export class AvatarComponent {
|
|
|
169
173
|
this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(map(([network, rounded]) => {
|
|
170
174
|
return !!network && rounded;
|
|
171
175
|
}));
|
|
176
|
+
this.socialNetwork$ = this.network$.pipe(map(network => {
|
|
177
|
+
if (!network) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
return AVATAR_NETWORK_ARRAY.indexOf(network) > -1;
|
|
181
|
+
}));
|
|
172
182
|
this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(map(([displayInitials, username]) => {
|
|
173
183
|
if ((displayInitials && !username) || !displayInitials) {
|
|
174
184
|
return '';
|
|
@@ -182,11 +192,11 @@ export class AvatarComponent {
|
|
|
182
192
|
this.imageError$.next(true);
|
|
183
193
|
}
|
|
184
194
|
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 });
|
|
185
|
-
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 } 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.
|
|
195
|
+
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 @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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
186
196
|
}
|
|
187
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
188
198
|
type: Component,
|
|
189
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective], 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 } 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.
|
|
199
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective], 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 @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"] }]
|
|
190
200
|
}], ctorParameters: () => [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }], propDecorators: { alternativeText: [{
|
|
191
201
|
type: Input
|
|
192
202
|
}], anonymous: [{
|
|
@@ -214,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
214
224
|
}], size: [{
|
|
215
225
|
type: Input
|
|
216
226
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEdBQ3BCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBaUIzRSxNQUFNLDBCQUEwQixHQUErQjtJQUMzRCxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsQ0FBQztJQUNMLEVBQUUsRUFBRSxDQUFDO0lBQ0wsRUFBRSxFQUFFLENBQUM7SUFDTCxFQUFFLEVBQUUsQ0FBQztDQUNSLENBQUM7QUFFRixNQUFNLHNCQUFzQixHQUErQjtJQUN2RCxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFB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S08sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUtPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR0csR0FBRztzQkFBWCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosV0FBVzt1QkFBQyxzQkFBc0I7Z0JBTS9CLE9BQU87c0JBSFYsS0FBSzt1QkFBQzt3QkFDSCxTQUFTLEVBQUUsZ0JBQWdCO3FCQUM5QjtnQkFRRyxJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFN5bWJvbENvbXBvbmVudCxcbiAgICBTeW1ib2xSZWdpc3RyeSxcbiAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgYXBHb29nbGVNeUJ1c2luZXNzT2ZmaWNpYWwsXG4gICAgYXBMaW5rZWRpbk9mZmljaWFsLFxuICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgYXBTaG93VGhlYXRlck1hc2tIYXBweSxcbiAgICBhcFNpbmdsZU5ldXRyYWwsXG4gICAgYXBUaWt0b2tPZmZpY2lhbCxcbiAgICBhcFdlYkJsb2dzLFxuICAgIGFwV2ViTmV3cyxcbiAgICBhcFhPZmZpY2lhbCxcbiAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbn0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7IE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMZXREaXJlY3RpdmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEF2YXRhclNpemUgPSA1NiB8IDQ4IHwgNDAgfCAzNiB8IDMyIHwgMjQgfCAxNjtcbmV4cG9ydCB0eXBlIEF2YXRhck5ldHdvcmsgPVxuICAgIHwgJ2ZhY2Vib29rJ1xuICAgIHwgJ2luc3RhZ3JhbSdcbiAgICB8ICd0d2l0dGVyJ1xuICAgIHwgJ2xpbmtlZGluJ1xuICAgIHwgJ3Rpa3RvaydcbiAgICB8ICd5b3V0dWJlJ1xuICAgIHwgJ3BpbnRlcmVzdCdcbiAgICB8ICdnb29nbGVNeUJ1c2luZXNzJ1xuICAgIHwgJ2dvb2dsZSdcbiAgICB8ICd3ZWJOZXdzJ1xuICAgIHwgJ3dlYkJsb2cnXG4gICAgfCAnWCc7XG5cbmNvbnN0IG9ubGluZUljb25TaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMTYsXG4gICAgNDg6IDEyLFxuICAgIDQwOiAxMixcbiAgICAzNjogOCxcbiAgICAzMjogOCxcbiAgICAyNDogNixcbiAgICAxNjogNixcbn07XG5cbmNvbnN0IHN5bWJvbFNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAyOCxcbiAgICA0ODogMjQsXG4gICAgNDA6IDIwLFxuICAgIDM2OiAxOCxcbiAgICAzMjogMTYsXG4gICAgMjQ6IDEyLFxuICAgIDE2OiA4LFxufTtcblxuY29uc3QgbmV0d29ya1NpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAxNixcbiAgICA0ODogMTYsXG4gICAgNDA6IDE2LFxuICAgIDM2OiAxNixcbiAgICAzMjogMTIsXG4gICAgMjQ6IDEyLFxuICAgIDE2OiA4LFxufTtcblxuY29uc3QgaW5pdGlhbFNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAyOCxcbiAgICA0ODogMjQsXG4gICAgNDA6IDIyLFxuICAgIDM2OiAxOCxcbiAgICAzMjogMTgsXG4gICAgMjQ6IDE0LFxuICAgIDE2OiAxMCxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtYXZhdGFyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ09wdGltaXplZEltYWdlLCBTeW1ib2xDb21wb25lbnQsIExldERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBuZXR3b3JrU3ltYm9sQnlOZXR3b3JrOiBSZWNvcmQ8QXZhdGFyTmV0d29yaywgc3RyaW5nPiA9IHtcbiAgICAgICAgZmFjZWJvb2s6ICdmYWNlYm9vay1vZmZpY2lhbCcsXG4gICAgICAgIGluc3RhZ3JhbTogJ2luc3RhZ3JhbS1vZmZpY2lhbCcsXG4gICAgICAgIFg6ICd4LW9mZmljaWFsJyxcbiAgICAgICAgdHdpdHRlcjogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICBsaW5rZWRpbjogJ2xpbmtlZGluLW9mZmljaWFsJyxcbiAgICAgICAgdGlrdG9rOiAndGlrdG9rLW9mZmljaWFsJyxcbiAgICAgICAgeW91dHViZTogJ3lvdXR1YmUtb2ZmaWNpYWwnLFxuICAgICAgICBwaW50ZXJlc3Q6ICdwaW50ZXJlc3Qtb2ZmaWNpYWwnLFxuICAgICAgICBnb29nbGVNeUJ1c2luZXNzOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgd2ViTmV3czogJ3dlYi1uZXdzJyxcbiAgICAgICAgd2ViQmxvZzogJ3dlYi1ibG9ncycsXG4gICAgfTtcblxuICAgIHNpemUkOiBCZWhhdmlvclN1YmplY3Q8QXZhdGFyU2l6ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+KDQwKTtcbiAgICBwcm9maWxlUGljdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KCcnKTtcbiAgICBuZXR3b3JrJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHJpdmF0ZSBhbHRlcm5hdGl2ZVRleHQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBhbm9ueW1vdXMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHVzZXJuYW1lJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgb25saW5lJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzaG93SW5pdGlhbHMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJvdW5kZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsdGVybmF0aXZlVGV4dChhbHRlcm5hdGl2ZVRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFsdGVybmF0aXZlVGV4dCQubmV4dChhbHRlcm5hdGl2ZVRleHQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbm9ueW1vdXMoYW5vbnltb3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYW5vbnltb3VzJC5uZXh0KGFub255bW91cyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dCh1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5ldHdvcmsobmV0d29yazogQXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLm5ldHdvcmskLm5leHQobmV0d29yayk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1uZXR3b3JrLXNpemUnLCBgJHtuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvbmxpbmUob25saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub25saW5lJC5uZXh0KG9ubGluZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByb2ZpbGVQaWN0dXJlKHByb2ZpbGVQaWN0dXJlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQubmV4dChwcm9maWxlUGljdHVyZSk7XG4gICAgICAgIHRoaXMuaW1hZ2VFcnJvciQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNob3dJbml0aWFscyhzaG93SW5pdGlhbHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SW5pdGlhbHMkLm5leHQoc2hvd0luaXRpYWxzKTtcbiAgICB9XG4gICAgQElucHV0KCkgYWx0ID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdW5kZWQtYXZhdGFyJylcbiAgICByb3VuZGVkQXZhdGFyID0gdHJ1ZTtcblxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHNldCByb3VuZGVkKHJvdW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQXZhdGFyID0gcm91bmRlZDtcbiAgICAgICAgdGhpcy5yb3VuZGVkJC5uZXh0KHJvdW5kZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gLSBtaWdyYXRlIHRvIHNpZ25hbCBpbnB1dCBhbmQgcmVtb3ZlIHNpemUgaW5wdXRcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHNpemU6IEF2YXRhclNpemUgfCBgJHtBdmF0YXJTaXplfWApIHtcbiAgICAgICAgdGhpcy5zaXplJC5uZXh0KCtzaXplIGFzIEF2YXRhclNpemUpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGAke3NpemV9cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXN5bWJvbC1zaXplJywgYCR7c3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItb25saW5lLWljb24tc2l6ZScsIGAke29ubGluZUljb25TaXplQnlBdmF0YXJTaXplW3NpemVdfXB4YCk7XG4gICAgfVxuXG4gICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5SW5pdGlhbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5QW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU5ldHdvcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5T25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgaW1hZ2VFcnJvciQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGluaXRpYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPigpO1xuICAgIGluaXRpYWxzQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwV2ViQmxvZ3MsXG4gICAgICAgICAgICBhcFdlYk5ld3MsXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGA0MHB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQgPSB0aGlzLnVzZXJuYW1lJC5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJuYW1lID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF1c2VybmFtZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkID0gY29tYmluZUxhdGVzdChbdGhpcy5wcm9maWxlUGljdHVyZSQsIHRoaXMuYW5vbnltb3VzJCwgdGhpcy5pbWFnZUVycm9yJCwgdGhpcy5zaG93SW5pdGlhbHMkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwcm9maWxlUGljdHVyZSwgaW1hZ2VFcnJvciwgaW5pdGlhbHNBdmFpbGFibGUsIHNob3dJbml0aWFscywgYW5vbnltb3VzLCBkaXNwbGF5SW5pdGlhbHMsIGRpc3BsYXlQcm9maWxlUGljdHVyZV0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoIXByb2ZpbGVQaWN0dXJlIHx8IGltYWdlRXJyb3IgfHwgIWluaXRpYWxzQXZhaWxhYmxlIHx8IChpbml0aWFsc0F2YWlsYWJsZSAmJiAhc2hvd0luaXRpYWxzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFub255bW91cyAmJlxuICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5UHJvZmlsZVBpY3R1cmVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBbm9ueW1vdXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5hbm9ueW1vdXMkLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2Fub255bW91cywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYW5vbnltb3VzICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU9ubGluZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9ubGluZSQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbb25saW5lLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvbmxpbmUgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV0d29yayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5ldHdvcmskLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW25ldHdvcmssIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbmV0d29yayAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmluaXRpYWxzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlzcGxheUluaXRpYWxzJCwgdGhpcy51c2VybmFtZSRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZGlzcGxheUluaXRpYWxzLCB1c2VybmFtZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKGRpc3BsYXlJbml0aWFscyAmJiAhdXNlcm5hbWUpIHx8ICFkaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgJy0tYXAtYXZhdGFyLWluaXRpYWxzLXNpemUnLFxuICAgICAgICAgICAgICAgICAgICBgJHtpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gdXNlcm5hbWU/LnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWVzWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSW1hZ2VFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUVycm9yJC5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdyeExldD1cIntcbiAgICAgICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlOiBkaXNwbGF5UHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZzogZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckLFxuICAgICAgICBkaXNwbGF5SW5pdGlhbHM6IGRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgIGRpc3BsYXlBbm9ueW1vdXM6IGRpc3BsYXlBbm9ueW1vdXMkLFxuICAgICAgICBkaXNwbGF5T25saW5lOiBkaXNwbGF5T25saW5lJCxcbiAgICAgICAgZGlzcGxheU5ldHdvcms6IGRpc3BsYXlOZXR3b3JrJCxcbiAgICAgICAgaW5pdGlhbHM6IGluaXRpYWxzJCxcbiAgICAgICAgcHJvZmlsZVBpY3R1cmU6IHByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgc2l6ZTogc2l6ZSQsXG4gICAgICAgIG5ldHdvcms6IG5ldHdvcmskXG4gICAgfSBhcyBhdmF0YXJWaWV3TW9kZWxcIj5cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5UHJvZmlsZVBpY3R1cmUpIHtcbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJhdmF0YXJWaWV3TW9kZWwucHJvZmlsZVBpY3R1cmVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiYXZhdGFyVmlld01vZGVsLnNpemVcIlxuICAgICAgICAgICAgW2FsdF09XCJhbHRcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICB9XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVNpbmdsZU5ldXRyYWxTdmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXByb2ZpbGUtcGljdHVyZVwiPlxuICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNpbmdsZS1uZXV0cmFsXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheUFub255bW91cykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5vbnltb3VzXCI+XG4gICAgICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2hvdy10aGVhdGVyLW1hc2staGFwcHlcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheU9ubGluZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwib25saW5lXCI+PC9kaXY+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlOZXR3b3JrKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmV0d29ya1wiXG4gICAgICAgICAgICBbY2xhc3MuZmFjZWJvb2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdmYWNlYm9vaydcIlxuICAgICAgICAgICAgW2NsYXNzLmxpbmtlZGluXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnbGlua2VkaW4nXCJcbiAgICAgICAgICAgIFtjbGFzcy50d2l0dGVyXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAndHdpdHRlcidcIlxuICAgICAgICAgICAgW2NsYXNzLnhdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdYJ1wiXG4gICAgICAgICAgICBbY2xhc3MueW91dHViZV09XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3lvdXR1YmUnXCJcbiAgICAgICAgICAgIFtjbGFzcy5nb29nbGVNeUJ1c2luZXNzXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnZ29vZ2xlTXlCdXNpbmVzcycgfHwgYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdnb29nbGUnXCJcbiAgICAgICAgICAgIFtjbGFzcy5pbnN0YWdyYW1dPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdpbnN0YWdyYW0nXCJcbiAgICAgICAgICAgIFtjbGFzcy50aWt0b2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd0aWt0b2snXCJcbiAgICAgICAgICAgIFtjbGFzcy5waW50ZXJlc3RdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdwaW50ZXJlc3QnXCJcbiAgICAgICAgICAgIFtjbGFzcy53ZWJdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd3ZWJCbG9nJyB8fCBhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3dlYk5ld3MnXCI+XG4gICAgICAgICAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5uZXR3b3JrKSB7XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBbc3ltYm9sSWRdPVwibmV0d29ya1N5bWJvbEJ5TmV0d29ya1thdmF0YXJWaWV3TW9kZWwubmV0d29ya11cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImluaXRpYWxzXCI+XG4gICAgICAgICAgICB7eyBhdmF0YXJWaWV3TW9kZWwuaW5pdGlhbHMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUkzRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFHMUwsTUFBTSwwQkFBMEIsR0FBK0I7SUFDM0QsRUFBRSxFQUFFLEVBQUU7SUFD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QUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7dUdBdE1RLGVBQWU7MkZBQWYsZUFBZSwyUkErRFQsZ0JBQWdCLG1IQ25KbkMseXNEQW9EQSx1bEZENEJnQyxlQUFlLDZGQUFFLFlBQVk7OzJGQUloRCxlQUFlO2tCQVQzQixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsV0FBVyxjQUVULElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsaUJBRTNDLGlCQUFpQixDQUFDLElBQUk7NEdBOEJ4QixlQUFlO3NCQUEzQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUtPLE1BQU07c0JBQWxCLEtBQUs7Z0JBSU8sY0FBYztzQkFBMUIsS0FBSztnQkFLTyxZQUFZO3NCQUF4QixLQUFLO2dCQUdHLEdBQUc7c0JBQVgsS0FBSztnQkFHTixhQUFhO3NCQURaLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU0vQixPQUFPO3NCQUhWLEtBQUs7dUJBQUM7d0JBQ0gsU0FBUyxFQUFFLGdCQUFnQjtxQkFDOUI7Z0JBUUcsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgU3ltYm9sUmVnaXN0cnksXG4gICAgYXBGYWNlYm9va09mZmljaWFsLFxuICAgIGFwR29vZ2xlTXlCdXNpbmVzc09mZmljaWFsLFxuICAgIGFwTGlua2VkaW5PZmZpY2lhbCxcbiAgICBhcFBpbnRlcmVzdE9mZmljaWFsLFxuICAgIGFwTnNUaHJlYWRzTG9nbyxcbiAgICBhcFNob3dUaGVhdGVyTWFza0hhcHB5LFxuICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgIGFwV2ViQmxvZ3MsXG4gICAgYXBXZWJOZXdzLFxuICAgIGFwWE9mZmljaWFsLFxuICAgIGFwWW91dHViZU9mZmljaWFsLFxufSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQXZhdGFyU2l6ZSA9IDU2IHwgNDggfCA0MCB8IDM2IHwgMzIgfCAyNCB8IDE2O1xuXG5leHBvcnQgY29uc3QgQVZBVEFSX05FVFdPUktfQVJSQVkgPSBbJ2ZhY2Vib29rJywgJ2xpbmtlZGluJywgJ3R3aXR0ZXInLCAnWCcsICd5b3V0dWJlJywgJ2dvb2dsZU15QnVzaW5lc3MnLCAnZ29vZ2xlJywgJ2luc3RhZ3JhbScsICd0aHJlYWRzJywgJ3Rpa3RvaycsICdwaW50ZXJlc3QnLCAnd2ViQmxvZycsICd3ZWJOZXdzJ11cbmV4cG9ydCB0eXBlIEF2YXRhck5ldHdvcmsgPSB0eXBlb2YgQVZBVEFSX05FVFdPUktfQVJSQVlbbnVtYmVyXTtcblxuY29uc3Qgb25saW5lSWNvblNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAxNixcbiAgICA0ODogMTIsXG4gICAgNDA6IDEyLFxuICAgIDM2OiA4LFxuICAgIDMyOiA4LFxuICAgIDI0OiA2LFxuICAgIDE2OiA2LFxufTtcblxuY29uc3Qgc3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjAsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxNixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDE2LFxuICAgIDQ4OiAxNixcbiAgICA0MDogMTYsXG4gICAgMzY6IDE2LFxuICAgIDMyOiAxMixcbiAgICAyNDogMTIsXG4gICAgMTY6IDgsXG59O1xuXG5jb25zdCBpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDI4LFxuICAgIDQ4OiAyNCxcbiAgICA0MDogMjIsXG4gICAgMzY6IDE4LFxuICAgIDMyOiAxOCxcbiAgICAyNDogMTQsXG4gICAgMTY6IDEwLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1hdmF0YXInLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nT3B0aW1pemVkSW1hZ2UsIFN5bWJvbENvbXBvbmVudCwgTGV0RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHJlYWRvbmx5IG5ldHdvcmtTeW1ib2xCeU5ldHdvcms6IFJlY29yZDxBdmF0YXJOZXR3b3JrLCBzdHJpbmc+ID0ge1xuICAgICAgICBmYWNlYm9vazogJ2ZhY2Vib29rLW9mZmljaWFsJyxcbiAgICAgICAgaW5zdGFncmFtOiAnaW5zdGFncmFtLW9mZmljaWFsJyxcbiAgICAgICAgWDogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICB0d2l0dGVyOiAneC1vZmZpY2lhbCcsXG4gICAgICAgIGxpbmtlZGluOiAnbGlua2VkaW4tb2ZmaWNpYWwnLFxuICAgICAgICB0aWt0b2s6ICd0aWt0b2stb2ZmaWNpYWwnLFxuICAgICAgICB5b3V0dWJlOiAneW91dHViZS1vZmZpY2lhbCcsXG4gICAgICAgIHBpbnRlcmVzdDogJ3BpbnRlcmVzdC1vZmZpY2lhbCcsXG4gICAgICAgIHRocmVhZHM6ICducy10aHJlYWRzLWxvZ28nLFxuICAgICAgICBnb29nbGVNeUJ1c2luZXNzOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgd2ViTmV3czogJ3dlYi1uZXdzJyxcbiAgICAgICAgd2ViQmxvZzogJ3dlYi1ibG9ncycsXG4gICAgfTtcblxuICAgIHNpemUkOiBCZWhhdmlvclN1YmplY3Q8QXZhdGFyU2l6ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+KDQwKTtcbiAgICBwcm9maWxlUGljdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KCcnKTtcbiAgICBuZXR3b3JrJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHJpdmF0ZSBhbHRlcm5hdGl2ZVRleHQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBhbm9ueW1vdXMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHVzZXJuYW1lJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgb25saW5lJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzaG93SW5pdGlhbHMkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJvdW5kZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsdGVybmF0aXZlVGV4dChhbHRlcm5hdGl2ZVRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFsdGVybmF0aXZlVGV4dCQubmV4dChhbHRlcm5hdGl2ZVRleHQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbm9ueW1vdXMoYW5vbnltb3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYW5vbnltb3VzJC5uZXh0KGFub255bW91cyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dCh1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG5ldHdvcmsobmV0d29yazogQXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLm5ldHdvcmskLm5leHQobmV0d29yayk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1uZXR3b3JrLXNpemUnLCBgJHtuZXR3b3JrU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvbmxpbmUob25saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub25saW5lJC5uZXh0KG9ubGluZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByb2ZpbGVQaWN0dXJlKHByb2ZpbGVQaWN0dXJlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQubmV4dChwcm9maWxlUGljdHVyZSk7XG4gICAgICAgIHRoaXMuaW1hZ2VFcnJvciQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNob3dJbml0aWFscyhzaG93SW5pdGlhbHM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SW5pdGlhbHMkLm5leHQoc2hvd0luaXRpYWxzKTtcbiAgICB9XG4gICAgQElucHV0KCkgYWx0ID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdW5kZWQtYXZhdGFyJylcbiAgICByb3VuZGVkQXZhdGFyID0gdHJ1ZTtcblxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHNldCByb3VuZGVkKHJvdW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5yb3VuZGVkQXZhdGFyID0gcm91bmRlZDtcbiAgICAgICAgdGhpcy5yb3VuZGVkJC5uZXh0KHJvdW5kZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gLSBtaWdyYXRlIHRvIHNpZ25hbCBpbnB1dCBhbmQgcmVtb3ZlIHNpemUgaW5wdXRcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaXplKHNpemU6IEF2YXRhclNpemUgfCBgJHtBdmF0YXJTaXplfWApIHtcbiAgICAgICAgdGhpcy5zaXplJC5uZXh0KCtzaXplIGFzIEF2YXRhclNpemUpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGAke3NpemV9cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXN5bWJvbC1zaXplJywgYCR7c3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItb25saW5lLWljb24tc2l6ZScsIGAke29ubGluZUljb25TaXplQnlBdmF0YXJTaXplW3NpemVdfXB4YCk7XG4gICAgfVxuXG4gICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5SW5pdGlhbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5QW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU5ldHdvcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgICBkaXNwbGF5T25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgaW1hZ2VFcnJvciQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGluaXRpYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gbmV3IE9ic2VydmFibGU8c3RyaW5nPigpO1xuICAgIGluaXRpYWxzQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgICBzb2NpYWxOZXR3b3JrJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcE5zVGhyZWFkc0xvZ28sXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwV2ViQmxvZ3MsXG4gICAgICAgICAgICBhcFdlYk5ld3MsXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGA0MHB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQgPSB0aGlzLnVzZXJuYW1lJC5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJuYW1lID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF1c2VybmFtZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkID0gY29tYmluZUxhdGVzdChbdGhpcy5wcm9maWxlUGljdHVyZSQsIHRoaXMuYW5vbnltb3VzJCwgdGhpcy5pbWFnZUVycm9yJCwgdGhpcy5zaG93SW5pdGlhbHMkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwcm9maWxlUGljdHVyZSwgaW1hZ2VFcnJvciwgaW5pdGlhbHNBdmFpbGFibGUsIHNob3dJbml0aWFscywgYW5vbnltb3VzLCBkaXNwbGF5SW5pdGlhbHMsIGRpc3BsYXlQcm9maWxlUGljdHVyZV0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoIXByb2ZpbGVQaWN0dXJlIHx8IGltYWdlRXJyb3IgfHwgIWluaXRpYWxzQXZhaWxhYmxlIHx8IChpbml0aWFsc0F2YWlsYWJsZSAmJiAhc2hvd0luaXRpYWxzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFub255bW91cyAmJlxuICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5UHJvZmlsZVBpY3R1cmVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBbm9ueW1vdXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5hbm9ueW1vdXMkLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2Fub255bW91cywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYW5vbnltb3VzICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU9ubGluZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9ubGluZSQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbb25saW5lLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvbmxpbmUgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV0d29yayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5ldHdvcmskLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW25ldHdvcmssIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbmV0d29yayAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNvY2lhbE5ldHdvcmskID0gdGhpcy5uZXR3b3JrJC5waXBlKG1hcChuZXR3b3JrID0+IHtcbiAgICAgICAgICAgIGlmICghbmV0d29yaykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBBVkFUQVJfTkVUV09SS19BUlJBWS5pbmRleE9mKG5ldHdvcmspID4gLTE7XG4gICAgICAgIH0pKTtcblxuXG4gICAgICAgIHRoaXMuaW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5kaXNwbGF5SW5pdGlhbHMkLCB0aGlzLnVzZXJuYW1lJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNwbGF5SW5pdGlhbHMsIHVzZXJuYW1lXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgoZGlzcGxheUluaXRpYWxzICYmICF1c2VybmFtZSkgfHwgIWRpc3BsYXlJbml0aWFscykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAnLS1hcC1hdmF0YXItaW5pdGlhbHMtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgIGAke2luaXRpYWxTaXplQnlBdmF0YXJTaXplW3RoaXMuc2l6ZSQudmFsdWVdfXB4YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmFtZXMgPSB1c2VybmFtZT8uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZXNbMF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9YDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25JbWFnZUVycm9yKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlRXJyb3IkLm5leHQodHJ1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ3J4TGV0PVwie1xuICAgICAgICBkaXNwbGF5UHJvZmlsZVBpY3R1cmU6IGRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIGRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnOiBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZyQsXG4gICAgICAgIGRpc3BsYXlJbml0aWFsczogZGlzcGxheUluaXRpYWxzJCxcbiAgICAgICAgZGlzcGxheUFub255bW91czogZGlzcGxheUFub255bW91cyQsXG4gICAgICAgIGRpc3BsYXlPbmxpbmU6IGRpc3BsYXlPbmxpbmUkLFxuICAgICAgICBkaXNwbGF5TmV0d29yazogZGlzcGxheU5ldHdvcmskLFxuICAgICAgICBpbml0aWFsczogaW5pdGlhbHMkLFxuICAgICAgICBwcm9maWxlUGljdHVyZTogcHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBzaXplOiBzaXplJCxcbiAgICAgICAgbmV0d29yazogbmV0d29yayQsXG4gICAgICAgIHNvY2lhbE5ldHdvcms6IHNvY2lhbE5ldHdvcmskXG4gICAgfSBhcyBhdmF0YXJWaWV3TW9kZWxcIj5cbiAgICBAaWYgKGF2YXRhclZpZXdNb2RlbC5kaXNwbGF5UHJvZmlsZVBpY3R1cmUpIHtcbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJhdmF0YXJWaWV3TW9kZWwucHJvZmlsZVBpY3R1cmVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiYXZhdGFyVmlld01vZGVsLnNpemVcIlxuICAgICAgICAgICAgW2FsdF09XCJhbHRcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICB9XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVNpbmdsZU5ldXRyYWxTdmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXByb2ZpbGUtcGljdHVyZVwiPlxuICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNpbmdsZS1uZXV0cmFsXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheUFub255bW91cykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5vbnltb3VzXCI+XG4gICAgICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2hvdy10aGVhdGVyLW1hc2staGFwcHlcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChhdmF0YXJWaWV3TW9kZWwuZGlzcGxheU9ubGluZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwib25saW5lXCI+PC9kaXY+XG4gICAgfVxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlOZXR3b3JrKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmV0d29ya1wiXG4gICAgICAgICAgICBbY2xhc3Muc29jaWFsLW5ldHdvcmtdPVwiYXZhdGFyVmlld01vZGVsLnNvY2lhbE5ldHdvcmtcIj5cbiAgICAgICAgICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLm5ldHdvcmspIHtcbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sIFtzeW1ib2xJZF09XCJuZXR3b3JrU3ltYm9sQnlOZXR3b3JrW2F2YXRhclZpZXdNb2RlbC5uZXR3b3JrXVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoYXZhdGFyVmlld01vZGVsLmRpc3BsYXlJbml0aWFscykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5pdGlhbHNcIj5cbiAgICAgICAgICAgIHt7IGF2YXRhclZpZXdNb2RlbC5pbml0aWFscyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i1 from '@agorapulse/ui-symbol';
|
|
2
|
-
import { apSingleNeutral, apShowTheaterMaskHappy, apFacebookOfficial, apLinkedinOfficial, apYoutubeOfficial, apTiktokOfficial, apGoogleMyBusinessOfficial, apPinterestOfficial, apXOfficial, apWebBlogs, apWebNews, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { apSingleNeutral, apShowTheaterMaskHappy, apFacebookOfficial, apLinkedinOfficial, apYoutubeOfficial, apTiktokOfficial, apGoogleMyBusinessOfficial, apPinterestOfficial, apNsThreadsLogo, apXOfficial, apWebBlogs, apWebNews, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
3
3
|
import { NgOptimizedImage } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding } from '@angular/core';
|
|
6
6
|
import { LetDirective } from '@ngrx/component';
|
|
7
7
|
import { BehaviorSubject, Observable, of, map, combineLatest } from 'rxjs';
|
|
8
8
|
|
|
9
|
+
const AVATAR_NETWORK_ARRAY = ['facebook', 'linkedin', 'twitter', 'X', 'youtube', 'googleMyBusiness', 'google', 'instagram', 'threads', 'tiktok', 'pinterest', 'webBlog', 'webNews'];
|
|
9
10
|
const onlineIconSizeByAvatarSize = {
|
|
10
11
|
56: 16,
|
|
11
12
|
48: 12,
|
|
@@ -54,6 +55,7 @@ class AvatarComponent {
|
|
|
54
55
|
tiktok: 'tiktok-official',
|
|
55
56
|
youtube: 'youtube-official',
|
|
56
57
|
pinterest: 'pinterest-official',
|
|
58
|
+
threads: 'ns-threads-logo',
|
|
57
59
|
googleMyBusiness: 'google-my-business-official',
|
|
58
60
|
google: 'google-my-business-official',
|
|
59
61
|
webNews: 'web-news',
|
|
@@ -113,6 +115,7 @@ class AvatarComponent {
|
|
|
113
115
|
imageError$ = new BehaviorSubject(false);
|
|
114
116
|
initials$ = new Observable();
|
|
115
117
|
initialsAvailable$ = of(false);
|
|
118
|
+
socialNetwork$ = of(false);
|
|
116
119
|
constructor(symbolRegistry, elementRef) {
|
|
117
120
|
this.symbolRegistry = symbolRegistry;
|
|
118
121
|
this.elementRef = elementRef;
|
|
@@ -125,6 +128,7 @@ class AvatarComponent {
|
|
|
125
128
|
apTiktokOfficial,
|
|
126
129
|
apGoogleMyBusinessOfficial,
|
|
127
130
|
apPinterestOfficial,
|
|
131
|
+
apNsThreadsLogo,
|
|
128
132
|
apXOfficial,
|
|
129
133
|
apWebBlogs,
|
|
130
134
|
apWebNews,
|
|
@@ -170,6 +174,12 @@ class AvatarComponent {
|
|
|
170
174
|
this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(map(([network, rounded]) => {
|
|
171
175
|
return !!network && rounded;
|
|
172
176
|
}));
|
|
177
|
+
this.socialNetwork$ = this.network$.pipe(map(network => {
|
|
178
|
+
if (!network) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
return AVATAR_NETWORK_ARRAY.indexOf(network) > -1;
|
|
182
|
+
}));
|
|
173
183
|
this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(map(([displayInitials, username]) => {
|
|
174
184
|
if ((displayInitials && !username) || !displayInitials) {
|
|
175
185
|
return '';
|
|
@@ -183,11 +193,11 @@ class AvatarComponent {
|
|
|
183
193
|
this.imageError$.next(true);
|
|
184
194
|
}
|
|
185
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 });
|
|
186
|
-
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 } 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.
|
|
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 @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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
187
197
|
}
|
|
188
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
189
199
|
type: Component,
|
|
190
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective], 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 } 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.
|
|
200
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective], 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 @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"] }]
|
|
191
201
|
}], ctorParameters: () => [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }], propDecorators: { alternativeText: [{
|
|
192
202
|
type: Input
|
|
193
203
|
}], anonymous: [{
|
|
@@ -220,5 +230,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
220
230
|
* Generated bundle index. Do not edit.
|
|
221
231
|
*/
|
|
222
232
|
|
|
223
|
-
export { AvatarComponent };
|
|
233
|
+
export { AVATAR_NETWORK_ARRAY, AvatarComponent };
|
|
224
234
|
//# sourceMappingURL=agorapulse-ui-components-avatar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-avatar.mjs","sources":["../../../libs/ui-components/avatar/src/avatar.component.ts","../../../libs/ui-components/avatar/src/avatar.component.html","../../../libs/ui-components/avatar/src/agorapulse-ui-components-avatar.ts"],"sourcesContent":["import {\n SymbolComponent,\n SymbolRegistry,\n apFacebookOfficial,\n apGoogleMyBusinessOfficial,\n apLinkedinOfficial,\n apPinterestOfficial,\n apShowTheaterMaskHappy,\n apSingleNeutral,\n apTiktokOfficial,\n apWebBlogs,\n apWebNews,\n apXOfficial,\n apYoutubeOfficial,\n} from '@agorapulse/ui-symbol';\nimport { NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { LetDirective } from '@ngrx/component';\nimport { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';\n\nexport type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;\nexport type AvatarNetwork =\n | 'facebook'\n | 'instagram'\n | 'twitter'\n | 'linkedin'\n | 'tiktok'\n | 'youtube'\n | 'pinterest'\n | 'googleMyBusiness'\n | 'google'\n | 'webNews'\n | 'webBlog'\n | 'X';\n\nconst onlineIconSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 12,\n 40: 12,\n 36: 8,\n 32: 8,\n 24: 6,\n 16: 6,\n};\n\nconst symbolSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 20,\n 36: 18,\n 32: 16,\n 24: 12,\n 16: 8,\n};\n\nconst networkSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 16,\n 40: 16,\n 36: 16,\n 32: 12,\n 24: 12,\n 16: 8,\n};\n\nconst initialSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 22,\n 36: 18,\n 32: 18,\n 24: 14,\n 16: 10,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n standalone: true,\n imports: [NgOptimizedImage, SymbolComponent, LetDirective],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent implements OnInit {\n readonly networkSymbolByNetwork: Record<AvatarNetwork, string> = {\n facebook: 'facebook-official',\n instagram: 'instagram-official',\n X: 'x-official',\n twitter: 'x-official',\n linkedin: 'linkedin-official',\n tiktok: 'tiktok-official',\n youtube: 'youtube-official',\n pinterest: 'pinterest-official',\n googleMyBusiness: 'google-my-business-official',\n google: 'google-my-business-official',\n webNews: 'web-news',\n webBlog: 'web-blogs',\n };\n\n size$: BehaviorSubject<AvatarSize> = new BehaviorSubject<AvatarSize>(40);\n profilePicture$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>('');\n network$: BehaviorSubject<AvatarNetwork | undefined> = new BehaviorSubject<AvatarNetwork | undefined>(undefined);\n\n private alternativeText$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private anonymous$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private username$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private online$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private showInitials$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private rounded$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n @Input() set alternativeText(alternativeText: string) {\n this.alternativeText$.next(alternativeText);\n }\n\n @Input() set anonymous(anonymous: boolean) {\n this.anonymous$.next(anonymous);\n }\n\n @Input() set username(username: string) {\n this.username$.next(username);\n }\n\n @Input() set network(network: AvatarNetwork | undefined) {\n this.network$.next(network);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);\n }\n\n @Input() set online(online: boolean) {\n this.online$.next(online);\n }\n\n @Input() set profilePicture(profilePicture: string | undefined) {\n this.profilePicture$.next(profilePicture);\n this.imageError$.next(false);\n }\n\n @Input() set showInitials(showInitials: boolean) {\n this.showInitials$.next(showInitials);\n }\n @Input() alt = '';\n\n @HostBinding('class.rounded-avatar')\n roundedAvatar = true;\n\n @Input({\n transform: booleanAttribute,\n })\n set rounded(rounded: boolean) {\n this.roundedAvatar = rounded;\n this.rounded$.next(rounded);\n }\n\n // TODO - migrate to signal input and remove size input\n @Input()\n set size(size: AvatarSize | `${AvatarSize}`) {\n this.size$.next(+size as AvatarSize);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);\n }\n\n displayProfilePicture$: Observable<boolean> = new Observable<boolean>();\n displaySingleNeutralSvg$: Observable<boolean> = new Observable<boolean>();\n displayInitials$: Observable<boolean> = new Observable<boolean>();\n displayAnonymous$: Observable<boolean> = new Observable<boolean>();\n displayNetwork$: Observable<boolean> = new Observable<boolean>();\n displayOnline$: Observable<boolean> = new Observable<boolean>();\n imageError$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n initials$: Observable<string> = new Observable<string>();\n initialsAvailable$: Observable<boolean> = of(false);\n\n constructor(\n private symbolRegistry: SymbolRegistry,\n private elementRef: ElementRef\n ) {\n this.symbolRegistry.registerSymbols([\n apSingleNeutral,\n apShowTheaterMaskHappy,\n apFacebookOfficial,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apTiktokOfficial,\n apGoogleMyBusinessOfficial,\n apPinterestOfficial,\n apXOfficial,\n apWebBlogs,\n apWebNews,\n ]);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);\n }\n\n ngOnInit(): void {\n this.initialsAvailable$ = this.username$.pipe(\n map(username => {\n return !!username;\n })\n );\n\n this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(\n map(([profilePicture, anonymous, imageError]) => {\n return !!profilePicture && !anonymous && !imageError;\n })\n );\n\n this.displayInitials$ = combineLatest([\n this.showInitials$,\n this.anonymous$,\n this.initialsAvailable$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {\n return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;\n })\n );\n\n this.displaySingleNeutralSvg$ = combineLatest([\n this.profilePicture$,\n this.imageError$,\n this.initialsAvailable$,\n this.showInitials$,\n this.anonymous$,\n this.displayInitials$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {\n return (\n (!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&\n !anonymous &&\n !displayInitials &&\n !displayProfilePicture\n );\n })\n );\n\n this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(\n map(([anonymous, rounded]) => {\n return anonymous && rounded;\n })\n );\n\n this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(\n map(([online, rounded]) => {\n return online && rounded;\n })\n );\n\n this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(\n map(([network, rounded]) => {\n return !!network && rounded;\n })\n );\n\n this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(\n map(([displayInitials, username]) => {\n if ((displayInitials && !username) || !displayInitials) {\n return '';\n }\n this.elementRef.nativeElement.style.setProperty(\n '--ap-avatar-initials-size',\n `${initialSizeByAvatarSize[this.size$.value]}px`\n );\n const names = username?.split(' ');\n return `${names[0].charAt(0).toUpperCase()}`;\n })\n );\n }\n\n onImageError(): void {\n this.imageError$.next(true);\n }\n}\n","<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 } 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.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlog' || avatarViewModel.network === 'webNews'\">\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-avatar.mjs","sources":["../../../libs/ui-components/avatar/src/avatar.component.ts","../../../libs/ui-components/avatar/src/avatar.component.html","../../../libs/ui-components/avatar/src/agorapulse-ui-components-avatar.ts"],"sourcesContent":["import {\n SymbolComponent,\n SymbolRegistry,\n apFacebookOfficial,\n apGoogleMyBusinessOfficial,\n apLinkedinOfficial,\n apPinterestOfficial,\n apNsThreadsLogo,\n apShowTheaterMaskHappy,\n apSingleNeutral,\n apTiktokOfficial,\n apWebBlogs,\n apWebNews,\n apXOfficial,\n apYoutubeOfficial,\n} from '@agorapulse/ui-symbol';\nimport { NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { LetDirective } from '@ngrx/component';\nimport { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';\n\nexport type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;\n\nexport const AVATAR_NETWORK_ARRAY = ['facebook', 'linkedin', 'twitter', 'X', 'youtube', 'googleMyBusiness', 'google', 'instagram', 'threads', 'tiktok', 'pinterest', 'webBlog', 'webNews']\nexport type AvatarNetwork = typeof AVATAR_NETWORK_ARRAY[number];\n\nconst onlineIconSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 12,\n 40: 12,\n 36: 8,\n 32: 8,\n 24: 6,\n 16: 6,\n};\n\nconst symbolSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 20,\n 36: 18,\n 32: 16,\n 24: 12,\n 16: 8,\n};\n\nconst networkSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 16,\n 40: 16,\n 36: 16,\n 32: 12,\n 24: 12,\n 16: 8,\n};\n\nconst initialSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 22,\n 36: 18,\n 32: 18,\n 24: 14,\n 16: 10,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n standalone: true,\n imports: [NgOptimizedImage, SymbolComponent, LetDirective],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent implements OnInit {\n readonly networkSymbolByNetwork: Record<AvatarNetwork, string> = {\n facebook: 'facebook-official',\n instagram: 'instagram-official',\n X: 'x-official',\n twitter: 'x-official',\n linkedin: 'linkedin-official',\n tiktok: 'tiktok-official',\n youtube: 'youtube-official',\n pinterest: 'pinterest-official',\n threads: 'ns-threads-logo',\n googleMyBusiness: 'google-my-business-official',\n google: 'google-my-business-official',\n webNews: 'web-news',\n webBlog: 'web-blogs',\n };\n\n size$: BehaviorSubject<AvatarSize> = new BehaviorSubject<AvatarSize>(40);\n profilePicture$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>('');\n network$: BehaviorSubject<AvatarNetwork | undefined> = new BehaviorSubject<AvatarNetwork | undefined>(undefined);\n\n private alternativeText$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private anonymous$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private username$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private online$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private showInitials$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private rounded$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n @Input() set alternativeText(alternativeText: string) {\n this.alternativeText$.next(alternativeText);\n }\n\n @Input() set anonymous(anonymous: boolean) {\n this.anonymous$.next(anonymous);\n }\n\n @Input() set username(username: string) {\n this.username$.next(username);\n }\n\n @Input() set network(network: AvatarNetwork | undefined) {\n this.network$.next(network);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);\n }\n\n @Input() set online(online: boolean) {\n this.online$.next(online);\n }\n\n @Input() set profilePicture(profilePicture: string | undefined) {\n this.profilePicture$.next(profilePicture);\n this.imageError$.next(false);\n }\n\n @Input() set showInitials(showInitials: boolean) {\n this.showInitials$.next(showInitials);\n }\n @Input() alt = '';\n\n @HostBinding('class.rounded-avatar')\n roundedAvatar = true;\n\n @Input({\n transform: booleanAttribute,\n })\n set rounded(rounded: boolean) {\n this.roundedAvatar = rounded;\n this.rounded$.next(rounded);\n }\n\n // TODO - migrate to signal input and remove size input\n @Input()\n set size(size: AvatarSize | `${AvatarSize}`) {\n this.size$.next(+size as AvatarSize);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);\n }\n\n displayProfilePicture$: Observable<boolean> = new Observable<boolean>();\n displaySingleNeutralSvg$: Observable<boolean> = new Observable<boolean>();\n displayInitials$: Observable<boolean> = new Observable<boolean>();\n displayAnonymous$: Observable<boolean> = new Observable<boolean>();\n displayNetwork$: Observable<boolean> = new Observable<boolean>();\n displayOnline$: Observable<boolean> = new Observable<boolean>();\n imageError$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n initials$: Observable<string> = new Observable<string>();\n initialsAvailable$: Observable<boolean> = of(false);\n socialNetwork$: Observable<boolean> = of(false);\n\n constructor(\n private symbolRegistry: SymbolRegistry,\n private elementRef: ElementRef\n ) {\n this.symbolRegistry.registerSymbols([\n apSingleNeutral,\n apShowTheaterMaskHappy,\n apFacebookOfficial,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apTiktokOfficial,\n apGoogleMyBusinessOfficial,\n apPinterestOfficial,\n apNsThreadsLogo,\n apXOfficial,\n apWebBlogs,\n apWebNews,\n ]);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);\n }\n\n ngOnInit(): void {\n this.initialsAvailable$ = this.username$.pipe(\n map(username => {\n return !!username;\n })\n );\n\n this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(\n map(([profilePicture, anonymous, imageError]) => {\n return !!profilePicture && !anonymous && !imageError;\n })\n );\n\n this.displayInitials$ = combineLatest([\n this.showInitials$,\n this.anonymous$,\n this.initialsAvailable$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {\n return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;\n })\n );\n\n this.displaySingleNeutralSvg$ = combineLatest([\n this.profilePicture$,\n this.imageError$,\n this.initialsAvailable$,\n this.showInitials$,\n this.anonymous$,\n this.displayInitials$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {\n return (\n (!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&\n !anonymous &&\n !displayInitials &&\n !displayProfilePicture\n );\n })\n );\n\n this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(\n map(([anonymous, rounded]) => {\n return anonymous && rounded;\n })\n );\n\n this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(\n map(([online, rounded]) => {\n return online && rounded;\n })\n );\n\n this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(\n map(([network, rounded]) => {\n return !!network && rounded;\n })\n );\n\n this.socialNetwork$ = this.network$.pipe(map(network => {\n if (!network) {\n return false;\n }\n return AVATAR_NETWORK_ARRAY.indexOf(network) > -1;\n }));\n\n\n this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(\n map(([displayInitials, username]) => {\n if ((displayInitials && !username) || !displayInitials) {\n return '';\n }\n this.elementRef.nativeElement.style.setProperty(\n '--ap-avatar-initials-size',\n `${initialSizeByAvatarSize[this.size$.value]}px`\n );\n const names = username?.split(' ');\n return `${names[0].charAt(0).toUpperCase()}`;\n })\n );\n }\n\n onImageError(): void {\n this.imageError$.next(true);\n }\n}\n","<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 @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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|