@kernlang/review 3.4.3-canary.9.1.62aecb74 → 3.4.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.
@@ -15,6 +15,7 @@ import { duplicateRoute } from './duplicate-route.js';
15
15
  import { errorContractDrift } from './error-contract-drift.js';
16
16
  import { ignoredError } from './ignored-error.js';
17
17
  import { missingResponseModel } from './missing-response-model.js';
18
+ import { mixedHostSameEndpoint } from './mixed-host-same-endpoint.js';
18
19
  import { mutationWithoutIdempotency } from './mutation-without-idempotency.js';
19
20
  import { orphanRoute } from './orphan-route.js';
20
21
  import { paramNameSwap } from './param-name-swap.js';
@@ -38,6 +39,7 @@ export const conceptRules = [
38
39
  errorContractDrift,
39
40
  ignoredError,
40
41
  missingResponseModel,
42
+ mixedHostSameEndpoint,
41
43
  mutationWithoutIdempotency,
42
44
  orphanRoute,
43
45
  paramNameSwap,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/concept-rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAe1E,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,oBAAoB;IACpB,0BAA0B;IAC1B,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAoB,EACpB,QAAgB,EAChB,WAAqC,EACrC,YAAoC,EACpC,MAA6C;IAE7C,MAAM,GAAG,GAAuB;QAC9B,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,MAAM,EAAE,cAAc;KACvC,CAAC;IACF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/concept-rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAe1E,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,0BAA0B;IAC1B,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAoB,EACpB,QAAgB,EAChB,WAAqC,EACrC,YAAoC,EACpC,MAA6C;IAE7C,MAAM,GAAG,GAAuB;QAC9B,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,MAAM,EAAE,cAAc;KACvC,CAAC;IACF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Rule: mixed-host-same-endpoint
3
+ *
4
+ * Cross-file rule (single source — runs against the reviewed repo, no
5
+ * cross-stack partner needed). Fires when the same `(method, path)` is
6
+ * fetched against two or more *different* non-dev hosts in the codebase.
7
+ *
8
+ * Concrete example:
9
+ *
10
+ * // src/lib/users.ts
11
+ * await fetch(`https://api.example.com/api/users/${id}`);
12
+ *
13
+ * // src/admin/legacy.ts
14
+ * await fetch(`https://beta-api.example.com/api/users/${id}`);
15
+ *
16
+ * Same path+method, different production hosts. Almost always a stale
17
+ * base-URL — someone copy-pasted across a host migration or hardcoded
18
+ * the old URL. The rule fires on every call-site that participates in
19
+ * the divergence and lives in the file currently under review.
20
+ *
21
+ * This rule is built on top of the +41pp `host` data unlocked by
22
+ * phase-1.5 (env-fallback const resolution). Without populated `host`,
23
+ * the rule has nothing to compare and stays silent.
24
+ *
25
+ * FP gates:
26
+ * - Both/all hosts must be populated and absolute (relative URLs are
27
+ * intentionally same-origin; can't be inconsistent).
28
+ * - Dev-shaped hosts (localhost, 127.0.0.1, 0.0.0.0, *.local, *.test,
29
+ * and explicit ports on loopback) are skipped — `localhost` vs
30
+ * `api.prod.com` is normal env-aware code, not a bug.
31
+ * - Path must look internal (`/api/…`) so that random third-party SDK
32
+ * calls don't produce noise.
33
+ * - At least 2 different non-dev hosts must agree on path + method.
34
+ * Doesn't fire on single-call endpoints.
35
+ *
36
+ * Confidence: CROSS_STACK_HEURISTIC_CONFIDENCE (0.7). The match is
37
+ * structural (same path + method, different host) but the intent
38
+ * (migration vs intentional cross-region routing) needs human review.
39
+ */
40
+ import type { ReviewFinding } from '../types.js';
41
+ import type { ConceptRuleContext } from './index.js';
42
+ export declare function mixedHostSameEndpoint(ctx: ConceptRuleContext): ReviewFinding[];
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Rule: mixed-host-same-endpoint
3
+ *
4
+ * Cross-file rule (single source — runs against the reviewed repo, no
5
+ * cross-stack partner needed). Fires when the same `(method, path)` is
6
+ * fetched against two or more *different* non-dev hosts in the codebase.
7
+ *
8
+ * Concrete example:
9
+ *
10
+ * // src/lib/users.ts
11
+ * await fetch(`https://api.example.com/api/users/${id}`);
12
+ *
13
+ * // src/admin/legacy.ts
14
+ * await fetch(`https://beta-api.example.com/api/users/${id}`);
15
+ *
16
+ * Same path+method, different production hosts. Almost always a stale
17
+ * base-URL — someone copy-pasted across a host migration or hardcoded
18
+ * the old URL. The rule fires on every call-site that participates in
19
+ * the divergence and lives in the file currently under review.
20
+ *
21
+ * This rule is built on top of the +41pp `host` data unlocked by
22
+ * phase-1.5 (env-fallback const resolution). Without populated `host`,
23
+ * the rule has nothing to compare and stays silent.
24
+ *
25
+ * FP gates:
26
+ * - Both/all hosts must be populated and absolute (relative URLs are
27
+ * intentionally same-origin; can't be inconsistent).
28
+ * - Dev-shaped hosts (localhost, 127.0.0.1, 0.0.0.0, *.local, *.test,
29
+ * and explicit ports on loopback) are skipped — `localhost` vs
30
+ * `api.prod.com` is normal env-aware code, not a bug.
31
+ * - Path must look internal (`/api/…`) so that random third-party SDK
32
+ * calls don't produce noise.
33
+ * - At least 2 different non-dev hosts must agree on path + method.
34
+ * Doesn't fire on single-call endpoints.
35
+ *
36
+ * Confidence: CROSS_STACK_HEURISTIC_CONFIDENCE (0.7). The match is
37
+ * structural (same path + method, different host) but the intent
38
+ * (migration vs intentional cross-region routing) needs human review.
39
+ */
40
+ import { createFingerprint } from '../types.js';
41
+ import { API_PATH_RE, CROSS_STACK_HEURISTIC_CONFIDENCE, normalizeClientUrl } from './cross-stack-utils.js';
42
+ import { apiCallRootCause } from './root-cause.js';
43
+ // Hosts we exclude from the divergence check. These are normal in
44
+ // dev/test code and not signs of a stale base URL.
45
+ const DEV_HOST_RE = /^(localhost|127\.0\.0\.1|0\.0\.0\.0|host\.docker\.internal)(:\d+)?$/i;
46
+ const DEV_TLD_RE = /\.(local|test|localhost)(:\d+)?$/i;
47
+ function isDevHost(host) {
48
+ return DEV_HOST_RE.test(host) || DEV_TLD_RE.test(host);
49
+ }
50
+ export function mixedHostSameEndpoint(ctx) {
51
+ if (!ctx.allConcepts || ctx.allConcepts.size === 0)
52
+ return [];
53
+ // Group every populated-host network call by `<METHOD> <path>`.
54
+ const byEndpoint = new Map();
55
+ for (const [, conceptMap] of ctx.allConcepts) {
56
+ for (const node of conceptMap.nodes) {
57
+ if (node.kind !== 'effect')
58
+ continue;
59
+ if (node.payload.kind !== 'effect')
60
+ continue;
61
+ if (node.payload.subtype !== 'network')
62
+ continue;
63
+ const host = node.payload.host;
64
+ if (!host)
65
+ continue;
66
+ if (isDevHost(host))
67
+ continue;
68
+ const method = node.payload.method;
69
+ if (!method)
70
+ continue;
71
+ const target = node.payload.target;
72
+ if (!target)
73
+ continue;
74
+ const path = normalizeClientUrl(target);
75
+ if (!path)
76
+ continue;
77
+ if (!API_PATH_RE.test(path))
78
+ continue;
79
+ const key = `${method.toUpperCase()} ${path}`;
80
+ const arr = byEndpoint.get(key);
81
+ if (arr)
82
+ arr.push({ node, host, method, path });
83
+ else
84
+ byEndpoint.set(key, [{ node, host, method, path }]);
85
+ }
86
+ }
87
+ const findings = [];
88
+ for (const [endpoint, calls] of byEndpoint) {
89
+ const distinctHosts = new Set(calls.map((c) => c.host));
90
+ if (distinctHosts.size < 2)
91
+ continue;
92
+ // Fire on the calls that live in the file currently being reviewed.
93
+ // A repo-wide rule still routes findings through the per-file context.
94
+ for (const call of calls) {
95
+ if (call.node.primarySpan.file !== ctx.filePath)
96
+ continue;
97
+ const otherHosts = [...distinctHosts].filter((h) => h !== call.host).sort();
98
+ const allHosts = [...distinctHosts].sort();
99
+ findings.push({
100
+ source: 'kern',
101
+ ruleId: 'mixed-host-same-endpoint',
102
+ severity: 'warning',
103
+ category: 'bug',
104
+ message: `\`${endpoint}\` is fetched against multiple hosts in this codebase: [${allHosts.join(', ')}]. ` +
105
+ `This call uses \`${call.host}\`; ${otherHosts.length === 1 ? 'another call uses' : 'other calls use'} ` +
106
+ `\`${otherHosts.join(', ')}\`. ` +
107
+ `Likely a stale base URL — confirm both hosts are intentional or unify them behind a single config const.`,
108
+ primarySpan: call.node.primarySpan,
109
+ fingerprint: createFingerprint('mixed-host-same-endpoint', call.node.primarySpan.startLine, call.node.primarySpan.startCol),
110
+ confidence: call.node.confidence * CROSS_STACK_HEURISTIC_CONFIDENCE,
111
+ rootCause: apiCallRootCause(call.node, call.path, call.method),
112
+ });
113
+ }
114
+ }
115
+ return findings;
116
+ }
117
+ //# sourceMappingURL=mixed-host-same-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixed-host-same-endpoint.js","sourceRoot":"","sources":["../../src/concept-rules/mixed-host-same-endpoint.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Phase 2: entrypoint, guard, state_mutation, call, dependency
6
6
  */
7
7
  import { conceptId, conceptSpan } from '@kernlang/core';
8
- import { SyntaxKind } from 'ts-morph';
8
+ import { SyntaxKind, VariableDeclarationKind } from 'ts-morph';
9
9
  const EXTRACTOR_VERSION = '1.0.0';
10
10
  // ── Network effect signatures ────────────────────────────────────────────
11
11
  const NETWORK_CALLS = new Set(['fetch', 'axios', 'got', 'request', 'superagent', 'ky']);
@@ -282,6 +282,7 @@ function hasIntentComment(text) {
282
282
  // ── effect ───────────────────────────────────────────────────────────────
283
283
  function extractEffects(sf, filePath, nodes) {
284
284
  const clientIdents = collectClientIdentifiers(sf);
285
+ const constLiterals = buildConstLiteralMap(sf);
285
286
  for (const call of sf.getDescendantsOfKind(SyntaxKind.CallExpression)) {
286
287
  const callee = call.getExpression();
287
288
  let funcName = '';
@@ -300,9 +301,9 @@ function extractEffects(sf, filePath, nodes) {
300
301
  const isWrappedClientCall = CLIENT_HTTP_METHODS.has(funcName) && clientIdents.has(objName);
301
302
  if (isDirectNetwork || isKnownLibraryMethod || isWrappedClientCall) {
302
303
  const isAsync = isInAsyncContext(call);
303
- const target = extractTarget(call);
304
+ const target = extractTarget(call, constLiterals);
304
305
  const sentFieldsInfo = extractSentFields(call, funcName);
305
- const queryParamsInfo = extractQueryParams(call);
306
+ const queryParamsInfo = extractQueryParams(call, constLiterals);
306
307
  const hasAuthHeader = extractHasAuthHeader(call, funcName);
307
308
  nodes.push({
308
309
  id: conceptId(filePath, 'effect', call.getStart()),
@@ -325,6 +326,7 @@ function extractEffects(sf, filePath, nodes) {
325
326
  hasAuthHeader,
326
327
  sentFields: sentFieldsInfo.fields,
327
328
  sentFieldsResolved: sentFieldsInfo.resolved,
329
+ sentFieldTypes: sentFieldsInfo.types,
328
330
  handlesApiErrors: extractHandlesApiErrors(call, isWrappedClientCall),
329
331
  authPropagation: extractAuthPropagation(call, funcName, objName, isWrappedClientCall, hasAuthHeader),
330
332
  queryParams: queryParamsInfo.params,
@@ -1497,16 +1499,10 @@ function isInAsyncContext(node) {
1497
1499
  }
1498
1500
  return false;
1499
1501
  }
1500
- // Extract the field names a network call sends on the wire. High-confidence
1501
- // sources:
1502
- // - literal objects: `JSON.stringify({ a, b })`, `axios.post(url, { a, b })`
1503
- // - typed payload variables: `JSON.stringify(input)` where `input: CreateUser`
1504
- // Everything else returns `{ fields: undefined, resolved: false }` so
1505
- // body-shape-drift stays silent on opaque shapes rather than guessing.
1506
1502
  function extractSentFields(call, funcName) {
1507
1503
  const payload = extractNetworkPayloadExpression(call, funcName);
1508
1504
  if (!payload)
1509
- return { fields: undefined, resolved: false };
1505
+ return { fields: undefined, resolved: false, types: undefined };
1510
1506
  return extractPayloadFields(payload);
1511
1507
  }
1512
1508
  function extractNetworkPayloadExpression(call, funcName) {
@@ -1535,10 +1531,11 @@ function extractPayloadFields(node) {
1535
1531
  const payload = unwrapPayloadExpression(node);
1536
1532
  if (payload.getKind() === SyntaxKind.CallExpression) {
1537
1533
  const bodyCall = payload;
1538
- if (bodyCall.getExpression().getText() !== 'JSON.stringify')
1539
- return { fields: undefined, resolved: false };
1534
+ if (bodyCall.getExpression().getText() !== 'JSON.stringify') {
1535
+ return { fields: undefined, resolved: false, types: undefined };
1536
+ }
1540
1537
  const stringifyArg = bodyCall.getArguments()[0];
1541
- return stringifyArg ? extractPayloadFields(stringifyArg) : { fields: undefined, resolved: false };
1538
+ return stringifyArg ? extractPayloadFields(stringifyArg) : { fields: undefined, resolved: false, types: undefined };
1542
1539
  }
1543
1540
  if (payload.getKind() === SyntaxKind.ObjectLiteralExpression) {
1544
1541
  return extractLiteralObjectFields(payload);
@@ -1546,7 +1543,7 @@ function extractPayloadFields(node) {
1546
1543
  if (payload.getKind() === SyntaxKind.Identifier || payload.getKind() === SyntaxKind.PropertyAccessExpression) {
1547
1544
  return extractObjectFieldsFromType(payload);
1548
1545
  }
1549
- return { fields: undefined, resolved: false };
1546
+ return { fields: undefined, resolved: false, types: undefined };
1550
1547
  }
1551
1548
  function unwrapPayloadExpression(node) {
1552
1549
  let current = node;
@@ -1574,26 +1571,91 @@ function unwrapPayloadExpression(node) {
1574
1571
  }
1575
1572
  function extractObjectFieldsFromType(node) {
1576
1573
  const type = node.getType();
1577
- if (type.isAny() || type.isUnknown() || type.isUnion())
1578
- return { fields: undefined, resolved: false };
1579
- if (type.getStringIndexType() || type.getNumberIndexType())
1580
- return { fields: undefined, resolved: false };
1574
+ if (type.isAny() || type.isUnknown() || type.isUnion()) {
1575
+ return { fields: undefined, resolved: false, types: undefined };
1576
+ }
1577
+ if (type.getStringIndexType() || type.getNumberIndexType()) {
1578
+ return { fields: undefined, resolved: false, types: undefined };
1579
+ }
1581
1580
  const fields = new Set();
1581
+ const types = {};
1582
1582
  for (const prop of type.getProperties()) {
1583
1583
  const declarations = prop.getDeclarations();
1584
1584
  if (declarations.length === 0)
1585
- return { fields: undefined, resolved: false };
1585
+ return { fields: undefined, resolved: false, types: undefined };
1586
1586
  if (declarations.some((decl) => isExternalSourcePath(decl.getSourceFile().getFilePath()))) {
1587
- return { fields: undefined, resolved: false };
1587
+ return { fields: undefined, resolved: false, types: undefined };
1588
1588
  }
1589
1589
  if (declarations.some((decl) => declarationIsOptional(decl)))
1590
1590
  continue;
1591
1591
  const name = prop.getName();
1592
1592
  if (!/^[A-Za-z_$][\w$-]*$/.test(name))
1593
- return { fields: undefined, resolved: false };
1593
+ return { fields: undefined, resolved: false, types: undefined };
1594
1594
  fields.add(name);
1595
+ // Coarse type tag from the property's TS type at the use site.
1596
+ const propType = prop.getTypeAtLocation(node);
1597
+ types[name] = coarsenTsType(propType);
1598
+ }
1599
+ if (fields.size === 0) {
1600
+ return { fields: [], resolved: true, types: {} };
1595
1601
  }
1596
- return fields.size > 0 ? { fields: Array.from(fields).sort(), resolved: true } : { fields: [], resolved: true };
1602
+ return { fields: Array.from(fields).sort(), resolved: true, types };
1603
+ }
1604
+ // Map a ts-morph Type to a coarse tag. Conservative: anything we don't
1605
+ // recognise becomes 'unknown' rather than silently dropped — body-shape-drift
1606
+ // can then choose to skip 'unknown' tags or treat them as wildcards.
1607
+ function coarsenTsType(type) {
1608
+ if (type.isAny() || type.isUnknown() || type.isNever())
1609
+ return 'unknown';
1610
+ if (type.isString() || type.isStringLiteral())
1611
+ return 'string';
1612
+ if (type.isNumber() || type.isNumberLiteral())
1613
+ return 'number';
1614
+ if (type.isBoolean() || type.isBooleanLiteral())
1615
+ return 'boolean';
1616
+ if (type.isNull())
1617
+ return 'null';
1618
+ // Bare `undefined` is NOT 'null' on the wire — `JSON.stringify({x: undefined})`
1619
+ // omits the key entirely. We tag it `unknown` so downstream rules don't
1620
+ // confuse it with an explicit-null field. Codex review caught this.
1621
+ if (type.isUndefined())
1622
+ return 'unknown';
1623
+ if (type.isArray() || type.isTuple())
1624
+ return 'array';
1625
+ if (type.isUnion()) {
1626
+ // Drop nullability branches (`T | null | undefined → T`) before
1627
+ // coarsening — `null`/`undefined` are absorbed since the rule's question
1628
+ // is "what is the shape of the present value?" not "is the field
1629
+ // optional?". Then if the remaining branches all coarsen to one tag,
1630
+ // return it; else `unknown`.
1631
+ const branches = type.getUnionTypes().filter((t) => !t.isNull() && !t.isUndefined());
1632
+ if (branches.length === 0)
1633
+ return 'null';
1634
+ if (branches.length === 1)
1635
+ return coarsenTsType(branches[0]);
1636
+ const tags = new Set(branches.map(coarsenTsType));
1637
+ if (tags.size === 1)
1638
+ return [...tags][0];
1639
+ return 'unknown';
1640
+ }
1641
+ // Branded primitives (`string & { __brand: 'UserId' }`) are very common
1642
+ // for ID/count types. We walk the intersection branches: if any branch
1643
+ // coarsens to a primitive, take that tag — the brand is structural noise
1644
+ // we don't need on the wire. Codex review caught the original
1645
+ // implementation collapsing brands to 'unknown'.
1646
+ if (type.isIntersection()) {
1647
+ const branchTags = type.getIntersectionTypes().map(coarsenTsType);
1648
+ for (const tag of branchTags) {
1649
+ if (tag === 'string' || tag === 'number' || tag === 'boolean')
1650
+ return tag;
1651
+ }
1652
+ if (branchTags.every((t) => t === 'object'))
1653
+ return 'object';
1654
+ return 'unknown';
1655
+ }
1656
+ if (type.isObject())
1657
+ return 'object';
1658
+ return 'unknown';
1597
1659
  }
1598
1660
  function declarationIsOptional(decl) {
1599
1661
  const maybeOptional = decl;
@@ -1605,33 +1667,282 @@ function declarationIsOptional(decl) {
1605
1667
  // produce false positives downstream.
1606
1668
  function extractLiteralObjectFields(obj) {
1607
1669
  const fields = [];
1670
+ const types = {};
1608
1671
  for (const prop of obj.getProperties()) {
1609
1672
  const kind = prop.getKind();
1610
1673
  if (kind === SyntaxKind.SpreadAssignment)
1611
- return { fields: undefined, resolved: false };
1674
+ return { fields: undefined, resolved: false, types: undefined };
1612
1675
  if (kind === SyntaxKind.PropertyAssignment) {
1613
- const name = prop.getNameNode();
1614
- if (name.getKind() === SyntaxKind.ComputedPropertyName)
1615
- return { fields: undefined, resolved: false };
1676
+ const pa = prop;
1677
+ const name = pa.getNameNode();
1678
+ if (name.getKind() === SyntaxKind.ComputedPropertyName) {
1679
+ return { fields: undefined, resolved: false, types: undefined };
1680
+ }
1616
1681
  if (name.getKind() === SyntaxKind.Identifier || name.getKind() === SyntaxKind.StringLiteral) {
1617
- fields.push(name.getText().replace(/['"]/g, ''));
1682
+ const fieldName = name.getText().replace(/['"]/g, '');
1683
+ fields.push(fieldName);
1684
+ // Type tag from the value expression. Tries syntactic recognition
1685
+ // first (cheap, exact for literals), then falls back to TS type
1686
+ // inference for variables / property accesses.
1687
+ const init = pa.getInitializer();
1688
+ types[fieldName] = init ? coarsenValueExpression(init) : 'unknown';
1618
1689
  }
1619
1690
  else {
1620
- return { fields: undefined, resolved: false };
1691
+ return { fields: undefined, resolved: false, types: undefined };
1621
1692
  }
1622
1693
  }
1623
1694
  else if (kind === SyntaxKind.ShorthandPropertyAssignment) {
1624
- fields.push(prop.getName());
1695
+ const sh = prop;
1696
+ const fieldName = sh.getName();
1697
+ fields.push(fieldName);
1698
+ // Shorthand: `{ foo }` is sugar for `{ foo: foo }`. Use the binding's
1699
+ // inferred TS type at this location.
1700
+ const ident = sh.getNameNode();
1701
+ types[fieldName] = coarsenTsType(ident.getType());
1625
1702
  }
1626
1703
  else {
1627
1704
  // Method definitions, getters, setters — unusual in a fetch body,
1628
1705
  // treat as unresolved.
1629
- return { fields: undefined, resolved: false };
1706
+ return { fields: undefined, resolved: false, types: undefined };
1630
1707
  }
1631
1708
  }
1632
- return { fields, resolved: true };
1709
+ return { fields, resolved: true, types };
1633
1710
  }
1634
- function extractTarget(call) {
1711
+ // Coarsen the value-expression of a literal object property. Syntactic
1712
+ // fast paths cover the common literal cases without invoking the TS type
1713
+ // checker; everything else falls through to type-based coarsening.
1714
+ function coarsenValueExpression(expr) {
1715
+ const k = expr.getKind();
1716
+ if (k === SyntaxKind.StringLiteral ||
1717
+ k === SyntaxKind.NoSubstitutionTemplateLiteral ||
1718
+ k === SyntaxKind.TemplateExpression) {
1719
+ return 'string';
1720
+ }
1721
+ if (k === SyntaxKind.NumericLiteral)
1722
+ return 'number';
1723
+ if (k === SyntaxKind.TrueKeyword || k === SyntaxKind.FalseKeyword)
1724
+ return 'boolean';
1725
+ if (k === SyntaxKind.NullKeyword)
1726
+ return 'null';
1727
+ if (k === SyntaxKind.ObjectLiteralExpression)
1728
+ return 'object';
1729
+ if (k === SyntaxKind.ArrayLiteralExpression)
1730
+ return 'array';
1731
+ // PrefixUnary: the unary operator dictates the result type, NOT the
1732
+ // operand. `+x`, `-x`, `~x` always yield number even if x is a string
1733
+ // (`+'1'` is type `number`); `!x` always yields boolean. Recursing into
1734
+ // the operand would lie. Codex review caught this.
1735
+ if (k === SyntaxKind.PrefixUnaryExpression) {
1736
+ const op = expr.getOperatorToken();
1737
+ if (op === SyntaxKind.PlusToken || op === SyntaxKind.MinusToken || op === SyntaxKind.TildeToken) {
1738
+ return 'number';
1739
+ }
1740
+ if (op === SyntaxKind.ExclamationToken) {
1741
+ return 'boolean';
1742
+ }
1743
+ // Unknown prefix operator — fall through to TS type checker.
1744
+ return coarsenTsType(expr.getType());
1745
+ }
1746
+ // Parenthesized / as-cast / non-null: unwrap and recurse.
1747
+ if (k === SyntaxKind.ParenthesizedExpression) {
1748
+ return coarsenValueExpression(expr.getExpression());
1749
+ }
1750
+ if (k === SyntaxKind.AsExpression) {
1751
+ return coarsenValueExpression(expr.getExpression());
1752
+ }
1753
+ if (k === SyntaxKind.NonNullExpression) {
1754
+ return coarsenValueExpression(expr.getExpression());
1755
+ }
1756
+ // Fallback: ask the TS type checker. Catches `Identifier`,
1757
+ // `PropertyAccessExpression`, `ConditionalExpression` (`x ?? null`),
1758
+ // `BinaryExpression`, etc.
1759
+ return coarsenTsType(expr.getType());
1760
+ }
1761
+ function declKey(decl) {
1762
+ return `${decl.getSourceFile().getFilePath()}:${decl.getStart()}`;
1763
+ }
1764
+ // Extract a literal string from a const initializer. Handles:
1765
+ // const X = 'lit';
1766
+ // const X = `lit`; (no substitutions)
1767
+ // const X = process.env.FOO || 'fallback'; (env-with-fallback)
1768
+ // const X = process.env.FOO ?? 'fallback'; (nullish-coalescing)
1769
+ //
1770
+ // The `||` / `??` fallback case is the dominant real-world shape — audiofacets
1771
+ // has 10+ `const API_URL = process.env.X || "https://..."` sites that the
1772
+ // pure-literal collector silently dropped. Resolution captures the FALLBACK
1773
+ // branch as the "no-env-set" value. At runtime when env IS set the URL
1774
+ // differs, but for cross-stack matching the path part is identical and
1775
+ // `host` is "best effort, stay silent if not absolute" anyway.
1776
+ //
1777
+ // Conservative: only the right-hand side of `||`/`??` is taken as the literal.
1778
+ // Chained `a || b || 'lit'` bails (right is BinaryExpression, not literal).
1779
+ // Ternaries and other shapes stay out of scope.
1780
+ function literalStringFromInit(init) {
1781
+ if (init.getKind() === SyntaxKind.StringLiteral) {
1782
+ return init.getLiteralValue();
1783
+ }
1784
+ if (init.getKind() === SyntaxKind.NoSubstitutionTemplateLiteral) {
1785
+ return init.getLiteralValue();
1786
+ }
1787
+ if (init.getKind() === SyntaxKind.BinaryExpression) {
1788
+ const bin = init;
1789
+ const op = bin.getOperatorToken().getKind();
1790
+ if (op === SyntaxKind.BarBarToken || op === SyntaxKind.QuestionQuestionToken) {
1791
+ const right = bin.getRight();
1792
+ if (right.getKind() === SyntaxKind.StringLiteral) {
1793
+ return right.getLiteralValue();
1794
+ }
1795
+ if (right.getKind() === SyntaxKind.NoSubstitutionTemplateLiteral) {
1796
+ return right.getLiteralValue();
1797
+ }
1798
+ }
1799
+ }
1800
+ return undefined;
1801
+ }
1802
+ function buildConstLiteralMap(sf) {
1803
+ const candidates = [];
1804
+ for (const decl of sf.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
1805
+ const stmt = decl.getVariableStatement();
1806
+ if (!stmt)
1807
+ continue;
1808
+ if (stmt.getDeclarationKind() !== VariableDeclarationKind.Const)
1809
+ continue;
1810
+ if (decl.getNameNode().getKind() !== SyntaxKind.Identifier)
1811
+ continue; // skip destructure
1812
+ const init = decl.getInitializer();
1813
+ if (!init)
1814
+ continue;
1815
+ candidates.push({ decl, key: declKey(decl), init });
1816
+ }
1817
+ const direct = new Map();
1818
+ for (const { key, init } of candidates) {
1819
+ const lit = literalStringFromInit(init);
1820
+ if (lit !== undefined)
1821
+ direct.set(key, lit);
1822
+ }
1823
+ // Pass 2: template-with-refs against pass 1. One hop — no transitive
1824
+ // resolution. A `const A = \`\${B}/x\`` whose `B` is itself a
1825
+ // template-with-refs won't resolve here; that's a phase-1 cap.
1826
+ const all = new Map(direct);
1827
+ for (const { key, init } of candidates) {
1828
+ if (init.getKind() !== SyntaxKind.TemplateExpression)
1829
+ continue;
1830
+ const lit = resolveTemplateAgainst(init, direct);
1831
+ if (lit !== undefined)
1832
+ all.set(key, lit);
1833
+ }
1834
+ return all;
1835
+ }
1836
+ function resolveTemplateAgainst(tmpl, map) {
1837
+ let out = tmpl.getHead().getLiteralText();
1838
+ for (const span of tmpl.getTemplateSpans()) {
1839
+ const expr = span.getExpression();
1840
+ if (expr.getKind() !== SyntaxKind.Identifier)
1841
+ return undefined;
1842
+ const inner = lookupConstLiteral(expr, map);
1843
+ if (inner === undefined)
1844
+ return undefined;
1845
+ out += inner;
1846
+ out += span.getLiteral().getLiteralText();
1847
+ }
1848
+ return out;
1849
+ }
1850
+ // Symbol-based lookup. Resolves the identifier to its binding via the TS
1851
+ // type checker, then checks whether that binding is a literal const we
1852
+ // collected. Returns `undefined` for any identifier that does NOT bind to
1853
+ // a single same-file VariableDeclaration in the map — including parameters,
1854
+ // `let` / `var`, function names, and shadowing declarations. (Phase 2A
1855
+ // extends this to follow named imports from relative paths to a sibling
1856
+ // source file.)
1857
+ //
1858
+ // Same-file filter on the in-file declarations: TypeScript's symbol for a
1859
+ // name that shadows a global (e.g. `URL`, `Request`, `Response`) returns
1860
+ // BOTH the local declaration AND the lib.dom.d.ts ambient. We only care
1861
+ // about the in-file declaration; the lib ambient never has a literal value.
1862
+ function lookupConstLiteral(ident, map) {
1863
+ const sym = ident.getSymbol();
1864
+ if (!sym)
1865
+ return undefined;
1866
+ const sfPath = ident.getSourceFile().getFilePath();
1867
+ const inFile = [];
1868
+ const importSpecs = [];
1869
+ for (const d of sym.getDeclarations()) {
1870
+ if (d.getSourceFile().getFilePath() !== sfPath)
1871
+ continue;
1872
+ const k = d.getKind();
1873
+ if (k === SyntaxKind.VariableDeclaration) {
1874
+ inFile.push(d);
1875
+ }
1876
+ else if (k === SyntaxKind.ImportSpecifier) {
1877
+ importSpecs.push(d);
1878
+ }
1879
+ }
1880
+ // Same-file binding wins (phase 1 path).
1881
+ if (inFile.length === 1 && importSpecs.length === 0) {
1882
+ return map.get(declKey(inFile[0]));
1883
+ }
1884
+ // Phase 2A: cross-file named import. Single ImportSpecifier in this file,
1885
+ // no in-file VariableDeclaration. Follow the import to its source.
1886
+ if (importSpecs.length === 1 && inFile.length === 0) {
1887
+ return resolveImportedConst(importSpecs[0]);
1888
+ }
1889
+ return undefined;
1890
+ }
1891
+ // Phase 2A: follow `import { X } from './c'` to the source file and resolve
1892
+ // the imported const. Same FP gates as phase 1: the source decl must be a
1893
+ // single exported `const X = <literal>` (or env-fallback / no-sub template
1894
+ // or template-with-refs against the source file's own const map).
1895
+ //
1896
+ // Out of scope (phase 2A):
1897
+ // - Default imports (`import X from './c'`)
1898
+ // - Namespace imports (`import * as M from './c'; M.X`)
1899
+ // - Non-relative module specifiers (`react`, `@/lib/x`, `@shared/y`)
1900
+ // - Re-export chains beyond what ts-morph's symbol resolver already follows
1901
+ function resolveImportedConst(spec) {
1902
+ const imp = spec.getImportDeclaration();
1903
+ const moduleSpec = imp.getModuleSpecifierValue();
1904
+ if (!moduleSpec)
1905
+ return undefined;
1906
+ if (!moduleSpec.startsWith('./') && !moduleSpec.startsWith('../'))
1907
+ return undefined;
1908
+ const srcSf = imp.getModuleSpecifierSourceFile();
1909
+ if (!srcSf)
1910
+ return undefined;
1911
+ // The imported name as declared in the source module. `import { X as Y }`
1912
+ // means we look for `X` in the source, regardless of `Y` alias here.
1913
+ const importedName = spec.getNameNode().getText();
1914
+ for (const decl of srcSf.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
1915
+ if (decl.getNameNode().getKind() !== SyntaxKind.Identifier)
1916
+ continue;
1917
+ if (decl.getName() !== importedName)
1918
+ continue;
1919
+ const stmt = decl.getVariableStatement();
1920
+ if (!stmt)
1921
+ continue;
1922
+ if (stmt.getDeclarationKind() !== VariableDeclarationKind.Const)
1923
+ continue;
1924
+ if (!stmt.isExported())
1925
+ continue;
1926
+ const init = decl.getInitializer();
1927
+ if (!init)
1928
+ return undefined;
1929
+ // Direct literal / no-sub template / env-fallback.
1930
+ const direct = literalStringFromInit(init);
1931
+ if (direct !== undefined)
1932
+ return direct;
1933
+ // Template-with-refs in the SOURCE file's scope. Build that file's own
1934
+ // const map and resolve the template against it. resolveTemplateAgainst
1935
+ // recurses through lookupConstLiteral, so chained imports
1936
+ // (`c.ts → d.ts`) work via the same gate.
1937
+ if (init.getKind() === SyntaxKind.TemplateExpression) {
1938
+ const srcMap = buildConstLiteralMap(srcSf);
1939
+ return resolveTemplateAgainst(init, srcMap);
1940
+ }
1941
+ return undefined;
1942
+ }
1943
+ return undefined;
1944
+ }
1945
+ function extractTarget(call, consts) {
1635
1946
  const args = call.getArguments();
1636
1947
  if (args.length === 0)
1637
1948
  return undefined;
@@ -1643,7 +1954,10 @@ function extractTarget(call) {
1643
1954
  return first.getLiteralValue();
1644
1955
  }
1645
1956
  if (first.getKind() === SyntaxKind.TemplateExpression) {
1646
- return extractTemplateUrl(first);
1957
+ return extractTemplateUrl(first, consts);
1958
+ }
1959
+ if (first.getKind() === SyntaxKind.Identifier && consts) {
1960
+ return lookupConstLiteral(first, consts);
1647
1961
  }
1648
1962
  return undefined;
1649
1963
  }
@@ -1748,8 +2062,8 @@ function isStatusPropertyAccess(node) {
1748
2062
  return false;
1749
2063
  return STATUS_LIKELY_RECEIVER_RE.test(text);
1750
2064
  }
1751
- function extractQueryParams(call) {
1752
- const target = extractTarget(call);
2065
+ function extractQueryParams(call, consts) {
2066
+ const target = extractTarget(call, consts);
1753
2067
  if (!target)
1754
2068
  return { params: undefined, resolved: false };
1755
2069
  const q = target.indexOf('?');
@@ -1776,7 +2090,7 @@ function extractQueryParams(call) {
1776
2090
  // correlate it against backend routes. Without this every `fetch(` \`${BASE}/…\` `)`
1777
2091
  // call is silently dropped by `normalizeClientUrl` (which rejects targets that
1778
2092
  // start with \`$ instead of \`/).
1779
- function extractTemplateUrl(tmpl) {
2093
+ function extractTemplateUrl(tmpl, consts) {
1780
2094
  const head = tmpl.getHead();
1781
2095
  let out = head.getLiteralText();
1782
2096
  const spans = tmpl.getTemplateSpans();
@@ -1785,6 +2099,20 @@ function extractTemplateUrl(tmpl) {
1785
2099
  const expr = span.getExpression();
1786
2100
  const exprText = expr.getText();
1787
2101
  const isBareIdent = expr.getKind() === SyntaxKind.Identifier;
2102
+ // Phase 1 const resolution: substitute `${IDENT}` with its same-file literal
2103
+ // value when the symbol-resolved binding is a literal const we collected.
2104
+ // Lifts host extraction and route matching on the common
2105
+ // `${API_BASE}/users/${id}` shape. Symbol-based (not name-based) so that
2106
+ // a shadowing parameter / `let` / inner non-literal const cannot
2107
+ // fabricate a wrong absolute URL.
2108
+ if (isBareIdent && consts) {
2109
+ const resolved = lookupConstLiteral(expr, consts);
2110
+ if (resolved !== undefined) {
2111
+ out += resolved;
2112
+ out += span.getLiteral().getLiteralText();
2113
+ continue;
2114
+ }
2115
+ }
1788
2116
  if (i === 0 && out === '' && isBareIdent && looksLikeBaseUrlName(exprText)) {
1789
2117
  // Drop a leading `${BASE_URL}` interpolation so the path starts with `/`.
1790
2118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ts-concepts.js","sourceRoot":"","sources":["../../src/mappers/ts-concepts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,4EAA4E;AAE5E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AAExF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzG,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,wCAAwC;AAExC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE/E,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,sDAAsD;AACtD,MAAM,mBAAmB,GAAG,oEAAoE,CAAC;AAEjG,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAE/F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,OAAO;IACP,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,MAAM;IACN,SAAS;IACT,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,UAAU;IACV,cAAc;IACd,WAAW;IACX,eAAe;IACf,SAAS;IACT,aAAa;IACb,OAAO;IACP,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;CACpB,CAAC,CAAC;AAEH,4EAA4E;AAE5E,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,QAAgB;IACxE,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,2BAA2B,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,6BAA6B,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEpD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,IAAI;QACd,KAAK;QACL,KAAK;QACL,gBAAgB,EAAE,iBAAiB;KACpC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAE5E,SAAS,iBAAiB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAC/E,mBAAmB;IACnB,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC;YAC7C,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;YACtC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/C,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC;YAChD,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,OAAO;gBAChB,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,SAAS;YAAE,SAAS;QAEzD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,SAAS,kBAAkB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAChF,KAAK,MAAM,WAAW,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC;QAEjE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhE,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;YACxC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YACjD,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC;YAClD,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,aAAa,EAAE,QAAQ;aACxB;SACF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,OAAO;YAAE,SAAS;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,WAAW,GAAsC,SAAS,CAAC;QAC/D,IAAI,UAAU,GAAG,GAAG,CAAC;QAErB,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClF,WAAW,GAAG,SAAS,CAAC;YACxB,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,QAAQ,CAAC;YACvB,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxD,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,UAAU;YACV,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3C,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,WAAW;aACZ;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAqC,EACrC,QAAiB,EACjB,KAAgC;IAEhC,wEAAwE;IACxE,6DAA6D;IAC7D,uEAAuE;IACvE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1D,oBAAoB;IACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,4FAA4F;QAC5F,IAAI,QAAQ,IAAI,IAAI,MAAM,CAAC,MAAM,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,yBAAyB;IACzB,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,8CAA8C;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,+CAA+C;QAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC7C,CAAC;IAED,iDAAiD;IACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,oFAAoF;IACpF,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,sEAAsE;IACtE,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAE5E,SAAS,cAAc,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAC5E,MAAM,YAAY,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACpE,MAAM,EAAE,GAAG,MAAqD,CAAC;YACjE,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpH,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3F,IAAI,eAAe,IAAI,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1C,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBACpE,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,OAAO;oBACd,MAAM;oBACN,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;oBACzB,uBAAuB,EAAE,8BAA8B,CAAC,IAAI,CAAC;oBAC7D,gBAAgB,EAAE,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC;oBAC/D,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC;oBACzC,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;oBACrG,aAAa;oBACb,UAAU,EAAE,cAAc,CAAC,MAAM;oBACjC,kBAAkB,EAAE,cAAc,CAAC,QAAQ;oBAC3C,gBAAgB,EAAE,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,CAAC;oBACpE,eAAe,EAAE,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC;oBACpG,WAAW,EAAE,eAAe,CAAC,MAAM;oBACnC,mBAAmB,EAAE,eAAe,CAAC,QAAQ;iBAC9C;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,aAAa;QACb,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,6DAA6D,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1G,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1C,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE;aAC1E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,aAAa;QACb,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1C,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;aAC9G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAEhF,SAAS,kBAAkB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAChF,4DAA4D;IAC5D,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAEhC,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAE9B,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAE7C,8BAA8B;QAC9B,IAAI,SAA6B,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YACnD,SAAS,GAAI,IAAI,CAAC,CAAC,CAAsC,CAAC,eAAe,EAAE,CAAC;QAC9E,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,sBAAsB;QACtB,MAAM,eAAe,GAAG,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,eAAe,EAAE,EAAE,CAAC;QACtC,MAAM,gBAAgB,GACpB,eAAe,IAAI,uBAAuB,CAAC,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC;YACnF,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,eAAe,CAAC,YAAY,CAAC;YAC3E,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC;YACrC,CAAC,CAAC,EAAE,MAAM,EAAE,SAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5E,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC;YAClF,CAAC,CAAC,oBAAoB,CAAC;QAEzB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3C,OAAO,EAAE;gBACP,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS,IAAI,UAAU;gBAC7B,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;gBACpC,gBAAgB;gBAChB,UAAU,EAAE,cAAc,CAAC,MAAM;gBACjC,kBAAkB,EAAE,cAAc,CAAC,QAAQ;gBAC3C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;gBAChD,2BAA2B,EAAE,aAAa,CAAC,2BAA2B;gBACtE,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;gBAChE,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,mBAAmB,EAAE,aAAa,CAAC,mBAAmB;gBACtD,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;aAC7D;SACF,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,KAAK,MAAM,UAAU,IAAI,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACtD,MAAM,EAAE,GAAG,IAA8C,CAAC;gBAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAE3E,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACtD,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;wBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;wBAC1C,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wBACjC,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE;4BACP,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;4BACzC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,SAAS;yBAChC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAuBD,MAAM,oBAAoB,GAAyB,EAAE,CAAC;AACtD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAClE,MAAM,aAAa,GAAG,qFAAqF,CAAC;AAC5G,MAAM,cAAc,GAClB,qIAAqI,CAAC;AAExI,SAAS,0BAA0B,CACjC,SAAgC,EAChC,SAA6C,EAC7C,MAAc,EACd,SAA6B;IAE7B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO;QACL,gBAAgB;QAChB,2BAA2B,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;QAC7F,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC;QACxC,wBAAwB,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,iBAAiB,EAAE,UAAU,CAAC,GAAG;QACjC,mBAAmB,EAAE,UAAU,CAAC,MAAM;QACtC,sBAAsB,EAAE,UAAU,CAAC,QAAQ;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,SAA6C,EAC7C,QAAgB;IAEhB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,UAAU,CAAC,aAAa,IAAI,IAAI,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAChF,OAAO;gBACL,EAAE,EAAE,GAA+E;gBACnF,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC5B,eAAe,EAAE,QAAQ;aAC1B,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,CAAC,UAAU;YAAE,SAAS;QAC7C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAoC,CAAC,CAAC;QAChF,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoC;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,oBAAoB,CAAC,eAAe,CAAC;gBAAE,SAAS;YACpD,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACtD,MAAM,EAAE,GAAG,IAA8C,CAAC;gBAC1D,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;gBAAE,SAAS;YAChE,MAAM,OAAO,GAAG,IAA8C,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,QAAQ,KAAK,UAAU,CAAC,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAC,kBAAkB;gBAAE,SAAS;YAClG,OAAO;gBACL,EAAE,EAAE,IAAgF;gBACpF,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAChC,eAAe;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAiC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAsB,EAAE,eAAuB;IAC9E,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAgC;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChH,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,YAAY;YAAE,SAAS;QACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC1D,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,IAAI,SAAS,CAAC,aAAa,EAAE;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAyC;IACpE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,kCAAkC,CACzC,SAAgC,EAChC,MAAc,EACd,SAA6B;IAE7B,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtD,MAAM,WAAW,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAChE,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAgC;IAClE,OAAO,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAgC;IACzD,OAAO,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,CACL,4FAA4F,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3G,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAAgC,EAChC,SAA6C;IAE7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;YAAE,SAAS;QACpD,IAAI,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAAE,aAAa,GAAG,IAAI,CAAC;QACzF,KAAK,MAAM,KAAK,IAAI,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClB,aAAa,GAAG,IAAI,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACxC,IAAI,2DAA2D,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,aAAa,GAAG,IAAI,CAAC;IAExG,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;YAAE,SAAS;QAC3E,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAiD,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,SAAS;QACvD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,OAAO;QACL,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/D,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,IAA6B;IAClE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GACT,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc;QAC1C,CAAC,CAAC,CAAC,IAAyC,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAS;QACxG,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa;YAAE,SAAS;QACrE,MAAM,CAAC,IAAI,CAAE,KAA0C,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAuC;IAC7E,IAAI,MAAM,GAAwC,IAAI,CAAC;IACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,2EAA2E;AAC3E,uBAAuB;AACvB,SAAS,iBAAiB,CAAC,IAAuC,EAAE,SAAiB;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAsC,CAAC,eAAe,EAAE,CAAC;IAC/E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,qEAAqE;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAqC,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjE,8DAA8D;IAC9D,wEAAwE;IACxE,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvD,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;QAC1C,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC;QAC5C,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,MAAM;YACZ,UAAU;YACV,YAAY;SACb;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,oEAAoE;AACpE,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,8BAA8B;AAC9B,SAAS,yBAAyB,CAAC,KAAoC,EAAE,SAAiB;IACxF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,UAAU,CAAC,YAAY,IAAI,IAAI,KAAK,UAAU,CAAC,eAAe;YAAE,SAAS;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,2EAA2E;QAC3E,yDAAyD;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,UAAkB;IAC9D,0EAA0E;IAC1E,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,6BAA6B;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OACE,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAC5B,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,KAAK,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,EAC1C,CAAC;QACD,SAAS,EAAE,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,wCAAwC;AACxC,2DAA2D;AAC3D,6DAA6D;AAC7D,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,8DAA8D;AAC9D,SAAS,wBAAwB,CAAC,EAAyB;IAIzD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,8EAA8E;IAC9E,wEAAwE;IACxE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,oBAAoB,EAAE,CAAC;YACvD,uEAAuE;YACvE,6DAA6D;YAC7D,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,KAAK,MAAM,EAAE,IAAK,IAAgD,CAAC,WAAW,EAAE,EAAE,CAAC;YACjF,IAAI,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBAC3B,uDAAuD;gBACvD,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxB,oEAAoE;gBACpE,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC/C,+DAA+D;gBAC/D,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAChF,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QAC1D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC/E,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAE,GAAwC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,SAAiB;IAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;YAAE,SAAS;QACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACpC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;IACzF,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,4EAA4E;AAE5E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAElG,SAAS,qBAAqB,CAAC,EAAc;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IACnF,gGAAgG;IAChG,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,iGAAiG;IACjG,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;gBAAE,SAAS;YAChE,MAAM,EAAE,GAAG,IAA8C,CAAC;YAC1D,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACpD,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/B,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBACxC,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,OAAO;oBAChB,IAAI;oBACJ,UAAU,EAAE,IAAI;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;gBAAE,SAAS;YAChE,MAAM,EAAE,GAAG,IAA8C,CAAC;YAC1D,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAAE,SAAS;YAEhD,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,gBAAgB,GACpB,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjD,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAElF,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;gBAClC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACpD,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/B,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBACxC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBAC1C,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,SAAS;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,IAAI,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzD,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;oBAAE,SAAS;gBAChE,MAAM,EAAE,GAAG,IAA8C,CAAC;gBAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;oBAAE,SAAS;gBAC5B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAAE,SAAS;gBAEhD,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACpD,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/B,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBACxC,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI;qBAC3B;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,2EAA2E;AAE3E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACvD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE7E,SAAS,6BAA6B,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAC3F,wDAAwD;IACxD,kDAAkD;IAClD,wEAAwE;IACxE,kEAAkE;IAClE,EAAE;IACF,8EAA8E;IAC9E,6DAA6D;IAC7D,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc;YAAE,SAAS;QAEpE,MAAM,IAAI,GAAG,IAAyC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAElD,+CAA+C;QAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,SAAS,KAAK,UAAU,CAAC,aAAa,IAAI,SAAS,KAAK,UAAU,CAAC,kBAAkB;YAAE,SAAS;QAEpG,MAAM,EAAE,GAAG,OAAmF,CAAC;QAC/F,MAAM,OAAO,GAAI,EAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvE,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;YACpC,QAAQ,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG;YAClC,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9C,OAAO,EAAE;gBACP,IAAI,EAAE,sBAAsB;gBAC5B,IAAI;gBACJ,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC9C,WAAW,EAAE,IAAI;gBACjB,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,MAAM,aAAa,GAAG,iEAAiE,CAAC;AACxF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9F,SAAS,aAAa,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAC3E,8EAA8E;IAC9E,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAErC,+DAA+D;QAC/D,MAAM,WAAW,GACf,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5C,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAAE,SAAS;QAElD,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1C,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,SAAS,oBAAoB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IAClF,wCAAwC;IACxC,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,EAAE,KAAK,UAAU,CAAC,WAAW,IAAI,EAAE,KAAK,UAAU,CAAC,eAAe,IAAI,EAAE,KAAK,UAAU,CAAC,gBAAgB;YAC1G,SAAS;QAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,4BAA4B;QAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,KAAK,GAA6C,OAAO,CAAC;QAC9D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM;YAAE,KAAK,GAAG,QAAQ,CAAC;aACpD,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,QAAQ,CAAC;aAC/D,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,QAAQ,CAAC;;YAC/D,SAAS,CAAC,2CAA2C;QAE1D,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7C,UAAU,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC3C,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE;SAChF,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,KAAK,IAAI;QAClB,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAC7D,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC;KAC7D,EAAE,CAAC;QACF,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,sBAAsB;YACnD,CAAC,CAAE,KAAmD,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;YAC7E,CAAC,CAAE,KAAkD,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,KAAK,GAA6C,OAAO,CAAC;QAC9D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM;YAAE,KAAK,GAAG,QAAQ,CAAC;aACpD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,QAAQ,CAAC;;YACtD,SAAS;QAEd,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3D,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1C,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE;SAClF,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,MAAM,iBAAiB,GACrB,uHAAuH,CAAC;IAC1H,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,IAAI,KAAK,GAA6C,OAAO,CAAC;QAC9D,IAAI,GAAuB,CAAC;QAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YAChE,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5D,GAAG,GAAG,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACjE,CAAC;aAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,GAAG,QAAQ,CAAC;YACjB,GAAG,GAAG,UAAU,CAAC;QACnB,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,GAAG,OAAO,CAAC;YAChB,GAAG,GAAG,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,eAAe;YAAE,SAAS;QAE/B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1D,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E,SAAS,cAAc,CAAC,IAA6B;IACnD,yDAAyD;IACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YACxC,oDAAoD;YACpD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,OAAO,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,IACE,EAAE,KAAK,UAAU,CAAC,mBAAmB;oBACrC,EAAE,KAAK,UAAU,CAAC,kBAAkB;oBACpC,EAAE,KAAK,UAAU,CAAC,aAAa;oBAC/B,EAAE,KAAK,UAAU,CAAC,iBAAiB,EACnC,CAAC;oBACD,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YACvC,+CAA+C;YAC/C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,OAAO,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC5B,IACE,EAAE,KAAK,UAAU,CAAC,mBAAmB;wBACrC,EAAE,KAAK,UAAU,CAAC,kBAAkB;wBACpC,EAAE,KAAK,UAAU,CAAC,aAAa;wBAC/B,EAAE,KAAK,UAAU,CAAC,iBAAiB,EACnC,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IACzF,sBAAsB;IACtB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,WAAW,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9D,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/B,QAAQ,EAAE,YAAY,IAAI,EAAE;YAC5B,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC;YACzC,OAAO,EAAE;gBACP,IAAI,EAAE,sBAAsB;gBAC5B,IAAI;gBACJ,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC9C,WAAW;gBACX,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;YACnC,QAAQ,EAAE,UAAU,IAAI,EAAE;YAC1B,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC7C,OAAO,EAAE;gBACP,IAAI,EAAE,sBAAsB;gBAC5B,IAAI;gBACJ,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;gBAClD,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,QAAQ,KAAK,UAAU,CAAC,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAC,kBAAkB;YAAE,SAAS;QAElG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAgF,CAAC;QAC5F,MAAM,OAAO,GAAI,EAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvE,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;YACpC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE;YAC7C,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9C,OAAO,EAAE;gBACP,IAAI,EAAE,sBAAsB;gBAC5B,IAAI;gBACJ,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC9C,WAAW;gBACX,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,mGAAmG;IACnG,6EAA6E;IAC7E,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,4EAA4E;AAE5E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/F,SAAS,uBAAuB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IACrF,4EAA4E;IAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB;YAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB;YAAE,SAAS;QACvE,MAAM,EAAE,GAAG,MAAqD,CAAC;QACjE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAErD,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAE9B,0DAA0D;QAC1D,IAAI,SAA6B,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YACnD,SAAS,GAAI,IAAI,CAAC,CAAC,CAAsC,CAAC,eAAe,EAAE,CAAC;QAC9E,CAAC;QAED,iFAAiF;QACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,UAAU,CAAC,aAAa,IAAI,OAAO,KAAK,UAAU,CAAC,kBAAkB;gBAAE,SAAS;YAEhG,MAAM,EAAE,GAAG,GAA+E,CAAC;YAC3F,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE7B,+DAA+D;YAC/D,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;gBAAE,SAAS;YAE1D,MAAM,aAAa,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YACxE,MAAM,OAAO,GAAI,EAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAEzE,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,CAAC;gBACvD,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/B,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE;gBACtD,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC;gBACzC,OAAO,EAAE;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;oBAC9C,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,KAAK;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,UAAU;IACV,QAAQ;IACR,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAoB;IACpF,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE7B,IAAI,OAAO,GAAuC,UAAU,CAAC;QAC7D,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;aAAM,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;YAC5C,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;YAChC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,SAAS,IAAI,CAAC,QAAgB,EAAE,IAA6B;IAC3D,OAAO,WAAW,CAChB,QAAQ,EACR,IAAI,CAAC,kBAAkB,EAAE,EACzB,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EACvF,IAAI,CAAC,gBAAgB,EAAE,EACvB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,SAAS;IACT,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACX,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,IAA6B,EAAE,QAAgB;IACrE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,UAAU,CAAC,mBAAmB,IAAI,IAAI,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACrF,MAAM,IAAI,GAAI,MAAc,CAAC,OAAO,EAAE,EAAE,IAAI,WAAW,CAAC;YACxD,OAAO,GAAG,QAAQ,OAAO,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,CAAC,aAAa,IAAI,IAAI,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAChF,iFAAiF;YACjF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,WAAW,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAI,WAAiD,CAAC,aAAa,EAAE,CAAC;gBAClF,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;oBAC7D,MAAM,UAAU,GAAI,MAAsD,CAAC,OAAO,EAAE,CAAC;oBACrF,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YACD,mDAAmD;YACnD,MAAM,IAAI,GAAI,MAAc,CAAC,OAAO,EAAE,EAAE,IAAI,WAAW,CAAC;YACxD,OAAO,GAAG,QAAQ,OAAO,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA4C;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;QAChD,OAAQ,IAAyC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA6B;IACrD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACxD,OAAQ,MAAiD,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YAClD,OAAQ,MAA2C,CAAC,OAAO,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACtD,OAAQ,MAA+C,CAAC,OAAO,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,WAAW;AACX,+EAA+E;AAC/E,iFAAiF;AACjF,sEAAsE;AACtE,uEAAuE;AACvE,SAAS,iBAAiB,CACxB,IAAuC,EACvC,QAAgB;IAEhB,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAuC,EACvC,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtC,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAkD,CAAC;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAI,QAAkD,CAAC,cAAc,EAAE,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,IAA6B;IAIzD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,OAA4C,CAAC;QAC9D,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,gBAAgB;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC3G,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;QAC7D,OAAO,0BAA0B,CAAC,OAAqD,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;QAC7G,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA6B;IAC5D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAChD,OAAO,GAAI,OAAsD,CAAC,aAAa,EAAE,CAAC;QACpF,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO,GAAI,OAA2C,CAAC,aAAa,EAAE,CAAC;QACzE,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACvD,OAAO,GAAI,OAA4C,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACjD,OAAO,GAAI,OAAgD,CAAC,aAAa,EAAE,CAAC;QAC9E,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACnD,OAAO,GAAI,OAAkD,CAAC,aAAa,EAAE,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,IAA6B;IAIhE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtG,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAE1G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7E,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA6B;IAC1D,MAAM,aAAa,GAAG,IAAsE,CAAC;IAC7F,OAAO,aAAa,CAAC,gBAAgB,EAAE,EAAE,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,sCAAsC;AACtC,SAAS,0BAA0B,CAAC,GAA+C;IAIjF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,UAAU,CAAC,gBAAgB;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxF,IAAI,IAAI,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAI,IAA8C,CAAC,WAAW,EAAE,CAAC;YAC3E,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,oBAAoB;gBAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACtG,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC5F,MAAM,CAAC,IAAI,CAAE,IAAsC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,CAAC,2BAA2B,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAE,IAAuD,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,uBAAuB;YACvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,IAAuC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;QACjD,OAAQ,KAA0C,CAAC,eAAe,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,6BAA6B,EAAE,CAAC;QACjE,OAAQ,KAA0D,CAAC,eAAe,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,kBAAkB,CAAC,KAA8C,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,oBAAoB;AACpB,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,iCAAiC;AACjC,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,SAAS,WAAW,CAAC,MAA0B;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,qEAAqE;AACrE,uEAAuE;AACvE,sEAAsE;AACtE,oCAAoC;AACpC,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,mEAAmE;AACnE,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,2DAA2D;AAC3D,qEAAqE;AACrE,yBAAyB;AACzB,EAAE;AACF,WAAW;AACX,sEAAsE;AACtE,4DAA4D;AAC5D,yEAAyE;AACzE,qEAAqE;AACrE,+BAA+B;AAC/B,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,yBAAyB,GAAG,mDAAmD,CAAC;AAEtF,SAAS,8BAA8B,CAAC,IAAuC;IAC7E,MAAM,SAAS,GACb,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAC3D,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAC1D,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,8EAA8E;IAC9E,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9E,MAAM,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,IAAI,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAAE,SAAS;QAC7C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,KAAK,MAAM,UAAU,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7D,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,sEAAsE;AACtE,qEAAqE;AACrE,mEAAmE;AACnE,sEAAsE;AACtE,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,oCAAoC;AACpC,SAAS,sBAAsB,CAAC,IAAyC;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuC;IAIjE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,0EAA0E;AAC1E,6EAA6E;AAC7E,qFAAqF;AACrF,+EAA+E;AAC/E,kCAAkC;AAClC,SAAS,kBAAkB,CAAC,IAA2C;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,WAAW,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3E,0EAA0E;QAC5E,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CACL,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAAC,IAAuC,EAAE,mBAAmB,GAAG,KAAK;IAC9F,6EAA6E;IAC7E,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,2DAA2D;IAC3D,yEAAyE;IACzE,qDAAqD;IACrD,EAAE;IACF,mEAAmE;IACnE,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,gDAAgD;IAChD,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,kBAAkB,GAAG,mBAAmB,CAAC;IAC7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAC/G,MAAM,GAAG,MAAM,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,MAAqD,CAAC;YACjE,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBACnF,8DAA8D;gBAC9D,+DAA+D;gBAC/D,IAAI,iBAAiB,CAAC,UAA+C,CAAC,EAAE,CAAC;oBACvE,kBAAkB,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBACD,MAAM,GAAG,UAAU,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBACnF,qDAAqD;gBACrD,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,GAAG,UAAU,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,+DAA+D;QAC/D,qEAAqE;QACrE,qEAAqE;QACrE,uDAAuD;QACvD,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAE1C,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,MAAgD,CAAC;YAC9D,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IACE,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,eAAe;YAC/C,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa;YAC7C,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,EAChD,CAAC;YACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,IACE,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,YAAY;YAC5C,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;YACvD,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH;;;;;;;;;;;GAWG;AACH;;;;;;;;;;GAUG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9D,SAAS,eAAe,CACtB,IAAuC,EACvC,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,0CAA0C;IAC1C,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,wEAAwE;IACxE,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,GAAiD,CAAC;QAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC7B,0EAA0E;QAC1E,wEAAwE;QACxE,kEAAkE;QAClE,+DAA+D;QAC/D,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,2BAA2B;YAAE,OAAO,SAAS,CAAC;QACpF,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC3E,MAAM,WAAW,GAAI,QAAkD,CAAC,cAAc,EAAE,CAAC;QACzF,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,yEAAyE;IACzE,mEAAmE;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CACxB,IAAuC,EACvC,QAAgB,EAChB,eAAwB,EACxB,oBAA6B,EAC7B,mBAA4B;IAE5B,IAAI,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAkD,CAAC;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC/F,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC7E,MAAM,WAAW,GAAI,UAAoD,CAAC,cAAc,EAAE,CAAC;QAC3F,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YACvC,OAAQ,WAAgD,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3F,CAAC;QACD,IAAI,KAAK,KAAK,UAAU,CAAC,6BAA6B,EAAE,CAAC;YACvD,OAAQ,WAAgE,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3G,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,IAAuC,EAAE,QAAgB;IACrF,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAkD,CAAC;IAC/D,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnG,qEAAqE;IACrE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACnF,MAAM,IAAI,GAAI,eAAyD,CAAC,cAAc,EAAE,CAAC;QACzF,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,UAAU,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,CAAC,6BAA6B,EAAE,CAAC;gBACrF,MAAM,CAAC,GAAI,IAAyC,CAAC,eAAe,EAAE,CAAC;gBACvE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,aAAa;oBAAE,OAAO,SAAS,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,WAAW,GAAI,WAAqD,CAAC,cAAc,EAAE,CAAC;IAC5F,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IACnF,MAAM,UAAU,GAAG,WAAyD,CAAC;IAC7E,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1G,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACrD,MAAM,EAAE,GAAG,IAA6C,CAAC;YACzD,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAuC,EACvC,mBAA4B;IAE5B,IAAI,mBAAmB;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,8BAA8B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,2BAA2B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAA6B;IACzD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,MAAyC,CAAC;YAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA6B;IAC3D,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,MAAqD,CAAC;YACjE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAuC;IACnE,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IACE,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,EACrE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC/G,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAuC;IAC7E,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,OAAO,IAAI,MAAM,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAuC;IAC1E,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,UAAU,CAAC,eAAe,IAAI,IAAI,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACvF,MAAM,GAAG,MAAM,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACrD,MAAM,UAAU,GAAI,MAA4C,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3F,OAAO,iFAAiF,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAuC;IACnE,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,OAAO,mFAAmF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,4BAA4B,CACnC,IAA6B;IAE7B,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;YAAE,OAAO,MAAgD,CAAC;QACjH,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAA6B;IACjD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,KAAK;YAAE,OAAO,MAAkC,CAAC;QACrF,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B;IACxD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IACE,IAAI,KAAK,UAAU,CAAC,mBAAmB;YACvC,IAAI,KAAK,UAAU,CAAC,iBAAiB;YACrC,IAAI,KAAK,UAAU,CAAC,aAAa;YACjC,IAAI,KAAK,UAAU,CAAC,kBAAkB,EACtC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAuC,EACvC,QAAgB,EAChB,OAAe,EACf,mBAA4B,EAC5B,aAAkC;IAElC,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,mBAAmB;QAAE,OAAO,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,GAAG,GAAG,MAAoD,CAAC;IACjE,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjE,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAuC,EAAE,QAAgB;IAC3F,MAAM,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,2BAA2B,CAAC,MAAoD,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAuC,EACvC,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,GAA+C;IAClF,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,eAAe,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACjE,MAAM,IAAI,GAAI,eAAyD,CAAC,cAAc,EAAE,CAAC;QACzF,IACE,IAAI;YACJ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,6BAA6B,CAAC,EAC5G,CAAC;YACD,MAAM,KAAK,GAAI,IAAyC,CAAC,eAAe,EAAE,CAAC;YAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa;gBAAE,OAAO,IAAI,CAAC;QAClE,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC/D,IAAI,mBAAmB,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACrE,MAAM,IAAI,GAAI,mBAA6D,CAAC,cAAc,EAAE,CAAC;QAC7F,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;IAC9D,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,WAAW,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,WAAW,GAAI,WAAqD,CAAC,cAAc,EAAE,CAAC;IAC5F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAC;IAC/F,MAAM,UAAU,GAAG,WAAyD,CAAC;IAC7E,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IACtG,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAI,IAA8C,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1G,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,CAAC;IACpH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAyC;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAEzB,IAAI,CAAC,KAAK,UAAU,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,CAAC,6BAA6B;QAAE,OAAO,QAAQ,CAAC;IACtG,IAAI,CAAC,KAAK,UAAU,CAAC,cAAc,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IACtH,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,IAAI,CAAC,KAAK,UAAU,CAAC,gBAAgB;QAAE,OAAO,MAAM,CAAC;IAErF,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI,CAAC,KAAK,UAAU,CAAC,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAE1D,4EAA4E;IAC5E,IAAI,CAAC,KAAK,UAAU,CAAC,uBAAuB,IAAI,CAAC,KAAK,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACxF,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7D,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAyC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,IACE,CAAC,KAAK,UAAU,CAAC,UAAU;QAC3B,CAAC,KAAK,UAAU,CAAC,wBAAwB;QACzC,CAAC,KAAK,UAAU,CAAC,uBAAuB;QACxC,CAAC,KAAK,UAAU,CAAC,gBAAgB;QACjC,CAAC,KAAK,UAAU,CAAC,qBAAqB;QACtC,CAAC,KAAK,UAAU,CAAC,aAAa,EAC9B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA6B;IAC3D,6DAA6D;IAC7D,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAkD,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,2BAA2B;gBAAE,OAAO,IAAI,CAAC;YAC3E,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YAChE,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,kBAAkB;gBAAE,OAAO,IAAI,CAAC;YAClE,MAAM,IAAI,GAAI,IAA8C,CAAC,cAAc,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,IAAiD,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA2C;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,UAAU,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACxF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACxC,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAyC;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,IACE,CAAC,KAAK,UAAU,CAAC,YAAY;QAC7B,CAAC,KAAK,UAAU,CAAC,uBAAuB;QACxC,CAAC,KAAK,UAAU,CAAC,mBAAmB,EACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,IAAI,CAAC,KAAK,UAAU,CAAC,eAAe,IAAI,CAAC,KAAK,UAAU,CAAC,uBAAuB,EAAE,CAAC;QACjF,MAAM,KAAK,GACT,IACD,CAAC,aAAa,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,wBAAwB,CAAC,EAAc;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI;gBAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU;YAAE,SAAS;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YAChD,MAAM,SAAS,GAAI,IAAyC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;YACvF,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YACjD,MAAM,UAAU,GAAI,IAA0C,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;YACzF,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GACX,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/E,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAwC;IACjE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAqD,CAAC;YACjE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChG,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"ts-concepts.js","sourceRoot":"","sources":["../../src/mappers/ts-concepts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernlang/review",
3
- "version": "3.4.3-canary.9.1.62aecb74",
3
+ "version": "3.4.3",
4
4
  "description": "Kern Review — scan TS, infer .kern IR, roundtrip diff, report",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "license": "AGPL-3.0",
27
27
  "dependencies": {
28
28
  "ts-morph": "^28.0.0",
29
- "@kernlang/core": "3.4.3-canary.9.1.62aecb74"
29
+ "@kernlang/core": "3.4.3"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsc -b",