kiokuko-dsh 0.2.20 → 0.2.21
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.ja.md +1 -1
- package/README.ko.md +86 -2
- package/README.zh-CN.md +86 -2
- package/dist/dsh/config.d.ts +6 -0
- package/dist/dsh/config.d.ts.map +1 -1
- package/dist/dsh/core/host.d.ts +6 -0
- package/dist/dsh/core/host.d.ts.map +1 -1
- package/dist/dsh/core/index.d.ts +18 -0
- package/dist/dsh/core/index.d.ts.map +1 -1
- package/dist/dsh/decisions/config.d.ts +6 -0
- package/dist/dsh/decisions/config.d.ts.map +1 -1
- package/dist/dsh/decisions/config.js +1 -0
- package/dist/dsh/decisions/config.js.map +1 -1
- package/dist/dsh/decisions/contracts.d.ts +4 -3
- package/dist/dsh/decisions/contracts.d.ts.map +1 -1
- package/dist/dsh/decisions/contracts.js +1 -1
- package/dist/dsh/decisions/contracts.js.map +1 -1
- package/dist/dsh/decisions/curator.d.ts +5 -0
- package/dist/dsh/decisions/curator.d.ts.map +1 -0
- package/dist/dsh/decisions/curator.js +17 -0
- package/dist/dsh/decisions/curator.js.map +1 -0
- package/dist/dsh/decisions/diagnostics.d.ts +11 -10
- package/dist/dsh/decisions/diagnostics.d.ts.map +1 -1
- package/dist/dsh/decisions/diagnostics.js +1 -1
- package/dist/dsh/decisions/diagnostics.js.map +1 -1
- package/dist/dsh/decisions/service.d.ts +1 -0
- package/dist/dsh/decisions/service.d.ts.map +1 -1
- package/dist/dsh/decisions/service.js +2 -1
- package/dist/dsh/decisions/service.js.map +1 -1
- package/dist/dsh/host-adapter/tool-host.d.ts.map +1 -1
- package/dist/dsh/host-adapter/tool-host.js +5 -2
- package/dist/dsh/host-adapter/tool-host.js.map +1 -1
- package/dist/dsh/index.d.ts +6 -0
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/locale/en.json +1 -1
- package/dist/locale/ja.json +1 -1
- package/dist/locale/ko.json +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/dist/memory/correction-contract.d.ts +12 -12
- package/dist/memory/curator-classification.d.ts +52 -0
- package/dist/memory/curator-classification.d.ts.map +1 -0
- package/dist/memory/curator-classification.js +103 -0
- package/dist/memory/curator-classification.js.map +1 -0
- package/dist/memory/curator.d.ts +16 -2
- package/dist/memory/curator.d.ts.map +1 -1
- package/dist/memory/curator.js +72 -47
- package/dist/memory/curator.js.map +1 -1
- package/docs/curator-classification.md +76 -0
- package/docs/dependency-security.md +26 -0
- package/migrations/046_curator_classification.sql +12 -0
- package/package.json +1 -1
package/dist/memory/curator.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { classifyCuratorEntry, readCuratorAssessment } from './curator-classification.js';
|
|
1
2
|
import { withImmediateTransaction } from '../db/transaction.js';
|
|
2
3
|
import { KiokukoError } from '../errors.js';
|
|
3
4
|
import { canonicalJson, canonicalTagOrder, compareCanonicalStrings, requireWorkspace } from '../serialization/validate.js';
|
|
@@ -14,9 +15,6 @@ export { CURATOR_DRAFT_VERSION } from './curator-trust.js';
|
|
|
14
15
|
const DEFAULT_LIMIT = 10;
|
|
15
16
|
const MAX_LIMIT = 50;
|
|
16
17
|
const MIN_CURATOR_SCORE = 4;
|
|
17
|
-
const GENERIC_LANGUAGE = /(?:汎用|一般化|再利用|共通|手順|パターン|ベストプラクティス|トラブルシューティング|workflow|pattern|best practice|troubleshoot|how[- ]to|reusable|portable|avoid|when to)/iu;
|
|
18
|
-
const PROCEDURAL_LANGUAGE = /(?:する|して|確認|切り分け|手順|場合|必要|use|run|check|verify|configure|prefer|avoid|when|if|then|should)/iu;
|
|
19
|
-
const LOCAL_LANGUAGE = /(?:この(?:リポジトリ|プロジェクト)|this (?:repository|project)|project-specific|project:|repo_[a-z0-9_]+)/iu;
|
|
20
18
|
const ABSOLUTE_PATH = /(?:\/(?:Users|home|private)\/|[A-Za-z]:[\\/])/u;
|
|
21
19
|
const ABSOLUTE_PATH_GLOBAL = /(?:\/(?:Users|home|private)\/[^\s`"'<>()[\]{},;!?。!?、]+|[A-Za-z]:[\\/][^\s`"'<>()[\]{},;!?。!?、]+)/gu;
|
|
22
20
|
const PROJECT_RELATIVE_PATH = /\b(?:src|tests?|app|lib|packages?|config|resources|migrations)[\\/][A-Za-z0-9_.@/\\-]+\b/gu;
|
|
@@ -180,7 +178,7 @@ function overviewLines(draft, metadata) {
|
|
|
180
178
|
const japanese = JAPANESE_TEXT.test(draft.body);
|
|
181
179
|
return [draft.summary, procedure, `${japanese ? '適用条件' : 'Applicability'}: ${applicabilityLine(metadata.applicability, japanese)}`];
|
|
182
180
|
}
|
|
183
|
-
function scoreEntry(entry) {
|
|
181
|
+
function scoreEntry(entry, classification) {
|
|
184
182
|
const metadata = readStructuredMetadata(entry);
|
|
185
183
|
const text = sourceText(entry);
|
|
186
184
|
let score = 0;
|
|
@@ -210,19 +208,15 @@ function scoreEntry(entry) {
|
|
|
210
208
|
score += 2;
|
|
211
209
|
reasons.push('汎用化を示すタグがあります');
|
|
212
210
|
}
|
|
213
|
-
if (
|
|
211
|
+
if (classification.reusable) {
|
|
214
212
|
score += 2;
|
|
215
213
|
reasons.push('汎用的・再利用可能な表現があります');
|
|
216
214
|
}
|
|
217
|
-
if (
|
|
215
|
+
if (classification.procedural) {
|
|
218
216
|
score += 1;
|
|
219
217
|
reasons.push('手順・判断基準として読めます');
|
|
220
218
|
}
|
|
221
|
-
if (
|
|
222
|
-
score += 1;
|
|
223
|
-
reasons.push('説明が十分な長さです');
|
|
224
|
-
}
|
|
225
|
-
if (LOCAL_LANGUAGE.test(text)) {
|
|
219
|
+
if (classification.projectBound) {
|
|
226
220
|
score -= 3;
|
|
227
221
|
warnings.push('プロジェクト固有の表現があります');
|
|
228
222
|
}
|
|
@@ -241,12 +235,14 @@ function scoreEntry(entry) {
|
|
|
241
235
|
}
|
|
242
236
|
return { score, reasons: [...new Set(reasons)], warnings: [...new Set(warnings)], metadata };
|
|
243
237
|
}
|
|
244
|
-
function candidateFromEntry(database, entry) {
|
|
238
|
+
function candidateFromEntry(database, entry, classification) {
|
|
239
|
+
if (!classification)
|
|
240
|
+
return null;
|
|
245
241
|
if (entry.workspace === GLOBAL_WORKSPACE || entry.status !== 'candidate')
|
|
246
242
|
return null;
|
|
247
243
|
if (isExternalSkillReference(entry))
|
|
248
244
|
return null;
|
|
249
|
-
const scored = scoreEntry(entry);
|
|
245
|
+
const scored = scoreEntry(entry, classification);
|
|
250
246
|
const evidence = readKnowledgeEvidence(database, entry);
|
|
251
247
|
const portableEvidence = evidence.independentWorkspaces >= 2 || hasValues(scored.metadata.applicability);
|
|
252
248
|
const readinessReasons = [
|
|
@@ -269,6 +265,7 @@ function candidateFromEntry(database, entry) {
|
|
|
269
265
|
return null;
|
|
270
266
|
const draft = regenerateCuratorDraft(entry, scored.metadata);
|
|
271
267
|
return {
|
|
268
|
+
classification,
|
|
272
269
|
entryId: entry.id,
|
|
273
270
|
workspace: entry.workspace,
|
|
274
271
|
revision: entry.revision,
|
|
@@ -369,7 +366,7 @@ function scanCuratorRows(database, clauses, parameters) {
|
|
|
369
366
|
}
|
|
370
367
|
return rows;
|
|
371
368
|
}
|
|
372
|
-
function listCuratorCandidates(database, workspace, input, limit) {
|
|
369
|
+
async function listCuratorCandidates(database, workspace, input, limit, context, classificationStatus) {
|
|
373
370
|
if (workspace === GLOBAL_WORKSPACE)
|
|
374
371
|
return { candidates: [], truncated: false, nextCursor: null, totalApproximate: 0 };
|
|
375
372
|
const workspaces = input.workspaces?.length ? [...new Set(input.workspaces)] : workspace === null ? undefined : [workspace];
|
|
@@ -385,33 +382,52 @@ function listCuratorCandidates(database, workspace, input, limit) {
|
|
|
385
382
|
const search = input.search?.trim().normalize('NFKC').toLowerCase();
|
|
386
383
|
const frameworks = (input.frameworks ?? []).map(normalizeSearchSignal);
|
|
387
384
|
const languages = (input.languages ?? []).map(normalizeSearchSignal);
|
|
388
|
-
const
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
return null;
|
|
398
|
-
if (tags.length > 0) {
|
|
399
|
-
const matched = tags.map((tag) => entry.tags.includes(tag));
|
|
400
|
-
if (input.tagMode === 'all' ? matched.some((value) => !value) : matched.every((value) => !value))
|
|
385
|
+
const eligible = [];
|
|
386
|
+
let attempted = 0;
|
|
387
|
+
const started = performance.now();
|
|
388
|
+
for (const row of rows) {
|
|
389
|
+
context.signal.throwIfAborted();
|
|
390
|
+
const candidate = await (async () => {
|
|
391
|
+
const entry = readEntry(database, { workspace: row.workspace, entryId: row.id });
|
|
392
|
+
const metadata = readStructuredMetadata(entry);
|
|
393
|
+
if (entry.status !== 'candidate' || isExternalSkillReference(entry))
|
|
401
394
|
return null;
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
395
|
+
if (search !== undefined && search.length > 0 && ![
|
|
396
|
+
entry.title, entry.summary ?? '', entry.body, ...entry.tags,
|
|
397
|
+
].some((value) => value.normalize('NFKC').toLowerCase().includes(search)))
|
|
398
|
+
return null;
|
|
399
|
+
if (tags.length > 0) {
|
|
400
|
+
const matched = tags.map((tag) => entry.tags.includes(tag));
|
|
401
|
+
if (input.tagMode === 'all' ? matched.some((value) => !value) : matched.every((value) => !value))
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
if (frameworks.length > 0 && !(metadata.applicability?.frameworks ?? []).some((item) => frameworks.includes(normalizeSearchSignal(item.name))))
|
|
405
|
+
return null;
|
|
406
|
+
if (languages.length > 0 && !(metadata.applicability?.languages ?? []).some((language) => languages.includes(normalizeSearchSignal(language))))
|
|
407
|
+
return null;
|
|
408
|
+
if (input.memoryClasses?.length && (metadata.memoryClass === undefined || !input.memoryClasses.includes(metadata.memoryClass)))
|
|
409
|
+
return null;
|
|
410
|
+
const cached = context.backend && context.backend.isCurrent?.() !== false ? readCuratorAssessment(database, entry, { configurationDigest: context.backend.configurationDigest }) : undefined;
|
|
411
|
+
const outcome = !context.backend ? { status: 'unavailable', reason: 'classifier_disabled_or_unavailable' }
|
|
412
|
+
: cached ? { status: 'classified', assessment: cached }
|
|
413
|
+
: attempted >= 50 || performance.now() - started >= 10000 ? { status: 'unavailable', reason: 'budget_exhausted_narrow_filters' }
|
|
414
|
+
: await classifyCuratorEntry(database, entry, (attempted++, context.backend), context.signal, Math.max(1, Math.min(5000, Math.floor(10000 - (performance.now() - started)))));
|
|
415
|
+
if (outcome.status === 'unavailable') {
|
|
416
|
+
classificationStatus.unavailable++;
|
|
417
|
+
if (!classificationStatus.reasons.includes(outcome.reason))
|
|
418
|
+
classificationStatus.reasons.push(outcome.reason);
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
classificationStatus.classified++;
|
|
422
|
+
const candidate = candidateFromEntry(database, entry, outcome.assessment);
|
|
423
|
+
if (candidate !== null && globalEntries.some((global) => globalizesSource(global, entry)))
|
|
424
|
+
return null;
|
|
425
|
+
return candidate;
|
|
426
|
+
})();
|
|
427
|
+
if (candidate !== null)
|
|
428
|
+
eligible.push(candidate);
|
|
429
|
+
}
|
|
430
|
+
const candidates = eligible
|
|
415
431
|
.filter((candidate) => !input.skillReadyOnly || candidate.knowledge.skillReady)
|
|
416
432
|
.filter((candidate) => input.tiers === undefined || input.tiers.includes(candidate.knowledge.tier))
|
|
417
433
|
.sort(compareCuratorCandidates);
|
|
@@ -432,7 +448,7 @@ function listCuratorCandidates(database, workspace, input, limit) {
|
|
|
432
448
|
totalApproximate: deduplicated.length,
|
|
433
449
|
};
|
|
434
450
|
}
|
|
435
|
-
export async function curateMemoryCandidates(database, input = {}) {
|
|
451
|
+
export async function curateMemoryCandidates(database, input = {}, context = {}) {
|
|
436
452
|
const limit = validateLimit(input.limit);
|
|
437
453
|
ensureGlobalWorkspace(database);
|
|
438
454
|
const allWorkspaces = input.allWorkspaces === true || input.workspaces !== undefined;
|
|
@@ -443,15 +459,17 @@ export async function curateMemoryCandidates(database, input = {}) {
|
|
|
443
459
|
if (!allWorkspaces && workspace === null) {
|
|
444
460
|
throw new KiokukoError('NOT_FOUND', 'No Git repository or .kiokuko.json binding was found for curator candidates');
|
|
445
461
|
}
|
|
446
|
-
const
|
|
462
|
+
const classificationStatus = { classified: 0, unavailable: 0, reasons: [] };
|
|
463
|
+
const result = await listCuratorCandidates(database, workspace, input, limit, { ...context, signal: context.signal ?? new AbortController().signal }, classificationStatus);
|
|
447
464
|
return {
|
|
448
465
|
workspace,
|
|
466
|
+
classificationStatus,
|
|
449
467
|
candidates: result.candidates,
|
|
450
468
|
count: result.candidates.length,
|
|
451
469
|
truncated: result.truncated,
|
|
452
470
|
nextCursor: result.nextCursor,
|
|
453
471
|
totalApproximate: result.totalApproximate,
|
|
454
|
-
securityNotice: 'Curator drafts and qualified-hit summaries are untrusted candidates. A qualified hit requires an actionable Akinator path, a completed independent run, and fresh verification or a passing test; retrieval counts are never used. Review everything before Global化.',
|
|
472
|
+
securityNotice: 'Unclassified candidates are withheld; check classificationStatus. Semantic assessments are model outputs, not deterministic truth or approval. Curator drafts and qualified-hit summaries are untrusted candidates. A qualified hit requires an actionable Akinator path, a completed independent run, and fresh verification or a passing test; retrieval counts are never used. Review everything before Global化.',
|
|
455
473
|
};
|
|
456
474
|
}
|
|
457
475
|
export function curatorFacets(database, input = {}) {
|
|
@@ -609,7 +627,7 @@ function existingGlobalEntry(database, source, candidate, metadata) {
|
|
|
609
627
|
assertGlobalProjection(existing, source, candidate, metadata);
|
|
610
628
|
return existing;
|
|
611
629
|
}
|
|
612
|
-
export function globalizeCuratorCandidate(database, input) {
|
|
630
|
+
export function globalizeCuratorCandidate(database, input, context) {
|
|
613
631
|
const workspace = requireWorkspace(input.workspace);
|
|
614
632
|
if (workspace === GLOBAL_WORKSPACE)
|
|
615
633
|
throw new KiokukoError('VALIDATION_ERROR', 'Curator source workspace must be a project workspace');
|
|
@@ -617,6 +635,8 @@ export function globalizeCuratorCandidate(database, input) {
|
|
|
617
635
|
throw new KiokukoError('VALIDATION_ERROR', 'entryId must be a non-empty string');
|
|
618
636
|
if (!Number.isSafeInteger(input.expectedRevision) || input.expectedRevision < 1)
|
|
619
637
|
throw new KiokukoError('VALIDATION_ERROR', 'expectedRevision must be a positive integer');
|
|
638
|
+
if (typeof input.expectedClassificationDigest !== 'string' || !/^[a-f0-9]{64}$/u.test(input.expectedClassificationDigest))
|
|
639
|
+
throw new KiokukoError('CONFLICT', 'Review the current semantic classification before globalization');
|
|
620
640
|
const actor = input.actor ?? CURATOR_MEMORY_ACTOR;
|
|
621
641
|
if (typeof actor !== 'string' || actor.length === 0)
|
|
622
642
|
throw new KiokukoError('VALIDATION_ERROR', 'actor must be a non-empty string');
|
|
@@ -629,10 +649,15 @@ export function globalizeCuratorCandidate(database, input) {
|
|
|
629
649
|
throw new KiokukoError('CONFLICT', 'External skill references cannot be Global化候補になります');
|
|
630
650
|
if (source.revision !== input.expectedRevision)
|
|
631
651
|
throw new KiokukoError('CONFLICT', 'Entry revision is stale');
|
|
632
|
-
const
|
|
652
|
+
const classification = readCuratorAssessment(database, source, { digest: input.expectedClassificationDigest });
|
|
653
|
+
if (!context || !classification || classification.configurationDigest !== context.configurationDigest)
|
|
654
|
+
throw new KiokukoError('CONFLICT', 'Curator classification configuration is stale or unavailable');
|
|
655
|
+
if (classification.projectBound)
|
|
656
|
+
throw new KiokukoError('CONFLICT', 'Project-bound meaning must be revised and reclassified before globalization');
|
|
657
|
+
const candidate = candidateFromEntry(database, source, classification);
|
|
633
658
|
if (candidate === null)
|
|
634
659
|
throw new KiokukoError('CONFLICT', 'This entry is not recommended for Global化 by curator');
|
|
635
|
-
const metadata =
|
|
660
|
+
const metadata = readStructuredMetadata(source);
|
|
636
661
|
const existing = existingGlobalEntry(database, source, candidate, metadata);
|
|
637
662
|
if (existing) {
|
|
638
663
|
if (autoGlobalizationInstalled(database))
|
|
@@ -691,7 +716,7 @@ export function formatCuratorCandidate(candidate) {
|
|
|
691
716
|
}
|
|
692
717
|
export function curatorCandidateForEntry(database, input) {
|
|
693
718
|
const entry = readEntry(database, { workspace: input.workspace, entryId: input.entryId });
|
|
694
|
-
const candidate = candidateFromEntry(database, entry);
|
|
719
|
+
const candidate = candidateFromEntry(database, entry, readCuratorAssessment(database, entry, { digest: input.classificationDigest }));
|
|
695
720
|
if (candidate === null)
|
|
696
721
|
throw new KiokukoError('CONFLICT', 'Entry is not a curator candidate');
|
|
697
722
|
return candidate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curator.js","sourceRoot":"","sources":["../../src/memory/curator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAmC,MAAM,8BAA8B,CAAC;AAC5J,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAoB,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAsD,MAAM,+BAA+B,CAAC;AAC1H,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,IAAI,mCAAmC,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,gBAAgB,GAAG,yIAAyI,CAAC;AACnK,MAAM,mBAAmB,GAAG,8FAA8F,CAAC;AAC3H,MAAM,cAAc,GAAG,gGAAgG,CAAC;AACxH,MAAM,aAAa,GAAG,gDAAgD,CAAC;AACvE,MAAM,oBAAoB,GAAG,qGAAqG,CAAC;AACnI,MAAM,qBAAqB,GAAG,4FAA4F,CAAC;AAC3H,MAAM,6BAA6B,GAAG,2FAA2F,CAAC;AAClI,MAAM,kBAAkB,GAAG,wDAAwD,CAAC;AACpF,MAAM,cAAc,GAAG,6IAA6I,CAAC;AACrK,MAAM,aAAa,GAAG,yDAAyD,CAAC;AA4GhF,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc,EAAE,KAAkB,EAAE,KAA8B;IACtG,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC;QAAE,MAAM,KAAK,CAAC;IAChI,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,KAAK,sBAAsB,EAAE;QACrF,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkB;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAgC,CAAC;IACnD,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,WAA0B,CAAC,EAAE,CAAC;QACnG,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAA0B,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,QAAQ,CAAC,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB;IACpC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAwC,EAAE,QAAQ,GAAG,IAAI;IAClF,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,kEAAkE,CAAC;IACnH,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5H,IAAI,aAAa,CAAC,UAAU,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChL,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,aAAa,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAgC,CAAC;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAqC,CAAC;IAClE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACzH,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3G,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa,EAAE,KAAkB;IACpE,OAAO,mCAAmC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,KAAkB,EAAE,KAAK,GAAG,KAAK;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACxE,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC;IAC1E,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvL,MAAM,GAAG,MAAM;SACZ,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC3C,OAAO,CAAC,oBAAoB,EAAE,eAAe,CAAC;SAC9C,OAAO,CAAC,qBAAqB,EAAE,eAAe,CAAC;SAC/C,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SAC/C,OAAO,CAAC,qDAAqD,EAAE,oBAAoB,CAAC;SACpF,OAAO,CAAC,gCAAgC,EAAE,UAAU,CAAC;SACrD,OAAO,CAAC,mEAAmE,EAAE,2BAA2B,CAAC;SACzG,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/G,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,MAAM;aACZ,OAAO,CAAC,4DAA4D,EAAE,EAAE,CAAC;aACzE,OAAO,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,KAAK,CAAC,SAAS,CAAC;SAChB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;SACxE,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAkB,EAAE,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC;IACjG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACxF,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3H,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC;YACE,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACpE,EAAE,EAAE,MAAM,EAAE,aAAa;YACzB,EAAE,EAAE,IAAI,EAAE,0CAA0C;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC;YACE,SAAS,EAAE,OAAO;YAClB,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3E,EAAE,EAAE,eAAe,EAAE,aAAa;YAClC,EAAE,EAAE,cAAc,EAAE,4GAA4G;SACjI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,OAAO,GAAyB,CAAC,6BAA6B,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,KAAK,KAAK,CAAC,KAAK,IAAI,cAAc,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzH,MAAM,WAAW,GAAI,KAAK,CAAC,UAAsC,CAAC,WAAW,CAAC;IAC9E,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1K,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC9E,OAAO;QACL,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACnF,OAAO;QACP,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAmB,EAAE,QAA4B;IACtE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;WACtH,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,KAAK,iBAAiB,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtI,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACvF,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QAChF,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gEAAgE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzG,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,WAAW,GAAI,KAAK,CAAC,UAAU,CAAC,WAAuB,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,KAAK,IAAI,CAAC,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,WAAW,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7F,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB,EAAE,KAAkB;IACtE,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACtF,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,qBAAqB,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACzG,MAAM,gBAAgB,GAAG;QACvB,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC5E,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAC5E,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,IAAI,CAAC;WACzC,QAAQ,CAAC,eAAe,IAAI,CAAC;WAC7B,QAAQ,CAAC,mBAAmB,IAAI,GAAG;WACnC,gBAAgB,CAAC;IACtB,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,GAAG,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACxG,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC/C,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACtK,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA2B;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtG,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;eAC/G,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnJ,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACzI,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAsB,EAAE,KAAuB;IAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;WACxE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;WACxB,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;WACxD,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;WACxD,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA2B,EAAE,MAA8C;IACvG,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK;WACvD,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;eACzF,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;mBAC1E,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;uBAClF,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,eAAe,CACtB,QAAwB,EACxB,OAAiB,EACjB,UAAkC;IAElC,MAAM,WAAW,GAAG,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,IAAI,MAA8B,CAAC;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;UAIE,CAAC;QACP,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1G,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;;;eAGpB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;WACzB,YAAY;;;KAGlB,CAAC,CAAC,GAAG,CAAa,GAAG,UAAU,EAAE,GAAG,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,sEAAsE,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM;QACpC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAwB,EACxB,SAAwB,EACxB,KAA6B,EAC7B,KAAa;IAEb,IAAI,SAAS,KAAK,gBAAgB;QAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IACvH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5H,MAAM,UAAU,GAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,wBAAwB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;YAChD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI;SAC5D,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACvF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5J,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5J,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5I,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACvG,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,SAAS,EAAiC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC;SACxE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;SAC9E,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAClG,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACnD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/D,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK;QACjC,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1G,gBAAgB,EAAE,YAAY,CAAC,MAAM;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAwB,EAAE,QAAgC,EAAE;IACvG,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;IACrF,MAAM,QAAQ,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpG,IAAI,CAAC,aAAa,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,6EAA6E,CAAC,CAAC;IACrH,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxE,OAAO;QACL,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,cAAc,EAAE,sQAAsQ;KACvR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAwB,EAAE,QAAoF,EAAE;IAC5I,MAAM,UAAU,GAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7I,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzE,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW;WAChD,CAAC,wBAAwB,CAAC,KAAK,CAAC;WAChC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QAC1C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,KAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;YAClG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;YAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,MAAM,GAAG,CAAmB,MAAsB,EAAsC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;SACzG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAA2B,SAAS,CAAC,CAAC;QAC1I,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/G,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB,EAAE,QAA4B,EAAE,SAAS,GAAG,KAAK;IAC1F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAC7E,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACrF,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAE,KAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC;SACpI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAC1B,CAAC;IACnB,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvG,OAAO,oBAAoB,CAAC;QAC1B,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,WAAW;QACX,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAClF,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS;gBAC3D,CAAC,CAAC,0EAA0E;gBAC5E,CAAC,CAAC,2DAA2D,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,qFAAqF;IACrF,sGAAsG;IACtG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO;QACL,KAAK,EAAE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC/C,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QAC9C,IAAI,EAAE,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAChG,QAAQ,EAAE,iBAAiB,EAAE,WAAW,qBAAqB,EAAE,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB;IACxC,OAAO,iBAAiB,CAAC;QACvB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,QAAQ;QACR,eAAe;QACf,WAAW,qBAAqB,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB,EAAE,SAAiB;IACrE,MAAM,WAAW,GAAG,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;GAM7B,CAAC,CAAC,GAAG,CAAiB,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB,EAAE,MAAmB;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAqC,CAAC;IAChE,OAAO,UAAU,CAAC,IAAI,KAAK,mBAAmB;WACzC,UAAU,CAAC,SAAS,KAAK,gBAAgB,CAAC,MAAM,CAAC;WACjD,UAAU,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmB,EAAE,MAAmB;IAChE,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAmB,EAAE,SAAiB;IACtE,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAqC,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACnC,eAAe,EAAE,MAAM,CAAC,SAAS;QACjC,GAAG,CAAC,OAAO,gBAAgB,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/H,GAAG,CAAC,OAAO,gBAAgB,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,UAAU,EAAE,oBAAoB;QAChC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAmB,EACnB,MAAmB,EACnB,SAA2B,EAC3B,QAA4B;IAE5B,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB;WACpC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;WAC3B,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,KAAK;WACtC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI;WACpC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO;WAC1C,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;WAChF,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,kBAAkB,CAAC;WACtE,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;WACtD,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;WACpE,MAAM,CAAC,QAAQ,KAAK,CAAC;WACrB,MAAM,CAAC,YAAY,KAAK,IAAI;WAC5B,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iFAAiF,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,MAAmB,EACnB,SAA2B,EAC3B,QAA4B;IAE5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS;QAAE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAwB,EAAE,KAA4B;IAC9F,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,gBAAgB;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,sDAAsD,CAAC,CAAC;IACvI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;IACtJ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;IAC3K,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;IACpI,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElD,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC;QACtH,IAAI,wBAAwB,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;QAC/H,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,gBAAgB;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QAC9G,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,sDAAsD,CAAC,CAAC;QACnH,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,0BAA0B,CAAC,QAAQ,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC;iEACA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE;YAChD,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK;YAC5B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;YAC1B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO;YAChC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC;YACxC,UAAU;YACV,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;YAC5C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;YAC5B,SAAS,EAAE,oBAAoB;YAC/B,KAAK;SACN,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACZ,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7E,IAAI,SAAS,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sDAAsD,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,0BAA0B,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,OAAO,CAAC;+DACA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAA2B;IAChE,OAAO;QACL,SAAS,SAAS,CAAC,SAAS,EAAE;QAC9B,SAAS,SAAS,CAAC,OAAO,eAAe,SAAS,CAAC,QAAQ,EAAE;QAC7D,KAAK;QACL,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,UAAU;QACV,WAAW,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;QAClC,SAAS,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QAClC,OAAO;QACP,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QAChE,WAAW,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACpC,SAAS,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7C,UAAU,SAAS,CAAC,KAAK,EAAE;QAC3B,WAAW,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;QACtF,kBAAkB,SAAS,CAAC,SAAS,CAAC,aAAa,aAAa,SAAS,CAAC,SAAS,CAAC,eAAe,iBAAiB,SAAS,CAAC,SAAS,CAAC,qBAAqB,EAAE;QAC/J,WAAW,SAAS,CAAC,SAAS,CAAC,mBAAmB,EAAE;QACpD,SAAS,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACpF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAwB,EAAE,KAA6C;IAC9G,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;IAC/F,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"curator.js","sourceRoot":"","sources":["../../src/memory/curator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Curator semantic classification (opt-in)
|
|
2
|
+
|
|
3
|
+
Curator no longer treats Japanese/English keywords or character count as semantic
|
|
4
|
+
proof. The provider-neutral `curator-classification` Typed Decisions contract asks
|
|
5
|
+
three independent questions: reusable meaning, actionable procedure, and
|
|
6
|
+
project-bound meaning. It is not correction classification and does not assign
|
|
7
|
+
trust, verification, skill readiness, or permission.
|
|
8
|
+
|
|
9
|
+
## Safe rollout
|
|
10
|
+
|
|
11
|
+
The feature defaults to off. Explicitly set
|
|
12
|
+
`typedDecisions.curatorClassification.mode` to `auto` in the existing Typed
|
|
13
|
+
Decisions configuration when intentionally testing or enabling the classifier.
|
|
14
|
+
The host passes the configured DecisionService to `curator_check`; it never
|
|
15
|
+
substitutes a provider or lowers its acceptance gates. Default-off means Curator
|
|
16
|
+
returns no admitted candidates until classification is enabled, with an explicit
|
|
17
|
+
`classificationStatus` explaining withheld candidates. Ordinary memory capture,
|
|
18
|
+
retrieval, and existing trusted global entries are not disabled.
|
|
19
|
+
|
|
20
|
+
Current evidence is offline only. Do not interpret the new contract as a claim of
|
|
21
|
+
multilingual model accuracy. Validate the selected provider/model against the
|
|
22
|
+
benchmark, especially missed project-local boundaries, before enabling it for
|
|
23
|
+
real data. Enabling may send complete title, summary and body to the configured
|
|
24
|
+
provider, subject to the existing credential, secret filtering and size limits.
|
|
25
|
+
|
|
26
|
+
## Persistence and approval
|
|
27
|
+
|
|
28
|
+
Inference is not guaranteed deterministic. A successful classification is stored
|
|
29
|
+
with source identity/revision/content digest, schema/policy version, configuration
|
|
30
|
+
digest, provider/model metadata, and result digest. The first persisted result
|
|
31
|
+
wins for that exact identity. Repeated views and restarts replay it; downstream
|
|
32
|
+
scoring and draft rendering are deterministic. This is integrity/reproducibility,
|
|
33
|
+
not evidence that the model is correct. The existing deterministic draft version
|
|
34
|
+
continues to describe only draft generation, not inference.
|
|
35
|
+
|
|
36
|
+
Unknown, abstained, malformed, oversized, timed-out, stale or unavailable results
|
|
37
|
+
cannot admit candidates or authorize globalization. No semantic regex fallback
|
|
38
|
+
exists. Unsuccessful assessments are not cached by the Curator store (the
|
|
39
|
+
DecisionService may retain its own request-bound outcome). A later bounded
|
|
40
|
+
invocation can attempt classification again. A view processes at most 50 new
|
|
41
|
+
assessments with a 10-second inference budget and reports deferred rows; narrow
|
|
42
|
+
filters if necessary. Cached rows are still checked for cancellation and current
|
|
43
|
+
configuration.
|
|
44
|
+
|
|
45
|
+
Globalization remains an explicit application action, never a classifier side
|
|
46
|
+
effect. Its synchronous API requires the reviewed assessment digest and a
|
|
47
|
+
separate host-owned current configuration digest. Callers must obtain that digest
|
|
48
|
+
from the initialized current DecisionService, not from model or user input.
|
|
49
|
+
Changed source/configuration, corrupted evidence or missing review identity
|
|
50
|
+
reject the action. Project-bound assessments are previewable but cannot be
|
|
51
|
+
globalized: revise the source into genuinely portable knowledge, then reclassify
|
|
52
|
+
and review it. Lexical draft normalization is not multilingual portability proof.
|
|
53
|
+
Existing trust/projection checks and qualified-application evidence stay intact;
|
|
54
|
+
classification does not enable the separate automatic globalization route.
|
|
55
|
+
|
|
56
|
+
## Reproducible evaluation
|
|
57
|
+
|
|
58
|
+
Run `node --import tsx --test tests/dsh/unit/curator-classification.test.ts` for
|
|
59
|
+
SQLite, restart, score-threshold, failure, approval and trust-boundary tests.
|
|
60
|
+
|
|
61
|
+
Run `node --import tsx scripts/evaluate-curator.ts --oracle` for offline plumbing.
|
|
62
|
+
Its 20 cases cover Japanese, English, Chinese, Korean and Spanish with reusable,
|
|
63
|
+
local-only, negated and quoted meanings. The oracle supplies expected labels:
|
|
64
|
+
20/20 is therefore not a model accuracy measurement.
|
|
65
|
+
|
|
66
|
+
Run `node --import tsx scripts/evaluate-curator.ts --live config.json` only with
|
|
67
|
+
an explicitly enabled standalone Typed Decisions configuration and a configured
|
|
68
|
+
provider. It supports TypeSafe, Nimble and Laya through their existing adapters.
|
|
69
|
+
TypeSafe reads TYPESAFE_API_KEY; Nimble reads only its configured credentialRef.
|
|
70
|
+
The harness does not create, save or print credentials and never globalizes.
|
|
71
|
+
Review all unavailable/abstained attempts, not only classified samples. It does
|
|
72
|
+
not retry failed samples to compute admission. Per-case elapsed time includes
|
|
73
|
+
classification and, on success, cached candidate projection/DB reads. Token and
|
|
74
|
+
cost fields are explicitly unavailable, not zero. The fixtures are a small
|
|
75
|
+
handwritten set, not statistical or deployment qualification; use further
|
|
76
|
+
paraphrases, adversarial text and repeated independent runs for that purpose.
|
|
@@ -77,3 +77,29 @@ inference, and the installer skip path with a blocked-network negative control.
|
|
|
77
77
|
When a symlink extraction fix is published, update both override definitions
|
|
78
78
|
and lockfiles, rerun those checks and both audits, and re-evaluate the temporary
|
|
79
79
|
CI mitigation.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## Repository lifecycle approvals
|
|
83
|
+
|
|
84
|
+
The repository pnpm policy explicitly allows esbuild and denies onnxruntime-node,
|
|
85
|
+
protobufjs, sharp and @google/genai. This is a CPU/prebuilt development policy, not a GPU or
|
|
86
|
+
source-build installation recipe, and does not change a user's DSH profile.
|
|
87
|
+
|
|
88
|
+
- @google/genai 2.21.0 preinstall only echoes a no-op message; its published
|
|
89
|
+
runtime is already built. Deny that unnecessary lifecycle explicitly.
|
|
90
|
+
- esbuild 0.28.2 is a direct development dependency. Its postinstall validates and
|
|
91
|
+
prepares the platform executable; fallback installation can use the network.
|
|
92
|
+
- onnxruntime-node 1.24.3 bundles the CPU runtime. Denying its lifecycle prevents
|
|
93
|
+
optional CUDA downloads/extraction, consistent with the npm/CI skip mitigation
|
|
94
|
+
above. Keep ONNXRUNTIME_NODE_INSTALL=skip for npm, which does not read this map.
|
|
95
|
+
- protobufjs 7.6.6 postinstall only emits a version-scheme compatibility warning;
|
|
96
|
+
it does not generate runtime files or invoke npm. Its separate prepublish
|
|
97
|
+
scripts contain the cli npm install command, not postinstall.
|
|
98
|
+
- sharp 0.35.5 has no install lifecycle script. Its build script is an explicit
|
|
99
|
+
source-build command, not an automatic installer. Prebuilt optional packages
|
|
100
|
+
supply the native runtime, and must not be omitted during installation.
|
|
101
|
+
|
|
102
|
+
The dependency tests check these explicit booleans, the absence of sharp install
|
|
103
|
+
hooks, esbuild transformation, protobuf encoding/decoding, sharp image processing,
|
|
104
|
+
and bundled ONNX CPU inference. Platform coverage is limited to the hosts where
|
|
105
|
+
these tests actually run; upgrades that introduce new hooks need review.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Host-owned, content-bound assessments; no source text or authority labels.
|
|
2
|
+
CREATE TABLE curator_classifications (
|
|
3
|
+
workspace TEXT NOT NULL,
|
|
4
|
+
entry_id TEXT NOT NULL REFERENCES entries(id) ON DELETE CASCADE,
|
|
5
|
+
entry_revision INTEGER NOT NULL CHECK(entry_revision > 0),
|
|
6
|
+
input_digest TEXT NOT NULL,
|
|
7
|
+
policy_version TEXT NOT NULL,
|
|
8
|
+
configuration_digest TEXT NOT NULL,
|
|
9
|
+
result_json TEXT NOT NULL,
|
|
10
|
+
result_digest TEXT NOT NULL,
|
|
11
|
+
PRIMARY KEY(workspace,entry_id,entry_revision,input_digest,policy_version,configuration_digest)
|
|
12
|
+
);
|