@pact-foundation/pact-core 19.2.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.editorconfig +13 -0
  2. package/CHANGELOG.md +9 -0
  3. package/biome.jsonc +28 -0
  4. package/{src → dist}/consumer/checkErrors.js +1 -1
  5. package/dist/consumer/checkErrors.js.map +1 -0
  6. package/{src → dist}/consumer/index.d.ts +2 -2
  7. package/{src → dist}/consumer/index.js +9 -1
  8. package/dist/consumer/index.js.map +1 -0
  9. package/{src → dist}/consumer/internals.d.ts +2 -2
  10. package/dist/consumer/internals.js.map +1 -0
  11. package/{src → dist}/consumer/types.d.ts +49 -0
  12. package/dist/consumer/types.js.map +1 -0
  13. package/{src → dist}/ffi/index.d.ts +2 -2
  14. package/{src → dist}/ffi/index.js +17 -1
  15. package/dist/ffi/index.js.map +1 -0
  16. package/{src → dist}/ffi/types.d.ts +5 -5
  17. package/{src → dist}/ffi/types.js +16 -0
  18. package/dist/ffi/types.js.map +1 -0
  19. package/{src → dist}/index.js +4 -5
  20. package/dist/index.js.map +1 -0
  21. package/dist/logger/crashMessage.js.map +1 -0
  22. package/{src → dist}/logger/index.d.ts +1 -1
  23. package/{src → dist}/logger/index.js +2 -0
  24. package/dist/logger/index.js.map +1 -0
  25. package/dist/logger/pino.d.ts +3 -0
  26. package/{src → dist}/logger/pino.js +3 -0
  27. package/dist/logger/pino.js.map +1 -0
  28. package/dist/logger/types.js.map +1 -0
  29. package/{src → dist}/pact-environment.js +1 -1
  30. package/dist/pact-environment.js.map +1 -0
  31. package/{src → dist}/pact.d.ts +2 -2
  32. package/{src → dist}/pact.js +3 -2
  33. package/dist/pact.js.map +1 -0
  34. package/{src → dist}/verifier/argumentMapper/arguments.d.ts +3 -3
  35. package/{src → dist}/verifier/argumentMapper/arguments.js +5 -5
  36. package/dist/verifier/argumentMapper/arguments.js.map +1 -0
  37. package/{src → dist}/verifier/argumentMapper/index.d.ts +2 -2
  38. package/{src → dist}/verifier/argumentMapper/index.js +1 -1
  39. package/dist/verifier/argumentMapper/index.js.map +1 -0
  40. package/{src → dist}/verifier/argumentMapper/types.d.ts +1 -1
  41. package/dist/verifier/argumentMapper/types.js.map +1 -0
  42. package/{src → dist}/verifier/index.d.ts +1 -1
  43. package/{src → dist}/verifier/index.js +4 -0
  44. package/dist/verifier/index.js.map +1 -0
  45. package/{src → dist}/verifier/nativeVerifier.d.ts +1 -1
  46. package/{src → dist}/verifier/nativeVerifier.js +4 -1
  47. package/dist/verifier/nativeVerifier.js.map +1 -0
  48. package/{src → dist}/verifier/types.d.ts +4 -1
  49. package/dist/verifier/types.js.map +1 -0
  50. package/{src → dist}/verifier/validateOptions.d.ts +1 -1
  51. package/{src → dist}/verifier/validateOptions.js +3 -0
  52. package/dist/verifier/validateOptions.js.map +1 -0
  53. package/junit.xml +526 -0
  54. package/package.json +32 -51
  55. package/eslint.config.mjs +0 -68
  56. package/src/consumer/checkErrors.js.map +0 -1
  57. package/src/consumer/index.js.map +0 -1
  58. package/src/consumer/internals.js.map +0 -1
  59. package/src/consumer/types.js.map +0 -1
  60. package/src/ffi/index.js.map +0 -1
  61. package/src/ffi/node-gyp-build.d.ts +0 -1
  62. package/src/ffi/node-gyp-build.js +0 -2
  63. package/src/ffi/node-gyp-build.js.map +0 -1
  64. package/src/ffi/types.js.map +0 -1
  65. package/src/index.js.map +0 -1
  66. package/src/logger/crashMessage.js.map +0 -1
  67. package/src/logger/index.js.map +0 -1
  68. package/src/logger/pino.d.ts +0 -3
  69. package/src/logger/pino.js.map +0 -1
  70. package/src/logger/types.js.map +0 -1
  71. package/src/pact-environment.js.map +0 -1
  72. package/src/pact.js.map +0 -1
  73. package/src/verifier/argumentMapper/arguments.js.map +0 -1
  74. package/src/verifier/argumentMapper/index.js.map +0 -1
  75. package/src/verifier/argumentMapper/types.js.map +0 -1
  76. package/src/verifier/index.js.map +0 -1
  77. package/src/verifier/nativeVerifier.js.map +0 -1
  78. package/src/verifier/types.js.map +0 -1
  79. package/src/verifier/validateOptions.js.map +0 -1
  80. package/tsconfig.test.json +0 -13
  81. package/{src → dist}/consumer/checkErrors.d.ts +0 -0
  82. package/{src → dist}/consumer/internals.js +0 -0
  83. package/{src → dist}/consumer/types.js +0 -0
  84. package/{src → dist}/index.d.ts +4 -4
  85. /package/{src → dist}/logger/crashMessage.d.ts +0 -0
  86. /package/{src → dist}/logger/crashMessage.js +0 -0
  87. /package/{src → dist}/logger/types.d.ts +0 -0
  88. /package/{src → dist}/logger/types.js +0 -0
  89. /package/{src → dist}/pact-environment.d.ts +0 -0
  90. /package/{src → dist}/verifier/argumentMapper/types.js +0 -0
  91. /package/{src → dist}/verifier/types.js +0 -0
@@ -17,11 +17,15 @@ class Verifier {
17
17
  constructor(options) {
18
18
  this.options = (0, validateOptions_1.validateOptions)(applyDefaults(options));
19
19
  }
20
+ // Deprecated?
21
+ // This might be hard to validate, given the new FFI interface
22
+ // and potential extensions
20
23
  verify() {
21
24
  logger_1.default.info('Verifying Pact Files');
22
25
  return (0, nativeVerifier_1.verify)(this.options);
23
26
  }
24
27
  }
25
28
  exports.Verifier = Verifier;
29
+ // Creates a new instance of the pact server with the specified option
26
30
  exports.default = (options) => new Verifier(options);
27
31
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verifier/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAC/B,qDAA0C;AAE1C,uDAAoD;AAEpD,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;IAChB,GAAG,OAAO;CACX,CAAC,CAAC;AAEH,MAAa,QAAQ;IACH,OAAO,CAAkB;IAEzC,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,IAAA,iCAAe,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,cAAc;IACd,8DAA8D;IAC9D,2BAA2B;IACpB,MAAM;QACX,gBAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEpC,OAAO,IAAA,uBAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAfD,4BAeC;AAED,sEAAsE;AACtE,kBAAe,CAAC,OAAwB,EAAY,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { VerifierOptions } from './types';
1
+ import type { VerifierOptions } from './types';
2
2
  export declare const verify: (opts: VerifierOptions) => Promise<string>;
@@ -34,10 +34,12 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.verify = void 0;
37
- const logger_1 = __importStar(require("../logger"));
38
37
  const ffi_1 = require("../ffi");
39
38
  const types_1 = require("../ffi/types");
39
+ const logger_1 = __importStar(require("../logger"));
40
40
  const argumentMapper_1 = require("./argumentMapper");
41
+ // TODO: Replace this hack with https://www.npmjs.com/package/@npmcli/package-json
42
+ // TODO: abstract this so it's not repeated in src/logger.ts
41
43
  const pkg = require('../../package.json');
42
44
  const verify = (opts) => {
43
45
  if (opts.logLevel) {
@@ -54,6 +56,7 @@ const verify = (opts) => {
54
56
  logger_1.default.debug(`response from verifier: ${err}, ${res}`);
55
57
  if (err) {
56
58
  if (typeof err === 'string') {
59
+ // It might not really be an `Error`, because it comes from native code.
57
60
  logger_1.default.error(err);
58
61
  }
59
62
  else if (err.message) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["../../src/verifier/nativeVerifier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gCAAmC;AACnC,wCAAwD;AACxD,oDAAgD;AAChD,qDAAqD;AAGrD,kFAAkF;AAClF,4DAA4D;AAE5D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAmB,EAAE;IAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAA,oBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,GAAG,CAAC,gCAAgC,CACjD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtB,GAAG,CAAC,OAAO,CACZ,CAAC;IAEF,IAAA,kCAAiB,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,GAAU,EAAE,GAAW,EAAE,EAAE;YAC7D,gBAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;YAE7D,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChD,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAEpC,gBAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5B,wEAAwE;oBACxE,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACvB,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;gBACD,gBAAM,CAAC,SAAS,CACd,sEAAsE,CACvE,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,gCAAwB,CAAC,uBAAuB;wBACnD,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACjB,MAAM;oBACR,KAAK,gCAAwB,CAAC,mBAAmB;wBAC/C,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC3B,MAAM;oBACR,KAAK,gCAAwB,CAAC,iBAAiB;wBAC7C,gBAAM,CAAC,SAAS,CACd,mDAAmD,CACpD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBACpD,MAAM;oBACR;wBACE,gBAAM,CAAC,SAAS,CACd,wDAAwD,CACzD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvC,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA1DW,QAAA,MAAM,UA0DjB"}
@@ -1,4 +1,4 @@
1
- import { LogLevel } from '../logger/types';
1
+ import type { LogLevel } from '../logger/types';
2
2
  export interface ConsumerVersionSelector {
3
3
  tag?: string;
4
4
  latest?: boolean;
@@ -48,6 +48,9 @@ export interface VerifierOptions {
48
48
  customProviderHeaders?: CustomHeaders | string[];
49
49
  consumerFilters?: string[];
50
50
  transports?: Transport[];
51
+ /**
52
+ * @deprecated use providerVersionBranch instead
53
+ */
51
54
  providerBranch?: string;
52
55
  failIfNoPactsFound?: boolean;
53
56
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/verifier/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { InternalPactVerifierOptions, VerifierOptions } from './types';
1
+ import type { InternalPactVerifierOptions, VerifierOptions } from './types';
2
2
  export declare const deprecatedFunction: () => (_: unknown, property: string) => boolean;
3
3
  export declare const deprecatedBy: (preferredOption: string) => () => (_: unknown, property: string) => boolean;
4
4
  export declare const incompatibleWith: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: unknown, property: string) => boolean;
@@ -202,14 +202,17 @@ exports.validationRules = {
202
202
  transports: [],
203
203
  };
204
204
  const validateOptions = (options) => {
205
+ // Check that at least one of pactUrls or providerBaseUrl is provided
205
206
  if (!options.pactUrls && !options.providerBaseUrl) {
206
207
  throw new Error('Either pactUrls or providerBaseUrl must be provided');
207
208
  }
208
209
  Object.keys(options).concat('providerBaseUrl').forEach((k) => {
209
210
  const rules = exports.validationRules[k];
211
+ // get type of parameter (if an array, we apply the rule to each item of the array instead)
210
212
  if (k in options && Array.isArray(options[k])) {
211
213
  options[k].forEach((item) => {
212
214
  (rules || []).forEach((rule) => {
215
+ // rule(item) // If the messages aren't clear, we can do this
213
216
  rule(options)(item, k);
214
217
  });
215
218
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["../../src/verifier/validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA2C;AAE3C,2CAAkC;AAClC,oDAAqD;AAQ9C,MAAM,kBAAkB,GAC7B,GAAG,EAAE,CACL,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IACxC,gBAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,6CAA6C,CAAC,CAAC;IAEtE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AANS,QAAA,kBAAkB,sBAM3B;AAEG,MAAM,YAAY,GACvB,CAAC,eAAuB,EAAE,EAAE,CAC5B,GAAG,EAAE,CACL,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IACxC,gBAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,uBAAuB,eAAe,UAAU,CAAC,CAAC;IAEzE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAPS,QAAA,YAAY,gBAOrB;AAEG,MAAM,gBAAgB,GAC3B,CAAC,IAA2C,EAAE,EAAE,CAChD,CAAC,OAAoC,EAAE,EAAE,CACzC,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IACxC,MAAM,iBAAiB,GAAG,IAAA,iBAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAA,yBAAgB,EACd,GAAG,QAAQ,mDAAmD,IAAI,CAAC,IAAI,CACrE,GAAG,CACJ,EAAE,CACJ,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBS,QAAA,gBAAgB,oBAgBzB;AAEG,MAAM,QAAQ,GACnB,CAAC,IAA2C,EAAE,EAAE,CAChD,CAAC,OAAoC,EAAE,EAAE,CACzC,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACjD,IAAA,yBAAgB,EACd,GAAG,QAAQ,uCAAuC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdS,QAAA,QAAQ,YAcjB;AAEG,MAAM,aAAa,GACxB,CAAC,IAA2C,EAAE,EAAE,CAChD,CAAC,OAAoC,EAAE,EAAE,CACzC,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAErC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,IAAA,yBAAgB,EACd,GAAG,QAAQ,8CAA8C,IAAI,CAAC,IAAI,CAChE,GAAG,CACJ,EAAE,CACJ,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBS,QAAA,aAAa,iBAgBtB;AAIJ,MAAM,oBAAoB,GACxB,GAAmB,EAAE,CAAC,CAAC,CAAU,EAAE,QAAgB,EAAE,EAAE,CACrD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;AAE5D,MAAM,aAAa,GAAG,GAAmB,EAAE,CAAC,CAAC,CAAU,EAAE,QAAgB,EAAE,EAAE,CAC3E,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAY,EAAE,QAAQ,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAG,GAAmB,EAAE,CAAC,CAAC,CAAU,EAAE,QAAgB,EAAE,EAAE,CAC5E,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;AAEpD,MAAM,SAAS,GAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,iBAAiB,GACrB,GAAG,EAAE,CACL,CAAC,CAAU,EAAW,EAAE;IACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAc,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,iBAAiB,CAAC,qDAAqD,SAAS,CAAC,IAAI,CACnF,IAAI,CACL,EAAE,CACJ,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,gCAAgC,GACpC,CAAC,OAAoC,EAAE,EAAE,CAAC,GAAY,EAAE;IACtD,IACE,OAAO,CAAC,wBAAwB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAC/C,CAAC;QACD,MAAM,KAAK,GAAyC;YAClD,KAAK;YACL,QAAQ;YACR,UAAU;YACV,oBAAoB;YACpB,UAAU;YACV,UAAU;YACV,aAAa;YACb,aAAa;YACb,QAAQ;YACR,YAAY;YACZ,gBAAgB;SACjB,CAAC;QACF,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,gBAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;gBACF,gBAAM,CAAC,IAAI,CACT,6DAA6D,CAC9D,CAAC;gBACF,gBAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBACvD,gBAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAoC,CAAC,EAAE,CAAC;oBAC1D,gBAAM,CAAC,IAAI,CACT,kCAAkC,GAAG,mFAAmF,KAAK,CAAC,IAAI,CAChI,IAAI,CACL,GAAG,CACL,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ,MAAM,4BAA4B,GAChC,CAAC,OAAoC,EAAE,EAAE,CAAC,GAAY,EAAE;IACtD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,IACE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC/C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACxD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,gBAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,6DAA6D,CAC9D,CAAC;YACF,gBAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,gBAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ,MAAM,8BAA8B,GAClC,CAAC,OAAoC,EAAE,EAAE,CAAC,GAAY,EAAE;IACtD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACjD,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAMS,QAAA,eAAe,GAC1B;IACE,eAAe,EAAE,CAAC,oBAAoB,CAAC;IACvC,QAAQ,EAAE,CAAC,oBAAoB,CAAC;IAChC,wBAAwB,EAAE,CAAC,gCAAgC,CAAC;IAC5D,mBAAmB,EAAE,CAAC,4BAA4B,CAAC;IACnD,qBAAqB,EAAE,CAAC,8BAA8B,CAAC;IACvD,sBAAsB,EAAE,CAAC,aAAa,CAAC;IACvC,aAAa,EAAE,CAAC,aAAa,CAAC;IAC9B,MAAM,EAAE,CAAC,0BAAkB,CAAC;IAC5B,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;IAC5C,QAAQ,EAAE,CAAC,oBAAoB,CAAC;IAChC,QAAQ,EAAE,CAAC,oBAAoB,CAAC;IAChC,aAAa,EAAE;QACb,oBAAoB;QACpB,IAAA,gBAAQ,EAAC,CAAC,UAAU,CAAC,CAAC;QACtB,IAAA,qBAAa,EAAC;YACZ,UAAU;YACV,0BAA0B;YAC1B,qBAAqB;SACtB,CAAC;KACH;IACD,kBAAkB,EAAE;QAClB,oBAAoB;QACpB,IAAA,wBAAgB,EAAC,CAAC,iBAAiB,CAAC,CAAC;QACrC,IAAA,gBAAQ,EAAC,CAAC,oBAAoB,CAAC,CAAC;KACjC;IACD,kBAAkB,EAAE;QAClB,oBAAoB;QACpB,IAAA,wBAAgB,EAAC,CAAC,iBAAiB,CAAC,CAAC;QACrC,IAAA,gBAAQ,EAAC,CAAC,oBAAoB,CAAC,CAAC;KACjC;IACD,eAAe,EAAE;QACf,oBAAoB;QACpB,IAAA,wBAAgB,EAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;KAC/D;IACD,mBAAmB,EAAE,CAAC,oBAAoB,CAAC;IAC3C,cAAc,EAAE;QACd,oBAAoB;QACpB,IAAA,oBAAY,EAAC,uBAAuB,CAAC;KACtC;IACD,qBAAqB,EAAE,CAAC,oBAAoB,CAAC;IAC7C,sBAAsB,EAAE,CAAC,oBAAoB,CAAC;IAC9C,2BAA2B,EAAE,CAAC,aAAa,CAAC;IAC5C,uBAAuB,EAAE,CAAC,aAAa,CAAC;IACxC,yBAAyB,EAAE,CAAC,aAAa,EAAE,IAAA,gBAAQ,EAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzE,eAAe,EAAE,CAAC,oBAAoB,CAAC;IACvC,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,GAAG,EAAE,CAAC,0BAAkB,CAAC;IACzB,OAAO,EAAE,CAAC,0BAAkB,CAAC;IAC7B,WAAW,EAAE,CAAC,0BAAkB,CAAC;IACjC,MAAM,EAAE,CAAC,0BAAkB,CAAC;IAC5B,OAAO,EAAE,CAAC,oBAAoB,CAAC;IAC/B,eAAe,EAAE,CAAC,oBAAoB,CAAC;IACvC,kBAAkB,EAAE,CAAC,aAAa,CAAC;IACnC,UAAU,EAAE,EAAE;CACf,CAAC;AAEG,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAmB,EAAE;IAC3E,qEAAqE;IACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAGC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAG9C,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,uBAAe,CAAC,CAAC,CAAC,CAAC;QAEjC,2FAA2F;QAC3F,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAA0B,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,CAA0B,CAAe,CAAC,OAAO,CACxD,CAAC,IAAa,EAAE,EAAE;gBAChB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,8DAA8D;oBAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAA0B,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA/BW,QAAA,eAAe,mBA+B1B"}