valtech-components 4.0.630 → 4.0.632
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/organisms/mini-games/chessimals-adventure.component.mjs +75 -20
- package/esm2022/lib/services/auth/auth.service.mjs +71 -1
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +145 -20
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/mini-games/chessimals-adventure.component.d.ts +4 -1
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +1 -1
- package/lib/services/auth/auth.service.d.ts +28 -0
- package/lib/services/auth/types.d.ts +35 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -50,6 +50,12 @@ export class ChessimalsAdventureComponent {
|
|
|
50
50
|
};
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
|
+
this.ADV_ACT_THEMES = {
|
|
54
|
+
act1: 'savanna',
|
|
55
|
+
act2: 'jungle',
|
|
56
|
+
act3: 'arctic',
|
|
57
|
+
act4: 'coliseum',
|
|
58
|
+
};
|
|
53
59
|
if (!this.i18n.hasNamespace('MiniGames')) {
|
|
54
60
|
this.i18n.registerContent('MiniGames', MINI_GAMES_I18N);
|
|
55
61
|
}
|
|
@@ -60,17 +66,14 @@ export class ChessimalsAdventureComponent {
|
|
|
60
66
|
avatarSrc(profileId) {
|
|
61
67
|
return `assets/games/chessimals/challenge-avatars/${profileId}.png`;
|
|
62
68
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
case 'mystery':
|
|
72
|
-
return '❓';
|
|
73
|
-
}
|
|
69
|
+
actAssetSrc(actId) {
|
|
70
|
+
return `assets/games/chessimals/adventure/acts/${this.ADV_ACT_THEMES[actId] ?? actId}.png`;
|
|
71
|
+
}
|
|
72
|
+
actBgSrc(actId) {
|
|
73
|
+
return `assets/games/chessimals/adventure/backgrounds/${this.ADV_ACT_THEMES[actId] ?? actId}.png`;
|
|
74
|
+
}
|
|
75
|
+
nodeAssetSrc(type) {
|
|
76
|
+
return `assets/games/chessimals/adventure/nodes/${type}.png`;
|
|
74
77
|
}
|
|
75
78
|
onNodeTap(nodeView) {
|
|
76
79
|
if (nodeView.status === 'locked')
|
|
@@ -136,6 +139,13 @@ export class ChessimalsAdventureComponent {
|
|
|
136
139
|
</button>
|
|
137
140
|
|
|
138
141
|
<header class="adventure-hub__header">
|
|
142
|
+
<img
|
|
143
|
+
class="adventure-hub__hero"
|
|
144
|
+
src="assets/games/chessimals/adventure/adventure-hero.png"
|
|
145
|
+
alt=""
|
|
146
|
+
aria-hidden="true"
|
|
147
|
+
loading="lazy"
|
|
148
|
+
/>
|
|
139
149
|
<p class="adventure-hub__eyebrow">{{ t('chessimalsAdventureEyebrow') }}</p>
|
|
140
150
|
<h1 class="adventure-hub__title">{{ t('chessimalsAdventureTitle') }}</h1>
|
|
141
151
|
<p class="adventure-hub__subtitle">{{ t('chessimalsAdventureSubtitle') }}</p>
|
|
@@ -155,7 +165,17 @@ export class ChessimalsAdventureComponent {
|
|
|
155
165
|
}"
|
|
156
166
|
>
|
|
157
167
|
<div class="adventure-act__head">
|
|
158
|
-
<
|
|
168
|
+
<div
|
|
169
|
+
class="adventure-act__head-bg"
|
|
170
|
+
[style.background-image]="'url(' + actBgSrc(actView.act.id) + ')'"
|
|
171
|
+
></div>
|
|
172
|
+
<img
|
|
173
|
+
class="adventure-act__icon"
|
|
174
|
+
[src]="actAssetSrc(actView.act.id)"
|
|
175
|
+
alt=""
|
|
176
|
+
aria-hidden="true"
|
|
177
|
+
loading="lazy"
|
|
178
|
+
/>
|
|
159
179
|
<div class="adventure-act__meta">
|
|
160
180
|
<h2 class="adventure-act__name">{{ t(actView.act.titleKey) }}</h2>
|
|
161
181
|
<p class="adventure-act__desc">{{ t(actView.act.descriptionKey) }}</p>
|
|
@@ -192,7 +212,12 @@ export class ChessimalsAdventureComponent {
|
|
|
192
212
|
loading="lazy"
|
|
193
213
|
/>
|
|
194
214
|
} @else {
|
|
195
|
-
<
|
|
215
|
+
<img
|
|
216
|
+
class="adventure-node__icon-img"
|
|
217
|
+
[src]="nodeAssetSrc(nodeView.node.type)"
|
|
218
|
+
[alt]="t(nodeView.node.titleKey)"
|
|
219
|
+
loading="lazy"
|
|
220
|
+
/>
|
|
196
221
|
}
|
|
197
222
|
<span class="adventure-node__label">{{ t(nodeView.node.titleKey) }}</span>
|
|
198
223
|
<span class="adventure-node__stars">
|
|
@@ -228,7 +253,11 @@ export class ChessimalsAdventureComponent {
|
|
|
228
253
|
[alt]="t(enc.node.titleKey)"
|
|
229
254
|
/>
|
|
230
255
|
} @else {
|
|
231
|
-
<
|
|
256
|
+
<img
|
|
257
|
+
class="adventure-encounter__icon-img"
|
|
258
|
+
[src]="nodeAssetSrc(enc.node.type)"
|
|
259
|
+
[alt]="t(enc.node.titleKey)"
|
|
260
|
+
/>
|
|
232
261
|
}
|
|
233
262
|
<div class="adventure-encounter__info">
|
|
234
263
|
<span class="adventure-encounter__name">{{ t(enc.node.titleKey) }}</span>
|
|
@@ -245,7 +274,7 @@ export class ChessimalsAdventureComponent {
|
|
|
245
274
|
</button>
|
|
246
275
|
</div>
|
|
247
276
|
}
|
|
248
|
-
`, isInline: true, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__back{justify-self:start;border:1px solid rgba(var(--chessimals-primary-rgb),.16);border-radius:999px;padding:.45rem .72rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-size:.85rem;font-weight:950;cursor:pointer}.adventure-hub__header{padding:
|
|
277
|
+
`, isInline: true, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__back{justify-self:start;border:1px solid rgba(var(--chessimals-primary-rgb),.16);border-radius:999px;padding:.45rem .72rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-size:.85rem;font-weight:950;cursor:pointer}.adventure-hub__hero{width:100%;aspect-ratio:16 / 7;object-fit:cover;border-radius:1rem;display:block;margin-bottom:.25rem}.adventure-hub__header{padding:0 0 .5rem;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chessimals-muted);margin:0 0 .375rem}.adventure-hub__title{font-size:clamp(1.5rem,5vw,2rem);font-weight:800;margin:0 0 .375rem;color:var(--chessimals-text);line-height:1.1}.adventure-hub__subtitle{font-size:.875rem;color:var(--chessimals-muted);margin:0 0 .75rem;line-height:1.4}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--chessimals-magic)}.adventure-hub__stars ion-icon{color:var(--chessimals-magic);font-size:1rem}.adventure-hub__acts{display:grid;gap:.875rem}.adventure-act{border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);overflow:hidden}.adventure-act--locked{opacity:.55}.adventure-act--done{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-act__head{position:relative;display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--chessimals-border);overflow:hidden}.adventure-act__head-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;pointer-events:none}.adventure-act__icon{width:2.5rem;height:2.5rem;object-fit:contain;flex-shrink:0;position:relative}.adventure-act__meta{flex:1;min-width:0;position:relative}.adventure-act__name{font-size:.9375rem;font-weight:700;margin:0 0 2px;color:var(--chessimals-text)}.adventure-act__desc{font-size:.8125rem;color:var(--chessimals-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--chessimals-muted);font-size:1.125rem;flex-shrink:0;position:relative}.adventure-act__progress{font-size:.8125rem;font-weight:700;color:var(--chessimals-muted);flex-shrink:0;position:relative}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:.5rem;padding:.75rem}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem .375rem .625rem;border-radius:1rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.62),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.06),rgba(var(--chessimals-secondary-rgb),.04)),var(--chessimals-panel);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden;font:inherit;color:inherit}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:rgba(var(--chessimals-primary-rgb),.6);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),rgba(var(--chessimals-secondary-rgb),.07)),var(--chessimals-panel)}.adventure-node--completed{border-color:rgba(var(--chessimals-selected-rgb),.5);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.08),rgba(var(--chessimals-primary-rgb),.04)),var(--chessimals-panel)}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-node--available .adventure-node__avatar{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-node--completed .adventure-node__avatar{border-color:rgba(var(--chessimals-selected-rgb),.5)}.adventure-node__icon-img{width:2.5rem;height:2.5rem;object-fit:contain;flex-shrink:0}.adventure-node__label{font-size:.75rem;font-weight:700;color:var(--chessimals-text);line-height:1.2;overflow-wrap:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.625rem;color:var(--chessimals-muted)}.adventure-node__star--filled{color:var(--chessimals-magic)}.adventure-node__badge{display:inline-block;font-size:.5625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a5200;background:#f7d45abf;border:1px solid rgba(247,212,90,.9);border-radius:.375rem;padding:1px 5px;line-height:1.5}.adventure-act__lore{margin:0;padding:.5rem 1rem .625rem;font-size:.8125rem;font-style:italic;color:var(--chessimals-muted);line-height:1.5;border-bottom:1px solid var(--chessimals-border);opacity:.88}.adventure-encounter__backdrop{position:fixed;inset:0;z-index:20;background:#00000061;animation:adv-fade-in .18s ease}.adventure-encounter{position:fixed;bottom:0;left:0;right:0;z-index:21;background:var(--chessimals-panel);border-top:1px solid var(--chessimals-border);border-radius:1.25rem 1.25rem 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.875rem;animation:adv-slide-up .22s cubic-bezier(.34,1.3,.64,1);max-width:480px;margin:0 auto}.adventure-encounter__close{position:absolute;top:1rem;right:1rem;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:50%;width:2rem;height:2rem;font-size:.8rem;color:var(--chessimals-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit}.adventure-encounter__rival{display:flex;align-items:center;gap:.75rem}.adventure-encounter__avatar{width:3.25rem;height:3.25rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-encounter__icon-img{width:3.25rem;height:3.25rem;object-fit:contain;flex-shrink:0}.adventure-encounter__info{display:flex;flex-direction:column;gap:.25rem}.adventure-encounter__name{font-size:1rem;font-weight:800;color:var(--chessimals-text);line-height:1.2}.adventure-encounter__boss-chip{display:inline-block;font-size:.5625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a5200;background:#f7d45abf;border:1px solid rgba(247,212,90,.9);border-radius:.375rem;padding:1px 5px;line-height:1.5;align-self:flex-start}.adventure-encounter__quote{margin:0;font-size:.9375rem;font-style:italic;color:var(--chessimals-text);line-height:1.5;padding:.625rem .875rem;background:var(--chessimals-surface);border-left:3px solid rgba(var(--chessimals-primary-rgb),.5);border-radius:0 .5rem .5rem 0}.adventure-encounter__play{width:100%;padding:.875rem;border-radius:999px;border:none;background:var(--chessimals-primary);color:#fff;font:inherit;font-size:.9375rem;font-weight:800;cursor:pointer;transition:opacity .12s ease}.adventure-encounter__play:active{opacity:.82}@keyframes adv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes adv-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
249
278
|
}
|
|
250
279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsAdventureComponent, decorators: [{
|
|
251
280
|
type: Component,
|
|
@@ -256,6 +285,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
256
285
|
</button>
|
|
257
286
|
|
|
258
287
|
<header class="adventure-hub__header">
|
|
288
|
+
<img
|
|
289
|
+
class="adventure-hub__hero"
|
|
290
|
+
src="assets/games/chessimals/adventure/adventure-hero.png"
|
|
291
|
+
alt=""
|
|
292
|
+
aria-hidden="true"
|
|
293
|
+
loading="lazy"
|
|
294
|
+
/>
|
|
259
295
|
<p class="adventure-hub__eyebrow">{{ t('chessimalsAdventureEyebrow') }}</p>
|
|
260
296
|
<h1 class="adventure-hub__title">{{ t('chessimalsAdventureTitle') }}</h1>
|
|
261
297
|
<p class="adventure-hub__subtitle">{{ t('chessimalsAdventureSubtitle') }}</p>
|
|
@@ -275,7 +311,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
275
311
|
}"
|
|
276
312
|
>
|
|
277
313
|
<div class="adventure-act__head">
|
|
278
|
-
<
|
|
314
|
+
<div
|
|
315
|
+
class="adventure-act__head-bg"
|
|
316
|
+
[style.background-image]="'url(' + actBgSrc(actView.act.id) + ')'"
|
|
317
|
+
></div>
|
|
318
|
+
<img
|
|
319
|
+
class="adventure-act__icon"
|
|
320
|
+
[src]="actAssetSrc(actView.act.id)"
|
|
321
|
+
alt=""
|
|
322
|
+
aria-hidden="true"
|
|
323
|
+
loading="lazy"
|
|
324
|
+
/>
|
|
279
325
|
<div class="adventure-act__meta">
|
|
280
326
|
<h2 class="adventure-act__name">{{ t(actView.act.titleKey) }}</h2>
|
|
281
327
|
<p class="adventure-act__desc">{{ t(actView.act.descriptionKey) }}</p>
|
|
@@ -312,7 +358,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
312
358
|
loading="lazy"
|
|
313
359
|
/>
|
|
314
360
|
} @else {
|
|
315
|
-
<
|
|
361
|
+
<img
|
|
362
|
+
class="adventure-node__icon-img"
|
|
363
|
+
[src]="nodeAssetSrc(nodeView.node.type)"
|
|
364
|
+
[alt]="t(nodeView.node.titleKey)"
|
|
365
|
+
loading="lazy"
|
|
366
|
+
/>
|
|
316
367
|
}
|
|
317
368
|
<span class="adventure-node__label">{{ t(nodeView.node.titleKey) }}</span>
|
|
318
369
|
<span class="adventure-node__stars">
|
|
@@ -348,7 +399,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
348
399
|
[alt]="t(enc.node.titleKey)"
|
|
349
400
|
/>
|
|
350
401
|
} @else {
|
|
351
|
-
<
|
|
402
|
+
<img
|
|
403
|
+
class="adventure-encounter__icon-img"
|
|
404
|
+
[src]="nodeAssetSrc(enc.node.type)"
|
|
405
|
+
[alt]="t(enc.node.titleKey)"
|
|
406
|
+
/>
|
|
352
407
|
}
|
|
353
408
|
<div class="adventure-encounter__info">
|
|
354
409
|
<span class="adventure-encounter__name">{{ t(enc.node.titleKey) }}</span>
|
|
@@ -365,6 +420,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
365
420
|
</button>
|
|
366
421
|
</div>
|
|
367
422
|
}
|
|
368
|
-
`, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__back{justify-self:start;border:1px solid rgba(var(--chessimals-primary-rgb),.16);border-radius:999px;padding:.45rem .72rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-size:.85rem;font-weight:950;cursor:pointer}.adventure-hub__header{padding:
|
|
423
|
+
`, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__back{justify-self:start;border:1px solid rgba(var(--chessimals-primary-rgb),.16);border-radius:999px;padding:.45rem .72rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-size:.85rem;font-weight:950;cursor:pointer}.adventure-hub__hero{width:100%;aspect-ratio:16 / 7;object-fit:cover;border-radius:1rem;display:block;margin-bottom:.25rem}.adventure-hub__header{padding:0 0 .5rem;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chessimals-muted);margin:0 0 .375rem}.adventure-hub__title{font-size:clamp(1.5rem,5vw,2rem);font-weight:800;margin:0 0 .375rem;color:var(--chessimals-text);line-height:1.1}.adventure-hub__subtitle{font-size:.875rem;color:var(--chessimals-muted);margin:0 0 .75rem;line-height:1.4}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--chessimals-magic)}.adventure-hub__stars ion-icon{color:var(--chessimals-magic);font-size:1rem}.adventure-hub__acts{display:grid;gap:.875rem}.adventure-act{border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);overflow:hidden}.adventure-act--locked{opacity:.55}.adventure-act--done{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-act__head{position:relative;display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--chessimals-border);overflow:hidden}.adventure-act__head-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;pointer-events:none}.adventure-act__icon{width:2.5rem;height:2.5rem;object-fit:contain;flex-shrink:0;position:relative}.adventure-act__meta{flex:1;min-width:0;position:relative}.adventure-act__name{font-size:.9375rem;font-weight:700;margin:0 0 2px;color:var(--chessimals-text)}.adventure-act__desc{font-size:.8125rem;color:var(--chessimals-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--chessimals-muted);font-size:1.125rem;flex-shrink:0;position:relative}.adventure-act__progress{font-size:.8125rem;font-weight:700;color:var(--chessimals-muted);flex-shrink:0;position:relative}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:.5rem;padding:.75rem}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem .375rem .625rem;border-radius:1rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.62),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.06),rgba(var(--chessimals-secondary-rgb),.04)),var(--chessimals-panel);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden;font:inherit;color:inherit}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:rgba(var(--chessimals-primary-rgb),.6);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),rgba(var(--chessimals-secondary-rgb),.07)),var(--chessimals-panel)}.adventure-node--completed{border-color:rgba(var(--chessimals-selected-rgb),.5);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.08),rgba(var(--chessimals-primary-rgb),.04)),var(--chessimals-panel)}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-node--available .adventure-node__avatar{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-node--completed .adventure-node__avatar{border-color:rgba(var(--chessimals-selected-rgb),.5)}.adventure-node__icon-img{width:2.5rem;height:2.5rem;object-fit:contain;flex-shrink:0}.adventure-node__label{font-size:.75rem;font-weight:700;color:var(--chessimals-text);line-height:1.2;overflow-wrap:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.625rem;color:var(--chessimals-muted)}.adventure-node__star--filled{color:var(--chessimals-magic)}.adventure-node__badge{display:inline-block;font-size:.5625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a5200;background:#f7d45abf;border:1px solid rgba(247,212,90,.9);border-radius:.375rem;padding:1px 5px;line-height:1.5}.adventure-act__lore{margin:0;padding:.5rem 1rem .625rem;font-size:.8125rem;font-style:italic;color:var(--chessimals-muted);line-height:1.5;border-bottom:1px solid var(--chessimals-border);opacity:.88}.adventure-encounter__backdrop{position:fixed;inset:0;z-index:20;background:#00000061;animation:adv-fade-in .18s ease}.adventure-encounter{position:fixed;bottom:0;left:0;right:0;z-index:21;background:var(--chessimals-panel);border-top:1px solid var(--chessimals-border);border-radius:1.25rem 1.25rem 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.875rem;animation:adv-slide-up .22s cubic-bezier(.34,1.3,.64,1);max-width:480px;margin:0 auto}.adventure-encounter__close{position:absolute;top:1rem;right:1rem;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:50%;width:2rem;height:2rem;font-size:.8rem;color:var(--chessimals-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit}.adventure-encounter__rival{display:flex;align-items:center;gap:.75rem}.adventure-encounter__avatar{width:3.25rem;height:3.25rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-encounter__icon-img{width:3.25rem;height:3.25rem;object-fit:contain;flex-shrink:0}.adventure-encounter__info{display:flex;flex-direction:column;gap:.25rem}.adventure-encounter__name{font-size:1rem;font-weight:800;color:var(--chessimals-text);line-height:1.2}.adventure-encounter__boss-chip{display:inline-block;font-size:.5625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a5200;background:#f7d45abf;border:1px solid rgba(247,212,90,.9);border-radius:.375rem;padding:1px 5px;line-height:1.5;align-self:flex-start}.adventure-encounter__quote{margin:0;font-size:.9375rem;font-style:italic;color:var(--chessimals-text);line-height:1.5;padding:.625rem .875rem;background:var(--chessimals-surface);border-left:3px solid rgba(var(--chessimals-primary-rgb),.5);border-radius:0 .5rem .5rem 0}.adventure-encounter__play{width:100%;padding:.875rem;border-radius:999px;border:none;background:var(--chessimals-primary);color:#fff;font:inherit;font-size:.9375rem;font-weight:800;cursor:pointer;transition:opacity .12s ease}.adventure-encounter__play:active{opacity:.82}@keyframes adv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes adv-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"] }]
|
|
369
424
|
}], ctorParameters: () => [] });
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NoZXNzaW1hbHMtYWR2ZW50dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBc0I3RixNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDO0FBNGtCdEQsTUFBTSxPQUFPLDRCQUE0QjtJQTBDdkM7UUF6Q2lCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FB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QUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDaEQsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDO2FBQy9CO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7K0dBN0hVLDRCQUE0QjttR0FBNUIsNEJBQTRCLG9GQXRrQjdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9IVCx5dFBBckhTLE9BQU8sb0ZBQWEsT0FBTzs7NEZBdWtCMUIsNEJBQTRCO2tCQTFrQnhDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQzVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9IVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNSU5JX0dBTUVTX0kxOE4gfSBmcm9tICcuL21pbmktZ2FtZXMuaTE4bic7XG5pbXBvcnQge1xuICBDSEVTU0lNQUxTX0FEVkVOVFVSRV9BQ1RTLFxuICBhZHZlbnR1cmVBY3RJc1VubG9ja2VkLFxuICBhZHZlbnR1cmVOb2RlSXNBdmFpbGFibGUsXG59IGZyb20gJy4vY2hlc3NpbWFscy1hZHZlbnR1cmUtZGF0YSc7XG5pbXBvcnQgeyBDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3NTZXJ2aWNlIH0gZnJvbSAnLi9jaGVzc2ltYWxzLWFkdmVudHVyZS1wcm9ncmVzcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENoZXNzaW1hbHNBZHZlbnR1cmVBY3QsXG4gIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlLFxuICBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cyxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzLFxufSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIEFkdmVudHVyZU5vZGVWaWV3IHtcbiAgbm9kZTogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVTdGF0dXM7XG4gIHN0YXJzOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBBZHZlbnR1cmVBY3RWaWV3IHtcbiAgYWN0OiBDaGVzc2ltYWxzQWR2ZW50dXJlQWN0O1xuICB1bmxvY2tlZDogYm9vbGVhbjtcbiAgbm9kZXM6IEFkdmVudHVyZU5vZGVWaWV3W107XG4gIGNvbXBsZXRlZENvdW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbn1cblxuY29uc3QgQURWRU5UVVJFX1JPVVRFX0JBU0UgPSAnL21pbmktZ2FtZXMvY2hlc3NpbWFscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLWFkdmVudHVyZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fYmFja1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAge3sgdCgnY2hlc3NpbWFsc0JhY2tUb01lbnUnKSB9fVxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19oZWFkZXJcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19leWVicm93XCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZUV5ZWJyb3cnKSB9fTwvcD5cbiAgICAgICAgPGgxIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fdGl0bGVcIj57eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlVGl0bGUnKSB9fTwvaDE+XG4gICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fc3VidGl0bGVcIj57eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlU3VidGl0bGUnKSB9fTwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1odWJfX3N0YXJzXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzdGFyXCIgLz5cbiAgICAgICAgICA8c3Bhbj57eyB0b3RhbFN0YXJzKCkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19hY3RzXCI+XG4gICAgICAgIEBmb3IgKGFjdFZpZXcgb2YgYWN0Vmlld3MoKTsgdHJhY2sgYWN0Vmlldy5hY3QuaWQpIHtcbiAgICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtYWN0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2FkdmVudHVyZS1hY3QtLWxvY2tlZCc6ICFhY3RWaWV3LnVubG9ja2VkLFxuICAgICAgICAgICAgICAnYWR2ZW50dXJlLWFjdC0tZG9uZSc6IGFjdFZpZXcuY29tcGxldGVkQ291bnQgPT09IGFjdFZpZXcudG90YWxDb3VudCAmJiBhY3RWaWV3LnVubG9ja2VkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX2hlYWRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19lbW9qaVwiPnt7IGFjdFZpZXcuYWN0LmVtb2ppIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbWV0YVwiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX25hbWVcIj57eyB0KGFjdFZpZXcuYWN0LnRpdGxlS2V5KSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19kZXNjXCI+e3sgdChhY3RWaWV3LmFjdC5kZXNjcmlwdGlvbktleSkgfX08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFhY3RWaWV3LnVubG9ja2VkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2NrLWNsb3NlZC1vdXRsaW5lXCIgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19sb2NrXCIgLz5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19wcm9ncmVzc1wiPiB7eyBhY3RWaWV3LmNvbXBsZXRlZENvdW50IH19L3t7IGFjdFZpZXcudG90YWxDb3VudCB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChhY3RWaWV3LnVubG9ja2VkICYmIGFjdFZpZXcuYWN0LmxvcmVLZXkpIHtcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19sb3JlXCI+e3sgdChhY3RWaWV3LmFjdC5sb3JlS2V5KSB9fTwvcD5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChhY3RWaWV3LnVubG9ja2VkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19ub2Rlc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG5vZGVWaWV3IG9mIGFjdFZpZXcubm9kZXM7IHRyYWNrIG5vZGVWaWV3Lm5vZGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYWR2ZW50dXJlLW5vZGUtLWF2YWlsYWJsZSc6IG5vZGVWaWV3LnN0YXR1cyA9PT0gJ2F2YWlsYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgJ2FkdmVudHVyZS1ub2RlLS1jb21wbGV0ZWQnOiBub2RlVmlldy5zdGF0dXMgPT09ICdjb21wbGV0ZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICdhZHZlbnR1cmUtbm9kZS0tbG9ja2VkJzogbm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJyxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlVmlldy5zdGF0dXMgPT09ICdsb2NrZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZVRhcChub2RlVmlldylcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnByb2ZpbGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImF2YXRhclNyYyhub2RlVmlldy5ub2RlLnByb2ZpbGVJZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ0KG5vZGVWaWV3Lm5vZGUudGl0bGVLZXkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19pY29uXCI+e3sgbm9kZUljb24obm9kZVZpZXcubm9kZS50eXBlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19sYWJlbFwiPnt7IHQobm9kZVZpZXcubm9kZS50aXRsZUtleSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoaSBvZiBbMCwgMSwgMl07IHRyYWNrIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJub2RlVmlldy5zdGFycyA+IGkgPyAnc3RhcicgOiAnc3Rhci1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhZHZlbnR1cmUtbm9kZV9fc3Rhci0tZmlsbGVkJzogbm9kZVZpZXcuc3RhcnMgPiBpIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdib3NzJykge1xuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX2JhZGdlXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZUJvc3MnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzZWxlY3RlZE5vZGUoKTsgYXMgZW5jKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fYmFja2Ryb3BcIiAoY2xpY2spPVwiZGlzbWlzc0VuY291bnRlcigpXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fY2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImRpc21pc3NFbmNvdW50ZXIoKVwiPuKclTwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fcml2YWxcIj5cbiAgICAgICAgICBAaWYgKGVuYy5ub2RlLnByb2ZpbGVJZCkge1xuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2F2YXRhclwiXG4gICAgICAgICAgICAgIFtzcmNdPVwiYXZhdGFyU3JjKGVuYy5ub2RlLnByb2ZpbGVJZClcIlxuICAgICAgICAgICAgICBbYWx0XT1cInQoZW5jLm5vZGUudGl0bGVLZXkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2ljb25cIj57eyBub2RlSWNvbihlbmMubm9kZS50eXBlKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2luZm9cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fbmFtZVwiPnt7IHQoZW5jLm5vZGUudGl0bGVLZXkpIH19PC9zcGFuPlxuICAgICAgICAgICAgQGlmIChlbmMubm9kZS50eXBlID09PSAnYm9zcycpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZHZlbnR1cmUtZW5jb3VudGVyX19ib3NzLWNoaXBcIj57eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlQm9zcycpIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChlbmMubm9kZS5xdW90ZUtleSkge1xuICAgICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fcXVvdGVcIj5cInt7IHQoZW5jLm5vZGUucXVvdGVLZXkpIH19XCI8L3A+XG4gICAgICAgIH1cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX3BsYXlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNvbmZpcm1QbGF5KClcIj5cbiAgICAgICAgICB7eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlQ2hhbGxlbmdlJykgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC8qIOKUgOKUgCBDaGVzc2ltYWxzIHRva2VucyDigJQgaWTDqW50aWNvcyBhIC5jaGVzc2ltYWxzLXNoZWxsIGRlbCBnYW1lIOKUgOKUgCAqL1xuICAgICAgOmhvc3Qge1xuICAgICAgICAtLWNoZXNzaW1hbHMtcGFuZWw6ICNmZmZmZmY7XG4gICAgICAgIC0tY2hlc3NpbWFscy1zdXJmYWNlOiAjZmZmYWYxO1xuICAgICAgICAtLWNoZXNzaW1hbHMtYm9yZGVyOiByZ2JhKDQ2LCA1OCwgNDQsIDAuMTgpO1xuICAgICAgICAtLWNoZXNzaW1hbHMtdGV4dDogIzJlM2EyYztcbiAgICAgICAgLS1jaGVzc2ltYWxzLW11dGVkOiAjNTE2NDNkO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc29mdDogcmdiYSgxMTEsIDEyMiwgNjAsIDAuMSk7XG4gICAgICAgIC0tY2hlc3NpbWFscy1wcmltYXJ5OiAjMmU2ZjNlO1xuICAgICAgICAtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2I6IDQ2LCAxMTEsIDYyO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc2Vjb25kYXJ5OiAjYThhMDZhO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc2Vjb25kYXJ5LXJnYjogMTY4LCAxNjAsIDEwNjtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlbGVjdGVkOiAjMzdmMjhhO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc2VsZWN0ZWQtcmdiOiA1NSwgMjQyLCAxMzg7XG4gICAgICAgIC0tY2hlc3NpbWFscy1tYWdpYzogI2Y3ZDQ1YTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLW1hZ2ljLXJnYjogMjQ3LCAyMTIsIDkwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEuMTI1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBtaW4oMTAwJSwgNjByZW0pO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIC0tY2hlc3NpbWFscy1wYW5lbDogIzE3MjExNjtcbiAgICAgICAgICAtLWNoZXNzaW1hbHMtc3VyZmFjZTogIzBmMTcwZjtcbiAgICAgICAgICAtLWNoZXNzaW1hbHMtYm9yZGVyOiByZ2JhKDI0MiwgMjMwLCAyMTMsIDAuMik7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLXRleHQ6ICNmNmYzZTk7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLW11dGVkOiAjYzhjZmIxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBCYWNrIGxpbmsg4oCUIG1pc21vIGVzdGlsbyBxdWUgLmNoZXNzaW1hbHMtYmFjay1saW5rIGVuIGVsIGdhbWUg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLWh1Yl9fYmFjayB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMTYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogMC40NXJlbSAwLjcycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXBhbmVsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgSGVhZGVyIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX2V5ZWJyb3cge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA1dncsIDJyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjM3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW1hZ2ljKTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3N0YXJzIGlvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbWFnaWMpO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBBY3RzIOKAlCBncmlkIGNvbHVtbiAoaGVyZWRhIGdhcCBkZWwgOmhvc3QpIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2FjdHMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAuODc1cmVtO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQWN0IGNhcmQg4oCUIGlndWFsIHF1ZSAuY2hlc3NpbWFscy1vcHRpb25zIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXBhbmVsKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3QtLWxvY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0LS1kb25lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDFyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19lbW9qaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX21ldGEge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDJweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX2xvY2sge1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3Mge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIE5vZGVzIGdyaWQg4oCUIG1pbm1heCgwLCAxZnIpIHByZXZpZW5lIG92ZXJmbG93IOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3RfX25vZGVzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIE5vZGUgY2FyZCDigJQgbWlzbW8gcGF0csOzbiBxdWUgLmNoZXNzaW1hbHMtaG9tZS1hY3Rpb24g4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC4zNzVyZW0gMC42MjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTglIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYyKSwgdHJhbnNwYXJlbnQgMjIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAxMzVkZWcsXG4gICAgICAgICAgICByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjA2KSxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1zZWNvbmRhcnktcmdiKSwgMC4wNClcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhcigtLWNoZXNzaW1hbHMtcGFuZWwpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICB0cmFuc2Zvcm0gMC4xMnMgZWFzZSxcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4xMnMgZWFzZTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlOmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tYXZhaWxhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjYpO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTglIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc0KSwgdHJhbnNwYXJlbnQgMjIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAxMzVkZWcsXG4gICAgICAgICAgICByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjEyKSxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1zZWNvbmRhcnktcmdiKSwgMC4wNylcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhcigtLWNoZXNzaW1hbHMtcGFuZWwpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWNvbXBsZXRlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYiksIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpLCB0cmFuc3BhcmVudCAyMiUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1zZWxlY3RlZC1yZ2IpLCAwLjA4KSxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMDQpXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YXIoLS1jaGVzc2ltYWxzLXBhbmVsKTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlLS1sb2NrZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEF2YXRhciDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIuNzVyZW07XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmlsdGVyOiB2YXIoLS1jaGVzc2ltYWxzLWFuaW1hbC1mYWNlLWZpbHRlciwgbm9uZSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoZXNzaW1hbHMtYW5pbWFsLWZhY2UtYmcsICNmZmZkZjcpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWF2YWlsYWJsZSAuYWR2ZW50dXJlLW5vZGVfX2F2YXRhciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC41KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlLS1jb21wbGV0ZWQgLmFkdmVudHVyZS1ub2RlX19hdmF0YXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY2hlc3NpbWFscy1zZWxlY3RlZC1yZ2IpLCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgRW1vamkgKGRlc2NhbnNvL21pc3RlcmlvKSDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIExhYmVsIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIFN0YXJzIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXB4O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX3N0YXIge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fc3Rhci0tZmlsbGVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbWFnaWMpO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQm9zcyBjaGlwIOKAlCBpbmxpbmUgZW4gZWwgZmxvdyBkZWwgbm9kbyDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzdhNTIwMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDIxMiwgOTAsIDAuNzUpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NywgMjEyLCA5MCwgMC45KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBBY3QgbG9yZSDigJQgcGFycmFmbyBuYXJyYXRpdm8gYmFqbyBlbCBlbmNhYmV6YWRvIGRlbCBhY3RvIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3RfX2xvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIG9wYWNpdHk6IDAuODg7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBFbmNvdW50ZXIgcGFuZWwg4oCUIGZpam8gZW4gbGEgcGFydGUgaW5mZXJpb3Ig4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fYmFja2Ryb3Age1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgICAgICAgYW5pbWF0aW9uOiBhZHYtZmFkZS1pbiAwLjE4cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMjE7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoZXNzaW1hbHMtcGFuZWwpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtIDEuMjVyZW0gMCAwO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gY2FsYygxLjI1cmVtICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjg3NXJlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBhZHYtc2xpZGUtdXAgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuMywgMC42NCwgMSk7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoZXNzaW1hbHMtc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoZXNzaW1hbHMtYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fcml2YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMy4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmaWx0ZXI6IHZhcigtLWNoZXNzaW1hbHMtYW5pbWFsLWZhY2UtZmlsdGVyLCBub25lKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1hbmltYWwtZmFjZS1iZywgI2ZmZmRmNyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19ib3NzLWNoaXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzdhNTIwMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDIxMiwgOTAsIDAuNzUpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NywgMjEyLCA5MCwgMC45KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19xdW90ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC41cmVtIDAuNXJlbSAwO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fcGxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjg3NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMnMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX3BsYXk6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMC44MjtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBhZHYtZmFkZS1pbiB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBhZHYtc2xpZGUtdXAge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNBZHZlbnR1cmVDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHByb2dyZXNzU2VydmljZSA9IGluamVjdChDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3MgPSB0b1NpZ25hbDxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3MgfCB1bmRlZmluZWQ+KHRoaXMucHJvZ3Jlc3NTZXJ2aWNlLndhdGNoUHJvZ3Jlc3MoKSwge1xuICAgIGluaXRpYWxWYWx1ZTogdW5kZWZpbmVkLFxuICB9KTtcblxuICByZWFkb25seSBzZWxlY3RlZEFjdElkID0gc2lnbmFsPHN0cmluZz4oJ2FjdDEnKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWROb2RlID0gc2lnbmFsPEFkdmVudHVyZU5vZGVWaWV3IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgdG90YWxTdGFycyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvZ3Jlc3MoKT8udG90YWxTdGFycyA/PyAwKTtcblxuICByZWFkb25seSBhY3RWaWV3cyA9IGNvbXB1dGVkPEFkdmVudHVyZUFjdFZpZXdbXT4oKCkgPT4ge1xuICAgIGNvbnN0IHByb2cgPSB0aGlzLnByb2dyZXNzKCk7XG4gICAgY29uc3QgY29tcGxldGVkID0gcHJvZz8uY29tcGxldGVkTm9kZXMgPz8ge307XG4gICAgcmV0dXJuIENIRVNTSU1BTFNfQURWRU5UVVJFX0FDVFMubWFwKGFjdCA9PiB7XG4gICAgICBjb25zdCB1bmxvY2tlZCA9IGFkdmVudHVyZUFjdElzVW5sb2NrZWQoYWN0LmlkLCBjb21wbGV0ZWQpO1xuICAgICAgY29uc3Qgbm9kZXM6IEFkdmVudHVyZU5vZGVWaWV3W10gPSBhY3Qubm9kZXMubWFwKG5vZGUgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjb21wbGV0ZWRbbm9kZS5pZF07XG4gICAgICAgIGxldCBzdGF0dXM6IENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlU3RhdHVzO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgc3RhdHVzID0gJ2NvbXBsZXRlZCc7XG4gICAgICAgIH0gZWxzZSBpZiAoIXVubG9ja2VkIHx8ICFhZHZlbnR1cmVOb2RlSXNBdmFpbGFibGUobm9kZS5pZCwgY29tcGxldGVkKSkge1xuICAgICAgICAgIHN0YXR1cyA9ICdsb2NrZWQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXR1cyA9ICdhdmFpbGFibGUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IG5vZGUsIHN0YXR1cywgc3RhcnM6IHJlc3VsdD8uc3RhcnMgPz8gMCB9O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY3QsXG4gICAgICAgIHVubG9ja2VkLFxuICAgICAgICBub2RlcyxcbiAgICAgICAgY29tcGxldGVkQ291bnQ6IG5vZGVzLmZpbHRlcihuID0+IG4uc3RhdHVzID09PSAnY29tcGxldGVkJykubGVuZ3RoLFxuICAgICAgICB0b3RhbENvdW50OiBub2Rlcy5sZW5ndGgsXG4gICAgICB9O1xuICAgIH0pO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ01pbmlHYW1lcycpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KCdNaW5pR2FtZXMnLCBNSU5JX0dBTUVTX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdNaW5pR2FtZXMnKTtcbiAgfVxuXG4gIGF2YXRhclNyYyhwcm9maWxlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhc3NldHMvZ2FtZXMvY2hlc3NpbWFscy9jaGFsbGVuZ2UtYXZhdGFycy8ke3Byb2ZpbGVJZH0ucG5nYDtcbiAgfVxuXG4gIG5vZGVJY29uKHR5cGU6IENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlWyd0eXBlJ10pOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnYmF0dGxlJzpcbiAgICAgICAgcmV0dXJuICfimpTvuI8nO1xuICAgICAgY2FzZSAnYm9zcyc6XG4gICAgICAgIHJldHVybiAn8J+SgCc7XG4gICAgICBjYXNlICdyZXN0JzpcbiAgICAgICAgcmV0dXJuICfwn4+V77iPJztcbiAgICAgIGNhc2UgJ215c3RlcnknOlxuICAgICAgICByZXR1cm4gJ+Kdkyc7XG4gICAgfVxuICB9XG5cbiAgb25Ob2RlVGFwKG5vZGVWaWV3OiBBZHZlbnR1cmVOb2RlVmlldyk6IHZvaWQge1xuICAgIGlmIChub2RlVmlldy5zdGF0dXMgPT09ICdsb2NrZWQnKSByZXR1cm47XG4gICAgaWYgKG5vZGVWaWV3Lm5vZGUudHlwZSA9PT0gJ3Jlc3QnKSB7XG4gICAgICB0aGlzLm9uUmVzdFRhcChub2RlVmlldyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdteXN0ZXJ5Jykge1xuICAgICAgdGhpcy5vbk15c3RlcnlUYXAobm9kZVZpZXcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZXQobm9kZVZpZXcpO1xuICB9XG5cbiAgZGlzbWlzc0VuY291bnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZXQobnVsbCk7XG4gIH1cblxuICBjb25maXJtUGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBub2RlVmlldyA9IHRoaXMuc2VsZWN0ZWROb2RlKCk7XG4gICAgaWYgKCFub2RlVmlldykgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0ZWROb2RlLnNldChudWxsKTtcbiAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlKFtBRFZFTlRVUkVfUk9VVEVfQkFTRV0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIGFkdmVudHVyZU5vZGU6IG5vZGVWaWV3Lm5vZGUuaWQsXG4gICAgICAgIHByb2ZpbGVJZDogbm9kZVZpZXcubm9kZS5wcm9maWxlSWQsXG4gICAgICAgIGRpZmZpY3VsdHk6IG5vZGVWaWV3Lm5vZGUuZGlmZmljdWx0eSxcbiAgICAgICAgYm9hcmRTaXplOiBub2RlVmlldy5ub2RlLmJvYXJkU2l6ZSA/PyA2LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZXN0VGFwKG5vZGVWaWV3OiBBZHZlbnR1cmVOb2RlVmlldyk6IHZvaWQge1xuICAgIGlmIChub2RlVmlldy5zdGF0dXMgPT09ICdjb21wbGV0ZWQnKSByZXR1cm47XG4gICAgdm9pZCB0aGlzLnByb2dyZXNzU2VydmljZS5yZWNvcmROb2RlQ29tcGxldGVkKG5vZGVWaWV3Lm5vZGUuaWQsIDEpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdjaGVzc2ltYWxzQWR2ZW50dXJlUmVzdERvbmUnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDI1MDAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTXlzdGVyeVRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBjb25zdCBhY3QgPSBDSEVTU0lNQUxTX0FEVkVOVFVSRV9BQ1RTLmZpbmQoYSA9PiBhLmlkID09PSBub2RlVmlldy5ub2RlLmFjdElkKTtcbiAgICBjb25zdCBiYXR0bGVOb2RlcyA9IGFjdD8ubm9kZXMuZmlsdGVyKG4gPT4gbi50eXBlID09PSAnYmF0dGxlJyAmJiBuLnByb2ZpbGVJZCkgPz8gW107XG4gICAgaWYgKCFiYXR0bGVOb2Rlcy5sZW5ndGgpIHJldHVybjtcbiAgICBjb25zdCBwaWNrID0gYmF0dGxlTm9kZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYmF0dGxlTm9kZXMubGVuZ3RoKV07XG4gICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdjaGVzc2ltYWxzQWR2ZW50dXJlTXlzdGVyeVJldmVhbCcpLCBjb2xvcjogJ2RhcmsnLCBkdXJhdGlvbjogMjAwMCB9KTtcbiAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlKFtBRFZFTlRVUkVfUk9VVEVfQkFTRV0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIGFkdmVudHVyZU5vZGU6IG5vZGVWaWV3Lm5vZGUuaWQsXG4gICAgICAgIHByb2ZpbGVJZDogcGljay5wcm9maWxlSWQsXG4gICAgICAgIGRpZmZpY3VsdHk6IHBpY2suZGlmZmljdWx0eSxcbiAgICAgICAgYm9hcmRTaXplOiBwaWNrLmJvYXJkU2l6ZSA/PyA2LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGdvQmFjaygpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9taW5pLWdhbWVzL2NoZXNzaW1hbHMnKS5jYXRjaCgoKSA9PiB1bmRlZmluZWQpO1xuICB9XG59XG4iXX0=
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NoZXNzaW1hbHMtYWR2ZW50dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBc0I3RixNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDO0FBcW9CdEQsTUFBTSxPQUFPLDRCQUE0QjtJQTBDdkM7UUF6Q2lCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNSU5JX0dBTUVTX0kxOE4gfSBmcm9tICcuL21pbmktZ2FtZXMuaTE4bic7XG5pbXBvcnQge1xuICBDSEVTU0lNQUxTX0FEVkVOVFVSRV9BQ1RTLFxuICBhZHZlbnR1cmVBY3RJc1VubG9ja2VkLFxuICBhZHZlbnR1cmVOb2RlSXNBdmFpbGFibGUsXG59IGZyb20gJy4vY2hlc3NpbWFscy1hZHZlbnR1cmUtZGF0YSc7XG5pbXBvcnQgeyBDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3NTZXJ2aWNlIH0gZnJvbSAnLi9jaGVzc2ltYWxzLWFkdmVudHVyZS1wcm9ncmVzcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENoZXNzaW1hbHNBZHZlbnR1cmVBY3QsXG4gIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlLFxuICBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cyxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzLFxufSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIEFkdmVudHVyZU5vZGVWaWV3IHtcbiAgbm9kZTogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVTdGF0dXM7XG4gIHN0YXJzOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBBZHZlbnR1cmVBY3RWaWV3IHtcbiAgYWN0OiBDaGVzc2ltYWxzQWR2ZW50dXJlQWN0O1xuICB1bmxvY2tlZDogYm9vbGVhbjtcbiAgbm9kZXM6IEFkdmVudHVyZU5vZGVWaWV3W107XG4gIGNvbXBsZXRlZENvdW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbn1cblxuY29uc3QgQURWRU5UVVJFX1JPVVRFX0JBU0UgPSAnL21pbmktZ2FtZXMvY2hlc3NpbWFscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLWFkdmVudHVyZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fYmFja1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAge3sgdCgnY2hlc3NpbWFsc0JhY2tUb01lbnUnKSB9fVxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19oZWFkZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9faGVyb1wiXG4gICAgICAgICAgc3JjPVwiYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvYWR2ZW50dXJlL2FkdmVudHVyZS1oZXJvLnBuZ1wiXG4gICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19leWVicm93XCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZUV5ZWJyb3cnKSB9fTwvcD5cbiAgICAgICAgPGgxIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fdGl0bGVcIj57eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlVGl0bGUnKSB9fTwvaDE+XG4gICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fc3VidGl0bGVcIj57eyB0KCdjaGVzc2ltYWxzQWR2ZW50dXJlU3VidGl0bGUnKSB9fTwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1odWJfX3N0YXJzXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzdGFyXCIgLz5cbiAgICAgICAgICA8c3Bhbj57eyB0b3RhbFN0YXJzKCkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19hY3RzXCI+XG4gICAgICAgIEBmb3IgKGFjdFZpZXcgb2YgYWN0Vmlld3MoKTsgdHJhY2sgYWN0Vmlldy5hY3QuaWQpIHtcbiAgICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtYWN0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2FkdmVudHVyZS1hY3QtLWxvY2tlZCc6ICFhY3RWaWV3LnVubG9ja2VkLFxuICAgICAgICAgICAgICAnYWR2ZW50dXJlLWFjdC0tZG9uZSc6IGFjdFZpZXcuY29tcGxldGVkQ291bnQgPT09IGFjdFZpZXcudG90YWxDb3VudCAmJiBhY3RWaWV3LnVubG9ja2VkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX2hlYWRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9faGVhZC1iZ1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgYWN0QmdTcmMoYWN0Vmlldy5hY3QuaWQpICsgJyknXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19pY29uXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImFjdEFzc2V0U3JjKGFjdFZpZXcuYWN0LmlkKVwiXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX21ldGFcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19uYW1lXCI+e3sgdChhY3RWaWV3LmFjdC50aXRsZUtleSkgfX08L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fZGVzY1wiPnt7IHQoYWN0Vmlldy5hY3QuZGVzY3JpcHRpb25LZXkpIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgQGlmICghYWN0Vmlldy51bmxvY2tlZCkge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9jay1jbG9zZWQtb3V0bGluZVwiIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbG9ja1wiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3NcIj4ge3sgYWN0Vmlldy5jb21wbGV0ZWRDb3VudCB9fS97eyBhY3RWaWV3LnRvdGFsQ291bnQgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoYWN0Vmlldy51bmxvY2tlZCAmJiBhY3RWaWV3LmFjdC5sb3JlS2V5KSB7XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbG9yZVwiPnt7IHQoYWN0Vmlldy5hY3QubG9yZUtleSkgfX08L3A+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoYWN0Vmlldy51bmxvY2tlZCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbm9kZXNcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChub2RlVmlldyBvZiBhY3RWaWV3Lm5vZGVzOyB0cmFjayBub2RlVmlldy5ub2RlLmlkKSB7XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgJ2FkdmVudHVyZS1ub2RlLS1hdmFpbGFibGUnOiBub2RlVmlldy5zdGF0dXMgPT09ICdhdmFpbGFibGUnLFxuICAgICAgICAgICAgICAgICAgICAgICdhZHZlbnR1cmUtbm9kZS0tY29tcGxldGVkJzogbm9kZVZpZXcuc3RhdHVzID09PSAnY29tcGxldGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAnYWR2ZW50dXJlLW5vZGUtLWxvY2tlZCc6IG5vZGVWaWV3LnN0YXR1cyA9PT0gJ2xvY2tlZCcsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5vZGVUYXAobm9kZVZpZXcpXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobm9kZVZpZXcubm9kZS5wcm9maWxlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19hdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJhdmF0YXJTcmMobm9kZVZpZXcubm9kZS5wcm9maWxlSWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwidChub2RlVmlldy5ub2RlLnRpdGxlS2V5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZV9faWNvbi1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJub2RlQXNzZXRTcmMobm9kZVZpZXcubm9kZS50eXBlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cInQobm9kZVZpZXcubm9kZS50aXRsZUtleSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZHZlbnR1cmUtbm9kZV9fbGFiZWxcIj57eyB0KG5vZGVWaWV3Lm5vZGUudGl0bGVLZXkpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19zdGFyc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGkgb2YgWzAsIDEsIDJdOyB0cmFjayBpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibm9kZVZpZXcuc3RhcnMgPiBpID8gJ3N0YXInIDogJ3N0YXItb3V0bGluZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19zdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWR2ZW50dXJlLW5vZGVfX3N0YXItLWZpbGxlZCc6IG5vZGVWaWV3LnN0YXJzID4gaSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobm9kZVZpZXcubm9kZS50eXBlID09PSAnYm9zcycpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19iYWRnZVwiPnt7IHQoJ2NoZXNzaW1hbHNBZHZlbnR1cmVCb3NzJykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc2VsZWN0ZWROb2RlKCk7IGFzIGVuYykge1xuICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2JhY2tkcm9wXCIgKGNsaWNrKT1cImRpc21pc3NFbmNvdW50ZXIoKVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2Nsb3NlXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkaXNtaXNzRW5jb3VudGVyKClcIj7inJU8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX3JpdmFsXCI+XG4gICAgICAgICAgQGlmIChlbmMubm9kZS5wcm9maWxlSWQpIHtcbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtZW5jb3VudGVyX19hdmF0YXJcIlxuICAgICAgICAgICAgICBbc3JjXT1cImF2YXRhclNyYyhlbmMubm9kZS5wcm9maWxlSWQpXCJcbiAgICAgICAgICAgICAgW2FsdF09XCJ0KGVuYy5ub2RlLnRpdGxlS2V5KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX2ljb24taW1nXCJcbiAgICAgICAgICAgICAgW3NyY109XCJub2RlQXNzZXRTcmMoZW5jLm5vZGUudHlwZSlcIlxuICAgICAgICAgICAgICBbYWx0XT1cInQoZW5jLm5vZGUudGl0bGVLZXkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtZW5jb3VudGVyX19pbmZvXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX25hbWVcIj57eyB0KGVuYy5ub2RlLnRpdGxlS2V5KSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAoZW5jLm5vZGUudHlwZSA9PT0gJ2Jvc3MnKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWVuY291bnRlcl9fYm9zcy1jaGlwXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZUJvc3MnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoZW5jLm5vZGUucXVvdGVLZXkpIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImFkdmVudHVyZS1lbmNvdW50ZXJfX3F1b3RlXCI+XCJ7eyB0KGVuYy5ub2RlLnF1b3RlS2V5KSB9fVwiPC9wPlxuICAgICAgICB9XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhZHZlbnR1cmUtZW5jb3VudGVyX19wbGF5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjb25maXJtUGxheSgpXCI+XG4gICAgICAgICAge3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZUNoYWxsZW5nZScpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiDilIDilIAgQ2hlc3NpbWFscyB0b2tlbnMg4oCUIGlkw6ludGljb3MgYSAuY2hlc3NpbWFscy1zaGVsbCBkZWwgZ2FtZSDilIDilIAgKi9cbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXBhbmVsOiAjZmZmZmZmO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc3VyZmFjZTogI2ZmZmFmMTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLWJvcmRlcjogcmdiYSg0NiwgNTgsIDQ0LCAwLjE4KTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXRleHQ6ICMyZTNhMmM7XG4gICAgICAgIC0tY2hlc3NpbWFscy1tdXRlZDogIzUxNjQzZDtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNvZnQ6IHJnYmEoMTExLCAxMjIsIDYwLCAwLjEpO1xuICAgICAgICAtLWNoZXNzaW1hbHMtcHJpbWFyeTogIzJlNmYzZTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiOiA0NiwgMTExLCA2MjtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlY29uZGFyeTogI2E4YTA2YTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2I6IDE2OCwgMTYwLCAxMDY7XG4gICAgICAgIC0tY2hlc3NpbWFscy1zZWxlY3RlZDogIzM3ZjI4YTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYjogNTUsIDI0MiwgMTM4O1xuICAgICAgICAtLWNoZXNzaW1hbHMtbWFnaWM6ICNmN2Q0NWE7XG4gICAgICAgIC0tY2hlc3NpbWFscy1tYWdpYy1yZ2I6IDI0NywgMjEyLCA5MDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbWluKDEwMCUsIDYwcmVtKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLWNoZXNzaW1hbHMtcGFuZWw6ICMxNzIxMTY7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLXN1cmZhY2U6ICMwZjE3MGY7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLWJvcmRlcjogcmdiYSgyNDIsIDIzMCwgMjEzLCAwLjIpO1xuICAgICAgICAgIC0tY2hlc3NpbWFscy10ZXh0OiAjZjZmM2U5O1xuICAgICAgICAgIC0tY2hlc3NpbWFscy1tdXRlZDogI2M4Y2ZiMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQmFjayBsaW5rIOKAlCBtaXNtbyBlc3RpbG8gcXVlIC5jaGVzc2ltYWxzLWJhY2stbGluayBlbiBlbCBnYW1lIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2JhY2sge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjE2KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIHBhZGRpbmc6IDAuNDVyZW0gMC43MnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEhlcm8gYmFubmVyIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2hlcm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDc7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEhlYWRlciDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtaHViX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19leWVicm93IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzc1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWh1Yl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgNXZ3LCAycmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWh1Yl9fc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tYWdpYyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdGFycyBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW1hZ2ljKTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQWN0cyDigJQgZ3JpZCBjb2x1bW4gKGhlcmVkYSBnYXAgZGVsIDpob3N0KSDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtaHViX19hY3RzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEFjdCBjYXJkIOKAlCBpZ3VhbCBxdWUgLmNoZXNzaW1hbHMtb3B0aW9ucyDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtYWN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0LS1sb2NrZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdC0tZG9uZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC41KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX2hlYWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDFyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC8qIEFjdCBiYWNrZ3JvdW5kIOKAlCBzdWJ0aWwgYW1iaWVudCBsYXllciAqL1xuICAgICAgLmFkdmVudHVyZS1hY3RfX2hlYWQtYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuMTI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAvKiBBY3QgaWNvbiBpbWFnZSDigJQgcmVlbXBsYXphIGVtb2ppICovXG4gICAgICAuYWR2ZW50dXJlLWFjdF9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fbWV0YSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW46IDAgMCAycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19sb2NrIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3Mge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgTm9kZXMgZ3JpZCDigJQgbWlubWF4KDAsIDFmcikgcHJldmllbmUgb3ZlcmZsb3cg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fbm9kZXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgTm9kZSBjYXJkIOKAlCBtaXNtbyBwYXRyw7NuIHF1ZSAuY2hlc3NpbWFscy1ob21lLWFjdGlvbiDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjM3NXJlbSAwLjYyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC4yMik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjIpLCB0cmFuc3BhcmVudCAyMiUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMDYpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2IpLCAwLjA0KVxuICAgICAgICAgICksXG4gICAgICAgICAgdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjEycyBlYXNlLFxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjEycyBlYXNlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGU6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlLS1hdmFpbGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuNik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpLCB0cmFuc3BhcmVudCAyMiUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMTIpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2IpLCAwLjA3KVxuICAgICAgICAgICksXG4gICAgICAgICAgdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tY29tcGxldGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtc2VsZWN0ZWQtcmdiKSwgMC41KTtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDE4JSAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NCksIHRyYW5zcGFyZW50IDIyJSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTM1ZGVnLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYiksIDAuMDgpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC4wNClcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhcigtLWNoZXNzaW1hbHMtcGFuZWwpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWxvY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQXZhdGFyIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMi43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmaWx0ZXI6IHZhcigtLWNoZXNzaW1hbHMtYW5pbWFsLWZhY2UtZmlsdGVyLCBub25lKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1hbmltYWwtZmFjZS1iZywgI2ZmZmRmNyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tYXZhaWxhYmxlIC5hZHZlbnR1cmUtbm9kZV9fYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWNvbXBsZXRlZCAuYWR2ZW50dXJlLW5vZGVfX2F2YXRhciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYiksIDAuNSk7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBOb2RlIGljb24gaW1hZ2UgKGRlc2NhbnNvL21pc3RlcmlvKSDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9faWNvbi1pbWcge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBMYWJlbCDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBTdGFycyDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fc3RhcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFweDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlX19zdGFyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX3N0YXItLWZpbGxlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW1hZ2ljKTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEJvc3MgY2hpcCDigJQgaW5saW5lIGVuIGVsIGZsb3cgZGVsIG5vZG8g4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX2JhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICM3YTUyMDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyMTIsIDkwLCAwLjc1KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDcsIDIxMiwgOTAsIDAuOSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQWN0IGxvcmUg4oCUIHBhcnJhZm8gbmFycmF0aXZvIGJham8gZWwgZW5jYWJlemFkbyBkZWwgYWN0byDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19sb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBvcGFjaXR5OiAwLjg4O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgRW5jb3VudGVyIHBhbmVsIOKAlCBmaWpvIGVuIGxhIHBhcnRlIGluZmVyaW9yIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX2JhY2tkcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gICAgICAgIGFuaW1hdGlvbjogYWR2LWZhZGUtaW4gMC4xOHMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDIxO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXBhbmVsKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNoZXNzaW1hbHMtYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbSAxLjI1cmVtIDAgMDtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIGNhbGMoMS4yNXJlbSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC44NzVyZW07XG4gICAgICAgIGFuaW1hdGlvbjogYWR2LXNsaWRlLXVwIDAuMjJzIGN1YmljLWJlemllcigwLjM0LCAxLjMsIDAuNjQsIDEpO1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX2Nsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX3JpdmFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDMuMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY2hlc3NpbWFscy1ib3JkZXIpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmlsdGVyOiB2YXIoLS1jaGVzc2ltYWxzLWFuaW1hbC1mYWNlLWZpbHRlciwgbm9uZSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoZXNzaW1hbHMtYW5pbWFsLWZhY2UtYmcsICNmZmZkZjcpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9faWNvbi1pbWcge1xuICAgICAgICB3aWR0aDogMy4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX2luZm8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy10ZXh0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX2Jvc3MtY2hpcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjN2E1MjAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjEyLCA5MCwgMC43NSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ3LCAyMTIsIDkwLCAwLjkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1lbmNvdW50ZXJfX3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy10ZXh0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoZXNzaW1hbHMtc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC41KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwLjVyZW0gMC41cmVtIDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtZW5jb3VudGVyX19wbGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWVuY291bnRlcl9fcGxheTphY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAwLjgyO1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGFkdi1mYWRlLWluIHtcbiAgICAgICAgZnJvbSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGFkdi1zbGlkZS11cCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NTZXJ2aWNlID0gaW5qZWN0KENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9ncmVzcyA9IHRvU2lnbmFsPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcyB8IHVuZGVmaW5lZD4odGhpcy5wcm9ncmVzc1NlcnZpY2Uud2F0Y2hQcm9ncmVzcygpLCB7XG4gICAgaW5pdGlhbFZhbHVlOiB1bmRlZmluZWQsXG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkQWN0SWQgPSBzaWduYWw8c3RyaW5nPignYWN0MScpO1xuICByZWFkb25seSBzZWxlY3RlZE5vZGUgPSBzaWduYWw8QWR2ZW50dXJlTm9kZVZpZXcgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSB0b3RhbFN0YXJzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9ncmVzcygpPy50b3RhbFN0YXJzID8/IDApO1xuXG4gIHJlYWRvbmx5IGFjdFZpZXdzID0gY29tcHV0ZWQ8QWR2ZW50dXJlQWN0Vmlld1tdPigoKSA9PiB7XG4gICAgY29uc3QgcHJvZyA9IHRoaXMucHJvZ3Jlc3MoKTtcbiAgICBjb25zdCBjb21wbGV0ZWQgPSBwcm9nPy5jb21wbGV0ZWROb2RlcyA/PyB7fTtcbiAgICByZXR1cm4gQ0hFU1NJTUFMU19BRFZFTlRVUkVfQUNUUy5tYXAoYWN0ID0+IHtcbiAgICAgIGNvbnN0IHVubG9ja2VkID0gYWR2ZW50dXJlQWN0SXNVbmxvY2tlZChhY3QuaWQsIGNvbXBsZXRlZCk7XG4gICAgICBjb25zdCBub2RlczogQWR2ZW50dXJlTm9kZVZpZXdbXSA9IGFjdC5ub2Rlcy5tYXAobm9kZSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBsZXRlZFtub2RlLmlkXTtcbiAgICAgICAgbGV0IHN0YXR1czogQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVTdGF0dXM7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICBzdGF0dXMgPSAnY29tcGxldGVkJztcbiAgICAgICAgfSBlbHNlIGlmICghdW5sb2NrZWQgfHwgIWFkdmVudHVyZU5vZGVJc0F2YWlsYWJsZShub2RlLmlkLCBjb21wbGV0ZWQpKSB7XG4gICAgICAgICAgc3RhdHVzID0gJ2xvY2tlZCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdHVzID0gJ2F2YWlsYWJsZSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgbm9kZSwgc3RhdHVzLCBzdGFyczogcmVzdWx0Py5zdGFycyA/PyAwIH07XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjdCxcbiAgICAgICAgdW5sb2NrZWQsXG4gICAgICAgIG5vZGVzLFxuICAgICAgICBjb21wbGV0ZWRDb3VudDogbm9kZXMuZmlsdGVyKG4gPT4gbi5zdGF0dXMgPT09ICdjb21wbGV0ZWQnKS5sZW5ndGgsXG4gICAgICAgIHRvdGFsQ291bnQ6IG5vZGVzLmxlbmd0aCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZSgnTWluaUdhbWVzJykpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ01pbmlHYW1lcycpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBBRFZfQUNUX1RIRU1FUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBhY3QxOiAnc2F2YW5uYScsXG4gICAgYWN0MjogJ2p1bmdsZScsXG4gICAgYWN0MzogJ2FyY3RpYycsXG4gICAgYWN0NDogJ2NvbGlzZXVtJyxcbiAgfTtcblxuICBhdmF0YXJTcmMocHJvZmlsZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvY2hhbGxlbmdlLWF2YXRhcnMvJHtwcm9maWxlSWR9LnBuZ2A7XG4gIH1cblxuICBhY3RBc3NldFNyYyhhY3RJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGFzc2V0cy9nYW1lcy9jaGVzc2ltYWxzL2FkdmVudHVyZS9hY3RzLyR7dGhpcy5BRFZfQUNUX1RIRU1FU1thY3RJZF0gPz8gYWN0SWR9LnBuZ2A7XG4gIH1cblxuICBhY3RCZ1NyYyhhY3RJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGFzc2V0cy9nYW1lcy9jaGVzc2ltYWxzL2FkdmVudHVyZS9iYWNrZ3JvdW5kcy8ke3RoaXMuQURWX0FDVF9USEVNRVNbYWN0SWRdID8/IGFjdElkfS5wbmdgO1xuICB9XG5cbiAgbm9kZUFzc2V0U3JjKHR5cGU6IENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlWyd0eXBlJ10pOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvYWR2ZW50dXJlL25vZGVzLyR7dHlwZX0ucG5nYDtcbiAgfVxuXG4gIG9uTm9kZVRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJykgcmV0dXJuO1xuICAgIGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdyZXN0Jykge1xuICAgICAgdGhpcy5vblJlc3RUYXAobm9kZVZpZXcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobm9kZVZpZXcubm9kZS50eXBlID09PSAnbXlzdGVyeScpIHtcbiAgICAgIHRoaXMub25NeXN0ZXJ5VGFwKG5vZGVWaWV3KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZE5vZGUuc2V0KG5vZGVWaWV3KTtcbiAgfVxuXG4gIGRpc21pc3NFbmNvdW50ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGUuc2V0KG51bGwpO1xuICB9XG5cbiAgY29uZmlybVBsYXkoKTogdm9pZCB7XG4gICAgY29uc3Qgbm9kZVZpZXcgPSB0aGlzLnNlbGVjdGVkTm9kZSgpO1xuICAgIGlmICghbm9kZVZpZXcpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZXQobnVsbCk7XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IG5vZGVWaWV3Lm5vZGUucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBub2RlVmlldy5ub2RlLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogbm9kZVZpZXcubm9kZS5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVzdFRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnY29tcGxldGVkJykgcmV0dXJuO1xuICAgIHZvaWQgdGhpcy5wcm9ncmVzc1NlcnZpY2UucmVjb3JkTm9kZUNvbXBsZXRlZChub2RlVmlldy5ub2RlLmlkLCAxKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZVJlc3REb25lJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyNTAwIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk15c3RlcnlUYXAobm9kZVZpZXc6IEFkdmVudHVyZU5vZGVWaWV3KTogdm9pZCB7XG4gICAgY29uc3QgYWN0ID0gQ0hFU1NJTUFMU19BRFZFTlRVUkVfQUNUUy5maW5kKGEgPT4gYS5pZCA9PT0gbm9kZVZpZXcubm9kZS5hY3RJZCk7XG4gICAgY29uc3QgYmF0dGxlTm9kZXMgPSBhY3Q/Lm5vZGVzLmZpbHRlcihuID0+IG4udHlwZSA9PT0gJ2JhdHRsZScgJiYgbi5wcm9maWxlSWQpID8/IFtdO1xuICAgIGlmICghYmF0dGxlTm9kZXMubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgcGljayA9IGJhdHRsZU5vZGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGJhdHRsZU5vZGVzLmxlbmd0aCldO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZU15c3RlcnlSZXZlYWwnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IHBpY2sucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBwaWNrLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogcGljay5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnb0JhY2soKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWluaS1nYW1lcy9jaGVzc2ltYWxzJykuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcbiAgfVxufVxuIl19
|