@memberjunction/server 5.51.1 → 5.51.2

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.
@@ -18,10 +18,19 @@ export declare class ResolverBase {
18
18
  * - AllowDecryptInAPI=false + SendEncryptedValue=true: Keep encrypted ciphertext
19
19
  * - AllowDecryptInAPI=false + SendEncryptedValue=false: Replace with sentinel
20
20
  *
21
+ * Returns a COPY — `dataObject` is never written to. Callers routinely pass rows straight
22
+ * from `findBy`/`RunView`, which are the server cache's own objects held by reference under a
23
+ * reference-sharing storage provider. Renaming in place therefore rewrote the cached row's
24
+ * keys, so later readers were served transport-shaped rows that `BaseEntity.SetMany` rejects —
25
+ * and because that cache is process-wide, one response corrupted every subsequent request
26
+ * across all workers. It bit every `UserByEmail` / `UserByID` / `UserByEmployeeID` call and
27
+ * every generated single-record resolver whose entity has caching enabled. Copying here fixes
28
+ * every call site at once and makes the hazard unreachable for future ones.
29
+ *
21
30
  * @param entityName - The entity name
22
- * @param dataObject - The data object with field values
31
+ * @param dataObject - The data object with field values. Not modified.
23
32
  * @param contextUser - Optional user context for decryption (required for encrypted fields)
24
- * @returns The processed data object
33
+ * @returns A new object in transport shape, or null when there is nothing to map
25
34
  */
26
35
  protected MapFieldNamesToCodeNames(entityName: string, dataObject: any, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<any>;
27
36
  /**
@@ -46,7 +55,13 @@ export declare class ResolverBase {
46
55
  Reason?: string | null;
47
56
  } | null;
48
57
  }): boolean;
49
- protected ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: any[], contextUser?: UserInfo): Promise<any[]>;
58
+ /**
59
+ * Array form of {@link MapFieldNamesToCodeNames}. Returns a NEW array of NEW objects; neither
60
+ * the input array nor its rows are modified. Both matter: a reference-sharing cache hands back
61
+ * the stored array itself, not a copy of it, so collecting the mapped copies (rather than
62
+ * mapping in place and returning the original) is what makes this safe on cache-served input.
63
+ */
64
+ protected ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: any[], contextUser?: UserInfo, provider?: IMetadataProvider): Promise<any[]>;
50
65
  /**
51
66
  * Loads a single external-data-source-backed entity record by primary key and returns it in
52
67
  * GraphQL field-name (CodeName) shape, or null if not found.
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
@@ -32,16 +32,27 @@ export class ResolverBase {
32
32
  * - AllowDecryptInAPI=false + SendEncryptedValue=true: Keep encrypted ciphertext
33
33
  * - AllowDecryptInAPI=false + SendEncryptedValue=false: Replace with sentinel
34
34
  *
35
+ * Returns a COPY — `dataObject` is never written to. Callers routinely pass rows straight
36
+ * from `findBy`/`RunView`, which are the server cache's own objects held by reference under a
37
+ * reference-sharing storage provider. Renaming in place therefore rewrote the cached row's
38
+ * keys, so later readers were served transport-shaped rows that `BaseEntity.SetMany` rejects —
39
+ * and because that cache is process-wide, one response corrupted every subsequent request
40
+ * across all workers. It bit every `UserByEmail` / `UserByID` / `UserByEmployeeID` call and
41
+ * every generated single-record resolver whose entity has caching enabled. Copying here fixes
42
+ * every call site at once and makes the hazard unreachable for future ones.
43
+ *
35
44
  * @param entityName - The entity name
36
- * @param dataObject - The data object with field values
45
+ * @param dataObject - The data object with field values. Not modified.
37
46
  * @param contextUser - Optional user context for decryption (required for encrypted fields)
38
- * @returns The processed data object
47
+ * @returns A new object in transport shape, or null when there is nothing to map
39
48
  */
40
49
  async MapFieldNamesToCodeNames(entityName, dataObject, contextUser, provider) {
41
50
  // Return null for empty objects (e.g. when no rows found due to RLS filtering)
42
51
  if (!dataObject || Object.keys(dataObject).length === 0) {
43
52
  return null;
44
53
  }
54
+ // Shallow copy up front so every write below lands on our object, never the caller's.
55
+ dataObject = { ...dataObject };
45
56
  // for the given entity name provided, check to see if there are any fields
46
57
  // where the code name is different from the field name, and for just those
47
58
  // fields, iterate through the dataObject and REPLACE the property that has the field name
@@ -152,14 +163,21 @@ export class ResolverBase {
152
163
  entityObject.SetRestoreContext(ctx.SourceChangeID, ctx.Reason ?? null);
153
164
  return true;
154
165
  }
155
- async ArrayMapFieldNamesToCodeNames(entityName, dataObjectArray, contextUser) {
156
- // iterate through the array and call MapFieldNamesToCodeNames for each element
157
- if (dataObjectArray && dataObjectArray.length > 0) {
158
- for (const element of dataObjectArray) {
159
- await this.MapFieldNamesToCodeNames(entityName, element, contextUser);
160
- }
166
+ /**
167
+ * Array form of {@link MapFieldNamesToCodeNames}. Returns a NEW array of NEW objects; neither
168
+ * the input array nor its rows are modified. Both matter: a reference-sharing cache hands back
169
+ * the stored array itself, not a copy of it, so collecting the mapped copies (rather than
170
+ * mapping in place and returning the original) is what makes this safe on cache-served input.
171
+ */
172
+ async ArrayMapFieldNamesToCodeNames(entityName, dataObjectArray, contextUser, provider) {
173
+ if (!dataObjectArray || dataObjectArray.length === 0) {
174
+ return dataObjectArray;
161
175
  }
162
- return dataObjectArray;
176
+ const mapped = [];
177
+ for (const element of dataObjectArray) {
178
+ mapped.push(await this.MapFieldNamesToCodeNames(entityName, element, contextUser, provider));
179
+ }
180
+ return mapped;
163
181
  }
164
182
  /**
165
183
  * Loads a single external-data-source-backed entity record by primary key and returns it in
@@ -625,12 +643,24 @@ export class ResolverBase {
625
643
  if (aggregates?.length) {
626
644
  LogStatus(`[ResolverBase] RunView result aggregate info: entityName=${viewInfo.Entity}, hasAggregateResults=${!!result?.AggregateResults}, aggregateResultCount=${result?.AggregateResults?.length || 0}, aggregateExecutionTime=${result?.AggregateExecutionTime}, aggregateResults=${JSON.stringify(result?.AggregateResults)}`);
627
645
  }
628
- // Process results for GraphQL transport
646
+ // Process results for GraphQL transport.
647
+ //
648
+ // Map onto COPIES, never in place. `FieldMapper.MapFields` renames keys by
649
+ // mutating (`obj[mapped] = obj[k]; delete obj[k]`), and these rows are the
650
+ // provider's own result objects — which the server cache holds BY REFERENCE
651
+ // under a reference-sharing storage provider. Mapping them in place rewrote
652
+ // `__mj_CreatedAt` to the transport alias `_mj__CreatedAt` inside the live
653
+ // cache, and because that cache is process-wide, one GraphQL response made
654
+ // every later read hand back transport-shaped rows that `BaseEntity.SetMany`
655
+ // rejects. `ArrayFilterEncryptedFieldsForAPI` mutates too, so it must also
656
+ // see the copies. (FileResolver already maps a spread copy.)
657
+ //
658
+ // `{ ...r }` is a SHALLOW copy, which is sufficient here because the only
659
+ // post-map mutators rename top-level keys and redact scalar fields; nothing
660
+ // below writes through to a nested value.
629
661
  const mapper = new FieldMapper();
630
662
  if (result?.Success && result.Results?.length) {
631
- for (const r of result.Results) {
632
- mapper.MapFields(r);
633
- }
663
+ result.Results = result.Results.map(r => mapper.MapFields({ ...r }));
634
664
  // Filter encrypted fields before sending to API client
635
665
  await this.ArrayFilterEncryptedFieldsForAPI(viewInfo.Entity, result.Results, user);
636
666
  }
@@ -735,9 +765,9 @@ export class ResolverBase {
735
765
  for (let i = 0; i < runViewResults.length; i++) {
736
766
  const runViewResult = runViewResults[i];
737
767
  if (runViewResult?.Success && runViewResult.Results?.length) {
738
- for (const result of runViewResult.Results) {
739
- mapper.MapFields(result);
740
- }
768
+ // Copy-then-map, same reason as the single-view path above: these rows
769
+ // are cache-held references and MapFields renames keys in place.
770
+ runViewResult.Results = runViewResult.Results.map(r => mapper.MapFields({ ...r }));
741
771
  // Filter encrypted fields before sending to API client
742
772
  // Use the corresponding param's entity name
743
773
  const entityName = params[i]?.viewInfo?.Entity;
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,eAAe,EACf,YAAY,EAEZ,iBAAiB,EAMjB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,GAKT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAyB,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAgB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKpE,OAAO,EAAW,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnI,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,MAAM,OAAO,YAAY;aACR,UAAK,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC1H,wBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAEnH,0BAAqB,GAAW,iDAAiD,CAAC;IACjG,IAAY,kBAAkB;QAC5B,kJAAkJ;QAClJ,4GAA4G;QAC5G,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,4HAA4H,CAAC,CAAC;YACvI,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,UAAe,EAAE,WAAsB,EAAE,QAA4B;QAChI,+EAA+E;QAC/E,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,0FAA0F;QAC1F,iFAAiF;QACjF,kCAAkC;QAClC,CAAC;YACC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,wBAAwB,CAAC,CAAC;YAC/E,uGAAuG;YACvG,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,wMAAwM;oBACxM,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACxD,IAAI,eAAe,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC/B,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACjD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YACnD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;oBACjC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;oBAEpC,6BAA6B;oBAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;wBAAE,SAAS;oBAEpD,iEAAiE;oBACjE,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC;oBACzC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACxC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;oBACvG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;wBACpE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,mCAAmC;4BACnC,IAAI,WAAW,EAAE,CAAC;gCAChB,IAAI,CAAC;oCACH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oCAChE,UAAU,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;gCACzC,CAAC;gCAAC,OAAO,GAAG,EAAE,CAAC;oCACb,QAAQ,CAAC,2BAA2B,SAAS,sBAAsB,GAAG,EAAE,CAAC,CAAC;oCAC1E,iDAAiD;oCACjD,UAAU,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;gCAC7C,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,gDAAgD;gCAChD,UAAU,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;4BAC7C,CAAC;wBACH,CAAC;6BAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;4BACrC,sEAAsE;4BACtE,UAAU,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;wBAC7C,CAAC;wBACD,yFAAyF;oBAC3F,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACO,yBAAyB,CAAC,KAA8B;QAChE,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,2DAA2D;gBAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAA2C,CAAC;gBACvE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrC,GAAG,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;oBACzC,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBACvC,oEAAoE;gBACpE,6DAA6D;gBAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACO,mBAAmB,CAC3B,YAAwB,EACxB,KAAyF;QAEzF,MAAM,GAAG,GAAG,KAAK,EAAE,iBAAiB,CAAC;QACrC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAC9C,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,UAAkB,EAAE,eAAsB,EAAE,WAAsB;QAC9G,+EAA+E;QAC/E,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,uBAAuB,CACrC,UAAkB,EAClB,YAA0B,EAC1B,QAA8B,EAC9B,WAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QACnG,OAAO,MAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,KAAK,CAAC,2BAA2B,CACzC,UAAkB,EAClB,UAAmC,EACnC,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC;QAEnC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC;QAEnC,gDAAgD;QAChD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QACnD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAEpD,+BAA+B;QAC/B,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAEpC,6BAA6B;YAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAEpD,mEAAmE;YACnE,IAAI,KAAK,CAAC,iBAAiB;gBAAE,SAAS;YAEtC,2DAA2D;YAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YACzC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACvG,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,sCAAsC;gBACtC,6EAA6E;gBAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC;wBACH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CACzC,KAAK,EACL,KAAK,CAAC,eAAyB,EAC/B,WAAW,CACZ,CAAC;wBACF,UAAU,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;oBACzC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,kDAAkD;wBAClD,QAAQ,CAAC,8BAA8B,SAAS,sBAAsB,GAAG,EAAE,CAAC,CAAC;wBAC7E,UAAU,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,+DAA+D;YACjE,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,UAAU,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gCAAgC,CAC9C,UAAkB,EAClB,eAA0C,EAC1C,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC;QAE7E,iFAAiF;QACjF,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,eAAe,CAAC;QAExC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACzF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC;QAEzD,uBAAuB;QACvB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,MAAM,CAAU,QAA8B,EAAE,MAAc,EAAE,MAAW,EAAE,WAAqB;QAChH,oDAAoD;QACpD,MAAM,EAAE,GAAG,QAAmC,CAAC;QAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,wBAAwB,CAAC,CAAC;QAClE,4FAA4F;QAC5F,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC;gBAAE,WAAW,IAAI,OAAO,CAAC;YAClC,gEAAgE;YAChE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,WAAW,IAAI,GAAG,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YAC9B,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,WAAW;SACzB,EAAE,WAAW,CAAC,CAAA;QACf,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;aACI,CAAC;YACJ,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAA6B,EAAE,QAA8B,EAAE,WAAwB,EAAE,MAAoB;QACtI,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACjC,SAAS,CAAC,qEAAqE,SAAS,CAAC,QAAQ,oBAAoB,SAAS,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnQ,CAAC;YAED,MAAM,EAAE,GAAG,QAAmC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAA2B;gBACxD,UAAU,EAAE,gBAAgB;gBAC5B,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,GAAG;aACjD,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3B,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC,sBAAsB,CAChC,QAAQ,EACR,QAAQ,EACR,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,oBAAoB,EAC9B,SAAS,CAAC,qBAAqB,EAC/B,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,+BAA+B,EACzC,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,mBAAmB,EAC7B,SAAS,CAAC,UAAU,EACpB,WAAW,EACX,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,QAAQ;oBAChB,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAE,SAAS,CAAC,QAAsE,CAAC,aAAa,CAAC;oBACjI,CAAC,CAAC,SAAS,EACb,SAAS,CAAC,WAAW,CACtB,CAAC;YACJ,CAAC;iBACI,CAAC;gBACJ,QAAQ,CAAC,8BAA8B,SAAS,CAAC,QAAQ,mCAAmC,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAA2B,EAAE,QAA8B,EAAE,WAAwB,EAAE,MAAoB;QAClI,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACjC,SAAS,CAAC,iEAAiE,SAAS,CAAC,MAAM,oBAAoB,SAAS,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7P,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA2B,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACzG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,sBAAsB,CAChC,QAAQ,EACR,QAAQ,EACR,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,oBAAoB,EAC9B,SAAS,CAAC,qBAAqB,EAC/B,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,+BAA+B,EACzC,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,mBAAmB,EAC7B,SAAS,CAAC,UAAU,EACpB,WAAW,EACX,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,UAAU,EACpB,SAAS,EACT,SAAS,CAAC,WAAW,CACtB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAA8B,EAAE,QAA8B,EAAE,WAAwB,EAAE,MAAoB;QACxI,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACjC,SAAS,CAAC,wEAAwE,SAAS,CAAC,UAAU,oBAAoB,SAAS,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxQ,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC;YACpB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,CAAC,UAAU,wBAAwB,CAAC,CAAC;YAErF,MAAM,QAAQ,GAA6B;gBACzC,EAAE,EAAE,EAAE;gBACN,MAAM,EAAE,SAAS,CAAC,UAAU;gBAC5B,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,cAAc,EAAE,MAAM,CAAC,QAAkB;aACd,CAAC,CAAC,iFAAiF;YAEhH,OAAO,IAAI,CAAC,sBAAsB,CAChC,QAAQ,EACR,QAAQ,EACR,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,oBAAoB,EAC9B,SAAS,CAAC,qBAAqB,EAC/B,KAAK,EACL,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,aAAa,EACvB,KAAK,EACL,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,mBAAmB,EAC7B,SAAS,CAAC,UAAU,EACpB,WAAW,EACX,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,UAAU,EACpB,SAAS,EACT,SAAS,CAAC,WAAW,CACtB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAA2E,EAC3E,QAA8B,EAC9B,WAAwB;QAExB,MAAM,EAAE,GAAG,QAAQ,CAAC;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,MAAM,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,IAAI,QAAQ,GAAoC,IAAI,CAAC;gBAErD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3I,2EAA2E;oBAC3E,kDAAkD;oBAClD,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;wBACtC,SAAS,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5B,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA2B,gBAAgB,EAAE,WAAW,CAAC,CAAC;oBACnG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACtC,qEAAqE;oBACrE,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;wBACtC,SAAS,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;oBACxE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,CAAC,UAAU,wBAAwB,CAAC,CAAC;oBAC1E,CAAC;oBAED,iFAAiF;oBACjF,QAAQ,GAAG;wBACT,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,SAAS,CAAC,UAAU;wBAC5B,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,cAAc,EAAE,MAAM,CAAC,QAAQ;qBACJ,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ;oBACR,QAAQ;oBACR,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;oBAC5C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;oBACpD,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;oBACtD,eAAe,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe;oBACzE,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC1B,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAE,SAAS,CAAC,QAAsE,CAAC,aAAa,CAAC;wBACjI,CAAC,CAAC,SAAS;oBACb,+BAA+B,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B;oBACzG,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;oBAClD,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,WAAW;oBACX,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,WAAW,EAAE,SAAS,CAAC,WAAW;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAoB,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;aAEc,sBAAiB,GAA2C,EAAE,CAAC;IACpE,KAAK,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAW;QAC3E,IAAI,YAAY,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,CAAC,cAAc,IAAI,SAAS,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YACzG,MAAM,YAAY,GAAG,IAAI,YAAY,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,GAAG,kBAAkB,KAAK,GAAG,YAAY,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,IAAI,YAAY,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,MAAM,IAAI,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAE9C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnE,IAAI,CAAC;gBACH,wGAAwG;gBACxG,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAA2B,CAAC;gBACzD,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC5E,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBAClD,mCAAmC;oBACnC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAoB,CAAC;oBACrC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM;wBAC1D,OAAO,KAAK,CAAC;oBACf,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACpC,+BAA+B;wBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC1E,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;4BAChC,OAAO,KAAK,CAAC;oBACjB,CAAC;oBACD,OAAO,IAAI,CAAC,CAAC,uCAAuC;gBACtD,CAAC,CAAC,EAAE,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAED,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACxH,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACvE,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAES,wBAAwB,CAAC,UAAkB,EAAE,WAA+B,EAAE,QAA4B;QAClH,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,uGAAuG;QACvG,IAAI,UAAU,EAAE,CAAC;YACf,sFAAsF;YACtF,yFAAyF;YACzF,sFAAsF;YACtF,2FAA2F;YAC3F,yFAAyF;YACzF,sDAAsD;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzF,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,wBAAwB,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,sCAAsC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;aACI,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,6BAA6B,CAC3C,SAAiB,EACjB,QAAgB,EAChB,WAAwB;QAExB,mDAAmD;QACnD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,0EAA0E;QAC1E,6EAA6E;QAC7E,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QAEvC,6EAA6E;QAC7E,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,SAAS,CACnD,WAAW,CAAC,UAAU,EACtB,OAAO,EACP,aAAa,EACb,GAAG,EACH,UAAU,EACV,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EACxC,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;QAEF,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,kDAAkD;YAClD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CACzC,WAAW,CAAC,UAAU,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV;YACE,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,6CAA6C;YAC7C,MAAM,IAAI,kBAAkB,CAC1B,6CAA6C,SAAS,UAAU;gBAChE,iBAAiB,QAAQ,+BAA+B;gBACxD,qFAAqF;gBACrF,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,sBAAsB,CACpC,QAA8B,EAC9B,QAAkC,EAClC,WAAmB,EACnB,OAAe,EACf,gBAAwB,EACxB,oBAAwC,EACxC,qBAAyC,EACzC,eAAoC,EACpC,MAA4B,EAC5B,aAAkC,EAClC,+BAAoD,EACpD,aAAkC,EAClC,mBAAuC,EACvC,UAA8B,EAC9B,WAA+B,EAC/B,OAA2B,EAC3B,QAA4B,EAC5B,UAAkC,EAClC,QAAuB,EACvB,WAAqB;QAErB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAE3C,wDAAwD;YACxD,MAAM,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEnF,MAAM,EAAE,GAAG,QAAQ,CAAA;YACnB,wFAAwF;YACxF,8FAA8F;YAC9F,yFAAyF;YACzF,uFAAuF;YACvF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;mBAC5C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3G,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,EAAE,KAAK,wBAAwB,CAAC,CAAC;YAE/E,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,MAAM,wBAAwB,CAAC,CAAC;YAEpF,MAAM,EAAE,GAAG,EAA6B,CAAC;YAEzC,wBAAwB;YACxB,IAAI,EAAE,GAA8C,QAAQ,CAAC;YAC7D,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;gBACtD,EAAE,GAAG,YAAY,CAAC;YACpB,CAAC;YAED,2FAA2F;YAC3F,sEAAsE;YACtE,IAAI,eAAe,GAAG,MAAM,CAAC;YAC7B,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnB,qEAAqE;gBACrE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CACjD,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CACxD,CAAC;gBAEF,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC9B,eAAe,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;gBACvB,SAAS,CAAC,qEAAqE,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,IAAI,oBAAoB,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvQ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;gBACE,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,eAAe,EAAG,4BAA4B;gBACtD,gBAAgB,EAAE,gBAAgB;gBAClC,oBAAoB,EAAE,oBAAoB;gBAC1C,qBAAqB,EAAE,qBAAqB;gBAC5C,eAAe,EAAE,eAAe;gBAChC,+BAA+B,EAAE,+BAA+B;gBAChE,aAAa,EAAE,aAAa;gBAC5B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,aAAa;gBAC5B,mBAAmB,EAAE,mBAAmB;gBACxC,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;aACzB,EACD,IAAI,CACL,CAAC;YAEF,sCAAsC;YACtC,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;gBACvB,SAAS,CAAC,4DAA4D,QAAQ,CAAC,MAAM,yBAAyB,CAAC,CAAC,MAAM,EAAE,gBAAgB,0BAA0B,MAAM,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC,4BAA4B,MAAM,EAAE,sBAAsB,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrU,CAAC;YAED,wCAAwC;YACxC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;gBACD,uDAAuD;gBACvD,MAAM,IAAI,CAAC,gCAAgC,CACzC,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,OAAoC,EAC3C,IAAI,CACL,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0DAA0D;YAC1D,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,QAAQ,CAAC;gBACP,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,wBAAwB;gBACnC,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,UAAU,EAAE,QAAQ,EAAE,MAAM;gBAC5B,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;gBACjC,qDAAqD;gBACrD,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;aAClF,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,uBAAuB,CAAC,MAA8B;QACpE,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAE9B,IAAI,EAAE,GAA6B,IAAI,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAmC,CAAC;YACzD,IAAI,aAAa,GAAoB,EAAE,CAAC;YAExC,kDAAkD;YAClD,IAAI,WAAW,GAAoB,IAAI,CAAC;YACxC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAClC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzD,wFAAwF;gBACxF,8FAA8F;gBAC9F,yFAAyF;gBACzF,uFAAuF;gBACvF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;uBAC5C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,SAAS,wBAAwB,CAAC,CAAC;gBAC7D,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,4DAA4D;YAC5D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,qFAAqF;YACrF,8EAA8E;YAC9E,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAwC,CAAC;YAExD,uBAAuB;YACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,4CAA4C;oBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACvC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,wBAAwB,CAAC,CAAC;wBAChE,CAAC;wBACD,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,wBAAwB;gBACxB,IAAI,EAAE,GAA8C,QAAQ,CAAC;gBAC7D,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;oBAC5D,EAAE,GAAG,YAAY,CAAC;gBACpB,CAAC;gBAED,mBAAmB;gBACnB,aAAa,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;oBAC7B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;oBACjC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;oBAChD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;oBAClD,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,+BAA+B,EAAE,KAAK,CAAC,+BAA+B;oBACtE,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;oBAC9C,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,uDAAuD;YACvD,MAAM,cAAc,GAAoB,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAEtF,kBAAkB;YAClB,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,aAAa,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC5D,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC3C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC3B,CAAC;oBACD,uDAAuD;oBACvD,4CAA4C;oBAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/C,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,IAAI,CAAC,gCAAgC,CACzC,UAAU,EACV,aAAa,CAAC,OAAoC,EAClD,WAAW,CACZ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uDAAuD;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,gCAAgC,CAAC,QAA8B,EAAE,WAAwB,EAAE,UAAkB,EAAE,QAAa;QAC1I,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC;YACpB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,wBAAwB,CAAC,CAAC;YAE/E,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,iGAAiG;gBACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;uBAChD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3G,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;gBAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAEzH,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,EAAE,KAAK,wBAAwB,CAAC,CAAC;gBACnF,IAAI,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,gBAAgB,wBAAwB,CAAC,CAAC;gBAE/F,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClI,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAES,8BAA8B,CAAC,QAA8B,EAAE,UAAkB,EAAE,WAAwB,EAAE,IAA0B,EAAE,YAAoB;QACrK,MAAM,EAAE,GAAG,QAAQ,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,wBAAwB,CAAC,CAAC;QAC/E,iGAAiG;QACjG,gGAAgG;QAChG,4FAA4F;QAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;eAC5C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,EAAE,KAAK,wBAAwB,CAAC,CAAC;QAE/E,OAAO,UAAU,CAAC,kCAAkC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,QAA8B,EAC9B,WAAwB,EACxB,iBAAgC,EAChC,gBAAwB,EACxB,MAAc,EACd,OAAsB,EACtB,QAAgB,EAChB,QAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC;YACpB,iGAAiG;YACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;mBAChD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3G,MAAM,aAAa,GAAG,iBAAiB;gBACrC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACvG,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzH,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,EAAE,KAAK,wBAAwB,CAAC,CAAC;YACnF,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,gBAAgB,wBAAwB,CAAC,CAAC;YAE/F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAmB,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,8FAA8F;YACvL,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC;YAE1C,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;gBACvE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEhC,IAAI,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAExC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE7B,IAAI,QAAQ;gBAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE3C,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE;gBACvB,OAAO,QAAQ,CAAC;;gBAEhB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,qBAAqB,CAAU,GAAQ;QAC/C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,cAAc,CAAC,UAAe,EAAE,WAAmB;QAC3D,OAAO,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IACzG,CAAC;IAES,gBAAgB,CAAC,KAAa;QACtC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IACS,kBAAkB,CAAC,WAAwB;QACnD,IAAI,CAAC,WAAW;YACd,OAAO,SAAS,CAAC;QAEnB,IAAI,WAAW,CAAC,UAAU;YACxB,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,8CAA8C;QAE/E,IAAI,CAAC,WAAW,CAAC,KAAK;YACpB,OAAO,SAAS,CAAC;QAEnB,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,kFAAkF;IAC1I,CAAC;IAED;;;;OAIG;IACO,wBAAwB,CAAC,YAAwB,EAAE,MAAyB,EAAE,WAAwB;QAC9G,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE;YACvD,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI;YACxC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC;YACvE,MAAM;YACN,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;YAC7C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,eAAe,EAAE,WAAW,EAAE,SAAS,IAAI,IAAI;YAC/C,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC,CAAC;IACL,CAAC;IAES,uBAAuB,CAAC,YAAwB,EAAE,MAAoB,EAAE,WAAwB;QACxG,wIAAwI;QACxI,2HAA2H;QAC3H,0DAA0D;QAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,mIAAmI;YACnI,QAAQ,CAAC,uIAAuI,SAAS,EAAE,CAAC,CAAC;YAC7J,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;gBAC1F,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,UAAU,GAAe,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;oBAEtD,4EAA4E;oBAC5E,2FAA2F;oBAC3F,IAAI,UAAU,EAAE,UAAU,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC/C,OAAO;oBACT,CAAC;oBAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjE,MAAM,UAAU,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC9I,QAAQ,CAAC,iKAAiK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACxM,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBACjC,QAAQ,CAAC,+EAA+E,CAAC,CAAC;oBAE1F,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;wBACxD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAuB,CAAC;wBACtD,yDAAyD;wBACzD,QAAQ,CAAC,kFAAkF,CAAC,CAAC;wBAC7F,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;4BACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gCACtB,MAAM,EAAE,IAAI;gCACZ,IAAI,EAAE,2BAA2B;gCACjC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI;gCACtD,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,UAAU;gCACjD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;6BAC5B,CAAC;4BACF,SAAS,EAAE,WAAW,CAAC,SAAS;yBACjC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,KAAU,EAAE,QAA8B,EAAE,WAAwB,EAAE,MAAoB;QACzI,iEAAiE;QACjE,MAAM,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnF,uFAAuF;QACvF,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,gDAAgD;YAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;YACtG,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,YAAY,GAA4B,EAAE,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,GAAG,KAAK,mBAAmB;oBAAE,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEnC,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAEhE,0EAA0E;YAC1E,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;gBACtD,kFAAkF;gBAClF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBACzD,oEAAoE;gBACpE,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7F,CAAC;YACD,wCAAwC;iBACnC,CAAC;gBACJ,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,IAAI,+BAA+B,EAAE;oBACpG,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;;YAAM,OAAO,IAAI,CAAC;IACrB,CAAC;IAED,8DAA8D;IACpD,KAAK,CAAC,YAAY,CAAC,QAA8B,EAAE,KAAU;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,KAAK,CAAC,WAAW,CAAC,QAA8B,EAAE,KAAU,IAAG,CAAC;IAEhE,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,KAAU,EAAE,QAA8B,EAAE,WAAwB,EAAE,MAAoB;QACzI,iEAAiE;QACjE,MAAM,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnF,uFAAuF;QACvF,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,gDAAgD;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,wDAAwD;gBACxD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;oBAC1D,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACzD,qJAAqJ;gBACrJ,MAAM,IAAI,GAAG,IAAI,YAAY,CAC3B,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBAChC,OAAO;wBACL,SAAS,EAAE,EAAE,CAAC,IAAI;wBAClB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC;qBAC1B,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBAEF,IAAI,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,kHAAkH;oBAClH,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACvB,kEAAkE;wBAClE,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACjG,CAAC;yBAAM,CAAC;wBACN,6DAA6D;wBAC7D,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kFAAkF;oBAClF,qFAAqF;oBACrF,MAAM,IAAI,YAAY,CAAC,mCAAmC,EAAE;wBAC1D,UAAU,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE;qBACtD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gGAAgG;gBAChG,MAAM,SAAS,GAAG,EAAE,CAAC;gBACrB,uEAAuE;gBACvE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE1E,uEAAuE;gBACvE,MAAM,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE3C,6EAA6E;gBAC7E,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACxC,CAAC;YAED,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAEhE,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,uDAAuD;gBACvD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;gBACtD,kFAAkF;gBAElF,oEAAoE;gBACpE,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE;oBAC5E,UAAU,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;;YACC,MAAM,IAAI,YAAY,CAAC,uDAAuD,EAAE;gBAC9E,UAAU,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE;aACtD,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,mCAAmC,CAAC,KAAU,EAAE,eAAoB,EAAE,YAAwB,EAAE,WAAqB;QACnI,yFAAyF;QACzF,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,6EAA6E;QAC7E,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,mJAAmJ;YACnJ,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;YAClF,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU;gBAC7H,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,2EAA2E;YAEvG,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;oBACrB,KAAK,iBAAiB,CAAC,MAAM;wBAC3B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;4BACpC,GAAG,GAAG,IAAI,CAAC;wBACb,CAAC;6BACI,CAAC;4BACJ,IAAI,WAAW,GAAI,KAAK,CAAC,IAAe,CAAC,WAAW,EAAE,CAAC;4BAEvD,QAAQ,WAAW,EAAE,CAAC;gCACpB,KAAK,KAAK,CAAC;gCACX,KAAK,UAAU,CAAC;gCAChB,KAAK,QAAQ,CAAC;gCACd,KAAK,SAAS;oCACZ,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oCACpB,MAAM;gCACR,KAAK,OAAO,CAAC;gCACb,KAAK,YAAY,CAAC;gCAClB,KAAK,SAAS,CAAC;gCACf,KAAK,SAAS,CAAC;gCACf,KAAK,OAAO;oCACV,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oCACtB,MAAM;gCACR;oCACE,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oCACtB,MAAM;4BACV,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,KAAK,iBAAiB,CAAC,OAAO;wBAC5B,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChH,MAAM;oBACR,KAAK,iBAAiB,CAAC,IAAI;wBACzB,4GAA4G;wBAC5G,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;4BAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE1G,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/D,MAAM;oBACR;wBACE,MAAM,CAAC,mBAAmB;gBAC9B,CAAC;YACH,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,kHAAkH;QAClH,qBAAqB;QACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAEvC,6KAA6K;QAC7K,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,QAAQ,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,KAAK,QAAQ;oBACX,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,SAAS;oBACZ,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;wBACzC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAS,CAAC;wBAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE,CAAC;4BAChD,SAAS,GAAG,IAAI,CAAC;wBACnB,CAAC;6BAAM,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;4BACrD,8EAA8E;4BAC9E,MAAM,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;4BAC3D,IAAI,OAAO,KAAK,gBAAgB,IAAI,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;gCAC5E,OAAO,CAAC,IAAI,CACV,0CAA0C,GAAG,MAAM,OAAO,IAAI,UAAU,KAAK;oCAC7E,WAAW,UAAU,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,WAAW,EAAE,IAAI;oCACpE,4DAA4D,CAC7D,CAAC;gCACF,SAAS,GAAG,KAAK,CAAC,CAAC,8DAA8D;4BACnF,CAAC;iCAAM,CAAC;gCACN,SAAS,GAAG,IAAI,CAAC;4BACnB,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBACzC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;oBACrC,CAAC;oBACD,MAAM;gBACR;oBACE,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM;YACV,CAAC;YACD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAClC,iCAAiC;gBACjC,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,GAAG;oBACd,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC;oBACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,+MAA+M;YAC/M,8LAA8L;YAC9L,MAAM,iBAAiB,GAAG,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;gBACzE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;oBAC9F,iCAAiC;oBACjC,iBAAiB,CAAC,IAAI,CAAC;wBACrB,SAAS,EAAE,GAAG;wBACd,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC;wBACpC,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,2LAA2L;YAC3L,4HAA4H;YAC5H,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG;oBACV,OAAO,EACL,qKAAqK;oBACvK,iBAAiB,EAAE,iBAAiB;oBACpC,aAAa,EAAE,aAAa;oBAC5B,OAAO,EAAE,OAAO;iBACjB,CAAC;gBAEF,yEAAyE;gBACzE,OAAO,CAAC,IAAI,CAAC,mEAAmE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvG,QAAQ,CAAC;oBACP,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,qCAAqC;oBAChD,KAAK,EAAE,uCAAuC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBACnE,OAAO,EAAE;wBACP,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI;wBACxC,iBAAiB,EAAE,iBAAiB;wBACpC,aAAa,EAAE,aAAa;wBAC5B,OAAO,EAAE,OAAO;qBACjB;iBACF,CAAC,CAAC;gBAEH,kFAAkF;gBAClF,8EAA8E;gBAC9E,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,YAAY,CAAC,aAA6C,CAAC;oBACtE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,eAAe,CAAmB,gBAAgB,EAAE,WAAW,CAAC,CAAC;oBACjG,cAAc,CAAC,IAAI,GAAG,2BAA2B,CAAC;oBAClD,cAAc,CAAC,OAAO,GAAG,0CAA0C,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1H,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;oBAClC,cAAc,CAAC,QAAQ,GAAG,aAAa,CAAC;oBACxC,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC;oBAEjE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,aAAa,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,yFAAyF;QACzF,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAkB,EAClB,GAAiB,EACjB,OAA2B,EAC3B,QAA8B,EAC9B,WAAwB,EACxB,MAAoB;QAEpB,iEAAiE;QACjE,MAAM,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnF,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,gDAAgD;YAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;YACtG,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,kFAAkF;gBAClF,qFAAqF;gBACrF,MAAM,IAAI,YAAY,CAAC,mCAAmC,EAAE;oBAC1D,UAAU,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,mGAAmG;YAE9I,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAEhE,IAAI,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa;gBACpD,kFAAkF;gBAClF,OAAO,WAAW,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE;oBAC5E,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,YAAY,CAAC,qEAAqE,EAAE;gBAC5F,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAA8D;IACpD,KAAK,CAAC,YAAY,CAAC,QAA8B,EAAE,GAAiB;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACS,KAAK,CAAC,WAAW,CAAC,QAA8B,EAAE,GAAiB,IAAG,CAAC;IAEjF,8DAA8D;IACpD,KAAK,CAAC,YAAY,CAAC,QAA8B,EAAE,KAAU;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,KAAK,CAAC,WAAW,CAAC,QAA8B,EAAE,KAAU,IAAG,CAAC"}
1
+ {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "5.51.1",
3
+ "version": "5.51.2",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./src/index.ts",
@@ -27,94 +27,94 @@
27
27
  "@as-integrations/express5": "^1.0.0",
28
28
  "@graphql-tools/schema": "latest",
29
29
  "@graphql-tools/utils": "^11.0.0",
30
- "@memberjunction/actions": "5.51.1",
31
- "@memberjunction/actions-apollo": "5.51.1",
32
- "@memberjunction/actions-base": "5.51.1",
33
- "@memberjunction/actions-bizapps-accounting": "5.51.1",
34
- "@memberjunction/actions-bizapps-crm": "5.51.1",
35
- "@memberjunction/actions-bizapps-formbuilders": "5.51.1",
36
- "@memberjunction/actions-bizapps-lms": "5.51.1",
37
- "@memberjunction/actions-bizapps-social": "5.51.1",
38
- "@memberjunction/ai": "5.51.1",
39
- "@memberjunction/ai-agent-manager": "5.51.1",
40
- "@memberjunction/ai-agent-manager-actions": "5.51.1",
41
- "@memberjunction/ai-agents": "5.51.1",
42
- "@memberjunction/ai-bridge-base": "5.51.1",
43
- "@memberjunction/ai-bridge-ringcentral": "5.51.1",
44
- "@memberjunction/ai-bridge-server": "5.51.1",
45
- "@memberjunction/ai-bridge-teams": "5.51.1",
46
- "@memberjunction/ai-bridge-twilio": "5.51.1",
47
- "@memberjunction/ai-bridge-vonage": "5.51.1",
48
- "@memberjunction/ai-core-plus": "5.51.1",
49
- "@memberjunction/ai-engine-base": "5.51.1",
50
- "@memberjunction/ai-mcp-client": "5.51.1",
51
- "@memberjunction/ai-prompts": "5.51.1",
52
- "@memberjunction/ai-provider-bundle": "5.51.1",
53
- "@memberjunction/ai-vector-sync": "5.51.1",
54
- "@memberjunction/ai-vectordb": "5.51.1",
55
- "@memberjunction/ai-vectors-pinecone": "5.51.1",
56
- "@memberjunction/aiengine": "5.51.1",
57
- "@memberjunction/api-keys": "5.51.1",
58
- "@memberjunction/auth-providers": "5.51.1",
59
- "@memberjunction/clustering-engine": "5.51.1",
60
- "@memberjunction/codegen-lib": "5.51.1",
61
- "@memberjunction/communication-engine": "5.51.1",
62
- "@memberjunction/communication-ms-graph": "5.51.1",
63
- "@memberjunction/communication-sendgrid": "5.51.1",
64
- "@memberjunction/communication-types": "5.51.1",
65
- "@memberjunction/component-registry-client-sdk": "5.51.1",
66
- "@memberjunction/computer-use": "5.51.1",
67
- "@memberjunction/computer-use-engine": "5.51.1",
68
- "@memberjunction/config": "5.51.1",
69
- "@memberjunction/core": "5.51.1",
70
- "@memberjunction/core-actions": "5.51.1",
71
- "@memberjunction/core-entities": "5.51.1",
72
- "@memberjunction/core-entities-server": "5.51.1",
73
- "@memberjunction/credentials": "5.51.1",
74
- "@memberjunction/data-context": "5.51.1",
75
- "@memberjunction/data-context-server": "5.51.1",
76
- "@memberjunction/doc-utils": "5.51.1",
77
- "@memberjunction/encryption": "5.51.1",
78
- "@memberjunction/entity-communications-base": "5.51.1",
79
- "@memberjunction/entity-communications-server": "5.51.1",
80
- "@memberjunction/esignature": "5.51.1",
81
- "@memberjunction/external-change-detection": "5.51.1",
82
- "@memberjunction/generic-database-provider": "5.51.1",
83
- "@memberjunction/global": "5.51.1",
84
- "@memberjunction/graphql-dataprovider": "5.51.1",
85
- "@memberjunction/integration-engine": "5.51.1",
86
- "@memberjunction/integration-engine-base": "5.51.1",
87
- "@memberjunction/integration-progress-artifacts": "5.51.1",
88
- "@memberjunction/integration-schema-builder": "5.51.1",
89
- "@memberjunction/interactive-component-types": "5.51.1",
90
- "@memberjunction/lists": "5.51.1",
91
- "@memberjunction/lists-base": "5.51.1",
92
- "@memberjunction/livekit-room-server": "5.51.1",
93
- "@memberjunction/notifications": "5.51.1",
94
- "@memberjunction/postgresql-dataprovider": "5.51.1",
95
- "@memberjunction/queue": "5.51.1",
96
- "@memberjunction/record-comparison": "5.51.1",
97
- "@memberjunction/redis-provider": "5.51.1",
98
- "@memberjunction/remote-browser-base": "5.51.1",
99
- "@memberjunction/remote-browser-cdp": "5.51.1",
100
- "@memberjunction/remote-browser-selfhost": "5.51.1",
101
- "@memberjunction/remote-browser-server": "5.51.1",
102
- "@memberjunction/scheduling-actions": "5.51.1",
103
- "@memberjunction/scheduling-base-types": "5.51.1",
104
- "@memberjunction/scheduling-engine": "5.51.1",
105
- "@memberjunction/scheduling-engine-base": "5.51.1",
106
- "@memberjunction/schema-engine": "5.51.1",
107
- "@memberjunction/search-engine": "5.51.1",
108
- "@memberjunction/server-extensions-core": "5.51.1",
109
- "@memberjunction/sql-dialect": "5.51.1",
110
- "@memberjunction/sqlserver-dataprovider": "5.51.1",
111
- "@memberjunction/storage": "5.51.1",
112
- "@memberjunction/tag-engine": "5.51.1",
113
- "@memberjunction/tag-engine-base": "5.51.1",
114
- "@memberjunction/templates": "5.51.1",
115
- "@memberjunction/testing-engine": "5.51.1",
116
- "@memberjunction/testing-engine-base": "5.51.1",
117
- "@memberjunction/version-history": "5.51.1",
30
+ "@memberjunction/actions": "5.51.2",
31
+ "@memberjunction/actions-apollo": "5.51.2",
32
+ "@memberjunction/actions-base": "5.51.2",
33
+ "@memberjunction/actions-bizapps-accounting": "5.51.2",
34
+ "@memberjunction/actions-bizapps-crm": "5.51.2",
35
+ "@memberjunction/actions-bizapps-formbuilders": "5.51.2",
36
+ "@memberjunction/actions-bizapps-lms": "5.51.2",
37
+ "@memberjunction/actions-bizapps-social": "5.51.2",
38
+ "@memberjunction/ai": "5.51.2",
39
+ "@memberjunction/ai-agent-manager": "5.51.2",
40
+ "@memberjunction/ai-agent-manager-actions": "5.51.2",
41
+ "@memberjunction/ai-agents": "5.51.2",
42
+ "@memberjunction/ai-bridge-base": "5.51.2",
43
+ "@memberjunction/ai-bridge-ringcentral": "5.51.2",
44
+ "@memberjunction/ai-bridge-server": "5.51.2",
45
+ "@memberjunction/ai-bridge-teams": "5.51.2",
46
+ "@memberjunction/ai-bridge-twilio": "5.51.2",
47
+ "@memberjunction/ai-bridge-vonage": "5.51.2",
48
+ "@memberjunction/ai-core-plus": "5.51.2",
49
+ "@memberjunction/ai-engine-base": "5.51.2",
50
+ "@memberjunction/ai-mcp-client": "5.51.2",
51
+ "@memberjunction/ai-prompts": "5.51.2",
52
+ "@memberjunction/ai-provider-bundle": "5.51.2",
53
+ "@memberjunction/ai-vector-sync": "5.51.2",
54
+ "@memberjunction/ai-vectordb": "5.51.2",
55
+ "@memberjunction/ai-vectors-pinecone": "5.51.2",
56
+ "@memberjunction/aiengine": "5.51.2",
57
+ "@memberjunction/api-keys": "5.51.2",
58
+ "@memberjunction/auth-providers": "5.51.2",
59
+ "@memberjunction/clustering-engine": "5.51.2",
60
+ "@memberjunction/codegen-lib": "5.51.2",
61
+ "@memberjunction/communication-engine": "5.51.2",
62
+ "@memberjunction/communication-ms-graph": "5.51.2",
63
+ "@memberjunction/communication-sendgrid": "5.51.2",
64
+ "@memberjunction/communication-types": "5.51.2",
65
+ "@memberjunction/component-registry-client-sdk": "5.51.2",
66
+ "@memberjunction/computer-use": "5.51.2",
67
+ "@memberjunction/computer-use-engine": "5.51.2",
68
+ "@memberjunction/config": "5.51.2",
69
+ "@memberjunction/core": "5.51.2",
70
+ "@memberjunction/core-actions": "5.51.2",
71
+ "@memberjunction/core-entities": "5.51.2",
72
+ "@memberjunction/core-entities-server": "5.51.2",
73
+ "@memberjunction/credentials": "5.51.2",
74
+ "@memberjunction/data-context": "5.51.2",
75
+ "@memberjunction/data-context-server": "5.51.2",
76
+ "@memberjunction/doc-utils": "5.51.2",
77
+ "@memberjunction/encryption": "5.51.2",
78
+ "@memberjunction/entity-communications-base": "5.51.2",
79
+ "@memberjunction/entity-communications-server": "5.51.2",
80
+ "@memberjunction/esignature": "5.51.2",
81
+ "@memberjunction/external-change-detection": "5.51.2",
82
+ "@memberjunction/generic-database-provider": "5.51.2",
83
+ "@memberjunction/global": "5.51.2",
84
+ "@memberjunction/graphql-dataprovider": "5.51.2",
85
+ "@memberjunction/integration-engine": "5.51.2",
86
+ "@memberjunction/integration-engine-base": "5.51.2",
87
+ "@memberjunction/integration-progress-artifacts": "5.51.2",
88
+ "@memberjunction/integration-schema-builder": "5.51.2",
89
+ "@memberjunction/interactive-component-types": "5.51.2",
90
+ "@memberjunction/lists": "5.51.2",
91
+ "@memberjunction/lists-base": "5.51.2",
92
+ "@memberjunction/livekit-room-server": "5.51.2",
93
+ "@memberjunction/notifications": "5.51.2",
94
+ "@memberjunction/postgresql-dataprovider": "5.51.2",
95
+ "@memberjunction/queue": "5.51.2",
96
+ "@memberjunction/record-comparison": "5.51.2",
97
+ "@memberjunction/redis-provider": "5.51.2",
98
+ "@memberjunction/remote-browser-base": "5.51.2",
99
+ "@memberjunction/remote-browser-cdp": "5.51.2",
100
+ "@memberjunction/remote-browser-selfhost": "5.51.2",
101
+ "@memberjunction/remote-browser-server": "5.51.2",
102
+ "@memberjunction/scheduling-actions": "5.51.2",
103
+ "@memberjunction/scheduling-base-types": "5.51.2",
104
+ "@memberjunction/scheduling-engine": "5.51.2",
105
+ "@memberjunction/scheduling-engine-base": "5.51.2",
106
+ "@memberjunction/schema-engine": "5.51.2",
107
+ "@memberjunction/search-engine": "5.51.2",
108
+ "@memberjunction/server-extensions-core": "5.51.2",
109
+ "@memberjunction/sql-dialect": "5.51.2",
110
+ "@memberjunction/sqlserver-dataprovider": "5.51.2",
111
+ "@memberjunction/storage": "5.51.2",
112
+ "@memberjunction/tag-engine": "5.51.2",
113
+ "@memberjunction/tag-engine-base": "5.51.2",
114
+ "@memberjunction/templates": "5.51.2",
115
+ "@memberjunction/testing-engine": "5.51.2",
116
+ "@memberjunction/testing-engine-base": "5.51.2",
117
+ "@memberjunction/version-history": "5.51.2",
118
118
  "@octokit/auth-app": "^7.1.5",
119
119
  "@octokit/rest": "^21.1.1",
120
120
  "@types/compression": "^1.8.1",
@@ -0,0 +1,135 @@
1
+ // ResolverBase transitively pulls in type-graphql decorators, which need the
2
+ // Reflect.metadata polyfill at import time.
3
+ import 'reflect-metadata';
4
+ import { describe, it, expect } from 'vitest';
5
+ import type { IMetadataProvider, UserInfo } from '@memberjunction/core';
6
+ import { ResolverBase } from '../generic/ResolverBase.js';
7
+
8
+ /**
9
+ * `MapFieldNamesToCodeNames` must not write into the rows it is handed
10
+ * (PR #3425 review, finding M2).
11
+ *
12
+ * This is the SINGLE-RECORD half of the transport rename. The RunView half was fixed to
13
+ * copy-then-map, but this one still renamed `__mj_*` → `_mj__*` by writing onto its argument —
14
+ * and its arguments are frequently rows straight out of `findBy`/`RunView`, i.e. the server
15
+ * cache's own objects.
16
+ *
17
+ * On this line the corruption is SILENT: the rename rewrites the cached row's keys in place and
18
+ * later readers are served transport-shaped rows that `BaseEntity.SetMany` rejects. Freezing the
19
+ * fixtures below is how that silent write is turned into a visible failure — the rows are not
20
+ * frozen at runtime here. (Under 6.x freeze-on-write the same bug surfaces directly, as
21
+ * "Cannot add property _mj__CreatedAt, object is not extensible".)
22
+ *
23
+ * It reaches every call, because `MJ: Users` has caching enabled. `UserByID` and
24
+ * `UserByEmployeeID` share the code path, and so does every CodeGen-generated single-record
25
+ * resolver in `generated.ts` (`MapFieldNamesToCodeNames(entity, rows[0], ...)`), which is why
26
+ * the fix belongs in the shared helper rather than at the call sites.
27
+ */
28
+
29
+ /** Exposes the two protected mappers and supplies metadata without a live provider. */
30
+ class MappingProbe extends ResolverBase {
31
+ public MapOne(entityName: string, dataObject: unknown, provider: IMetadataProvider): Promise<unknown> {
32
+ return this.MapFieldNamesToCodeNames(entityName, dataObject, undefined, provider);
33
+ }
34
+ public MapMany(entityName: string, rows: unknown[], provider: IMetadataProvider, contextUser?: UserInfo): Promise<unknown[]> {
35
+ return this.ArrayMapFieldNamesToCodeNames(entityName, rows as Record<string, unknown>[], contextUser, provider);
36
+ }
37
+ }
38
+
39
+ const ENTITY_NAME = 'MJ: Users';
40
+
41
+ /**
42
+ * Minimal metadata: the field set drives the rename, `EncryptedFields` empty so the
43
+ * EncryptionEngine is never consulted.
44
+ */
45
+ function fakeProvider(): IMetadataProvider {
46
+ return {
47
+ EntityByName: (name: string) =>
48
+ name === ENTITY_NAME
49
+ ? {
50
+ Name: ENTITY_NAME,
51
+ Fields: [
52
+ { Name: 'ID', CodeName: 'ID' },
53
+ { Name: 'Name', CodeName: 'Name' },
54
+ { Name: '__mj_CreatedAt', CodeName: '__mj_CreatedAt' },
55
+ { Name: '__mj_UpdatedAt', CodeName: '__mj_UpdatedAt' },
56
+ ],
57
+ EncryptedFields: [],
58
+ }
59
+ : undefined,
60
+ } as unknown as IMetadataProvider;
61
+ }
62
+
63
+ /** A row as the cache hands it out: deep-frozen. */
64
+ function frozenCachedRow(): Record<string, unknown> {
65
+ return Object.freeze({
66
+ ID: 'u-1',
67
+ Name: 'Ada',
68
+ __mj_CreatedAt: 'T0',
69
+ __mj_UpdatedAt: 'T1',
70
+ }) as Record<string, unknown>;
71
+ }
72
+
73
+ describe('MapFieldNamesToCodeNames on frozen cache rows', () => {
74
+ it('maps a FROZEN row to transport keys instead of throwing (the live UserByEmail 500)', async () => {
75
+ const row = frozenCachedRow();
76
+
77
+ const mapped = (await new MappingProbe().MapOne(ENTITY_NAME, row, fakeProvider())) as Record<string, unknown>;
78
+
79
+ expect(mapped._mj__CreatedAt).toBe('T0');
80
+ expect(mapped._mj__UpdatedAt).toBe('T1');
81
+ expect(mapped.ID).toBe('u-1');
82
+ expect(mapped.Name).toBe('Ada');
83
+ // The transport aliases replace the originals in the OUTGOING shape.
84
+ expect(mapped.__mj_CreatedAt).toBeUndefined();
85
+ });
86
+
87
+ it('returns a copy — the caller\'s row keeps its entity field names', async () => {
88
+ // Unfrozen input, so a regression to in-place mapping would silently pass the frozen
89
+ // test above only if it also stopped mapping. This one pins non-mutation directly.
90
+ const row: Record<string, unknown> = { ID: 'u-1', Name: 'Ada', __mj_CreatedAt: 'T0', __mj_UpdatedAt: 'T1' };
91
+
92
+ const mapped = (await new MappingProbe().MapOne(ENTITY_NAME, row, fakeProvider())) as Record<string, unknown>;
93
+
94
+ expect(row.__mj_CreatedAt).toBe('T0');
95
+ expect(row._mj__CreatedAt).toBeUndefined();
96
+ expect(mapped).not.toBe(row);
97
+ });
98
+
99
+ it('still returns null for empty/absent input (contract unchanged)', async () => {
100
+ const probe = new MappingProbe();
101
+ expect(await probe.MapOne(ENTITY_NAME, null, fakeProvider())).toBeNull();
102
+ expect(await probe.MapOne(ENTITY_NAME, {}, fakeProvider())).toBeNull();
103
+ });
104
+
105
+ it('leaves rows with no __mj_ fields structurally intact', async () => {
106
+ const row = Object.freeze({ ID: 'u-1', Name: 'Ada' }) as Record<string, unknown>;
107
+
108
+ const mapped = (await new MappingProbe().MapOne(ENTITY_NAME, row, fakeProvider())) as Record<string, unknown>;
109
+
110
+ expect(mapped).toEqual({ ID: 'u-1', Name: 'Ada' });
111
+ });
112
+ });
113
+
114
+ describe('ArrayMapFieldNamesToCodeNames on frozen cache rows', () => {
115
+ it('maps a frozen ARRAY of frozen rows without mutating either', async () => {
116
+ // The array is frozen as well as the rows: returning the caller's array (rather than a
117
+ // new one) is its own hazard, since `results.sort()`/`.push()` downstream would then be
118
+ // mutating cache-owned state. Freezing both is what makes that failure visible here.
119
+ const rows = Object.freeze([frozenCachedRow(), frozenCachedRow()]) as unknown as Record<string, unknown>[];
120
+
121
+ const mapped = (await new MappingProbe().MapMany(ENTITY_NAME, rows, fakeProvider())) as Record<string, unknown>[];
122
+
123
+ expect(mapped).toHaveLength(2);
124
+ expect(mapped[0]._mj__CreatedAt).toBe('T0');
125
+ expect(mapped[1]._mj__UpdatedAt).toBe('T1');
126
+ // Inputs untouched.
127
+ expect(rows[0].__mj_CreatedAt).toBe('T0');
128
+ expect(rows[0]._mj__CreatedAt).toBeUndefined();
129
+ expect(mapped[0]).not.toBe(rows[0]);
130
+ });
131
+
132
+ it('passes an empty array straight through', async () => {
133
+ expect(await new MappingProbe().MapMany(ENTITY_NAME, [], fakeProvider())).toEqual([]);
134
+ });
135
+ });
@@ -0,0 +1,290 @@
1
+ // ResolverBase transitively pulls in type-graphql decorators, which need the
2
+ // Reflect.metadata polyfill at import time.
3
+ import 'reflect-metadata';
4
+ import { describe, it, expect } from 'vitest';
5
+ import type { DatabaseProviderBase, RunViewParams, RunViewResult, UserInfo } from '@memberjunction/core';
6
+ import type { MJUserViewEntityExtended } from '@memberjunction/core-entities';
7
+ import { FieldMapper } from '@memberjunction/graphql-dataprovider';
8
+ import { ResolverBase } from '../generic/ResolverBase.js';
9
+ import type { UserPayload } from '../types.js';
10
+
11
+ /**
12
+ * Regression guard for the server-cache corruption behind
13
+ * "Field _mj__CreatedAt does not exist on MJ: Template Categories".
14
+ *
15
+ * GraphQL reserves the `__` prefix, so MJ renames `__mj_*` columns to the
16
+ * transport alias `_mj__*` on the way out. `ResolverBase` used to apply that
17
+ * rename IN PLACE over `result.Results` — but those are the data provider's own
18
+ * row objects, and the server's cache holds them BY REFERENCE. Preparing one
19
+ * GraphQL response therefore rewrote the keys inside the live cache, and every
20
+ * subsequent read served from it handed the client transport-shaped rows that
21
+ * `BaseEntity.SetMany` rejects. Process-wide cache ⇒ one response poisoned every
22
+ * later request, across all workers.
23
+ *
24
+ * The fix is copy-then-map. The first block exercises the REAL resolver path (so a
25
+ * revert to in-place mapping fails here); the second pins the two `FieldMapper`
26
+ * invariants that make the fix correct.
27
+ *
28
+ * The third block runs the same path against FROZEN input. On this line nothing freezes
29
+ * cache rows, so `Object.freeze` here is a test instrument, not a simulation of runtime:
30
+ * it is how "never writes to its argument" is asserted directly rather than inferred. It
31
+ * also pre-stages the 6.x freeze-on-write behaviour, under which in-place mapping stops
32
+ * being silent corruption and becomes an outright `TypeError`.
33
+ */
34
+
35
+ /** A cache-held row, shaped the way the provider hands them back. */
36
+ type CachedRow = Record<string, unknown>;
37
+
38
+ /**
39
+ * Reaches the protected `RunViewGenericInternal` and records what
40
+ * `ArrayFilterEncryptedFieldsForAPI` was handed — the second in-place mutator that
41
+ * must also see copies, and stubbed here so the assertion needs no live Metadata.
42
+ */
43
+ class Probe extends ResolverBase {
44
+ public filteredRows: Record<string, unknown>[] | null = null;
45
+
46
+ protected override async ArrayFilterEncryptedFieldsForAPI(
47
+ _entityName: string,
48
+ dataObjectArray: Record<string, unknown>[]
49
+ ): Promise<Record<string, unknown>[]> {
50
+ this.filteredRows = dataObjectArray;
51
+ return dataObjectArray;
52
+ }
53
+
54
+ public Run(provider: DatabaseProviderBase, viewInfo: MJUserViewEntityExtended, userPayload: UserPayload) {
55
+ return this.RunViewGenericInternal(
56
+ provider,
57
+ viewInfo,
58
+ '', // extraFilter
59
+ '', // orderBy
60
+ '', // userSearchString
61
+ undefined, // excludeUserViewRunID
62
+ undefined, // overrideExcludeFilter
63
+ undefined, // saveViewResults
64
+ undefined, // fields
65
+ undefined, // ignoreMaxRows
66
+ undefined, // excludeDataFromAllPriorViewRuns
67
+ undefined, // forceAuditLog
68
+ undefined, // auditLogDescription
69
+ 'simple', // resultType
70
+ userPayload,
71
+ undefined, // maxRows
72
+ undefined // startRow
73
+ );
74
+ }
75
+ }
76
+
77
+ const ENTITY_NAME = 'MJ: Template Categories';
78
+
79
+ /** Minimal provider: the entity lookup + the RunView the resolver awaits. */
80
+ function fakeProvider(rows: CachedRow[]): DatabaseProviderBase {
81
+ return {
82
+ Entities: [{ Name: ENTITY_NAME, PrimaryKeys: [{ Name: 'ID' }] }],
83
+ RunView: async (_params: RunViewParams): Promise<RunViewResult> =>
84
+ ({ Success: true, Results: rows, RowCount: rows.length, TotalRowCount: rows.length, ErrorMessage: '' } as RunViewResult),
85
+ } as unknown as DatabaseProviderBase;
86
+ }
87
+
88
+ const fakeViewInfo = () =>
89
+ ({ ID: 'view-1', Name: 'Test View', Entity: ENTITY_NAME } as unknown as MJUserViewEntityExtended);
90
+
91
+ /** `userRecord` short-circuits the UserCache lookup; no apiKeyHash skips the scope check. */
92
+ const fakePayload = () =>
93
+ ({ email: 'tester@example.com', userRecord: { Email: 'tester@example.com' } as UserInfo } as UserPayload);
94
+
95
+ describe('ResolverBase.RunViewGenericInternal — cache safety', () => {
96
+ it('leaves the provider\'s (cache-held) rows untouched while returning transport keys', async () => {
97
+ const cachedRow: CachedRow = { ID: 'a1', Name: 'Cat', __mj_CreatedAt: 'T0', __mj_UpdatedAt: 'T1' };
98
+ const probe = new Probe();
99
+
100
+ const result = await probe.Run(fakeProvider([cachedRow]), fakeViewInfo(), fakePayload());
101
+
102
+ // The pre-fix code renamed these keys in place — this is the assertion that fails on a revert.
103
+ expect(cachedRow.__mj_CreatedAt).toBe('T0');
104
+ expect(cachedRow.__mj_UpdatedAt).toBe('T1');
105
+ expect(cachedRow._mj__CreatedAt).toBeUndefined();
106
+
107
+ // The outgoing rows carry the GraphQL-legal aliases, and are NOT the cached objects.
108
+ const wire = result?.Results as Record<string, unknown>[];
109
+ expect(wire[0]._mj__CreatedAt).toBe('T0');
110
+ expect(wire[0]).not.toBe(cachedRow);
111
+ });
112
+
113
+ it('hands the encrypted-field filter the copies, not the cached rows', async () => {
114
+ const cachedRow: CachedRow = { ID: 'a1', Secret: 'plaintext', __mj_CreatedAt: 'T0' };
115
+ const probe = new Probe();
116
+
117
+ await probe.Run(fakeProvider([cachedRow]), fakeViewInfo(), fakePayload());
118
+
119
+ expect(probe.filteredRows).not.toBeNull();
120
+ expect(probe.filteredRows![0]).not.toBe(cachedRow);
121
+ });
122
+ });
123
+
124
+ describe('FieldMapper transport mapping — the invariants the fix rests on', () => {
125
+ it('MapFields MUTATES its argument (the hazard the resolver must not expose the cache to)', () => {
126
+ // Documents WHY the resolver must copy. If this ever becomes non-mutating,
127
+ // the copy in ResolverBase is redundant rather than load-bearing — and this
128
+ // test failing is the signal to revisit it.
129
+ const row: Record<string, unknown> = { ID: 'a1', Name: 'Cat', __mj_CreatedAt: 'T0' };
130
+
131
+ new FieldMapper().MapFields(row);
132
+
133
+ expect(row.__mj_CreatedAt).toBeUndefined();
134
+ expect(row._mj__CreatedAt).toBe('T0');
135
+ });
136
+
137
+ it('post-map mutation of the copy cannot reach the cached row', () => {
138
+ // ArrayFilterEncryptedFieldsForAPI redacts in place after mapping; on the
139
+ // pre-fix code that stripped secrets out of the CACHED row too.
140
+ const mapper = new FieldMapper();
141
+ const cachedRow: Record<string, unknown> = { ID: 'a1', Secret: 'plaintext', __mj_CreatedAt: 'T0' };
142
+
143
+ const wireRow = mapper.MapFields({ ...cachedRow })!;
144
+ wireRow.Secret = null; // stand-in for the encrypted-field filter
145
+
146
+ expect(cachedRow.Secret).toBe('plaintext');
147
+ expect(wireRow.Secret).toBeNull();
148
+ });
149
+
150
+ it('round-trips a mapped copy back to entity field names', () => {
151
+ // The client's ConvertBackToMJFields must undo exactly what the server did.
152
+ const mapper = new FieldMapper();
153
+ const original: Record<string, unknown> = { ID: 'a1', __mj_CreatedAt: 'T0', __mj_UpdatedAt: 'T1' };
154
+
155
+ const wire = mapper.MapFields({ ...original })!;
156
+ const back = mapper.ReverseMapFields({ ...wire });
157
+
158
+ expect(back).toEqual(original);
159
+ });
160
+
161
+ it('leaves rows without __mj_ fields structurally unchanged', () => {
162
+ const mapper = new FieldMapper();
163
+ const row = { ID: 'a1', Name: 'Cat' };
164
+
165
+ expect(mapper.MapFields({ ...row })).toEqual(row);
166
+ });
167
+ });
168
+
169
+ describe('transport mapping against FROZEN cache rows', () => {
170
+ // Freezing is the assertion mechanism, not a reproduction of runtime state: on this line
171
+ // the cache hands out live, unfrozen references. A frozen input makes "the mapper wrote to
172
+ // its argument" fail loudly here instead of passing silently and corrupting the cache in
173
+ // production. It is also the shape 6.x's freeze-on-write will actually hand out.
174
+ it('copy-then-map works on a frozen row', () => {
175
+ const mapper = new FieldMapper();
176
+ const cachedRow = Object.freeze({ ID: 'a1', Name: 'Cat', __mj_CreatedAt: 'T0' }) as Record<string, unknown>;
177
+
178
+ const wireRow = mapper.MapFields({ ...cachedRow })!;
179
+
180
+ expect(wireRow._mj__CreatedAt).toBe('T0');
181
+ expect(wireRow.__mj_CreatedAt).toBeUndefined();
182
+ // The copy is mutable, so the encrypted-field filter can still redact in place.
183
+ expect(Object.isFrozen(wireRow)).toBe(false);
184
+ // And the frozen cached row is untouched.
185
+ expect(cachedRow.__mj_CreatedAt).toBe('T0');
186
+ });
187
+
188
+ it('in-place mapping of a frozen row THROWS — silent corruption is now impossible', () => {
189
+ // This is the safety net the freeze adds on top of the copy: if a future refactor
190
+ // reverts to in-place mapping, it fails loudly at the offending line instead of
191
+ // quietly rewriting process-wide state.
192
+ const mapper = new FieldMapper();
193
+ const cachedRow = Object.freeze({ ID: 'a1', __mj_CreatedAt: 'T0' }) as Record<string, unknown>;
194
+
195
+ expect(() => mapper.MapFields(cachedRow)).toThrow(TypeError);
196
+ });
197
+ });
198
+
199
+ /**
200
+ * The BATCH path (`RunViewsGenericInternal`), which the single-view tests above do not reach
201
+ * (PR #3425 review, finding M8).
202
+ *
203
+ * This is the path multi-view clients actually take — MJExplorer batches its view loads — so
204
+ * leaving it uncovered meant the original corruption bug could be reintroduced on the more
205
+ * heavily used of the two legs with CI still green.
206
+ */
207
+ class BatchProbe extends ResolverBase {
208
+ public filteredRows: Record<string, unknown>[] | null = null;
209
+
210
+ protected override async ArrayFilterEncryptedFieldsForAPI(
211
+ _entityName: string,
212
+ dataObjectArray: Record<string, unknown>[]
213
+ ): Promise<Record<string, unknown>[]> {
214
+ this.filteredRows = dataObjectArray;
215
+ return dataObjectArray;
216
+ }
217
+
218
+ public RunBatch(provider: DatabaseProviderBase, viewInfos: MJUserViewEntityExtended[], userPayload: UserPayload) {
219
+ return this.RunViewsGenericInternal(
220
+ viewInfos.map(viewInfo => ({ provider, viewInfo, userPayload, resultType: 'simple' })) as never
221
+ );
222
+ }
223
+ }
224
+
225
+ /** Batch provider: `RunViews` returns one result per param, in order. */
226
+ function fakeBatchProvider(rowsPerView: CachedRow[][]): DatabaseProviderBase {
227
+ return {
228
+ Entities: [{ Name: ENTITY_NAME, PrimaryKeys: [{ Name: 'ID' }] }],
229
+ EntityByName: (name: string) => (name === ENTITY_NAME ? { Name: ENTITY_NAME } : undefined),
230
+ RunViews: async (params: RunViewParams[]): Promise<RunViewResult[]> =>
231
+ params.map((_p, i) => {
232
+ const rows = rowsPerView[i] ?? [];
233
+ return { Success: true, Results: rows, RowCount: rows.length, TotalRowCount: rows.length, ErrorMessage: '' } as RunViewResult;
234
+ }),
235
+ } as unknown as DatabaseProviderBase;
236
+ }
237
+
238
+ describe('ResolverBase.RunViewsGenericInternal (batch) — cache safety', () => {
239
+ it('leaves every view\'s cache-held rows untouched while returning transport keys', async () => {
240
+ const viewARow: CachedRow = { ID: 'a1', Name: 'Cat', __mj_CreatedAt: 'T0', __mj_UpdatedAt: 'T1' };
241
+ const viewBRow: CachedRow = { ID: 'b1', Name: 'Dog', __mj_CreatedAt: 'T2', __mj_UpdatedAt: 'T3' };
242
+ const probe = new BatchProbe();
243
+
244
+ const results = await probe.RunBatch(
245
+ fakeBatchProvider([[viewARow], [viewBRow]]),
246
+ [fakeViewInfo(), fakeViewInfo()],
247
+ fakePayload()
248
+ );
249
+
250
+ // Both source rows keep entity field names — the assertion that fails on a revert
251
+ // to in-place mapping in the batch loop.
252
+ expect(viewARow.__mj_CreatedAt).toBe('T0');
253
+ expect(viewARow._mj__CreatedAt).toBeUndefined();
254
+ expect(viewBRow.__mj_CreatedAt).toBe('T2');
255
+ expect(viewBRow._mj__CreatedAt).toBeUndefined();
256
+
257
+ // ...and both outgoing views carry the aliases, on objects that are not the cached ones.
258
+ const wireA = results[0].Results as Record<string, unknown>[];
259
+ const wireB = results[1].Results as Record<string, unknown>[];
260
+ expect(wireA[0]._mj__CreatedAt).toBe('T0');
261
+ expect(wireB[0]._mj__CreatedAt).toBe('T2');
262
+ expect(wireA[0]).not.toBe(viewARow);
263
+ expect(wireB[0]).not.toBe(viewBRow);
264
+ });
265
+
266
+ it('maps FROZEN cache rows rather than throwing on them', async () => {
267
+ // The shape the cache actually hands out on a hit.
268
+ const frozenRow = Object.freeze({ ID: 'a1', Name: 'Cat', __mj_CreatedAt: 'T0' }) as CachedRow;
269
+ const probe = new BatchProbe();
270
+
271
+ const results = await probe.RunBatch(
272
+ fakeBatchProvider([[frozenRow]]),
273
+ [fakeViewInfo()],
274
+ fakePayload()
275
+ );
276
+
277
+ expect((results[0].Results as Record<string, unknown>[])[0]._mj__CreatedAt).toBe('T0');
278
+ expect(frozenRow.__mj_CreatedAt).toBe('T0');
279
+ });
280
+
281
+ it('hands the encrypted-field filter copies, not the cached rows', async () => {
282
+ const cachedRow: CachedRow = { ID: 'a1', Secret: 'plaintext', __mj_CreatedAt: 'T0' };
283
+ const probe = new BatchProbe();
284
+
285
+ await probe.RunBatch(fakeBatchProvider([[cachedRow]]), [fakeViewInfo()], fakePayload());
286
+
287
+ expect(probe.filteredRows).not.toBeNull();
288
+ expect(probe.filteredRows![0]).not.toBe(cachedRow);
289
+ });
290
+ });
@@ -62,16 +62,27 @@ export class ResolverBase {
62
62
  * - AllowDecryptInAPI=false + SendEncryptedValue=true: Keep encrypted ciphertext
63
63
  * - AllowDecryptInAPI=false + SendEncryptedValue=false: Replace with sentinel
64
64
  *
65
+ * Returns a COPY — `dataObject` is never written to. Callers routinely pass rows straight
66
+ * from `findBy`/`RunView`, which are the server cache's own objects held by reference under a
67
+ * reference-sharing storage provider. Renaming in place therefore rewrote the cached row's
68
+ * keys, so later readers were served transport-shaped rows that `BaseEntity.SetMany` rejects —
69
+ * and because that cache is process-wide, one response corrupted every subsequent request
70
+ * across all workers. It bit every `UserByEmail` / `UserByID` / `UserByEmployeeID` call and
71
+ * every generated single-record resolver whose entity has caching enabled. Copying here fixes
72
+ * every call site at once and makes the hazard unreachable for future ones.
73
+ *
65
74
  * @param entityName - The entity name
66
- * @param dataObject - The data object with field values
75
+ * @param dataObject - The data object with field values. Not modified.
67
76
  * @param contextUser - Optional user context for decryption (required for encrypted fields)
68
- * @returns The processed data object
77
+ * @returns A new object in transport shape, or null when there is nothing to map
69
78
  */
70
79
  protected async MapFieldNamesToCodeNames(entityName: string, dataObject: any, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<any> {
71
80
  // Return null for empty objects (e.g. when no rows found due to RLS filtering)
72
81
  if (!dataObject || Object.keys(dataObject).length === 0) {
73
82
  return null;
74
83
  }
84
+ // Shallow copy up front so every write below lands on our object, never the caller's.
85
+ dataObject = { ...dataObject };
75
86
 
76
87
  // for the given entity name provided, check to see if there are any fields
77
88
  // where the code name is different from the field name, and for just those
@@ -184,14 +195,21 @@ export class ResolverBase {
184
195
  return true;
185
196
  }
186
197
 
187
- protected async ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: any[], contextUser?: UserInfo): Promise<any[]> {
188
- // iterate through the array and call MapFieldNamesToCodeNames for each element
189
- if (dataObjectArray && dataObjectArray.length > 0) {
190
- for (const element of dataObjectArray) {
191
- await this.MapFieldNamesToCodeNames(entityName, element, contextUser);
192
- }
198
+ /**
199
+ * Array form of {@link MapFieldNamesToCodeNames}. Returns a NEW array of NEW objects; neither
200
+ * the input array nor its rows are modified. Both matter: a reference-sharing cache hands back
201
+ * the stored array itself, not a copy of it, so collecting the mapped copies (rather than
202
+ * mapping in place and returning the original) is what makes this safe on cache-served input.
203
+ */
204
+ protected async ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: any[], contextUser?: UserInfo, provider?: IMetadataProvider): Promise<any[]> {
205
+ if (!dataObjectArray || dataObjectArray.length === 0) {
206
+ return dataObjectArray;
193
207
  }
194
- return dataObjectArray;
208
+ const mapped: any[] = [];
209
+ for (const element of dataObjectArray) {
210
+ mapped.push(await this.MapFieldNamesToCodeNames(entityName, element, contextUser, provider));
211
+ }
212
+ return mapped;
195
213
  }
196
214
 
197
215
  /**
@@ -819,12 +837,24 @@ export class ResolverBase {
819
837
  LogStatus(`[ResolverBase] RunView result aggregate info: entityName=${viewInfo.Entity}, hasAggregateResults=${!!result?.AggregateResults}, aggregateResultCount=${result?.AggregateResults?.length || 0}, aggregateExecutionTime=${result?.AggregateExecutionTime}, aggregateResults=${JSON.stringify(result?.AggregateResults)}`);
820
838
  }
821
839
 
822
- // Process results for GraphQL transport
840
+ // Process results for GraphQL transport.
841
+ //
842
+ // Map onto COPIES, never in place. `FieldMapper.MapFields` renames keys by
843
+ // mutating (`obj[mapped] = obj[k]; delete obj[k]`), and these rows are the
844
+ // provider's own result objects — which the server cache holds BY REFERENCE
845
+ // under a reference-sharing storage provider. Mapping them in place rewrote
846
+ // `__mj_CreatedAt` to the transport alias `_mj__CreatedAt` inside the live
847
+ // cache, and because that cache is process-wide, one GraphQL response made
848
+ // every later read hand back transport-shaped rows that `BaseEntity.SetMany`
849
+ // rejects. `ArrayFilterEncryptedFieldsForAPI` mutates too, so it must also
850
+ // see the copies. (FileResolver already maps a spread copy.)
851
+ //
852
+ // `{ ...r }` is a SHALLOW copy, which is sufficient here because the only
853
+ // post-map mutators rename top-level keys and redact scalar fields; nothing
854
+ // below writes through to a nested value.
823
855
  const mapper = new FieldMapper();
824
856
  if (result?.Success && result.Results?.length) {
825
- for (const r of result.Results) {
826
- mapper.MapFields(r);
827
- }
857
+ result.Results = result.Results.map(r => mapper.MapFields({ ...r }));
828
858
  // Filter encrypted fields before sending to API client
829
859
  await this.ArrayFilterEncryptedFieldsForAPI(
830
860
  viewInfo.Entity,
@@ -941,9 +971,9 @@ export class ResolverBase {
941
971
  for (let i = 0; i < runViewResults.length; i++) {
942
972
  const runViewResult = runViewResults[i];
943
973
  if (runViewResult?.Success && runViewResult.Results?.length) {
944
- for (const result of runViewResult.Results) {
945
- mapper.MapFields(result);
946
- }
974
+ // Copy-then-map, same reason as the single-view path above: these rows
975
+ // are cache-held references and MapFields renames keys in place.
976
+ runViewResult.Results = runViewResult.Results.map(r => mapper.MapFields({ ...r }));
947
977
  // Filter encrypted fields before sending to API client
948
978
  // Use the corresponding param's entity name
949
979
  const entityName = params[i]?.viewInfo?.Entity;