@lovrozagar/oat 0.7.0 → 0.7.3

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 (81) hide show
  1. package/README.md +327 -151
  2. package/dist/cli.js +32 -29
  3. package/dist/config/define-config.d.ts +31 -3
  4. package/dist/config/define-config.d.ts.map +1 -1
  5. package/dist/config/define-config.js.map +1 -1
  6. package/dist/index.d.ts +3 -1
  7. package/dist/index.js +1 -0
  8. package/dist/reference/defects.d.ts +16 -0
  9. package/dist/reference/defects.d.ts.map +1 -1
  10. package/dist/reference/defects.js +16 -0
  11. package/dist/reference/defects.js.map +1 -1
  12. package/dist/reference/model.d.ts +9 -0
  13. package/dist/reference/model.d.ts.map +1 -1
  14. package/dist/reference/model.js +20 -0
  15. package/dist/reference/model.js.map +1 -1
  16. package/dist/reference/query.d.ts +5 -0
  17. package/dist/reference/query.d.ts.map +1 -1
  18. package/dist/reference/query.js +87 -21
  19. package/dist/reference/query.js.map +1 -1
  20. package/dist/reference/spec.d.ts.map +1 -1
  21. package/dist/reference/spec.js +47 -2
  22. package/dist/reference/spec.js.map +1 -1
  23. package/dist/reference/store-api.d.ts +5 -1
  24. package/dist/reference/store-api.d.ts.map +1 -1
  25. package/dist/reference/store-api.js +9 -1
  26. package/dist/reference/store-api.js.map +1 -1
  27. package/dist/reference/stores/memory.d.ts.map +1 -1
  28. package/dist/reference/stores/memory.js +11 -0
  29. package/dist/reference/stores/memory.js.map +1 -1
  30. package/dist/reference/stores/postgres.d.ts.map +1 -1
  31. package/dist/reference/stores/postgres.js +75 -19
  32. package/dist/reference/stores/postgres.js.map +1 -1
  33. package/dist/reference/stores/sqlite-driver.d.ts.map +1 -1
  34. package/dist/reference/stores/sqlite-driver.js +3 -0
  35. package/dist/reference/stores/sqlite-driver.js.map +1 -1
  36. package/dist/reference/stores/sqlite.d.ts.map +1 -1
  37. package/dist/reference/stores/sqlite.js +78 -17
  38. package/dist/reference/stores/sqlite.js.map +1 -1
  39. package/dist/report/console.d.ts +7 -1
  40. package/dist/report/console.d.ts.map +1 -1
  41. package/dist/report/console.js +210 -3
  42. package/dist/report/console.js.map +1 -1
  43. package/dist/runtime/checks.d.ts +3 -0
  44. package/dist/runtime/checks.d.ts.map +1 -1
  45. package/dist/runtime/checks.js +1361 -19
  46. package/dist/runtime/checks.js.map +1 -1
  47. package/dist/runtime/client.d.ts +17 -1
  48. package/dist/runtime/client.d.ts.map +1 -1
  49. package/dist/runtime/client.js +21 -4
  50. package/dist/runtime/client.js.map +1 -1
  51. package/dist/runtime/progress.d.ts +21 -0
  52. package/dist/runtime/progress.d.ts.map +1 -1
  53. package/dist/runtime/progress.js +63 -21
  54. package/dist/runtime/progress.js.map +1 -1
  55. package/dist/runtime/query-capabilities.d.ts +24 -0
  56. package/dist/runtime/query-capabilities.d.ts.map +1 -0
  57. package/dist/runtime/query-capabilities.js +66 -0
  58. package/dist/runtime/query-capabilities.js.map +1 -0
  59. package/dist/runtime/run.d.ts +6 -2
  60. package/dist/runtime/run.d.ts.map +1 -1
  61. package/dist/runtime/run.js +105 -37
  62. package/dist/runtime/run.js.map +1 -1
  63. package/dist/runtime/runs.d.ts +23 -0
  64. package/dist/runtime/runs.d.ts.map +1 -0
  65. package/dist/runtime/runs.js +53 -0
  66. package/dist/runtime/runs.js.map +1 -0
  67. package/dist/spec/conventions.d.ts +10 -2
  68. package/dist/spec/conventions.d.ts.map +1 -1
  69. package/dist/spec/conventions.js +61 -7
  70. package/dist/spec/conventions.js.map +1 -1
  71. package/dist/spec/extensions.d.ts +11 -0
  72. package/dist/spec/extensions.d.ts.map +1 -1
  73. package/dist/spec/extensions.js +16 -4
  74. package/dist/spec/extensions.js.map +1 -1
  75. package/dist/spec/query-capabilities.d.ts +154 -0
  76. package/dist/spec/query-capabilities.d.ts.map +1 -0
  77. package/dist/spec/query-capabilities.js +734 -0
  78. package/dist/spec/query-capabilities.js.map +1 -0
  79. package/labs/annotated-openapi.yaml +21 -2
  80. package/labs/demo.mjs +4 -2
  81. package/package.json +1 -1
@@ -17,6 +17,7 @@ import { FindingCollector } from "./finding.js";
17
17
  import { reportFeatureGateSchemaDrift } from "./feature-gate.js";
18
18
  import { excludedByProfile, resolveProfile } from "./profile.js";
19
19
  import { buildRateLimitRules, RateLimiter } from "./rate-limit.js";
20
+ import { resolveEntityCapabilities } from "./query-capabilities.js";
20
21
  import { Ledger } from "./teardown.js";
21
22
  import { SchemaValidator } from "./validate.js";
22
23
  import { isOverflowError, overflowFrom } from "./fixture.js";
@@ -204,36 +205,72 @@ export async function run(options) {
204
205
  const profile = resolveProfile(options.profile, options.profiles);
205
206
  const profileExclusions = [];
206
207
  let last;
208
+ const inflight = new Set();
207
209
  let currentPhase = "load";
208
210
  let currentEntity;
209
211
  let currentCheck;
210
212
  let currentEntityIndex;
211
213
  let entityTotal;
212
214
  const defectCount = () => findings.findings.filter((f) => f.verdict !== "BLOCKED" && f.verdict !== "COVERAGE_GAP").length;
213
- const publish = (snap) => {
214
- options.onProgress?.(snap);
215
+ const oldestInflight = () => {
216
+ let oldest;
217
+ for (const probe of inflight) {
218
+ if (oldest === undefined || probe.at < oldest.at)
219
+ oldest = probe;
220
+ }
221
+ if (oldest === undefined)
222
+ return undefined;
223
+ const displayed = { at: oldest.at, method: oldest.method, url: oldest.url };
224
+ if (oldest.requestId !== "")
225
+ displayed.requestId = oldest.requestId;
226
+ displayed.requestBytes = oldest.requestBytes;
227
+ return displayed;
215
228
  };
216
- const tick = (partial) => {
217
- currentPhase = partial.phase;
229
+ let client;
230
+ const requestCount = () => client.transcript.length;
231
+ const snapshot = (extra) => {
218
232
  const snap = {
219
233
  elapsedMs: Date.now() - startedAt,
220
234
  findings: defectCount(),
221
- phase: partial.phase,
222
- requests: partial.requests ?? 0,
235
+ phase: currentPhase,
236
+ requests: extra?.requests ?? requestCount(),
223
237
  };
238
+ if (currentCheck !== undefined)
239
+ snap.check = currentCheck;
240
+ if (currentEntity !== undefined)
241
+ snap.entity = currentEntity;
242
+ if (currentEntityIndex !== undefined)
243
+ snap.entityIndex = currentEntityIndex;
244
+ if (entityTotal !== undefined)
245
+ snap.entityTotal = entityTotal;
246
+ if (extra?.message !== undefined)
247
+ snap.message = extra.message;
248
+ if (last !== undefined)
249
+ snap.last = last;
250
+ if (extra?.omitInflight !== true) {
251
+ const live = extra?.inflight ?? oldestInflight();
252
+ if (live !== undefined)
253
+ snap.inflight = live;
254
+ }
255
+ return snap;
256
+ };
257
+ const publish = (snap) => {
258
+ options.onProgress?.(snap);
259
+ };
260
+ const tick = (partial) => {
261
+ currentPhase = partial.phase;
224
262
  if (partial.entity !== undefined)
225
- snap.entity = partial.entity;
263
+ currentEntity = partial.entity;
226
264
  if (partial.entityIndex !== undefined)
227
- snap.entityIndex = partial.entityIndex;
265
+ currentEntityIndex = partial.entityIndex;
228
266
  if (partial.entityTotal !== undefined)
229
- snap.entityTotal = partial.entityTotal;
267
+ entityTotal = partial.entityTotal;
230
268
  if (partial.check !== undefined)
231
- snap.check = partial.check;
232
- if (partial.message !== undefined)
233
- snap.message = partial.message;
234
- if (last !== undefined)
235
- snap.last = last;
236
- publish(snap);
269
+ currentCheck = partial.check;
270
+ publish(snapshot({
271
+ ...(partial.message === undefined ? {} : { message: partial.message }),
272
+ ...(partial.requests === undefined ? {} : { requests: partial.requests }),
273
+ }));
237
274
  };
238
275
  tick({ message: options.spec, phase: "load", requests: 0 });
239
276
  const raw = await loadSpec(options.spec, options.baseUrl);
@@ -249,7 +286,7 @@ export async function run(options) {
249
286
  const hooks = options.hooks ?? {};
250
287
  const authCreates = authStepOperationIds(options.principals);
251
288
  const rateLimiter = new RateLimiter(buildRateLimitRules(model, options.rateLimits));
252
- const client = new Client(options.baseUrl, options.globalHeaders ?? {}, options.maxInFlight ?? 4, (exchange) => {
289
+ const remember = (exchange) => {
253
290
  last = {
254
291
  at: exchange.at,
255
292
  durationMs: exchange.durationMs,
@@ -260,23 +297,28 @@ export async function run(options) {
260
297
  status: exchange.status,
261
298
  url: exchange.url,
262
299
  };
263
- const snap = {
264
- elapsedMs: Date.now() - startedAt,
265
- findings: defectCount(),
266
- last,
267
- phase: currentPhase,
268
- requests: client.transcript.length,
269
- };
270
- if (currentCheck !== undefined)
271
- snap.check = currentCheck;
272
- if (currentEntity !== undefined)
273
- snap.entity = currentEntity;
274
- if (currentEntityIndex !== undefined)
275
- snap.entityIndex = currentEntityIndex;
276
- if (entityTotal !== undefined)
277
- snap.entityTotal = entityTotal;
278
- publish(snap);
279
- }, rateLimiter);
300
+ };
301
+ const onExchange = (exchange) => {
302
+ remember(exchange);
303
+ publish(snapshot({ omitInflight: true }));
304
+ const remaining = oldestInflight();
305
+ if (remaining !== undefined)
306
+ publish(snapshot({ inflight: remaining }));
307
+ };
308
+ const httpHooks = {
309
+ end(probe) {
310
+ inflight.delete(probe);
311
+ },
312
+ start(probe) {
313
+ inflight.add(probe);
314
+ const displayed = { at: probe.at, method: probe.method, url: probe.url };
315
+ if (probe.requestId !== "")
316
+ displayed.requestId = probe.requestId;
317
+ displayed.requestBytes = probe.requestBytes;
318
+ publish(snapshot({ inflight: displayed }));
319
+ },
320
+ };
321
+ client = new Client(options.baseUrl, options.globalHeaders ?? {}, options.maxInFlight ?? 4, onExchange, rateLimiter, httpHooks);
280
322
  if (hooks.resolveHeaders !== undefined)
281
323
  client.setResolveHeaders(hooks.resolveHeaders);
282
324
  const validator = new SchemaValidator();
@@ -285,7 +327,7 @@ export async function run(options) {
285
327
  const outOfBand = resolveBackoff(options.outOfBand);
286
328
  if (options.principals[0] === undefined)
287
329
  throw new Error("oat: at least one principal is required");
288
- const originClients = await loadOriginClients(options.origins ?? [], hooks, options.maxInFlight ?? 4, options.globalHeaders ?? {});
330
+ const originClients = await loadOriginClients(options.origins ?? [], hooks, options.maxInFlight ?? 4, options.globalHeaders ?? {}, onExchange, httpHooks);
289
331
  const uploads = {
290
332
  seed,
291
333
  ...(options.uploads === undefined ? {} : { uploads: options.uploads }),
@@ -595,6 +637,29 @@ export async function run(options) {
595
637
  const inviteOp = entity.invite === null ? undefined : model.byOperationId.get(entity.invite.invite);
596
638
  const inviteExcluded = excludeOp(entity, inviteOp);
597
639
  const invocable = (op) => !excludeOp(entity, op);
640
+ const entityQuery = options.entities?.[entity.name]?.query;
641
+ const capabilities = await resolveEntityCapabilities({
642
+ tag: listOp.query,
643
+ itemSchema: listOp.collection?.itemSchema ?? null,
644
+ entityName: entity.name,
645
+ scope: scope.values,
646
+ model,
647
+ client,
648
+ auth: alpha.headers,
649
+ ...(options.query === undefined ? {} : { global: options.query }),
650
+ ...(entityQuery === undefined ? {} : { entity: entityQuery }),
651
+ ...(hooks.resolveQueryCapabilities === undefined ? {} : { hook: hooks.resolveQueryCapabilities }),
652
+ });
653
+ const query = listOp.query;
654
+ const queryForChecks = query === null
655
+ ? null
656
+ : {
657
+ ...query,
658
+ filterable: capabilities.filterable.map((field) => field.field),
659
+ searchable: capabilities.searchable,
660
+ selectable: capabilities.selectable,
661
+ sortable: capabilities.sortable.map((field) => field.field),
662
+ };
598
663
  const ctx = {
599
664
  actors,
600
665
  altAuth,
@@ -617,9 +682,10 @@ export async function run(options) {
617
682
  findings,
618
683
  identity: entity.identity ?? "id",
619
684
  invite: inviteExcluded ? null : entity.invite,
685
+ capabilities,
620
686
  listOp,
621
687
  model,
622
- query: listOp.query,
688
+ query: queryForChecks,
623
689
  readOp: readExcluded ? undefined : readOpModel,
624
690
  records,
625
691
  scope: scope.values,
@@ -801,13 +867,13 @@ export async function run(options) {
801
867
  teardown,
802
868
  };
803
869
  }
804
- async function loadOriginClients(origins, hooks, maxInFlight, globalHeaders) {
870
+ async function loadOriginClients(origins, hooks, maxInFlight, globalHeaders, onExchange, httpHooks) {
805
871
  const map = new Map();
806
872
  for (const origin of origins) {
807
873
  const raw = await loadSpec(origin.spec, origin.baseUrl);
808
874
  const { doc } = dereference(raw);
809
875
  const originModel = buildModel(doc);
810
- const originClient = new Client(origin.baseUrl, globalHeaders, maxInFlight);
876
+ const originClient = new Client(origin.baseUrl, globalHeaders, maxInFlight, onExchange, undefined, httpHooks);
811
877
  if (hooks.resolveHeaders !== undefined)
812
878
  originClient.setResolveHeaders(hooks.resolveHeaders);
813
879
  map.set(origin.id, { client: originClient, model: originModel });
@@ -842,6 +908,8 @@ async function runSecondaryOrigins(options, persisted, findings, checksRun, chec
842
908
  ...(options.maxInFlight === undefined ? {} : { maxInFlight: options.maxInFlight }),
843
909
  ...(options.outOfBand === undefined ? {} : { outOfBand: options.outOfBand }),
844
910
  ...(options.onProgress === undefined ? {} : { onProgress: options.onProgress }),
911
+ ...(options.query === undefined ? {} : { query: options.query }),
912
+ ...(options.entities === undefined ? {} : { entities: options.entities }),
845
913
  });
846
914
  for (const finding of result.findings) {
847
915
  findings.report({ ...finding, origin: origin.id });
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAyD,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAUvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAqB,eAAe,EAAyB,MAAM,WAAW,CAAA;AACrF,OAAO,EAAsB,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAA2B,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClG,OAAO,EAAE,MAAM,EAAiC,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAgB,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAGN,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,GACV,MAAM,YAAY,CAAA;AAmEnB,SAAS,WAAW,CAAC,IAAa,EAAE,OAAe;IAClD,MAAM,IAAI,GAAG,OAAO;SAClB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,CAAA;IACjB,IAAI,IAAI,GAAY,IAAI,CAAA;IACxB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC/D,IAAI,GAAI,IAAgC,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAYD,SAAS,UAAU,CAAC,CAAyB,EAAE,CAAyB;IACvE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAChC,UAAgD,EAChD,KAAY,EACZ,QAA0B;IAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU;SAC1B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;SAC/C,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC,CAAA;IACvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAElC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,GAAG,CACX,gBAAgB,EAChB,WAAW,EACX,GAAG,SAAS,CAAC,MAAM,wDAAwD,EAC3E,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD;YACxF,6EAA6E,CAC9E,CAAA;QACD,OAAM;IACP,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACJ,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CACX,gBAAgB,EAChB,WAAW,EACX,0CAA0C,OAAO,EAAE,EACnD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAA;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAAC,MAAc,EAAE,QAA0B;IAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAA;IAChD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,SAAQ;QACrC,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI;YAAE,SAAQ;QACtF,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,IAAI,SAAS,CAAA;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CACZ,sCAAsC,EACtC,QAAQ,EACR,iBAAiB,QAAQ,8BAA8B,EACvD,GAAG,SAAS,CAAC,MAAM,uBAAuB,QAAQ,sCAAsC;YACvF,uFAAuF;YACvF,wFAAwF;YACxF,4EAA4E,QAAQ,IAAI;YACxF,YAAY,EACb,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACrB,CAAA;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAC9B,SAAwB,EACxB,KAAgB,EAChB,MAAc,EACd,KAAY,EACZ,SAAwB,EACxB,aAAiD;IAEjD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAA;IAExC;gEAC4D;IAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACN,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE;YACtC,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,UAAU;SACjB,CAAA;IACF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE;QACnE,MAAM;QACN,KAAK;QACL,KAAK;QACL,SAAS;QACT,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;KACzD,CAAC,CAAA;IAEF;wCACoC;IACpC,MAAM,UAAU,GAA2B,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,GAA2B,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC9F,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO;QACP,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,cAAc,EAAE,OAAO,CAAC,cAAc;KACtC,CAAC,CAAA;IAEF,OAAO;QACN,OAAO;QACP,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;QACzB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE;QACvC,OAAO;KACP,CAAA;AACF,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,YAAY,CAC1B,MAAsB,EACtB,MAAc,EACd,OAA+B,EAC/B,KAA6B;IAE7B;;kFAE8E;IAC9E,MAAM,KAAK,GAA2B,EAAE,GAAG,KAAK,EAAE,CAAA;IAClD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,iGAAiG;AACjG,SAAS,oBAAoB,CAAC,UAAoC;IACjE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAQ;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,aAAa,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrD,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAwB,EAAE,WAAgC;IAC1F,OAAO,QAAQ,CAAC,cAAc,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,gBAAgB,CACxB,KAAgB,EAChB,IAA0B,EAC1B,WAAgC;IAEhC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SACjC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjG,MAAM,eAAe,GAAG,QAAQ,KAAK,SAAS,IAAI,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAChG,4EAA4E;QAC5E,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACpE,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;IACpF,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjE,MAAM,iBAAiB,GAAmE,EAAE,CAAA;IAC5F,IAAI,IAA8B,CAAA;IAClC,IAAI,YAAY,GAA8B,MAAM,CAAA;IACpD,IAAI,aAAiC,CAAA;IACrC,IAAI,YAAgC,CAAA;IACpC,IAAI,kBAAsC,CAAA;IAC1C,IAAI,WAA+B,CAAA;IACnC,MAAM,WAAW,GAAG,GAAW,EAAE,CAChC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,MAAM,CAAA;IAChG,MAAM,OAAO,GAAG,CAAC,IAAsB,EAAQ,EAAE;QAChD,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,OAQb,EAAQ,EAAE;QACV,YAAY,GAAG,OAAO,CAAC,KAAK,CAAA;QAC5B,MAAM,IAAI,GAAqB;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,QAAQ,EAAE,WAAW,EAAE;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;SAC/B,CAAA;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAC7E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAC7E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACjE,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACxC,OAAO,CAAC,IAAI,CAAC,CAAA;IACd,CAAC,CAAA;IAED,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC;QACJ,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAA;IACzC,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,IAAI,MAAM,CACxB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,aAAa,IAAI,EAAE,EAC3B,OAAO,CAAC,WAAW,IAAI,CAAC,EACxB,CAAC,QAAkB,EAAE,EAAE;QACtB,IAAI,GAAG;YACN,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;SACjB,CAAA;QACD,MAAM,IAAI,GAAqB;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,QAAQ,EAAE,WAAW,EAAE;YACvB,IAAI;YACJ,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;SAClC,CAAA;QACD,IAAI,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAA;QACzD,IAAI,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAA;QAC5D,IAAI,kBAAkB,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAA;QAC3E,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAA;IACd,CAAC,EACD,WAAW,CACX,CAAA;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACtF,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAEnD,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAEnG,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC5C,OAAO,CAAC,OAAO,IAAI,EAAE,EACrB,KAAK,EACL,OAAO,CAAC,WAAW,IAAI,CAAC,EACxB,OAAO,CAAC,aAAa,IAAI,EAAE,CAC3B,CAAA;IACD,MAAM,OAAO,GAAkB;QAC9B,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;QACpF,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;KACjF,CAAA;IACD,MAAM,YAAY,GAAG,CAAC,UAAU,GAAG,CAAC,EAAiB,EAAE,CACtD,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,CAAA;IACrE,MAAM,QAAQ,GAAwB,EAAE,CAAA;IACxC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CACZ,MAAM,gBAAgB,CACrB,SAAS,EACT,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CACpD,CACD,CAAA;IACF,CAAC;IACD,IAAI,CAAC;QACJ,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,eAAe;QAC1C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;KAClC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAsB,CAAA;IAC9C;iGAC6F;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAE7F,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,aAAa,GAA4D,EAAE,CAAA;IACjF,MAAM,gBAAgB,GAA8D,EAAE,CAAA;IAEtF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,EAA8B,EAAW,EAAE;QAClF,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QACjC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAA;QAChD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QAC/B,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;QACpF,QAAQ,CAAC,GAAG,CACX,cAAc,EACd,MAAM,CAAC,IAAI,EACX,GAAG,EAAE,CAAC,WAAW,yBAAyB,OAAO,CAAC,IAAI,GAAG,EACzD,GAAG,MAAM,qBAAqB,OAAO,CAAC,IAAI,+CAA+C;YACxF,kEAAkE,CACnE,CAAA;QACD,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,MAAmB,EAAiB,EAAE;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAA;QACnE,MAAM,eAAe,GAAG,QAAQ,KAAK,SAAS,IAAI,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAChG,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,UAAU;YAAE,OAAM;QACjD,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B;0FAC8E;YAC9E,OAAM;QACP,CAAC;QACD,aAAa,GAAG,MAAM,CAAC,IAAI,CAAA;QAC3B,YAAY,GAAG,SAAS,CAAA;QACxB,YAAY,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC;YACJ,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,WAAW,EAAE,kBAAkB;YAC/B,WAAW;YACX,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;SAClC,CAAC,CAAA;QAEF,KAAK,MAAM,SAAS,IAAI,QAAQ;YAAE,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAA;QAC3E,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QACvD,IAAI,KAAY,CAAA;QAChB,IAAI,OAAkB,CAAA;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3D;;6FAEiF;YACjF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;gBACpE,GAAG,OAAO,CAAC,KAAK;gBAChB,GAAG,KAAK,CAAC,KAAK;aACd,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,OAAO,CACf,cAAc,EACd,MAAM,CAAC,IAAI,EACX,mBAAmB,MAAM,CAAC,IAAI,GAAG,EACjC,kCAAkC,OAAO,CAAC,IAAI,mCAAmC;oBAChF,mCAAmC,CACpC,CAAA;gBACD,OAAM;YACP,CAAC;YACD,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;YAC/C,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC1B,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;YACtD;8FACkF;YAClF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;gBACpE,GAAG,OAAO,CAAC,KAAK;gBAChB,GAAG,KAAK,CAAC,KAAK;aACd,CAAC,CAAA;YACF,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAA;YACrE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC1B,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;oBACnD,WAAW,EAAE,KAAK,CAAC,OAAO;oBAC1B,KAAK,EAAE,UAAU;oBACjB,IAAI;oBACJ,OAAO;iBACP,CAAC,CAAA;gBACF;;;0FAG0E;gBAC1E,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;gBACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC9B,QAAQ,EACR,KAAK,EACL,MAAM,EACN;oBACC,WAAW,EAAE,KAAK,CAAC,OAAO;oBAC1B,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC/E,KAAK,EAAE,UAAU;oBACjB,IAAI;oBACJ,OAAO;iBACP,EACD,KAAK,CACL,CAAA;gBACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC7B;;6DAEyC;oBACzC,QAAQ,CAAC,GAAG,CACX,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,YAAY,MAAM,CAAC,IAAI,0DAA0D,EACjF,GAAG,QAAQ,CAAC,WAAW,sDAAsD;wBAC5E,6EAA6E;wBAC7E,8DAA8D,CAC/D,CAAA;oBACD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;oBACxB,QAAQ,GAAG,IAAI,CAAA;oBACf,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;oBAC1D,CAAC;oBACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;wBAC1C,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;4BACtD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;wBACrD,CAAC;oBACF,CAAC;gBACF,CAAC;qBAAM,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACxC;;6FAEyE;oBACzE,4BAA4B,CAC3B,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAC3B,MAAM,CAAC,IAAI,CACX,CAAA;oBACD,QAAQ,CAAC,GAAG,CACX,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,YAAY,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EACnE,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,kDAAkD;wBAC7E,mDAAmD,CACpD,CAAA;oBACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;wBACpE,GAAG,OAAO,CAAC,KAAK;wBAChB,GAAG,KAAK,CAAC,KAAK;qBACd,CAAC,CAAA;oBACF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,QAAQ,CAAC,OAAO,CACf,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,mBAAmB,MAAM,CAAC,IAAI,GAAG,EACjC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,2CAA2C,GAAG,0BAA0B,CACpG,CAAA;wBACD,OAAM;oBACP,CAAC;oBACD,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAC/C,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;oBAC1B,QAAQ,GAAG,IAAI,CAAA;gBAChB,CAAC;qBAAM,CAAC;oBACP,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;oBACxB;2EACuD;oBACvD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;oBAC1D,CAAC;oBACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;oBAClF,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;oBAC1D,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC3E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;wBACpE,GAAG,OAAO,CAAC,KAAK;wBAChB,GAAG,KAAK,CAAC,KAAK;qBACd,CAAC,CAAA;oBACF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;wBAChG,OAAM;oBACP,CAAC;oBACD,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAC/C,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;oBAC1B,QAAQ,GAAG,IAAI,CAAA;gBAChB,CAAC;qBAAM,CAAC;oBACP,MAAM,KAAK,GAAG,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;oBACnE,MAAM,MAAM,GAAG,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;oBACpE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAEtE;mGAC+E;oBAC/E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;wBAC3C,QAAQ,CAAC,OAAO,CACf,uBAAuB,EACvB,MAAM,CAAC,IAAI,EACX,eAAe,MAAM,CAAC,IAAI,6BAA6B,EACvD,GAAG,OAAO,kEAAkE;4BAC3E,0EAA0E;4BAC1E,2EAA2E;4BAC3E,QAAQ,EACT,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAA;oBACF,CAAC;oBAED;;uGAEmF;oBACnF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;wBACpE,GAAG,OAAO,CAAC,KAAK;wBAChB,GAAG,KAAK,CAAC,KAAK;qBACd,CAAC,CAAA;oBACF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAA;wBACtG,OAAM;oBACP,CAAC;oBAED,QAAQ,CAAC,GAAG,CACX,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,YAAY,MAAM,CAAC,IAAI,6DAA6D,EACpF,GAAG,KAAK,KAAK,OAAO,gEAAgE,CACpF,CAAA;oBACD,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAC/C,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;oBAC1B,QAAQ,GAAG,IAAI,CAAA;gBAChB,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,EAAE,SAA4B,EAAE,UAAkB,EAAkB,EAAE;YAC1F,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;YACtD,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBACtD,WAAW,EAAE,SAAS,CAAC,OAAO;oBAC9B,KAAK;oBACL,IAAI,EAAE,IAAI,GAAG,UAAU;oBACvB,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;iBACjC,CAAC,CAAA;gBACF,OAAO;oBACN,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,KAAK;oBACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;iBACnC,CAAA;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO;oBACN,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,KAAK;oBACL,KAAK,EAAE,KAAK;iBACZ,CAAA;YACF,CAAC;QACF,CAAC,CAAA;QAED,MAAM,MAAM,GAAY;YACvB;gBACC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;gBAC3C,KAAK,EAAE,KAAK,CAAC,MAAM;aACnB;SACD,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAQ;YACrC,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1F,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,CAAA;QAElC;;;;;;;;WAQG;QACH,MAAM,cAAc,GACnB,QAAQ,KAAK,SAAS,IAAI,QAAQ;YACjC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;gBAClB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;oBAC7B,IAAI,QAAQ,KAAK,SAAS;wBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;oBAC1E,OAAO,KAAK,EACX,MAAc,EACd,IAAY,EACZ,OAA0C,EACtB,EAAE;wBACtB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;wBAClE,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;4BAAE,OAAO,QAAQ,CAAA;wBAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAA;wBAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,OAAO,QAAQ,CAAA;wBAC9D,MAAM,EAAE,GAAI,IAAgC,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;wBACrE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ;4BAAE,OAAO,QAAQ,CAAA;wBACrE;oFAC4D;wBAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;wBACpD,OAAO,QAAQ,CAAA;oBAChB,CAAC,CAAA;gBACF,CAAC;aACD,CAAC,CAAA;QAEL,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAClE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAClE;kGAC0F;QAC1F,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACnD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACnG,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,CAAC,EAAkB,EAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAEzE,MAAM,GAAG,GAAiB;YACzB,MAAM;YACN,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1G,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/G,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;YACxG,KAAK;YACL,SAAS;YACT,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACxF,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI;YAC7C;;iGAEqF;YACrF,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YACzC,QAAQ,EAAE,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAChE,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YAC7C,MAAM;YACN,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YAC9C,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB;;mGAEuF;YACvF,UAAU,EACT,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,UAAU;gBAC9F,MAAM,CAAC,UAAU;YAClB,IAAI;YACJ,QAAQ,EAAE,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAChE,OAAO;YACP,SAAS;SACT,CAAA;QAED,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEhC,MAAM,MAAM,GAAG,KAAK,EAAE,KAA8B,EAAiB,EAAE;YACtE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvB,YAAY,GAAG,KAAK,CAAC,EAAE,CAAA;YACvB,YAAY,GAAG,MAAM,CAAA;YACrB,IAAI,CAAC;gBACJ,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,WAAW,EAAE,kBAAkB;gBAC/B,WAAW;gBACX,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;aAClC,CAAC,CAAA;YACF,IAAI,CAAC;gBACJ,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,GAAG,CACX,KAAK,CAAC,EAAE,EACR,MAAM,CAAC,IAAI,EACX,UAAU,KAAK,CAAC,EAAE,sBAAsB,EACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAA;YACF,CAAC;QACF,CAAC,CAAA;QAED;qEAC6D;QAC7D;;;;;;;;;;;;WAYG;QACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC9C,MAAM,UAAU,GAAG,CAAC,KAA8B,EAAW,EAAE;YAC9D,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChG,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAC9C,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,SAAS;oBAAE,SAAQ;gBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,SAAoB,CAAA;gBAC3D,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACnC,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBACxE,OAAO,IAAI,CAAA;YACZ,CAAC;YACD,OAAO,KAAK,CAAA;QACb,CAAC,CAAA;QAED;;;;;;;WAOG;QACH,IAAI,KAAK,GAAmC,EAAE,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;YACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAA;YACrB,KAAK,GAAG,EAAE,CAAA;YACV,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACvC,CAAC,CAAA;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B;iFACiE;gBACjE,aAAa,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,KAAK,CAAC,EAAE;oBACf,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,0BAA0B;iBAChD,CAAC,CAAA;gBACF,SAAQ;YACT,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,KAAK,EAAE,CAAA;gBACb,IAAI,UAAU,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBAC/B,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;gBACnB,SAAQ;YACT,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpF,MAAM,KAAK,EAAE,CAAA;YACd,CAAC;YACD,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,EAAE,CAAA;IACd,CAAC,CAAA;IAED;;;;;;OAMG;IACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAChE,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAA;QAC9B,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED;uFACmF;IACnF,YAAY,GAAG,UAAU,CAAA;IACzB,YAAY,GAAG,SAAS,CAAA;IACxB,IAAI,CAAC;QACJ,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,YAAY;QACnC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;KAClC,CAAC,CAAA;IACF,MAAM,QAAQ,GACb,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QACjD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxE,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAM;YAC7C,IAAI,CAAC;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE;gBACrD,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;aAClC,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IAEL,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,GAAG,CACX,gBAAgB,EAChB,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,qDAAqD,EACrD,wCAAwC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAC3F,yEAAyE,CAC1E,CAAA;IACF,CAAC;IAED,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE3C,KAAK,MAAM,SAAS,IAAI,QAAQ;QAAE,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAA;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5C,iBAAiB,CAAC;QACjB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC7E,CAAC,CACF,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAClF,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;IACpH,CAAC;IAED,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;KAClC,CAAC,CAAA;IAEF,OAAO;QACN,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE;QAChC,aAAa;QACb,gBAAgB;QAChB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,cAAc;QACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK;QACL,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,iBAAiB;QACjB,QAAQ;KACR,CAAA;AACF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,OAAqB,EACrB,KAAY,EACZ,WAAmB,EACnB,aAAqC;IAErC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;YAAE,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC5F,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,OAAmB,EACnB,SAA+B,EAC/B,QAA0B,EAC1B,SAAsB,EACtB,aAAsE,EACtE,gBAA2E,EAC3E,cAAwB;IAExB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,WAAW,GAChB,OAAO,CAAC,KAAK,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,GAAG,EAAE;gBACN,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;gBAC9D,OAAO,IAAI,CAAA;YACZ,CAAC,CAAC,EAAE,CAAA;QACP,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;YACxB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAgC;YAC9E,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,qBAAqB,EAAE,IAAI;YAC3B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;SAC/E,CAAC,CAAA;QACF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;YAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa;YAAE,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/G,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClD,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtF,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;QACzF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5E,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Each `oat run` writes into a fresh timestamped folder so a later run does not
3
+ * overwrite the last report.
4
+ *
5
+ * Default root is `.oat/runs`. `--out` / `outDir` replace that root; the leaf is
6
+ * always `<root>/<datetime>/`. `latest` is a relative symlink at the root.
7
+ */
8
+ export declare const DEFAULT_RUNS_ROOT = ".oat/runs";
9
+ export declare const LATEST_LINK = "latest";
10
+ /** UTC, filesystem-safe. `2026-08-18T14:30:05.123Z` → `2026-08-18T14-30-05Z`. */
11
+ export declare function formatRunStamp(at: Date): string;
12
+ export interface AllocatedRunDir {
13
+ /** Resolved history root (`--out` / `outDir` / default). */
14
+ root: string;
15
+ /** Fresh directory for this invocation's artifacts. */
16
+ runDir: string;
17
+ /** Folder name under `root` — the stamp, plus `-2` / `-3` on collision. */
18
+ stamp: string;
19
+ /** Path of the `latest` symlink (always `<root>/latest`). */
20
+ latest: string;
21
+ }
22
+ export declare function allocateRunDir(root?: string, at?: Date): Promise<AllocatedRunDir>;
23
+ //# sourceMappingURL=runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/runtime/runs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAC5C,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAK/C;AAED,MAAM,WAAW,eAAe;IAC/B,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,cAAc,CAAC,IAAI,SAAoB,EAAE,EAAE,OAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAOxG"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Each `oat run` writes into a fresh timestamped folder so a later run does not
3
+ * overwrite the last report.
4
+ *
5
+ * Default root is `.oat/runs`. `--out` / `outDir` replace that root; the leaf is
6
+ * always `<root>/<datetime>/`. `latest` is a relative symlink at the root.
7
+ */
8
+ import { mkdir, rm, symlink } from "node:fs/promises";
9
+ import { join, resolve } from "node:path";
10
+ export const DEFAULT_RUNS_ROOT = ".oat/runs";
11
+ export const LATEST_LINK = "latest";
12
+ /** UTC, filesystem-safe. `2026-08-18T14:30:05.123Z` → `2026-08-18T14-30-05Z`. */
13
+ export function formatRunStamp(at) {
14
+ return at
15
+ .toISOString()
16
+ .replaceAll(":", "-")
17
+ .replace(/\.\d{3}Z$/, "Z");
18
+ }
19
+ export async function allocateRunDir(root = DEFAULT_RUNS_ROOT, at = new Date()) {
20
+ const resolvedRoot = resolve(root);
21
+ await mkdir(resolvedRoot, { recursive: true });
22
+ const { dir: runDir, stamp } = await mkdirUnique(resolvedRoot, formatRunStamp(at));
23
+ const latest = join(resolvedRoot, LATEST_LINK);
24
+ await pointLatest(resolvedRoot, stamp);
25
+ return { latest, root: resolvedRoot, runDir, stamp };
26
+ }
27
+ async function mkdirUnique(root, base) {
28
+ let stamp = base;
29
+ let n = 2;
30
+ for (;;) {
31
+ const dir = join(root, stamp);
32
+ try {
33
+ await mkdir(dir);
34
+ return { dir, stamp };
35
+ }
36
+ catch (error) {
37
+ if (!isAlreadyExists(error))
38
+ throw error;
39
+ stamp = `${base}-${n}`;
40
+ n += 1;
41
+ }
42
+ }
43
+ }
44
+ async function pointLatest(root, stamp) {
45
+ const latest = join(root, LATEST_LINK);
46
+ await rm(latest, { force: true, recursive: true });
47
+ /* Junctions work without admin on Windows; `dir` is the Unix equivalent. */
48
+ await symlink(stamp, latest, process.platform === "win32" ? "junction" : "dir");
49
+ }
50
+ function isAlreadyExists(error) {
51
+ return (typeof error === "object" && error !== null && "code" in error && error.code === "EEXIST");
52
+ }
53
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/runtime/runs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA;AAEnC,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,EAAQ;IACtC,OAAO,EAAE;SACP,WAAW,EAAE;SACb,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAI,GAAG,iBAAiB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAC9C,MAAM,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AACrD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,IAAI,KAAK,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,SAAS,CAAC;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC;YACJ,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YACxC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;YACtB,CAAC,IAAI,CAAC,CAAA;QACP,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,4EAA4E;IAC5E,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACtC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ,CAChH,CAAA;AACF,CAAC"}
@@ -12,7 +12,9 @@
12
12
  * it did not apply, and `x-query` can state the answer outright.
13
13
  */
14
14
  import type { CollectionShape } from "./collection.ts";
15
+ import type { FilterOp } from "./query-capabilities.ts";
15
16
  import type { ParameterObject } from "./types.ts";
17
+ export type FilterTermValue = string | number | boolean | null | readonly (string | number | boolean | null)[];
16
18
  /** How filter values are spelled. Determines what oat can express, not merely what it sends. */
17
19
  export type FilterGrammar =
18
20
  /** `field.op.value`, with `and(...)`/`or(...)` — PostgREST and friends. */
@@ -53,6 +55,8 @@ export interface QueryConventions {
53
55
  select?: string;
54
56
  /** Free-text search parameter. */
55
57
  search?: string;
58
+ /** Optional search-mode parameter (`keyword` / `semantic` / …). */
59
+ searchMode?: string;
56
60
  /** Page-size parameter. */
57
61
  limit?: string;
58
62
  /** 1-based page number. */
@@ -89,10 +93,14 @@ export declare function deriveQueryConventions(parameters: readonly ParameterObj
89
93
  }, onGuess?: (message: string) => void,
90
94
  /** Response headers the success response declares, by name. */
91
95
  responseHeaders?: readonly string[]): QueryConventions;
96
+ /** Whether this grammar can emit `op`. Colon and equality stay on today's writers. */
97
+ export declare function canWriteFilterOp(conventions: QueryConventions, op: FilterOp): boolean;
92
98
  /** Renders one filter term in whichever grammar the endpoint speaks. */
93
- export declare function filterTerm(conventions: QueryConventions, field: string, op: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like", value: string | number): Record<string, string> | null;
99
+ export declare function filterTerm(conventions: QueryConventions, field: string, op: FilterOp, value: FilterTermValue): Record<string, string> | null;
94
100
  /** Renders a sort term in whichever grammar the endpoint speaks. */
95
- export declare function sortTerm(conventions: QueryConventions, field: string, direction: "asc" | "desc"): string;
101
+ export declare function sortTerm(conventions: QueryConventions, field: string, direction: "asc" | "desc", nulls?: "first" | "last"): string;
102
+ /** `null` when the grammar cannot write a nulls token. Dotted (PostgREST-shaped) can. */
103
+ export declare function sortTermWithNulls(conventions: QueryConventions, field: string, direction: "asc" | "desc", nulls: "first" | "last"): string | null;
96
104
  /**
97
105
  * Renders a sparse fieldset, returning the parameter name alongside the value.
98
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/spec/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAA;AAE/D,gGAAgG;AAChG,MAAM,MAAM,aAAa;AACxB,2EAA2E;AACzE,WAAW;AACb,6CAA6C;GAC3C,OAAO;AACT,iEAAiE;GAC/D,UAAU,CAAA;AAEb;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW;AACtB,+DAA+D;AAC7D,QAAQ;AACV,8DAA8D;GAC5D,UAAU;AACZ,kCAAkC;GAChC,OAAO;AACT,oDAAoD;GAClD,QAAQ,CAAA;AAEX,wCAAwC;AACxC,MAAM,MAAM,aAAa;AACxB,+CAA+C;AAC7C,KAAK;AACP,iEAAiE;GAC/D,WAAW,CAAA;AAEd,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;IACtB,iEAAiE;IACjE,WAAW,EAAE,WAAW,CAAA;IACxB,mEAAmE;IACnE,aAAa,EAAE,aAAa,CAAA;IAC5B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,QAAQ,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACD;AA+ID,wBAAgB,sBAAsB,CACrC,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,UAAU,EAAE,eAAe,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;AACnC,+DAA+D;AAC/D,eAAe,GAAE,SAAS,MAAM,EAAO,GACrC,gBAAgB,CAkElB;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CACzB,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,EACvD,KAAK,EAAE,MAAM,GAAG,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAc/B;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAaxG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,QAAQ,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAS/B"}
1
+ {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/spec/conventions.ts"],"names":[],"mappings":"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"}