@mmnto/totem 1.98.1 → 1.100.0

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.
@@ -41,6 +41,8 @@ import semver from 'semver';
41
41
  import { parse as parseYaml } from 'yaml';
42
42
  import { z } from 'zod';
43
43
  import { PARITY_SENSES } from './parity-manifest.js';
44
+ import { escapeRegex } from './regex-utils.js';
45
+ import { sanitize } from './sanitize.js';
44
46
  import { resolveStrategyRoot, } from './strategy-resolver.js';
45
47
  import { safeExec } from './sys/exec.js';
46
48
  import { resolveGitRoot } from './sys/git.js';
@@ -800,8 +802,10 @@ export function hashManagedBlock(normalized) {
800
802
  }
801
803
  /** Format a fork marker's attested/owner attributes as a message suffix. */
802
804
  function formatForkMeta(fork) {
803
- return ((fork.attested !== undefined ? `, attested ${fork.attested}` : '') +
804
- (fork.owner !== undefined ? `, owner ${fork.owner}` : ''));
805
+ // attested/owner are repository content: strip ANSI/control sequences so a
806
+ // hostile marker cannot spoof terminal output (CR round 2, mmnto-ai/totem#2400).
807
+ return ((fork.attested !== undefined ? `, attested ${sanitize(fork.attested)}` : '') +
808
+ (fork.owner !== undefined ? `, owner ${sanitize(fork.owner)}` : ''));
805
809
  }
806
810
  /**
807
811
  * Detect drift for ONE mechanical managed-block contract (the #2073 mechanical
@@ -1244,6 +1248,118 @@ export function detectCapabilityProbeContract(ctx) {
1244
1248
  }
1245
1249
  return passAtProbedLevel(ctx, `governance floor not suppressed in ${path.basename(ctx.consumerPath)}`);
1246
1250
  }
1251
+ /**
1252
+ * Parse a `<!-- totem:<token> key="value" … -->` declaration marker from
1253
+ * anywhere in `content`. Modeled on {@link parseForkMarker}: dotAll + whitespace
1254
+ * tolerant, `.*?` non-greedy + bounded by the first `-->` (linear, no nested
1255
+ * quantifiers → ReDoS-safe). `token` is the full bare marker name (e.g.
1256
+ * `totem:agent-bus`) and is regex-escaped via the shared `escapeRegex`, so a
1257
+ * `:` or any metachar is matched as a literal, never as a live pattern (the
1258
+ * token is code-owned by the CLI registry, but escaping keeps it robust
1259
+ * regardless). The FIRST marker for `token` wins — duplicates are ignored, the
1260
+ * same single-match posture as {@link parseForkMarker}. The token must be
1261
+ * followed by whitespace or `-->` (a lookahead, not `\b`), so a token never
1262
+ * prefix-matches a longer sibling (`totem:agent-bus` vs `totem:agent-bus-v2`)
1263
+ * and non-word-char-ending tokens need no special casing. Returns undefined
1264
+ * when no marker for `token` is present.
1265
+ */
1266
+ export function parseDeclarationMarker(content, token) {
1267
+ const markerRe = new RegExp(`<!--\\s*${escapeRegex(token)}(?=\\s|-->)(.*?)-->`, 'is');
1268
+ const markerMatch = markerRe.exec(content);
1269
+ if (markerMatch === null)
1270
+ return undefined;
1271
+ const attrsText = markerMatch[1] ?? '';
1272
+ const marker = {};
1273
+ // matchAll (not a single match()) so a safe prefix pair cannot shadow later
1274
+ // pairs — the security lesson parseForkMarker documents; attributes are
1275
+ // unordered + each independently optional.
1276
+ for (const pair of attrsText.matchAll(/(\w+)\s*=\s*"([^"]*)"/g)) {
1277
+ const value = pair[2] ?? '';
1278
+ if (pair[1] === 'role')
1279
+ marker.role = value;
1280
+ else if (pair[1] === 'seat')
1281
+ marker.seat = value;
1282
+ else if (pair[1] === 'declared')
1283
+ marker.declared = value;
1284
+ }
1285
+ return marker;
1286
+ }
1287
+ /**
1288
+ * Detect ONE `manifestation: declared` contract (Prop 305 §3 agent-bus class).
1289
+ * A declaration SURFACE — the repo AUTHORS the binding itself in a file
1290
+ * (AGENTS.md) via a `<!-- totem:<token> role="…" seat="…" -->` HTML-comment
1291
+ * marker rather than installing a managed block. This sensor claims DECLARATION
1292
+ * PRESENCE ONLY; whether the declared bus actually EXECUTES its duties is
1293
+ * adherence-class (Tenet 19 / Prop 305 §3.5) and is NEVER inferred from this row.
1294
+ *
1295
+ * Deterministic, local-read-only, NEVER networks, NEVER throws, NEVER emits
1296
+ * `fail` (CLI edge owns promotion), and NEVER `warn`/`fail` on absence — an
1297
+ * undeclared repo is honest-absent (`skip`), the row's own "honest-absent until
1298
+ * a repo declares" semantics, not drift.
1299
+ *
1300
+ * - `pass` — marker present with BOTH role + seat parsed (a well-formed binding).
1301
+ * - `skip` — file absent, marker absent, or the marker is missing role/seat
1302
+ * (the why-not names the missing attribute — fail loud, Tenet 4).
1303
+ */
1304
+ export function detectDeclaredContract(ctx) {
1305
+ const readFile = ctx.readFile ?? readFileText;
1306
+ const fileLabel = path.basename(ctx.filePath);
1307
+ // The human declaration name is the marker token minus the `totem:` namespace
1308
+ // (e.g. `totem:agent-bus` → `agent-bus`), so the message reads as the contract.
1309
+ const declarationName = ctx.markerToken.startsWith('totem:')
1310
+ ? ctx.markerToken.slice('totem:'.length)
1311
+ : ctx.markerToken;
1312
+ // File absent / unreadable → honest-absent (NEVER warn on absence).
1313
+ let content;
1314
+ try {
1315
+ content = readFile(ctx.filePath);
1316
+ // totem-context: the default readFileText already degrades a missing / unreadable file to undefined; wrapping the call treats a throwing INJECTED reader as the same honest-absent signal, so a degraded read can NEVER crash the doctor pipeline (the never-throws invariant, mirroring readJsonResult).
1317
+ }
1318
+ catch {
1319
+ content = undefined;
1320
+ }
1321
+ if (content === undefined) {
1322
+ return {
1323
+ status: 'skip',
1324
+ message: `${declarationName}: no ${fileLabel} present — honest-absent until a repo declares`,
1325
+ };
1326
+ }
1327
+ const marker = parseDeclarationMarker(content, ctx.markerToken);
1328
+ if (marker === undefined) {
1329
+ return {
1330
+ status: 'skip',
1331
+ message: `${declarationName}: no ${ctx.markerToken} declaration marker in ${fileLabel} — honest-absent until a repo declares`,
1332
+ };
1333
+ }
1334
+ // A marker missing role OR seat is NOT a valid declaration: name the missing
1335
+ // attribute (fail loud, Tenet 4) but stay honest-absent (`skip`) — a malformed
1336
+ // marker is still "not yet declared", never drift. Blank counts as missing:
1337
+ // role="" / seat=" " would mint a degenerate binding with no real referent
1338
+ // (greptile P2 on mmnto-ai/totem#2400).
1339
+ const { role, seat } = marker;
1340
+ const missing = [];
1341
+ if (role === undefined || role.trim().length === 0)
1342
+ missing.push('role');
1343
+ if (seat === undefined || seat.trim().length === 0)
1344
+ missing.push('seat');
1345
+ if (role === undefined ||
1346
+ role.trim().length === 0 ||
1347
+ seat === undefined ||
1348
+ seat.trim().length === 0) {
1349
+ return {
1350
+ status: 'skip',
1351
+ message: `${declarationName}: ${ctx.markerToken} marker in ${fileLabel} is missing ${missing.join(' + ')} — not a valid declaration (honest-absent until a repo declares)`,
1352
+ };
1353
+ }
1354
+ // Presence claim ONLY — the declaration is present + well-formed. This is NOT a
1355
+ // claim that the bus executes its duties (adherence-class, Tenet 19 / §3.5).
1356
+ // role/seat are repository content: strip ANSI/control sequences so a
1357
+ // hostile marker cannot spoof terminal output (CR round 2, mmnto-ai/totem#2400).
1358
+ return {
1359
+ status: 'pass',
1360
+ message: `${declarationName} declared — role "${sanitize(role)}" → seat "${sanitize(seat)}" in ${fileLabel}`,
1361
+ };
1362
+ }
1247
1363
  /** Parse the manifest's `expected-value-or-derivation` token into a typed scalar. */
1248
1364
  function parseExpectedScalar(rawTrimmed) {
1249
1365
  if (rawTrimmed === 'true')
@@ -1 +1 @@
1
- {"version":3,"file":"parity-detect.js","sourceRoot":"","sources":["../src/parity-detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parity-detect.js","sourceRoot":"","sources":["../src/parity-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAyC,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,2DAA2D;AAE3D;;;GAGG;AACH,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,wGAAwG;AACxG,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD,sFAAsF;AACtF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,CAAU,CAAC;AAiDxF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,UAAqC,EAAE;IAEvC,6BAA6B;IAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAEhD,8EAA8E;IAC9E,2EAA2E;IAC3E,iCAAiC;IACjC,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1D,uDAAuD;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAE1C,iCAAiC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,OAAkC;IACvE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/B,kOAAkO;QACpO,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,WAAW,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YACtD,GAAG;YACH,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAC;QACH,qOAAqO;IACvO,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,mBAAmB,CAAC,SAA6B;IACxD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC3E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,kFAAkF;AAClF,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,uEAAuE;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,gGAAgG;AAChG,SAAS,sBAAsB,CAAC,GAAW,EAAE,QAAmC;IAC9E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,IAAI,GAAG,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAClC,4LAA4L;IAC9L,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,2DAA2D;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,SAAkB;IAElB,sEAAsE;IACtE,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,8BAA8B,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACxF,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;IACpD,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,+EAA+E;IAC/E,6DAA6D;IAC7D,OAAO,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CACrC,eAA8B,EAC9B,SAAiB;IAEjB,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,eAA0C;IACvE,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,OAAe,EACf,eAA+B;IAE/B,yBAAyB;IACzB,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,gCAAgC;IAChC,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC1E,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAChF,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,0EAA0E;IAC1E,2EAA2E;IAC3E,+EAA+E;IAC/E,0EAA0E;IAC1E,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,sBAA0C,CAAC;IAC/C,IAAI,aAAa,KAAK,wBAAwB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC;YAC3C,MAAM,YAAY,GAAG,2BAA2B,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,2EAA2E;IAC3E,gFAAgF;IAChF,8EAA8E;IAC9E,qFAAqF;IACrF,IAAI,MAAc,CAAC;IACnB,IAAI,aAAa,KAAK,wBAAwB,EAAE,CAAC;QAC/C,MAAM;YACJ,sBAAsB,KAAK,SAAS;gBAClC,CAAC,CAAC,oBAAoB,WAAW,8BAA8B,wBAAwB,YAAY,sBAAsB,EAAE;gBAC3H,CAAC,CAAC,oBAAoB,WAAW,6CAA6C,wBAAwB,qBAAqB,wBAAwB,wBAAwB,CAAC;IAClL,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,oBAAoB,WAAW,oEAAoE,qBAAqB,kCAAkC,CAAC;IACtK,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,IAAY,EAAE,WAAmB;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACpC,yMAAyM;IAC3M,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,iCAAiC;QACjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,EAAE,IAAI,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAwCD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAwB,EACxB,GAA+B;IAE/B,sCAAsC;IACtC,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,uEAAuE;YACvE,0EAA0E;YAC1E,2EAA2E;YAC3E,iBAAiB;YACjB,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,2FAA2F,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACrI,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gCAAgC,GAAG,CAAC,MAAM,oBAAoB;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,uEAAuE;QACvE,6EAA6E;QAC7E,wEAAwE;QACxE,IAAI,QAAQ,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;YAC/C,OAAO,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0DAA0D,QAAQ,CAAC,EAAE,GAAG;SAClF,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,2EAA2E;QAC3E,6EAA6E;QAC7E,kEAAkE;QAClE,oCAAoC;QACpC,uEAAuE;QACvE,sEAAsE;QACtE,4EAA4E;QAC5E,wCAAwC;QACxC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,qHAAqH;YAC5I,WAAW,EAAE,WAAW,WAAW,yHAAyH;SAC7J,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,oBAAoB,aAAa,+BAA+B;SACxF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,YAAY,aAAa,uCAAuC;SACxF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;IACnC,6EAA6E;IAC7E,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC;IAExD,qEAAqE;IACrE,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACrF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB,WAAW,MAAM,KAAK,CAAC,OAAO,2BAA2B;SACvF,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,2EAA2E;IAC3E,8EAA8E;IAC9E,yBAAyB;IACzB,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,WAAW,qDAAqD,SAAS,eAAe,aAAa,mBAAmB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,+BAA+B;aAClM,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,4BAA4B,SAAS,mBAAmB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,GAAG;SACjH,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,mDAAmD,SAAS,eAAe,aAAa,mBAAmB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,+BAA+B;YAC/L,WAAW,EAAE,YAAY,WAAW,qBAAqB,KAAK,CAAC,OAAO,oDAAoD;SAC3H,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,WAAW,yBAAyB,aAAa,eAAe,SAAS,mBAAmB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,GAAG;QACzI,WAAW,EAAE,YAAY,WAAW,qBAAqB,KAAK,CAAC,OAAO,oDAAoD;KAC3H,CAAC;AACJ,CAAC;AAYD;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB,CAC9B,GAA8B,EAC9B,OAA4B,EAAE;IAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,yEAAyE;IACzE,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK;QACxB,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,oDAAoD,CAAC;IACzD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,6BAA6B,CACpC,QAAwB,EACxB,GAA+B;IAE/B,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,qDAAqD,QAAQ,CAAC,yBAAyB,GAAG;SAClH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,WAAW,EAAE,cAAc,CAAC;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,oDAAoD;SAC5E,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,qBAAqB,OAAO,2CAA2C;SAC/F,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,SAAS,SAAS,CAAC,IAAI,gCAAgC;SACzH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACnF,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,+BAA+B,GAAG,CAAC,OAAO,aAAa,SAAS,CAAC,OAAO,IAAI;SACpG,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,2FAA2F;IAC3F,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,wCAAwC,GAAG,CAAC,OAAO,mBAAmB,SAAS,CAAC,OAAO,GAAG,QAAQ,EAAE;SACzH,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,sCAAsC,GAAG,CAAC,OAAO,mBAAmB,SAAS,CAAC,OAAO,GAAG,QAAQ,EAAE;QACtH,WAAW,EAAE,oCAAoC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,+GAA+G;KAC9L,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAC9B,GAAW,EACX,WAAmB,EACnB,aAAqB;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC;QACR,MAAM,YAAY,GAAG,eAAe,CAClC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,cAAc,CAAC,CAC5D,CAAC;QACF,IAAI,YAAY,EAAE,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,CAAC,8BAA8B;QACzD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACrF,CAAC;AAED,uFAAuF;AACvF,SAAS,iBAAiB,CAAC,GAAqB,EAAE,WAAmB;IACnE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,qBAAqB;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAAwB,EACxB,GAAmC;IAEnC,yFAAyF;IACzF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,2FAA2F,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACrI,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gCAAgC,GAAG,CAAC,MAAM,oBAAoB;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,6EAA6E;IAC7E,UAAU;IACV,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,eAAe;QACpC,CAAC,CAAC,iBAAiB,eAAe,EAAE;QACpC,CAAC,CAAC,6BAA6B,CAAC;IAElC,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAElD,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,8BAA8B,CAAC;QAClF,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,+BAA+B,QAAQ,CAAC,SAAS,gBAAgB,MAAM,6DAA6D,QAAQ,CAAC,aAAa,MAAM,cAAc,EAAE;SAC1L,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kFAAkF;IAClF,iFAAiF;IACjF,8DAA8D;IAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,2EAA2E;QAC3E,gFAAgF;QAChF,6EAA6E;QAC7E,wEAAwE;QACxE,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,GAAG,kFAAkF;SAClG,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,iFAAiF;IACjF,iFAAiF;IACjF,sDAAsD;IACtD,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI;QACvC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IAChB,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW;YAC/B,CAAC,CAAC,aAAa,QAAQ,CAAC,OAAO,EAAE;YACjC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,OAAO,eAAe,aAAa,+BAA+B,CAAC;IAEpG,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,GAAG,gCAAgC,aAAa,KAAK,aAAa,8CAA8C,cAAc,EAAE;KAC7I,CAAC;AACJ,CAAC;AAyDD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,KAAK;SACT,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,sBAAsB;SAC9C,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,+BAA+B;SACxD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,sBAAsB;SAC1C,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,+EAA+E;IAC/E,oFAAoF;IACpF,MAAM,WAAW,GAAG,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,8EAA8E;IAC9E,yEAAyE;IACzE,mEAAmE;IACnE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;aAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;aAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,4EAA4E;AAC5E,SAAS,cAAc,CAAC,IAAgB;IACtC,2EAA2E;IAC3E,iFAAiF;IACjF,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA4B;IACnE,MAAM,UAAU,GACd,GAAG,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG;QACxE,CAAC,CAAC,EAAE,CAAC;IACT,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC;IAEtD,sEAAsE;IACtE,8EAA8E;IAC9E,gFAAgF;IAChF,qFAAqF;IACrF,2FAA2F;IAC3F,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,CACV,oFAAoF,CACrF;YACD,WAAW,EACT,wGAAwG;SAC3G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC;IAErC,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,6BAA6B,GAAG,CAAC,YAAY,2BAA2B;YACjF,WAAW,EACT,oGAAoG;SACvG,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,yEAAyE;QACzE,6EAA6E;QAC7E,4CAA4C;QAC5C,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,CACV,mBAAmB,cAAc,CAAC,YAAY,CAAC,sCAAsC,GAAG,CAAC,YAAY,EAAE,CACxG;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mCAAmC,GAAG,CAAC,YAAY,yCAAyC;YACrG,WAAW,EACT,+GAA+G;SAClH,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAE1D,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CAAC,4BAA4B,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CACV,mBAAmB,cAAc,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAChK;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,CACV,oBAAoB,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,gBAAgB,CAAC,aAAa,CAAC,EAAE,CACrG;QACD,WAAW,EACT,2HAA2H;KAC9H,CAAC;AACJ,CAAC;AAuDD;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW;IACzE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,MAAc;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,gFAAgF;IAChF,8EAA8E;IAC9E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAAmC;IAEnC,MAAM,UAAU,GACd,GAAG,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG;QACxE,CAAC,CAAC,EAAE,CAAC;IACT,iFAAiF;IACjF,oEAAoE;IACpE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC;IAEtD,qFAAqF;IACrF,sFAAsF;IACtF,wFAAwF;IACxF,2DAA2D;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,IAAI,UAAU,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,YAAY,CAAC;IAEnD,sEAAsE;IACtE,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,CACV,4BAA4B,KAAK,mDAAmD,CACrF;YACD,WAAW,EACT,wGAAwG;SAC3G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAEvC,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,KAAK,qBAAqB,GAAG,CAAC,YAAY,2BAA2B;YACjF,WAAW,EAAE,OAAO,OAAO,2BAA2B,KAAK,kDAAkD;SAC9G,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,oFAAoF;IACpF,iEAAiE;IACjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,GAAG,CAAC,YAAY,yDAAyD;SACtF,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,eAAe,CAAC,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CAAC,4BAA4B,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAE9C,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9F,mFAAmF;QACnF,qFAAqF;QACrF,mFAAmF;QACnF,gGAAgG;QAChG,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,CACV,gCAAgC,KAAK,8EAA8E,CACpH;gBACD,WAAW,EACT,wGAAwG;aAC3G,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,sBAAsB,CAC3C,eAAe,EACf,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,SAAS,CACd,CAAC;QACF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;YACnE,IAAI,kBAAkB,KAAK,mBAAmB,EAAE,CAAC;gBAC/C,2EAA2E;gBAC3E,8CAA8C;gBAC9C,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,CAAC,8BAA8B,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;iBACnF,CAAC;YACJ,CAAC;YACD,mFAAmF;YACnF,+EAA+E;YAC/E,4CAA4C;YAC5C,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,CACV,mBAAmB,cAAc,CAAC,UAAU,CAAC,6BAA6B,GAAG,CAAC,YAAY,EAAE,CAC7F;iBACF,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,CACV,uBAAuB,gBAAgB,CAAC,kBAAkB,CAAC,iBAAiB,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CACpH;gBACD,WAAW,EAAE,UAAU,OAAO,gGAAgG;aAC/H,CAAC;QACJ,CAAC;QACD,sFAAsF;QACtF,6EAA6E;IAC/E,CAAC;IAED,qFAAqF;IACrF,IAAI,oBAAoB,CAAC,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/D,sFAAsF;QACtF,MAAM,YAAY,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,CACV,mBAAmB,cAAc,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAChK;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CACV,oBAAoB,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,gBAAgB,CAAC,aAAa,CAAC,EAAE,CACrG;YACD,WAAW,EAAE,UAAU,OAAO,sBAAsB,KAAK,4FAA4F;SACtJ,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,kFAAkF;IAClF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CACV,mBAAmB,cAAc,CAAC,IAAI,CAAC,8CAA8C,KAAK,KAAK,GAAG,CAAC,YAAY,GAAG,CACnH;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,GAAG,CACV,2CAA2C,KAAK,OAAO,GAAG,CAAC,YAAY,qCAAqC,CAC7G;QACD,WAAW,EAAE,UAAU,OAAO,2BAA2B,KAAK,0FAA0F;KACzJ,CAAC;AACJ,CAAC;AA6CD,2EAA2E;AAC3E,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAoB,CAAC,CAAC;AAChF,CAAC;AAQD,SAAS,cAAc,CACrB,QAAiD,EACjD,OAAe;IAEf,IAAI,GAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,yKAAyK;IAC3K,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,8HAA8H;IAChI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,OAAO,GAAI,GAAgC,CAAC,UAAU,CAAC;IAC7D,gFAAgF;IAChF,4EAA4E;IAC5E,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACzF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;QAChF,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iGAAiG;AACjG,SAAS,aAAa,CAAC,IAAY,EAAE,MAAe;IAClD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAC;IAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;IACpF,CAAC;IACD,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,GAAiC,EACjC,YAAoB;IAEpB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1D,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,6BAA6B,GAAG,CAAC,cAAc,uBAAuB,GAAG,CAAC,WAAW,WAAW,YAAY,KAAK,GAAG,CAAC,cAAc,kDAAkD;SAC/L,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,iBAAiB,GAAG,CAAC,WAAW,MAAM,YAAY,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,GAAiC;IAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAE9C,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,mBAAmB,GAAG,CAAC,YAAY,mDAAmD;gBAC/F,WAAW,EACT,iIAAiI;aACpI,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,GAAG,CAAC,YAAY,2DAA2D;gBACvF,WAAW,EAAE,8DAA8D;aAC5E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,0FAA0F;gBACnG,WAAW,EACT,iIAAiI;aACpI,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CACtB,GAAG,EACH,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CACpE,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,8EAA8E;QAC9E,OAAO,iBAAiB,CACtB,GAAG,EACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,mEAAmE,CACzG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,GAAG,CAAC,YAAY,sEAAsE;YAClG,WAAW,EAAE,kEAAkE;SAChF,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QACpF,CAAC,CAAE,KAAK,CAAC,KAAiC;QAC1C,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0DAA0D,GAAG,CAAC,YAAY,yCAAyC;YAC5H,WAAW,EACT,uHAAuH;SAC1H,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACzC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,sDAAsD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,YAAY,EAAE;gBAC/I,WAAW,EACT,qGAAqG;aACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CACtB,GAAG,EACH,sCAAsC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACxE,CAAC;AACJ,CAAC;AAkBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,KAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,4EAA4E;IAC5E,wEAAwE;IACxE,2CAA2C;IAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;aACvC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;aAC5C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA0B;IAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;IAEpB,oEAAoE;IACpE,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,0SAA0S;IAC5S,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,eAAe,QAAQ,SAAS,gDAAgD;SAC7F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,eAAe,QAAQ,GAAG,CAAC,WAAW,0BAA0B,SAAS,wCAAwC;SAC9H,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,wCAAwC;IACxC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,IACE,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACxB,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACxB,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,eAAe,KAAK,GAAG,CAAC,WAAW,cAAc,SAAS,eAAe,OAAO,CAAC,IAAI,CAC/F,KAAK,CACN,kEAAkE;SACpE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,6EAA6E;IAC7E,sEAAsE;IACtE,iFAAiF;IACjF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,eAAe,qBAAqB,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,QAAQ,SAAS,EAAE;KAC7G,CAAC;AACJ,CAAC;AAqDD,qFAAqF;AACrF,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,IAAa,EACb,QAAkB;IAElB,IAAI,MAAM,GAAY,IAAI,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,GAAI,MAAkC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,+FAA+F;AAC/F,SAAS,qBAAqB,CAAC,CAAS;IACtC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,MAAe,EAAE,QAAwB;IACrE,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IAC9D,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QACH,iFAAiF;QACjF,kFAAkF;QAClF,iFAAiF;QACjF,0EAA0E;QAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,+NAA+N;IACjO,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAwB,EACxB,GAA+B;IAE/B,0FAA0F;IAC1F,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,2FAA2F,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACrI,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gCAAgC,GAAG,CAAC,MAAM,oBAAoB;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,sFAAsF;IACtF,MAAM,WAAW,GAAG,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,sEAAsE;SAC9F,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAElD,sCAAsC;IACtC,4EAA4E;IAC5E,gFAAgF;IAChF,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,SAAS,0GAA0G;YAC/H,WAAW,EAAE,OAAO,SAAS,KAAK,WAAW,OAAO,SAAS,gFAAgF,SAAS,GAAG;SAC1J,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,gFAAgF;IAChF,uEAAuE;IACvE,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,gCAAgC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,SAAS,wCAAwC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,SAAS,gBAAgB;YACpI,WAAW,EAAE,gDAAgD,SAAS,kCAAkC;SACzG,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjE,yOAAyO;IAC3O,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gFAAgF;QAChF,gFAAgF;QAChF,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,SAAS,mBAAmB,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,yBAAyB,SAAS,2BAA2B;YACvJ,WAAW,EAAE,WAAW,SAAS,6CAA6C;SAC/E,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,SAAS,oBAAoB,SAAS,eAAe,WAAW,EAAE;YAC9E,WAAW,EAAE,OAAO,SAAS,KAAK,WAAW,OAAO,SAAS,2DAA2D;SACzH,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,SAAS,MAAM,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE;SACvG,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,SAAS,aAAa,SAAS,YAAY,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,EAAE;QAC9G,WAAW,EAAE,aAAa,SAAS,OAAO,WAAW,OAAO,SAAS,2DAA2D;KACjI,CAAC;AACJ,CAAC;AAED,qFAAqF;AAErF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,IAAI;SACf,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IACvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAuB/C,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAC;AAeH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,iJAAiJ;IACnJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,MAAM,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,8FAA8F;IAC9F,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,uDAAuD;SAChE,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,UAAU,KAAK,6BAA6B,EAAE,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,kCAAkC,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC3D,IAAI,CAAC,IAAI,CAAC,EAAE;SAChB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC5B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC5B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAChC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,eAAe,EAAE,CAAC,CAAC,kBAAkB,CAAC;gBACtC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC;gBAC9B,gBAAgB,EAAE,CAAC,CAAC,oBAAoB,CAAC;aAC1C,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAQD,uFAAuF;AACvF,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAE7D,2EAA2E;AAC3E,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE,mFAAmF;AACnF,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAgC7D,yEAAyE;AACzE,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,eAAuB;IACzD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,yBAAyB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7E,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1B,kOAAkO;IACpO,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,OAAe,EACf,QAAiD;IAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvF,gEAAgE;IAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,CAAC,2DAA2D;IAC1G,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,CAAC,8CAA8C;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,GAAW,EAAE,GAAW;IACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;QACZ,oMAAoM;IACtM,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,QAAsB,EACtB,UAAkB,EAClB,QAAiD,EACjD,QAAiD;IAEjD,MAAM,QAAQ,GAAG,WAAW,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,UAAU,CAAC;IACpE,MAAM,UAAU,GAAG,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IACnG,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,yBAAyB,CAAC;IAE1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,kBAAkB,QAAQ,CAAC,IAAI,sEAAsE;aAC/G;SACF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qBAAqB,QAAQ,CAAC,IAAI,sBAAsB,QAAQ,CAAC,WAAW,GAAG,UAAU,EAAE;gBACpG,WAAW,EAAE,aAAa,GAAG,uEAAuE;aACrG;SACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAY,QAAQ,CAAC,IAAI,aAAa,QAAQ,CAAC,WAAW,GAAG,UAAU,EAAE;aACnF;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gCAAgC,MAAM,YAAY,QAAQ,CAAC,WAAW,OAAO,QAAQ,CAAC,IAAI,GAAG,UAAU,EAAE;YAClH,WAAW,EAAE,gBAAgB,QAAQ,CAAC,IAAI,mDAAmD,GAAG,GAAG;SACpG;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,QAAwB,EACxB,QAAsB,EACtB,GAA6B,EAC7B,QAAiD,EACjD,QAAiD,EACjD,OAA2B;IAE3B,MAAM,QAAQ,GAAG,WAAW,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,kBAAkB,CAAC;IAE5E,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,+FAA+F,OAAO,CAAC,MAAM,EAAE;aACzH;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qBAAqB,QAAQ,CAAC,eAAe,cAAc,yBAAyB,iDAAiD;aAC/I;SACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,0BAA0B,OAAO,wDAAwD;aACnG;SACF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,oBAAoB,OAAO,uCAAuC,OAAO,CAAC,IAAI,yBAAyB,OAAO,EAAE;gBACzH,WAAW,EAAE,iDAAiD,OAAO,sDAAsD;aAC5H;SACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,4CAA4C,OAAO,MAAM,QAAQ,CAAC,WAAW,GAAG,OAAO,EAAE;aACnG;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yBAAyB,QAAQ,CAAC,WAAW,yBAAyB,MAAM,OAAO,OAAO,GAAG,OAAO,EAAE;YAC/G,WAAW,EAAE,gBAAgB,QAAQ,CAAC,OAAO,IAAI,yBAAyB,uDAAuD,OAAO,4IAA4I;SACrR;KACF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,iBAAiB,CACxB,GAAW,EACX,YAAoB,EACpB,GAA6B;IAE7B,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,IAAI,sBAAsB,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAClG,OAAO,wBAAwB,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,oBAAoB,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAwB,EACxB,GAA6B;IAE7B,MAAM,MAAM,GAAG,CAAC,OAA8B,EAAqB,EAAE,CAAC;QACpE,EAAE,QAAQ,EAAE,WAAW,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE;KAChD,CAAC;IAEF,kFAAkF;IAClF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,2FAA2F,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACrI,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gCAAgC,GAAG,CAAC,MAAM,oBAAoB;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC;IAC/C,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,+BAA+B,CAAC;IACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,yBAAyB,CAAC;IAE1D,qFAAqF;IACrF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,GAAG,qBAAqB,GAAG,CAAC,UAAU,0EAA0E;SAC7H,CAAC,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,oFAAoF;IACpF,iFAAiF;IACjF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,8EAA8E;SACvG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,GAAG,kBAAkB,YAAY,6DAA6D;YAC1G,WAAW,EAAE,aAAa,GAAG,yFAAyF;SACvH,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,qBAAqB,MAAM,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,aAAa,GAAG,8DAA8D;SAC5F,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,mBAAmB,MAAM,CAAC,aAAa,yCAAyC,6BAA6B,6BAA6B;YAClK,WAAW,EAAE,8DAA8D,MAAM,CAAC,aAAa,+BAA+B,GAAG,GAAG;SACrI,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,0FAA0F;IAC1F,2FAA2F;IAC3F,yFAAyF;IACzF,4EAA4E;IAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,qBAAqB,IAAI,CAAC,OAAO,wBAAwB,GAAG,qDAAqD;YACzI,WAAW,EAAE,aAAa,GAAG,kEAAkE;SAChG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,wEAAwE;SACjG,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,MAAM,WAAW,GAAG,GAAG,CAAC,qBAAqB,IAAI,mBAAmB,CAAC;IACrE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnE,8EAA8E;IAC9E,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2DAA2D;AAE3D,gFAAgF;AAChF,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC;QACH,+TAA+T;QAC/T,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,sMAAsM;IACxM,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,2LAA2L;IAC7L,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,mLAAmL;IACrL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,MAA0B,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,kKAAkK;IACpK,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -19,7 +19,7 @@ import * as os from 'node:os';
19
19
  import * as path from 'node:path';
20
20
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
21
21
  import { TotemConfigError } from './errors.js';
22
- import { deriveCohortRepoId, detectCapabilityProbeContract, detectGeneratedArtifactContract, detectManualAttestationContract, detectMechanicalContract, detectValueEqualityContract, detectVersionPinnedContract, extractManagedBlock, hashManagedBlock, normalizeManagedBlock, packageNameForContract, parseForkMarker, resolveCohortFloor, } from './parity-detect.js';
22
+ import { deriveCohortRepoId, detectCapabilityProbeContract, detectDeclaredContract, detectGeneratedArtifactContract, detectManualAttestationContract, detectMechanicalContract, detectValueEqualityContract, detectVersionPinnedContract, extractManagedBlock, hashManagedBlock, normalizeManagedBlock, packageNameForContract, parseDeclarationMarker, parseForkMarker, resolveCohortFloor, } from './parity-detect.js';
23
23
  import { cleanTmpDir } from './test-utils.js';
24
24
  let tmpRoot;
25
25
  // Strategy-root env vars resolveCohortFloor's canonical-source probe honors
@@ -518,6 +518,133 @@ describe('parseForkMarker', () => {
518
518
  });
519
519
  });
520
520
  });
521
+ describe('parseDeclarationMarker', () => {
522
+ it('parses role/seat/declared, whitespace-tolerant, token with a colon matched literally', () => {
523
+ expect(parseDeclarationMarker('preamble\n<!-- totem:agent-bus role="bus" seat="totem-claude" declared="2026-07-16" -->\ntrailer', 'totem:agent-bus')).toEqual({ role: 'bus', seat: 'totem-claude', declared: '2026-07-16' });
524
+ });
525
+ it('returns an empty object for a bare marker, undefined when the token is absent', () => {
526
+ expect(parseDeclarationMarker('<!-- totem:agent-bus -->', 'totem:agent-bus')).toEqual({});
527
+ expect(parseDeclarationMarker('no marker here', 'totem:agent-bus')).toBeUndefined();
528
+ // A DIFFERENT totem marker is not this token — no cross-token match.
529
+ expect(parseDeclarationMarker('<!-- totem:fork reason="x" -->', 'totem:agent-bus')).toBeUndefined();
530
+ });
531
+ it('does not prefix-match a longer sibling token (agent-bus vs agent-bus-v2)', () => {
532
+ // The post-token lookahead (whitespace or `-->`) — not `\b` — is what makes
533
+ // this fail: `\b` would match between the `s` and the `-` of `-v2`.
534
+ expect(parseDeclarationMarker('<!-- totem:agent-bus-v2 role="bus" -->', 'totem:agent-bus')).toBeUndefined();
535
+ // Bare marker (token directly against `-->`) still parses.
536
+ expect(parseDeclarationMarker('<!-- totem:agent-bus-->', 'totem:agent-bus')).toEqual({});
537
+ });
538
+ it('matches a marker authored across multiple lines (dotAll)', () => {
539
+ expect(parseDeclarationMarker('<!-- totem:agent-bus\n role="bus"\n seat="totem-claude"\n-->', 'totem:agent-bus')).toEqual({ role: 'bus', seat: 'totem-claude' });
540
+ });
541
+ it('stays linear on a pathological unterminated input (ReDoS-safe, no catastrophic backtrack)', () => {
542
+ // A very long run with no closing `-->`: the non-greedy `.*?` bounded by the
543
+ // first `-->` cannot backtrack catastrophically. Guard on wall-clock so a
544
+ // regression to a nested quantifier is caught, mirroring the marker family.
545
+ const pathological = `<!-- totem:agent-bus ${'role="bus" '.repeat(50_000)}`;
546
+ const start = Date.now();
547
+ expect(parseDeclarationMarker(pathological, 'totem:agent-bus')).toBeUndefined();
548
+ expect(Date.now() - start).toBeLessThan(1_000);
549
+ });
550
+ });
551
+ describe('detectDeclaredContract', () => {
552
+ const AGENTS_PATH = path.join('repo', 'AGENTS.md');
553
+ const AGENTS = (body) => (p) => p === AGENTS_PATH ? body : undefined;
554
+ it('pass — marker present with role + seat names the binding + the file', () => {
555
+ const verdict = detectDeclaredContract({
556
+ filePath: AGENTS_PATH,
557
+ markerToken: 'totem:agent-bus',
558
+ readFile: AGENTS('<!-- totem:agent-bus role="bus" seat="totem-claude" declared="2026-07-16" -->'),
559
+ });
560
+ expect(verdict.status).toBe('pass');
561
+ expect(verdict.message).toContain('agent-bus declared');
562
+ expect(verdict.message).toContain('role "bus"');
563
+ expect(verdict.message).toContain('seat "totem-claude"');
564
+ expect(verdict.message).toContain('AGENTS.md');
565
+ });
566
+ it('skip (honest-absent) — no marker in an otherwise-present file, never warn', () => {
567
+ const verdict = detectDeclaredContract({
568
+ filePath: AGENTS_PATH,
569
+ markerToken: 'totem:agent-bus',
570
+ readFile: AGENTS('# AGENTS\n\nno declaration here\n'),
571
+ });
572
+ expect(verdict.status).toBe('skip');
573
+ expect(verdict.message).toContain('honest-absent until a repo declares');
574
+ });
575
+ it('skip (honest-absent) — file absent, never warn', () => {
576
+ const verdict = detectDeclaredContract({
577
+ filePath: AGENTS_PATH,
578
+ markerToken: 'totem:agent-bus',
579
+ readFile: () => undefined,
580
+ });
581
+ expect(verdict.status).toBe('skip');
582
+ expect(verdict.message).toContain('no AGENTS.md present');
583
+ });
584
+ it('skip — a marker missing the seat attr is not a valid declaration, names the missing attr (fail loud)', () => {
585
+ const verdict = detectDeclaredContract({
586
+ filePath: AGENTS_PATH,
587
+ markerToken: 'totem:agent-bus',
588
+ readFile: AGENTS('<!-- totem:agent-bus role="bus" -->'),
589
+ });
590
+ expect(verdict.status).toBe('skip');
591
+ expect(verdict.message).toContain('missing seat');
592
+ expect(verdict.message).not.toContain('missing role');
593
+ });
594
+ it('skip — a marker missing the role attr names role in the why-not', () => {
595
+ const verdict = detectDeclaredContract({
596
+ filePath: AGENTS_PATH,
597
+ markerToken: 'totem:agent-bus',
598
+ readFile: AGENTS('<!-- totem:agent-bus seat="totem-claude" -->'),
599
+ });
600
+ expect(verdict.status).toBe('skip');
601
+ expect(verdict.message).toContain('missing role');
602
+ });
603
+ it('skip — an empty-string role is a degenerate binding, counts as missing (greptile P2, mmnto-ai/totem#2400)', () => {
604
+ const verdict = detectDeclaredContract({
605
+ filePath: AGENTS_PATH,
606
+ markerToken: 'totem:agent-bus',
607
+ readFile: AGENTS('<!-- totem:agent-bus role="" seat="totem-claude" -->'),
608
+ });
609
+ expect(verdict.status).toBe('skip');
610
+ expect(verdict.message).toContain('missing role');
611
+ expect(verdict.message).not.toContain('missing role + seat');
612
+ });
613
+ it('skip — a whitespace-only seat counts as missing', () => {
614
+ const verdict = detectDeclaredContract({
615
+ filePath: AGENTS_PATH,
616
+ markerToken: 'totem:agent-bus',
617
+ readFile: AGENTS('<!-- totem:agent-bus role="bus" seat=" " -->'),
618
+ });
619
+ expect(verdict.status).toBe('skip');
620
+ expect(verdict.message).toContain('missing seat');
621
+ });
622
+ it('pass message strips ANSI/control sequences from repo-provided role/seat (CR round 2, mmnto-ai/totem#2400)', () => {
623
+ const ESC = String.fromCharCode(27);
624
+ const verdict = detectDeclaredContract({
625
+ filePath: AGENTS_PATH,
626
+ markerToken: 'totem:agent-bus',
627
+ readFile: AGENTS(`<!-- totem:agent-bus role="${ESC}[31mbus" seat="totem${ESC}[0m-claude" -->`),
628
+ });
629
+ expect(verdict.status).toBe('pass');
630
+ expect(verdict.message).not.toContain(ESC);
631
+ expect(verdict.message).toContain('role "bus"');
632
+ expect(verdict.message).toContain('seat "totem-claude"');
633
+ });
634
+ it('never throws — a throwing reader degrades to honest-absent skip', () => {
635
+ const verdict = detectDeclaredContract({
636
+ filePath: AGENTS_PATH,
637
+ markerToken: 'totem:agent-bus',
638
+ readFile: () => {
639
+ throw new Error('boom');
640
+ },
641
+ });
642
+ // The default readFileText swallows read failures; an injected thrower is the
643
+ // never-throw contract at the CLI seam — but detectDeclaredContract calls the
644
+ // reader directly, so a thrower here would surface. Guard the honest degrade.
645
+ expect(verdict.status).toBe('skip');
646
+ });
647
+ });
521
648
  describe('detectMechanicalContract', () => {
522
649
  it('pass — consumer block equals canonical after normalization', () => {
523
650
  const consumerPath = writeArtifact('.claude/skills/x/SKILL.md', skillFile('CANONICAL BODY\nline two'));
@@ -548,6 +675,17 @@ describe('detectMechanicalContract', () => {
548
675
  expect(v.message).toMatch(/intentional fork/i);
549
676
  expect(v.message).toContain('2026-06-03');
550
677
  });
678
+ it('intentional-fork message strips ANSI/control sequences from repo-provided owner/attested (mmnto-ai/totem#2403)', () => {
679
+ const ESC = String.fromCharCode(27);
680
+ const consumerPath = writeArtifact('.claude/skills/x/SKILL.md', skillFile('DRIFTED BODY', {
681
+ fork: `<!-- totem:fork reason="x" owner="${ESC}[31msatur8d" attested="2026${ESC}[0m-06-03" -->`,
682
+ }));
683
+ const v = detectMechanicalContract(mechCtx({ consumerPath }));
684
+ expect(v.status).toBe('info');
685
+ expect(v.message).not.toContain(ESC);
686
+ expect(v.message).toContain('owner satur8d');
687
+ expect(v.message).toContain('attested 2026-06-03');
688
+ });
551
689
  it('pass — a fork marker present but content actually matching is still pass (no false fork)', () => {
552
690
  const consumerPath = writeArtifact('.claude/skills/x/SKILL.md', skillFile('CANONICAL BODY\nline two', { fork: '<!-- totem:fork reason="x" -->' }));
553
691
  expect(detectMechanicalContract(mechCtx({ consumerPath })).status).toBe('pass');