kiokuko 1.0.13 → 1.0.15

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.
Files changed (226) hide show
  1. package/README.ja.md +35 -0
  2. package/README.ko.md +35 -0
  3. package/README.md +35 -0
  4. package/README.zh-CN.md +35 -0
  5. package/dist/akinator/agent-task.d.ts +10 -0
  6. package/dist/akinator/agent-task.d.ts.map +1 -1
  7. package/dist/akinator/agent-task.js +54 -11
  8. package/dist/akinator/agent-task.js.map +1 -1
  9. package/dist/assurance/codex-hooks.js +1 -1
  10. package/dist/assurance/codex-hooks.js.map +1 -1
  11. package/dist/assurance/contracts.d.ts +8 -1
  12. package/dist/assurance/contracts.d.ts.map +1 -1
  13. package/dist/assurance/contracts.js +2 -1
  14. package/dist/assurance/contracts.js.map +1 -1
  15. package/dist/assurance/refresh.d.ts.map +1 -1
  16. package/dist/assurance/refresh.js +25 -3
  17. package/dist/assurance/refresh.js.map +1 -1
  18. package/dist/assurance/service.d.ts +1 -1
  19. package/dist/chatgpt/memory-policy.d.ts +14 -0
  20. package/dist/chatgpt/memory-policy.d.ts.map +1 -0
  21. package/dist/chatgpt/memory-policy.js +23 -0
  22. package/dist/chatgpt/memory-policy.js.map +1 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +79 -9
  25. package/dist/cli.js.map +1 -1
  26. package/dist/commands/export.d.ts.map +1 -1
  27. package/dist/commands/export.js +3 -0
  28. package/dist/commands/export.js.map +1 -1
  29. package/dist/commands/import.d.ts.map +1 -1
  30. package/dist/commands/import.js +3 -0
  31. package/dist/commands/import.js.map +1 -1
  32. package/dist/commands/memory-index.d.ts +6 -0
  33. package/dist/commands/memory-index.d.ts.map +1 -0
  34. package/dist/commands/memory-index.js +30 -0
  35. package/dist/commands/memory-index.js.map +1 -0
  36. package/dist/commands/reranker.d.ts +9 -0
  37. package/dist/commands/reranker.d.ts.map +1 -0
  38. package/dist/commands/reranker.js +52 -0
  39. package/dist/commands/reranker.js.map +1 -0
  40. package/dist/config/paths.d.ts +2 -0
  41. package/dist/config/paths.d.ts.map +1 -1
  42. package/dist/config/paths.js +10 -0
  43. package/dist/config/paths.js.map +1 -1
  44. package/dist/context/broker.d.ts +14 -0
  45. package/dist/context/broker.d.ts.map +1 -1
  46. package/dist/context/broker.js +162 -15
  47. package/dist/context/broker.js.map +1 -1
  48. package/dist/context/ranking.d.ts +6 -2
  49. package/dist/context/ranking.d.ts.map +1 -1
  50. package/dist/context/ranking.js +23 -1
  51. package/dist/context/ranking.js.map +1 -1
  52. package/dist/context/scoped-broker.d.ts +20 -0
  53. package/dist/context/scoped-broker.d.ts.map +1 -1
  54. package/dist/context/scoped-broker.js +173 -10
  55. package/dist/context/scoped-broker.js.map +1 -1
  56. package/dist/context/selection-state.d.ts.map +1 -1
  57. package/dist/context/selection-state.js +2 -0
  58. package/dist/context/selection-state.js.map +1 -1
  59. package/dist/db/connection.js +1 -1
  60. package/dist/db/connection.js.map +1 -1
  61. package/dist/embedding/javascript-backend.d.ts.map +1 -1
  62. package/dist/embedding/javascript-backend.js +7 -1
  63. package/dist/embedding/javascript-backend.js.map +1 -1
  64. package/dist/embedding/model-download.d.ts +2 -2
  65. package/dist/embedding/model-download.d.ts.map +1 -1
  66. package/dist/embedding/model-download.js +23 -11
  67. package/dist/embedding/model-download.js.map +1 -1
  68. package/dist/embedding/model-installation.d.ts +3 -1
  69. package/dist/embedding/model-installation.d.ts.map +1 -1
  70. package/dist/embedding/model-installation.js +16 -9
  71. package/dist/embedding/model-installation.js.map +1 -1
  72. package/dist/embedding/model-manifest.d.ts +7 -7
  73. package/dist/embedding/model-manifest.d.ts.map +1 -1
  74. package/dist/embedding/model-manifest.js +28 -17
  75. package/dist/embedding/model-manifest.js.map +1 -1
  76. package/dist/embedding/presets/manifest.d.ts +20 -7
  77. package/dist/embedding/presets/manifest.d.ts.map +1 -1
  78. package/dist/embedding/presets/manifest.js.map +1 -1
  79. package/dist/embedding/sqlite-vec-backend.d.ts.map +1 -1
  80. package/dist/embedding/sqlite-vec-backend.js +7 -1
  81. package/dist/embedding/sqlite-vec-backend.js.map +1 -1
  82. package/dist/embedding/store.d.ts.map +1 -1
  83. package/dist/embedding/store.js +2 -0
  84. package/dist/embedding/store.js.map +1 -1
  85. package/dist/embedding/types.d.ts +2 -0
  86. package/dist/embedding/types.d.ts.map +1 -1
  87. package/dist/ledger/checkpoint-contract.d.ts +6 -6
  88. package/dist/mcp/chatgpt-contract.d.ts +156 -0
  89. package/dist/mcp/chatgpt-contract.d.ts.map +1 -0
  90. package/dist/mcp/chatgpt-contract.js +76 -0
  91. package/dist/mcp/chatgpt-contract.js.map +1 -0
  92. package/dist/mcp/chatgpt-runtime.d.ts +14 -0
  93. package/dist/mcp/chatgpt-runtime.d.ts.map +1 -0
  94. package/dist/mcp/chatgpt-runtime.js +106 -0
  95. package/dist/mcp/chatgpt-runtime.js.map +1 -0
  96. package/dist/mcp/chatgpt-server.d.ts +6 -0
  97. package/dist/mcp/chatgpt-server.d.ts.map +1 -0
  98. package/dist/mcp/chatgpt-server.js +81 -0
  99. package/dist/mcp/chatgpt-server.js.map +1 -0
  100. package/dist/mcp/request-deadline.d.ts +1 -1
  101. package/dist/mcp/request-deadline.d.ts.map +1 -1
  102. package/dist/mcp/request-deadline.js +3 -0
  103. package/dist/mcp/request-deadline.js.map +1 -1
  104. package/dist/mcp/runtime-owner.d.ts.map +1 -1
  105. package/dist/mcp/runtime-owner.js +7 -0
  106. package/dist/mcp/runtime-owner.js.map +1 -1
  107. package/dist/mcp/server.d.ts +1 -0
  108. package/dist/mcp/server.d.ts.map +1 -1
  109. package/dist/mcp/server.js +35 -5
  110. package/dist/mcp/server.js.map +1 -1
  111. package/dist/mcp/stdio-runner.d.ts +6 -0
  112. package/dist/mcp/stdio-runner.d.ts.map +1 -0
  113. package/dist/mcp/stdio-runner.js +41 -0
  114. package/dist/mcp/stdio-runner.js.map +1 -0
  115. package/dist/memory/checkpoint-contract.d.ts +9 -9
  116. package/dist/memory/curator.d.ts.map +1 -1
  117. package/dist/memory/curator.js +2 -0
  118. package/dist/memory/curator.js.map +1 -1
  119. package/dist/memory/entries.d.ts.map +1 -1
  120. package/dist/memory/entries.js +2 -0
  121. package/dist/memory/entries.js.map +1 -1
  122. package/dist/memory/federated-retrieval.d.ts +16 -2
  123. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  124. package/dist/memory/federated-retrieval.js +229 -45
  125. package/dist/memory/federated-retrieval.js.map +1 -1
  126. package/dist/memory/global-conversation-query.d.ts +35 -0
  127. package/dist/memory/global-conversation-query.d.ts.map +1 -0
  128. package/dist/memory/global-conversation-query.js +60 -0
  129. package/dist/memory/global-conversation-query.js.map +1 -0
  130. package/dist/memory/hybrid-retrieval.d.ts +18 -2
  131. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  132. package/dist/memory/hybrid-retrieval.js +180 -9
  133. package/dist/memory/hybrid-retrieval.js.map +1 -1
  134. package/dist/memory/index-service.d.ts +103 -0
  135. package/dist/memory/index-service.d.ts.map +1 -0
  136. package/dist/memory/index-service.js +196 -0
  137. package/dist/memory/index-service.js.map +1 -0
  138. package/dist/memory/index-state.d.ts +56 -0
  139. package/dist/memory/index-state.d.ts.map +1 -0
  140. package/dist/memory/index-state.js +100 -0
  141. package/dist/memory/index-state.js.map +1 -0
  142. package/dist/memory/interaction-capture.d.ts.map +1 -1
  143. package/dist/memory/interaction-capture.js +6 -3
  144. package/dist/memory/interaction-capture.js.map +1 -1
  145. package/dist/memory/interaction-contract.d.ts +30 -0
  146. package/dist/memory/interaction-contract.d.ts.map +1 -1
  147. package/dist/memory/interaction-contract.js +38 -0
  148. package/dist/memory/interaction-contract.js.map +1 -1
  149. package/dist/memory/interaction-recall.d.ts +14 -1
  150. package/dist/memory/interaction-recall.d.ts.map +1 -1
  151. package/dist/memory/interaction-recall.js +48 -42
  152. package/dist/memory/interaction-recall.js.map +1 -1
  153. package/dist/memory/lesson-derivation.d.ts +79 -0
  154. package/dist/memory/lesson-derivation.d.ts.map +1 -0
  155. package/dist/memory/lesson-derivation.js +302 -0
  156. package/dist/memory/lesson-derivation.js.map +1 -0
  157. package/dist/memory/lesson-reinforcement.d.ts.map +1 -1
  158. package/dist/memory/lesson-reinforcement.js +7 -4
  159. package/dist/memory/lesson-reinforcement.js.map +1 -1
  160. package/dist/memory/lifecycle.d.ts.map +1 -1
  161. package/dist/memory/lifecycle.js +4 -0
  162. package/dist/memory/lifecycle.js.map +1 -1
  163. package/dist/memory/retrieval.d.ts +14 -0
  164. package/dist/memory/retrieval.d.ts.map +1 -1
  165. package/dist/memory/retrieval.js +107 -13
  166. package/dist/memory/retrieval.js.map +1 -1
  167. package/dist/memory/scoped-memory.d.ts +5 -0
  168. package/dist/memory/scoped-memory.d.ts.map +1 -1
  169. package/dist/memory/scoped-memory.js +3 -0
  170. package/dist/memory/scoped-memory.js.map +1 -1
  171. package/dist/memory/search-extension-config.d.ts +5 -0
  172. package/dist/memory/search-extension-config.d.ts.map +1 -0
  173. package/dist/memory/search-extension-config.js +20 -0
  174. package/dist/memory/search-extension-config.js.map +1 -0
  175. package/dist/memory/temporal.d.ts +18 -0
  176. package/dist/memory/temporal.d.ts.map +1 -0
  177. package/dist/memory/temporal.js +128 -0
  178. package/dist/memory/temporal.js.map +1 -0
  179. package/dist/reranker/config.d.ts +15 -0
  180. package/dist/reranker/config.d.ts.map +1 -0
  181. package/dist/reranker/config.js +48 -0
  182. package/dist/reranker/config.js.map +1 -0
  183. package/dist/reranker/preset.d.ts +12 -0
  184. package/dist/reranker/preset.d.ts.map +1 -0
  185. package/dist/reranker/preset.js +102 -0
  186. package/dist/reranker/preset.js.map +1 -0
  187. package/dist/reranker/runtime.d.ts +40 -0
  188. package/dist/reranker/runtime.d.ts.map +1 -0
  189. package/dist/reranker/runtime.js +324 -0
  190. package/dist/reranker/runtime.js.map +1 -0
  191. package/dist/reranker/service.d.ts +36 -0
  192. package/dist/reranker/service.d.ts.map +1 -0
  193. package/dist/reranker/service.js +163 -0
  194. package/dist/reranker/service.js.map +1 -0
  195. package/dist/reranker/setup.d.ts +30 -0
  196. package/dist/reranker/setup.d.ts.map +1 -0
  197. package/dist/reranker/setup.js +50 -0
  198. package/dist/reranker/setup.js.map +1 -0
  199. package/dist/reranker/worker.d.ts +2 -0
  200. package/dist/reranker/worker.d.ts.map +1 -0
  201. package/dist/reranker/worker.js +115 -0
  202. package/dist/reranker/worker.js.map +1 -0
  203. package/dist/serialization/validate.d.ts.map +1 -1
  204. package/dist/serialization/validate.js +29 -1
  205. package/dist/serialization/validate.js.map +1 -1
  206. package/dist/server/routes/task-assurance.d.ts.map +1 -1
  207. package/dist/server/routes/task-assurance.js +11 -2
  208. package/dist/server/routes/task-assurance.js.map +1 -1
  209. package/dist/web/server.d.ts.map +1 -1
  210. package/dist/web/server.js +47 -11
  211. package/dist/web/server.js.map +1 -1
  212. package/docs/README.ja.md +3 -0
  213. package/docs/README.md +3 -0
  214. package/docs/chatgpt-validation.md +40 -0
  215. package/docs/chatgpt.ja.md +41 -0
  216. package/docs/chatgpt.md +41 -0
  217. package/docs/cli-contract.md +11 -0
  218. package/docs/client-compatibility.md +9 -0
  219. package/docs/memory-assurance.md +5 -0
  220. package/docs/memory-index-evaluation-2026-09-30.md +50 -0
  221. package/docs/memory-index.md +138 -0
  222. package/migrations/007_revision_bound_lesson_sources.sql +33 -0
  223. package/migrations/008_memory_index.sql +39 -0
  224. package/package.json +3 -2
  225. package/skills/kiokuko-soul/SKILL.md +13 -0
  226. package/templates/chatgpt/memory-policy.json +4 -0
@@ -18,6 +18,11 @@ import { contextRetrievalStateHash } from './selection-state.js';
18
18
  import { readContextRunRetrievalState } from './run-state.js';
19
19
  import { prepareEmbeddingSearchRuntime } from '../embedding/runtime.js';
20
20
  import { captureProjectManifestSnapshot, resolveProjectFingerprint, } from '../repository/project-fingerprint.js';
21
+ import { normalizeTemporalConstraint } from '../memory/temporal.js';
22
+ import { effectiveRelatedSearchMode } from '../memory/search-extension-config.js';
23
+ import { readRerankerConfig } from '../reranker/config.js';
24
+ import { scoreLocalReranker } from '../reranker/service.js';
25
+ import { deduplicateDeliverableLessonSources, formatLessonSourceReferences, readDeliverableLessonSourceReferences } from '../memory/lesson-derivation.js';
21
26
  export const CONTEXT_BROKER_POLICY_VERSION = `${CONTEXT_RANKING_VERSION}+${RECOMMENDATION_POLICY_VERSION}`;
22
27
  export const CONTEXT_BROKER_DEFAULT_LIMIT = 20;
23
28
  export const CONTEXT_BROKER_MAX_LIMIT = 100;
@@ -125,7 +130,7 @@ function normalizeInput(input) {
125
130
  if (typeof input !== 'object' || input === null || Array.isArray(input))
126
131
  invalid();
127
132
  const value = input;
128
- const allowed = new Set(['apiVersion', 'workspace', 'runId', 'task', 'taskProfile', 'recommendedTags', 'changedPaths', 'errorSignatures', 'limit', 'characterBudget']);
133
+ const allowed = new Set(['apiVersion', 'workspace', 'runId', 'task', 'taskProfile', 'recommendedTags', 'changedPaths', 'errorSignatures', 'limit', 'characterBudget', 'temporal', 'relatedMode']);
129
134
  if (Object.keys(value).some((key) => !allowed.has(key)))
130
135
  invalid();
131
136
  if (value.apiVersion !== undefined && value.apiVersion !== '1')
@@ -144,6 +149,9 @@ function normalizeInput(input) {
144
149
  invalid();
145
150
  if (value.characterBudget !== undefined && (typeof value.characterBudget !== 'number' || !Number.isSafeInteger(value.characterBudget) || value.characterBudget < 1 || value.characterBudget > CONTEXT_BROKER_MAX_CHARACTER_BUDGET))
146
151
  invalid();
152
+ if (value.relatedMode !== undefined && value.relatedMode !== 'off' && value.relatedMode !== 'observe' && value.relatedMode !== 'active')
153
+ invalid();
154
+ const temporal = normalizeTemporalConstraint(value.temporal);
147
155
  return {
148
156
  ...(value.workspace === undefined ? {} : { workspace: value.workspace }),
149
157
  ...(value.runId === undefined ? {} : { runId: value.runId }),
@@ -154,6 +162,8 @@ function normalizeInput(input) {
154
162
  errorSignatures: boundedStringArray(value.errorSignatures, 500),
155
163
  ...(value.limit === undefined ? {} : { limit: value.limit }),
156
164
  ...(value.characterBudget === undefined ? {} : { characterBudget: value.characterBudget }),
165
+ ...(temporal === undefined ? {} : { temporal }),
166
+ ...(value.relatedMode === undefined ? {} : { relatedMode: value.relatedMode }),
157
167
  };
158
168
  }
159
169
  function normalizePersistence(value) {
@@ -213,6 +223,11 @@ function preparedQuery(database, input) {
213
223
  const taskProfileHash = runContext?.profileHash ?? canonicalContentHash(profile);
214
224
  const recommendedTags = runContext?.recommendedTags ?? input.recommendedTags ?? [];
215
225
  const workspace = runContext?.run.workspace ?? requestedWorkspace;
226
+ const temporal = normalizeTemporalConstraint(input.temporal);
227
+ const relatedMode = effectiveRelatedSearchMode(input.relatedMode);
228
+ const rerankerConfig = readRerankerConfig();
229
+ if (relatedMode !== 'off' && relatedMode !== 'observe' && relatedMode !== 'active')
230
+ invalid();
216
231
  const project = projectForWorkspace(database, workspace);
217
232
  const projectState = project === undefined
218
233
  ? null
@@ -238,6 +253,20 @@ function preparedQuery(database, input) {
238
253
  throughSequence,
239
254
  characterBudget: input.characterBudget ?? CONTEXT_BROKER_DEFAULT_CHARACTER_BUDGET,
240
255
  limit: input.limit ?? CONTEXT_BROKER_DEFAULT_LIMIT,
256
+ ...(temporal === undefined ? {} : { temporal }),
257
+ ...(relatedMode === 'off' ? {} : { relatedMode }),
258
+ ...(rerankerConfig.mode === 'active' ? { reranker: {
259
+ mode: rerankerConfig.mode,
260
+ presetId: rerankerConfig.presetId,
261
+ revision: rerankerConfig.revision,
262
+ dtype: rerankerConfig.dtype,
263
+ maxCandidates: rerankerConfig.maxCandidates,
264
+ maxInputBytes: rerankerConfig.maxInputBytes,
265
+ maxTokens: rerankerConfig.maxTokens,
266
+ timeoutMs: rerankerConfig.timeoutMs,
267
+ maxConcurrency: rerankerConfig.maxConcurrency,
268
+ queueLimit: rerankerConfig.queueLimit,
269
+ } } : {}),
241
270
  projectState,
242
271
  retrievalStateHash,
243
272
  runStateHash: runContext?.stateHash ?? null,
@@ -256,6 +285,9 @@ function preparedQuery(database, input) {
256
285
  task,
257
286
  limit: input.limit ?? CONTEXT_BROKER_DEFAULT_LIMIT,
258
287
  characterBudget: input.characterBudget ?? CONTEXT_BROKER_DEFAULT_CHARACTER_BUDGET,
288
+ ...(temporal === undefined ? {} : { temporal }),
289
+ relatedMode,
290
+ rerankerConfig,
259
291
  throughSequence,
260
292
  intakeSessionId: runContext?.intakeSessionId ?? null,
261
293
  projection: runContext?.projection ?? null,
@@ -269,7 +301,7 @@ function preparedQuery(database, input) {
269
301
  deliveryId: null,
270
302
  };
271
303
  }
272
- function entrySnapshot(entry, origin, selectionReasons = []) {
304
+ function entrySnapshot(entry, origin, selectionReasons = [], sourceReferences = '') {
273
305
  return {
274
306
  id: entry.id,
275
307
  revision: entry.revision,
@@ -279,7 +311,7 @@ function entrySnapshot(entry, origin, selectionReasons = []) {
279
311
  confidence: entry.confidence,
280
312
  title: entry.title,
281
313
  summary: entry.summary,
282
- body: entry.body,
314
+ body: `${entry.body}${sourceReferences}`,
283
315
  tags: [...entry.tags],
284
316
  scope: entry.scope,
285
317
  updatedAt: entry.updatedAt,
@@ -339,6 +371,10 @@ async function retrieveEntries(database, query, runtime) {
339
371
  .filter((value) => value !== null && value.length > 0)
340
372
  .map((value) => value.slice(0, 2_000));
341
373
  const queries = [retrievalQuery(query), ...terms];
374
+ const features = {
375
+ ...(query.temporal === undefined ? {} : { temporal: query.temporal }),
376
+ relatedMode: query.relatedMode,
377
+ };
342
378
  const entries = new Map();
343
379
  for (const value of queries) {
344
380
  if (query.projectState !== null) {
@@ -347,12 +383,13 @@ async function retrieveEntries(database, query, runtime) {
347
383
  fingerprint: query.projectState.fingerprint,
348
384
  query: value,
349
385
  limit: 500,
386
+ ...features,
350
387
  }, runtime)) {
351
388
  addRetrievedEntry(entries, { entry: hit.entry, origin: hit.origin, selectionReasons: hit.selectionReasons });
352
389
  }
353
390
  }
354
391
  else {
355
- for (const hit of rankedEntryHits(database, { workspace: query.workspace, query: value, limit: 500, includeSuperseded: false }, runtime).hits) {
392
+ for (const hit of rankedEntryHits(database, { workspace: query.workspace, query: value, limit: 500, includeSuperseded: false, ...features }, runtime).hits) {
356
393
  addRetrievedEntry(entries, {
357
394
  entry: readEntry(database, { workspace: query.workspace, entryId: hit.entryId }),
358
395
  origin: 'project',
@@ -385,18 +422,111 @@ function assertPreparedProjectState(database, query) {
385
422
  }
386
423
  }
387
424
  async function rank(database, query, prior, runtime) {
388
- const entries = await retrieveEntries(database, query, runtime);
425
+ const retrievedEntries = await retrieveEntries(database, query, runtime);
426
+ const deduplicated = deduplicateDeliverableLessonSources(database, retrievedEntries.map(({ entry }) => entry), query.relatedMode);
427
+ query.lessonDeduplicationDiagnostics = deduplicated.diagnostics;
428
+ const suppressedForRetained = new Set(deduplicated.suppressed.map((item) => item.retainedEntryId));
429
+ const suppressedIds = new Set(deduplicated.suppressed.map((item) => item.entryId));
430
+ const sourceNotes = new Map();
431
+ if (query.relatedMode === 'active') {
432
+ for (const [entryId, references] of deduplicated.sourceReferences) {
433
+ sourceNotes.set(entryId, formatLessonSourceReferences(references));
434
+ }
435
+ }
436
+ const entries = retrievedEntries.filter(({ entry }) => !suppressedIds.has(entry.id)).map((value) => ({
437
+ ...value,
438
+ selectionReasons: suppressedForRetained.has(value.entry.id)
439
+ ? [...value.selectionReasons, 'duplicate_source_suppressed']
440
+ : value.selectionReasons,
441
+ }));
389
442
  const feedback = entries.flatMap(({ entry }) => contextFeedbackSignals(database, entry.id).flatMap((signal) => Array.from({ length: signal.boundedInfluence }, () => ({ entryId: entry.id, verdict: signal.verdict }))));
390
- return rankContextCandidates({
443
+ const rankingInput = {
391
444
  taskProfile: query.taskProfile,
392
445
  recommendedTags: query.recommendedTags,
393
446
  changedPaths: query.changedPaths,
394
447
  errorSignatures: query.errorSignatures,
395
448
  priorDelivered: prior.delivered,
396
449
  feedback,
397
- candidates: entries.map(({ entry, origin, selectionReasons }) => entrySnapshot(entry, origin, selectionReasons)),
450
+ candidates: entries.map(({ entry, origin, selectionReasons }) => entrySnapshot(entry, origin, selectionReasons, sourceNotes.get(entry.id))),
398
451
  limit: query.limit,
399
452
  characterBudget: query.characterBudget,
453
+ };
454
+ const baseline = rankContextCandidates(rankingInput);
455
+ const config = query.rerankerConfig;
456
+ if (config.mode === 'off')
457
+ return baseline.filter((candidate) => {
458
+ const sourceNote = sourceNotes.get(candidate.entryId);
459
+ return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
460
+ });
461
+ const entriesById = new Map(entries.map(({ entry }) => [entry.id, entry]));
462
+ const candidates = baseline.slice(0, config.maxCandidates).flatMap((item) => {
463
+ const entry = entriesById.get(item.entryId);
464
+ return entry === undefined ? [] : [{
465
+ key: item.entryId,
466
+ title: entry.title,
467
+ summary: entry.summary,
468
+ body: `${entry.body}${sourceNotes.get(entry.id) ?? ''}`,
469
+ }];
470
+ });
471
+ if (candidates.length === 0) {
472
+ query.rerankerDiagnostics = {
473
+ mode: config.mode, state: 'no_candidates', candidateCount: 0, scoredCount: 0, unscoredCount: 0,
474
+ };
475
+ return baseline.filter((candidate) => {
476
+ const sourceNote = sourceNotes.get(candidate.entryId);
477
+ return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
478
+ });
479
+ }
480
+ const selectionState = contextRetrievalStateHash(database, query.selectionWorkspaces, { includeEcosystem: query.includeEcosystem });
481
+ const assertSelectionStateUnchanged = () => {
482
+ assertPreparedProjectState(database, query);
483
+ if (contextRetrievalStateHash(database, query.selectionWorkspaces, { includeEcosystem: query.includeEcosystem }) !== selectionState) {
484
+ throw new KiokukoError('CONFLICT', 'Context selection state changed during reranker inference');
485
+ }
486
+ };
487
+ let scoring;
488
+ try {
489
+ scoring = await scoreLocalReranker(retrievalQuery(query), candidates, { config });
490
+ }
491
+ catch (error) {
492
+ if (config.mode === 'active'
493
+ || error instanceof KiokukoError && ['INTEGRITY_ERROR', 'SECURITY_REJECTION', 'CONFLICT'].includes(error.code))
494
+ throw error;
495
+ assertSelectionStateUnchanged();
496
+ const reason = error instanceof KiokukoError ? error.code.toLowerCase() : 'inference_unavailable';
497
+ query.rerankerDiagnostics = {
498
+ mode: config.mode, state: 'unavailable', candidateCount: candidates.length, scoredCount: 0,
499
+ unscoredCount: candidates.length, reason,
500
+ };
501
+ return baseline.filter((candidate) => {
502
+ const sourceNote = sourceNotes.get(candidate.entryId);
503
+ return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
504
+ });
505
+ }
506
+ assertSelectionStateUnchanged();
507
+ if (scoring.failed) {
508
+ query.rerankerDiagnostics = {
509
+ mode: config.mode, state: 'failed', candidateCount: candidates.length,
510
+ scoredCount: 0, unscoredCount: candidates.length, reason: scoring.failureReason ?? 'inference_failed',
511
+ };
512
+ return baseline.filter((candidate) => {
513
+ const sourceNote = sourceNotes.get(candidate.entryId);
514
+ return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
515
+ });
516
+ }
517
+ const ranked = config.mode === 'active'
518
+ ? rankContextCandidates(rankingInput, { scores: scoring.scores, maximumCandidates: config.maxCandidates })
519
+ : baseline;
520
+ query.rerankerDiagnostics = {
521
+ mode: config.mode,
522
+ state: config.mode === 'active' ? 'applied' : 'observed',
523
+ candidateCount: candidates.length,
524
+ scoredCount: scoring.scores.size,
525
+ unscoredCount: scoring.unscored.size,
526
+ };
527
+ return ranked.filter((candidate) => {
528
+ const sourceNote = sourceNotes.get(candidate.entryId);
529
+ return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
400
530
  });
401
531
  }
402
532
  function priorData(database, query, options = {}) {
@@ -597,18 +727,22 @@ function storedContext(database, query, delivery) {
597
727
  workspace: current.workspace,
598
728
  revision: item.entryRevision,
599
729
  });
730
+ const sourceNote = query.relatedMode === 'active'
731
+ ? formatLessonSourceReferences(readDeliverableLessonSourceReferences(database, current))
732
+ : '';
733
+ const fullBody = `${entry.body}${sourceNote}`;
600
734
  const take = (value, budget) => Array.from(value).slice(0, Math.max(0, budget)).join('');
601
735
  const count = (value) => Array.from(value).length;
602
736
  const title = take(entry.title, remaining);
603
737
  remaining -= count(title);
604
738
  const summary = entry.summary === null ? null : take(entry.summary, remaining);
605
739
  remaining -= count(summary ?? '');
606
- const bodyPreview = take(entry.body, remaining);
740
+ const bodyPreview = take(fullBody, remaining);
607
741
  remaining -= count(bodyPreview);
608
742
  const characterCount = count(title) + count(summary ?? '') + count(bodyPreview);
609
743
  const truncated = count(title) < count(entry.title)
610
744
  || (entry.summary !== null && count(summary ?? '') < count(entry.summary))
611
- || count(bodyPreview) < count(entry.body);
745
+ || count(bodyPreview) < count(fullBody);
612
746
  totalCharacterCount += characterCount;
613
747
  anyTruncated ||= truncated;
614
748
  return {
@@ -755,17 +889,18 @@ export class ContextBroker {
755
889
  async execute(rawInput, persistence) {
756
890
  const input = normalizeInput(rawInput);
757
891
  const query = preparedQuery(this.database, input);
758
- const previous = this.inFlight.get(query.queryHash);
892
+ const inFlightKey = `${query.queryHash}\u0000${query.rerankerConfig.mode}`;
893
+ const previous = this.inFlight.get(inFlightKey);
759
894
  if (previous !== undefined)
760
895
  return previous;
761
896
  const operation = this.queryPrepared(query, persistence);
762
- this.inFlight.set(query.queryHash, operation);
897
+ this.inFlight.set(inFlightKey, operation);
763
898
  try {
764
899
  return await operation;
765
900
  }
766
901
  finally {
767
- if (this.inFlight.get(query.queryHash) === operation)
768
- this.inFlight.delete(query.queryHash);
902
+ if (this.inFlight.get(inFlightKey) === operation)
903
+ this.inFlight.delete(inFlightKey);
769
904
  }
770
905
  }
771
906
  async queryPrepared(query, persistence) {
@@ -794,11 +929,17 @@ export class ContextBroker {
794
929
  query.deliveryHistoryStateHash = prior.stateHash;
795
930
  query.deliveryHistoryExcludeQueryHash = excludeDeliveredQueryHash ?? null;
796
931
  if (replay.delivery !== null) {
932
+ if (query.rerankerConfig.mode === 'observe' || query.relatedMode !== 'off') {
933
+ const retrievalRuntime = await prepareEmbeddingSearchRuntime(this.embeddingRuntime, this.database, retrievalQuery(query));
934
+ await rank(this.database, query, prior, retrievalRuntime);
935
+ }
797
936
  return {
798
937
  result: {
799
938
  ...base,
800
939
  context: storedContext(this.database, query, replay.delivery),
801
940
  recommendations: query.projection === null ? [] : buildRecommendations({ projection: query.projection, broker: { staleDeliveredEntries: prior.stale } }),
941
+ ...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
942
+ ...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
802
943
  },
803
944
  replayDelivery: replay.delivery,
804
945
  pendingDelivery: null,
@@ -820,11 +961,17 @@ export class ContextBroker {
820
961
  : buildRecommendations({ projection: query.projection, broker: { staleDeliveredEntries: prior.stale } });
821
962
  const context = outputContext(deliveryQuery, ranked, null);
822
963
  if (deliveryQuery.deliveryId === null || deliveryQuery.run === null) {
823
- return { result: { ...base, context, recommendations }, replayDelivery: null, pendingDelivery: null };
964
+ return { result: { ...base, context, recommendations,
965
+ ...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
966
+ ...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
967
+ }, replayDelivery: null, pendingDelivery: null };
824
968
  }
825
969
  const deliveryRequest = deliveryInput(deliveryQuery, ranked);
826
970
  return {
827
- result: { ...base, context, recommendations },
971
+ result: { ...base, context, recommendations,
972
+ ...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
973
+ ...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
974
+ },
828
975
  replayDelivery: null,
829
976
  pendingDelivery: { query: deliveryQuery, ranked, input: deliveryRequest },
830
977
  };
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/context/broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kCAAkC,GAGnC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAuB,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,qBAAqB,EAAwB,MAAM,cAAc,CAAC;AACpI,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAwB,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAGnG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAiC,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAE1B,MAAM,sCAAsC,CAAC;AAG9C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,uBAAuB,IAAI,6BAA6B,EAAW,CAAC;AACpH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,uCAAuC,GAAG,KAAK,CAAC;AAC7D,MAAM,CAAC,MAAM,mCAAmC,GAAG,OAAO,CAAC;AA+D3D,SAAS,sBAAsB,CAAI,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;WACrD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;eACxC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,qBAAqB,CAAC;WACxE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;WACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAC1F,IAAI,iBAAiB,KAAK,SAAS;WAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;WAC1C,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS;WAC5C,gBAAgB,KAAK,SAAS;WAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;WACzC,mBAAmB,KAAK,SAAS;eAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,OAAO,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,KAAgB;QAC3C,KAAK,EAAE,gBAAgB,CAAC,KAAU;QAClC,GAAG,CAAC,mBAAmB,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,KAAmB,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAiDD,SAAS,2BAA2B,CAAC,QAA6B;IAChE,OAAO,oBAAoB,CAAC;QAC1B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,CAAC;QACpD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC9D,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAwB,EAAE,QAA6B;IAC5F,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,mDAAmD,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,2BAA2B,CAAC,OAAO,CAAC,KAAK,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,SAAS,OAAO;IACd,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;WACnC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;WACjG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;WAC3I,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,GAAW;IACrD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACzJ,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnF,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACnE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IAC1E,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtJ,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1G,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACpF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,wBAAwB,CAAC;QAAE,OAAO,EAAE,CAAC;IACjL,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,mCAAmC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9O,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC;QAC/D,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC;QACzD,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAe,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAyB,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3E,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;WACrD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC;WAC1C,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,GAAG,UAAU,EAAE,KAAK,CAAC;IACvC,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,YAAY,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,YAAY,EAAE,YAAqE,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB,EAAE,KAAa;IAChE,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;eAC5B,KAAK,CAAC,IAAI,KAAK,WAAW;eAC1B,KAAK,CAAC,OAAO,KAAK,2BAA2B,EAAE,CAAC;YACnD,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAC,QAAwB,EAAE,KAAa;IAC/E,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;QACnC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY;KAClF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB,EAAE,KAA8B;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/F,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC;IACzD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,UAAU,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzK,MAAM,eAAe,GAAG,UAAU,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,UAAU,EAAE,WAAW,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,UAAU,EAAE,eAAe,IAAI,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;IACnF,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAClE,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS;QACxC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,OAAO;YACP,WAAW,EAAE,yBAAyB,CACpC,QAAQ,EACR,OAAO,EACP,8BAA8B,CAAC,OAAO,CAAC,CACxC;SACF,CAAC;IACN,MAAM,gBAAgB,GAAG,YAAY,KAAK,IAAI,CAAC;IAC/C,MAAM,mBAAmB,GAAG,CAAC,gBAAgB;QAC3C,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClC,MAAM,kBAAkB,GAAG,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ;QACpF,CAAC,CAAC,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,CAAC;QAChF,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,SAAS,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;QAChE,IAAI;QACJ,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,EAAE;QAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,eAAe;QACf,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,uCAAuC;QACjF,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,4BAA4B;QAClD,YAAY;QACZ,kBAAkB;QAClB,YAAY,EAAE,UAAU,EAAE,SAAS,IAAI,IAAI;KAC5C,CAAC;IACF,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO;QACL,SAAS;QACT,mBAAmB;QACnB,gBAAgB;QAChB,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,IAAI;QAC5B,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,eAAe;QAC5B,eAAe;QACf,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,4BAA4B;QAClD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,uCAAuC;QACjF,eAAe;QACf,eAAe,EAAE,UAAU,EAAE,eAAe,IAAI,IAAI;QACpD,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,IAAI;QAC1C,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY;QAC5H,YAAY;QACZ,kBAAkB;QAClB,YAAY,EAAE,UAAU,EAAE,SAAS,IAAI,IAAI;QAC3C,wBAAwB,EAAE,IAAI;QAC9B,+BAA+B,EAAE,IAAI;QACrC,SAAS;QACT,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB,EAAE,MAAwB,EAAE,mBAA6B,EAAE;IAMlG,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACvC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAID,SAAS,cAAc,CAAC,KAAoB;IAC1C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnL,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC;AACxD,CAAC;AAQD,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,uBAAuB;IACvB,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,OAA0B;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACxC,IAAI,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,qBAAqB,CAAC;QAC3E,IAAI,8BAA8B,CAAC,QAAQ,CAAC,MAAyD,CAAC;YAAE,OAAO,MAAM,CAAC;QACtH,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,8BAA8B,CAAC,OAAO,CAAC,MAAyD,CAAC,CAAC;IAC3I,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1H,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAoC,EAAE,KAAqB;IACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE;QAC1B,GAAG,KAAK;QACR,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;KAChH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAwB,EAAE,SAAiB;IACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;GAI5B,CAAC,CAAC,GAAG,CAAyE,SAAS,CAAC,CAAC;IAC1F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACzE,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;WAC5D,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,SAAS;WACpE,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAwB,EACxB,KAAoB,EACpB,OAAoE;IAEpE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;SACvG,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACtE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,gBAAgB,CAAC,QAAQ,EAAE;gBACnD,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO;gBACnC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW;gBAC3C,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,GAAG;aACT,EAAE,OAAO,CAAC,EAAE,CAAC;gBACd,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9I,iBAAiB,CAAC,OAAO,EAAE;oBACzB,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChF,MAAM,EAAE,SAAS;oBACjB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAwB,EAAE,KAAoB;IAChF,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;QACpF,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,cAAc,KAAK,SAAS;WAC3B,oBAAoB,CAAC,cAAc,CAAC,KAAK,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IACxE,IAAI,gBAAgB,CAAC,cAAc,KAAK,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,kBAAkB,GAAG,yBAAyB,CAClD,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IACF,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,QAAwB,EACxB,KAAoB,EACpB,KAAmC,EACnC,OAAoE;IAEpE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5G,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,qBAAqB,CAAC;QAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,SAAS;QAC/B,QAAQ;QACR,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAChH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;AACL,CAAC;AAaD,SAAS,SAAS,CAAC,QAAwB,EAAE,KAAoB,EAAE,UAA4B,EAAE;IAC/F,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,UAAU,GAAG,EAA2B,CAAC;IAC/C,IAAI,MAA0B,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChK,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACR,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0DAA0D,CAAC,CAAC;IACxG,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,+BAA+B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3G,MAAM,SAAS,GAAG,eAAe;SAC9B,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,yBAAyB,CAAC;SAC9E,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;SACnG,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;QAC/C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAA+B,IAAI,CAAC,OAAO,CAAC,CAAC;QACtI,OAAO,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7N,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,SAAS;QACT,KAAK;QACL,SAAS,EAAE,oBAAoB,CAAC;YAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;YACtB,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,IAAI,IAAI;YACpE,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,2BAA2B,CAAC;YAC5D,SAAS;YACT,KAAK;SACN,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAoB,EACpB,gBAAwB,EACxB,yBAAwC;IAExC,OAAO,WAAW,oBAAoB,CAAC;QACrC,IAAI,EAAE,yCAAyC;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,gBAAgB;QAChB,yBAAyB;KAC1B,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,iCAAiC,CACxC,QAAwB,EACxB,KAAoB,EACpB,UAAkB;IAElB,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;GAKvC,CAAC,CAAC,GAAG,CAAuB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3E,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,KAAoB,EACpB,QAA6B;IAE7B,MAAM,yBAAyB,GAAG,iCAAiC,CACjE,QAAQ,EACR,KAAK,EACL,QAAQ,CAAC,UAAU,CACpB,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE;QACzC,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC;QAC5E,iBAAiB,EAAE,QAAQ,CAAC,UAAU;KACvC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU,KAAK,yBAAyB,CACtD,KAAK,EACL,OAAO,CAAC,SAAS,EACjB,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB,EAAE,KAAwB,EAAE,QAAoC;IACzG,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;QAC5B,IAAI,EAAE,KAAK,GAAG,CAAC;QACf,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;QAC5C,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5C,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAE,IAAa;QACxB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAC9D,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;QACpD,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI;QAC/B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,eAAe,EAAE,KAAK,CAAC,WAAW;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,6BAA6B;QAC5C,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB,EAAE,MAAyB;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;QAC5B,IAAI,EAAE,KAAK,GAAG,CAAC;QACf,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;QAC5C,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAC9D,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAoB;QACtC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAe;QACjC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,eAAe,EAAE,KAAK,CAAC,WAAW;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,6BAA6B;QAC5C,UAAU,EAAE,KAAK,CAAC,eAAe;QACjC,SAAS;QACT,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC3D,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAwB,EACxB,YAAoB,EACpB,IAA0C;IAE1C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,4CAA4C,CAAC;SAC7E,GAAG,CAAyB,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IACxC,IAAI,iBAAiB,CAAC;IACtB,IAAI,CAAC;QACH,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC9C,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,cAAc,CAAC;IACjH,IAAI,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ;WAClB,CAAC,cAAc,CAAC,UAAU,KAAK,QAAQ,IAAI,uBAAuB,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,KAAK,WAAW;WACrB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;eAC/C,uBAAuB,CAAC,cAAc,CAAC,KAAK,WAAW;eACvD,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,yEAAyE,CAAC;aACzG,GAAG,CAAqB,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CACrB,QAAQ,EACR,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzD,EAAE,sBAAsB,EAAE,MAAM,KAAK,SAAS,EAAE,CACjD,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB,EAAE,KAAoB,EAAE,QAA6B;IAClG,IAAI,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC;IACtC,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;QACjH,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjH,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/E,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;eAC9C,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;eACvE,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,mBAAmB,IAAI,cAAc,CAAC;QACtC,YAAY,KAAK,SAAS,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5C,OAAO,EAAE;gBACP,KAAK;gBACL,OAAO;gBACP,WAAW;gBACX,cAAc;gBACd,SAAS;aACV;YACD,SAAS,EAAE,IAAa;YACxB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,mBAAmB,KAAK,QAAQ,CAAC,SAAS,IAAI,YAAY,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAqD;QAC7E,KAAK;QACL,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAwB,EAAE,KAAoB,EAAE,QAA6B;IAChH,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7H,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC,WAAW;WAClD,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;WACtC,QAAQ,CAAC,aAAa,KAAK,6BAA6B;WACxD,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC;WACxC,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,eAAe;WAC7C,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAwB,EAAE,KAAoB,EAAE,MAA2B;IAChH,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;WACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,kDAAkD,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,KAAoB,EACpB,MAA2B,EAC3B,2BAA0C,KAAK,CAAC,wBAAwB;IAExE,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI;eAChC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/I,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,+CAA+C,CAAC,CAAC;QACtF,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;WAC1B,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY;WACxC,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;WACzC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM;WACvC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,eAAe;WAClD,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe;WACjD,aAAa,KAAK,KAAK,CAAC,SAAS;WACjC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;WACzC,oBAAoB,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,oBAAoB,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3H,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;IAC1F,CAAC;IACD,6BAA6B,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI;WAChC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC/I,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,+CAA+C,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,SAAS,CAC9B,QAAQ,EACR,KAAK,EACL,KAAK,CAAC,+BAA+B,KAAK,IAAI;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,+BAA+B,EAAE,CACzE,CAAC;QACF,IAAI,cAAc,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;YAC1D,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB,EAAE,KAAoB;IACxE,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;GAK7B,CAAC,CAAC,GAAG,CAAyB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3G,IAAI,2BAA2B,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;eACrD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,aAAa;IAIL;IACA;IAJF,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAE5E,YACmB,QAAwB,EACxB,gBAAmC;QADnC,aAAQ,GAAR,QAAQ,CAAgB;QACxB,qBAAgB,GAAhB,gBAAgB,CAAmB;IACnD,CAAC;IAEJ,cAAc,CAAC,KAAyD;QACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO;YACL,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;gBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aAC7D,CAAC;YACF,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAiB,EAAE,cAAwC,EAAE;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAiB,EACjB,MAAwE,EACxE,cAAwC,EAAE;QAE1C,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,sBAAsB,CAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO;YAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC;YAClG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,QAAiB,EAAE,WAAqC;QAC5E,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAoB,EAAE,WAAqC;QACrF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAoB;QAC9C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,KAAK,CAAC,SAAS;YACvB,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE;YACrC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;YAC3C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;SAClD,CAAC;QACrE,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAE7G,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,yBAAyB,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,yBAAyB,KAAK,SAAS;YACnF,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACnC,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAC;QACjD,KAAK,CAAC,+BAA+B,GAAG,yBAAyB,IAAI,IAAI,CAAC;QAC1E,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE;oBACN,GAAG,IAAI;oBACP,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC7D,eAAe,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;iBACzJ;gBACD,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,eAAe,EAAE,IAAI;aACtB,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,6BAA6B,CAC1D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,QAAQ,EACb,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI;YACtC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC;gBACE,GAAG,KAAK;gBACR,UAAU,EAAE,yBAAyB,CACnC,KAAK,EACL,KAAK,CAAC,SAAmB,EACzB,KAAK,CAAC,+BAA+B,CACtC;aACF,CAAC;QAEN,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,aAAa,CAAC,UAAU,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACpE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO;YACL,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE;YAC7C,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE;SAC1E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,QAA8B,EAC9B,WAAqC,EACrC,KAAoB,EACpB,mBAAgC;QAEhC,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClD,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;oBACrC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACxE,CAAC;gBACD,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtC,mBAAmB,EAAE,CAAC;oBACtB,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;wBACrC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACrE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACxE,CAAC;oBACD,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,iBAAiB,GAA+B,IAAI,CAAC;QACzD,IAAI,yBAAyB,GAAkB,IAAI,CAAC;QACpD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAwB,EAAE;YACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8EAA8E,CAAC,CAAC;YAC5H,CAAC;YACD,eAAe,IAAI,CAAC,CAAC;YACrB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iEAAiE,CAAC,CAAC;YAC/G,CAAC;YACD,iBAAiB,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC/D,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtC,mBAAmB,EAAE,CAAC;oBACtB,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,QAAQ,GAAG,kCAAkC,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC1F,yBAAyB,GAAG,SAAS,CACnC,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,KAAK,CAAC,+BAA+B,KAAK,IAAI;oBAC5C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,+BAA+B,EAAE,CACzE,CAAC,SAAS,CAAC;gBACZ,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,QAA6B,CAAC;QAClC,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAC,YAAY,KAAK,SAAS;gBAC/C,CAAC,CAAC,OAAO,EAAE;gBACX,CAAC,CAAC,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACT,mBAAmB,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,CAAC;QACpC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;QACnD,IAAI,eAAe,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvG,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,yDAAyD,CAAC,CAAC;QACvG,CAAC;QACD,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC3C,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC;YACvF,CAAC;YACD,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,QAAQ,CAAC,MAAM;YAClB,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC;SACjF,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,QAA8B,EAC9B,KAAoB,EACpB,kBAA+B;QAE/B,OAAO,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAClD,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACrC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;YACxE,CAAC;YACD,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,kBAAkB,EAAE,CAAC;gBACrB,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;oBACrC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACxE,CAAC;gBACD,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/context/broker.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare const CONTEXT_RANKING_WEIGHTS: Readonly<{
22
22
  export declare const CONTEXT_RANKING_COMPONENTS: readonly ["status", "trust", "confidence", "taskAffinity", "recommendedTags", "pathOverlap", "errorSignature", "feedback", "recency", "contradiction"];
23
23
  /** Additive v2 delivery components; v1 rows continue to use the list above. */
24
24
  export declare const CONTEXT_RANKING_COMPONENTS_V2: readonly ["status", "trust", "confidence", "retrieval", "taskAffinity", "recommendedTags", "scopeAffinity", "applicability", "pathOverlap", "errorSignature", "exactSignal", "feedback", "recency", "contradiction"];
25
- export declare const CONTEXT_SELECTION_REASON_ORDER: readonly ["project_origin", "ecosystem_origin", "global_origin", "scope_affinity", "applicability_match", "applicability_unknown", "applicability_mismatch", "unscoped_global_prior", "exact_signal_match", "word_match", "semantic_match", "lexical_match", "cjk_window_match", "substring_match", "literal_fallback_match", "tag_match", "verified", "candidate", "repeated_lesson", "system_verified_trust", "source_verified_trust", "user_asserted_trust", "confidence", "task_kind_affinity", "task_tag_affinity", "recommended_tag_match", "target_match", "changed_path_match", "error_signature_match", "helpful_feedback", "irrelevant_feedback", "stale_feedback", "conflicting_feedback", "recent", "contradiction_warning", "revision_changed"];
25
+ export declare const CONTEXT_SELECTION_REASON_ORDER: readonly ["project_origin", "ecosystem_origin", "global_origin", "scope_affinity", "applicability_match", "applicability_unknown", "applicability_mismatch", "unscoped_global_prior", "exact_signal_match", "word_match", "semantic_match", "duplicate_source_suppressed", "lexical_match", "cjk_window_match", "substring_match", "literal_fallback_match", "tag_match", "verified", "candidate", "repeated_lesson", "system_verified_trust", "source_verified_trust", "user_asserted_trust", "confidence", "task_kind_affinity", "task_tag_affinity", "recommended_tag_match", "target_match", "changed_path_match", "error_signature_match", "helpful_feedback", "irrelevant_feedback", "stale_feedback", "conflicting_feedback", "recent", "contradiction_warning", "revision_changed"];
26
26
  export type ContextRankingComponent = (typeof CONTEXT_RANKING_COMPONENTS)[number];
27
27
  export type ContextRankingV2Component = (typeof CONTEXT_RANKING_COMPONENTS_V2)[number];
28
28
  export type FeedbackVerdict = 'helpful' | 'irrelevant' | 'stale' | 'conflicting';
@@ -88,5 +88,9 @@ export interface RankedCandidate {
88
88
  }
89
89
  export declare const CONTEXT_RANKING_DEFAULT_CHARACTER_BUDGET = 8000;
90
90
  export declare const CONTEXT_RANKING_MAX_CHARACTER_BUDGET = 100000;
91
- export declare function rankContextCandidates(input: unknown): RankedCandidate[];
91
+ export interface ContextRerankingOverride {
92
+ readonly scores: ReadonlyMap<string, number>;
93
+ readonly maximumCandidates?: number;
94
+ }
95
+ export declare function rankContextCandidates(input: unknown, reranking?: ContextRerankingOverride): RankedCandidate[];
92
96
  //# sourceMappingURL=ranking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../src/context/ranking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../src/context/ranking.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export const CONTEXT_SELECTION_REASON_ORDER = [
62
62
  'exact_signal_match',
63
63
  'word_match',
64
64
  'semantic_match',
65
+ 'duplicate_source_suppressed',
65
66
  'lexical_match',
66
67
  'cjk_window_match',
67
68
  'substring_match',
@@ -530,7 +531,27 @@ function applyCharacterBudget(ranked, budget) {
530
531
  }
531
532
  return selected;
532
533
  }
533
- export function rankContextCandidates(input) {
534
+ function reorderRerankedSlots(ranked, override) {
535
+ if (override === undefined)
536
+ return ranked;
537
+ const maximumCandidates = Math.min(32, Math.max(0, override.maximumCandidates ?? 32));
538
+ const indexes = [];
539
+ const scored = [];
540
+ const baselinePosition = new Map();
541
+ for (let index = 0; index < Math.min(ranked.length, maximumCandidates); index += 1) {
542
+ const candidate = ranked[index];
543
+ if (override.scores.has(candidate.entryId)) {
544
+ indexes.push(index);
545
+ scored.push(candidate);
546
+ baselinePosition.set(candidate.entryId, index);
547
+ }
548
+ }
549
+ scored.sort((left, right) => (override.scores.get(right.entryId) - override.scores.get(left.entryId))
550
+ || baselinePosition.get(left.entryId) - baselinePosition.get(right.entryId));
551
+ indexes.forEach((slot, index) => { ranked[slot] = scored[index]; });
552
+ return ranked;
553
+ }
554
+ export function rankContextCandidates(input, reranking) {
534
555
  const parsed = parseInput(input);
535
556
  const priorDelivered = new Map();
536
557
  for (const delivered of parsed.priorDelivered) {
@@ -556,6 +577,7 @@ export function rankContextCandidates(input) {
556
577
  })
557
578
  .map((candidate) => scoreCandidate(candidate, context))
558
579
  .sort((left, right) => right.totalScore - left.totalScore || compareStrings(left.entryId, right.entryId));
580
+ reorderRerankedSlots(ranked, reranking);
559
581
  return applyCharacterBudget(ranked.slice(0, parsed.limit), parsed.characterBudget);
560
582
  }
561
583
  //# sourceMappingURL=ranking.js.map