valtech-components 4.0.976 → 4.0.977

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.
@@ -26,7 +26,35 @@ export class ProfileCardComponent {
26
26
  this.safeWhatsapp = computed(() => sanitizeUrl(this.data().links?.whatsapp));
27
27
  this.safePhone = computed(() => sanitizeUrl(this.data().links?.phone));
28
28
  this.safeEmail = computed(() => sanitizeUrl(this.data().links?.email));
29
- this.hasLinks = computed(() => !!(this.safeWebsite() || this.safeInstagram() || this.safeWhatsapp() || this.safePhone() || this.safeEmail()));
29
+ this.safeFacebook = computed(() => this.facebookUrl(this.data().links?.facebook));
30
+ this.hasLinks = computed(() => !!(this.safeWebsite() ||
31
+ this.safeInstagram() ||
32
+ this.safeWhatsapp() ||
33
+ this.safePhone() ||
34
+ this.safeEmail() ||
35
+ this.safeFacebook()));
36
+ this.statsToShow = computed(() => {
37
+ const stats = this.data().stats;
38
+ if (stats)
39
+ return stats;
40
+ const stat = this.data().stat;
41
+ return stat ? [stat] : null;
42
+ });
43
+ }
44
+ facebookUrl(handle) {
45
+ if (!handle)
46
+ return null;
47
+ if (handle.startsWith('http'))
48
+ return sanitizeUrl(handle);
49
+ return sanitizeUrl(`https://facebook.com/${handle}`);
50
+ }
51
+ formatPlace(place) {
52
+ const parts = [];
53
+ if (place.city)
54
+ parts.push(place.city);
55
+ if (place.region)
56
+ parts.push(place.region);
57
+ return parts.join(', ');
30
58
  }
31
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
60
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ProfileCardComponent, isStandalone: true, selector: "val-profile-card", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
@@ -48,10 +76,22 @@ export class ProfileCardComponent {
48
76
  @if (data().handle) {
49
77
  <div class="profile-card__handle">{{ '@' + data().handle }}</div>
50
78
  }
51
- @if (data().stat) {
52
- <div class="profile-card__stat">
53
- <strong>{{ data().stat!.value }}</strong
54
- >&nbsp;{{ data().stat!.label }}
79
+ @if (data().description) {
80
+ <div class="profile-card__description">{{ data().description }}</div>
81
+ }
82
+ @if (data().place) {
83
+ <div class="profile-card__place">
84
+ {{ formatPlace(data().place) }}
85
+ </div>
86
+ }
87
+ @if (statsToShow(); as stats) {
88
+ <div class="profile-card__stats">
89
+ @for (stat of stats; track $index) {
90
+ <div class="profile-card__stat">
91
+ <strong>{{ stat.value }}</strong
92
+ >&nbsp;{{ stat.label }}
93
+ </div>
94
+ }
55
95
  </div>
56
96
  }
57
97
  @if (hasLinks()) {
@@ -99,11 +139,22 @@ export class ProfileCardComponent {
99
139
  <ion-icon name="mail-outline" />
100
140
  </a>
101
141
  }
142
+ @if (safeFacebook()) {
143
+ <a
144
+ class="profile-card__link"
145
+ [href]="safeFacebook()!"
146
+ target="_blank"
147
+ rel="noopener noreferrer"
148
+ aria-label="Facebook"
149
+ >
150
+ <ion-icon name="logo-facebook" />
151
+ </a>
152
+ }
102
153
  </div>
103
154
  }
104
155
  </div>
105
156
  </div>
106
- `, isInline: true, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat{margin-top:4px;font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
157
+ `, isInline: true, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__description{font-size:.875rem;color:var(--ion-color-dark, #92949c);line-height:1.4;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.profile-card__place{font-size:.75rem;color:var(--ion-color-dark, #92949c);margin-top:3px}.profile-card__stats{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.profile-card__stat{font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
107
158
  }
108
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileCardComponent, decorators: [{
109
160
  type: Component,
@@ -126,10 +177,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
126
177
  @if (data().handle) {
127
178
  <div class="profile-card__handle">{{ '@' + data().handle }}</div>
128
179
  }
129
- @if (data().stat) {
130
- <div class="profile-card__stat">
131
- <strong>{{ data().stat!.value }}</strong
132
- >&nbsp;{{ data().stat!.label }}
180
+ @if (data().description) {
181
+ <div class="profile-card__description">{{ data().description }}</div>
182
+ }
183
+ @if (data().place) {
184
+ <div class="profile-card__place">
185
+ {{ formatPlace(data().place) }}
186
+ </div>
187
+ }
188
+ @if (statsToShow(); as stats) {
189
+ <div class="profile-card__stats">
190
+ @for (stat of stats; track $index) {
191
+ <div class="profile-card__stat">
192
+ <strong>{{ stat.value }}</strong
193
+ >&nbsp;{{ stat.label }}
194
+ </div>
195
+ }
133
196
  </div>
134
197
  }
135
198
  @if (hasLinks()) {
@@ -177,10 +240,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
177
240
  <ion-icon name="mail-outline" />
178
241
  </a>
179
242
  }
243
+ @if (safeFacebook()) {
244
+ <a
245
+ class="profile-card__link"
246
+ [href]="safeFacebook()!"
247
+ target="_blank"
248
+ rel="noopener noreferrer"
249
+ aria-label="Facebook"
250
+ >
251
+ <ion-icon name="logo-facebook" />
252
+ </a>
253
+ }
180
254
  </div>
181
255
  }
182
256
  </div>
183
257
  </div>
184
- `, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat{margin-top:4px;font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"] }]
258
+ `, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__description{font-size:.875rem;color:var(--ion-color-dark, #92949c);line-height:1.4;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.profile-card__place{font-size:.75rem;color:var(--ion-color-dark, #92949c);margin-top:3px}.profile-card__stats{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.profile-card__stat{font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"] }]
185
259
  }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZmlsZS1jYXJkL3Byb2ZpbGUtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBNkJwRCxTQUFTLFdBQVcsQ0FBQyxHQUE4QjtJQUNqRCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBQztRQUNILE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFtTEgsTUFBTSxPQUFPLG9CQUFvQjtJQWxMakM7UUFtTFcsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1CLENBQUM7UUFFekMsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RSxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFFLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVsRSxhQUFRLEdBQUcsUUFBUSxDQUMxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQ3BILENBQUM7S0FDSDsrR0FkWSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw0TUE5S3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBFVCwybkRBM0VTLE9BQU87OzRGQStLTixvQkFBb0I7a0JBbExoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMsWUFDUjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZUNhcmRMaW5rcyB7XG4gIHdlYnNpdGU/OiBzdHJpbmcgfCBudWxsO1xuICBpbnN0YWdyYW0/OiBzdHJpbmcgfCBudWxsO1xuICB3aGF0c2FwcD86IHN0cmluZyB8IG51bGw7XG4gIHBob25lPzogc3RyaW5nIHwgbnVsbDtcbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYXJkU3RhdCB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0b3MgYWduw7NzdGljb3MgYWwgZG9taW5pbyAoQURSLTA2Mykg4oCUIHNpcnZlIHJlZnVnaW8gKENoZXNlZCksIGNyZWFkb3IgZGVcbiAqIHJlY2V0YXMgKE1lYWxwbGFuKSBvIGN1YWxxdWllciBwdWJsaXNoZXIvZW50aWRhZCBjb24gcGVyZmlsIHDDumJsaWNvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYXJkRGF0YSB7XG4gIGF2YXRhclVybD86IHN0cmluZyB8IG51bGw7XG4gIG5hbWU6IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgdmVyaWZpZWQ/OiBib29sZWFuO1xuICB2ZXJpZmllZExhYmVsPzogc3RyaW5nO1xuICBzdGF0PzogUHJvZmlsZUNhcmRTdGF0O1xuICBsaW5rcz86IFByb2ZpbGVDYXJkTGlua3M7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplVXJsKHVybDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIXVybCkgcmV0dXJuIG51bGw7XG4gIHRyeSB7XG4gICAgY29uc3QgdSA9IG5ldyBVUkwodXJsKTtcbiAgICByZXR1cm4gWydodHRwOicsICdodHRwczonLCAndGVsOicsICdtYWlsdG86J10uaW5jbHVkZXModS5wcm90b2NvbCkgPyB1cmwgOiBudWxsO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIENhcmQgZGUgcGVyZmlsIHDDumJsaWNvIChhdmF0YXIgKyBub21icmUgKyBoYW5kbGUgKyBiYWRnZSB2ZXJpZmljYWRvICsgc3RhdFxuICogKyBsaW5rcykuIFByZXNlbnRhY2lvbmFsL2R1bWI6IGVsIGNvbnN1bWVyIHJlc3VlbHZlIGRhdG9zLCBhY3Rpb25zIHlcbiAqIHJvdXRpbmcuIENvbmZpZyBhZ27Ds3N0aWNhIGFsIGRvbWluaW8g4oCUIHZlciBgUHJvZmlsZUNhcmREYXRhYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXByb2ZpbGUtY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19hdmF0YXItd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19hdmF0YXJcIj5cbiAgICAgICAgICBAaWYgKGRhdGEoKS5hdmF0YXJVcmwgJiYgIWF2YXRhckZhaWxlZCgpKSB7XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiZGF0YSgpLmF2YXRhclVybCFcIiBbYWx0XT1cImRhdGEoKS5uYW1lXCIgKGVycm9yKT1cImF2YXRhckZhaWxlZC5zZXQodHJ1ZSlcIiAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAge3sgZGF0YSgpLm5hbWVbMF0/LnRvVXBwZXJDYXNlKCkgfX1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGRhdGEoKS52ZXJpZmllZCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2JhZGdlXCIgW2F0dHIudGl0bGVdPVwiZGF0YSgpLnZlcmlmaWVkTGFiZWxcIj7inJM8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX190ZXh0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX25hbWVcIj57eyBkYXRhKCkubmFtZSB9fTwvZGl2PlxuICAgICAgICBAaWYgKGRhdGEoKS5oYW5kbGUpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19oYW5kbGVcIj57eyAnQCcgKyBkYXRhKCkuaGFuZGxlIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkYXRhKCkuc3RhdCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX3N0YXRcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgZGF0YSgpLnN0YXQhLnZhbHVlIH19PC9zdHJvbmdcbiAgICAgICAgICAgID4mbmJzcDt7eyBkYXRhKCkuc3RhdCEubGFiZWwgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGhhc0xpbmtzKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19saW5rc1wiPlxuICAgICAgICAgICAgQGlmIChzYWZlV2Vic2l0ZSgpKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInNhZmVXZWJzaXRlKCkhXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJXZWJzaXRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZ2xvYmUtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2FmZUluc3RhZ3JhbSgpKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInNhZmVJbnN0YWdyYW0oKSFcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkluc3RhZ3JhbVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImxvZ28taW5zdGFncmFtXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzYWZlV2hhdHNhcHAoKSkge1xuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1jYXJkX19saW5rXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJzYWZlV2hhdHNhcHAoKSFcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIldoYXRzQXBwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9nby13aGF0c2FwcFwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2FmZVBob25lKCkpIHtcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtcIiBbaHJlZl09XCJzYWZlUGhvbmUoKSFcIiBhcmlhLWxhYmVsPVwiUGhvbmVcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbGwtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2FmZUVtYWlsKCkpIHtcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtcIiBbaHJlZl09XCJzYWZlRW1haWwoKSFcIiBhcmlhLWxhYmVsPVwiRW1haWxcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm1haWwtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5wcm9maWxlLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYXZhdGFyLXdyYXAge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzMxMzEzMSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2F2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnksICNmZmY2MDApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS1jYXJkX190ZXh0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDNweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMwMDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2hhbmRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fc3RhdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fc3RhdCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMwMDApO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wNikpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMwMDApO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2xpbms6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUNhcmRDb21wb25lbnQge1xuICByZWFkb25seSBkYXRhID0gaW5wdXQucmVxdWlyZWQ8UHJvZmlsZUNhcmREYXRhPigpO1xuXG4gIHJlYWRvbmx5IGF2YXRhckZhaWxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2FmZVdlYnNpdGUgPSBjb21wdXRlZCgoKSA9PiBzYW5pdGl6ZVVybCh0aGlzLmRhdGEoKS5saW5rcz8ud2Vic2l0ZSkpO1xuICByZWFkb25seSBzYWZlSW5zdGFncmFtID0gY29tcHV0ZWQoKCkgPT4gc2FuaXRpemVVcmwodGhpcy5kYXRhKCkubGlua3M/Lmluc3RhZ3JhbSkpO1xuICByZWFkb25seSBzYWZlV2hhdHNhcHAgPSBjb21wdXRlZCgoKSA9PiBzYW5pdGl6ZVVybCh0aGlzLmRhdGEoKS5saW5rcz8ud2hhdHNhcHApKTtcbiAgcmVhZG9ubHkgc2FmZVBob25lID0gY29tcHV0ZWQoKCkgPT4gc2FuaXRpemVVcmwodGhpcy5kYXRhKCkubGlua3M/LnBob25lKSk7XG4gIHJlYWRvbmx5IHNhZmVFbWFpbCA9IGNvbXB1dGVkKCgpID0+IHNhbml0aXplVXJsKHRoaXMuZGF0YSgpLmxpbmtzPy5lbWFpbCkpO1xuXG4gIHJlYWRvbmx5IGhhc0xpbmtzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gISEodGhpcy5zYWZlV2Vic2l0ZSgpIHx8IHRoaXMuc2FmZUluc3RhZ3JhbSgpIHx8IHRoaXMuc2FmZVdoYXRzYXBwKCkgfHwgdGhpcy5zYWZlUGhvbmUoKSB8fCB0aGlzLnNhZmVFbWFpbCgpKVxuICApO1xufVxuIl19
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZmlsZS1jYXJkL3Byb2ZpbGUtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBc0NwRCxTQUFTLFdBQVcsQ0FBQyxHQUE4QjtJQUNqRCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBQztRQUNILE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUErTkgsTUFBTSxPQUFPLG9CQUFvQjtJQTlOakM7UUErTlcsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1CLENBQUM7UUFFekMsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RSxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFFLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU3RSxhQUFRLEdBQUcsUUFBUSxDQUMxQixHQUFHLEVBQUUsQ0FDSCxDQUFDLENBQUMsQ0FDQSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUNwQixDQUNKLENBQUM7UUFFTyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQyxJQUFJLEtBQUs7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0tBY0o7SUFaUyxXQUFXLENBQUMsTUFBaUM7UUFDbkQsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUN6QixJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsT0FBTyxXQUFXLENBQUMsd0JBQXdCLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUF1QjtRQUNqQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxLQUFLLENBQUMsSUFBSTtZQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0ExQ1Usb0JBQW9CO21HQUFwQixvQkFBb0IsNE1BMU5yQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlHVCw0K0RBbEdTLE9BQU87OzRGQTJOTixvQkFBb0I7a0JBOU5oQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMsWUFDUjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlQ2FyZExpbmtzIHtcbiAgd2Vic2l0ZT86IHN0cmluZyB8IG51bGw7XG4gIGluc3RhZ3JhbT86IHN0cmluZyB8IG51bGw7XG4gIHdoYXRzYXBwPzogc3RyaW5nIHwgbnVsbDtcbiAgcGhvbmU/OiBzdHJpbmcgfCBudWxsO1xuICBlbWFpbD86IHN0cmluZyB8IG51bGw7XG4gIGZhY2Vib29rPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlQ2FyZFN0YXQge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYXJkUGxhY2Uge1xuICBjaXR5Pzogc3RyaW5nO1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0b3MgYWduw7NzdGljb3MgYWwgZG9taW5pbyAoQURSLTA2Mykg4oCUIHNpcnZlIHJlZnVnaW8gKENoZXNlZCksIGNyZWFkb3IgZGVcbiAqIHJlY2V0YXMgKE1lYWxwbGFuKSBvIGN1YWxxdWllciBwdWJsaXNoZXIvZW50aWRhZCBjb24gcGVyZmlsIHDDumJsaWNvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVDYXJkRGF0YSB7XG4gIGF2YXRhclVybD86IHN0cmluZyB8IG51bGw7XG4gIG5hbWU6IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgdmVyaWZpZWQ/OiBib29sZWFuO1xuICB2ZXJpZmllZExhYmVsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcGxhY2U/OiBQcm9maWxlQ2FyZFBsYWNlO1xuICBzdGF0PzogUHJvZmlsZUNhcmRTdGF0O1xuICBzdGF0cz86IEFycmF5PFByb2ZpbGVDYXJkU3RhdD47XG4gIGxpbmtzPzogUHJvZmlsZUNhcmRMaW5rcztcbn1cblxuZnVuY3Rpb24gc2FuaXRpemVVcmwodXJsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghdXJsKSByZXR1cm4gbnVsbDtcbiAgdHJ5IHtcbiAgICBjb25zdCB1ID0gbmV3IFVSTCh1cmwpO1xuICAgIHJldHVybiBbJ2h0dHA6JywgJ2h0dHBzOicsICd0ZWw6JywgJ21haWx0bzonXS5pbmNsdWRlcyh1LnByb3RvY29sKSA/IHVybCA6IG51bGw7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogQ2FyZCBkZSBwZXJmaWwgcMO6YmxpY28gKGF2YXRhciArIG5vbWJyZSArIGhhbmRsZSArIGJhZGdlIHZlcmlmaWNhZG8gKyBzdGF0XG4gKiArIGxpbmtzKS4gUHJlc2VudGFjaW9uYWwvZHVtYjogZWwgY29uc3VtZXIgcmVzdWVsdmUgZGF0b3MsIGFjdGlvbnMgeVxuICogcm91dGluZy4gQ29uZmlnIGFnbsOzc3RpY2EgYWwgZG9taW5pbyDigJQgdmVyIGBQcm9maWxlQ2FyZERhdGFgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcHJvZmlsZS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2F2YXRhci13cmFwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2F2YXRhclwiPlxuICAgICAgICAgIEBpZiAoZGF0YSgpLmF2YXRhclVybCAmJiAhYXZhdGFyRmFpbGVkKCkpIHtcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJkYXRhKCkuYXZhdGFyVXJsIVwiIFthbHRdPVwiZGF0YSgpLm5hbWVcIiAoZXJyb3IpPVwiYXZhdGFyRmFpbGVkLnNldCh0cnVlKVwiIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICB7eyBkYXRhKCkubmFtZVswXT8udG9VcHBlckNhc2UoKSB9fVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoZGF0YSgpLnZlcmlmaWVkKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtY2FyZF9fYmFkZ2VcIiBbYXR0ci50aXRsZV09XCJkYXRhKCkudmVyaWZpZWRMYWJlbFwiPuKckzwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX3RleHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtY2FyZF9fbmFtZVwiPnt7IGRhdGEoKS5uYW1lIH19PC9kaXY+XG4gICAgICAgIEBpZiAoZGF0YSgpLmhhbmRsZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2hhbmRsZVwiPnt7ICdAJyArIGRhdGEoKS5oYW5kbGUgfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRhdGEoKS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2Rlc2NyaXB0aW9uXCI+e3sgZGF0YSgpLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkYXRhKCkucGxhY2UpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19wbGFjZVwiPlxuICAgICAgICAgICAge3sgZm9ybWF0UGxhY2UoZGF0YSgpLnBsYWNlKSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3RhdHNUb1Nob3coKTsgYXMgc3RhdHMpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1jYXJkX19zdGF0c1wiPlxuICAgICAgICAgICAgQGZvciAoc3RhdCBvZiBzdGF0czsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX3N0YXRcIj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHN0YXQudmFsdWUgfX08L3N0cm9uZ1xuICAgICAgICAgICAgICAgID4mbmJzcDt7eyBzdGF0LmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaGFzTGlua3MoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtzXCI+XG4gICAgICAgICAgICBAaWYgKHNhZmVXZWJzaXRlKCkpIHtcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtY2FyZF9fbGlua1wiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwic2FmZVdlYnNpdGUoKSFcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIldlYnNpdGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJnbG9iZS1vdXRsaW5lXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzYWZlSW5zdGFncmFtKCkpIHtcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtY2FyZF9fbGlua1wiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwic2FmZUluc3RhZ3JhbSgpIVwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9nby1pbnN0YWdyYW1cIiAvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNhZmVXaGF0c2FwcCgpKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9maWxlLWNhcmRfX2xpbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInNhZmVXaGF0c2FwcCgpIVwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiV2hhdHNBcHBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2dvLXdoYXRzYXBwXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzYWZlUGhvbmUoKSkge1xuICAgICAgICAgICAgICA8YSBjbGFzcz1cInByb2ZpbGUtY2FyZF9fbGlua1wiIFtocmVmXT1cInNhZmVQaG9uZSgpIVwiIGFyaWEtbGFiZWw9XCJQaG9uZVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsbC1vdXRsaW5lXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzYWZlRW1haWwoKSkge1xuICAgICAgICAgICAgICA8YSBjbGFzcz1cInByb2ZpbGUtY2FyZF9fbGlua1wiIFtocmVmXT1cInNhZmVFbWFpbCgpIVwiIGFyaWEtbGFiZWw9XCJFbWFpbFwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzYWZlRmFjZWJvb2soKSkge1xuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1jYXJkX19saW5rXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJzYWZlRmFjZWJvb2soKSFcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9nby1mYWNlYm9va1wiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5wcm9maWxlLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYXZhdGFyLXdyYXAge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzMxMzEzMSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2F2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnksICNmZmY2MDApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS1jYXJkX190ZXh0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDNweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMwMDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX2hhbmRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fcGxhY2Uge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX3N0YXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLWNhcmRfX3N0YXQge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS1jYXJkX19zdGF0IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS1jYXJkX19saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgcmdiYSgwLCAwLCAwLCAwLjA2KSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtY2FyZF9fbGluazpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ2FyZENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxQcm9maWxlQ2FyZERhdGE+KCk7XG5cbiAgcmVhZG9ubHkgYXZhdGFyRmFpbGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBzYWZlV2Vic2l0ZSA9IGNvbXB1dGVkKCgpID0+IHNhbml0aXplVXJsKHRoaXMuZGF0YSgpLmxpbmtzPy53ZWJzaXRlKSk7XG4gIHJlYWRvbmx5IHNhZmVJbnN0YWdyYW0gPSBjb21wdXRlZCgoKSA9PiBzYW5pdGl6ZVVybCh0aGlzLmRhdGEoKS5saW5rcz8uaW5zdGFncmFtKSk7XG4gIHJlYWRvbmx5IHNhZmVXaGF0c2FwcCA9IGNvbXB1dGVkKCgpID0+IHNhbml0aXplVXJsKHRoaXMuZGF0YSgpLmxpbmtzPy53aGF0c2FwcCkpO1xuICByZWFkb25seSBzYWZlUGhvbmUgPSBjb21wdXRlZCgoKSA9PiBzYW5pdGl6ZVVybCh0aGlzLmRhdGEoKS5saW5rcz8ucGhvbmUpKTtcbiAgcmVhZG9ubHkgc2FmZUVtYWlsID0gY29tcHV0ZWQoKCkgPT4gc2FuaXRpemVVcmwodGhpcy5kYXRhKCkubGlua3M/LmVtYWlsKSk7XG4gIHJlYWRvbmx5IHNhZmVGYWNlYm9vayA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZmFjZWJvb2tVcmwodGhpcy5kYXRhKCkubGlua3M/LmZhY2Vib29rKSk7XG5cbiAgcmVhZG9ubHkgaGFzTGlua3MgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgISEoXG4gICAgICAgIHRoaXMuc2FmZVdlYnNpdGUoKSB8fFxuICAgICAgICB0aGlzLnNhZmVJbnN0YWdyYW0oKSB8fFxuICAgICAgICB0aGlzLnNhZmVXaGF0c2FwcCgpIHx8XG4gICAgICAgIHRoaXMuc2FmZVBob25lKCkgfHxcbiAgICAgICAgdGhpcy5zYWZlRW1haWwoKSB8fFxuICAgICAgICB0aGlzLnNhZmVGYWNlYm9vaygpXG4gICAgICApXG4gICk7XG5cbiAgcmVhZG9ubHkgc3RhdHNUb1Nob3cgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHMgPSB0aGlzLmRhdGEoKS5zdGF0cztcbiAgICBpZiAoc3RhdHMpIHJldHVybiBzdGF0cztcbiAgICBjb25zdCBzdGF0ID0gdGhpcy5kYXRhKCkuc3RhdDtcbiAgICByZXR1cm4gc3RhdCA/IFtzdGF0XSA6IG51bGw7XG4gIH0pO1xuXG4gIHByaXZhdGUgZmFjZWJvb2tVcmwoaGFuZGxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFoYW5kbGUpIHJldHVybiBudWxsO1xuICAgIGlmIChoYW5kbGUuc3RhcnRzV2l0aCgnaHR0cCcpKSByZXR1cm4gc2FuaXRpemVVcmwoaGFuZGxlKTtcbiAgICByZXR1cm4gc2FuaXRpemVVcmwoYGh0dHBzOi8vZmFjZWJvb2suY29tLyR7aGFuZGxlfWApO1xuICB9XG5cbiAgZm9ybWF0UGxhY2UocGxhY2U6IFByb2ZpbGVDYXJkUGxhY2UpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgaWYgKHBsYWNlLmNpdHkpIHBhcnRzLnB1c2gocGxhY2UuY2l0eSk7XG4gICAgaWYgKHBsYWNlLnJlZ2lvbikgcGFydHMucHVzaChwbGFjZS5yZWdpb24pO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcsICcpO1xuICB9XG59XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.976';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC45NzYnO1xuIl19
5
+ export const VERSION = '4.0.977';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC45NzcnO1xuIl19
@@ -70,7 +70,7 @@ import fixWebmDuration from 'fix-webm-duration';
70
70
  * Current version of valtech-components.
71
71
  * This is automatically updated during the publish process.
72
72
  */
73
- const VERSION = '4.0.976';
73
+ const VERSION = '4.0.977';
74
74
 
75
75
  function evaluateValtechAccess(rule, context, features = {}, visitedFeatures = new Set()) {
76
76
  if (rule == null)
@@ -30344,7 +30344,35 @@ class ProfileCardComponent {
30344
30344
  this.safeWhatsapp = computed(() => sanitizeUrl(this.data().links?.whatsapp));
30345
30345
  this.safePhone = computed(() => sanitizeUrl(this.data().links?.phone));
30346
30346
  this.safeEmail = computed(() => sanitizeUrl(this.data().links?.email));
30347
- this.hasLinks = computed(() => !!(this.safeWebsite() || this.safeInstagram() || this.safeWhatsapp() || this.safePhone() || this.safeEmail()));
30347
+ this.safeFacebook = computed(() => this.facebookUrl(this.data().links?.facebook));
30348
+ this.hasLinks = computed(() => !!(this.safeWebsite() ||
30349
+ this.safeInstagram() ||
30350
+ this.safeWhatsapp() ||
30351
+ this.safePhone() ||
30352
+ this.safeEmail() ||
30353
+ this.safeFacebook()));
30354
+ this.statsToShow = computed(() => {
30355
+ const stats = this.data().stats;
30356
+ if (stats)
30357
+ return stats;
30358
+ const stat = this.data().stat;
30359
+ return stat ? [stat] : null;
30360
+ });
30361
+ }
30362
+ facebookUrl(handle) {
30363
+ if (!handle)
30364
+ return null;
30365
+ if (handle.startsWith('http'))
30366
+ return sanitizeUrl(handle);
30367
+ return sanitizeUrl(`https://facebook.com/${handle}`);
30368
+ }
30369
+ formatPlace(place) {
30370
+ const parts = [];
30371
+ if (place.city)
30372
+ parts.push(place.city);
30373
+ if (place.region)
30374
+ parts.push(place.region);
30375
+ return parts.join(', ');
30348
30376
  }
30349
30377
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30350
30378
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ProfileCardComponent, isStandalone: true, selector: "val-profile-card", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
@@ -30366,10 +30394,22 @@ class ProfileCardComponent {
30366
30394
  @if (data().handle) {
30367
30395
  <div class="profile-card__handle">{{ '@' + data().handle }}</div>
30368
30396
  }
30369
- @if (data().stat) {
30370
- <div class="profile-card__stat">
30371
- <strong>{{ data().stat!.value }}</strong
30372
- >&nbsp;{{ data().stat!.label }}
30397
+ @if (data().description) {
30398
+ <div class="profile-card__description">{{ data().description }}</div>
30399
+ }
30400
+ @if (data().place) {
30401
+ <div class="profile-card__place">
30402
+ {{ formatPlace(data().place) }}
30403
+ </div>
30404
+ }
30405
+ @if (statsToShow(); as stats) {
30406
+ <div class="profile-card__stats">
30407
+ @for (stat of stats; track $index) {
30408
+ <div class="profile-card__stat">
30409
+ <strong>{{ stat.value }}</strong
30410
+ >&nbsp;{{ stat.label }}
30411
+ </div>
30412
+ }
30373
30413
  </div>
30374
30414
  }
30375
30415
  @if (hasLinks()) {
@@ -30417,11 +30457,22 @@ class ProfileCardComponent {
30417
30457
  <ion-icon name="mail-outline" />
30418
30458
  </a>
30419
30459
  }
30460
+ @if (safeFacebook()) {
30461
+ <a
30462
+ class="profile-card__link"
30463
+ [href]="safeFacebook()!"
30464
+ target="_blank"
30465
+ rel="noopener noreferrer"
30466
+ aria-label="Facebook"
30467
+ >
30468
+ <ion-icon name="logo-facebook" />
30469
+ </a>
30470
+ }
30420
30471
  </div>
30421
30472
  }
30422
30473
  </div>
30423
30474
  </div>
30424
- `, isInline: true, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat{margin-top:4px;font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
30475
+ `, isInline: true, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__description{font-size:.875rem;color:var(--ion-color-dark, #92949c);line-height:1.4;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.profile-card__place{font-size:.75rem;color:var(--ion-color-dark, #92949c);margin-top:3px}.profile-card__stats{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.profile-card__stat{font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
30425
30476
  }
30426
30477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileCardComponent, decorators: [{
30427
30478
  type: Component,
@@ -30444,10 +30495,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30444
30495
  @if (data().handle) {
30445
30496
  <div class="profile-card__handle">{{ '@' + data().handle }}</div>
30446
30497
  }
30447
- @if (data().stat) {
30448
- <div class="profile-card__stat">
30449
- <strong>{{ data().stat!.value }}</strong
30450
- >&nbsp;{{ data().stat!.label }}
30498
+ @if (data().description) {
30499
+ <div class="profile-card__description">{{ data().description }}</div>
30500
+ }
30501
+ @if (data().place) {
30502
+ <div class="profile-card__place">
30503
+ {{ formatPlace(data().place) }}
30504
+ </div>
30505
+ }
30506
+ @if (statsToShow(); as stats) {
30507
+ <div class="profile-card__stats">
30508
+ @for (stat of stats; track $index) {
30509
+ <div class="profile-card__stat">
30510
+ <strong>{{ stat.value }}</strong
30511
+ >&nbsp;{{ stat.label }}
30512
+ </div>
30513
+ }
30451
30514
  </div>
30452
30515
  }
30453
30516
  @if (hasLinks()) {
@@ -30495,11 +30558,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30495
30558
  <ion-icon name="mail-outline" />
30496
30559
  </a>
30497
30560
  }
30561
+ @if (safeFacebook()) {
30562
+ <a
30563
+ class="profile-card__link"
30564
+ [href]="safeFacebook()!"
30565
+ target="_blank"
30566
+ rel="noopener noreferrer"
30567
+ aria-label="Facebook"
30568
+ >
30569
+ <ion-icon name="logo-facebook" />
30570
+ </a>
30571
+ }
30498
30572
  </div>
30499
30573
  }
30500
30574
  </div>
30501
30575
  </div>
30502
- `, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat{margin-top:4px;font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"] }]
30576
+ `, styles: [".profile-card{display:flex;align-items:flex-start;gap:14px}.profile-card__avatar-wrap{flex-shrink:0;position:relative}.profile-card__avatar{width:64px;height:64px;border-radius:50%;background:var(--ion-color-dark, #313131);display:flex;align-items:center;justify-content:center;font-size:1.625rem;font-weight:800;color:#fff;overflow:hidden;letter-spacing:-.5px}.profile-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-card__badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--ion-color-secondary, #fff600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;border:2px solid var(--ion-background-color, #fff)}.profile-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.profile-card__name{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__handle{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.profile-card__description{font-size:.875rem;color:var(--ion-color-dark, #92949c);line-height:1.4;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.profile-card__place{font-size:.75rem;color:var(--ion-color-dark, #92949c);margin-top:3px}.profile-card__stats{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.profile-card__stat{font-size:.75rem;color:var(--ion-color-dark, #92949c)}.profile-card__stat strong{color:var(--ion-text-color, #000);font-weight:700}.profile-card__links{display:flex;gap:10px;margin-top:6px}.profile-card__link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light, rgba(0, 0, 0, .06));color:var(--ion-text-color, #000);text-decoration:none;font-size:1rem;transition:opacity .15s}.profile-card__link:hover{opacity:.7}\n"] }]
30503
30577
  }] });
30504
30578
 
30505
30579
  /**