@braidlabs/gateway 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@braidlabs/gateway",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Braid gateway — fetch-native origin-front middleware that routes fragment traffic by exact id under the reserved /__braid/frag/ namespace, loads fragment manifests, and passes everything else through to your existing app.",
5
5
  "keywords": [
6
6
  "micro-frontends",
package/src/gateway.d.ts CHANGED
@@ -425,5 +425,8 @@ export declare function toFetchHandler(gateway: BraidGateway, appHandler: (reque
425
425
  * ones (`%2e%2e`), are already normalized when the incoming request URL is parsed, which takes
426
426
  * such a request out of the fragment namespace entirely before it ever reaches here. The check
427
427
  * costs nothing and does not assume every runtime normalizes identically.
428
+ *
429
+ * What URL parsing does not normalize is a separator or dot segment hidden inside a segment;
430
+ * see {@link assertForwardablePath}, which runs first.
428
431
  */
429
432
  export declare function resolveEndpointUrl(endpoint: string, strippedUrl: URL, fragmentId: string): URL;
package/src/gateway.js CHANGED
@@ -469,7 +469,7 @@ export function createGateway(options) {
469
469
  if (!result.ok && result.outOfScope) {
470
470
  console.warn(String(result.error));
471
471
  return htmlResponse(mode === 'development'
472
- ? `<p>braid-gateway: that path is outside the endpoint declared by fragment "${escapeHtml(fragment.id)}".</p>`
472
+ ? `<p>braid-gateway: that path is outside the endpoint declared by fragment "${escapeHtml(fragment.id)}", or hides a path separator or dot segment.</p>`
473
473
  : '<p>Not found</p>', 404, { [BRAID_FRAGMENT_ID_HEADER]: fragment.id });
474
474
  }
475
475
  if (!result.ok) {
@@ -620,7 +620,19 @@ export function createGateway(options) {
620
620
  // The caller composes the whole path, query included. Whether the page's query belongs on this
621
621
  // request is a question only the caller can answer — a namespace request forwards it, a bound
622
622
  // fragment renders it, and to a widget the host's `?tab=` means nothing at all.
623
- const strippedUrl = new URL(path, requestUrl);
623
+ // Assigned, never parsed against the request: as a string, a path starting `//` names another
624
+ // host, and a function endpoint would be handed a request for it.
625
+ const queryAt = path.indexOf('?');
626
+ const strippedUrl = new URL(requestUrl.origin);
627
+ strippedUrl.pathname = queryAt === -1 ? path : path.slice(0, queryAt);
628
+ strippedUrl.search = queryAt === -1 ? '' : path.slice(queryAt);
629
+ // every endpoint, a function too: it has no path to stay inside, and may still proxy or serve files
630
+ try {
631
+ assertForwardablePath(strippedUrl.pathname, fragment.id);
632
+ }
633
+ catch (error) {
634
+ return { ok: false, error, timedOut: false, outOfScope: error instanceof EndpointScopeError };
635
+ }
624
636
  let fragmentRequestUrl;
625
637
  let fragmentFetch;
626
638
  if (typeof endpoint === 'function') {
@@ -1243,8 +1255,12 @@ function normalizeBasePath(basePath) {
1243
1255
  * ones (`%2e%2e`), are already normalized when the incoming request URL is parsed, which takes
1244
1256
  * such a request out of the fragment namespace entirely before it ever reaches here. The check
1245
1257
  * costs nothing and does not assume every runtime normalizes identically.
1258
+ *
1259
+ * What URL parsing does not normalize is a separator or dot segment hidden inside a segment;
1260
+ * see {@link assertForwardablePath}, which runs first.
1246
1261
  */
1247
1262
  export function resolveEndpointUrl(endpoint, strippedUrl, fragmentId) {
1263
+ assertForwardablePath(strippedUrl.pathname, fragmentId);
1248
1264
  const endpointUrl = new URL(endpoint);
1249
1265
  const basePath = endpointUrl.pathname.endsWith('/') ? endpointUrl.pathname.slice(0, -1) : endpointUrl.pathname;
1250
1266
  // Assigned, never parsed: as a string, a path starting `//` is a protocol-relative URL naming
@@ -1261,6 +1277,52 @@ export function resolveEndpointUrl(endpoint, strippedUrl, fragmentId) {
1261
1277
  /** Thrown when a namespace request would reach outside its fragment endpoint's declared path. */
1262
1278
  class EndpointScopeError extends Error {
1263
1279
  }
1280
+ /** How many layers of percent-encoding are looked through. An upstream chain rarely decodes more than twice. */
1281
+ const MAX_DECODE_PASSES = 3;
1282
+ /**
1283
+ * Refuses a path that could mean something else to an upstream than it does as a string: one with
1284
+ * a segment that — once decoded, as far as it decodes — is a dot segment, or holds a path
1285
+ * separator or a NUL. Applied to every fragment request, whatever kind of endpoint serves it.
1286
+ *
1287
+ * - `..%2f..%2fadmin` is one segment to a URL parser, and `../../admin` to an upstream that
1288
+ * decodes `%2F` before resolving.
1289
+ * - `..;/` is not a dot segment to a URL parser, and is one to a servlet container, which drops
1290
+ * `;parameters` before resolving. So the part before the first `;` is what is tested.
1291
+ * - Compatibility forms are folded (NFKC) before testing: `..` and `/` are `..` and `/` to a
1292
+ * file system that best-fits them.
1293
+ *
1294
+ * A segment that is not valid percent-encoding (a bare `%`) is refused too, rather than guessed at.
1295
+ */
1296
+ function assertForwardablePath(pathname, fragmentId) {
1297
+ const refuse = (why) => {
1298
+ throw new EndpointScopeError(`braid-gateway: a request for fragment "${fragmentId}" has ${why}, which could resolve outside the fragment's ` +
1299
+ `endpoint upstream — refusing to forward it`);
1300
+ };
1301
+ for (const segment of pathname.split('/')) {
1302
+ let decoded = segment;
1303
+ for (let pass = 0; pass < MAX_DECODE_PASSES && decoded.includes('%'); pass++) {
1304
+ let next;
1305
+ try {
1306
+ next = decodeURIComponent(decoded);
1307
+ }
1308
+ catch {
1309
+ // the segment as sent must decode; a later layer that does not is just text
1310
+ if (pass === 0)
1311
+ refuse('a path segment that is not valid percent-encoding');
1312
+ break;
1313
+ }
1314
+ if (next === decoded)
1315
+ break;
1316
+ decoded = next;
1317
+ }
1318
+ const folded = decoded.normalize('NFKC');
1319
+ const bare = folded.split(';', 1)[0].replace(/[ \t]+$/, '');
1320
+ if (bare === '.' || bare === '..')
1321
+ refuse('a dot segment hidden by encoding or path parameters');
1322
+ if (/[/\\\0]/.test(folded))
1323
+ refuse('an encoded path separator');
1324
+ }
1325
+ }
1264
1326
  /**
1265
1327
  * The breaker refused a request without making it.
1266
1328
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAc,EAEd,QAAQ,GAKT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAoB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAA2B,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxI,OAAO,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GAMtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EAEV,eAAe,EAEf,mBAAmB,EAEnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AAEH,2GAA2G;AAC3G,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AA4Y7D,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mFAAmF,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;IACD,sFAAsF;IACtF,4CAA4C;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,kEAAkE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC1D,MAAM,wBAAwB,GAAG,OAAO,iBAAiB,KAAK,UAAU;QACtE,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAC5B,MAAM,iBAAiB,GAAG;QACxB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KACvI,CAAC;IAEF,4FAA4F;IAC5F,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAW,EAAE;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;QACjD,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;QACzC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,IAAI,KAAK,aAAa,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;QAC7B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QAC5E,wFAAwF;QACxF,uFAAuF;QACvF,IAAI,CAAC;YACH,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC,CACH;QACH,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C;;;;OAIG;IACH,KAAK,UAAU,eAAe;QAC5B,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7H,MAAM,KAAK,CAAC;QACd,CAAC;QACD,8FAA8F;QAC9F,2FAA2F;QAC3F,uBAAuB;QACvB,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gGAAgG;IAChG,0FAA0F;IAC1F,2CAA2C;IAC3C,IAAI,YAAuD,CAAC;IAC5D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,MAAM,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO;QAC9D,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,eAAe,EAAE;iBACd,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,4DAA4D;iBACnF,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,YAAuC,CAAC,KAAK,EAAE,EAAE,CAAC;IACrD,CAAC,CAAC;IACF,eAAe,EAAE,CAAC;IAElB;;;;OAIG;IACH,SAAS,gBAAgB,CAAC,QAA0B;QAClD,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,iBAAiB;YAAE,OAAO;QAC7G,wEAAwE;QACxE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,OAAO;QAClD,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAC9C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,4BAA4B,QAAQ,CAAC,EAAE,2DAA2D;YAChG,6FAA6F;YAC7F,gGAAgG;YAChG,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAG,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG;YAClB,aAAa,IAAI,eAAe;YAChC,OAAO,CAAC,SAAS,IAAI,WAAW;YAChC,OAAO,CAAC,WAAW,IAAI,aAAa;YACpC,aAAa,IAAI,qBAAqB;YACtC,OAAO,CAAC,gBAAgB,IAAI,kBAAkB;SAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,oCAAoC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;gBACrG,sDAAsD,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,+FAA+F;IAC/F,SAAS,UAAU,CAAC,QAAgB;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1G,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,IAAI,CAAC,KAAqB;QACjC,IAAI,CAAC,SAAS,IAAI,eAAe;YAAE,OAAO;QAC1C,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,KAAc;QACnC,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,2EAA2E,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IAED,iFAAiF;IACjF,SAAS,mBAAmB,CAAC,KAAyB;QACpD,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,eAAe;YAAE,OAAO,SAAS,CAAC;QACrE,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,SAAS,CAAC,KAAqC,EAAE,KAAyB,EAAE,KAAe;QAClG,IAAI,CAAC,KAAK,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO;QACxB,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe;gBAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,SAAS,iBAAiB,CAAC,KAAqC,EAAE,eAAwB;QACxF,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnG,uDAAuD;YACvD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK,KAAK,IAAI;oBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBACpD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,SAAS,QAAQ,CAAC,KAAqC,EAAE,IAA6B;QACpF,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,eAAe;YAAE,OAAO,IAAI,EAAE,CAAC;QAClD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBACpB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iGAAiG;YACjG,IAAI,IAAI;gBAAE,MAAM,KAAK,CAAC;YACtB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAgB,EAAkC,EAAE,CAClF,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpF,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEpF,OAAO;QACL,eAAe;QACf,WAAW;QAEX,KAAK;YACH,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,IAA8B;YAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAExC,gGAAgG;YAChG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,OAAO,YAAY,CACjB,wFAAwF;oBACtF,GAAG,cAAc,6FAA6F,EAChH,GAAG,EACH,EAAE,eAAe,EAAE,UAAU,EAAE,CAChC,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,yBAAyB,EAAE,CAAC;gBACvE,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,wBAAwB,EAAE,CAAC;gBACtE,OAAO,IAAI,QAAQ,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,SAAS,EAAE,UAAU,IAAI,CAAC,CAAC,EAAE;oBAC/F,OAAO,EAAE;wBACP,cAAc,EAAE,gCAAgC;wBAChD,sFAAsF;wBACtF,4DAA4D;wBAC5D,eAAe,EAAE,sBAAsB;qBACxC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,wBAAwB,EAAE,CAAC;gBACtE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAC,QAAQ,KAAK,4BAA4B,EAAE,CAAC;gBACrF,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,wFAAwF;gBACxF,mFAAmF;gBACnF,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC;YAED;;;eAGG;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,wFAAwF;gBACxF,0DAA0D;gBAC1D,OAAO,YAAY,CACjB,uDAAuD;oBACrD,CAAC,IAAI,KAAK,aAAa;wBACrB,CAAC,CAAC,0CAA0C,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB;4BAC5F,2HAA2H;wBAC7H,CAAC,CAAC,yBAAyB,CAAC,EAChC,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,4FAA4F;YAC5F,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB;;;;;;;;mBAQG;gBACH,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GACR,2CAA2C;wBAC3C,eAAe,mBAAmB,cAAc,sBAAsB,IAAI;wBAC1E,eAAe,kBAAkB,cAAc,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;wBAC/E,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBACtC,eAAe,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC;oBAC7F,mFAAmF;oBACnF,2FAA2F;oBAC3F,sFAAsF;oBACtF,wFAAwF;oBACxF,+EAA+E;oBAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;oBAC/C,4FAA4F;oBAC5F,yFAAyF;oBACzF,oEAAoE;oBACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,MAAM,MAAM,GACV,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;wBACnC,CAAC,CAAC;4BACE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qCAAqC,CAAC,EAC7F,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;yBAC/C;wBACH,CAAC,CAAC,EAAE,CAAC;oBACT,yFAAyF;oBACzF,2FAA2F;oBAC3F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtG,MAAM,YAAY,GAA2B;wBAC3C,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE;wBACvC,IAAI,EAAE,IAAI;wBACV,eAAe,EAAE,sFAAsF;wBACvG,GAAG,MAAM;qBACV,CAAC;oBACF,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;gBAED;;;;mBAIG;gBACH,KAAK,UAAU;oBACb;;;;uBAIG;oBACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACxB,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;yBACrD,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU;oBACV,6FAA6F;oBAC7F,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAC9F,QAAQ,EACR,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;gBAEJ;;;mBAGG;gBACH,KAAK,UAAU;oBACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,OAAgB;YACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAExC,oEAAoE;YACpE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9C,uFAAuF;YACvF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,qEAAqE;YACrE,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEzD,oDAAoD;YACpD,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAEvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEtC,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAC3E,OAAO;oBACL,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACvE,kBAAkB;oBAClB,iBAAiB;oBACjB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;oBACvB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;oBAC3C,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC3F,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;iBAChG,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF;;;;;;;;OAQG;IACH,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,QAAkC;QAElC,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,YAAY,CACjB,8EAA8E,EAC9E,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CACjB,+FAA+F,EAC/F,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,OAAgB,EAChB,UAAe;IACf,+DAA+D;IAC/D,IAAY,EACZ,QAAkC,EAClC,UAAiC,EAAE;QAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,6EAA6E,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,kDAAkD;gBACxJ,CAAC,CAAC,kBAAkB,EACtB,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,qBAAqB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO;oBACnE,aAAa,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM;oBACzD,UAAU,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;gBACpD,CAAC,CAAC,qDAAqD,EACzD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC3B,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED;;;;;;;;WAQG;QACH,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzG,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAED;;;;;;;;;;WAUG;QACH,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QAEzD,MAAM,IAAI,GACR,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEpH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,2FAA2F;QAC3F,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACzD,+EAA+E;QAC/E,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3E,uFAAuF;QACvF,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,gGAAgG;YAChG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC3C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,oBAAoB,CAAC,OAAgB,EAAE,QAA0B,EAAE,kBAA2B;QACrG,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACjH,IAAI,kBAAkB;YAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,SAAS,WAAW,CAAC,QAAkB;QACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,gBAAgB,CAC7B,OAAgB,EAChB,UAAe,EACf,QAAkC,EAClC,MAAkD;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,qBAAqB,CAAC;gBACpB,QAAQ;gBACR,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC/E,UAAU;gBACV,cAAc,EAAE,sBAAsB;aACvC,CAAC;YACJ,CAAC,CAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAY,CAAC;QAE5E,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,6FAA6F;YAC7F,OAAO,CAAC,IAAI,CAAC,oDAAoD,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACvG,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,uDAAuD,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBACtH,kEAAkE;gBACtE,CAAC,CAAC,qDAAqD,EACzD,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAChC,UAAU,EACV,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAC/B,CAAC;QACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;YAC7D,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU;SACX,CAAC,CAAC;QAEH,6FAA6F;QAC7F,8FAA8F;QAC9F,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,CAAC,8BAA8B,CAAC,EAAE,MAAM;YACxC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE;YACvC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7E,IAAI,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAaD;;;OAGG;IACH,KAAK,UAAU,aAAa,CAC1B,OAAgB,EAChB,UAAe;IACf,+DAA+D;IAC/D,IAAY,EACZ,QAAkC;IAClC,4DAA4D;IAC5D,QAAgC,WAAW;IAC3C;;;OAGG;IACH,WAAW,GAAG,KAAK;QAEnB,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE9B,+FAA+F;QAC/F,8FAA8F;QAC9F,gFAAgF;QAChF,8FAA8F;QAC9F,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,WAAW,CAAC,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,WAAW,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/D,oGAAoG;QACpG,IAAI,CAAC;YACH,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,YAAY,kBAAkB,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,kBAAuB,CAAC;QAC5B,IAAI,aAA2B,CAAC;QAEhC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,kBAAkB,GAAG,WAAW,CAAC;YACjC,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,YAAY,kBAAkB,EAAE,CAAC;YAChG,CAAC;YACD,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;QACnC,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAEjE,uFAAuF;QACvF,sFAAsF;QACtF,4FAA4F;QAC5F,mEAAmE;QACnE,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,iBAAiB;gBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,6FAA6F;QAC7F,8BAA8B;QAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,MAAM;gBAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;gBACrD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,8FAA8F;QAC9F,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,IAAI,OAAO;YAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7D,gGAAgG;QAChG,+DAA+D;QAC/D,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAElE,6EAA6E;QAC7E,EAAE;QACF,2FAA2F;QAC3F,wFAAwF;QACxF,6DAA6D;QAC7D,eAAe,CAAC,OAAO,CAAC,GAAG,CACzB,mBAAmB,EACnB,CAAC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACxG,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,GAAG,CACzB,kBAAkB,EAClB,CAAC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CACtF,CAAC;QAEF,4FAA4F;QAC5F,mFAAmF;QACnF,kFAAkF;QAClF,wFAAwF;QACxF,gCAAgC;QAChC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9E,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,gEAAgE;QAChE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvD,0FAA0F;QAC1F,+FAA+F;QAC/F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK;YAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9H,8FAA8F;QAC9F,6EAA6E;QAC7E,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAEjE;;;;;;;;;;WAUG;QACH,IAAI,aAAa,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YAChE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,kGAAkG;QAClG,gGAAgG;QAChG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAExD,4FAA4F;QAC5F,wFAAwF;QACxF,0BAA0B;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9D,+FAA+F;QAC/F,kEAAkE;QAClE,MAAM,cAAc,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEnD,8FAA8F;QAC9F,oDAAoD;QACpD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,cAAc,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,CAAC;gBACb,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClF,CAAC;QAED,wFAAwF;QACxF,8FAA8F;QAC9F,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,yFAAyF;QACzF,mDAAmD;QACnD,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,yFAAyF;YACzF,qFAAqF;YACrF,yFAAyF;YACzF,4FAA4F;YAC5F,4DAA4D;YAC5D,MAAM,UAAU,GACd,YAAY,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU;gBAC1G,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC7E,CAAC,CAAC,IAAI,CAAC;YACX,8FAA8F;YAC9F,kEAAkE;YAClE,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;YAEvE,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACvH,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,YAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC7E,qFAAqF;YACrF,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,aAAa,KAAK,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAE9F,2FAA2F;YAC3F,wFAAwF;YACxF,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;gBAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;gBACpD,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAErC,SAAS,CAAC,cAAc,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,2FAA2F;gBAC3F,0FAA0F;gBAC1F,uFAAuF;gBACvF,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,SAAS,EAAE;gBACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;gBACzC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7B,SAAS,CACP,cAAc,EACd;gBACE,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gBACpD,GAAG,SAAS,EAAE;gBACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;gBACzC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,EACD,KAAK,CACN,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,KAAK,UAAU,YAAY,CACzB,OAAgB,EAChB,UAAe,EACf,IAA2C;QAE3C,yFAAyF;QACzF,+DAA+D;QAC/D,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBACzC,uBAAuB,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC9B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GACZ,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC,OAAO,CAAC;YAC7C,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3E,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,QAAQ,EAAE,CAAC;YACb,0FAA0F;YAC1F,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrF,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAChD,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,WAAW,CAAC,OAAgB;QACnC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,OAAO,EAAE,mBAAmB,EAAE,IAAI,4BAA4B,GAAG,EAAE,CAAC;IACtE,CAAC;IAED,mEAAmE;IACnE,SAAS,eAAe,CAAC,OAAgB,EAAE,IAAqB;QAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,wBAAwB,CAAC,OAAgB;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAC9B,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAC5H,CAAC;QACF,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAE;YACnG,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;gBACnD,GAAG,CAAC,aAAa;oBACf,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE;oBACjC,CAAC,CAAC,QAAQ;wBACR,CAAC,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,EAAE;wBACzE,CAAC,CAAC,kEAAkE;4BAClE,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC;aACjD;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,kBAAkB,CAC/B,OAAgB,EAChB,UAAe,EACf,IAA6B;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9C,4FAA4F;QAC5F,sFAAsF;QACtF,8DAA8D;QAC9D,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC;gBACd,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,UAAU,EAAE,CAAC;YACf,yFAAyF;YACzF,wFAAwF;YACxF,MAAM,SAAS,GAA+B,EAAE,CAAC;YACjD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACrD,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,UAAe,EACf,IAA6B,EAC7B,OAAmC;QAEnC,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC9D,6FAA6F;QAC7F,4FAA4F;QAC5F,2FAA2F;QAC3F,6EAA6E;QAC7E,MAAM,eAAe,GAAmC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC/E,wFAAwF;QACxF,yFAAyF;QACzF,sEAAsE;QACtE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAC9F,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5D,CACF,CAAC;QACF,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAChC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,aAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oBAAoB,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,oBAAoB,EAAE,CAAC;YACvB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,CAAC,aAAa,CAAC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/C,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtF,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxC,2FAA2F;YAC3F,yDAAyD;YACzD,oBAAoB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAA0B,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC5D,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK;YAC/B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClF,CAAC,CAAC,CAAC;QAEJ,yFAAyF;QACzF,SAAS,aAAa,CACpB,QAAkC,EAClC,MAA2B;YAE3B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAiB,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,EAAE;wBAClD,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,QAAQ;wBACR,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC3C,CAAC;oBACF,KAAK,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE;gBACvB,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAC3C,CAAC,CAAC,aAAa,QAAQ,CAAC,EAAE,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,+BAA+B,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,EAAE;gBAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAEnD,qFAAqF;YACrF,sFAAsF;YACtF,4EAA4E;YAC5E,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACvC,OAAO;oBACL,OAAO,EAAE,YAAY,CACnB,IAAI,KAAK,aAAa;wBACpB,CAAC,CAAC,6CAA6C,UAAU,CAAC,MAAM,CAAC,gCAAgC;wBACjG,CAAC,CAAC,mGAAmG,CACxG;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,QAAQ,CAC1B,eAAe,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,SAAS,EAAE,OAAO;YAClB,uFAAuF;YACvF,sFAAsF;YACtF,2CAA2C;YAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAChC,0FAA0F;YAC1F,qFAAqF;YACrF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,wBAAwB,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtG,CAAC,EACF,KAAK,CACN,CAAC;QACF,4FAA4F;QAC5F,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY,CAAC,QAAkC,EAAE,UAAe;QACvE,yFAAyF;QACzF,0FAA0F;QAC1F,2DAA2D;QAC3D,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;QAClE,oFAAoF;QACpF,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,QAAQ,CAAC,YAAY,CAAC;QACxD,OAAO,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,qBAAqB,CAAC,MAA4B;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;QAC/C,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC7E,CAAC;QAEF,MAAM,MAAM,GACV,wEAAwE;YACxE,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;YAC/D,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAElD,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,cAAc,EAAE,gCAAgC;gBAChD,yFAAyF;gBACzF,2EAA2E;gBAC3E,wBAAwB,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG;gBAC7C,0FAA0F;gBAC1F,yBAAyB;gBACzB,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAY,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,yFAAyF;YACzF,kDAAkD;QACpD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,uBAAuB,CAC9B,QAAkC,EAClC,MAA6B;QAE7B,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,aAAa,QAAQ,CAAC,EAAE,kBAAkB,QAAQ,CAAC,SAAS,mBAAmB,CAAC;QAC5G,IAAI,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,aAAa,QAAQ,CAAC,EAAE,gGAAgG,CAAC;QAClI,CAAC;QACD,OAAO,sBAAsB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACrD,CAAC;IAED,SAAS,gBAAgB,CAAC,QAAkC;QAC1D,OAAO,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,uBAAuB,CAAC,OAAgB;QAC/C,IAAI,kBAAkB,KAAK,UAAU;YAAE,OAAO;QAE9C,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aACpD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7E,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAkC,EAAE;QACtF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,yBAAyB;gBACzC,GAAG,OAAO;aACX;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAqB;IAErB,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,CAAC,CAAC;IACxG,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAqB,EACrB,UAA8D;IAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,CAAC,CAAC;IACxG,CAAC,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,WAAW,CAAC,OAAqB,EAAE,OAAgB,EAAE,QAAkB;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED,wEAAwE;AACxE,SAAS,IAAI,CAAC,EAA2B;IACvC,IAAI,OAAsC,CAAC;IAC3C,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,WAAW;QAAE,OAAO,WAAW,KAAK,UAAU,CAAC;IAEnD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,QAA4B;IACrD,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,OAAO,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,8CAA8C,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,WAAgB,EAAE,UAAkB;IACvF,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAE/G,8FAA8F;IAC9F,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,UAAU,kBAAkB,QAAQ,CAAC,QAAQ,iBAAiB;YACtG,kBAAkB,QAAQ,6BAA6B,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iGAAiG;AACjG,MAAM,kBAAmB,SAAQ,KAAK;CAAG;AAEzC,gHAAgH;AAChH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,UAAkB;IACjE,MAAM,MAAM,GAAG,CAAC,GAAW,EAAS,EAAE;QACpC,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,UAAU,SAAS,GAAG,+CAA+C;YAC7G,4CAA4C,CAC/C,CAAC;IACJ,CAAC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,iBAAiB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YAC7E,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;gBAC5E,IAAI,IAAI,KAAK,CAAC;oBAAE,MAAM,CAAC,mDAAmD,CAAC,CAAC;gBAC5E,MAAM;YACR,CAAC;YACD,IAAI,IAAI,KAAK,OAAO;gBAAE,MAAM;YAC5B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,CAAC,qDAAqD,CAAC,CAAC;QACjG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,KAAK;IAClC,YAAY,UAAkB;QAC5B,KAAK,CAAC,aAAa,UAAU,+CAA+C,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAkC,EAAE,QAAgB;IAC9E,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,2FAA2F;IAC3F,2FAA2F;IAC3F,uFAAuF;IACvF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClE,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,EACtE,EAAE,EACF,QAAQ,CACT,CAAC;IACR,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtE,gGAAgG;IAChG,qFAAqF;IACrF,IAAI,QAAQ,CAAC,YAAY;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3E,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEvE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,OAAO,eAAe,0BAA0B,cAAc,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACxG,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,6FAA6F;AAC7F,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,QAAkB;IAClC,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,OAAgB;IACpC,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,UAAU,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAkB,EAAE,OAA+B;IACtE,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,SAAS,QAAQ,CAAC,OAAgB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAE1K;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,WAAW,CAAC,QAAkB,EAAE,cAAuB,EAAE,aAAa,GAAG,IAAI;IACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,IAAI,QAAQ,KAAK,IAAI,CAAC;IACpD,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxG,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACtH,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,IAAI,QAAQ,CAAC,6DAA6D,QAAQ,4BAA4B,EAAE;YACrH,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEhG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,KAAK,MAAM,IAAI,IAAI,kBAAkB;QAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,sGAAsG;AACtG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,iDAAiD;AACjD,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;IACzB,+FAA+F;IAC/F,gEAAgE;IAChE,IAAI,SAAS,CAAC,IAAI,GAAG,MAAM;QAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAqB,EAAE,IAAY;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAC9F,CAAC"}
package/src/protocol.js CHANGED
@@ -93,11 +93,15 @@ export function parseBraidPathname(pathname) {
93
93
  const encodedFragmentId = slashIndex === -1 ? rest : rest.slice(0, slashIndex);
94
94
  if (!encodedFragmentId)
95
95
  return null;
96
- return {
97
- kind,
98
- fragmentId: decodeURIComponent(encodedFragmentId),
99
- pathname: slashIndex === -1 ? '/' : rest.slice(slashIndex),
100
- };
96
+ let fragmentId;
97
+ try {
98
+ fragmentId = decodeURIComponent(encodedFragmentId);
99
+ }
100
+ catch {
101
+ // not valid percent-encoding, so not an id any fragment has: the path names nothing here
102
+ return null;
103
+ }
104
+ return { kind, fragmentId, pathname: slashIndex === -1 ? '/' : rest.slice(slashIndex) };
101
105
  }
102
106
  return null;
103
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/protocol.ts"],"names":[],"mappings":"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"}