nestlens 0.4.1 → 0.4.2
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/README.md +1 -1
- package/dist/__tests__/api/dashboard.controller.spec.js +103 -419
- package/dist/__tests__/api/dashboard.controller.spec.js.map +1 -1
- package/dist/__tests__/docs-consistency.spec.d.ts +2 -0
- package/dist/__tests__/docs-consistency.spec.d.ts.map +1 -0
- package/dist/__tests__/docs-consistency.spec.js +74 -0
- package/dist/__tests__/docs-consistency.spec.js.map +1 -0
- package/dist/__tests__/integration/adapter-compat.integration.spec.d.ts +2 -0
- package/dist/__tests__/integration/adapter-compat.integration.spec.d.ts.map +1 -0
- package/dist/__tests__/integration/adapter-compat.integration.spec.js +139 -0
- package/dist/__tests__/integration/adapter-compat.integration.spec.js.map +1 -0
- package/dist/__tests__/integration/schedule-watcher.integration.spec.d.ts +2 -0
- package/dist/__tests__/integration/schedule-watcher.integration.spec.d.ts.map +1 -0
- package/dist/__tests__/integration/schedule-watcher.integration.spec.js +87 -0
- package/dist/__tests__/integration/schedule-watcher.integration.spec.js.map +1 -0
- package/dist/__tests__/integration/watcher-coexistence.integration.spec.d.ts +2 -0
- package/dist/__tests__/integration/watcher-coexistence.integration.spec.d.ts.map +1 -0
- package/dist/__tests__/integration/watcher-coexistence.integration.spec.js +88 -0
- package/dist/__tests__/integration/watcher-coexistence.integration.spec.js.map +1 -0
- package/dist/__tests__/watchers/exception.watcher.spec.js +10 -0
- package/dist/__tests__/watchers/exception.watcher.spec.js.map +1 -1
- package/dist/__tests__/watchers/request.watcher.spec.js +30 -0
- package/dist/__tests__/watchers/request.watcher.spec.js.map +1 -1
- package/dist/__tests__/watchers/schedule.watcher.spec.js +32 -27
- package/dist/__tests__/watchers/schedule.watcher.spec.js.map +1 -1
- package/dist/api/dashboard.controller.d.ts +51 -43
- package/dist/api/dashboard.controller.d.ts.map +1 -1
- package/dist/api/dashboard.controller.js +222 -248
- package/dist/api/dashboard.controller.js.map +1 -1
- package/dist/api/filters/api-exception.filter.d.ts +3 -0
- package/dist/api/filters/api-exception.filter.d.ts.map +1 -1
- package/dist/api/filters/api-exception.filter.js +9 -3
- package/dist/api/filters/api-exception.filter.js.map +1 -1
- package/dist/dashboard/public/assets/{BatchesPage-DrFl64wj.js → BatchesPage-BqqMGRhb.js} +1 -1
- package/dist/dashboard/public/assets/{CachePage-C57Pkxm0.js → CachePage-4XesQGrB.js} +1 -1
- package/dist/dashboard/public/assets/{ClickableBadge-BNUq-FXI.js → ClickableBadge-CULXhkUR.js} +1 -1
- package/dist/dashboard/public/assets/{CommandsPage-BdD-ojDk.js → CommandsPage-qA9zZJLY.js} +1 -1
- package/dist/dashboard/public/assets/{DashboardPage-DCophLiw.js → DashboardPage-6gpSO6p8.js} +1 -1
- package/dist/dashboard/public/assets/{DumpsPage-DtXeYPpQ.js → DumpsPage-BJUH8RX8.js} +1 -1
- package/dist/dashboard/public/assets/{EntryDetailPage-qlWzdnXs.js → EntryDetailPage-BybD_jd2.js} +1 -1
- package/dist/dashboard/public/assets/{EventsPage-BHpLjHZj.js → EventsPage-Bk5E2ZLC.js} +1 -1
- package/dist/dashboard/public/assets/{ExceptionsPage-Ww3jIO29.js → ExceptionsPage-eCyE84NP.js} +1 -1
- package/dist/dashboard/public/assets/{GatesPage-beRehq6b.js → GatesPage-CE9Sa3BN.js} +1 -1
- package/dist/dashboard/public/assets/{GraphQLPage-BZt0nDmS.js → GraphQLPage-B2XmilbU.js} +1 -1
- package/dist/dashboard/public/assets/{HttpClientPage-Dac8U41f.js → HttpClientPage-DMdyMJmo.js} +1 -1
- package/dist/dashboard/public/assets/{JobsPage-zLQH5Skv.js → JobsPage-Cza23TpJ.js} +1 -1
- package/dist/dashboard/public/assets/{LogsPage-Dj7YEZlz.js → LogsPage-BfFjxmzL.js} +1 -1
- package/dist/dashboard/public/assets/{MailPage-C45lv85q.js → MailPage-C7qOueDJ.js} +1 -1
- package/dist/dashboard/public/assets/{ModelsPage-CveFVTw3.js → ModelsPage-CdnaDoYH.js} +1 -1
- package/dist/dashboard/public/assets/{NotificationsPage-CVAGh1SG.js → NotificationsPage-t0AlQJeY.js} +1 -1
- package/dist/dashboard/public/assets/{PageHeader-BhUyZtbe.js → PageHeader-CcbxBdii.js} +1 -1
- package/dist/dashboard/public/assets/{QueriesPage-BMpvUeTX.js → QueriesPage-Da9Zl09P.js} +1 -1
- package/dist/dashboard/public/assets/{RedisPage-FPrKgNrc.js → RedisPage-C8Elpfq1.js} +1 -1
- package/dist/dashboard/public/assets/{RequestsPage-6JVqr7xE.js → RequestsPage-Bobnh4sB.js} +1 -1
- package/dist/dashboard/public/assets/{SchedulePage-DOt6jqTT.js → SchedulePage-vBUwBEW5.js} +1 -1
- package/dist/dashboard/public/assets/{ViewsPage-RG6Ze2rn.js → ViewsPage-DO70tKip.js} +1 -1
- package/dist/dashboard/public/assets/{calendar-CEjtgImi.js → calendar-36iGdS4K.js} +1 -1
- package/dist/dashboard/public/assets/{circle-check-big-BnRBDUDo.js → circle-check-big--KQSq_oR.js} +1 -1
- package/dist/dashboard/public/assets/{eye-tfj-u8EL.js → eye-B9uY1FJW.js} +1 -1
- package/dist/dashboard/public/assets/{index-OMQZjJAo.js → index-C1yiPBCx.js} +2 -2
- package/dist/dashboard/public/assets/{types-Cubd9hBF.js → types-DM4HdBI5.js} +1 -1
- package/dist/dashboard/public/assets/{zap-Bh7DgMLC.js → zap-ChtSEZU9.js} +1 -1
- package/dist/dashboard/public/index.html +1 -1
- package/dist/nestlens.module.d.ts.map +1 -1
- package/dist/nestlens.module.js +20 -2
- package/dist/nestlens.module.js.map +1 -1
- package/dist/watchers/exception.watcher.d.ts +5 -2
- package/dist/watchers/exception.watcher.d.ts.map +1 -1
- package/dist/watchers/exception.watcher.js +22 -10
- package/dist/watchers/exception.watcher.js.map +1 -1
- package/dist/watchers/graphql/graphql.watcher.d.ts +1 -1
- package/dist/watchers/request.watcher.d.ts +4 -1
- package/dist/watchers/request.watcher.d.ts.map +1 -1
- package/dist/watchers/request.watcher.js +24 -8
- package/dist/watchers/request.watcher.js.map +1 -1
- package/dist/watchers/schedule.watcher.d.ts +8 -8
- package/dist/watchers/schedule.watcher.d.ts.map +1 -1
- package/dist/watchers/schedule.watcher.js +30 -13
- package/dist/watchers/schedule.watcher.js.map +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Documentation consistency guard.
|
|
5
|
+
*
|
|
6
|
+
* The docs drifted from the code in the past (e.g. "18 watchers" while the code
|
|
7
|
+
* had 19, "SQLite by default" while the default is in-memory). This test ties the
|
|
8
|
+
* drift-prone, code-derivable facts back to the source of truth so the docs cannot
|
|
9
|
+
* silently fall out of sync again — if someone adds a watcher or changes a default,
|
|
10
|
+
* this test fails until the docs are updated.
|
|
11
|
+
*/
|
|
12
|
+
const fs_1 = require("fs");
|
|
13
|
+
const path_1 = require("path");
|
|
14
|
+
const nestlens_config_1 = require("../nestlens.config");
|
|
15
|
+
const REPO_ROOT = (0, path_1.join)(__dirname, '..', '..');
|
|
16
|
+
const docsDir = (0, path_1.join)(REPO_ROOT, 'docs', 'docs');
|
|
17
|
+
function readDoc(relPath) {
|
|
18
|
+
const full = (0, path_1.join)(docsDir, relPath);
|
|
19
|
+
return (0, fs_1.readFileSync)(full, 'utf8');
|
|
20
|
+
}
|
|
21
|
+
describe('Documentation consistency with code', () => {
|
|
22
|
+
// The canonical watcher set, derived from the code (not hard-coded here).
|
|
23
|
+
const watcherKeys = Object.keys(nestlens_config_1.DEFAULT_CONFIG.watchers ?? {});
|
|
24
|
+
const watcherCount = watcherKeys.length;
|
|
25
|
+
it('has a non-trivial, code-derived watcher count', () => {
|
|
26
|
+
// Sanity: guards against an empty/partial DEFAULT_CONFIG breaking the asserts below.
|
|
27
|
+
expect(watcherCount).toBeGreaterThanOrEqual(19);
|
|
28
|
+
});
|
|
29
|
+
describe('watcher count is documented correctly', () => {
|
|
30
|
+
it('intro.md states the correct watcher count and not the old "18"', () => {
|
|
31
|
+
const intro = readDoc('intro.md');
|
|
32
|
+
expect(intro).toContain(`${watcherCount} watchers`);
|
|
33
|
+
expect(intro).not.toMatch(/18 watchers/);
|
|
34
|
+
});
|
|
35
|
+
it('basic-config.md lists every watcher key from the code', () => {
|
|
36
|
+
const basicConfig = readDoc('configuration/basic-config.md');
|
|
37
|
+
const missing = watcherKeys.filter((key) => !basicConfig.includes(`${key}:`));
|
|
38
|
+
expect(missing).toEqual([]);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('default storage driver is documented correctly', () => {
|
|
42
|
+
it("the code default is 'memory'", () => {
|
|
43
|
+
expect(nestlens_config_1.DEFAULT_CONFIG.storage?.driver).toBe('memory');
|
|
44
|
+
});
|
|
45
|
+
it('watchers/overview.md does not claim SQLite is the default', () => {
|
|
46
|
+
const overview = readDoc('watchers/overview.md');
|
|
47
|
+
expect(overview).not.toMatch(/SQLite by default/i);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('rate limiting default is documented correctly', () => {
|
|
51
|
+
it('the code default is disabled (false)', () => {
|
|
52
|
+
expect(nestlens_config_1.DEFAULT_CONFIG.rateLimit).toBe(false);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe('no stale numbers linger', () => {
|
|
56
|
+
it('the old hard-coded test count is gone from intro.md', () => {
|
|
57
|
+
const intro = readDoc('intro.md');
|
|
58
|
+
expect(intro).not.toMatch(/1,312 tests/);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('referenced docs exist', () => {
|
|
62
|
+
it.each([
|
|
63
|
+
'getting-started/installation.md',
|
|
64
|
+
'configuration/basic-config.md',
|
|
65
|
+
'watchers/overview.md',
|
|
66
|
+
'watchers/schedule.md',
|
|
67
|
+
'dashboard/keyboard-shortcuts.md',
|
|
68
|
+
'dashboard/navigation.md',
|
|
69
|
+
])('%s exists', (relPath) => {
|
|
70
|
+
expect((0, fs_1.existsSync)((0, path_1.join)(docsDir, relPath))).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=docs-consistency.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-consistency.spec.js","sourceRoot":"","sources":["../../src/__tests__/docs-consistency.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-compat.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/adapter-compat.integration.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/**
|
|
16
|
+
* Adapter compatibility integration tests.
|
|
17
|
+
*
|
|
18
|
+
* Boots a real NestJS application on BOTH the Express and Fastify adapters and
|
|
19
|
+
* exercises the NestLens request interceptor, exception filter and dashboard
|
|
20
|
+
* controller over real HTTP. This is the regression guard for issue #8
|
|
21
|
+
* ("Not working with Fastify adapter": `response.status(...).json is not a function`).
|
|
22
|
+
*/
|
|
23
|
+
const common_1 = require("@nestjs/common");
|
|
24
|
+
const core_1 = require("@nestjs/core");
|
|
25
|
+
const platform_express_1 = require("@nestjs/platform-express");
|
|
26
|
+
const platform_fastify_1 = require("@nestjs/platform-fastify");
|
|
27
|
+
const path_1 = require("path");
|
|
28
|
+
const fs_1 = require("fs");
|
|
29
|
+
const supertest_1 = __importDefault(require("supertest"));
|
|
30
|
+
const nestlens_module_1 = require("../../nestlens.module");
|
|
31
|
+
const dashboard_controller_1 = require("../../api/dashboard.controller");
|
|
32
|
+
const request_watcher_1 = require("../../watchers/request.watcher");
|
|
33
|
+
let TestController = class TestController {
|
|
34
|
+
ok() {
|
|
35
|
+
return { ok: true };
|
|
36
|
+
}
|
|
37
|
+
httpError() {
|
|
38
|
+
throw new common_1.HttpException({ statusCode: common_1.HttpStatus.I_AM_A_TEAPOT, message: 'teapot', error: "I'm a teapot" }, common_1.HttpStatus.I_AM_A_TEAPOT);
|
|
39
|
+
}
|
|
40
|
+
genericError() {
|
|
41
|
+
throw new Error('boom');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, common_1.Get)('ok'),
|
|
46
|
+
__metadata("design:type", Function),
|
|
47
|
+
__metadata("design:paramtypes", []),
|
|
48
|
+
__metadata("design:returntype", Object)
|
|
49
|
+
], TestController.prototype, "ok", null);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, common_1.Get)('http-error'),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", []),
|
|
54
|
+
__metadata("design:returntype", void 0)
|
|
55
|
+
], TestController.prototype, "httpError", null);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, common_1.Get)('generic-error'),
|
|
58
|
+
__metadata("design:type", Function),
|
|
59
|
+
__metadata("design:paramtypes", []),
|
|
60
|
+
__metadata("design:returntype", void 0)
|
|
61
|
+
], TestController.prototype, "genericError", null);
|
|
62
|
+
TestController = __decorate([
|
|
63
|
+
(0, common_1.Controller)('test')
|
|
64
|
+
], TestController);
|
|
65
|
+
let AppModule = class AppModule {
|
|
66
|
+
};
|
|
67
|
+
AppModule = __decorate([
|
|
68
|
+
(0, common_1.Module)({
|
|
69
|
+
imports: [nestlens_module_1.NestLensModule.forRoot({ watchers: { request: true, exception: true } })],
|
|
70
|
+
controllers: [TestController],
|
|
71
|
+
})
|
|
72
|
+
], AppModule);
|
|
73
|
+
const realDashboardPublic = (0, path_1.join)(process.cwd(), 'dist', 'dashboard', 'public');
|
|
74
|
+
const hasBuiltDashboard = (0, fs_1.existsSync)((0, path_1.join)(realDashboardPublic, 'index.html'));
|
|
75
|
+
async function createApp(adapter) {
|
|
76
|
+
const app = adapter === 'Fastify'
|
|
77
|
+
? await core_1.NestFactory.create(AppModule, new platform_fastify_1.FastifyAdapter(), {
|
|
78
|
+
logger: false,
|
|
79
|
+
})
|
|
80
|
+
: await core_1.NestFactory.create(AppModule, new platform_express_1.ExpressAdapter(), { logger: false });
|
|
81
|
+
// Point the dashboard controller at the actually-built static assets.
|
|
82
|
+
const dashboard = app.get(dashboard_controller_1.DashboardController);
|
|
83
|
+
dashboard.dashboardPath = realDashboardPublic;
|
|
84
|
+
await app.init();
|
|
85
|
+
if (adapter === 'Fastify') {
|
|
86
|
+
await app.getHttpAdapter().getInstance().ready();
|
|
87
|
+
}
|
|
88
|
+
return app;
|
|
89
|
+
}
|
|
90
|
+
describe.each(['Express', 'Fastify'])('NestLens on %s adapter', (adapter) => {
|
|
91
|
+
let app;
|
|
92
|
+
let server;
|
|
93
|
+
beforeAll(async () => {
|
|
94
|
+
app = await createApp(adapter);
|
|
95
|
+
server = app.getHttpServer();
|
|
96
|
+
});
|
|
97
|
+
afterAll(async () => {
|
|
98
|
+
await app.close();
|
|
99
|
+
});
|
|
100
|
+
describe('RequestWatcher', () => {
|
|
101
|
+
it('responds 200 and attaches the request id header (adapter-agnostic setHeader)', async () => {
|
|
102
|
+
const res = await (0, supertest_1.default)(server).get('/test/ok');
|
|
103
|
+
expect(res.status).toBe(200);
|
|
104
|
+
expect(res.body).toEqual({ ok: true });
|
|
105
|
+
expect(res.headers[request_watcher_1.REQUEST_ID_HEADER]).toBeDefined();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('ExceptionWatcher', () => {
|
|
109
|
+
it('returns the HttpException as JSON (no "json is not a function")', async () => {
|
|
110
|
+
const res = await (0, supertest_1.default)(server).get('/test/http-error');
|
|
111
|
+
expect(res.status).toBe(common_1.HttpStatus.I_AM_A_TEAPOT);
|
|
112
|
+
expect(res.body).toMatchObject({ message: 'teapot' });
|
|
113
|
+
});
|
|
114
|
+
it('returns generic errors as a 500 JSON payload', async () => {
|
|
115
|
+
const res = await (0, supertest_1.default)(server).get('/test/generic-error');
|
|
116
|
+
expect(res.status).toBe(common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
117
|
+
expect(res.body).toMatchObject({ statusCode: 500 });
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
describe('DashboardController', () => {
|
|
121
|
+
const maybe = hasBuiltDashboard ? it : it.skip;
|
|
122
|
+
maybe('serves index.html as text/html on the dashboard root (StreamableFile)', async () => {
|
|
123
|
+
const res = await (0, supertest_1.default)(server).get('/nestlens');
|
|
124
|
+
expect(res.status).toBe(200);
|
|
125
|
+
expect(res.headers['content-type']).toContain('text/html');
|
|
126
|
+
expect(res.text).toContain('<');
|
|
127
|
+
});
|
|
128
|
+
maybe('serves a SPA route as index.html', async () => {
|
|
129
|
+
const res = await (0, supertest_1.default)(server).get('/nestlens/requests');
|
|
130
|
+
expect(res.status).toBe(200);
|
|
131
|
+
expect(res.headers['content-type']).toContain('text/html');
|
|
132
|
+
});
|
|
133
|
+
maybe('returns 404 for a missing asset (NotFoundException)', async () => {
|
|
134
|
+
const res = await (0, supertest_1.default)(server).get('/nestlens/assets/does-not-exist.js');
|
|
135
|
+
expect(res.status).toBe(404);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=adapter-compat.integration.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-compat.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/adapter-compat.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-watcher.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/schedule-watcher.integration.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* ScheduleWatcher integration test.
|
|
14
|
+
*
|
|
15
|
+
* Boots a real NestJS application with `@nestjs/schedule` configured and a real
|
|
16
|
+
* `@Cron` job, then verifies the watcher discovers the SchedulerRegistry through
|
|
17
|
+
* DiscoveryService at bootstrap. Regression guard for issue #7
|
|
18
|
+
* ("ScheduleWatcher cannot detect SchedulerRegistry").
|
|
19
|
+
*/
|
|
20
|
+
const common_1 = require("@nestjs/common");
|
|
21
|
+
const core_1 = require("@nestjs/core");
|
|
22
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
23
|
+
const nestlens_module_1 = require("../../nestlens.module");
|
|
24
|
+
const schedule_watcher_1 = require("../../watchers/schedule.watcher");
|
|
25
|
+
const collector_service_1 = require("../../core/collector.service");
|
|
26
|
+
const CRON_NAME = 'integration-test-cron';
|
|
27
|
+
let CronService = class CronService {
|
|
28
|
+
// Runs on Jan 1st only, so it never auto-fires during the test run.
|
|
29
|
+
handle() {
|
|
30
|
+
// no-op
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, schedule_1.Cron)('0 0 1 1 *', { name: CRON_NAME }),
|
|
35
|
+
__metadata("design:type", Function),
|
|
36
|
+
__metadata("design:paramtypes", []),
|
|
37
|
+
__metadata("design:returntype", void 0)
|
|
38
|
+
], CronService.prototype, "handle", null);
|
|
39
|
+
CronService = __decorate([
|
|
40
|
+
(0, common_1.Injectable)()
|
|
41
|
+
], CronService);
|
|
42
|
+
let ScheduleAppModule = class ScheduleAppModule {
|
|
43
|
+
};
|
|
44
|
+
ScheduleAppModule = __decorate([
|
|
45
|
+
(0, common_1.Module)({
|
|
46
|
+
imports: [
|
|
47
|
+
schedule_1.ScheduleModule.forRoot(),
|
|
48
|
+
nestlens_module_1.NestLensModule.forRoot({ watchers: { schedule: true, request: false, exception: false } }),
|
|
49
|
+
],
|
|
50
|
+
providers: [CronService],
|
|
51
|
+
})
|
|
52
|
+
], ScheduleAppModule);
|
|
53
|
+
describe('ScheduleWatcher integration (@nestjs/schedule)', () => {
|
|
54
|
+
it('discovers the SchedulerRegistry and wraps the registered cron job', async () => {
|
|
55
|
+
const app = await core_1.NestFactory.create(ScheduleAppModule, { logger: false });
|
|
56
|
+
await app.init();
|
|
57
|
+
try {
|
|
58
|
+
const watcher = app.get(schedule_watcher_1.ScheduleWatcher);
|
|
59
|
+
// The registry was found (the bug was that it stayed undefined).
|
|
60
|
+
expect(watcher.schedulerRegistry).toBeDefined();
|
|
61
|
+
// ...and the live cron job was wrapped for tracking.
|
|
62
|
+
expect(watcher.wrappedJobs.has(CRON_NAME)).toBe(true);
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
await app.close();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
it('collects a schedule entry when the wrapped cron job fires', async () => {
|
|
69
|
+
const app = await core_1.NestFactory.create(ScheduleAppModule, { logger: false });
|
|
70
|
+
await app.init();
|
|
71
|
+
try {
|
|
72
|
+
const collector = app.get(collector_service_1.CollectorService);
|
|
73
|
+
const collectSpy = jest.spyOn(collector, 'collect');
|
|
74
|
+
const registry = app.get(schedule_1.SchedulerRegistry);
|
|
75
|
+
const job = registry.getCronJobs().get(CRON_NAME);
|
|
76
|
+
expect(job).toBeDefined();
|
|
77
|
+
// Fire the (wrapped) job and assert the watcher recorded it.
|
|
78
|
+
await job.fireOnTick();
|
|
79
|
+
expect(collectSpy).toHaveBeenCalledWith('schedule', expect.objectContaining({ name: CRON_NAME, status: 'started' }));
|
|
80
|
+
expect(collectSpy).toHaveBeenCalledWith('schedule', expect.objectContaining({ name: CRON_NAME, status: 'completed' }));
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await app.close();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=schedule-watcher.integration.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-watcher.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/schedule-watcher.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher-coexistence.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/watcher-coexistence.integration.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* Watcher coexistence integration test.
|
|
14
|
+
*
|
|
15
|
+
* Boots a single NestJS application with several watchers enabled at once —
|
|
16
|
+
* including the two that rely on `DiscoveryService` (Query for TypeORM/Prisma,
|
|
17
|
+
* Schedule for @nestjs/schedule) — and proves they initialize together without
|
|
18
|
+
* interfering with each other. This is the cross-feature evidence for running
|
|
19
|
+
* the schedule watcher alongside the query (ORM) watcher in the same process.
|
|
20
|
+
*/
|
|
21
|
+
const common_1 = require("@nestjs/common");
|
|
22
|
+
const core_1 = require("@nestjs/core");
|
|
23
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
24
|
+
const nestlens_module_1 = require("../../nestlens.module");
|
|
25
|
+
const schedule_watcher_1 = require("../../watchers/schedule.watcher");
|
|
26
|
+
const query_watcher_1 = require("../../watchers/query/query.watcher");
|
|
27
|
+
const request_watcher_1 = require("../../watchers/request.watcher");
|
|
28
|
+
const CRON_NAME = 'coexistence-cron';
|
|
29
|
+
let CronService = class CronService {
|
|
30
|
+
handle() {
|
|
31
|
+
// no-op; never auto-fires during the test
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, schedule_1.Cron)('0 0 1 1 *', { name: CRON_NAME }),
|
|
36
|
+
__metadata("design:type", Function),
|
|
37
|
+
__metadata("design:paramtypes", []),
|
|
38
|
+
__metadata("design:returntype", void 0)
|
|
39
|
+
], CronService.prototype, "handle", null);
|
|
40
|
+
CronService = __decorate([
|
|
41
|
+
(0, common_1.Injectable)()
|
|
42
|
+
], CronService);
|
|
43
|
+
let CoexistenceAppModule = class CoexistenceAppModule {
|
|
44
|
+
};
|
|
45
|
+
CoexistenceAppModule = __decorate([
|
|
46
|
+
(0, common_1.Module)({
|
|
47
|
+
imports: [
|
|
48
|
+
schedule_1.ScheduleModule.forRoot(),
|
|
49
|
+
nestlens_module_1.NestLensModule.forRoot({
|
|
50
|
+
// Query (ORM) + Schedule both use DiscoveryService; enable several watchers together.
|
|
51
|
+
watchers: {
|
|
52
|
+
request: true,
|
|
53
|
+
query: true,
|
|
54
|
+
exception: true,
|
|
55
|
+
schedule: true,
|
|
56
|
+
event: true,
|
|
57
|
+
cache: true,
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
],
|
|
61
|
+
providers: [CronService],
|
|
62
|
+
})
|
|
63
|
+
], CoexistenceAppModule);
|
|
64
|
+
describe('Watcher coexistence (Schedule + Query/ORM + others in one app)', () => {
|
|
65
|
+
it('initializes all watchers together and the Schedule watcher still finds the registry', async () => {
|
|
66
|
+
const app = await core_1.NestFactory.create(CoexistenceAppModule, { logger: false });
|
|
67
|
+
await app.init();
|
|
68
|
+
try {
|
|
69
|
+
// Both DiscoveryService-based watchers resolve and coexist.
|
|
70
|
+
const scheduleWatcher = app.get(schedule_watcher_1.ScheduleWatcher);
|
|
71
|
+
const queryWatcher = app.get(query_watcher_1.QueryWatcher);
|
|
72
|
+
const requestWatcher = app.get(request_watcher_1.RequestWatcher);
|
|
73
|
+
expect(queryWatcher).toBeDefined();
|
|
74
|
+
expect(requestWatcher).toBeDefined();
|
|
75
|
+
// Schedule watcher discovered the registry despite the Query watcher also
|
|
76
|
+
// scanning providers via DiscoveryService at bootstrap.
|
|
77
|
+
expect(scheduleWatcher.schedulerRegistry).toBeDefined();
|
|
78
|
+
expect(scheduleWatcher.wrappedJobs.has(CRON_NAME)).toBe(true);
|
|
79
|
+
// The cron job is registered and intact.
|
|
80
|
+
const registry = app.get(schedule_1.SchedulerRegistry);
|
|
81
|
+
expect(registry.getCronJobs().has(CRON_NAME)).toBe(true);
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
await app.close();
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=watcher-coexistence.integration.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher-coexistence.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/watcher-coexistence.integration.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,2CAAoD;AACpD,uCAA2C;AAC3C,+CAA2E;AAC3E,2DAAuD;AACvD,sEAAkE;AAClE,sEAAkE;AAClE,oEAAgE;AAEhE,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEf,MAAM;QACJ,0CAA0C;IAC5C,CAAC;CACF,CAAA;AAHC;IADC,IAAA,eAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;;;yCAGtC;AAJG,WAAW;IADhB,IAAA,mBAAU,GAAE;GACP,WAAW,CAKhB;AAmBD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IAjBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,OAAO,EAAE;YACxB,gCAAc,CAAC,OAAO,CAAC;gBACrB,sFAAsF;gBACtF,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC;SACH;QACD,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;GACI,oBAAoB,CAAG;AAE7B,QAAQ,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC9E,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,kCAAe,CAG9C,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,4BAAY,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,gCAAc,CAAC,CAAC;YAE/C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAErC,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9D,yCAAyC;YACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,4BAAiB,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
*/
|
|
9
9
|
const common_1 = require("@nestjs/common");
|
|
10
10
|
const testing_1 = require("@nestjs/testing");
|
|
11
|
+
const core_1 = require("@nestjs/core");
|
|
11
12
|
const collector_service_1 = require("../../core/collector.service");
|
|
12
13
|
const nestlens_config_1 = require("../../nestlens.config");
|
|
13
14
|
const exception_watcher_1 = require("../../watchers/exception.watcher");
|
|
@@ -45,6 +46,15 @@ describe('ExceptionWatcher', () => {
|
|
|
45
46
|
exception_watcher_1.ExceptionWatcher,
|
|
46
47
|
{ provide: collector_service_1.CollectorService, useValue: mockCollector },
|
|
47
48
|
{ provide: nestlens_config_1.NESTLENS_CONFIG, useValue: config },
|
|
49
|
+
{
|
|
50
|
+
provide: core_1.HttpAdapterHost,
|
|
51
|
+
useValue: {
|
|
52
|
+
httpAdapter: {
|
|
53
|
+
// Mirror ExpressAdapter.reply: forward to the response mock.
|
|
54
|
+
reply: (res, body, status) => res.status(status).json(body),
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
48
58
|
],
|
|
49
59
|
}).compile();
|
|
50
60
|
return module.get(exception_watcher_1.ExceptionWatcher);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/exception.watcher.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exception.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/exception.watcher.spec.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAA8D;AAC9D,6CAAsD;AACtD,uCAA+C;AAE/C,oEAAgE;AAChE,2DAAwE;AAExE,wEAAoE;AAEpE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAyB,CAAC;IAC9B,IAAI,aAA4C,CAAC;IACjD,IAAI,YAAmC,CAAC;IACxC,IAAI,UAA0B,CAAC;IAE/B,MAAM,iBAAiB,GAAG,CAAC,YAAsC,EAAE,EAAmB,EAAE,CACtF,CAAC;QACC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3B,iBAAiB,EAAE,SAAS;QAC5B,GAAG,SAAS;KACb,CAAoB,CAAC;IAExB,MAAM,kBAAkB,GAAG,GAA0B,EAAE;QACrD,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;SACjC,CAAC;QACF,OAAO,GAAuC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CACrB,OAAwB,EACxB,QAAkB,EAClB,OAAe,MAAM,EACN,EAAE,CACjB,CAAC;QACC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACnB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YACzB,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;SAC5B,CAAC;QACF,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACpB,CAA6B,CAAC;IAEjC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAA6B,EAAE;QAChF,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,SAAS,EAAE;gBACT,oCAAgB;gBAChB,EAAE,OAAO,EAAE,oCAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;gBACtD,EAAE,OAAO,EAAE,iCAAe,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAC9C;oBACE,OAAO,EAAE,sBAAe;oBACxB,QAAQ,EAAE;wBACR,WAAW,EAAE;4BACX,6DAA6D;4BAC7D,KAAK,EAAE,CAAC,GAAa,EAAE,IAAa,EAAE,MAAc,EAAE,EAAE,CACtD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;yBAChC;qBACF;iBACF;aACF;SACF,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC,GAAG,CAAmB,oCAAgB,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG;YACd,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;SACgB,CAAC;QAE9C,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAEpC,UAAU,GAAG;YACX,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE;gBACR,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC7B;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC1C,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC3C,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;YAChC,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG;gBACpB,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,EAAE;aACtE,CAAC;YACF,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBACnC,iBAAiB,EAAE,SAAS;aAC7B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,GAAG,gDAAgD,CAAC;YAE/D,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,sBAAsB;gBAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;iBACpC;aACF,CAAC,EACF,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC1D,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM,WAAY,SAAQ,KAAK;gBAC7B,YAAY,OAAe;oBACzB,KAAK,CAAC,OAAO,CAAC,CAAC;oBACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;gBAC5B,CAAC;aACF;YACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAC;YAEvD,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,uBAAuB;aACjC,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE3C,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAEzC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,UAAU;YACV,UAAU,CAAC,IAAI,GAAG,eAAe,CAAC;YAClC,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAEvC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG;gBACpB,SAAS,EAAE;oBACT,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;iBACjE;aACF,CAAC;YACF,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAE1C,MAAM,iBAAkB,SAAQ,KAAK;gBACnC;oBACE,KAAK,CAAC,WAAW,CAAC,CAAC;oBACnB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;gBAClC,CAAC;aACF;YAED,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAEtC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,UAAU;YACV,UAAU,CAAC,QAAQ,GAAG;gBACpB,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,EAAE;aACtE,CAAC;YACF,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,0BAA0B;IAC1B,+EAA+E;IAE/E,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,sBAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAElD,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,GAAG;aACV,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,sBAAa,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAE5F,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;gBAC7C,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,CAAC,eAAe,CAAC;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;gBAC7C,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,gBAAgB;gBACzB,KAAK,EAAE,uBAAuB;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,wBAAwB;IACxB,+EAA+E;IAE/E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM,aAAc,SAAQ,KAAK;gBAE/B;oBACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;oBAF9B,SAAI,GAAG,cAAc,CAAC;oBAGpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;gBAC9B,CAAC;aACF;YACD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;YAElC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,cAAc;aACrB,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM,WAAY,SAAQ,KAAK;gBAE7B;oBACE,KAAK,CAAC,eAAe,CAAC,CAAC;oBAFzB,SAAI,GAAG,EAAE,CAAC;oBAGR,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;gBAC5B,CAAC;aACF;YACD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YAEhC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,EAAE;aACT,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAExC,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAE3D,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAEvC,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,MAAM;aAChB,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhC,eAAe;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhC,eAAe;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhC,eAAe;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,gBAAgB;aAC9B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;YAE/C,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,GAAG,EAAE,gBAAgB;iBACtB,CAAC;aACH,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE;oBACJ,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,WAAW;iBACtB;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnD,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC/B,IAAI,EAAE;wBACJ,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,kBAAkB;wBACzB,QAAQ,EAAE,WAAW;qBACtB;iBACF,CAAC;aACH,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,UAAU;YACV,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,eAAe;aACrB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEnD,MAAM;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAEvC,SAAS;YACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC/B,GAAG,EAAE,eAAe;iBACrB,CAAC;aACH,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|