@spinajs/http-swagger 2.0.491 → 2.0.494

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.
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { Autoinject, TypedArray } from '@spinajs/di';
11
11
  import { ParameterType, RouteType } from '@spinajs/http';
12
12
  import { SCHEMA_SYMBOL, SchemaProvider } from '@spinajs/validation';
13
+ import { InvalidArgument } from '@spinajs/exceptions';
13
14
  import { safeParse } from '@spinajs/util';
14
15
  /**
15
16
  * Set of ParameterType values that map to internal framework params (not API params).
@@ -106,11 +107,29 @@ const STANDARD_RESPONSE_DESCRIPTIONS = {
106
107
  '422': 'Validation error — request body failed schema validation',
107
108
  '500': 'Internal server error',
108
109
  };
110
+ /**
111
+ * Every `{placeholder}` an OpenAPI path template carries, in template order.
112
+ *
113
+ * The template is the single source of truth for path parameters. It is read from the
114
+ * FULL path the document emits (controller `@BasePath` + route path + configured
115
+ * `basePath` prefix), not from `route.Path` — a placeholder declared in `@BasePath` is
116
+ * invisible to `route.Path` and rejecting an argument that names it would be a false
117
+ * alarm.
118
+ *
119
+ * Deduplicated: `name` + `in` is a parameter's identity in OpenAPI, so a template that
120
+ * repeats a placeholder still yields one parameter.
121
+ */
122
+ function pathTemplatePlaceholders(template) {
123
+ const names = (template.match(/{([a-zA-Z_][a-zA-Z0-9_]*)}/g) ?? []).map((p) => p.slice(1, -1));
124
+ return [...new Set(names)];
125
+ }
109
126
  export class OpenApiBuilder {
110
127
  constructor(config) {
111
128
  this.tags = new Map();
112
129
  this.registeredResponses = new Set();
113
130
  this.registeredComponents = new Set();
131
+ /** Per type name: whether its two flavours differ and therefore need two components. */
132
+ this.componentClaims = new Map();
114
133
  this.errorSchemaRegistered = false;
115
134
  this.registeredPolicies = new Set();
116
135
  this.policySectionEntries = [];
@@ -170,7 +189,7 @@ export class OpenApiBuilder {
170
189
  const httpMethod = this.mapRouteType(route.Type);
171
190
  if (!httpMethod)
172
191
  continue;
173
- const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName);
192
+ const operation = this.buildOperation(controller.name, methodNameStr, route, methodDoc, tagName, fullPath);
174
193
  this.applyRbac(operation, rbac, methodNameStr);
175
194
  this.applyPolicies(operation, docCache, methodNameStr);
176
195
  if (!this.document.paths[fullPath]) {
@@ -335,8 +354,12 @@ export class OpenApiBuilder {
335
354
  }
336
355
  /**
337
356
  * Build an OpenAPI operation from a route and its documentation.
357
+ *
358
+ * `fullPath` is the OpenAPI path template this operation is filed under. It — not the
359
+ * argument list — decides which path parameters the operation has; see
360
+ * resolvePathPlaceholder() for the contract a declared argument must satisfy.
338
361
  */
339
- buildOperation(controllerName, methodName, route, methodDoc, tagName) {
362
+ buildOperation(controllerName, methodName, route, methodDoc, tagName, fullPath) {
340
363
  const operation = {
341
364
  operationId: `${controllerName}_${methodName}`,
342
365
  tags: methodDoc?.tags || [tagName],
@@ -349,9 +372,13 @@ export class OpenApiBuilder {
349
372
  security: methodDoc?.security,
350
373
  };
351
374
  const bodyParams = [];
352
- // Extract path param names from the Express route path as fallback when param.Name is not set
353
- const pathParamNames = (route.Path || '').match(/:([a-zA-Z_][a-zA-Z0-9_]*)/g)?.map((p) => p.slice(1)) ?? [];
354
- let pathParamIndex = 0;
375
+ // The URL template owns the path parameters. Arguments only enrich them.
376
+ const placeholders = pathTemplatePlaceholders(fullPath);
377
+ // Placeholder -> the argument that declares it. At most one argument per placeholder;
378
+ // a second one is a defect in the controller, not something to reconcile here.
379
+ const declaredPlaceholders = new Map();
380
+ // Parameters other than path ones, kept in argument order.
381
+ const otherParams = [];
355
382
  // Process route parameters
356
383
  for (const [, param] of route.Parameters) {
357
384
  if (INTERNAL_PARAMS.has(param.Type)) {
@@ -365,26 +392,52 @@ export class OpenApiBuilder {
365
392
  if (!location) {
366
393
  if (param.Type === 'FromDbModel') {
367
394
  location = this.fromDbModelLocation(param);
395
+ // fromDbModelLocation() answers 'path' for paramType=FromBody too, only so the
396
+ // value stays visible somewhere in the document. A body key has no URL
397
+ // placeholder to match and readsPathParam() is the authority on that, so it is
398
+ // not a path parameter and must not be pushed through the strict resolver.
399
+ // It carries no OpenAPI location at all — a body is described by requestBody.
400
+ if (location === 'path' && !this.readsPathParam(param)) {
401
+ location = undefined;
402
+ }
368
403
  }
369
404
  else if (param.Type === 'FilterModelRouteArg') {
370
405
  location = 'query';
371
406
  }
372
407
  }
373
- const isPathParam = location === 'path';
374
- const resolvedName = param.Name || (isPathParam ? pathParamNames[pathParamIndex++] : undefined);
375
- if (isPathParam && resolvedName && !param.Name) {
376
- param.Name = resolvedName;
377
- }
378
- const paramDoc = methodDoc?.params?.[resolvedName ?? param.Name];
408
+ // JSDoc is written against the argument name.
409
+ const paramDoc = methodDoc?.params?.[param.Name];
379
410
  if (BODY_PARAMS.has(param.Type)) {
380
411
  bodyParams.push({ param, doc: paramDoc });
381
412
  continue;
382
413
  }
414
+ if (location === 'path') {
415
+ const placeholder = this.resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath);
416
+ const previous = declaredPlaceholders.get(placeholder);
417
+ if (previous) {
418
+ throw new InvalidArgument(`${controllerName}.${methodName}: path placeholder \`${placeholder}\` is declared twice, ` +
419
+ `by \`${previous.param.Name}\` and by \`${param.Name}\`, in route \`${fullPath}\`. ` +
420
+ `Each placeholder must be declared by at most one argument — drop one of them, ` +
421
+ `or point its paramField at a different placeholder.`);
422
+ }
423
+ declaredPlaceholders.set(placeholder, { param, doc: paramDoc ?? methodDoc?.params?.[placeholder] });
424
+ continue;
425
+ }
383
426
  if (location) {
384
- const apiParam = this.buildParameter(param, location, paramDoc, resolvedName);
385
- operation.parameters.push(apiParam);
427
+ otherParams.push(this.buildParameter(param, location, paramDoc, this.emittedParamName(param)));
386
428
  }
387
429
  }
430
+ // Emit one required parameter per placeholder, in template order. A placeholder nobody
431
+ // declares is still a parameter the caller has to fill in: the backend compiles with
432
+ // `noUnusedParameters`, so a handler that never reads `:campaign` CANNOT declare an
433
+ // argument for it, and the URL template is then the only place that knows about it.
434
+ for (const name of placeholders) {
435
+ const declared = declaredPlaceholders.get(name);
436
+ operation.parameters.push(declared
437
+ ? this.buildParameter(declared.param, 'path', declared.doc, name)
438
+ : { name, in: 'path', required: true, schema: { type: 'string' } });
439
+ }
440
+ operation.parameters.push(...otherParams);
388
441
  // Build request body from body params
389
442
  if (bodyParams.length > 0) {
390
443
  operation.requestBody = this.buildRequestBody(bodyParams, route);
@@ -566,6 +619,149 @@ export class OpenApiBuilder {
566
619
  return 'path';
567
620
  }
568
621
  }
622
+ /**
623
+ * The name a non-path parameter is emitted under.
624
+ *
625
+ * orm-http's FromDbModel._extractValue reads `req.query[paramField ?? Name]` (same for
626
+ * headers), so an explicit `paramField` IS the wire name and the TypeScript argument name
627
+ * is not what the runtime looks for. Path parameters do not go through here — their name
628
+ * is the placeholder, see resolvePathPlaceholder().
629
+ */
630
+ emittedParamName(param) {
631
+ const paramField = param.Options?.paramField;
632
+ return paramField || param.Name || undefined;
633
+ }
634
+ /**
635
+ * The URL placeholder a path-bound argument declares — or a throw.
636
+ *
637
+ * Path parameters are emitted from the URL template (see buildOperation); a declared
638
+ * argument only enriches the one it names, with its schema and its JSDoc description.
639
+ * There are exactly two ways to name one:
640
+ *
641
+ * 1. `Options.paramField` — that IS the placeholder, and it must exist in the template.
642
+ * It is also the field orm-http's FromDbModel.extract() reads from `req.params`, so
643
+ * the document and the runtime agree by construction.
644
+ * 2. the argument's own name, when it equals a placeholder.
645
+ *
646
+ * Anything else throws. No positional assignment, no "first free placeholder", no
647
+ * underscore aliasing: a controller the documentation layer cannot read unambiguously is
648
+ * a controller to fix, not to guess at. An underscore-prefixed argument (`_campaign`,
649
+ * written only to satisfy `noUnusedParameters`) matches no placeholder and therefore
650
+ * throws — the fix is to DELETE the argument, because the placeholder is emitted from the
651
+ * template whether anything declares it or not.
652
+ *
653
+ * The message has to be enough to fix the route without opening this file: it names the
654
+ * controller, the method, the argument, the template, every placeholder that template
655
+ * carries and the two ways out.
656
+ */
657
+ resolvePathPlaceholder(controllerName, methodName, param, placeholders, fullPath) {
658
+ const paramField = param.Options?.paramField;
659
+ const argument = param.Name || `argument #${param.Index}`;
660
+ const available = placeholders.length > 0
661
+ ? `Available placeholders: ${placeholders.join(', ')}.`
662
+ : 'The route declares no path placeholders at all.';
663
+ const suggestion = placeholders.length > 0 ? placeholders[0] : 'name';
664
+ const fix = `Either rename the argument to a placeholder the route really has, or name one explicitly ` +
665
+ `with the decorator's paramField option, e.g. @FromModel({ paramField: '${suggestion}' }). ` +
666
+ `If the handler never reads the value, delete the argument instead: every placeholder is ` +
667
+ `documented from the URL template whether an argument declares it or not. Path parameters ` +
668
+ `are resolved strictly — the documentation layer does not guess.`;
669
+ if (paramField) {
670
+ if (placeholders.includes(paramField)) {
671
+ return paramField;
672
+ }
673
+ throw new InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` declares paramField ` +
674
+ `\`${paramField}\`, which matches no placeholder in route \`${fullPath}\`. ${available} ${fix}`);
675
+ }
676
+ if (param.Name && placeholders.includes(param.Name)) {
677
+ return param.Name;
678
+ }
679
+ throw new InvalidArgument(`${controllerName}.${methodName}: path argument \`${argument}\` matches no placeholder ` +
680
+ `in route \`${fullPath}\`. ${available} ${fix}`);
681
+ }
682
+ /**
683
+ * Whether an @FromModel parameter reads its key from the URL path.
684
+ *
685
+ * Mirrors orm-http's FromDbModel._extractValue: only an absent `paramType` ( the default )
686
+ * or an explicit FromParams reaches `req.params`. Query / body / header keys live somewhere
687
+ * else entirely and have no business claiming a URL placeholder.
688
+ */
689
+ readsPathParam(param) {
690
+ const paramType = param.Options?.paramType;
691
+ return paramType === undefined || paramType === null || paramType === ParameterType.FromParams || paramType === 'FromParams';
692
+ }
693
+ /**
694
+ * Schema for the value an @FromModel parameter actually carries: the key the model
695
+ * is looked up by, never the model itself. The runtime picks that column the same
696
+ * way (FromDbModel.fromDbModelDefaultQueryFunction): `Options.queryField` if given,
697
+ * otherwise the model's primary key.
698
+ *
699
+ * The descriptor is read through the global `Symbol.for('MODEL_DESCRIPTOR')` so this
700
+ * package keeps no @spinajs/orm dependency (same trick as extractFilterableColumns).
701
+ * `PrimaryKey` is filled only by the @Primary decorator, so legacy models without it
702
+ * fall back to the column the driver introspected as primary.
703
+ */
704
+ fromDbModelKeySchema(param) {
705
+ const modelCtor = param.RuntimeType;
706
+ const descriptor = typeof modelCtor === 'function'
707
+ ? Reflect.getMetadata(Symbol.for('MODEL_DESCRIPTOR'), modelCtor)
708
+ : undefined;
709
+ const columns = Array.isArray(descriptor?.Columns) ? descriptor.Columns : [];
710
+ const primaryKey = descriptor?.PrimaryKey;
711
+ const declaredKey = Array.isArray(primaryKey) ? primaryKey[0] : primaryKey || undefined;
712
+ const keyName = param.Options?.queryField ?? declaredKey ?? columns.find((c) => c.PrimaryKey)?.Name;
713
+ const modelName = descriptor?.Name || (typeof modelCtor === 'function' ? modelCtor.name : undefined);
714
+ const column = keyName ? columns.find((c) => c.Name === keyName) : undefined;
715
+ // No descriptor at all (model metadata not loaded) still beats `type: object` —
716
+ // whatever the key is, it travels as a single scalar in the URL or query string.
717
+ const schema = this.schemaFromDbColumnType(column?.Type);
718
+ return {
719
+ ...schema,
720
+ description: modelName && keyName ? `${modelName}.${keyName}` : modelName ? `${modelName} key` : undefined,
721
+ };
722
+ }
723
+ /**
724
+ * Map a database column type (driver's DATA_TYPE) to an OpenAPI primitive.
725
+ * Unknown types fall back to string — the value travels as a URL segment anyway.
726
+ */
727
+ schemaFromDbColumnType(type) {
728
+ const normalized = (type ?? '')
729
+ .toLowerCase()
730
+ .replace(/\(.*$/, '')
731
+ .replace(/\s+unsigned$/, '')
732
+ .trim();
733
+ switch (normalized) {
734
+ case 'tinyint':
735
+ case 'smallint':
736
+ case 'mediumint':
737
+ case 'int':
738
+ case 'integer':
739
+ case 'year':
740
+ return { type: 'integer' };
741
+ case 'bigint':
742
+ return { type: 'integer', format: 'int64' };
743
+ case 'float':
744
+ case 'double':
745
+ case 'real':
746
+ return { type: 'number' };
747
+ case 'bool':
748
+ case 'boolean':
749
+ case 'bit':
750
+ return { type: 'boolean' };
751
+ // DECIMAL/NUMERIC come back from the driver as strings (precision is not
752
+ // survivable as a JS number), so the doc must say string as well.
753
+ case 'decimal':
754
+ case 'numeric':
755
+ return { type: 'string' };
756
+ case 'date':
757
+ return { type: 'string', format: 'date' };
758
+ case 'datetime':
759
+ case 'timestamp':
760
+ return { type: 'string', format: 'date-time' };
761
+ default:
762
+ return { type: 'string' };
763
+ }
764
+ }
569
765
  /**
570
766
  * Build an OpenAPI parameter from route parameter info.
571
767
  */
@@ -600,6 +796,12 @@ export class OpenApiBuilder {
600
796
  if (param.Type === 'FilterModelRouteArg') {
601
797
  return this.buildFilterSchema(param);
602
798
  }
799
+ // orm-http @FromModel — the request carries the key the model is loaded by, not the
800
+ // model. The model's own schema describes a write body and would document this
801
+ // parameter as an object, which no URL segment can be.
802
+ if (param.Type === 'FromDbModel') {
803
+ return this.fromDbModelKeySchema(param);
804
+ }
603
805
  if (param.Schema && typeof param.Schema === 'object') {
604
806
  return this.convertJsonSchema(param.Schema);
605
807
  }
@@ -672,6 +874,17 @@ export class OpenApiBuilder {
672
874
  result.properties[k] = this.convertJsonSchema(v);
673
875
  }
674
876
  }
877
+ // A map keyed by data — RBAC grants are resource → action → descriptor, so
878
+ // the names cannot be enumerated and `properties` cannot describe them.
879
+ // Dropping this collapsed such a schema to a bare `object`. `false` is kept
880
+ // as-is: it says "no unknown keys", which is a real constraint, not a value
881
+ // schema.
882
+ if (typeof jsonSchema.additionalProperties === 'boolean') {
883
+ result.additionalProperties = jsonSchema.additionalProperties;
884
+ }
885
+ else if (jsonSchema.additionalProperties) {
886
+ result.additionalProperties = this.convertJsonSchema(jsonSchema.additionalProperties);
887
+ }
675
888
  if (Array.isArray(jsonSchema.oneOf)) {
676
889
  result.oneOf = jsonSchema.oneOf.map((s) => this.convertJsonSchema(s));
677
890
  }
@@ -777,7 +990,7 @@ export class OpenApiBuilder {
777
990
  : (methodDoc.returns.schema ?? { type: 'object' });
778
991
  responses['200'] = {
779
992
  description: methodDoc.returns.description || 'Successful response',
780
- content: { 'application/json': { schema: this.expandNamedSchemas(schema) } },
993
+ content: { 'application/json': { schema: this.expandNamedSchemas(schema, 'response') } },
781
994
  };
782
995
  }
783
996
  else if (!hasExplicit2xx) {
@@ -792,7 +1005,7 @@ export class OpenApiBuilder {
792
1005
  if (resp.type) {
793
1006
  responses[statusCode] = {
794
1007
  description: resp.description,
795
- content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type)) } },
1008
+ content: { 'application/json': { schema: this.expandNamedSchemas(this.inferSchemaFromString(resp.type), 'response') } },
796
1009
  };
797
1010
  continue;
798
1011
  }
@@ -860,26 +1073,30 @@ export class OpenApiBuilder {
860
1073
  /**
861
1074
  * Swaps named-type nodes for a reusable component `$ref`, registering each component once.
862
1075
  * Walks `items` and `properties` so nested types are expanded too.
1076
+ *
1077
+ * `kind` says which side of the wire this subtree describes and is carried down the whole
1078
+ * walk — a relation nested in a response is still a response. It defaults to 'request'
1079
+ * so every caller that never had an opinion keeps the schema it always got.
863
1080
  */
864
- expandNamedSchemas(schema) {
1081
+ expandNamedSchemas(schema, kind = 'request') {
865
1082
  // Case 1 — primitive / null: nothing to expand, return as-is.
866
1083
  if (!schema || typeof schema !== 'object') {
867
1084
  return schema;
868
1085
  }
869
1086
  // Case 2 — a named-model tag: replace the whole node with a $ref to its component.
870
1087
  if (schema.description && !schema.$ref) {
871
- const ref = this.registerNamedComponent(schema.description);
1088
+ const ref = this.registerNamedComponent(schema.description, kind);
872
1089
  if (ref) {
873
1090
  return { $ref: ref };
874
1091
  }
875
1092
  }
876
1093
  // Case 3 — a container: keep the node, expand the two places a model can hide.
877
1094
  if (schema.items) {
878
- schema.items = this.expandNamedSchemas(schema.items);
1095
+ schema.items = this.expandNamedSchemas(schema.items, kind);
879
1096
  }
880
1097
  if (schema.properties) {
881
1098
  for (const key of Object.keys(schema.properties)) {
882
- schema.properties[key] = this.expandNamedSchemas(schema.properties[key]);
1099
+ schema.properties[key] = this.expandNamedSchemas(schema.properties[key], kind);
883
1100
  }
884
1101
  }
885
1102
  return schema;
@@ -888,23 +1105,99 @@ export class OpenApiBuilder {
888
1105
  * Registers `name` as a reusable component and returns its `$ref`.
889
1106
  * Returns undefined when no provider recognises the name, so the caller leaves the node as-is.
890
1107
  */
891
- registerNamedComponent(name) {
892
- const ref = `#/components/schemas/${name}`;
893
- // Already registered (or in progress) — just reference it.
894
- if (this.registeredComponents.has(name)) {
895
- return ref;
896
- }
897
- const resolved = this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
1108
+ registerNamedComponent(name, kind = 'request') {
1109
+ const resolved = this.resolveNamedSchema(name, kind);
898
1110
  if (!resolved) {
899
1111
  return undefined;
900
1112
  }
901
- this.registeredComponents.add(name);
1113
+ const componentName = this.componentNameFor(name, kind, resolved);
1114
+ const ref = `#/components/schemas/${componentName}`;
1115
+ // Already registered (or in progress) — just reference it. Registering BEFORE the
1116
+ // expansion below is what stops a cyclic relation from recursing forever.
1117
+ if (this.registeredComponents.has(componentName)) {
1118
+ return ref;
1119
+ }
1120
+ this.registeredComponents.add(componentName);
902
1121
  const components = (this.document.components ??= {});
903
1122
  const schemas = (components.schemas ??= {});
904
1123
  // Expand nested named tags into their own components.
905
- schemas[name] = this.expandNamedSchemas(this.convertJsonSchema(resolved));
1124
+ schemas[componentName] = this.expandNamedSchemas(this.convertJsonSchema(resolved), kind);
906
1125
  return ref;
907
1126
  }
1127
+ /**
1128
+ * Pick the schema a component should be built from.
1129
+ *
1130
+ * An ORM model carries two different contracts under one name: `@Schema` says what a
1131
+ * client may SEND, the model's own columns say what the API RETURNS. Serving the write
1132
+ * schema as the response contract is how a response ends up missing every column the
1133
+ * database generates (`id`, `created_at`), missing `nullable` on columns that are null in
1134
+ * practice, carrying `maxLength` copied from the column width, and demanding fields a
1135
+ * response legitimately omits — enough for a generated client validator to reject
1136
+ * ordinary rows.
1137
+ *
1138
+ * So a response asks the providers for their response flavour first. Providers that have
1139
+ * none (a `@Schema` DTO is the same object both ways) return undefined and we fall back
1140
+ * to `getSchema` — which is also the only thing a request ever consults.
1141
+ */
1142
+ resolveNamedSchema(name, kind) {
1143
+ if (kind === 'response') {
1144
+ // optional call — a provider compiled against an older @spinajs/validation has no such method
1145
+ const response = this.SchemaProviders.map((p) => p.getResponseSchema?.(name)).find((r) => !!r);
1146
+ if (response) {
1147
+ return response;
1148
+ }
1149
+ }
1150
+ return this.SchemaProviders.map((p) => p.getSchema(name)).find((r) => !!r);
1151
+ }
1152
+ /**
1153
+ * Component name for `name` in the given flavour.
1154
+ *
1155
+ * A type whose two flavours agree is ONE component called `<Name>`. When they differ the
1156
+ * response keeps `<Name>` and the request becomes `<Name>Request` — always, whichever
1157
+ * flavour the traversal happens to reach first. Letting the first arrival keep the base
1158
+ * name made the suffix a function of controller-discovery ( filesystem ) order: adding or
1159
+ * renaming an unrelated controller could flip `User` to `UserRequest` in every generated
1160
+ * client, with nothing in the diff to explain it.
1161
+ *
1162
+ * The response is the half that keeps the plain name because it is the half most of a
1163
+ * client's surface is built from — a list screen references the row type far more often
1164
+ * than the write form does.
1165
+ *
1166
+ * Both flavours are resolved here, at the first encounter, precisely so the answer does not
1167
+ * depend on which one asked. Providers are pure lookups, so asking twice costs nothing.
1168
+ *
1169
+ * @param name - type name to place in components
1170
+ * @param kind - flavour being registered right now
1171
+ * @param resolved - the schema already resolved for `kind`, reused instead of re-asking
1172
+ */
1173
+ componentNameFor(name, kind, resolved) {
1174
+ let claim = this.componentClaims.get(name);
1175
+ if (!claim) {
1176
+ const request = kind === 'request' ? resolved : this.resolveNamedSchema(name, 'request');
1177
+ const response = kind === 'response' ? resolved : this.resolveNamedSchema(name, 'response');
1178
+ const requestKey = request && this.schemaKey(request);
1179
+ const responseKey = response && this.schemaKey(response);
1180
+ // An unserializable schema counts as "differs": that costs one extra component but
1181
+ // never merges two contracts into one.
1182
+ claim = { split: !requestKey || !responseKey || requestKey !== responseKey };
1183
+ this.componentClaims.set(name, claim);
1184
+ }
1185
+ return claim.split && kind === 'request' ? `${name}Request` : name;
1186
+ }
1187
+ /**
1188
+ * Identity of a resolved schema, used only to tell "both flavours, same contract" from
1189
+ * "both flavours, different contract". Undefined when the schema can't be serialized —
1190
+ * then the two flavours are assumed to differ, which costs a component but never merges
1191
+ * two contracts into one.
1192
+ */
1193
+ schemaKey(schema) {
1194
+ try {
1195
+ return JSON.stringify(schema);
1196
+ }
1197
+ catch {
1198
+ return undefined;
1199
+ }
1200
+ }
908
1201
  /**
909
1202
  * Infer an OpenAPI schema from a TypeScript runtime type.
910
1203
  */
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-builder.js","sourceRoot":"","sources":["../../src/openapi-builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAA2C,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAe1C;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IACtC,aAAa,CAAC,GAAG;IACjB,aAAa,CAAC,GAAG;IACjB,aAAa,CAAC,MAAM;IACpB,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,WAAW;IACzB,cAAc;IACd,eAAe;IACf,QAAQ;IACR,aAAa;IACb,sBAAsB;CACvB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;IAClC,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,SAAS;IACvB,aAAa,CAAC,QAAQ;IACtB,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,YAAY;IAC1B,UAAU;IACV,oBAAoB;IACpB,UAAU;IACV,eAAe;IACf,WAAW;IACX,UAAU;IACV,SAAS;IACT,cAAc;IACd,+EAA+E;IAC/E,WAAW;CACZ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IAC5C,aAAa,CAAC,QAAQ,EAAE,UAAU;IAClC,aAAa,CAAC,QAAQ,EAAE,UAAU;IAClC,aAAa,CAAC,SAAS,EAAE,eAAe;IACxC,aAAa,CAAC,OAAO,EAAE,SAAS;IAChC,aAAa,CAAC,YAAY,EAAE,cAAc;CAC3C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAA2D;IACjF,SAAS,EAAE,OAAO;IAClB,mBAAmB,EAAE,OAAO;IAE5B,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,MAAM;IAE3B,UAAU,EAAE,QAAQ;IACpB,qBAAqB,EAAE,QAAQ;IAE/B,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAA2B;IACtD,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,8BAA8B,GAA2B;IAC7D,KAAK,EAAE,2DAA2D;IAClE,KAAK,EAAE,8CAA8C;IACrD,KAAK,EAAE,kDAAkD;IACzD,KAAK,EAAE,mDAAmD;IAC1D,KAAK,EAAE,sCAAsC;IAC7C,KAAK,EAAE,uEAAuE;IAC9E,KAAK,EAAE,0DAA0D;IACjE,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,0DAA0D;IACjE,KAAK,EAAE,uBAAuB;CAC/B,CAAC;AASF;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,cAAc;IAgBzB,YAAY,MAAsB;QAb1B,SAAI,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC3C,wBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC7C,yBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;QACtD,wFAAwF;QAChF,oBAAe,GAAoC,IAAI,GAAG,EAAE,CAAC;QAC7D,0BAAqB,GAAG,KAAK,CAAC;QAC9B,uBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC5C,yBAAoB,GAAa,EAAE,CAAC;QACpC,wBAAmB,GAAW,EAAE,CAAC;QAMvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,mBAAmB;gBAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;gBAClC,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC;YACD,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACjF,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG;gBACzB,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACI,aAAa,CAClB,UAAqC,EACrC,QAA4B;QAE5B,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;QACnD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5F,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAElE,2DAA2D;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBACrB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,QAAQ,CAAC,gBAAgB;aACvC,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,UAAoB,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAgB,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACnC,UAAU,CAAC,IAAI,EACf,aAAa,EACb,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,aAAa,CAAC,SAA4B,EAAE,QAA4B,EAAE,UAAkB;QAClG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7B,SAAS,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;QAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,MAAM,IAAI,KAAK,GAAG,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,MAAM,KAAK,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjG,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,IAAY,EAAE,GAA6C;QACzF,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,6DAA6D,CAAC;QAC9G,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,MAAM,WAAW,IAAI,SAAS,WAAW,EAAE,CAAC,CAAC;QAE1F,gEAAgE;QAChE,MAAM,OAAO,GAAG,+EAA+E;YAC7F,2EAA2E,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACrH,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACvE,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,QAAiB;QAEjB,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAkB,CAMlD,CAAC;QAEd,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACxE,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,SAAS,CACf,SAA4B,EAC5B,IAAsD,EACtD,UAAkB;QAElB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxF,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvD,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,oBAAoB,CAAC,GAAG,WAAW,CAAC;QAE1E,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;QAC9H,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,IAAI,GAAG,sBAAsB,QAAQ,gBAAgB,YAAY,EAAE,CAAC;QAE1E,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,QAAgB,EAAE,SAA6B,EAAE,UAAkB;QACnF,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,QAAQ,GAAG,CAAC;YACzB,CAAC;iBAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;QACtC,CAAC;QAED,6DAA6D;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAE1D,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAe;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS,CAAC,GAAG,CAAC;YACnB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS,CAAC,KAAK;gBAClB,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CACpB,cAAsB,EACtB,UAAkB,EAClB,KAAa,EACb,SAA2C,EAC3C,OAAe,EACf,QAAgB;QAEhB,MAAM,SAAS,GAAsB;YACnC,WAAW,EAAE,GAAG,cAAc,IAAI,UAAU,EAAE;YAC9C,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,OAAO;YAC3B,WAAW,EAAE,SAAS,EAAE,WAAW;YACnC,UAAU,EAAE,SAAS,EAAE,UAAU;YACjC,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YACzC,4FAA4F;YAC5F,QAAQ,EAAE,SAAS,EAAE,QAAQ;SAC9B,CAAC;QAEF,MAAM,UAAU,GAA8F,EAAE,CAAC;QAEjH,yEAAyE;QACzE,MAAM,YAAY,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAExD,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAmG,CAAC;QAExI,2DAA2D;QAC3D,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,2BAA2B;QAC3B,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,oFAAoF;YACpF,IAAI,QAAQ,GAAuD,kBAAkB,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;YAC5G,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAE3C,+EAA+E;oBAC/E,uEAAuE;oBACvE,+EAA+E;oBAC/E,2EAA2E;oBAC3E,8EAA8E;oBAC9E,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvD,QAAQ,GAAG,SAAS,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAChD,QAAQ,GAAG,OAAO,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC3G,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAEvD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,wBAAwB,WAAW,wBAAwB;wBACxF,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,IAAI,kBAAkB,QAAQ,MAAM;wBACpF,gFAAgF;wBAChF,qDAAqD,CACxD,CAAC;gBACJ,CAAC;gBAED,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpG,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,qFAAqF;QACrF,oFAAoF;QACpF,oFAAoF;QACpF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChD,SAAS,CAAC,UAAW,CAAC,IAAI,CACxB,QAAQ;gBACN,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;gBACjE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,UAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAE3C,sCAAsC;QACtC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAED,oEAAoE;QACpE,uEAAuE;QACvE,8CAA8C;QAC9C,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxB,IAAI,OAAmE,CAAC;YACxE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBACnB,EAAE,CAAC,OAAO,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;oBAC1C,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,QAAS,CAAC,GAAG,CAAC,GAAG;wBACvB,OAAO,EAAE,EAAE,CAAC,IAAI;wBAChB,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC;qBACnC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,SAAS,CAAC,UAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,KAAsB;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkB,CAAC;QAEzC,yBAAyB;QACzB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAA8C,CAAC,CAAC;YAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,0EAA0E;YAC1E,MAAM,IAAI,GAAG,OAA2C,CAAC;YACzD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAgD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC;YAClI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0CAA0C;SACxD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,wBAAwB,CAAC,SAA8C;QAC7E,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,SAAS,CAE5D,CAAC;QACd,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,OAAkD;QAC7E,MAAM,WAAW,GAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;YACzC,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gBAC/D,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBAC7C;oBACD,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,SAAS;oBACjB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iBACxB;aACF;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YAC3B,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC3D,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;wBAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAE,EAAE,KAAK,EAAE,WAAW,EAAqB;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,KAAsB;QAChD,MAAM,SAAS,GAAI,KAAK,CAAC,OAA8C,EAAE,SAAS,CAAC;QACnF,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC,SAAS,CAAC;YAC7B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC;YACjB,KAAK,aAAa,CAAC,UAAU,CAAC;YAC9B,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC;YAClB,KAAK,aAAa,CAAC,QAAQ,CAAC;YAC5B,KAAK,UAAU;gBACb,6EAA6E;gBAC7E,2DAA2D;gBAC3D,OAAO,MAAM,CAAC;YAChB,KAAK,aAAa,CAAC,UAAU,CAAC;YAC9B,KAAK,YAAY,CAAC;YAClB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,KAAsB;QAC7C,MAAM,UAAU,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,CAAC;QACtF,OAAO,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,sBAAsB,CAC5B,cAAsB,EACtB,UAAkB,EAClB,KAAsB,EACtB,YAAsB,EACtB,QAAgB;QAEhB,MAAM,UAAU,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,CAAC;QACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC;QAE1D,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,2BAA2B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACvD,CAAC,CAAC,iDAAiD,CAAC;QACxD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,GAAG,GACP,2FAA2F;YAC3F,0EAA0E,UAAU,QAAQ;YAC5F,0FAA0F;YAC1F,2FAA2F;YAC3F,iEAAiE,CAAC;QAEpE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,qBAAqB,QAAQ,yBAAyB;gBACnF,KAAK,UAAU,+CAA+C,QAAQ,OAAO,SAAS,IAAI,GAAG,EAAE,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,GAAG,cAAc,IAAI,UAAU,qBAAqB,QAAQ,4BAA4B;YACtF,cAAc,QAAQ,OAAO,SAAS,IAAI,GAAG,EAAE,CAClD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,KAAsB;QAC3C,MAAM,SAAS,GAAI,KAAK,CAAC,OAA8C,EAAE,SAAS,CAAC;QACnF,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,aAAa,CAAC,UAAU,IAAK,SAAoB,KAAK,YAAY,CAAC;IAC3I,CAAC;IAED;;;;;;;;;;OAUG;IACK,oBAAoB,CAAC,KAAsB;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,MAAM,UAAU,GACd,OAAO,SAAS,KAAK,UAAU;YAC7B,CAAC,CAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAEhD;YAChB,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC;QAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QACxF,MAAM,OAAO,GAAI,KAAK,CAAC,OAA+C,EAAE,UAAU,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;QAE7I,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5H,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7E,gFAAgF;QAChF,iFAAiF;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEzD,OAAO;YACL,GAAG,MAAM;YACT,WAAW,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS;SAC3G,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAwB;QACrD,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aAC5B,WAAW,EAAE;aACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,IAAI,EAAE,CAAC;QAEV,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9C,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,yEAAyE;YACzE,kEAAkE;YAClE,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5C,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjD;gBACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,KAAsB,EACtB,QAAgD,EAChD,GAA2D,EAC3D,YAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC;QAE3C,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,YAAY,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE;YAC1D,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,QAAQ,EAAE,QAAQ,KAAK,MAAM;SAC9B,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClE,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,MAAM;YACN,GAAG,CAAC,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,KAAsB,EAAE,OAAgB;QAC9D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,2FAA2F;QAC3F,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,oFAAoF;QACpF,+EAA+E;QAC/E,uDAAuD;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,YAAY,UAAU,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAI,WAA+B,CAAC,IAAW,CAAC;gBAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC9J,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,WAAkB,CAAC;gBAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7I,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACtD,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC1C,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAAe;QACvC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,iFAAiF;QACjF,sCAAsC;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,GAAI,UAAU,CAAC,IAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,UAAU,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACzD,IAAI,UAAU,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACxE,IAAI,UAAU,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/D,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1E,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1E,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAChF,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAChF,IAAI,UAAU,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC5D,IAAI,UAAU,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAE/D,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,UAAU;QACV,IAAI,OAAO,UAAU,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC;QAChE,CAAC;aAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,mDAAmD;YACnD,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1D,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAE1E,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,MAAsB,EAAE,WAAgB;QACpE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAEvJ,CAAC;QAEd,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,OAAO,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,aAAa,CAAC;YACzC,MAAM,IAAI,GAAG,gBAAgB,SAAS,OAAO,OAAO,qDAAqD,CAAC;YAC1G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,IAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,UAAqG,EACrG,MAAc;QAEd,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC,CAAC;QAE5F,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAEzE,oEAAoE;QACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO;gBACL,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW;gBAChC,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,CAAC,WAAW,CAAC,EAAE;wBACb,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;qBAC9E;iBACF;aACF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAmC,EAAE,CAAC;QACtD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACvF,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI;gBAC9B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;QACxD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,CAAC,WAAW,CAAC,EAAE;oBACb,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,SAA2C;QAChE,MAAM,SAAS,GAAqC,EAAE,CAAC;QAEvD,+EAA+E;QAC/E,oEAAoE;QACpE,0EAA0E;QAC1E,gCAAgC;QAChC,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjH,MAAM,qBAAqB,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;QAEhH,IAAI,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC,cAAc,IAAI,qBAAqB,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GACV,SAAS,CAAC,OAAO,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEvD,SAAS,CAAC,KAAK,CAAC,GAAG;gBACjB,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,IAAI,qBAAqB;gBACnE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;aACzF,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAC5D,CAAC;QAED,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrE,gEAAgE;gBAChE,oEAAoE;gBACpE,uEAAuE;gBACvE,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,SAAS,CAAC,UAAU,CAAC,GAAG;wBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;qBACxH,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5E,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACK,wBAAwB,CAAC,UAAkB,EAAE,WAAoB;QACvE,MAAM,IAAI,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,GAAG;gBAChB,WAAW,EAAE,WAAW,IAAI,8BAA8B,CAAC,UAAU,CAAC,IAAI,IAAI;gBAC9E,OAAO,EAAE;oBACP,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE;iBACvE;aACF,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,qBAAqB;YAAE,OAAO;QAEvC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oBACxE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC9F;aACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,MAAsB,EAAE,OAAmB,SAAS;QAC7E,8DAA8D;QAC9D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,mFAAmF;QACnF,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAY,EAAE,OAAmB,SAAS;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,wBAAwB,aAAa,EAAE,CAAC;QAEpD,kFAAkF;QAClF,0EAA0E;QAC1E,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAE5C,sDAAsD;QACtD,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAEzF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,kBAAkB,CAAC,IAAY,EAAE,IAAgB;QACvD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,8FAA8F;YAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IAEK,gBAAgB,CAAC,IAAY,EAAE,IAAgB,EAAE,QAAiC;QACxF,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEzD,mFAAmF;YACnF,uCAAuC;YACvC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC7E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,MAA+B;QAC/C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,WAAgB,EAAE,OAAgB;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,gCAAgC;QAChC,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACtD,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACtD,IAAI,WAAW,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxD,IAAI,WAAW,KAAK,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC/E,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAEtD,8DAA8D;QAC9D,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,OAAO;gBACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YACtD;gBACE,kCAAkC;gBAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAyB;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,+DAA+D;QAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AA9wCW;IADT,UAAU,CAAC,cAAc,CAAC;;uDACkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,qBACa,cAAe,SAAQ,YAAY;IAE9C,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,kBAAkB,EAAG,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,EAAG,eAAe,CAAC;IAGrC,SAAS,CAAC,aAAa,EAAG,cAAc,CAAC;IAEzC;;;;;OAKG;IAEH,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAiC;IAE9C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA0C;IAE/D,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACI,UAAU,IAAI,IAAI;IAIZ,OAAO,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA6BpD"}
1
+ {"version":3,"file":"swagger-service.d.ts","sourceRoot":"","sources":["../../src/swagger-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,qBACa,cAAe,SAAQ,YAAY;IAE9C,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,kBAAkB,EAAG,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,EAAG,eAAe,CAAC;IAGrC,SAAS,CAAC,aAAa,EAAG,cAAc,CAAC;IAEzC;;;;;OAKG;IAEH,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAiC;IAE9C;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA0C;IAE/D,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACI,UAAU,IAAI,IAAI;IAIZ,OAAO,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA6CpD"}