@inventarch/steward-hook 3.1.1 → 3.2.1

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/LANGUAGE.md CHANGED
@@ -22,7 +22,7 @@ Spec source locators do not load documents. Resource capture and disclosure requ
22
22
  | @convention | governance-system | Declares a convention in the shared governance shape. |
23
23
  | @decision | work-system | Represents a choice that is needed or has been made: the question, options and decider, and once made, the choice and rationale. |
24
24
  | @dimension | taxonomy | Defines a supported record dimension used by conditions and lookup. |
25
- | @distribution | workspace-system | Declares root records from which a distributable closure is selected. |
25
+ | @distribution | workspace-system | Declares root records from which a distributable closure is selected, and optionally the host plugin product it describes. |
26
26
  | @execution-binding | agent-composition-system | Connects a native target to a host-installed entry or operation descriptor. |
27
27
  | @harness | agent-composition-system | Composes profiles and execution bindings in a workspace under a host contract. |
28
28
  | @hook | hook-authoring-system | Represents a host event, tool/path selection and guard message. Registration and executing a guard require a host adapter. |
@@ -40,7 +40,7 @@ Spec source locators do not load documents. Resource capture and disclosure requ
40
40
  | @placement | taxonomy | Defines source authority and reach metadata. |
41
41
  | @plan | work-system | Represents an arrangement of milestones toward an intent; it heads the work hierarchy and has no parent. Plans do not nest. |
42
42
  | @playbook | governance-system | Represents a procedure as phase/primitive cells. Cell delivery is generic; the authored method belongs to its author. |
43
- | @predicate | taxonomy | Defines a directed relationship and its inverse spelling. |
43
+ | @predicate | taxonomy | Defines a directed relationship, its inverse spelling and its present phrase. |
44
44
  | @primitive | taxonomy | Defines a cognitive primitive coordinate; a cell is selected using its phase and primitive. |
45
45
  | @principle | governance-system | Declares a governing rationale in the shared governance shape. |
46
46
  | @run | session-system | Represents a governed run identity, declared phase, status and owner. Declaration does not start execution. |
package/SPEC.md CHANGED
@@ -10,4 +10,6 @@ Projection protection (2026-10-09): the hook denies file-tool edits to the posit
10
10
 
11
11
  Legacy steward marker recognition reads at most 1 MiB plus one sentinel byte from a single opened handle. It checks that the regular file and its unaliased pathname retain identity, size, link count and timestamps through the read; concurrent replacement or growth fails closed. Stable personal, missing and oversized files retain the existing unowned decision, and a stable marked hardlink retains the existing managed decision.
12
12
 
13
+ Descriptor reads (2026-10-16): the context ownership markers and their pending journals, the `--actors` map, the context hook binding and each code file of the hook implementation inventory are opened first, without following a leaf link or waiting on a FIFO where the platform has those flags, and judged by the opened descriptor, so the file checked is the file read (CodeQL js/file-system-race); no read goes past the opened size plus one byte. A marker or the actor map must be a regular, single-link, unaliased file of at most 1 MiB, or 8 MiB for a pending journal. An actor map named by a relative path, or by a path that is or passes through a link or junction, refuses first with `Actor map must be an absolute unaliased file`; otherwise a marker or map that is not such a file refuses with `Unsafe context ownership marker` or `Invalid actor map file`, also when the open itself refuses it (a link, a socket, anything else that is not such a file), and so does a marker gone after its directory is listed or a missing actor map. The binding, after its path check, must be a regular single-link file of at most 64 KiB whose name is still the opened file before and after the read; a link swapped in after the path check fails closed, refused as not a bounded regular file where the open refuses links and as a changed identity where the open follows it (Windows). The inventory classifies entries by the directory listing's own types, except that `lstat` classifies an entry listed as a link (Windows lists every reparse point as one), a file the inventory never reads and each directory as the inventory enters it, so only a real link or junction refuses as an alias, and a directory replaced after its parent is listed by a link, or by a junction other than a Windows volume mount point (which `lstat` reports as a directory), refuses as an alias before anything is listed or read through it (no snapshot of the tree: a directory can still change once it is judged); it judges each code file's 8 MiB and the package's 32 MiB bounds by the descriptor's size, admits hard links, and refuses a file that changes while it is read, whose name is no longer the opened file, or that is reached through a link. Any other failed open keeps its own error.
14
+
13
15
  Mandate guard (2026-10-11): the guard entry also accepts `--root <fixed absolute root> --hook <@hook identity>`, which a registration for one authored `@hook` runs through the launcher's `guard` mode for every edit tool (its group matches `Write|Edit|MultiEdit`), and `evaluateMandateHook(root, hook, event)` is exported beside `evaluateHook`. The input checks, the path safety (`IA-HOOK-PATH-UNSAFE`) and the managed-state protection above run first, for every edit tool whatever the hook's own tools, so no hook leaves the installation state, the owned projection files, or the settings and launcher an owned registration runs open to an edit; the retired steward rule for `.ia/src/systems/<name>/` is not applied in this mode and is not a fallback. The `@hook` the registration names must be one admitted authored record that hook generation declares (PreToolUse; Write, Edit or MultiEdit; one or more `/` path selections; a message); otherwise an edit under the root is refused with `IA-HOOK-DECLARATION-UNAVAILABLE` only when it falls under the selection the hook ownership state recorded for that hook at registration, and every edit under the root when no selection is recorded (an edit outside the root is never decided), and so is an edit, with `IA-HOOK-MANDATE-UNAVAILABLE`, when the workspace's records cannot be read at all, such as a descriptor the db cannot read or a lock a Windows checkout rewrote with CRLF line ends. Each such refusal names only commands that work from a shell in that state: `ia host claude --root <root> --remove --apply --yes`, which removes the registration and restores editing and needs neither an admitting workspace nor readable records; where the workspace admits, `ia host claude --root <root> --apply --yes`, which registers its current hooks and so removes a group whose record is gone; and where it does not, `ia validate --root <root>`, which shows why, or, while an authored `@mandate`, or a record an admitted mandate or workspace depends on, is among what admission refused (runtime R23), the admission report runtime `admissionReport` spells (`ia report --root <root>` when the root is inert unquoted, else `ia report` from the workspace root), since `ia validate`, mandate-gated, refuses in that state. Which one is named follows what could be read: when the database cannot open at all, the removal and `ia validate --root <root>`; when it opens but its records then cannot be read, the admission it read first decides, the report while a refused mandate or dependency is among what admission refused, else `ia validate --root <root>`. When the hook ownership state itself cannot be read, which the removal refuses too, the refusal names that state's repair instead: delete the state file and every IA hook group in `.claude/settings.local.json` from a shell, which restores editing, then run the removal for the rest of the registration. Runtime's `evaluateMandateGuard` (runtime R22) then decides the edit, which the hook decides only when its `hook.paths` select the file and its `hook.tools` name the tool (a workspace guards its `.ia/src` records by selecting them), with db `pathKey` as the fold for `hook.paths` and `authority.covers` alike, so where the volume folds names `DOCS/x.md` is under `docs/**` and `Docs/**`, and elsewhere each case is its own path. The file is matched by its on-disk name as well as its typed one: each existing component as the volume stores it (the deepest existing ancestor through `realpathSync.native`) with the typed tail, so a case variant of an existing folder is that folder, and a typed spelling that differs from the on-disk name other than by case, such as a Windows 8.3 short name (`RESTRI~1`), is refused with `IA-HOOK-PATH-UNSAFE` when the hook selects the file, never matched or decided as typed. A selected path reached through a link or junction is refused with `IA-HOOK-PATH-UNSAFE`, and so is a file with more than one hard link wherever it is under the root, selected or not (a pnpm store link included), since another of its names may be selected and the guard cannot find it; records that cannot be read as above refuse with `IA-HOOK-MANDATE-UNAVAILABLE` naming what that paragraph says, and a failure while the edit is decided refuses so, naming the admission report as `admissionReport` spells it. The request passes the registration's root (`MandateGuardRequest.root`), so while an authored `@mandate` fails admission, or a refused `@agent` or `@workspace` an admitted mandate's participant or scope or a workspace's steward names (runtime R23, where the reason names the refused record's `path:line` and the record that depends on it), every edit the hook selects is refused with `IA-HOOK-MANDATE-UNAVAILABLE`, whoever acts, naming the refused record's `path:line`, its admission finding and the admission report, not `ia validate`, which is mandate-gated; a hook that is not admitted, or not a declaration the guard can decide, refuses the same way in that state, naming the refused record, rather than with `IA-HOOK-DECLARATION-UNAVAILABLE` (the hook may share the refused mandate's file); the main session's refusal still also names `ia host claude --root <root> --remove --apply --yes`, and an edit the hook does not select is still not decided. Every refusal reason is printed without terminal escape sequences, and with each other C0 or C1 control, line or paragraph separator and bidirectional control replaced by a space (`printable`), so an authored message cannot drive the host's display. The `@hook` group ownership state (`.ia/distributions/hosts/claude-hooks-<id>.json`, format `ia.hook-registration-state.v1`) and the hook journal format in `guard-pending.json` (`ia.hook-registration-pending.v1`) are read as the retired guard's were: while either exists, `.claude/settings.local.json`, `.claude/settings.json` and the cache launcher they name are managed. Hook groups are JSON entries owned by their own state, not projection files; the projection allowlist (`PROJECTION_OWNED`) admits the generated files (Projection protection above).
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/context.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readFileSync, readSync, realpathSync, } from 'node:fs';
2
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readSync, realpathSync } from 'node:fs';
3
3
  import { dirname, isAbsolute, relative, resolve, sep } from 'node:path';
4
4
  import { pathKey, unaliased } from '@inventarch/db';
5
5
  import { canonicalDistributionJson, decodeDistributionJson, platformDebris } from '@inventarch/db/distribution';
@@ -34,7 +34,7 @@ const fields = [
34
34
  'policy',
35
35
  'implementation',
36
36
  ];
37
- /** Paths compare as the volume compares names: case on win32; normalization and full case folding on darwin (crowncodes/ia#315, crowncodes/ia#323). */
37
+ /** Paths compare as the volume compares names: case on win32; normalization and full case folding on darwin. */
38
38
  const fold = pathKey;
39
39
  const hash = (value) => createHash('sha256').update(value).digest('hex');
40
40
  function fail(message) {
@@ -205,22 +205,37 @@ export function readContextHookBinding(rootInput, pathInput) {
205
205
  !unaliased(path, realpathSync.native(path)))
206
206
  fail('Context binding path is outside its fixed managed location');
207
207
  physicalDirectory(dirname(path));
208
- const maximum = 64 * 1024, stat = lstatSync(path);
209
- const regular = (value) => value.isFile() && !value.isSymbolicLink() && value.nlink === 1 && value.size <= maximum;
210
- const same = (value) => regular(value) &&
211
- value.dev === stat.dev &&
212
- value.ino === stat.ino &&
213
- value.size === stat.size &&
214
- value.mtimeMs === stat.mtimeMs &&
215
- value.ctimeMs === stat.ctimeMs;
216
- if (!regular(stat))
217
- fail('Context binding is not a bounded regular file');
218
- const fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW);
208
+ const maximum = 64 * 1024;
209
+ const regular = (value) => value.isFile() && !value.isSymbolicLink() && value.nlink === 1n && value.size <= BigInt(maximum);
210
+ let fd;
211
+ try {
212
+ // Opened before it is judged, so the checks and the read are of one file (CodeQL js/file-system-race): never
213
+ // through a leaf link, and never waiting on a FIFO, where the platform has the flag.
214
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
215
+ }
216
+ catch (error) {
217
+ // A name the open refuses that is not a bounded regular file (a link, a socket, anything else) is refused as not
218
+ // one; a binding gone since its path was checked fails with lstat's own error, and any other failure keeps its own.
219
+ if (!regular(lstatSync(path, { bigint: true })))
220
+ fail('Context binding is not a bounded regular file');
221
+ throw error;
222
+ }
219
223
  let bytes;
220
224
  try {
221
- if (!same(fstatSync(fd)))
225
+ const stat = fstatSync(fd, { bigint: true });
226
+ const same = (value) => regular(value) &&
227
+ value.dev === stat.dev &&
228
+ value.ino === stat.ino &&
229
+ value.size === stat.size &&
230
+ value.mtimeNs === stat.mtimeNs &&
231
+ value.ctimeNs === stat.ctimeNs;
232
+ if (!regular(stat))
233
+ fail('Context binding is not a bounded regular file');
234
+ // The name must be the opened file: on Windows, which has neither flag, this and the realpath check after the read
235
+ // are what refuse a link swapped in after the path check.
236
+ if (!same(lstatSync(path, { bigint: true })))
222
237
  fail('Context binding identity changed before read');
223
- const buffer = Buffer.alloc(maximum + 1);
238
+ const buffer = Buffer.alloc(Number(stat.size) + 1);
224
239
  let length = 0;
225
240
  while (length < buffer.length) {
226
241
  const count = readSync(fd, buffer, length, buffer.length - length, length);
@@ -228,10 +243,10 @@ export function readContextHookBinding(rootInput, pathInput) {
228
243
  break;
229
244
  length += count;
230
245
  }
231
- if (length !== stat.size ||
246
+ if (BigInt(length) !== stat.size ||
232
247
  length > maximum ||
233
- !same(fstatSync(fd)) ||
234
- !same(lstatSync(path)) ||
248
+ !same(fstatSync(fd, { bigint: true })) ||
249
+ !same(lstatSync(path, { bigint: true })) ||
235
250
  !unaliased(path, realpathSync.native(path)))
236
251
  fail('Context binding changed during read');
237
252
  physicalDirectory(dirname(path));
@@ -245,6 +260,58 @@ export function readContextHookBinding(rootInput, pathInput) {
245
260
  fail('Context binding names another root');
246
261
  return result;
247
262
  }
263
+ /**
264
+ * The bytes of a code file the inventory listed as a regular file, read through one descriptor: opened before it is
265
+ * judged (CodeQL js/file-system-race), never through a leaf link or waiting on a FIFO where the platform has the flag,
266
+ * of at most `limit` bytes by that descriptor, unchanged by the read, and after it still the file at `path` by device
267
+ * and inode, with no link at or on the way to `path` (on Windows, which has neither flag, these two checks are what
268
+ * refuse a link).
269
+ */
270
+ function implementationBytes(path, limit) {
271
+ let fd;
272
+ try {
273
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
274
+ }
275
+ catch (error) {
276
+ // A link or another nonregular file in the listed entry's place, whatever the open refused, is refused as the
277
+ // listing would have refused it; a file gone since the listing fails with lstat's own error.
278
+ const named = lstatSync(path, { bigint: true });
279
+ if (named.isSymbolicLink())
280
+ fail('Hook implementation aliases are unsupported');
281
+ if (!named.isFile())
282
+ fail('Hook implementation has a nonregular file');
283
+ throw error;
284
+ }
285
+ try {
286
+ const opened = fstatSync(fd, { bigint: true });
287
+ if (!opened.isFile())
288
+ fail('Hook implementation has a nonregular file');
289
+ if (opened.size > BigInt(limit))
290
+ fail('Hook implementation bytes exceed their bound');
291
+ // The opened size plus one byte: growth during the read shows, and nothing past the bound is ever read.
292
+ const buffer = Buffer.alloc(Number(opened.size) + 1);
293
+ let length = 0;
294
+ while (length < buffer.length) {
295
+ const count = readSync(fd, buffer, length, buffer.length - length, null);
296
+ if (!count)
297
+ break;
298
+ length += count;
299
+ }
300
+ const after = fstatSync(fd, { bigint: true });
301
+ if (BigInt(length) !== opened.size || after.size !== opened.size || after.mtimeNs !== opened.mtimeNs)
302
+ fail('Hook implementation changed while it was read');
303
+ const named = lstatSync(path, { bigint: true });
304
+ // A directory on the way that became a link after it was listed is walked through it; such a path is not its own.
305
+ if (named.dev !== opened.dev || named.ino !== opened.ino || !unaliased(path, realpathSync.native(path)))
306
+ fail('Hook implementation aliases are unsupported');
307
+ return buffer.subarray(0, length);
308
+ }
309
+ finally {
310
+ closeSync(fd);
311
+ }
312
+ }
313
+ /** Whether the inventory reads and hashes a file of this name: code, never a declaration or a platform's own file. */
314
+ const hashed = (name) => /\.(?:[cm]?[jt]s|json|node|wasm)$/.test(name) && !/\.d\.[cm]?ts$/.test(name) && !platformDebris(name);
248
315
  /** Fixed module inventory; no import-time I/O. Root override is for isolated host tests only. */
249
316
  export function contextHookImplementationDigest(directory = import.meta.dirname) {
250
317
  const root = physicalDirectory(directory), files = [], names = new Set();
@@ -261,18 +328,28 @@ export function contextHookImplementationDigest(directory = import.meta.dirname)
261
328
  names.has(path.toLowerCase()))
262
329
  fail('Hook implementation has aliased paths');
263
330
  names.add(path.toLowerCase());
264
- const absolute = resolve(directory, name), stat = lstatSync(absolute);
265
- if (stat.isSymbolicLink())
331
+ const absolute = resolve(directory, name);
332
+ // The listing's own entry types classify each name, and a code file is admitted only by the descriptor it is read
333
+ // through, which also bounds its bytes. An entry listed as a link, a directory and a file the walk never reads are
334
+ // classified by lstat, as every entry was before the walk opened files: Windows lists every reparse point as a link,
335
+ // a cloud placeholder or a deduplicated file among them; a directory is judged by its name as the walk enters it, so
336
+ // one replaced by a link or junction since its parent was listed is refused, never walked through; and a file never
337
+ // read has no descriptor to judge it. That lstat decides only whether the entry is refused or how it is walked, never
338
+ // that a file is admitted, and it is no snapshot of the tree: a directory can still change once it is judged.
339
+ const listed = entry.isSymbolicLink() || entry.isDirectory() || (entry.isFile() && !hashed(name))
340
+ ? lstatSync(absolute)
341
+ : entry;
342
+ if (listed.isSymbolicLink())
266
343
  fail('Hook implementation aliases are unsupported');
267
- if (stat.isDirectory())
344
+ if (listed.isDirectory())
268
345
  visit(absolute, path + '/', depth + 1);
269
- else if (!stat.isFile())
346
+ else if (!listed.isFile())
270
347
  fail('Hook implementation has a nonregular file');
271
- // A Finder or AppleDouble file is never code: the launcher skips it, so the identity must too (crowncodes/ia#323).
272
- else if (/\.(?:[cm]?[jt]s|json|node|wasm)$/.test(name) && !/\.d\.[cm]?ts$/.test(name) && !platformDebris(name)) {
273
- if (stat.size > 8 * 1024 * 1024 || (total += stat.size) > 32 * 1024 * 1024)
274
- fail('Hook implementation bytes exceed their bound');
275
- files.push({ path, digest: hash(readFileSync(absolute)) });
348
+ // A Finder or AppleDouble file is never code: the launcher skips it, so the identity must too.
349
+ else if (hashed(name)) {
350
+ const bytes = implementationBytes(absolute, Math.min(8 * 1024 * 1024, 32 * 1024 * 1024 - total));
351
+ total += bytes.length;
352
+ files.push({ path, digest: hash(bytes) });
276
353
  }
277
354
  }
278
355
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEhH,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAUnH,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA0BrF,sHAAsH;AACtH,MAAM,CAAC,MAAM,4BAA4B,GAAqB,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,MAAM;CAClB,CAAC,CAAC;AA2BH,MAAM,MAAM,GAAG;IACb,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,gBAAgB;CACjB,CAAC;AACF,uJAAuJ;AACvJ,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,MAAM,IAAI,GAAG,CAAC,KAA0B,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtG,SAAS,IAAI,CAAC,OAAe;IAC3B,MAAM,IAAI,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AACD,SAAS,KAAK,CAAC,KAAc,EAAE,MAAyB;IACtD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EACjC,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACxD,IACE,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC7B,IAAI,CAAC,IAAI,CACP,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU;YAC7B,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAE,EAAE,OAAO,CAAC,CAC7C;QAED,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAClE,OAAO,KAAgC,CAAC;AAC1C,CAAC;AACD,SAAS,IAAI,CAAC,KAAc,EAAE,OAAO,GAAG,IAAI;IAC1C,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK;QAE7C,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,GAAG,CAAC,KAAc;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,MAAM,CAAI,KAAQ;IACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAC5E,CAAC;AACD,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,4GAA4G;AAC5G,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACrE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,KAAK,CAAC,MAAM,KAAK,4BAA4B;QAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EACtD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,IACE,UAAU,KAAK,IAAI;QACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC;QAEzG,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,UAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,EAAE;QAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM;QAC5B,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,EAAE;QAEhC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IACE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QAC7D,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAErE,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAC5C,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3G,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,GAAG,CAAC,WAAW,CAAY,GAAG,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAY,GAAG,SAAS;YAExC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,CAAU;YAChD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS;QAC1D,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;QAC5B,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QACzB,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC;QACnB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC;KAChB;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;YACnG,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC5D,MAAM,IAAI,GAA4B;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;QACrC,OAAO;QACP,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE;QACzE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE;QACzD,SAAS,EAAE;YACT,MAAM;YACN,QAAQ;YACR,SAAS,EACP,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,GAAI,SAA4E,EAAE;SAC3F;QACD,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;QACxD,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACzB,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;KAC1C,CAAC;IACF,OAAO,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AACD,SAAS,aAAa,CAAC,KAAyB;IAC9C,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAC/B,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,KAAK,CAAC;QAC7G,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,SAAiB;IACzE,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACvC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,EACzB,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,IACE,CAAC,UAAU,CAAC,SAAS,CAAC;QACtB,CAAC,kFAAkF,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7F,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACrE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EACvB,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,KAAY,EAAW,EAAE,CACxC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IAC1F,MAAM,IAAI,GAAG,CAAC,KAAY,EAAW,EAAE,CACrC,OAAO,CAAC,KAAK,CAAC;QACd,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QACtB,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QACtB,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QACxB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC9B,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAE,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK;gBAAE,MAAM;YAClB,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC;QACD,IACE,MAAM,KAAK,IAAI,CAAC,IAAI;YACpB,MAAM,GAAG,OAAO;YAChB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC9C,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAuB,EAClH,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,+BAA+B,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO;IAC7E,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACvC,KAAK,GAAuC,EAAE,EAC9C,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,EAAQ,EAAE;QAChE,IAAI,KAAK,GAAG,EAAE;YAAE,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EACrB,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;YACvB,IACE,EAAE,KAAK,GAAG,IAAI;gBACd,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAE7B,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EACvC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;iBAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3E,mHAAmH;iBAC9G,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/G,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;oBACxE,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC7C,MAAM,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC7D,OAAO,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,OAAO;QAAE,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACxE,OAAO,IAAI,CACT,yBAAyB,CAAC;QACxB,MAAM,EAAE,mCAAmC;QAC3C,MAAM,EAAE,6BAA6B,EAAE;QACvC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACnC,KAAK;KACN,CAAC,CACH,CAAC;AACJ,CAAC;AACD,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAyB,EACzB,IAAY,EACZ,IAAqB,EACrB,MAAoB;IAEpB,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAyB,EACzB,IAAY,EACZ,IAAY,EACZ,IAAqB,EACrB,MAAoB;IAEpB,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AACD,KAAK,UAAU,QAAQ,CACrB,KAAyB,EACzB,IAAY,EACZ,IAAqB,EACrB,IAAwB,EACxB,MAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC/E,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAClC,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACnD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACnF,IAAI,OAAO,EAAE,KAAK,OAAO,CAAC,cAAc;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,+BAA+B,CAAC;QAC/F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,EACD,KAAK,EACL;YACE,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;YACzE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,IAAI,OAAO,EAAE,KAAK,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI;oBAC1F,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/D,IACE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI;oBACpC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;wBAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAEtF,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAC3D,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE,WAAW,EAAE,CAAC,QAAgC,EAAE,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;iBAC1G;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,MAAM,CACP,CAAC;QACF,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,aAAa;YACvB,QAAQ;YACR,MAAM,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAK,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;SAC3E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB;YACE,OAAO;YACP,aAAa;YACb,OAAO;YACP,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,WAAW;YACX,UAAU;YACV,SAAS;SACV,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CACxC,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAChH,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,IAAI;YACJ,MAAM,EAAE,EAAE,aAAa,EAAE,qCAAqC,IAAI,8BAA8B,EAAE;SACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iHAAiH;AACjH,SAAS,YAAY,CAAI,GAAY;IACnC,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;YACxE,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,2CAA2C,CAAC,CAAC;QACjG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD;;yHAEyH;AACzH,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,0DAA0D;IAC1D,0CAA0C;IAC1C,kCAAkC;IAClC,4CAA4C;IAC5C,2DAA2D;CAC5D,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,KAAK,YAAY,aAAa;IAC5B,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC,KAAK,YAAY,KAAK,IAAK,KAA4B,CAAC,IAAI,KAAK,sBAAsB,CAAC;AAC9F,uJAAuJ;AACvJ,SAAS,SAAS,CAAC,KAAiB;IAClC,IAAI,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,sDAAsD,CAAC,CAAC;QACzG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,4GAA4G;AAC5G,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA6B,CAAC;IACxD,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,CAAC,+BAA+B,EAAE;QACvD,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CACvE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,CACrD,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAC9F,MAAM,MAAM,GAAoB,WAAW,CAAC,CAAC,CAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC9E,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC/D,cAAc,EAAE,KAAK,CAAC,OAAO;oBAC7B,oBAAoB,EAAE,KAAK,CAAC,aAAa;oBACzC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtE,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACvE,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG;oBACX,OAAO,EAAE,OAAO,CAAC,MAAM;oBACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;oBAC9B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ;oBAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;oBACjC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI;oBAC1D,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;oBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC;gBACF,MAAM,IAAI,GAAkB;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI;oBACJ,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;wBACvB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;wBACvG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjG,CAAC;oBACD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;iBAC3B,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAuB,EAAE,KAAa;IACzE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,EAAE,6BAA6B;YACrC,cAAc,EAAE,+BAA+B,EAAE;YACjD,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,UAAU,EAAE,OAAO,CAAC,oBAAoB;SACzC,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;QACvB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IAC3D,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAClF,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CACjE,CAAC,MAAM,CAAC;AACX,CAAC;AACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;oBAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,aAAa,EAAE,wFAAwF;SACxG,CAAC,CACH,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;CACH;AACD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAQhE;AAOD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AA2lBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG9C;AAkHD,6GAA6G;AAC7G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAsC1F;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAuJ1F;AAGD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAe1E"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;CACH;AACD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAQhE;AAOD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAymBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG9C;AAkHD,6GAA6G;AAC7G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAsC1F;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAuJ1F;AAGD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAe1E"}
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, readdirSync, readFileSync, realpathSync, } from 'node:fs';
1
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, readdirSync, realpathSync, } from 'node:fs';
2
2
  import { basename, dirname, isAbsolute, relative, resolve, sep } from 'node:path';
3
3
  import { admissionReport, inertCommandRoot, evaluateMandateGuard, evaluateSteward, isAdmissionRefusal, isEntry, mandateGuardSelects, openDatabase, refusedDependencies, refusedMandates, requireMandatesAdmitted, } from '@inventarch/runtime';
4
4
  import { pathKey, sameFile, unaliased } from '@inventarch/db';
@@ -27,7 +27,7 @@ function object(value) {
27
27
  return typeof value === 'object' && value !== null && !Array.isArray(value);
28
28
  }
29
29
  /**
30
- * Rules key names with db `pathKey`: case on win32; normalization and full case folding on darwin (crowncodes/ia#315, crowncodes/ia#323). It folds
30
+ * Rules key names with db `pathKey`: case on win32; normalization and full case folding on darwin. It folds
31
31
  * by platform, whatever the volume, so on a case-sensitive directory there a sibling spelled in another case matches too.
32
32
  */
33
33
  const fold = pathKey;
@@ -130,13 +130,16 @@ function legacySteward(target) {
130
130
  closeSync(fd);
131
131
  }
132
132
  }
133
+ /** The bound of an ownership state, the actor map and a context ownership marker other than a pending journal. */
134
+ const STATE_LIMIT = 1024 * 1024;
133
135
  /**
134
- * The bytes of the ownership state at the absolute `path`, or undefined when there is none. A state must be a plain,
135
- * unaliased, single-link file within 1 MiB. It is opened before it is judged, so the checks and the read are of one
136
- * file (CodeQL js/file-system-race), and it must still be that file after the read. Anything else throws `unsafe`, and
137
- * the caller fails closed.
136
+ * The bytes of the ownership state, context ownership marker or actor map at the absolute `path`, or undefined when there
137
+ * is none. It must be a plain, unaliased, single-link file within `limit` bytes. It is opened before it is judged, so the
138
+ * checks and the read are of one file (CodeQL js/file-system-race), and it must still be that file after the read.
139
+ * Anything else throws `unsafe`, and the caller fails closed; an open that fails other than for a missing file throws its
140
+ * own error.
138
141
  */
139
- function readState(path, unsafe) {
142
+ function readState(path, unsafe, limit = STATE_LIMIT) {
140
143
  let fd;
141
144
  try {
142
145
  fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
@@ -147,7 +150,7 @@ function readState(path, unsafe) {
147
150
  throw error;
148
151
  }
149
152
  try {
150
- const stat = fstatSync(fd, { bigint: true }), limit = 1024 * 1024;
153
+ const stat = fstatSync(fd, { bigint: true });
151
154
  const same = (value) => value.isFile() &&
152
155
  value.nlink === 1n &&
153
156
  value.dev === stat.dev &&
@@ -160,7 +163,8 @@ function readState(path, unsafe) {
160
163
  !same(lstatSync(path, { bigint: true })) ||
161
164
  !unaliased(path, physical(path)))
162
165
  throw new Error(unsafe);
163
- const content = Buffer.alloc(limit + 1);
166
+ // The opened size plus one byte: growth during the read shows, and nothing past the bound is ever read.
167
+ const content = Buffer.alloc(Number(stat.size) + 1);
164
168
  let size = 0;
165
169
  for (;;) {
166
170
  const count = readSync(fd, content, size, content.length - size, null);
@@ -179,6 +183,25 @@ function readState(path, unsafe) {
179
183
  closeSync(fd);
180
184
  }
181
185
  }
186
+ /**
187
+ * `readState` for a reader that refuses as `unsafe` whatever is not a plain single-link file within `limit` bytes, also
188
+ * when the open fails on it: a failed open has the name examined, so a link (`O_NOFOLLOW`), a socket or anything else
189
+ * the open refuses that is not such a file gets the refusal an opened one does. A failed open of such a file throws its
190
+ * own error, as before.
191
+ */
192
+ function stateBytes(path, unsafe, limit = STATE_LIMIT) {
193
+ try {
194
+ return readState(path, unsafe, limit);
195
+ }
196
+ catch (error) {
197
+ if (error.syscall !== 'open')
198
+ throw error;
199
+ const named = lstatSync(path, { bigint: true });
200
+ if (!named.isFile() || named.nlink !== 1n || named.size > BigInt(limit))
201
+ throw new Error(unsafe);
202
+ throw error;
203
+ }
204
+ }
182
205
  /**
183
206
  * `ownership` is undefined in a legacy workspace (no projection state) and is read only when a candidate path needs it;
184
207
  * `steward` says whether the edited file, at a legacy-mode agent path, is still a 1.x steward file. `systems` locates the
@@ -348,16 +371,13 @@ function contextSettingsManaged(root, includeContext = true) {
348
371
  const guard = /^claude-guard-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name)), guardPending = fold(name) === 'guard-pending.json', hooks = /^claude-hooks-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name));
349
372
  if (!guard && !guardPending && !hooks && (!includeContext || (!match && !pending)))
350
373
  continue;
351
- const path = resolve(directory, name), stat = lstatSync(path), limit = pending || guardPending ? 8 * 1024 * 1024 : 1024 * 1024;
352
- if (name !== name.toLowerCase() ||
353
- !stat.isFile() ||
354
- stat.nlink !== 1 ||
355
- stat.size > limit ||
356
- !unaliased(path, physical(path)))
374
+ // A marker is a plain, unaliased, single-link file of at most 1 MiB, or 8 MiB for a pending journal, read through
375
+ // the descriptor that judged it; one named in another case, or gone since the listing, is as unsafe.
376
+ if (name !== name.toLowerCase())
377
+ throw new Error('Unsafe context ownership marker');
378
+ const content = stateBytes(resolve(directory, name), 'Unsafe context ownership marker', pending || guardPending ? 8 * 1024 * 1024 : STATE_LIMIT);
379
+ if (content === undefined)
357
380
  throw new Error('Unsafe context ownership marker');
358
- const content = readFileSync(path);
359
- if (content.length > limit)
360
- throw new Error('Context ownership marker exceeds its bound');
361
381
  const row = decodeDistributionJson(new TextDecoder('utf-8', { fatal: true }).decode(content));
362
382
  if (!object(row) || typeof row['id'] !== 'string' || !/^[a-z][a-z0-9-]{0,63}$/.test(row['id']))
363
383
  throw new Error('Invalid context ownership marker');
@@ -549,12 +569,10 @@ function sourceGuardRegistered(root) {
549
569
  function actorMap(path, revision) {
550
570
  if (!isAbsolute(path) || !unaliased(path, physical(path)))
551
571
  throw new Error('Actor map must be an absolute unaliased file');
552
- const stat = lstatSync(path);
553
- if (!stat.isFile() || stat.nlink !== 1 || stat.size > 1024 * 1024)
572
+ // A plain single-link file of at most 1 MiB, read through the descriptor that judged it; a missing map is as invalid.
573
+ const content = stateBytes(path, 'Invalid actor map file');
574
+ if (content === undefined)
554
575
  throw new Error('Invalid actor map file');
555
- const content = readFileSync(path);
556
- if (content.length > 1024 * 1024)
557
- throw new Error('Actor map exceeds 1 MiB');
558
576
  const value = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(content));
559
577
  if (!object(value) ||
560
578
  Object.keys(value).sort().join('|') !== 'actors|format|revision' ||
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inventarch/steward-hook",
3
- "version": "3.1.1",
3
+ "version": "3.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "types": "./dist/main.d.ts",
@@ -13,9 +13,9 @@
13
13
  "LANGUAGE.md"
14
14
  ],
15
15
  "dependencies": {
16
- "@inventarch/runtime": "3.1.1",
17
- "@inventarch/workspace-runtime": "3.1.1",
18
- "@inventarch/db": "3.1.1"
16
+ "@inventarch/runtime": "3.2.1",
17
+ "@inventarch/workspace-runtime": "3.2.1",
18
+ "@inventarch/db": "3.2.1"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^22.19.0",