valtech-components 4.0.976 → 4.0.978
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/esm2022/lib/components/molecules/profile-card/profile-card.component.mjs +86 -12
- package/esm2022/lib/services/video-upload/types.mjs +2 -0
- package/esm2022/lib/services/video-upload/video-upload.service.mjs +101 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +185 -13
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/profile-card/profile-card.component.d.ts +12 -0
- package/lib/services/video-upload/types.d.ts +23 -0
- package/lib/services/video-upload/video-upload.service.d.ts +59 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -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.
|
|
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().
|
|
52
|
-
<div class="profile-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
+
> {{ 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-
|
|
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().
|
|
130
|
-
<div class="profile-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
+
> {{ 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-
|
|
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=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3ZpZGVvLXVwbG9hZC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250cmF0byBkZSBzdWJpZGEgZGlyZWN0YSBhIFMzIHbDrWEgUE9TVCBwcmVzaWduYWRvIChBRFItMDg3KS4gRWwgY29uc3VtZXJcbiAqIG51bmNhIGFybWEgZXN0ZSBvYmpldG8gYSBtYW5vIOKAlCBsbyByZWNpYmUgdGFsIGN1YWwgZGVsIGJhY2tlbmRcbiAqIChgUmVxdWVzdFZpZGVvVXBsb2FkUmVzcG9uc2VgKSB5IHNlIGxvIHBhc2EgYSBgVmlkZW9VcGxvYWRTZXJ2aWNlLnVwbG9hZCgpYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1Bvc3RVcGxvYWRJbnRlbnQge1xuICB1cGxvYWRVcmw6IHN0cmluZztcbiAgdXBsb2FkRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIExvcyBkb3MgcGFzb3MgcXVlIFPDjSBkZXBlbmRlbiBkZWwgZG9taW5pbyAocmVjZXRhLCBjb250ZW5pZG8sIGFuaW1hbCBlblxuICogYWRvcGNpw7NuLi4uKSB5IHF1ZSBsYSBsaWIgbm8gcHVlZGUgY29ub2NlcjogY8OzbW8gcGVkaXIgZWwgaW50ZW50IGRlIHN1YmlkYVxuICogeSBjw7NtbyBhdmlzYXIgcXVlIHRlcm1pbsOzLiBUb2RvIGxvIGRlbcOhcyAoYXJtYXIgZWwgRm9ybURhdGEsIGVsIFBPU1QgYSBTMyxcbiAqIGVsIG9yZGVuIGludGVudOKGklMz4oaSZmluYWxpemUpIGxvIHJlc3VlbHZlIGBWaWRlb1VwbG9hZFNlcnZpY2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvVXBsb2FkSGFuZGxlcnMge1xuICByZXF1ZXN0SW50ZW50OiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTxTM1Bvc3RVcGxvYWRJbnRlbnQ+O1xuICBmaW5hbGl6ZTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IHR5cGUgVmlkZW9VcGxvYWRTdGF0dXMgPSAndXBsb2FkaW5nJyB8ICdwcm9jZXNzaW5nJztcblxuZXhwb3J0IGludGVyZmFjZSBWaWRlb1VwbG9hZFByb2dyZXNzIHtcbiAgc3RhdHVzOiBWaWRlb1VwbG9hZFN0YXR1cztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Subida directa a S3 vía POST presignado (ADR-087, "el video no puede pasar
|
|
6
|
+
* por la API" — API Gateway tiene un tope duro de ~10MB de payload y un
|
|
7
|
+
* timeout de integración de 29s, ninguno de los dos configurable). El
|
|
8
|
+
* archivo nunca toca nuestro backend.
|
|
9
|
+
*
|
|
10
|
+
* Antes de este servicio, `uploadVideoToS3` vivía copiado literal en cada app
|
|
11
|
+
* consumidora (Eklesee, Okhelia) — mismo texto, mismo comentario, mismo
|
|
12
|
+
* riesgo de que un fix quede aplicado en una sola copia. Este servicio es al
|
|
13
|
+
* video lo que `StorageService` es a Firebase Storage: la app nunca ve el
|
|
14
|
+
* bucket, nunca arma un `FormData`, nunca sabe que el proveedor es S3.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* private videoUpload = inject(VideoUploadService);
|
|
19
|
+
*
|
|
20
|
+
* onFileSelected(file: File) {
|
|
21
|
+
* this.videoUpload.upload(file, {
|
|
22
|
+
* requestIntent: (f) => firstValueFrom(this.recipeSvc.requestVideoUpload(recipeId, {
|
|
23
|
+
* filename: f.name, contentType: f.type || 'video/mp4', sizeBytes: f.size,
|
|
24
|
+
* })),
|
|
25
|
+
* finalize: () => firstValueFrom(this.recipeSvc.finalizeVideoUpload(recipeId)),
|
|
26
|
+
* }).subscribe({
|
|
27
|
+
* next: (progress) => this.state.set(progress.status),
|
|
28
|
+
* error: (err) => this.errors.handle(err, { context: 'my-page.uploadVideo', ... }),
|
|
29
|
+
* complete: () => this.state.set('done'),
|
|
30
|
+
* });
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export class VideoUploadService {
|
|
35
|
+
/**
|
|
36
|
+
* Orquesta el flujo completo: pide el intent al backend del dominio, sube
|
|
37
|
+
* el archivo a S3, y avisa que terminó. Emite el progreso en dos pasos
|
|
38
|
+
* (`uploading` mientras sube a S3, `processing` mientras el backend hace
|
|
39
|
+
* `finalize`) y completa cuando el backend confirma — el estado real del
|
|
40
|
+
* video (`ready`/`failed`) sigue siendo async del lado del backend
|
|
41
|
+
* (EventBridge → worker), esto solo cubre la subida.
|
|
42
|
+
*/
|
|
43
|
+
upload(file, handlers) {
|
|
44
|
+
return new Observable(subscriber => {
|
|
45
|
+
let cancelled = false;
|
|
46
|
+
(async () => {
|
|
47
|
+
try {
|
|
48
|
+
subscriber.next({ status: 'uploading' });
|
|
49
|
+
const intent = await handlers.requestIntent(file);
|
|
50
|
+
if (cancelled)
|
|
51
|
+
return;
|
|
52
|
+
await this.postToS3(intent, file);
|
|
53
|
+
if (cancelled)
|
|
54
|
+
return;
|
|
55
|
+
subscriber.next({ status: 'processing' });
|
|
56
|
+
await handlers.finalize();
|
|
57
|
+
if (cancelled)
|
|
58
|
+
return;
|
|
59
|
+
subscriber.complete();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (!cancelled)
|
|
63
|
+
subscriber.error(error);
|
|
64
|
+
}
|
|
65
|
+
})();
|
|
66
|
+
return () => {
|
|
67
|
+
cancelled = true;
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Arma el `FormData` de la subida POST de S3 y lo envía. **Orden del
|
|
73
|
+
* FormData**: los campos de la policy PRIMERO, el archivo AL FINAL — es un
|
|
74
|
+
* requisito del form-based upload de S3 (RFC de multipart/form-data + cómo
|
|
75
|
+
* S3 procesa la policy), no un detalle de estilo.
|
|
76
|
+
*
|
|
77
|
+
* Usa `fetch()` nativo A PROPÓSITO, nunca `HttpClient`: el interceptor de
|
|
78
|
+
* `provideValtechAuth` agrega `Authorization: Bearer <token>` a cualquier
|
|
79
|
+
* request que pase por él, y no corresponde que ese token viaje a un
|
|
80
|
+
* dominio de S3 que no es nuestro backend.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
async postToS3(intent, file) {
|
|
84
|
+
const form = new FormData();
|
|
85
|
+
for (const [key, value] of Object.entries(intent.uploadFields)) {
|
|
86
|
+
form.append(key, value);
|
|
87
|
+
}
|
|
88
|
+
form.append('file', file);
|
|
89
|
+
const res = await fetch(intent.uploadUrl, { method: 'POST', body: form });
|
|
90
|
+
if (!res.ok) {
|
|
91
|
+
throw new Error(`S3 upload respondió ${res.status}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: VideoUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: VideoUploadService, providedIn: 'root' }); }
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: VideoUploadService, decorators: [{
|
|
98
|
+
type: Injectable,
|
|
99
|
+
args: [{ providedIn: 'root' }]
|
|
100
|
+
}] });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3ZpZGVvLXVwbG9hZC92aWRlby11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFVLEVBQUUsUUFBNkI7UUFDOUMsT0FBTyxJQUFJLFVBQVUsQ0FBc0IsVUFBVSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDO29CQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNsRCxJQUFJLFNBQVM7d0JBQUUsT0FBTztvQkFDdEIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxTQUFTO3dCQUFFLE9BQU87b0JBQ3RCLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzFCLElBQUksU0FBUzt3QkFBRSxPQUFPO29CQUN0QixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsU0FBUzt3QkFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNMLE9BQU8sR0FBRyxFQUFFO2dCQUNWLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQTBCLEVBQUUsSUFBVTtRQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxQixNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7K0dBeERVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFMzUG9zdFVwbG9hZEludGVudCwgVmlkZW9VcGxvYWRIYW5kbGVycywgVmlkZW9VcGxvYWRQcm9ncmVzcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFN1YmlkYSBkaXJlY3RhIGEgUzMgdsOtYSBQT1NUIHByZXNpZ25hZG8gKEFEUi0wODcsIFwiZWwgdmlkZW8gbm8gcHVlZGUgcGFzYXJcbiAqIHBvciBsYSBBUElcIiDigJQgQVBJIEdhdGV3YXkgdGllbmUgdW4gdG9wZSBkdXJvIGRlIH4xME1CIGRlIHBheWxvYWQgeSB1blxuICogdGltZW91dCBkZSBpbnRlZ3JhY2nDs24gZGUgMjlzLCBuaW5ndW5vIGRlIGxvcyBkb3MgY29uZmlndXJhYmxlKS4gRWxcbiAqIGFyY2hpdm8gbnVuY2EgdG9jYSBudWVzdHJvIGJhY2tlbmQuXG4gKlxuICogQW50ZXMgZGUgZXN0ZSBzZXJ2aWNpbywgYHVwbG9hZFZpZGVvVG9TM2Agdml2w61hIGNvcGlhZG8gbGl0ZXJhbCBlbiBjYWRhIGFwcFxuICogY29uc3VtaWRvcmEgKEVrbGVzZWUsIE9raGVsaWEpIOKAlCBtaXNtbyB0ZXh0bywgbWlzbW8gY29tZW50YXJpbywgbWlzbW9cbiAqIHJpZXNnbyBkZSBxdWUgdW4gZml4IHF1ZWRlIGFwbGljYWRvIGVuIHVuYSBzb2xhIGNvcGlhLiBFc3RlIHNlcnZpY2lvIGVzIGFsXG4gKiB2aWRlbyBsbyBxdWUgYFN0b3JhZ2VTZXJ2aWNlYCBlcyBhIEZpcmViYXNlIFN0b3JhZ2U6IGxhIGFwcCBudW5jYSB2ZSBlbFxuICogYnVja2V0LCBudW5jYSBhcm1hIHVuIGBGb3JtRGF0YWAsIG51bmNhIHNhYmUgcXVlIGVsIHByb3ZlZWRvciBlcyBTMy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcHJpdmF0ZSB2aWRlb1VwbG9hZCA9IGluamVjdChWaWRlb1VwbG9hZFNlcnZpY2UpO1xuICpcbiAqIG9uRmlsZVNlbGVjdGVkKGZpbGU6IEZpbGUpIHtcbiAqICAgdGhpcy52aWRlb1VwbG9hZC51cGxvYWQoZmlsZSwge1xuICogICAgIHJlcXVlc3RJbnRlbnQ6IChmKSA9PiBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlY2lwZVN2Yy5yZXF1ZXN0VmlkZW9VcGxvYWQocmVjaXBlSWQsIHtcbiAqICAgICAgIGZpbGVuYW1lOiBmLm5hbWUsIGNvbnRlbnRUeXBlOiBmLnR5cGUgfHwgJ3ZpZGVvL21wNCcsIHNpemVCeXRlczogZi5zaXplLFxuICogICAgIH0pKSxcbiAqICAgICBmaW5hbGl6ZTogKCkgPT4gZmlyc3RWYWx1ZUZyb20odGhpcy5yZWNpcGVTdmMuZmluYWxpemVWaWRlb1VwbG9hZChyZWNpcGVJZCkpLFxuICogICB9KS5zdWJzY3JpYmUoe1xuICogICAgIG5leHQ6IChwcm9ncmVzcykgPT4gdGhpcy5zdGF0ZS5zZXQocHJvZ3Jlc3Muc3RhdHVzKSxcbiAqICAgICBlcnJvcjogKGVycikgPT4gdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwgeyBjb250ZXh0OiAnbXktcGFnZS51cGxvYWRWaWRlbycsIC4uLiB9KSxcbiAqICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5zdGF0ZS5zZXQoJ2RvbmUnKSxcbiAqICAgfSk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBWaWRlb1VwbG9hZFNlcnZpY2Uge1xuICAvKipcbiAgICogT3JxdWVzdGEgZWwgZmx1am8gY29tcGxldG86IHBpZGUgZWwgaW50ZW50IGFsIGJhY2tlbmQgZGVsIGRvbWluaW8sIHN1YmVcbiAgICogZWwgYXJjaGl2byBhIFMzLCB5IGF2aXNhIHF1ZSB0ZXJtaW7Dsy4gRW1pdGUgZWwgcHJvZ3Jlc28gZW4gZG9zIHBhc29zXG4gICAqIChgdXBsb2FkaW5nYCBtaWVudHJhcyBzdWJlIGEgUzMsIGBwcm9jZXNzaW5nYCBtaWVudHJhcyBlbCBiYWNrZW5kIGhhY2VcbiAgICogYGZpbmFsaXplYCkgeSBjb21wbGV0YSBjdWFuZG8gZWwgYmFja2VuZCBjb25maXJtYSDigJQgZWwgZXN0YWRvIHJlYWwgZGVsXG4gICAqIHZpZGVvIChgcmVhZHlgL2BmYWlsZWRgKSBzaWd1ZSBzaWVuZG8gYXN5bmMgZGVsIGxhZG8gZGVsIGJhY2tlbmRcbiAgICogKEV2ZW50QnJpZGdlIOKGkiB3b3JrZXIpLCBlc3RvIHNvbG8gY3VicmUgbGEgc3ViaWRhLlxuICAgKi9cbiAgdXBsb2FkKGZpbGU6IEZpbGUsIGhhbmRsZXJzOiBWaWRlb1VwbG9hZEhhbmRsZXJzKTogT2JzZXJ2YWJsZTxWaWRlb1VwbG9hZFByb2dyZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFZpZGVvVXBsb2FkUHJvZ3Jlc3M+KHN1YnNjcmliZXIgPT4ge1xuICAgICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoeyBzdGF0dXM6ICd1cGxvYWRpbmcnIH0pO1xuICAgICAgICAgIGNvbnN0IGludGVudCA9IGF3YWl0IGhhbmRsZXJzLnJlcXVlc3RJbnRlbnQoZmlsZSk7XG4gICAgICAgICAgaWYgKGNhbmNlbGxlZCkgcmV0dXJuO1xuICAgICAgICAgIGF3YWl0IHRoaXMucG9zdFRvUzMoaW50ZW50LCBmaWxlKTtcbiAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHsgc3RhdHVzOiAncHJvY2Vzc2luZycgfSk7XG4gICAgICAgICAgYXdhaXQgaGFuZGxlcnMuZmluYWxpemUoKTtcbiAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGlmICghY2FuY2VsbGVkKSBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSkoKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFybWEgZWwgYEZvcm1EYXRhYCBkZSBsYSBzdWJpZGEgUE9TVCBkZSBTMyB5IGxvIGVudsOtYS4gKipPcmRlbiBkZWxcbiAgICogRm9ybURhdGEqKjogbG9zIGNhbXBvcyBkZSBsYSBwb2xpY3kgUFJJTUVSTywgZWwgYXJjaGl2byBBTCBGSU5BTCDigJQgZXMgdW5cbiAgICogcmVxdWlzaXRvIGRlbCBmb3JtLWJhc2VkIHVwbG9hZCBkZSBTMyAoUkZDIGRlIG11bHRpcGFydC9mb3JtLWRhdGEgKyBjw7Ntb1xuICAgKiBTMyBwcm9jZXNhIGxhIHBvbGljeSksIG5vIHVuIGRldGFsbGUgZGUgZXN0aWxvLlxuICAgKlxuICAgKiBVc2EgYGZldGNoKClgIG5hdGl2byBBIFBST1DDk1NJVE8sIG51bmNhIGBIdHRwQ2xpZW50YDogZWwgaW50ZXJjZXB0b3IgZGVcbiAgICogYHByb3ZpZGVWYWx0ZWNoQXV0aGAgYWdyZWdhIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgYSBjdWFscXVpZXJcbiAgICogcmVxdWVzdCBxdWUgcGFzZSBwb3Igw6lsLCB5IG5vIGNvcnJlc3BvbmRlIHF1ZSBlc2UgdG9rZW4gdmlhamUgYSB1blxuICAgKiBkb21pbmlvIGRlIFMzIHF1ZSBubyBlcyBudWVzdHJvIGJhY2tlbmQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBwb3N0VG9TMyhpbnRlbnQ6IFMzUG9zdFVwbG9hZEludGVudCwgZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhpbnRlbnQudXBsb2FkRmllbGRzKSkge1xuICAgICAgZm9ybS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIGZvcm0uYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChpbnRlbnQudXBsb2FkVXJsLCB7IG1ldGhvZDogJ1BPU1QnLCBib2R5OiBmb3JtIH0pO1xuICAgIGlmICghcmVzLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFMzIHVwbG9hZCByZXNwb25kacOzICR7cmVzLnN0YXR1c31gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -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.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.978';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC45NzgnO1xuIl19
|