valtech-components 4.0.582 → 4.0.584
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-game.component.mjs +102 -2
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +5 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/mini-games/public-api.mjs +23 -6
- package/fesm2022/valtech-components-mini-games.mjs +22 -5
- package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
- package/fesm2022/valtech-components.mjs +105 -2
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +14 -2
- package/lib/version.d.ts +1 -1
- package/mini-games/public-api.d.ts +7 -0
- package/package.json +1 -1
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.584';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41ODQnO1xuIl19
|
|
@@ -243,12 +243,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
243
243
|
}]
|
|
244
244
|
}] });
|
|
245
245
|
export class ChessimalsGamePageComponent {
|
|
246
|
+
constructor() {
|
|
247
|
+
this.route = inject(ActivatedRoute);
|
|
248
|
+
}
|
|
249
|
+
get adventureParams() {
|
|
250
|
+
const p = this.route.snapshot.queryParamMap;
|
|
251
|
+
const nodeId = p.get('adventureNode') ?? '';
|
|
252
|
+
if (!nodeId)
|
|
253
|
+
return undefined;
|
|
254
|
+
return {
|
|
255
|
+
nodeId,
|
|
256
|
+
profileId: (p.get('profileId') ??
|
|
257
|
+
'explorer'),
|
|
258
|
+
difficulty: (p.get('difficulty') ??
|
|
259
|
+
'normal'),
|
|
260
|
+
boardSize: Number(p.get('boardSize') ?? 6),
|
|
261
|
+
};
|
|
262
|
+
}
|
|
246
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
264
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChessimalsGamePageComponent, isStandalone: true, selector: "val-chessimals-game-page", ngImport: i0, template: `
|
|
248
265
|
<val-mini-game-page-shell>
|
|
249
|
-
<val-chessimals-game />
|
|
266
|
+
<val-chessimals-game [adventureNode]="adventureParams" />
|
|
250
267
|
</val-mini-game-page-shell>
|
|
251
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
268
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
252
269
|
}
|
|
253
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, decorators: [{
|
|
254
271
|
type: Component,
|
|
@@ -258,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
258
275
|
imports: [ChessimalsGameComponent, MiniGamePageShellComponent],
|
|
259
276
|
template: `
|
|
260
277
|
<val-mini-game-page-shell>
|
|
261
|
-
<val-chessimals-game />
|
|
278
|
+
<val-chessimals-game [adventureNode]="adventureParams" />
|
|
262
279
|
</val-mini-game-page-shell>
|
|
263
280
|
`,
|
|
264
281
|
}]
|
|
@@ -273,7 +290,7 @@ export class ChessimalsOnlineGamePageComponent {
|
|
|
273
290
|
<val-mini-game-page-shell>
|
|
274
291
|
<val-chessimals-game [onlineGameId]="gameId" />
|
|
275
292
|
</val-mini-game-page-shell>
|
|
276
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
293
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
277
294
|
}
|
|
278
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsOnlineGamePageComponent, decorators: [{
|
|
279
296
|
type: Component,
|
|
@@ -298,7 +315,7 @@ export class ChessimalsProjectionGamePageComponent {
|
|
|
298
315
|
<val-mini-game-page-shell>
|
|
299
316
|
<val-chessimals-game [onlineGameId]="gameId" [projectionMode]="true" />
|
|
300
317
|
</val-mini-game-page-shell>
|
|
301
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
318
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
302
319
|
}
|
|
303
320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsProjectionGamePageComponent, decorators: [{
|
|
304
321
|
type: Component,
|
|
@@ -334,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
334
351
|
`,
|
|
335
352
|
}]
|
|
336
353
|
}] });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLG1CQUFtQixFQUVuQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBRXBCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDOztBQUU1QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvRCxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQztBQVk1QyxNQUFNLFVBQVUsNkJBQTZCLENBQUMsT0FBc0MsRUFBRTtJQUNwRixNQUFNLElBQUksR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFFMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDVixJQUFJO1lBQ0osV0FBVztZQUNYLFNBQVMsRUFBRSxzQkFBc0I7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFB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OUQsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7O0FBZ0JELE1BQU0sT0FBTyxxQ0FBcUM7SUFWbEQ7UUFXbUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEU7K0dBSFkscUNBQXFDO21HQUFyQyxxQ0FBcUMsK0ZBTnRDOzs7O0dBSVQsNERBTFMsdUJBQXVCLDhIQXpFN0IsMEJBQTBCOzs0RkFnRm5CLHFDQUFxQztrQkFWakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsMEJBQTBCLENBQUM7b0JBQzlELFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGOztBQWdCRCxNQUFNLE9BQU8sZ0NBQWdDOytHQUFoQyxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyx5RkFOakM7Ozs7R0FJVCw0REFMUyw0QkFBNEIscUVBeEZsQywwQkFBMEI7OzRGQStGbkIsZ0NBQWdDO2tCQVY1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDbkUsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBhdXRoR3VhcmQsXG4gIEJ1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsXG4gIEkxOG5TZXJ2aWNlLFxuICBNZW1vcnlHYW1lQ29tcG9uZW50LFxuICBNaW5pR2FtZURlZmluaXRpb24sXG4gIE1pbmlHYW1lc01lbnVDb21wb25lbnQsXG4gIFBhZ2VDb250ZW50Q29tcG9uZW50LFxuICBQYWdlQ29udGVudE1ldGFkYXRhLFxuICBTaW1vbkdhbWVDb21wb25lbnQsXG59IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5cbmV4cG9ydCB7IE1pbmlHYW1lQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5leHBvcnQgdHlwZSB7IE1pbmlHYW1lQ2FsbG91dE1ldGFkYXRhLCBNaW5pR2FtZUNhbGxvdXRWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbmV4cG9ydCB7IE1pbmlHYW1lU2NvcmVQb3BDb21wb25lbnQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuZXhwb3J0IHR5cGUgeyBNaW5pR2FtZVNjb3JlUG9wTWV0YWRhdGEsIE1pbmlHYW1lU2NvcmVQb3BWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcblxuY29uc3QgTUlOSV9HQU1FU19CQVNFX1JPVVRFID0gJy9taW5pLWdhbWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoTWluaUdhbWVzUm91dGVzT3B0aW9ucyB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNhbkFjdGl2YXRlPzogUm91dGVbJ2NhbkFjdGl2YXRlJ107XG4gIGluY2x1ZGVNZW51PzogYm9vbGVhbjtcbiAgaW5jbHVkZU1lbW9yeT86IGJvb2xlYW47XG4gIGluY2x1ZGVTaW1vbj86IGJvb2xlYW47XG4gIGluY2x1ZGVCdWJibGVCbGl0ej86IGJvb2xlYW47XG4gIGluY2x1ZGVDaGVzc2ltYWxzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoTWluaUdhbWVzUm91dGVzKG9wdHM6IFZhbHRlY2hNaW5pR2FtZXNSb3V0ZXNPcHRpb25zID0ge30pOiBSb3V0ZXMge1xuICBjb25zdCBwYXRoID0gbm9ybWFsaXplTWluaUdhbWVzUm91dGVQYXRoKG9wdHMucGF0aCA/PyAnbWluaS1nYW1lcycpO1xuICBjb25zdCBjYW5BY3RpdmF0ZSA9IG9wdHMuY2FuQWN0aXZhdGUgPz8gW2F1dGhHdWFyZF07XG4gIGNvbnN0IHJvdXRlczogUm91dGVzID0gW107XG5cbiAgaWYgKG9wdHMuaW5jbHVkZU1lbnUgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGgsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWluaUdhbWVzUGFnZUNvbXBvbmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLmluY2x1ZGVNZW1vcnkgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L21lbW9yeWAsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWVtb3J5R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlU2ltb24gPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L3NpbW9uYCxcbiAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgY29tcG9uZW50OiBTaW1vbkdhbWVQYWdlQ29tcG9uZW50LFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMuaW5jbHVkZUJ1YmJsZUJsaXR6ID8/IHRydWUpIHtcbiAgICByb3V0ZXMucHVzaCh7XG4gICAgICBwYXRoOiBgJHtwYXRofS9idWJibGUtYmxpdHpgLFxuICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICBjb21wb25lbnQ6IEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlQ2hlc3NpbWFscyA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHMvYWR2ZW50dXJlYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0FkdmVudHVyZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWQvcHJvamVjdGlvbmAsXG4gICAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgICBjb21wb25lbnQ6IENoZXNzaW1hbHNQcm9qZWN0aW9uR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWRgLFxuICAgICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgICAgY29tcG9uZW50OiBDaGVzc2ltYWxzT25saW5lR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0dhbWVQYWdlQ29tcG9uZW50LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVNaW5pR2FtZXNSb3V0ZVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgJycpIHx8ICdtaW5pLWdhbWVzJztcbn1cblxuY29uc3QgTUlOSV9HQU1FU19QQUdFX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMgY29uIG11c2ljYSB5IGVmZWN0b3MgcmV0cm8uJyxcbiAgICBzaW1vblRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG1hcyBsYXJnb3MuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1cmJ1amEgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUmV2aWVudGEgZ3J1cG9zIGRlIGJ1cmJ1amFzIHkgZW5jYWRlbmEgY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnQ2FycmVyYSBkZSBwZW9uZXMgY29uIGNhcnRhcyBkZSBhbmltYWxlcy4nLFxuICB9LFxuICBlbjoge1xuICAgIG1lbW9yeVRpdGxlOiAnUmV0cm8gTWVtb3J5JyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0ZpbmQgbWF0Y2hpbmcgcGFpcnMgd2l0aCByZXRybyBtdXNpYyBhbmQgZWZmZWN0cy4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGVhdCBsaWdodHMgYW5kIHNvdW5kcyBpbiBsb25nZXIgc2VxdWVuY2VzLicsXG4gICAgYnViYmxlVGl0bGU6ICdCdWJibGUgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUG9wIGJ1YmJsZSBncm91cHMgYW5kIGNoYWluIGNvbWJvcy4nLFxuICAgIGNoZXNzaW1hbHNUaXRsZTogJ0NoZXNzaW1hbHMnLFxuICAgIGNoZXNzaW1hbHNEZXNjcmlwdGlvbjogJ1Bhd24gcmFjZSB3aXRoIGFuaW1hbCBwb3dlciBjYXJkcy4nLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZXMtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNaW5pR2FtZXNNZW51Q29tcG9uZW50LCBQYWdlQ29udGVudENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1wYWdlLWNvbnRlbnQgW3Byb3BzXT1cInBhZ2VDb250ZW50UHJvcHNcIj5cbiAgICAgIDxzZWN0aW9uIGNvbnRlbnQgY2xhc3M9XCJtaW5pLWdhbWVzLXBhZ2VcIj5cbiAgICAgICAgPHZhbC1taW5pLWdhbWVzLW1lbnUgW2dhbWVzXT1cImdhbWVzXCIgW2FzTW9kYWxdPVwiZmFsc2VcIiAoc2VsZWN0ZWQpPVwib3BlbkdhbWUoJGV2ZW50KVwiIC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lcy1wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDMycHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUdhbWVzUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgcGFnZUNvbnRlbnRQcm9wczogUGFnZUNvbnRlbnRNZXRhZGF0YSA9IHtcbiAgICBob21lUm91dGU6ICcvJyxcbiAgICBjb250ZW50TWF4V2lkdGg6ICdtZCcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfUEFHRV9JMThOKTtcbiAgfVxuXG4gIGdldCBnYW1lcygpOiBNaW5pR2FtZURlZmluaXRpb25bXSB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ2NoZXNzaW1hbHMnLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdjaGVzc2ltYWxzVGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnY2hlc3NpbWFsc0Rlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfimZ/vuI8nLFxuICAgICAgICBpbWFnZVNyYzogJ2Fzc2V0cy9nYW1lcy9jaGVzc2ltYWxzL2JyYW5kL2NoZXNzaW1hbHMtZW1ibGVtLnBuZycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2NoZXNzaW1hbHNgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdidWJibGUtYmxpdHonLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdidWJibGVUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdidWJibGVEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+rpycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2J1YmJsZS1ibGl0emAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21lbW9yeScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ21lbW9yeVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ21lbW9yeURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6egJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vbWVtb3J5YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2ltb24nLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdzaW1vblRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ3NpbW9uRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/CfjpvvuI8nLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9zaW1vbmAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvcGVuR2FtZShnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoZ2FtZS5yb3V0ZSkgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGdhbWUucm91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZS1wYWdlLXNoZWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lLXBhZ2Utc2hlbGwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnQge1xuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogTUlOSV9HQU1FU19CQVNFX1JPVVRFLFxuICAgIGNvbnRlbnRNYXhXaWR0aDogJ21kJyxcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1lbW9yeS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWVtb3J5R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLW1lbW9yeS1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE1lbW9yeUdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zaW1vbi1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2ltb25HYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtc2ltb24tZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1vbkdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idWJibGUtYmxpdHotZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0J1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWJ1YmJsZS1ibGl0ei1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNHYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hlc3NpbWFscy1vbmxpbmUtZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFtvbmxpbmVHYW1lSWRdPVwiZ2FtZUlkXCIgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc09ubGluZUdhbWVQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJlYWRvbmx5IGdhbWVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdnYW1lSWQnKSA/PyAnJztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtcHJvamVjdGlvbi1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1jaGVzc2ltYWxzLWdhbWUgW29ubGluZUdhbWVJZF09XCJnYW1lSWRcIiBbcHJvamVjdGlvbk1vZGVdPVwidHJ1ZVwiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNQcm9qZWN0aW9uR2FtZVBhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgZ2FtZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2dhbWVJZCcpID8/ICcnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hlc3NpbWFscy1hZHZlbnR1cmUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzQWR2ZW50dXJlQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1hZHZlbnR1cmUgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0FkdmVudHVyZVBhZ2VDb21wb25lbnQge31cbiJdfQ==
|
|
354
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLG1CQUFtQixFQUVuQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBRXBCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDOztBQUU1QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvRCxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQztBQVk1QyxNQUFNLFVBQVUsNkJBQTZCLENBQUMsT0FBc0MsRUFBRTtJQUNwRixNQUFNLElBQUksR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFFMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDVixJQUFJO1lBQ0osV0FBVztZQUNYLFNBQVMsRUFBRSxzQkFBc0I7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFB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QUlUO2lCQUNGOztBQWdCRCxNQUFNLE9BQU8sZ0NBQWdDOytHQUFoQyxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyx5RkFOakM7Ozs7R0FJVCw0REFMUyw0QkFBNEIscUVBMUdsQywwQkFBMEI7OzRGQWlIbkIsZ0NBQWdDO2tCQVY1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDbkUsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBhdXRoR3VhcmQsXG4gIEJ1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsXG4gIEkxOG5TZXJ2aWNlLFxuICBNZW1vcnlHYW1lQ29tcG9uZW50LFxuICBNaW5pR2FtZURlZmluaXRpb24sXG4gIE1pbmlHYW1lc01lbnVDb21wb25lbnQsXG4gIFBhZ2VDb250ZW50Q29tcG9uZW50LFxuICBQYWdlQ29udGVudE1ldGFkYXRhLFxuICBTaW1vbkdhbWVDb21wb25lbnQsXG59IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5cbmV4cG9ydCB7IE1pbmlHYW1lQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5leHBvcnQgdHlwZSB7IE1pbmlHYW1lQ2FsbG91dE1ldGFkYXRhLCBNaW5pR2FtZUNhbGxvdXRWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbmV4cG9ydCB7IE1pbmlHYW1lU2NvcmVQb3BDb21wb25lbnQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuZXhwb3J0IHR5cGUgeyBNaW5pR2FtZVNjb3JlUG9wTWV0YWRhdGEsIE1pbmlHYW1lU2NvcmVQb3BWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcblxuY29uc3QgTUlOSV9HQU1FU19CQVNFX1JPVVRFID0gJy9taW5pLWdhbWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoTWluaUdhbWVzUm91dGVzT3B0aW9ucyB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNhbkFjdGl2YXRlPzogUm91dGVbJ2NhbkFjdGl2YXRlJ107XG4gIGluY2x1ZGVNZW51PzogYm9vbGVhbjtcbiAgaW5jbHVkZU1lbW9yeT86IGJvb2xlYW47XG4gIGluY2x1ZGVTaW1vbj86IGJvb2xlYW47XG4gIGluY2x1ZGVCdWJibGVCbGl0ej86IGJvb2xlYW47XG4gIGluY2x1ZGVDaGVzc2ltYWxzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoTWluaUdhbWVzUm91dGVzKG9wdHM6IFZhbHRlY2hNaW5pR2FtZXNSb3V0ZXNPcHRpb25zID0ge30pOiBSb3V0ZXMge1xuICBjb25zdCBwYXRoID0gbm9ybWFsaXplTWluaUdhbWVzUm91dGVQYXRoKG9wdHMucGF0aCA/PyAnbWluaS1nYW1lcycpO1xuICBjb25zdCBjYW5BY3RpdmF0ZSA9IG9wdHMuY2FuQWN0aXZhdGUgPz8gW2F1dGhHdWFyZF07XG4gIGNvbnN0IHJvdXRlczogUm91dGVzID0gW107XG5cbiAgaWYgKG9wdHMuaW5jbHVkZU1lbnUgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGgsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWluaUdhbWVzUGFnZUNvbXBvbmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLmluY2x1ZGVNZW1vcnkgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L21lbW9yeWAsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWVtb3J5R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlU2ltb24gPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L3NpbW9uYCxcbiAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgY29tcG9uZW50OiBTaW1vbkdhbWVQYWdlQ29tcG9uZW50LFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMuaW5jbHVkZUJ1YmJsZUJsaXR6ID8/IHRydWUpIHtcbiAgICByb3V0ZXMucHVzaCh7XG4gICAgICBwYXRoOiBgJHtwYXRofS9idWJibGUtYmxpdHpgLFxuICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICBjb21wb25lbnQ6IEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlQ2hlc3NpbWFscyA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHMvYWR2ZW50dXJlYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0FkdmVudHVyZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWQvcHJvamVjdGlvbmAsXG4gICAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgICBjb21wb25lbnQ6IENoZXNzaW1hbHNQcm9qZWN0aW9uR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWRgLFxuICAgICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgICAgY29tcG9uZW50OiBDaGVzc2ltYWxzT25saW5lR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0dhbWVQYWdlQ29tcG9uZW50LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVNaW5pR2FtZXNSb3V0ZVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgJycpIHx8ICdtaW5pLWdhbWVzJztcbn1cblxuY29uc3QgTUlOSV9HQU1FU19QQUdFX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMgY29uIG11c2ljYSB5IGVmZWN0b3MgcmV0cm8uJyxcbiAgICBzaW1vblRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG1hcyBsYXJnb3MuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1cmJ1amEgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUmV2aWVudGEgZ3J1cG9zIGRlIGJ1cmJ1amFzIHkgZW5jYWRlbmEgY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnQ2FycmVyYSBkZSBwZW9uZXMgY29uIGNhcnRhcyBkZSBhbmltYWxlcy4nLFxuICB9LFxuICBlbjoge1xuICAgIG1lbW9yeVRpdGxlOiAnUmV0cm8gTWVtb3J5JyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0ZpbmQgbWF0Y2hpbmcgcGFpcnMgd2l0aCByZXRybyBtdXNpYyBhbmQgZWZmZWN0cy4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGVhdCBsaWdodHMgYW5kIHNvdW5kcyBpbiBsb25nZXIgc2VxdWVuY2VzLicsXG4gICAgYnViYmxlVGl0bGU6ICdCdWJibGUgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUG9wIGJ1YmJsZSBncm91cHMgYW5kIGNoYWluIGNvbWJvcy4nLFxuICAgIGNoZXNzaW1hbHNUaXRsZTogJ0NoZXNzaW1hbHMnLFxuICAgIGNoZXNzaW1hbHNEZXNjcmlwdGlvbjogJ1Bhd24gcmFjZSB3aXRoIGFuaW1hbCBwb3dlciBjYXJkcy4nLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZXMtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNaW5pR2FtZXNNZW51Q29tcG9uZW50LCBQYWdlQ29udGVudENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1wYWdlLWNvbnRlbnQgW3Byb3BzXT1cInBhZ2VDb250ZW50UHJvcHNcIj5cbiAgICAgIDxzZWN0aW9uIGNvbnRlbnQgY2xhc3M9XCJtaW5pLWdhbWVzLXBhZ2VcIj5cbiAgICAgICAgPHZhbC1taW5pLWdhbWVzLW1lbnUgW2dhbWVzXT1cImdhbWVzXCIgW2FzTW9kYWxdPVwiZmFsc2VcIiAoc2VsZWN0ZWQpPVwib3BlbkdhbWUoJGV2ZW50KVwiIC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lcy1wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDMycHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUdhbWVzUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgcGFnZUNvbnRlbnRQcm9wczogUGFnZUNvbnRlbnRNZXRhZGF0YSA9IHtcbiAgICBob21lUm91dGU6ICcvJyxcbiAgICBjb250ZW50TWF4V2lkdGg6ICdtZCcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfUEFHRV9JMThOKTtcbiAgfVxuXG4gIGdldCBnYW1lcygpOiBNaW5pR2FtZURlZmluaXRpb25bXSB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ2NoZXNzaW1hbHMnLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdjaGVzc2ltYWxzVGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnY2hlc3NpbWFsc0Rlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfimZ/vuI8nLFxuICAgICAgICBpbWFnZVNyYzogJ2Fzc2V0cy9nYW1lcy9jaGVzc2ltYWxzL2JyYW5kL2NoZXNzaW1hbHMtZW1ibGVtLnBuZycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2NoZXNzaW1hbHNgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdidWJibGUtYmxpdHonLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdidWJibGVUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdidWJibGVEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+rpycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2J1YmJsZS1ibGl0emAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21lbW9yeScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ21lbW9yeVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ21lbW9yeURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6egJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vbWVtb3J5YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2ltb24nLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdzaW1vblRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ3NpbW9uRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/CfjpvvuI8nLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9zaW1vbmAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvcGVuR2FtZShnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoZ2FtZS5yb3V0ZSkgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGdhbWUucm91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZS1wYWdlLXNoZWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lLXBhZ2Utc2hlbGwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnQge1xuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogTUlOSV9HQU1FU19CQVNFX1JPVVRFLFxuICAgIGNvbnRlbnRNYXhXaWR0aDogJ21kJyxcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1lbW9yeS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWVtb3J5R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLW1lbW9yeS1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE1lbW9yeUdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zaW1vbi1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2ltb25HYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtc2ltb24tZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1vbkdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idWJibGUtYmxpdHotZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0J1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWJ1YmJsZS1ibGl0ei1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFthZHZlbnR1cmVOb2RlXT1cImFkdmVudHVyZVBhcmFtc1wiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNHYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gIGdldCBhZHZlbnR1cmVQYXJhbXMoKSB7XG4gICAgY29uc3QgcCA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcDtcbiAgICBjb25zdCBub2RlSWQgPSBwLmdldCgnYWR2ZW50dXJlTm9kZScpID8/ICcnO1xuICAgIGlmICghbm9kZUlkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICBub2RlSWQsXG4gICAgICBwcm9maWxlSWQ6IChwLmdldCgncHJvZmlsZUlkJykgPz9cbiAgICAgICAgJ2V4cGxvcmVyJykgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm90UHJvZmlsZUlkLFxuICAgICAgZGlmZmljdWx0eTogKHAuZ2V0KCdkaWZmaWN1bHR5JykgPz9cbiAgICAgICAgJ25vcm1hbCcpIGFzIGltcG9ydCgndmFsdGVjaC1jb21wb25lbnRzJykuQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHksXG4gICAgICBib2FyZFNpemU6IE51bWJlcihcbiAgICAgICAgcC5nZXQoJ2JvYXJkU2l6ZScpID8/IDZcbiAgICAgICkgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm9hcmRTaXplLFxuICAgIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtb25saW5lLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSBbb25saW5lR2FtZUlkXT1cImdhbWVJZFwiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNPbmxpbmVHYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBnYW1lSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ2FtZUlkJykgPz8gJyc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLXByb2plY3Rpb24tZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFtvbmxpbmVHYW1lSWRdPVwiZ2FtZUlkXCIgW3Byb2plY3Rpb25Nb2RlXT1cInRydWVcIiAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzUHJvamVjdGlvbkdhbWVQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJlYWRvbmx5IGdhbWVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdnYW1lSWQnKSA/PyAnJztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNBZHZlbnR1cmVQYWdlQ29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -243,12 +243,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
243
243
|
}]
|
|
244
244
|
}] });
|
|
245
245
|
class ChessimalsGamePageComponent {
|
|
246
|
+
constructor() {
|
|
247
|
+
this.route = inject(ActivatedRoute);
|
|
248
|
+
}
|
|
249
|
+
get adventureParams() {
|
|
250
|
+
const p = this.route.snapshot.queryParamMap;
|
|
251
|
+
const nodeId = p.get('adventureNode') ?? '';
|
|
252
|
+
if (!nodeId)
|
|
253
|
+
return undefined;
|
|
254
|
+
return {
|
|
255
|
+
nodeId,
|
|
256
|
+
profileId: (p.get('profileId') ??
|
|
257
|
+
'explorer'),
|
|
258
|
+
difficulty: (p.get('difficulty') ??
|
|
259
|
+
'normal'),
|
|
260
|
+
boardSize: Number(p.get('boardSize') ?? 6),
|
|
261
|
+
};
|
|
262
|
+
}
|
|
246
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
264
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChessimalsGamePageComponent, isStandalone: true, selector: "val-chessimals-game-page", ngImport: i0, template: `
|
|
248
265
|
<val-mini-game-page-shell>
|
|
249
|
-
<val-chessimals-game />
|
|
266
|
+
<val-chessimals-game [adventureNode]="adventureParams" />
|
|
250
267
|
</val-mini-game-page-shell>
|
|
251
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
268
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
252
269
|
}
|
|
253
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, decorators: [{
|
|
254
271
|
type: Component,
|
|
@@ -258,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
258
275
|
imports: [ChessimalsGameComponent, MiniGamePageShellComponent],
|
|
259
276
|
template: `
|
|
260
277
|
<val-mini-game-page-shell>
|
|
261
|
-
<val-chessimals-game />
|
|
278
|
+
<val-chessimals-game [adventureNode]="adventureParams" />
|
|
262
279
|
</val-mini-game-page-shell>
|
|
263
280
|
`,
|
|
264
281
|
}]
|
|
@@ -273,7 +290,7 @@ class ChessimalsOnlineGamePageComponent {
|
|
|
273
290
|
<val-mini-game-page-shell>
|
|
274
291
|
<val-chessimals-game [onlineGameId]="gameId" />
|
|
275
292
|
</val-mini-game-page-shell>
|
|
276
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
293
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
277
294
|
}
|
|
278
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsOnlineGamePageComponent, decorators: [{
|
|
279
296
|
type: Component,
|
|
@@ -298,7 +315,7 @@ class ChessimalsProjectionGamePageComponent {
|
|
|
298
315
|
<val-mini-game-page-shell>
|
|
299
316
|
<val-chessimals-game [onlineGameId]="gameId" [projectionMode]="true" />
|
|
300
317
|
</val-mini-game-page-shell>
|
|
301
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
318
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChessimalsGameComponent, selector: "val-chessimals-game", inputs: ["onlineGameId", "miniGamesRoute", "projectionMode", "adventureNode"] }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
|
|
302
319
|
}
|
|
303
320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsProjectionGamePageComponent, decorators: [{
|
|
304
321
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, Route, Router, Routes } from '@angular/router';\nimport {\n authGuard,\n BubbleBlitzGameComponent,\n ChessimalsAdventureComponent,\n ChessimalsGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nexport { MiniGameCalloutComponent } from 'valtech-components';\nexport type { MiniGameCalloutMetadata, MiniGameCalloutVariant } from 'valtech-components';\nexport { MiniGameScorePopComponent } from 'valtech-components';\nexport type { MiniGameScorePopMetadata, MiniGameScorePopVariant } from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nexport interface ValtechMiniGamesRoutesOptions {\n path?: string;\n canActivate?: Route['canActivate'];\n includeMenu?: boolean;\n includeMemory?: boolean;\n includeSimon?: boolean;\n includeBubbleBlitz?: boolean;\n includeChessimals?: boolean;\n}\n\nexport function provideValtechMiniGamesRoutes(opts: ValtechMiniGamesRoutesOptions = {}): Routes {\n const path = normalizeMiniGamesRoutePath(opts.path ?? 'mini-games');\n const canActivate = opts.canActivate ?? [authGuard];\n const routes: Routes = [];\n\n if (opts.includeMenu ?? true) {\n routes.push({\n path,\n canActivate,\n component: MiniGamesPageComponent,\n });\n }\n\n if (opts.includeMemory ?? true) {\n routes.push({\n path: `${path}/memory`,\n canActivate,\n component: MemoryGamePageComponent,\n });\n }\n\n if (opts.includeSimon ?? true) {\n routes.push({\n path: `${path}/simon`,\n canActivate,\n component: SimonGamePageComponent,\n });\n }\n\n if (opts.includeBubbleBlitz ?? true) {\n routes.push({\n path: `${path}/bubble-blitz`,\n canActivate,\n component: BubbleBlitzGamePageComponent,\n });\n }\n\n if (opts.includeChessimals ?? true) {\n routes.push(\n {\n path: `${path}/chessimals/adventure`,\n canActivate,\n component: ChessimalsAdventurePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId/projection`,\n canActivate,\n component: ChessimalsProjectionGamePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId`,\n canActivate,\n component: ChessimalsOnlineGamePageComponent,\n },\n {\n path: `${path}/chessimals`,\n canActivate,\n component: ChessimalsGamePageComponent,\n }\n );\n }\n\n return routes;\n}\n\nfunction normalizeMiniGamesRoutePath(path: string): string {\n return path.replace(/^\\/+|\\/+$/g, '') || 'mini-games';\n}\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/brand/chessimals-emblem.png',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-adventure-page',\n standalone: true,\n imports: [ChessimalsAdventureComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-adventure />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsAdventurePageComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, Route, Router, Routes } from '@angular/router';\nimport {\n authGuard,\n BubbleBlitzGameComponent,\n ChessimalsAdventureComponent,\n ChessimalsGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nexport { MiniGameCalloutComponent } from 'valtech-components';\nexport type { MiniGameCalloutMetadata, MiniGameCalloutVariant } from 'valtech-components';\nexport { MiniGameScorePopComponent } from 'valtech-components';\nexport type { MiniGameScorePopMetadata, MiniGameScorePopVariant } from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nexport interface ValtechMiniGamesRoutesOptions {\n path?: string;\n canActivate?: Route['canActivate'];\n includeMenu?: boolean;\n includeMemory?: boolean;\n includeSimon?: boolean;\n includeBubbleBlitz?: boolean;\n includeChessimals?: boolean;\n}\n\nexport function provideValtechMiniGamesRoutes(opts: ValtechMiniGamesRoutesOptions = {}): Routes {\n const path = normalizeMiniGamesRoutePath(opts.path ?? 'mini-games');\n const canActivate = opts.canActivate ?? [authGuard];\n const routes: Routes = [];\n\n if (opts.includeMenu ?? true) {\n routes.push({\n path,\n canActivate,\n component: MiniGamesPageComponent,\n });\n }\n\n if (opts.includeMemory ?? true) {\n routes.push({\n path: `${path}/memory`,\n canActivate,\n component: MemoryGamePageComponent,\n });\n }\n\n if (opts.includeSimon ?? true) {\n routes.push({\n path: `${path}/simon`,\n canActivate,\n component: SimonGamePageComponent,\n });\n }\n\n if (opts.includeBubbleBlitz ?? true) {\n routes.push({\n path: `${path}/bubble-blitz`,\n canActivate,\n component: BubbleBlitzGamePageComponent,\n });\n }\n\n if (opts.includeChessimals ?? true) {\n routes.push(\n {\n path: `${path}/chessimals/adventure`,\n canActivate,\n component: ChessimalsAdventurePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId/projection`,\n canActivate,\n component: ChessimalsProjectionGamePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId`,\n canActivate,\n component: ChessimalsOnlineGamePageComponent,\n },\n {\n path: `${path}/chessimals`,\n canActivate,\n component: ChessimalsGamePageComponent,\n }\n );\n }\n\n return routes;\n}\n\nfunction normalizeMiniGamesRoutePath(path: string): string {\n return path.replace(/^\\/+|\\/+$/g, '') || 'mini-games';\n}\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/brand/chessimals-emblem.png',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [adventureNode]=\"adventureParams\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n\n get adventureParams() {\n const p = this.route.snapshot.queryParamMap;\n const nodeId = p.get('adventureNode') ?? '';\n if (!nodeId) return undefined;\n return {\n nodeId,\n profileId: (p.get('profileId') ??\n 'explorer') as import('valtech-components').ChessimalsBotProfileId,\n difficulty: (p.get('difficulty') ??\n 'normal') as import('valtech-components').ChessimalsBotDifficulty,\n boardSize: Number(\n p.get('boardSize') ?? 6\n ) as import('valtech-components').ChessimalsBoardSize,\n };\n }\n}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-adventure-page',\n standalone: true,\n imports: [ChessimalsAdventureComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-adventure />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsAdventurePageComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,7 @@ import fixWebmDuration from 'fix-webm-duration';
|
|
|
59
59
|
* Current version of valtech-components.
|
|
60
60
|
* This is automatically updated during the publish process.
|
|
61
61
|
*/
|
|
62
|
-
const VERSION = '4.0.
|
|
62
|
+
const VERSION = '4.0.584';
|
|
63
63
|
|
|
64
64
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
65
65
|
let isRefreshing = false;
|
|
@@ -62370,6 +62370,8 @@ const MINI_GAMES_I18N = {
|
|
|
62370
62370
|
chessimalsAdventureEyebrow: 'Modo aventura',
|
|
62371
62371
|
chessimalsAdventureTitle: 'El Gran Torneo',
|
|
62372
62372
|
chessimalsAdventureSubtitle: 'Cuatro mundos, dieciséis rivales. Solo el mejor llega al final.',
|
|
62373
|
+
chessimalsAdventureHome: 'Modo Aventura',
|
|
62374
|
+
chessimalsAdventureHomeBody: 'Cuatro actos, dieciséis rivales. Gana estrellas.',
|
|
62373
62375
|
chessimalsAdventureBoss: 'Jefe',
|
|
62374
62376
|
chessimalsAdventureAct1Title: 'La Sabana',
|
|
62375
62377
|
chessimalsAdventureAct1Desc: 'Rivales lentos, tablero pequeño. El punto de partida.',
|
|
@@ -63215,6 +63217,8 @@ const MINI_GAMES_I18N = {
|
|
|
63215
63217
|
chessimalsAdventureEyebrow: 'Adventure mode',
|
|
63216
63218
|
chessimalsAdventureTitle: 'The Grand Tournament',
|
|
63217
63219
|
chessimalsAdventureSubtitle: 'Four worlds, sixteen rivals. Only the best reaches the end.',
|
|
63220
|
+
chessimalsAdventureHome: 'Adventure Mode',
|
|
63221
|
+
chessimalsAdventureHomeBody: 'Four acts, sixteen rivals. Earn stars.',
|
|
63218
63222
|
chessimalsAdventureBoss: 'Boss',
|
|
63219
63223
|
chessimalsAdventureAct1Title: 'The Savanna',
|
|
63220
63224
|
chessimalsAdventureAct1Desc: 'Slow rivals, small board. The starting point.',
|
|
@@ -67437,11 +67441,18 @@ class ChessimalsGameComponent {
|
|
|
67437
67441
|
void this.openOnlineGame(gameId);
|
|
67438
67442
|
}
|
|
67439
67443
|
}
|
|
67444
|
+
set adventureNode(params) {
|
|
67445
|
+
if (!params?.nodeId)
|
|
67446
|
+
return;
|
|
67447
|
+
this.adventureNodeId.set(params.nodeId);
|
|
67448
|
+
this.startAdventureBattle(params.profileId, params.difficulty, params.boardSize);
|
|
67449
|
+
}
|
|
67440
67450
|
constructor() {
|
|
67441
67451
|
this.i18n = inject(I18nService);
|
|
67442
67452
|
this.audio = inject(RetroAudioService);
|
|
67443
67453
|
this.online = inject(ChessimalsOnlineService);
|
|
67444
67454
|
this.challengeProgress = inject(ChessimalsChallengeProgressService);
|
|
67455
|
+
this.adventureProgress = inject(ChessimalsAdventureProgressService);
|
|
67445
67456
|
this.router = inject(Router);
|
|
67446
67457
|
this.toast = inject(ToastService);
|
|
67447
67458
|
this.auth = inject(AuthService);
|
|
@@ -67453,6 +67464,7 @@ class ChessimalsGameComponent {
|
|
|
67453
67464
|
this.turnTimerDeadline = 0;
|
|
67454
67465
|
this.turnTimerDuration = 0;
|
|
67455
67466
|
this.turnTimerExpiredKey = '';
|
|
67467
|
+
this.adventureNodeId = signal('');
|
|
67456
67468
|
this.boardSizes = [6, 8];
|
|
67457
67469
|
this.localModes = ['one-device', 'bot'];
|
|
67458
67470
|
this.botDifficulties = ['easy', 'normal', 'hard', 'master', 'nightmare'];
|
|
@@ -68275,6 +68287,25 @@ class ChessimalsGameComponent {
|
|
|
68275
68287
|
effect(() => {
|
|
68276
68288
|
this.syncTurnTimer();
|
|
68277
68289
|
}, { allowSignalWrites: true });
|
|
68290
|
+
effect(() => {
|
|
68291
|
+
const nodeId = this.adventureNodeId();
|
|
68292
|
+
if (!nodeId)
|
|
68293
|
+
return;
|
|
68294
|
+
const game = this.game();
|
|
68295
|
+
if (game.status !== 'finished')
|
|
68296
|
+
return;
|
|
68297
|
+
const key = `${nodeId}:${game.id}:${game.moveCount}:${game.winner ?? 'none'}`;
|
|
68298
|
+
if (this.lastAdventureHandledKey === key)
|
|
68299
|
+
return;
|
|
68300
|
+
this.lastAdventureHandledKey = key;
|
|
68301
|
+
const won = game.winner === 'white';
|
|
68302
|
+
if (!won)
|
|
68303
|
+
return;
|
|
68304
|
+
const stars = this.adventureStarsForGame(game);
|
|
68305
|
+
void this.adventureProgress.recordNodeCompleted(nodeId, stars).catch(err => {
|
|
68306
|
+
console.warn('[Chessimals] adventure progress save failed', err);
|
|
68307
|
+
});
|
|
68308
|
+
}, { allowSignalWrites: true });
|
|
68278
68309
|
}
|
|
68279
68310
|
ngOnDestroy() {
|
|
68280
68311
|
this.resetFinishedLocalGameForNextVisit(true);
|
|
@@ -68316,6 +68347,42 @@ class ChessimalsGameComponent {
|
|
|
68316
68347
|
void this.openOnlineGame(gameId);
|
|
68317
68348
|
}
|
|
68318
68349
|
}
|
|
68350
|
+
startAdventureBattle(profileId, difficulty, boardSize) {
|
|
68351
|
+
this.onlineSubscription?.unsubscribe();
|
|
68352
|
+
this.openedOnlineGameId = undefined;
|
|
68353
|
+
this.openingOnlineGameId = undefined;
|
|
68354
|
+
this.clearBotTurn();
|
|
68355
|
+
this.tutorialMode.set(false);
|
|
68356
|
+
this.onlineConnectionState.set('idle');
|
|
68357
|
+
this.challengePhase.set('idle');
|
|
68358
|
+
this.selectedLocalMode.set('bot');
|
|
68359
|
+
this.selectedBoardSize.set(boardSize);
|
|
68360
|
+
this.selectedBotDifficulty.set(difficulty);
|
|
68361
|
+
this.selectedNightmareMode.set('none');
|
|
68362
|
+
this.selectedBotProfileId.set(profileId);
|
|
68363
|
+
this.gameBotProfileId.set(profileId);
|
|
68364
|
+
this.lastAdventureHandledKey = undefined;
|
|
68365
|
+
this.lastOutcomeSoundKey = undefined;
|
|
68366
|
+
this.audio.stopMusic();
|
|
68367
|
+
this.game.set(this.createConfiguredLocalGame(boardSize));
|
|
68368
|
+
this.clearReview();
|
|
68369
|
+
this.selectedPieceId.set(undefined);
|
|
68370
|
+
this.selectedAnimal.set(undefined);
|
|
68371
|
+
this.movingPiece.set(undefined);
|
|
68372
|
+
this.screen.set('game');
|
|
68373
|
+
this.startChessimalsGameMusicSoon();
|
|
68374
|
+
this.audio.flip();
|
|
68375
|
+
this.focusBoardSoon();
|
|
68376
|
+
this.queueBotTurnIfNeeded();
|
|
68377
|
+
}
|
|
68378
|
+
adventureStarsForGame(game) {
|
|
68379
|
+
const moves = game.moveCount;
|
|
68380
|
+
const size = game.boardSize;
|
|
68381
|
+
const fastThreshold = size === 6 ? 16 : 24;
|
|
68382
|
+
if (moves <= fastThreshold)
|
|
68383
|
+
return 3;
|
|
68384
|
+
return 2;
|
|
68385
|
+
}
|
|
68319
68386
|
t(key) {
|
|
68320
68387
|
this.i18n.lang();
|
|
68321
68388
|
return this.i18n.t(key, 'MiniGames');
|
|
@@ -69041,6 +69108,10 @@ class ChessimalsGameComponent {
|
|
|
69041
69108
|
this.screen.set('path');
|
|
69042
69109
|
this.audio.flip();
|
|
69043
69110
|
}
|
|
69111
|
+
openAdventureMode() {
|
|
69112
|
+
this.audio.flip();
|
|
69113
|
+
void this.router.navigateByUrl('/mini-games/chessimals/adventure').catch(() => undefined);
|
|
69114
|
+
}
|
|
69044
69115
|
openAboutModal() {
|
|
69045
69116
|
this.pendingAboutFeedbackNavigation = false;
|
|
69046
69117
|
this.isAboutModalOpen.set(true);
|
|
@@ -70976,7 +71047,7 @@ class ChessimalsGameComponent {
|
|
|
70976
71047
|
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
70977
71048
|
}
|
|
70978
71049
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70979
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChessimalsGameComponent, isStandalone: true, selector: "val-chessimals-game", inputs: { onlineGameId: "onlineGameId", miniGamesRoute: "miniGamesRoute", projectionMode: "projectionMode" }, viewQueries: [{ propertyName: "boardAnchor", first: true, predicate: ["boardAnchor"], descendants: true }], ngImport: i0, template: `
|
|
71050
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChessimalsGameComponent, isStandalone: true, selector: "val-chessimals-game", inputs: { onlineGameId: "onlineGameId", miniGamesRoute: "miniGamesRoute", projectionMode: "projectionMode", adventureNode: "adventureNode" }, viewQueries: [{ propertyName: "boardAnchor", first: true, predicate: ["boardAnchor"], descendants: true }], ngImport: i0, template: `
|
|
70980
71051
|
<main class="chessimals-shell" [class.chessimals-shell--projection]="projectionMode">
|
|
70981
71052
|
@if (screen() === 'home') {
|
|
70982
71053
|
<section class="chessimals-hero">
|
|
@@ -71035,6 +71106,21 @@ class ChessimalsGameComponent {
|
|
|
71035
71106
|
<strong>{{ t('chessimalsProgressTitle') }}</strong>
|
|
71036
71107
|
<small>{{ t('chessimalsProgressSubtitle') }}</small>
|
|
71037
71108
|
</button>
|
|
71109
|
+
|
|
71110
|
+
<button
|
|
71111
|
+
class="chessimals-home-action chessimals-home-action--adventure"
|
|
71112
|
+
type="button"
|
|
71113
|
+
(click)="openAdventureMode()"
|
|
71114
|
+
>
|
|
71115
|
+
<img
|
|
71116
|
+
class="chessimals-mode-icon chessimals-mode-icon--adventure"
|
|
71117
|
+
src="assets/games/chessimals/brand/chessimals-emblem.png"
|
|
71118
|
+
alt=""
|
|
71119
|
+
draggable="false"
|
|
71120
|
+
/>
|
|
71121
|
+
<strong>{{ t('chessimalsAdventureHome') }}</strong>
|
|
71122
|
+
<small>{{ t('chessimalsAdventureHomeBody') }}</small>
|
|
71123
|
+
</button>
|
|
71038
71124
|
</section>
|
|
71039
71125
|
|
|
71040
71126
|
<article class="chessimals-howto">
|
|
@@ -72468,6 +72554,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
72468
72554
|
<strong>{{ t('chessimalsProgressTitle') }}</strong>
|
|
72469
72555
|
<small>{{ t('chessimalsProgressSubtitle') }}</small>
|
|
72470
72556
|
</button>
|
|
72557
|
+
|
|
72558
|
+
<button
|
|
72559
|
+
class="chessimals-home-action chessimals-home-action--adventure"
|
|
72560
|
+
type="button"
|
|
72561
|
+
(click)="openAdventureMode()"
|
|
72562
|
+
>
|
|
72563
|
+
<img
|
|
72564
|
+
class="chessimals-mode-icon chessimals-mode-icon--adventure"
|
|
72565
|
+
src="assets/games/chessimals/brand/chessimals-emblem.png"
|
|
72566
|
+
alt=""
|
|
72567
|
+
draggable="false"
|
|
72568
|
+
/>
|
|
72569
|
+
<strong>{{ t('chessimalsAdventureHome') }}</strong>
|
|
72570
|
+
<small>{{ t('chessimalsAdventureHomeBody') }}</small>
|
|
72571
|
+
</button>
|
|
72471
72572
|
</section>
|
|
72472
72573
|
|
|
72473
72574
|
<article class="chessimals-howto">
|
|
@@ -73839,6 +73940,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
73839
73940
|
type: Input
|
|
73840
73941
|
}], projectionMode: [{
|
|
73841
73942
|
type: Input
|
|
73943
|
+
}], adventureNode: [{
|
|
73944
|
+
type: Input
|
|
73842
73945
|
}] } });
|
|
73843
73946
|
|
|
73844
73947
|
const CHRISTIANITY_BATTLE_SLOTS = 4;
|