@alexberardi/jarvis-admin 0.1.65 → 0.1.66
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/package.json +1 -1
- package/public/assets/index-CAv1RM9y.css +1 -0
- package/public/assets/index-DBEZIFbZ.js +18 -0
- package/public/index.html +2 -2
- package/server/dist/app.d.ts.map +1 -1
- package/server/dist/app.js +24 -0
- package/server/dist/app.js.map +1 -1
- package/server/dist/data/image-digests.json +58 -0
- package/server/dist/data/service-registry.json +11 -5
- package/server/dist/middleware/auth.d.ts +14 -0
- package/server/dist/middleware/auth.d.ts.map +1 -1
- package/server/dist/middleware/auth.js +19 -0
- package/server/dist/middleware/auth.js.map +1 -1
- package/server/dist/routes/install.d.ts.map +1 -1
- package/server/dist/routes/install.js +29 -8
- package/server/dist/routes/install.js.map +1 -1
- package/server/dist/routes/setup.d.ts.map +1 -1
- package/server/dist/routes/setup.js +2 -1
- package/server/dist/routes/setup.js.map +1 -1
- package/server/dist/services/generators/compose-generator.d.ts +11 -0
- package/server/dist/services/generators/compose-generator.d.ts.map +1 -1
- package/server/dist/services/generators/compose-generator.js +137 -29
- package/server/dist/services/generators/compose-generator.js.map +1 -1
- package/server/dist/services/generators/env-generator.d.ts.map +1 -1
- package/server/dist/services/generators/env-generator.js +17 -2
- package/server/dist/services/generators/env-generator.js.map +1 -1
- package/server/dist/services/generators/secret-generator.d.ts +1 -1
- package/server/dist/services/generators/secret-generator.d.ts.map +1 -1
- package/server/dist/services/generators/secret-generator.js +15 -0
- package/server/dist/services/generators/secret-generator.js.map +1 -1
- package/server/dist/services/upgrade/compose-upgrader.d.ts +36 -0
- package/server/dist/services/upgrade/compose-upgrader.d.ts.map +1 -1
- package/server/dist/services/upgrade/compose-upgrader.js +90 -33
- package/server/dist/services/upgrade/compose-upgrader.js.map +1 -1
- package/server/dist/services/upgrade/minisign.d.ts +53 -0
- package/server/dist/services/upgrade/minisign.d.ts.map +1 -0
- package/server/dist/services/upgrade/minisign.js +126 -0
- package/server/dist/services/upgrade/minisign.js.map +1 -0
- package/server/dist/services/upgrade/self-updater.d.ts.map +1 -1
- package/server/dist/services/upgrade/self-updater.js +61 -1
- package/server/dist/services/upgrade/self-updater.js.map +1 -1
- package/server/dist/types/wizard.d.ts +8 -0
- package/server/dist/types/wizard.d.ts.map +1 -1
- package/server/src/data/service-registry.json +11 -5
- package/public/assets/index-DeByHCh9.css +0 -1
- package/public/assets/index-DeCnqmbD.js +0 -18
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { getCoreServices, getRecommendedServices, getOptionalServices, getRequiredInfrastructure, } from './service-registry.js';
|
|
2
|
+
import imageDigests from '../../data/image-digests.json' with { type: 'json' };
|
|
3
|
+
/**
|
|
4
|
+
* Pin a first-party image by `@sha256` digest when one is recorded for this
|
|
5
|
+
* `(repo, track+suffix)`, so a GHCR tag overwrite can't change what a generated
|
|
6
|
+
* compose pulls. Falls back to the floating `${JARVIS_IMAGE_TAG}` tag when no
|
|
7
|
+
* digest is recorded (offline installs, or before the digest map is refreshed) —
|
|
8
|
+
* a missing digest degrades gracefully, it never breaks generation.
|
|
9
|
+
*/
|
|
10
|
+
export function pinnedOrTaggedImage(baseImage, track, suffix, digests = imageDigests) {
|
|
11
|
+
// The dev track ALWAYS floats (mirrors jarvis-installer#17): dev exists to
|
|
12
|
+
// run the freshest CI-built images, and a frozen digest silently pins
|
|
13
|
+
// dev-lane CI (install-e2e GPU sync stack) to whatever build existed at the
|
|
14
|
+
// last map refresh. Pinning is for release tracks.
|
|
15
|
+
const repo = baseImage.slice(baseImage.lastIndexOf('/') + 1);
|
|
16
|
+
const digest = track === 'dev' ? undefined : digests[repo]?.[`${track}${suffix}`];
|
|
17
|
+
if (digest)
|
|
18
|
+
return `${baseImage}@${digest}`;
|
|
19
|
+
return `${baseImage}:\${JARVIS_IMAGE_TAG:-latest}${suffix}`;
|
|
20
|
+
}
|
|
2
21
|
import { serviceIdToPortVar } from './port-utils.js';
|
|
3
22
|
/**
|
|
4
23
|
* Returns all enabled services (core + selected recommended + selected optional).
|
|
@@ -41,6 +60,31 @@ export function getComposeServices(state, registry) {
|
|
|
41
60
|
*/
|
|
42
61
|
const CPU_FALLBACK_GPU_VARIANTS = new Set(['nvidia', 'amd-rocm']);
|
|
43
62
|
const FIRST_PARTY_PREFIX = 'ghcr.io/alexberardi/';
|
|
63
|
+
// Data-plane infra that holds persistent state/secrets and should NOT be
|
|
64
|
+
// reachable off-host by default. Their published ports bind to 127.0.0.1 (other
|
|
65
|
+
// containers still reach them over the internal `jarvis` network). Opt back out
|
|
66
|
+
// via JARVIS_INFRA_BIND_HOST=0.0.0.0. Infra that legitimately serves external
|
|
67
|
+
// clients — mosquitto (remote nodes), grafana/loki (dashboards) — is excluded;
|
|
68
|
+
// grafana is instead protected by a generated admin password (not a default).
|
|
69
|
+
const DATA_PLANE_INFRA = new Set(['postgres', 'redis', 'minio']);
|
|
70
|
+
function infraBindPrefix(infraId) {
|
|
71
|
+
return DATA_PLANE_INFRA.has(infraId) ? '${JARVIS_INFRA_BIND_HOST:-127.0.0.1}:' : '';
|
|
72
|
+
}
|
|
73
|
+
// Whisper's variant is chosen EXPLICITLY via state.whisperBackend (default "cpu"),
|
|
74
|
+
// independent of the auto-detected LLM gpuType. WHISPER_BACKEND_GPU maps the
|
|
75
|
+
// selection to the gpuType the device emitter understands.
|
|
76
|
+
const WHISPER_BACKEND_SUFFIX = {
|
|
77
|
+
cpu: '',
|
|
78
|
+
cuda: '-cuda',
|
|
79
|
+
vulkan: '-vulkan',
|
|
80
|
+
rocm: '-rocm',
|
|
81
|
+
};
|
|
82
|
+
const WHISPER_BACKEND_GPU = {
|
|
83
|
+
cpu: 'none',
|
|
84
|
+
cuda: 'nvidia',
|
|
85
|
+
vulkan: 'amd',
|
|
86
|
+
rocm: 'amd-rocm',
|
|
87
|
+
};
|
|
44
88
|
/** Whether a service should use a GPU image variant + GPU runtime config for the host. */
|
|
45
89
|
function shouldUseGpuVariant(service, gpuType) {
|
|
46
90
|
if (!service.gpu || !gpuType)
|
|
@@ -146,7 +190,7 @@ function generateInfraBlock(infra, state) {
|
|
|
146
190
|
lines.push(` container_name: jarvis-${infra.id}`);
|
|
147
191
|
if (infra.port) {
|
|
148
192
|
lines.push(' ports:');
|
|
149
|
-
lines.push(` - "\${${portVar}:-${hostPort}}:${infra.port}"`);
|
|
193
|
+
lines.push(` - "${infraBindPrefix(infra.id)}\${${portVar}:-${hostPort}}:${infra.port}"`);
|
|
150
194
|
if (infra.id === 'mosquitto') {
|
|
151
195
|
// WebSocket listener for external nodes via Cloudflare Tunnel
|
|
152
196
|
lines.push(' - "${MOSQUITTO_WS_PORT:-9883}:9001"');
|
|
@@ -169,11 +213,37 @@ function generateInfraBlock(infra, state) {
|
|
|
169
213
|
if (infra.id === 'redis') {
|
|
170
214
|
lines.push(' command: redis-server --requirepass ${REDIS_PASSWORD}');
|
|
171
215
|
}
|
|
172
|
-
// Mosquitto
|
|
173
|
-
//
|
|
174
|
-
// (
|
|
216
|
+
// Mosquitto: hash the shared MQTT credential into a password_file at startup
|
|
217
|
+
// (the generator can't produce mosquitto's $7$ PBKDF2 hash itself), then serve
|
|
218
|
+
// two listeners — raw MQTT on 1884 (LAN nodes) and WebSockets on 9001 (external
|
|
219
|
+
// nodes via Cloudflare Tunnel; CF terminates TLS). allow_anonymous is env-driven
|
|
220
|
+
// and defaults true so the broker still accepts un-migrated clients while
|
|
221
|
+
// credentials roll out; flip MQTT_ALLOW_ANON=false to lock it down. The `$$`
|
|
222
|
+
// escapes Compose interpolation so the CONTAINER shell expands the env vars
|
|
223
|
+
// (MQTT_USERNAME/MQTT_PASSWORD/MQTT_ALLOW_ANON from the environment block above).
|
|
175
224
|
if (infra.id === 'mosquitto') {
|
|
176
|
-
lines.push(' command:
|
|
225
|
+
lines.push(' command:');
|
|
226
|
+
lines.push(' - sh');
|
|
227
|
+
lines.push(' - -c');
|
|
228
|
+
lines.push(' - |');
|
|
229
|
+
// rm -f: mosquitto_passwd -c refuses an existing file on restart (2.1+).
|
|
230
|
+
// chown: mosquitto drops privileges to the mosquitto user BEFORE reading
|
|
231
|
+
// the password file (2.0.22+/2.1 image rebuilds), so a root-owned 0600
|
|
232
|
+
// pwfile crash-loops the broker (mirrors jarvis-installer#16).
|
|
233
|
+
lines.push(' rm -f /tmp/pwfile');
|
|
234
|
+
lines.push(' mosquitto_passwd -b -c /tmp/pwfile "$$MQTT_USERNAME" "$$MQTT_PASSWORD"');
|
|
235
|
+
lines.push(' chown mosquitto:mosquitto /tmp/pwfile');
|
|
236
|
+
lines.push(' {');
|
|
237
|
+
lines.push(' echo "listener 1884"');
|
|
238
|
+
lines.push(' echo "protocol mqtt"');
|
|
239
|
+
lines.push(' echo "listener 9001"');
|
|
240
|
+
lines.push(' echo "protocol websockets"');
|
|
241
|
+
lines.push(' echo "allow_anonymous $$MQTT_ALLOW_ANON"');
|
|
242
|
+
lines.push(' echo "password_file /tmp/pwfile"');
|
|
243
|
+
lines.push(' echo "persistence true"');
|
|
244
|
+
lines.push(' echo "persistence_location /mosquitto/data/"');
|
|
245
|
+
lines.push(' } > /tmp/mosquitto.conf');
|
|
246
|
+
lines.push(' exec mosquitto -c /tmp/mosquitto.conf');
|
|
177
247
|
}
|
|
178
248
|
// Postgres needs healthcheck and init-db mount
|
|
179
249
|
if (infra.id === 'postgres') {
|
|
@@ -201,40 +271,29 @@ function generateInfraBlock(infra, state) {
|
|
|
201
271
|
}
|
|
202
272
|
function getServiceImage(service, state) {
|
|
203
273
|
const raw = service.ghcrImage ?? service.image;
|
|
204
|
-
const isFirstParty = raw.startsWith(FIRST_PARTY_PREFIX);
|
|
205
|
-
const baseImage = raw.includes(':') ? raw.slice(0, raw.lastIndexOf(':')) : raw;
|
|
206
274
|
// Third-party images (e.g. go2rtc) keep their original tag
|
|
207
|
-
if (!
|
|
275
|
+
if (!raw.startsWith(FIRST_PARTY_PREFIX))
|
|
208
276
|
return raw;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
277
|
+
const baseImage = raw.includes(':') ? raw.slice(0, raw.lastIndexOf(':')) : raw;
|
|
278
|
+
// Variant suffix: whisper's explicit backend selection (cpu default), else the
|
|
279
|
+
// LLM gpu variant. Both are independent of each other.
|
|
280
|
+
let suffix = '';
|
|
281
|
+
if (service.id === 'jarvis-whisper-api') {
|
|
282
|
+
suffix = WHISPER_BACKEND_SUFFIX[state.whisperBackend ?? 'cpu'] ?? '';
|
|
283
|
+
}
|
|
284
|
+
else if (shouldUseGpuVariant(service, state.hardware?.gpuType)) {
|
|
212
285
|
const variantSuffix = {
|
|
213
286
|
nvidia: '-cuda',
|
|
214
287
|
amd: '-vulkan',
|
|
215
288
|
'amd-rocm': '-rocm',
|
|
216
289
|
none: '-cpu',
|
|
217
290
|
};
|
|
218
|
-
|
|
291
|
+
suffix = variantSuffix[state.hardware.gpuType] ?? '';
|
|
219
292
|
}
|
|
220
|
-
|
|
293
|
+
const track = state.releaseTrack === 'dev' ? 'dev' : 'latest';
|
|
294
|
+
return pinnedOrTaggedImage(baseImage, track, suffix);
|
|
221
295
|
}
|
|
222
|
-
function
|
|
223
|
-
if (!service.gpu)
|
|
224
|
-
return;
|
|
225
|
-
const detected = state.hardware?.gpuType;
|
|
226
|
-
// cpuFallback services skip GPU runtime config when the host either has no
|
|
227
|
-
// GPU or has a GPU type we don't ship a variant for — they degrade to the
|
|
228
|
-
// CPU image gracefully.
|
|
229
|
-
if (service.cpuFallback) {
|
|
230
|
-
if (!detected || !CPU_FALLBACK_GPU_VARIANTS.has(detected))
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
// GPU-required services (no cpuFallback) MUST get GPU passthrough or the
|
|
234
|
-
// container won't boot. If detection failed (state-reconstructor couldn't
|
|
235
|
-
// probe the host), fall back to nvidia — the most common case and matches
|
|
236
|
-
// legacy installs whose original wizard hardware selection wasn't persisted.
|
|
237
|
-
const gpuType = detected ?? 'nvidia';
|
|
296
|
+
function pushGpuDevices(lines, gpuType) {
|
|
238
297
|
if (gpuType === 'nvidia') {
|
|
239
298
|
lines.push(' ipc: host');
|
|
240
299
|
lines.push(' shm_size: "8gb"');
|
|
@@ -256,6 +315,34 @@ function pushGpuConfig(lines, service, state) {
|
|
|
256
315
|
lines.push(' - video');
|
|
257
316
|
lines.push(' - render');
|
|
258
317
|
}
|
|
318
|
+
}
|
|
319
|
+
function pushGpuConfig(lines, service, state) {
|
|
320
|
+
if (!service.gpu)
|
|
321
|
+
return;
|
|
322
|
+
// Whisper: device passthrough follows the EXPLICIT whisperBackend selection
|
|
323
|
+
// (cpu default), independent of the auto-detected LLM gpuType. cpu -> nothing.
|
|
324
|
+
if (service.id === 'jarvis-whisper-api') {
|
|
325
|
+
const wb = state.whisperBackend ?? 'cpu';
|
|
326
|
+
if (wb !== 'cpu')
|
|
327
|
+
pushGpuDevices(lines, WHISPER_BACKEND_GPU[wb] ?? 'none');
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
const detected = state.hardware?.gpuType;
|
|
331
|
+
// cpuFallback services skip GPU runtime config when the host either has no
|
|
332
|
+
// GPU or has a GPU type we don't ship a variant for — they degrade to the
|
|
333
|
+
// CPU image gracefully.
|
|
334
|
+
if (service.cpuFallback) {
|
|
335
|
+
if (!detected || !CPU_FALLBACK_GPU_VARIANTS.has(detected))
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
// GPU-required services (no cpuFallback) MUST get GPU passthrough or the
|
|
339
|
+
// container won't boot. If detection failed (state-reconstructor couldn't
|
|
340
|
+
// probe the host), fall back to nvidia — the most common case and matches
|
|
341
|
+
// legacy installs whose original wizard hardware selection wasn't persisted.
|
|
342
|
+
const gpuType = detected ?? 'nvidia';
|
|
343
|
+
if (gpuType === 'nvidia' || gpuType === 'amd' || gpuType === 'amd-rocm') {
|
|
344
|
+
pushGpuDevices(lines, gpuType);
|
|
345
|
+
}
|
|
259
346
|
else {
|
|
260
347
|
lines.push(' ipc: host');
|
|
261
348
|
}
|
|
@@ -282,6 +369,10 @@ function generateServiceBlock(service, state, registry) {
|
|
|
282
369
|
lines.push(` - "\${${portVar}:-${hostPort}}:${containerPort}"`);
|
|
283
370
|
// Environment
|
|
284
371
|
lines.push(' environment:');
|
|
372
|
+
// Prod deployment: opt every service into strict boot-time secret enforcement
|
|
373
|
+
// (jarvis-auth's guard is warn-only unless JARVIS_ENV=production). Safe because
|
|
374
|
+
// the generator writes strong secrets for every SECRET_KEY.
|
|
375
|
+
lines.push(' JARVIS_ENV: "production"');
|
|
285
376
|
// Discovery URL style: dockerized makes config-service rewrite localhost-
|
|
286
377
|
// registered entries (e.g. the MQTT broker) → host.docker.internal, reachable
|
|
287
378
|
// via the extra_hosts host-gateway + published port. Only localhost entries are
|
|
@@ -391,6 +482,15 @@ function generateServiceBlock(service, state, registry) {
|
|
|
391
482
|
lines.push(' JARVIS_MODEL_CONTEXT_WINDOW: ${JARVIS_MODEL_CONTEXT_WINDOW:-32768}');
|
|
392
483
|
lines.push(' HUGGINGFACE_HUB_TOKEN: ${HUGGINGFACE_HUB_TOKEN:-}');
|
|
393
484
|
lines.push(' REDIS_URL: redis://:${REDIS_PASSWORD}@redis:6379/0');
|
|
485
|
+
// Internal auth to the model service (:7705). The model service 503s ALL
|
|
486
|
+
// inference when this is unset (while /health stays green), so it must be
|
|
487
|
+
// present on both the API and the worker.
|
|
488
|
+
lines.push(' MODEL_SERVICE_TOKEN: ${MODEL_SERVICE_TOKEN}');
|
|
489
|
+
// gfx1201 (RDNA4) HIP flash-attn kernel faults during inference; ship it OFF
|
|
490
|
+
// on AMD (matches the installer). Discrete-GPU selection is handled in-image.
|
|
491
|
+
if (state.hardware?.gpuType === 'amd' || state.hardware?.gpuType === 'amd-rocm') {
|
|
492
|
+
lines.push(' JARVIS_FLASH_ATTN: "false"');
|
|
493
|
+
}
|
|
394
494
|
}
|
|
395
495
|
// Settings server needs the auth secret for JWT validation
|
|
396
496
|
if (service.id === 'jarvis-settings-server') {
|
|
@@ -503,6 +603,7 @@ function generateWorkerBlock(worker, parent, state, registry) {
|
|
|
503
603
|
lines.push(` image: ${image}`);
|
|
504
604
|
lines.push(` container_name: ${worker.id}`);
|
|
505
605
|
lines.push(' environment:');
|
|
606
|
+
lines.push(' JARVIS_ENV: "production"');
|
|
506
607
|
if (parent.database) {
|
|
507
608
|
const driver = parent.dbDriverPrefix ?? 'postgresql://';
|
|
508
609
|
const dbUrl = `${driver}\${DB_USER:-jarvis}:\${POSTGRES_PASSWORD}@postgres:5432/${parent.database}`;
|
|
@@ -550,11 +651,18 @@ function generateWorkerBlock(worker, parent, state, registry) {
|
|
|
550
651
|
['JARVIS_MODEL_CONTEXT_WINDOW', '${JARVIS_MODEL_CONTEXT_WINDOW:-32768}'],
|
|
551
652
|
['HUGGINGFACE_HUB_TOKEN', '${HUGGINGFACE_HUB_TOKEN:-}'],
|
|
552
653
|
['REDIS_URL', 'redis://:${REDIS_PASSWORD}@redis:6379/0'],
|
|
654
|
+
// The worker authenticates to the model service with the SAME token as the API.
|
|
655
|
+
['MODEL_SERVICE_TOKEN', '${MODEL_SERVICE_TOKEN}'],
|
|
553
656
|
];
|
|
554
657
|
for (const [key, val] of llmProxyEnv) {
|
|
555
658
|
if (!overrideKeys.has(key))
|
|
556
659
|
lines.push(` ${key}: ${val}`);
|
|
557
660
|
}
|
|
661
|
+
// gfx1201 (RDNA4) HIP flash-attn kernel faults; ship it OFF on AMD (matches API + installer).
|
|
662
|
+
if ((state.hardware?.gpuType === 'amd' || state.hardware?.gpuType === 'amd-rocm') &&
|
|
663
|
+
!overrideKeys.has('JARVIS_FLASH_ATTN')) {
|
|
664
|
+
lines.push(' JARVIS_FLASH_ATTN: "false"');
|
|
665
|
+
}
|
|
558
666
|
}
|
|
559
667
|
for (const [key, val] of Object.entries(overrides)) {
|
|
560
668
|
lines.push(` ${key}: ${val}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,YAAY,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAK9E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,KAAa,EACb,MAAc,EACd,UAA0B,YAA8B;IAExD,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,mDAAmD;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAA;IACjF,IAAI,MAAM;QAAE,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAA;IAC3C,OAAO,GAAG,SAAS,gCAAgC,MAAM,EAAE,CAAA;AAC7D,CAAC;AACD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAkB,EAClB,QAAyB;IAEzB,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAA;AAC7D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,QAAyB;IAEzB,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;IACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAA;YACrC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAA;YACzC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AAEzE,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAEjD,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAExE,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,CAAA;AACrF,CAAC;AAED,mFAAmF;AACnF,6EAA6E;AAC7E,2DAA2D;AAC3D,MAAM,sBAAsB,GAA2B;IACrD,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;CACd,CAAA;AACD,MAAM,mBAAmB,GAA2B;IAClD,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,0FAA0F;AAC1F,SAAS,mBAAmB,CAAC,OAA0B,EAAE,OAA2B;IAClF,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAChF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,QAA6B;IAC/D,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,UAAoB,EACpB,QAAyB;IAEzB,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;IACvE,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IACnE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,QAAyB;IAC3E,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEvD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAEvB,uBAAuB;IACvB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,iDAAiD;IACjD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC7D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACd,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAEhC,sEAAsE;IACtE,sEAAsE;IACtE,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,eAAe,GAAG,8BAA8B,CAAA;IACtD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;QACjC,IAAI,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA+B,EAC/B,KAAkB;IAElB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAA;IAEjE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAEpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,OAAO,KAAK,QAAQ,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7F,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;gBAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;IACzE,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,iFAAiF;IACjF,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,kFAAkF;IAClF,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;QAC5F,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;QAChE,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QACxD,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;QAC/C,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;QACpE,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC7D,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;QAC3E,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;IAC5F,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC5B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAEzC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CAAC,OAA0B,EAAE,KAAkB;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAA;IAE9C,2DAA2D;IAC3D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,GAAG,CAAA;IACnD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAE9E,+EAA+E;IAC/E,uDAAuD;IACvD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,OAAO,CAAC,EAAE,KAAK,oBAAoB,EAAE,CAAC;QACxC,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;IACtE,CAAC;SAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,aAAa,GAA2B;YAC5C,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,MAAM;SACb,CAAA;QACD,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,QAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC7D,OAAO,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAe,EAAE,OAAe;IACtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC1C,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IACjD,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,KAAe,EACf,OAA0B,EAC1B,KAAkB;IAElB,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,OAAM;IAExB,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,OAAO,CAAC,EAAE,KAAK,oBAAoB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAA;QACxC,IAAI,EAAE,KAAK,KAAK;YAAE,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAA;IACxC,2EAA2E;IAC3E,0EAA0E;IAC1E,wBAAwB;IACxB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;IACnE,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAA;IACpC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACxE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA0B,EAC1B,KAAkB,EAClB,QAAyB;IAEzB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC9C,yEAAyE;IACzE,0EAA0E;IAC1E,8EAA8E;IAC9E,wEAAwE;IACxE,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;IACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,aAAa,CAAA;IACjE,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE7C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAE/C,gFAAgF;IAChF,2EAA2E;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,aAAa,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACxB,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,KAAK,QAAQ,KAAK,aAAa,GAAG,CAAC,CAAA;IAEpE,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,8EAA8E;IAC9E,gFAAgF;IAChF,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC5C,0EAA0E;IAC1E,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,uEAAuE;IACvE,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IACzD,sFAAsF;IACtF,iEAAiE;IACjE,MAAM,UAAU,GAA6B;QAC3C,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,CAAC,iBAAiB,CAAC;QAClC,sBAAsB,EAAE,CAAC,oBAAoB,CAAC;KAC/C,CAAA;IACD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,aAAa,GAAG,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,eAAe,CAAA;QACxD,KAAK,CAAC,IAAI,CACR,uBAAuB,MAAM,2DAA2D,OAAO,CAAC,QAAQ,EAAE,CAC3G,CAAA;QACD,KAAK,CAAC,IAAI,CACR,kCAAkC,MAAM,2DAA2D,OAAO,CAAC,QAAQ,EAAE,CACtH,CAAA;IACH,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,0FAA0F;QAC1F,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB;YAAE,SAAQ;QACnF,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC1C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,KAAK,oBAAoB,CAAA;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,IAAI,wBAAwB,KAAK,CAAC,YAAY,MAAM,CAAA;IAC9F,MAAM,kBAAkB,GAAG,kCAAkC,CAAA;IAC7D,IAAI,SAAS,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,EAAE,KAAK,uBAAuB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,EAAE,KAAK,uBAAuB,IAAI,KAAK,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QACpF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,CAAC,EAAE,KAAK,uBAAuB,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,EAAE,KAAK,uBAAuB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC7D,CAAC;IAED,2EAA2E;IAC3E,iFAAiF;IACjF,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,OAAO,CAAC,EAAE,KAAK,sBAAsB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAC1E,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,OAAO,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAChD,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5B,qEAAqE;QACrE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,IAAI,CAAC,uCAAuC,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAA;IACjI,KAAK,CAAC,IAAI,CAAC,yCAAyC,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAA;IAEnI,wDAAwD;IACxD,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAA;IACxF,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC1F,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;QACvE,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;QAC7D,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;QACjF,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;QACtF,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QACrE,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,0CAA0C;QAC1C,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QAC/D,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,CAAC,EAAE,KAAK,wBAAwB,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;QAC9D,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAClD,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;YACjE,IAAI,OAAO,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;gBAC3B,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;gBAC3B,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QACjE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACtC,CAAC;IAED,yEAAyE;IACzE,iFAAiF;IACjF,iFAAiF;IACjF,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,OAAO,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,mKAAmK,CAAC,CAAA;IACjL,CAAC;SAAM,IAAI,OAAO,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;QACxC,uEAAuE;QACvE,6EAA6E;QAC7E,6EAA6E;QAC7E,mEAAmE;QACnE,gEAAgE;QAChE,KAAK,CAAC,IAAI,CAAC,wFAAwF,aAAa,IAAI,CAAC,CAAA;IACvH,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,4EAA4E,aAAa,IAAI,CAAC,CAAA;IAC3G,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAEpC,UAAU;IACV,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,wEAAwE;QACxE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;IACjF,CAAC;IACD,6EAA6E;IAC7E,kFAAkF;IAClF,mDAAmD;IACnD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IAEzD,sEAAsE;IACtE,+EAA+E;IAC/E,wEAAwE;IACxE,wEAAwE;IACxE,0CAA0C;IAC1C,IAAI,OAAO,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,wGAAwG,aAAa,GAAG,OAAO,CAAC,WAAW,MAAM,CAAC,CAAA;QAC7J,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,+CAA+C;QAC/C,IAAI,OAAO,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACxC,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC5B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAEzC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAwB,EACxB,MAAyB,EACzB,KAAkB,EAClB,QAAyB;IAEzB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAEpD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAE9C,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAE5C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,IAAI,eAAe,CAAA;QACvD,MAAM,KAAK,GAAG,GAAG,MAAM,2DAA2D,MAAM,CAAC,QAAQ,EAAE,CAAA;QACnG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB;YAAE,SAAQ;QACnF,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QACxC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IACvF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,yCAAyC,YAAY,KAAK,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,2CAA2C,YAAY,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAA;IACtF,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,CAAC,gBAAgB;QACjB,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,EACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC1F,CAAC;IAED,yEAAyE;IACzE,+EAA+E;IAC/E,IAAI,MAAM,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC;QACzC,MAAM,WAAW,GAA4B;YAC3C,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;YAC9C,CAAC,oBAAoB,EAAE,QAAQ,CAAC;YAChC,CAAC,8BAA8B,EAAE,OAAO,CAAC;YACzC,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;YACzD,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;YAC/C,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;YACnE,CAAC,6BAA6B,EAAE,uCAAuC,CAAC;YACxE,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;YACvD,CAAC,WAAW,EAAE,yCAAyC,CAAC;YACxD,gFAAgF;YAChF,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SAClD,CAAA;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,8FAA8F;QAC9F,IACE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,UAAU,CAAC;YAC7E,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,EACtC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAE5C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAEnC,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IAEzD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC5B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAEzC,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsKjF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getCoreServices, getRecommendedServices, getOptionalServices, getRequiredInfrastructure, } from './service-registry.js';
|
|
2
2
|
import { serviceIdToPortVar } from './port-utils.js';
|
|
3
|
-
import { SECRET_KEYS } from './secret-generator.js';
|
|
3
|
+
import { SECRET_KEYS, generateHexSecret } from './secret-generator.js';
|
|
4
4
|
export function generateEnv(state, registry) {
|
|
5
5
|
const lines = [];
|
|
6
6
|
lines.push('# Jarvis Configuration');
|
|
@@ -9,7 +9,11 @@ export function generateEnv(state, registry) {
|
|
|
9
9
|
// Secrets
|
|
10
10
|
lines.push('# --- Secrets ---');
|
|
11
11
|
for (const key of SECRET_KEYS) {
|
|
12
|
-
|
|
12
|
+
// Never emit an empty secret: with JARVIS_ENV=production the boot-time secret
|
|
13
|
+
// guard would refuse to start. A reconstructed install carries its existing
|
|
14
|
+
// value through; a genuinely missing one gets a fresh strong secret (passwords
|
|
15
|
+
// 16 bytes, tokens/keys 32 — matching generateAllSecrets).
|
|
16
|
+
const value = state.secrets[key] || generateHexSecret(key.includes('PASSWORD') ? 16 : 32);
|
|
13
17
|
lines.push(`${key}=${value}`);
|
|
14
18
|
}
|
|
15
19
|
lines.push('');
|
|
@@ -106,6 +110,17 @@ export function generateEnv(state, registry) {
|
|
|
106
110
|
lines.push('# --- Release Track ---');
|
|
107
111
|
lines.push(`JARVIS_IMAGE_TAG=${state.releaseTrack === 'dev' ? 'dev' : 'latest'}`);
|
|
108
112
|
lines.push('');
|
|
113
|
+
// MQTT broker lock. Fresh installs lock the broker from the first boot
|
|
114
|
+
// (allow_anonymous=false): the command-center reads MQTT_PASSWORD from its
|
|
115
|
+
// env and every node fetches broker creds over authenticated HTTP *before* it
|
|
116
|
+
// ever opens an MQTT connection, so there's no anonymous client to strand.
|
|
117
|
+
// The transition window (true) is reserved for in-place UPGRADES of fleets
|
|
118
|
+
// whose nodes predate credential auto-fetch — handled in the compose-upgrader,
|
|
119
|
+
// not here. Compose still defaults `${MQTT_ALLOW_ANON:-true}` as a safety
|
|
120
|
+
// fallback if this line is ever missing.
|
|
121
|
+
lines.push('# --- MQTT Broker ---');
|
|
122
|
+
lines.push('MQTT_ALLOW_ANON=false');
|
|
123
|
+
lines.push('');
|
|
109
124
|
// Native services (macOS only). Comma-separated list of service IDs the user
|
|
110
125
|
// opted to run as LaunchAgents instead of in Docker. Read back by
|
|
111
126
|
// state-reconstructor so reconcile flows keep them out of compose.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Generates a cryptographically secure hex string using Node.js crypto.
|
|
3
3
|
*/
|
|
4
4
|
export declare function generateHexSecret(byteLength?: number): string;
|
|
5
|
-
export declare const SECRET_KEYS: readonly ["AUTH_SECRET_KEY", "JARVIS_CONFIG_ADMIN_TOKEN", "JARVIS_AUTH_ADMIN_TOKEN", "POSTGRES_PASSWORD", "REDIS_PASSWORD", "ADMIN_API_KEY"];
|
|
5
|
+
export declare const SECRET_KEYS: readonly ["AUTH_SECRET_KEY", "JARVIS_CONFIG_ADMIN_TOKEN", "JARVIS_AUTH_ADMIN_TOKEN", "POSTGRES_PASSWORD", "REDIS_PASSWORD", "ADMIN_API_KEY", "MODEL_SERVICE_TOKEN", "MQTT_PASSWORD", "GRAFANA_ADMIN_PASSWORD"];
|
|
6
6
|
export type SecretKey = (typeof SECRET_KEYS)[number];
|
|
7
7
|
/**
|
|
8
8
|
* Generates all required secrets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,MAAW,GAAG,MAAM,CAEjE;AAED,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"secret-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,MAAW,GAAG,MAAM,CAEjE;AAED,eAAO,MAAM,WAAW,gNAsBd,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAO9D"}
|
|
@@ -12,6 +12,21 @@ export const SECRET_KEYS = [
|
|
|
12
12
|
'POSTGRES_PASSWORD',
|
|
13
13
|
'REDIS_PASSWORD',
|
|
14
14
|
'ADMIN_API_KEY',
|
|
15
|
+
// Internal auth between the llm-proxy API/worker and its model service (:7705).
|
|
16
|
+
// The model service 503s ALL inference when this is unset (while /health stays
|
|
17
|
+
// green), so it must be generated + injected on every install. No 'PASSWORD' in
|
|
18
|
+
// the name -> 32 bytes / 64 hex, matching the installer.
|
|
19
|
+
'MODEL_SERVICE_TOKEN',
|
|
20
|
+
// Shared MQTT broker credential (username is the literal 'jarvis'). The
|
|
21
|
+
// mosquitto container hashes this into a password_file at startup; every MQTT
|
|
22
|
+
// client (command-center, nodes) authenticates with it. 'PASSWORD' in the name
|
|
23
|
+
// -> 16 bytes / 32 hex. Preserved across regen so nodes keep authenticating.
|
|
24
|
+
'MQTT_PASSWORD',
|
|
25
|
+
// Grafana admin password. Without this the registry default was the well-known
|
|
26
|
+
// literal 'jarvis' on a 0.0.0.0:3000 bind — any LAN client could log in and read
|
|
27
|
+
// all Loki logs (voice transcripts / PII) + SSRF-pivot via the datasource proxy.
|
|
28
|
+
// 'PASSWORD' in the name -> 16 bytes / 32 hex.
|
|
29
|
+
'GRAFANA_ADMIN_PASSWORD',
|
|
15
30
|
];
|
|
16
31
|
/**
|
|
17
32
|
* Generates all required secrets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-generator.js","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAqB,EAAE;IACvD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,2BAA2B;IAC3B,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;
|
|
1
|
+
{"version":3,"file":"secret-generator.js","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAqB,EAAE;IACvD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,2BAA2B;IAC3B,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;IACf,gFAAgF;IAChF,+EAA+E;IAC/E,gFAAgF;IAChF,yDAAyD;IACzD,qBAAqB;IACrB,wEAAwE;IACxE,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,eAAe;IACf,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,+CAA+C;IAC/C,wBAAwB;CAChB,CAAA;AAIV;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,OAAoC,CAAA;AAC7C,CAAC"}
|
|
@@ -1,4 +1,32 @@
|
|
|
1
1
|
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import type { ServiceRegistry } from '../../types/service-registry.js';
|
|
3
|
+
import type { WhisperBackend } from '../../types/wizard.js';
|
|
4
|
+
export declare function loadEnvFile(composePath: string): Record<string, string>;
|
|
5
|
+
export interface UpgradedComposeFiles {
|
|
6
|
+
compose: string;
|
|
7
|
+
env: string;
|
|
8
|
+
initDb: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* PURE regeneration core: reconstruct the wizard state from an existing install's
|
|
12
|
+
* env and produce the upgraded compose / .env / init-db.sh as STRINGS. Writes
|
|
13
|
+
* nothing. Both the in-place upgrader and the download/CLI path build on this so
|
|
14
|
+
* they can never diverge.
|
|
15
|
+
*
|
|
16
|
+
* Secrets and user config are preserved because they're recovered from
|
|
17
|
+
* ``existingEnv`` (via reconstructWizardState + mergeEnv); named data volumes are
|
|
18
|
+
* matched by Docker on ``up`` since the generator emits stable names, and
|
|
19
|
+
* bind-mount host paths come from env too. A regenerated file is CANONICAL — any
|
|
20
|
+
* hand-edits to the original compose are intentionally not carried over.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildUpgradedComposeFiles(existingEnv: Record<string, string>, registry: ServiceRegistry, overrides?: UpgradeOverrides, hostComposePath?: string): UpgradedComposeFiles;
|
|
23
|
+
/**
|
|
24
|
+
* Non-destructive regeneration for the "download / hand it to the user" flow:
|
|
25
|
+
* read the existing install's env from ``composePath`` and return the upgraded
|
|
26
|
+
* files as strings WITHOUT touching anything on disk. Used by the compose-mode
|
|
27
|
+
* migrator (installer CLI) and the admin download endpoint.
|
|
28
|
+
*/
|
|
29
|
+
export declare function regenerateComposeFiles(composePath: string, overrides?: UpgradeOverrides, hostComposePath?: string): UpgradedComposeFiles;
|
|
2
30
|
/**
|
|
3
31
|
* Upgrade the compose + env files in place, preserving secrets and user config.
|
|
4
32
|
*
|
|
@@ -15,7 +43,15 @@ export interface UpgradeOverrides {
|
|
|
15
43
|
relayEnabled?: boolean;
|
|
16
44
|
relayUrl?: string;
|
|
17
45
|
whisperModelPath?: string;
|
|
46
|
+
whisperBackend?: WhisperBackend;
|
|
18
47
|
releaseTrack?: 'stable' | 'dev';
|
|
48
|
+
/**
|
|
49
|
+
* Flip the MQTT broker's ``allow_anonymous`` (the transition→lockdown control).
|
|
50
|
+
* ``false`` locks the broker to authenticated clients only; ``true`` re-opens
|
|
51
|
+
* it. Undefined leaves the current state untouched. This is an operational
|
|
52
|
+
* flag, not user config, so an explicit value wins over env preservation.
|
|
53
|
+
*/
|
|
54
|
+
mqttAllowAnon?: boolean;
|
|
19
55
|
}
|
|
20
56
|
export declare function upgradeCompose(_app: FastifyInstance, overrides?: UpgradeOverrides): Promise<void>;
|
|
21
57
|
//# sourceMappingURL=compose-upgrader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAyB3D,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYvE;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,QAAQ,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CAkDtB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CAItB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|