@ekairos/domain 1.22.40-beta.development.0 → 1.22.40

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 (45) hide show
  1. package/README.md +4 -3
  2. package/SKILL.md +2 -2
  3. package/dist/cli/bin.d.ts +1 -1
  4. package/dist/cli/bin.d.ts.map +1 -1
  5. package/dist/cli/bin.js +4 -1
  6. package/dist/cli/bin.js.map +1 -1
  7. package/dist/cli/create-app.d.ts +5 -0
  8. package/dist/cli/create-app.d.ts.map +1 -1
  9. package/dist/cli/create-app.js +743 -72
  10. package/dist/cli/create-app.js.map +1 -1
  11. package/dist/cli/http.d.ts.map +1 -1
  12. package/dist/cli/http.js +2 -6
  13. package/dist/cli/http.js.map +1 -1
  14. package/dist/cli/server.d.ts.map +1 -1
  15. package/dist/cli/server.js +5 -4
  16. package/dist/cli/server.js.map +1 -1
  17. package/dist/cli/types.d.ts +1 -0
  18. package/dist/cli/types.d.ts.map +1 -1
  19. package/dist/context.test-runner.js +3 -1
  20. package/dist/context.test-runner.js.map +1 -1
  21. package/dist/domain-doc.d.ts +2 -0
  22. package/dist/domain-doc.d.ts.map +1 -1
  23. package/dist/domain-doc.js +14 -0
  24. package/dist/domain-doc.js.map +1 -1
  25. package/dist/index.d.ts +130 -74
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +182 -71
  28. package/dist/index.js.map +1 -1
  29. package/dist/next.d.ts +1 -4
  30. package/dist/next.d.ts.map +1 -1
  31. package/dist/next.js +197 -89
  32. package/dist/next.js.map +1 -1
  33. package/dist/platform-sync.d.ts +30 -0
  34. package/dist/platform-sync.d.ts.map +1 -0
  35. package/dist/platform-sync.js +121 -0
  36. package/dist/platform-sync.js.map +1 -0
  37. package/dist/runtime-handle.d.ts +9 -9
  38. package/dist/runtime-handle.d.ts.map +1 -1
  39. package/dist/runtime-handle.js +2 -0
  40. package/dist/runtime-handle.js.map +1 -1
  41. package/dist/runtime.d.ts +7 -6
  42. package/dist/runtime.d.ts.map +1 -1
  43. package/dist/runtime.js +10 -8
  44. package/dist/runtime.js.map +1 -1
  45. package/package.json +12 -6
package/dist/index.js CHANGED
@@ -1,30 +1,25 @@
1
1
  import { i } from "@instantdb/core";
2
- import { WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE } from "@workflow/serde";
3
- import { filterDomainDoc, parseDomainDoc, renderDomainDoc, } from "./domain-doc.js";
4
- export { parseDomainDoc, renderDomainDoc, filterDomainDoc, } from "./domain-doc.js";
2
+ import { z } from "zod";
5
3
  export { EkairosRuntime, } from "./runtime-handle.js";
6
- export function workflow(ctor) {
7
- return {
8
- kind: "workflow",
9
- ctor,
10
- };
11
- }
12
4
  let domainDocLoader = null;
5
+ let domainDocNormalizer = null;
13
6
  export function configureDomainDocLoader(loader) {
14
7
  domainDocLoader = loader ?? null;
15
8
  }
9
+ export function configureDomainDocNormalizer(normalizer) {
10
+ domainDocNormalizer = normalizer ?? null;
11
+ }
16
12
  const EKAIROS_META = Symbol.for("@ekairos/domain/meta");
17
13
  const EKAIROS_ACTIONS = Symbol.for("@ekairos/domain/actions");
18
14
  const EKAIROS_ACTION_MAP = Symbol.for("@ekairos/domain/action-map");
19
15
  const EKAIROS_ACTION_BINDING = Symbol.for("@ekairos/domain/action-binding");
20
- const EKAIROS_ACTION_STACK = Symbol.for("@ekairos/domain/action-stack");
21
16
  function getMeta(source) {
22
- if (!source || typeof source !== "object")
17
+ if (!isObjectLike(source))
23
18
  return null;
24
19
  return source[EKAIROS_META] ?? null;
25
20
  }
26
21
  function getActionBinding(source) {
27
- if (!source || typeof source !== "object")
22
+ if (!isObjectLike(source))
28
23
  return null;
29
24
  const binding = source[EKAIROS_ACTION_BINDING];
30
25
  if (!binding || typeof binding !== "object")
@@ -57,7 +52,7 @@ function bindAction(action, params) {
57
52
  return registration;
58
53
  }
59
54
  function getStoredActions(source) {
60
- if (!source || typeof source !== "object")
55
+ if (!isObjectLike(source))
61
56
  return [];
62
57
  const raw = source[EKAIROS_ACTIONS];
63
58
  if (!Array.isArray(raw))
@@ -68,7 +63,7 @@ function getStoredActions(source) {
68
63
  typeof entry.execute === "function");
69
64
  }
70
65
  function getStoredActionMap(source) {
71
- if (!source || typeof source !== "object")
66
+ if (!isObjectLike(source))
72
67
  return {};
73
68
  const raw = source[EKAIROS_ACTION_MAP];
74
69
  if (!raw || typeof raw !== "object")
@@ -76,7 +71,7 @@ function getStoredActionMap(source) {
76
71
  return raw;
77
72
  }
78
73
  function setStoredActions(source, actions) {
79
- if (!source || typeof source !== "object")
74
+ if (!isObjectLike(source))
80
75
  return;
81
76
  const frozenActions = Object.freeze([...actions]);
82
77
  Object.defineProperty(source, EKAIROS_ACTIONS, {
@@ -87,7 +82,7 @@ function setStoredActions(source, actions) {
87
82
  });
88
83
  }
89
84
  function setStoredActionMap(source, actionMap) {
90
- if (!source || typeof source !== "object")
85
+ if (!isObjectLike(source))
91
86
  return;
92
87
  Object.defineProperty(source, EKAIROS_ACTION_MAP, {
93
88
  value: Object.freeze({ ...actionMap }),
@@ -96,29 +91,13 @@ function setStoredActionMap(source, actionMap) {
96
91
  writable: true,
97
92
  });
98
93
  }
99
- function readRuntimeActionStack(runtime) {
100
- if (!runtime || typeof runtime !== "object")
101
- return [];
102
- const stack = runtime[EKAIROS_ACTION_STACK];
103
- return Array.isArray(stack) ? [...stack] : [];
104
- }
105
- function cloneRuntimeWithActionStack(runtime, stack) {
106
- if (!runtime || typeof runtime !== "object")
107
- return runtime;
108
- const scoped = Object.assign(Object.create(Object.getPrototypeOf(runtime)), runtime);
109
- Object.defineProperty(scoped, EKAIROS_ACTION_STACK, {
110
- value: [...stack],
111
- enumerable: false,
112
- configurable: true,
113
- writable: true,
114
- });
115
- return scoped;
116
- }
117
94
  function normalizeActionLike(value, params) {
118
- const action = typeof value === "function"
119
- ? { execute: value }
120
- : value;
121
- if (!action || typeof action !== "object" || typeof action.execute !== "function") {
95
+ const action = value;
96
+ if (!action ||
97
+ typeof action !== "object" ||
98
+ typeof action.execute !== "function" ||
99
+ !action.input ||
100
+ !action.output) {
122
101
  throw new Error(`Invalid domain action definition: ${params.fallbackName}`);
123
102
  }
124
103
  const explicitName = typeof action.name === "string" ? action.name.trim() : "";
@@ -248,6 +227,17 @@ function listKeys(value) {
248
227
  return [];
249
228
  return Object.keys(value).filter((key) => !key.startsWith("$"));
250
229
  }
230
+ function isObjectLike(value) {
231
+ return !!value && (typeof value === "object" || typeof value === "function");
232
+ }
233
+ function isMaterializedDomainSource(value) {
234
+ if (!isObjectLike(value))
235
+ return false;
236
+ const source = value;
237
+ return (typeof source.instantSchema === "function" ||
238
+ typeof source.toInstantSchema === "function" ||
239
+ ("entities" in source && "links" in source && "rooms" in source));
240
+ }
251
241
  function resolveSchema(source) {
252
242
  if (!source)
253
243
  return null;
@@ -291,7 +281,7 @@ function assertSchemaIncludes(fullSchema, requiredSchema) {
291
281
  }
292
282
  function collectTransitiveDomainNames(source, seen = new Set()) {
293
283
  const names = new Set();
294
- if (!source || typeof source !== "object")
284
+ if (!isObjectLike(source))
295
285
  return names;
296
286
  if (seen.has(source))
297
287
  return names;
@@ -341,8 +331,16 @@ function createConcreteDomain(domainInstance, db, fullSchema, bindings) {
341
331
  context: (options) => domainInstance.context(options),
342
332
  contextString: (options) => domainInstance.contextString(options),
343
333
  };
344
- if (bindings?.env !== undefined && bindings?.runtime !== undefined) {
345
- const inheritedStack = readRuntimeActionStack(bindings.runtime);
334
+ if (bindings?.runtime !== undefined) {
335
+ const inheritedStack = [];
336
+ const createActionRuntime = (stack) => {
337
+ const runtime = {
338
+ ...concrete,
339
+ ...(bindings.env !== undefined ? { env: bindings.env } : {}),
340
+ };
341
+ runtime.actions = buildActions(stack);
342
+ return runtime;
343
+ };
346
344
  const buildActions = (stack) => Object.fromEntries(Object.entries(actionMap).map(([key, action]) => [
347
345
  key,
348
346
  async (input) => {
@@ -354,22 +352,47 @@ function createConcreteDomain(domainInstance, db, fullSchema, bindings) {
354
352
  throw new Error(`domain_action_cycle:${key}`);
355
353
  }
356
354
  const nextStack = [...stack, key];
357
- const scopedRuntime = cloneRuntimeWithActionStack(bindings.runtime, nextStack);
355
+ const scopedRuntime = createActionRuntime(nextStack);
356
+ const parsedInput = action.input.parse(input);
358
357
  const params = {
359
- env: bindings.env,
360
- input,
358
+ input: parsedInput,
361
359
  runtime: scopedRuntime,
362
360
  };
363
- return await execute(params);
361
+ const output = await execute(params);
362
+ return action.output.parse(output);
364
363
  },
365
364
  ]));
366
- ;
367
- concrete.env = bindings.env;
365
+ if (bindings.env !== undefined) {
366
+ ;
367
+ concrete.env = bindings.env;
368
+ }
368
369
  ;
369
370
  concrete.actions = buildActions(inheritedStack);
370
371
  }
371
372
  return concrete;
372
373
  }
374
+ function promoteRuntimeDomainScope(scoped) {
375
+ const promoted = { ...scoped };
376
+ const db = scoped?.db;
377
+ if (db && typeof db.query === "function") {
378
+ promoted.query = db.query.bind(db);
379
+ }
380
+ const actions = scoped?.actions;
381
+ if (actions && typeof actions === "object") {
382
+ for (const [key, action] of Object.entries(actions)) {
383
+ if (key in promoted)
384
+ continue;
385
+ promoted[key] = action;
386
+ }
387
+ }
388
+ return promoted;
389
+ }
390
+ async function callDomainRuntimeScope(domainInstance, runtime, options) {
391
+ if (!runtime || typeof runtime.use !== "function") {
392
+ throw new Error("domain(runtime) requires an Ekairos runtime with use(domain).");
393
+ }
394
+ return promoteRuntimeDomainScope(await runtime.use(domainInstance, options));
395
+ }
373
396
  export function materializeDomain(params) {
374
397
  const baseSchema = resolveSchema(params.rootDomain);
375
398
  const requiredSchema = resolveSchema(params.subdomain);
@@ -390,18 +413,18 @@ function loadDomainDoc(scope, meta) {
390
413
  function normalizeDoc(docInfo, options) {
391
414
  if (!docInfo?.doc)
392
415
  return { doc: null, docPath: docInfo?.docPath };
393
- const parsed = parseDomainDoc(docInfo.doc);
394
- if (!parsed)
395
- return { doc: docInfo.doc, docPath: docInfo.docPath };
396
- const filtered = filterDomainDoc(parsed.data, {
397
- subdomains: options.subdomains,
398
- entities: options.entities,
399
- });
400
- const rendered = renderDomainDoc(filtered, {
401
- titlePrefix: options.titlePrefix,
402
- includeSubdomains: options.includeSubdomains,
403
- });
404
- return { doc: rendered, docPath: docInfo.docPath };
416
+ if (domainDocNormalizer) {
417
+ try {
418
+ const normalized = domainDocNormalizer({ docInfo, options });
419
+ if (normalized)
420
+ return normalized;
421
+ }
422
+ catch {
423
+ // Fall through to raw docs. Domain context must remain usable without the
424
+ // optional markdown/YAML parser in workflow bundles.
425
+ }
426
+ }
427
+ return { doc: docInfo.doc, docPath: docInfo.docPath };
405
428
  }
406
429
  function buildRegistryEntries(meta, options) {
407
430
  if (!meta)
@@ -420,7 +443,7 @@ function buildRegistryEntries(meta, options) {
420
443
  catch {
421
444
  child = null;
422
445
  }
423
- if (!child || typeof child !== "object")
446
+ if (!isObjectLike(child))
424
447
  continue;
425
448
  if (seen.has(child))
426
449
  continue;
@@ -542,7 +565,7 @@ function resolveIncludeNames(meta) {
542
565
  catch {
543
566
  child = null;
544
567
  }
545
- if (!child || typeof child !== "object")
568
+ if (!isObjectLike(child))
546
569
  continue;
547
570
  const childMeta = getMeta(child);
548
571
  if (childMeta?.name)
@@ -550,6 +573,64 @@ function resolveIncludeNames(meta) {
550
573
  }
551
574
  return Array.from(names);
552
575
  }
576
+ function isRuntimeEntityDef(value) {
577
+ return Boolean(value &&
578
+ typeof value === "object" &&
579
+ "attrs" in value &&
580
+ value.attrs &&
581
+ typeof value.attrs === "object");
582
+ }
583
+ function stripRuntimeEntityLinks(entity) {
584
+ if (!isRuntimeEntityDef(entity))
585
+ return entity;
586
+ return i.entity({ ...entity.attrs });
587
+ }
588
+ function normalizeRuntimeAttrDef(value) {
589
+ if (!value || typeof value !== "object") {
590
+ return value;
591
+ }
592
+ const record = value;
593
+ const sorted = {};
594
+ for (const key of Object.keys(record).sort()) {
595
+ sorted[key] = normalizeRuntimeAttrDef(record[key]);
596
+ }
597
+ return sorted;
598
+ }
599
+ function stableRuntimeAttrDef(value) {
600
+ return JSON.stringify(normalizeRuntimeAttrDef(value));
601
+ }
602
+ function areRuntimeAttrDefsEquivalent(baseAttr, nextAttr) {
603
+ if (baseAttr === nextAttr)
604
+ return true;
605
+ return stableRuntimeAttrDef(baseAttr) === stableRuntimeAttrDef(nextAttr);
606
+ }
607
+ function mergeRuntimeEntityDefs(entityName, baseEntity, nextEntity) {
608
+ if (!isRuntimeEntityDef(baseEntity) || !isRuntimeEntityDef(nextEntity)) {
609
+ return stripRuntimeEntityLinks(nextEntity);
610
+ }
611
+ const conflictingAttrs = Object.keys(nextEntity.attrs).filter((attr) => Object.prototype.hasOwnProperty.call(baseEntity.attrs, attr) &&
612
+ !areRuntimeAttrDefsEquivalent(baseEntity.attrs[attr], nextEntity.attrs[attr]));
613
+ if (conflictingAttrs.length > 0) {
614
+ throw new Error(`domain_duplicate_entity_attr:${entityName}.${conflictingAttrs.join(",")}`);
615
+ }
616
+ return i.entity({
617
+ ...baseEntity.attrs,
618
+ ...nextEntity.attrs,
619
+ });
620
+ }
621
+ function mergeRuntimeEntities(baseEntities, nextEntities) {
622
+ const merged = {};
623
+ for (const [entityName, entity] of Object.entries(baseEntities)) {
624
+ merged[entityName] = stripRuntimeEntityLinks(entity);
625
+ }
626
+ for (const [entityName, entity] of Object.entries(nextEntities)) {
627
+ merged[entityName] =
628
+ entityName in merged
629
+ ? mergeRuntimeEntityDefs(entityName, merged[entityName], entity)
630
+ : stripRuntimeEntityLinks(entity);
631
+ }
632
+ return merged;
633
+ }
553
634
  function makeInstance(def, metaIncludes = []) {
554
635
  const meta = {
555
636
  name: def.name,
@@ -569,7 +650,7 @@ function makeInstance(def, metaIncludes = []) {
569
650
  const otherDef = "schema" in other
570
651
  ? { entities: other.entities, links: other.links, rooms: other.rooms }
571
652
  : other;
572
- const mergedEntities = { ...def.entities, ...otherDef.entities };
653
+ const mergedEntities = mergeRuntimeEntities(def.entities, otherDef.entities);
573
654
  const mergedLinks = { ...def.links, ...otherDef.links };
574
655
  const mergedRooms = { ...def.rooms, ...otherDef.rooms };
575
656
  const composed = makeInstance({
@@ -629,7 +710,7 @@ export function domain(arg) {
629
710
  const builder = {
630
711
  includes(other) {
631
712
  // Support lazy includes via function for circular dependencies
632
- if (typeof other === 'function') {
713
+ if (typeof other === 'function' && !isMaterializedDomainSource(other)) {
633
714
  const lazyGetter = () => {
634
715
  try {
635
716
  return other();
@@ -663,7 +744,7 @@ export function domain(arg) {
663
744
  return createBuilder(deps, linkDeps, [...lazyIncludes, lazyGetter], nextMeta);
664
745
  }
665
746
  const links = other.links;
666
- const mergedEntities = { ...deps, ...entities };
747
+ const mergedEntities = mergeRuntimeEntities(deps, entities);
667
748
  // Preserve literal link keys by merging directly (not casting to LinksDef)
668
749
  const mergedLinks = (links ? { ...linkDeps, ...links } : { ...linkDeps });
669
750
  const includeRef = () => other;
@@ -682,6 +763,7 @@ export function domain(arg) {
682
763
  // Resolve lazy includes at schema() time (when all domains should be initialized)
683
764
  // This handles circular dependencies by deferring entity resolution
684
765
  let resolvedDeps = { ...deps };
766
+ const pendingLazyIncludes = [];
685
767
  // Preserve literal link keys from accumulated links
686
768
  let resolvedLinks = { ...linkDeps };
687
769
  for (const lazyGetter of lazyIncludes) {
@@ -690,7 +772,7 @@ export function domain(arg) {
690
772
  if (other) {
691
773
  const entities = other.entities;
692
774
  if (entities) {
693
- resolvedDeps = { ...resolvedDeps, ...entities };
775
+ resolvedDeps = mergeRuntimeEntities(resolvedDeps, entities);
694
776
  }
695
777
  const links = other.links;
696
778
  if (links) {
@@ -698,14 +780,18 @@ export function domain(arg) {
698
780
  resolvedLinks = { ...resolvedLinks, ...links };
699
781
  }
700
782
  }
783
+ else {
784
+ pendingLazyIncludes.push(lazyGetter);
785
+ }
701
786
  }
702
787
  catch (e) {
703
788
  // If lazy resolution fails, continue - entities might be available via string references
704
789
  // This is expected for circular dependencies that will be resolved when all domains are composed
790
+ pendingLazyIncludes.push(lazyGetter);
705
791
  }
706
792
  }
707
793
  // Runtime merge for output; compile-time validation handled by types above
708
- const allEntities = { ...resolvedDeps, ...def.entities };
794
+ const allEntities = mergeRuntimeEntities(resolvedDeps, def.entities);
709
795
  // allLinks contains merged links from included domains + current domain
710
796
  // Preserve literal link keys (owner, related, parent, etc.) by using MergeLinks
711
797
  const allLinks = { ...resolvedLinks, ...def.links };
@@ -722,13 +808,13 @@ export function domain(arg) {
722
808
  let finalLinks = cloneLinksDef(capturedLinks);
723
809
  let hasUnresolvedIncludes = false;
724
810
  // Try to resolve lazy includes one more time (domains should be initialized by now)
725
- for (const lazyGetter of lazyIncludes) {
811
+ for (const lazyGetter of pendingLazyIncludes) {
726
812
  try {
727
813
  const other = lazyGetter();
728
814
  if (other) {
729
815
  const entities = other.entities;
730
816
  if (entities) {
731
- finalEntities = { ...finalEntities, ...entities };
817
+ finalEntities = mergeRuntimeEntities(finalEntities, entities);
732
818
  }
733
819
  const links = other.links;
734
820
  if (links) {
@@ -780,7 +866,9 @@ export function domain(arg) {
780
866
  }
781
867
  return frozenSchema;
782
868
  };
783
- const result = {
869
+ let result;
870
+ const callableResult = (runtime, options) => callDomainRuntimeScope(result, runtime, options);
871
+ result = Object.assign(callableResult, {
784
872
  entities: Object.freeze({ ...allEntities }),
785
873
  // Strip base phantom from public type so it's assignable to i.schema()
786
874
  links: Object.freeze(cloneLinksDef(allLinks)),
@@ -789,7 +877,7 @@ export function domain(arg) {
789
877
  originalEntities: Object.freeze({ ...allEntities }),
790
878
  instantSchema,
791
879
  toInstantSchema: instantSchema,
792
- };
880
+ });
793
881
  attachMeta(result, freezeMeta(meta));
794
882
  result.context = (options) => buildContext(result, options);
795
883
  result.contextString = (options) => contextToString(buildContext(result, options));
@@ -825,6 +913,7 @@ export function domain(arg) {
825
913
  };
826
914
  result.getActions = () => [...getStoredActions(result)];
827
915
  result.getActionMap = () => ({ ...getStoredActionMap(result) });
916
+ result.definition = () => result;
828
917
  return Object.freeze(result);
829
918
  };
830
919
  return createDomainResult([], {});
@@ -848,8 +937,30 @@ export function composeDomain(name, includes = []) {
848
937
  }
849
938
  return builder.withSchema({ entities: {}, links: {}, rooms: {} });
850
939
  }
940
+ /**
941
+ * Define a domain action without changing the public action contract.
942
+ *
943
+ * Convention for new actions:
944
+ *
945
+ * `async execute({ runtime, input }) { await runtime.db.transact([...]); }`
946
+ *
947
+ * Actions receive a runtime already scoped to the declaring domain. Nested
948
+ * action composition is available through `runtime.actions.*`.
949
+ */
950
+ function toJsonSchema(schema) {
951
+ try {
952
+ return z.toJSONSchema(schema, { target: "draft-7" });
953
+ }
954
+ catch {
955
+ return undefined;
956
+ }
957
+ }
851
958
  export function defineDomainAction(action) {
852
- return action;
959
+ return Object.freeze({
960
+ ...action,
961
+ inputSchema: toJsonSchema(action.input),
962
+ outputSchema: toJsonSchema(action.output),
963
+ });
853
964
  }
854
965
  export const defineAction = defineDomainAction;
855
966
  export function getDomainActions(source) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAGpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,GAKf,MAAM,qBAAqB,CAAC;AAuG7B,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,mBAAmB,GAA+B,IAAI,CAAC;AAE3D,MAAM,UAAU,wBAAwB,CAAC,MAA+B;IACtE,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAuC;IAClF,mBAAmB,GAAG,UAAU,IAAI,IAAI,CAAC;AAC3C,CAAC;AAiCD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACpE,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAoiB5E,SAAS,OAAO,CAAC,MAAe;IAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAQ,MAAc,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAI,MAAc,CAAC,sBAAsB,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,MAAkD,EAClD,MAAuD;IAEvD,MAAM,YAAY,GAA6B;QAC7C,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,sBAAsB,EAAE;QAC1D,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB;QACD,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAI,MAAc,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAa,CAAC,IAAI,KAAK,QAAQ;QACvC,OAAQ,KAAa,CAAC,OAAO,KAAK,UAAU,CACjB,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAI,MAAc,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,OAAO,GAAsB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe,EAAE,OAAmC;IAC5E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO;IAClC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAA0C,CAAC;IAC3F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE;QAC7C,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe,EAAE,SAA0B;IACrE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO;IAClC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;QAChD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;QACtC,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAuB,EACvB,MAA+D;IAE/D,MAAM,MAAM,GAA+C,KAAK,CAAC;IAEjE,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;QACpC,CAAC,MAAM,CAAC,KAAK;QACb,CAAC,MAAM,CAAC,MAAM,EACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,IAAI,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC;IAChE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAe,EACf,KAA6B;IAE7B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAA+B,EAAE,CAAC;IAClD,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,CAAC,SAAmC,EAAE,GAAY,EAAE,EAAE;QACjE,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAK,SAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpB,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAyB,EAAE;gBACrE,YAAY,EACV,OAAQ,KAAa,EAAE,IAAI,KAAK,QAAQ;oBACtC,CAAC,CAAC,MAAM,CAAE,KAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBACpC,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,EAAG,eAAuB,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACvD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAyB,EAAE;YACrE,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,MAAM;YACd,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAgB;IAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAC1C,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAkC,CAAC;IAClG,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,IAAI;QACP,QAAQ,EAAE,cAAc;KACzB,CAAe,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,OAAyB;IACpE,OAAO;QACL,GAAG,IAAI;QACP,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAqB,KAAQ;IACjD,OAAO,EAAE,GAAI,KAAiC,EAAO,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAA0B,KAAQ;IACtD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAwB,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,GAAG,CAAC,GAAG;YACT,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;YACtC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SACvC,CAAC;IACJ,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAoB;IAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,UAAU,GAAgE,EAAE,CAAC;IAEnF,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAwB,CAAC,EAAE,CAAC;QACxF,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC;QACnC,IAAI,OAAO,EAAE,EAAE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC;QACnC,IAAI,OAAO,EAAE,EAAE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,MAAM,MAAM,GAAG,UAAU;SACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU;QAC1C,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;QAC5C,CAAC,UAAU,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAW;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAC9E,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;IAClF,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IAChE,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAW;IACpC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAe,EAAE,cAAmB;IAChE,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc;QAAE,OAAO;IAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,eAAe,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACzE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,eAAe,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,YAAY,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAe,EAAE,OAAO,IAAI,GAAG,EAAW;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,KAAK,GAAY,IAAI,CAAC;QAC1B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAmB,EAAE,cAAuB;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY;QAAE,OAAO;IAEvC,MAAM,SAAS,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qDAAqD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,cAAiB,EACjB,EAAM,EACN,UAAgB,EAChB,QAA+C;IAE/C,MAAM,UAAU,GAAG,UAAU,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,QAAQ,GAA0B;QACtC,MAAM,EAAE,cAAc;QACtB,EAAE;QACF,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC;QACrC,OAAO,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5E,aAAa,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;KACzF,CAAC;IACF,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAO,EAAE;YACnD,MAAM,OAAO,GAAG;gBACd,GAAG,QAAQ;gBACX,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC;YACT,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE,CACvC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YAC/C,GAAG;YACH,KAAK,EAAE,KAAc,EAAE,EAAE;gBACvB,MAAM,OAAO,GAAI,MAAc,EAAE,OAAO,CAAC;gBACzC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClC,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAErD,MAAM,WAAW,GAAI,MAAc,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM,MAAM,GAA2C;oBACrD,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,aAAa;iBACvB,CAAA;gBAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAQ,MAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC,CACH,CAAC;QAEJ,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/B,CAAC;YAAC,QAAgB,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxC,CAAC;QACD,CAAC;QAAC,QAAgB,CAAC,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAW;IAC5C,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAA6B,CAAC;IAC1D,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IAEtB,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACzC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;IAChC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,IAAI,QAAQ;gBAAE,SAAS;YAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,cAAiB,EACjB,OAAoC,EACpC,OAAiB;IAEjB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,yBAAyB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAkC,MAKlE;IACC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,wBAAwB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,oBAAoB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACjD,OAAO,oBAAoB,CACzB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,EAAE,EACT,UAAU,EACV,MAAM,CAAC,QAAQ,CACe,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B,EAAE,IAAuB;IACzE,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAA6B,EAC7B,OAAkC;IAElC,IAAI,CAAC,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACnE,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;YAC1E,qDAAqD;QACvD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAuB,EACvB,OAA8B;IAE9B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,KAAK,KAAK,CAAC;QACxD,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE;YAC1C,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;YACpC,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;gBACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC1C,GAAG,EAAE,aAAa,CAAC,GAAG,IAAI,IAAI;gBAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,MAAW,EACX,OAA8B;IAE9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,KAAK,KAAK,CAAC;IACxD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE;QAC1C,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACrE,WAAW,EAAE,QAAQ;QACrB,iBAAiB,EAAE,KAAK;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAC9B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAK,MAAc,EAAE,IAAI;QAC5C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC1C,GAAG,EAAE,aAAa,CAAC,GAAG,IAAI,IAAI;QAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAsB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtD,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAuB;IAClD,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,SAAS,EAAE,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,IAAI,KAAK;QACf,KAA6B,CAAC,KAAK;QACpC,OAAQ,KAA6B,CAAC,KAAK,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe;IAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAiB,EAAE,QAAiB;IACxE,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,UAAmB,EAAE,UAAmB;IAC1F,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;QAC5D,CAAC,4BAA4B,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC9E,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,UAAU,CAAC,KAAK;QACnB,GAAG,UAAU,CAAC,KAAK;KACb,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAAe,EACf,YAAe;IAEf,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC;YAChB,UAAU,IAAI,MAAM;gBAClB,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAChE,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAA6B,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CACnB,GAA8B,EAC9B,eAAmC,EAAE;IAErC,MAAM,IAAI,GAAe;QACvB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;KAC5B,CAAC;IAEF,IAAI,QAAiC,CAAC;IAEtC,SAAS,MAAM;QACb,OAAO,CAAC,CAAC,MAAM,CAAC;YACd,QAAQ,EAAE,GAAG,CAAC,QAAa;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAU;YACrB,KAAK,EAAE,GAAG,CAAC,KAAU;SACtB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,OAAO,CACd,KAAgE;QAEhE,MAAM,QAAQ,GACZ,QAAQ,IAAI,KAAK;YACf,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACtE,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAW,CAAC;QACvF,MAAM,WAAW,GAAG,EAAE,GAAI,GAAG,CAAC,KAAgB,EAAE,GAAI,QAAQ,CAAC,KAAgB,EAAsB,CAAC;QACpG,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAY,CAAC;QAElE,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ,GAAG;QACT,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM;QACN,OAAO;KACR,CAAC;IACF,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAgBD,OAAO;AACP,MAAM,UAAU,MAAM,CAAC,GAAa;IAClC,uDAAuD;IACvD,wGAAwG;IACxG,0FAA0F;IAC1F,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAE1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAgD,CAAC;QAClE,IAAI,UAAU,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,0CAA0C;YAC1C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,GAA+B,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,aAAa,CAAyB,YAAY,EAAE,EAAS,EAAE,EAAE,EAAE;YACxE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,yHAAyH;IACzH,uDAAuD;IACvD,SAAS,aAAa,CAMpB,IAAQ,EACR,QAAY,EACZ,eAAiI,EAAE,EACnI,IAAgB;QAEhB,MAAM,OAAO,GAAG;YACd,QAAQ,CAA+C,KAAoD;gBAIzG,+DAA+D;gBAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtE,MAAM,UAAU,GAAG,GAAG,EAAE;wBACtB,IAAI,CAAC;4BACH,OAAQ,KAAuB,EAAE,CAAC;wBACpC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,SAAS,CAAC;wBACnB,CAAC;oBACH,CAAC,CAAC;oBACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAA8B,CAAC,CAAC;oBACzE,8CAA8C;oBAC9C,OAAO,aAAa,CAClB,IAA6B,EAC7B,QAA8B,EAC9B,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,EACpC,QAAQ,CACT,CAAC;gBACJ,CAAC;gBAED,mEAAmE;gBACnE,kFAAkF;gBAClF,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAClC,8CAA8C;oBAC9C,gGAAgG;oBAChG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;oBACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAA8B,CAAC,CAAC;oBACzE,6BAA6B;oBAC7B,OAAO,aAAa,CAClB,IAA6B,EAC7B,QAA8B,EAC9B,CAAC,GAAG,YAAY,EAAE,UAAU,CAAC,EAC7B,QAAQ,CACT,CAAC;gBACJ,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAI,KAAa,CAAC,QAA0B,CAAC;oBAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,6CAA6C;wBAC7C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;wBAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAA8B,CAAC,CAAC;wBACzE,6BAA6B;wBAC7B,OAAO,aAAa,CAClB,IAA6B,EAC7B,QAA8B,EAC9B,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,EACpC,QAAQ,CACT,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAI,KAAa,CAAC,KAAuB,CAAC;oBACrD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAA0B,CAAC;oBACrF,2EAA2E;oBAC3E,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAuB,CAAC;oBAChG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAY,CAAC;oBACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACrD,OAAO,aAAa,CAAqE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAChJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,8CAA8C;oBAC9C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;oBAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAA8B,CAAC,CAAC;oBACzE,6BAA6B;oBAC7B,OAAO,aAAa,CAClB,IAA6B,EAC7B,QAA8B,EAC9B,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,EACpC,QAAQ,CACT,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,UAAU,CAAyD,GAIlE;gBACC,kFAAkF;gBAClF,oEAAoE;gBACpE,IAAI,YAAY,GAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC5C,MAAM,mBAAmB,GAAwB,EAAE,CAAC;gBACpD,oDAAoD;gBACpD,IAAI,aAAa,GAAO,EAAE,GAAG,QAAQ,EAAQ,CAAC;gBAC9C,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;wBAC3B,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAuB,CAAC;4BACxD,IAAI,QAAQ,EAAE,CAAC;gCACb,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAgB,CAAC;4BAC7E,CAAC;4BACD,MAAM,KAAK,GAAI,KAAa,CAAC,KAAsB,CAAC;4BACpD,IAAI,KAAK,EAAE,CAAC;gCACV,sCAAsC;gCACtC,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,EAAQ,CAAC;4BACvD,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,yFAAyF;wBACzF,iGAAiG;wBACjG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAED,2EAA2E;gBAC3E,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAkB,EAAE,GAAG,CAAC,QAAQ,CAA0B,CAAC;gBACpG,wEAAwE;gBACxE,gFAAgF;gBAChF,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,GAAG,CAAC,KAAK,EAAwB,CAAC;gBAQ1E,MAAM,kBAAkB,GAAG,CACzB,cAA0C,EAAE,EAC5C,gBAAyB,EAAa,EACmE,EAAE;oBAI3G,MAAM,gBAAgB,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;oBAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/C,IAAI,mBAAmB,GAA+B,IAAI,CAAC;oBAE3D,MAAM,aAAa,GAAG,GAAG,EAAE;wBACzB,IAAI,mBAAmB,EAAE,CAAC;4BACxB,OAAO,mBAAmB,CAAC;wBAC7B,CAAC;wBAED,IAAI,aAAa,GAAgB,EAAE,GAAG,gBAAgB,EAAiB,CAAC;wBACxE,IAAI,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;wBAC9C,IAAI,qBAAqB,GAAG,KAAK,CAAC;wBAElC,oFAAoF;wBACpF,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;4BAC7C,IAAI,CAAC;gCACH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;gCAC3B,IAAI,KAAK,EAAE,CAAC;oCACV,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAuB,CAAC;oCACxD,IAAI,QAAQ,EAAE,CAAC;wCACb,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAgB,CAAC;oCAC/E,CAAC;oCACD,MAAM,KAAK,GAAI,KAAa,CAAC,KAAsB,CAAC;oCACpD,IAAI,KAAK,EAAE,CAAC;wCACV,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAuB,CAAC;oCAChE,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,qBAAqB,GAAG,IAAI,CAAC;gCAC/B,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,gGAAgG;gCAChG,qBAAqB,GAAG,IAAI,CAAC;4BAC/B,CAAC;wBACH,CAAC;wBAED,+BAA+B,CAAC,UAA2B,CAAC,CAAC;wBAE7D,0EAA0E;wBAC1E,6EAA6E;wBAC7E,MAAM,YAAY,GAAG;4BACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gCACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;6BACvC,CAAC;4BACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gCACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gCAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gCAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gCAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;6BAC5B,CAAC;4BACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;gCACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;gCACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gCAC3B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;gCACxC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;6BACzC,CAAC;yBACH,CAAC;wBAEF,wEAAwE;wBACxE,MAAM,mBAAmB,GAAG;4BAC1B,GAAG,YAAY;4BACf,GAAG,aAAa;yBACe,CAAC;wBAElC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;4BAC5B,QAAQ,EAAE,mBAAmB;4BAC7B,KAAK,EAAE,aAAa,CAAC,UAA6B,CAA2C;4BAC7F,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;yBACpC,CAAC,CAAC;wBAEH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAwB,CAAC;wBACxE,IAAI,CAAC,qBAAqB,EAAE,CAAC;4BAC3B,mBAAmB,GAAG,YAAY,CAAC;wBACrC,CAAC;wBACD,OAAO,YAAY,CAAC;oBACtB,CAAC,CAAC;oBAEF,IAAI,MAA+G,CAAC;oBACpH,MAAM,cAAc,GAAG,CACrB,OAEC,EACD,OAAiB,EACjB,EAAE,CAAC,sBAAsB,CAAC,MAAa,EAAE,OAAc,EAAE,OAAO,CAAC,CAAC;oBACpE,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB,cAAc,EACd;wBACE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAuB;wBACjE,uEAAuE;wBACvE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAoB;wBAChE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC9C,2EAA2E;wBAC3E,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAuB;wBACzE,aAAa;wBACb,eAAe,EAAE,aAAa;qBAC/B,CACoH,CAAC;oBAExH,UAAU,CAAC,MAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9C,MAAc,CAAC,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE,CAC3D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC/B,MAAc,CAAC,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE,CACjE,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChD,MAAc,CAAC,MAAM,GAAG,CACvB,EAAM,EACN,QAA+C,EAC/C,EAAE,CAAC,oBAAoB,CAAC,MAAa,EAAE,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAE9E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsD,CAAC;oBACtF,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;wBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE;4BACjC,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAM;4BACd,GAAG;yBACJ,CAAC,CAAC;wBACH,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACrC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAU,CAAC;oBACjC,CAAC,CAAC,CACQ,CAAC;oBACb,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAChD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC5C,IAAI,OAAO;4BAAE,OAAO,OAAO,CAAC;wBAC5B,OAAO,UAAU,CAAC,MAAM,EAAE;4BACxB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG;yBACnC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,gBAAgB,CAAC,MAAa,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;oBACrD,kBAAkB,CAAC,MAAa,EAAE,gBAAgB,CAAC,CAAC;oBACnD,MAAc,CAAC,OAAO,GAAG,kBAAkB,CAAC,MAAa,CAAC,CAAC;oBAC3D,MAAc,CAAC,WAAW,GAAG,CAAC,YAAoC,EAAE,EAAE;wBACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAa,CAAC,CAAC;wBAChD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAa,CAAC,CAAC;wBACrD,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAa,EAAE,YAAY,CAAC,CAAC;wBACzE,OAAO,kBAAkB,CACvB,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAClC,EAAE,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAC1C,CAAC;oBACJ,CAAC,CAAC;oBACD,MAAc,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAa,CAAC,CAAC,CAAC;oBACvE,MAAc,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,MAAa,CAAC,EAAE,CAAC,CAAC;oBAC/E,MAAc,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;oBAE1C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAa,CAAC,CAAC;gBACtC,CAAC,CAAC;gBAEF,OAAO,kBAAkB,CAAC,EAAE,EAAE,EAAS,CAAQ,CAAC;YAClD,CAAC;YACD,MAAM,CAAyD,GAI9D;gBACC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,CAAC;YACrC,CAAC;SACF,CAAC;QACF,OAAO,OAAgE,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAE7D,OAAO,aAAa,CAAyB,YAAY,EAAE,EAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAuC,EACvC,WAA4B,EAAE;IAE9B,IAAI,OAAO,GAAQ,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAc,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAA0B;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,YAAY,CAAC,MAAe,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAUD,MAAM,UAAU,kBAAkB,CAChC,MAAkD;IAElD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,MAAM;QACT,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACpD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
package/dist/next.d.ts CHANGED
@@ -11,12 +11,9 @@ type RuntimeLike = {
11
11
  };
12
12
  export type CreateRuntimeRouteHandlerOptions<Env extends Record<string, unknown> = Record<string, unknown>, Runtime extends RuntimeLike = RuntimeLike> = {
13
13
  createRuntime: (env: Env) => Runtime | Promise<Runtime>;
14
- resolveEnv?: (input: {
15
- req: Request;
16
- body: unknown;
17
- }) => Env | Promise<Env>;
18
14
  };
19
15
  export type RuntimeRouteHandlers = {
16
+ (req: Request): Promise<Response>;
20
17
  GET(req: Request): Promise<Response>;
21
18
  POST(req: Request): Promise<Response>;
22
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAGrB,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACjD,IAAI,IAAI;QACN,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;QACnC,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,gCAAgC,CAC1C,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,SAAS,WAAW,GAAG,WAAW,IACvC;IACF,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,GAAG,EAAE,OAAO,CAAA;QACZ,IAAI,EAAE,OAAO,CAAA;KACd,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA;AA+ID,wBAAgB,yBAAyB,CACvC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,OAAO,EAAE,gCAAgC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,oBAAoB,CA4G/E"}
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAIrB,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACjD,IAAI,IAAI;QACN,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;QACnC,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,gCAAgC,CAC1C,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,SAAS,WAAW,GAAG,WAAW,IACvC;IACF,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA;AA0QD,wBAAgB,yBAAyB,CACvC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,OAAO,EAAE,gCAAgC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAkI/E"}