dequanto 0.2.30 → 0.2.32

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.
@@ -312,26 +312,15 @@ class ContractBase {
312
312
  if ($abis.length === 1) {
313
313
  return $abis[0];
314
314
  }
315
- $abis = $abis.filter(abi => {
316
- for (let i = 0; i < args.length; i++) {
317
- let item = abi.inputs[i];
318
- let arg = args[i];
319
- if (item.type === 'address' && _address_1.$address.isValid(arg)) {
320
- continue;
321
- }
322
- if (item.type === 'bool' && typeof arg === 'boolean') {
323
- continue;
324
- }
325
- if (item.type === 'string' && typeof arg === 'string') {
326
- continue;
327
- }
328
- if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
329
- continue;
330
- }
331
- return false;
332
- }
333
- return true;
334
- });
315
+ $abis = filterABIbyArguments($abis, args, 'shallow');
316
+ if ($abis.length === 1) {
317
+ return $abis[0];
318
+ }
319
+ $abis = filterABIbyArguments($abis, args, 'single');
320
+ if ($abis.length === 1) {
321
+ return $abis[0];
322
+ }
323
+ $abis = filterABIbyArguments($abis, args, 'both');
335
324
  if ($abis.length === 1) {
336
325
  return $abis[0];
337
326
  }
@@ -485,5 +474,64 @@ var BlockWalker;
485
474
  }
486
475
  BlockWalker.onBlock = onBlock;
487
476
  })(BlockWalker || (BlockWalker = {}));
477
+ // Tuple check type detects how an argument satisfies the "tuple"
478
+ // shallow: checks only that the argument is an object type
479
+ // single: checks that all tuple components (keys) are present in the argument
480
+ // both: checks that all tuple components are present in the argument AND all argument keys exist in the tuple components
481
+ function filterABIbyArguments(abis, args, tupleCheck) {
482
+ return abis.filter(abi => {
483
+ for (let i = 0; i < args.length; i++) {
484
+ let item = abi.inputs[i];
485
+ let arg = args[i];
486
+ if (item.type === 'address' && _address_1.$address.isValid(arg)) {
487
+ continue;
488
+ }
489
+ if (item.type === 'bool' && typeof arg === 'boolean') {
490
+ continue;
491
+ }
492
+ if (item.type === 'string' && typeof arg === 'string') {
493
+ continue;
494
+ }
495
+ if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
496
+ continue;
497
+ }
498
+ if (/tuple/.test(item.type)) {
499
+ arg ??= {};
500
+ if (tupleCheck === 'shallow') {
501
+ if (typeof arg === 'object') {
502
+ continue;
503
+ }
504
+ }
505
+ if (tupleCheck === 'single' || tupleCheck === 'both') {
506
+ // E.g. Solidity structs:
507
+ // 1. struct FooV1 { uint256 a; uint256 b; }
508
+ // 2. struct FooV2 { uint256 a; uint256 b; uint256 c; }
509
+ // If we call the 2. overloaded function the single check will match both structs
510
+ // therefore we need later to call with tupleCheck === 'both' to detect correct overload
511
+ const components = item.components ?? [];
512
+ const satisfies = components.every(x => x.name in arg) ?? false;
513
+ if (!satisfies) {
514
+ return false;
515
+ }
516
+ if (tupleCheck === 'single') {
517
+ continue;
518
+ }
519
+ }
520
+ if (tupleCheck === 'both') {
521
+ const components = item.components ?? [];
522
+ for (let key in arg) {
523
+ const found = components.find(x => x.name === key);
524
+ if (!found) {
525
+ return false;
526
+ }
527
+ }
528
+ continue;
529
+ }
530
+ }
531
+ return false;
532
+ }
533
+ return true;
534
+ });
535
+ }
488
536
  //# sourceMappingURL=ContractBase.js.map
489
537
  //# sourceMappingURL=ContractBase.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractBase.js","sourceRoot":"","sources":["../../../src/contracts/ContractBase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsB;AACtB,gDAAwB;AACxB,gDAAwB;AAUxB,yDAAsD;AACtD,mDAAgD;AAChD,2DAAwD;AACxD,qDAAuE;AACvE,qDAAkD;AAClD,qDAAkD;AAClD,2FAAwF;AACxF,uEAAoF;AACpF,iEAA8D;AAC9D,qDAAkD;AAClD,uDAAoD;AAEpD,yDAAsD;AAGtD,iEAA8D;AAC9D,gEAA6D;AAE7D,6CAA0C;AAC1C,kEAA+D;AAK/D,MAAsB,YAAY;IA0B9B,YACW,OAAiB,EACjB,MAAkB,EAClB,QAA6B;QAF7B,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAY;QAClB,aAAQ,GAAR,QAAQ,CAAqB;QAEpC,IAAI,SAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAwC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG;gBACT,OAAO,EAAE,OAAO,CAAC,WAAW,EAAc;gBAC1C,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;aACzC,CAAC;YACF,qBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAE,QAAoC;QAC5D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IACM,eAAe,CAAE,MAAuB,EAAE,KAAc;QAC3D,OAAO,qBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IACM,KAAK,CAAC,aAAa,CAA4E,MAAS;QAG3G,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW,CACb,KAAgC,EAC9B,OAA6D;QAE/D,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAA0B,EAAE,OAAO,CAAQ,CAAC;IACrF,CAAC;IAEM,OAAO,CAAE,aAAiC,EAAE,YAA+B;QAC9E,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,aAAa,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;aAC3B;YACD,YAAY,EAAE;gBACV,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aAC1B;SACJ,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,QAAQ,CAA0B,OAAiB;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,WAAkB,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC;IACb,CAAC;IAGM,KAAK;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,OAAO,qCAAiB,CAAC,KAAK,CAC1B,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,GAAG,IAAI,CACV,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAGM,KAAK,CAAE,MAIb;QACG,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,EAAE,IAAI,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9C;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAC5G,IAAI,QAAQ,GAAG,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC3C,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,IAAI,MAAM,GAAa,MAAM,IAAI;yBAC5B,OAAO,CAAC;wBACL,IAAI,EAAE,QAAQ;wBACd,aAAa,EAAE,KAAK;wBACpB,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvC,CAAC,CACD,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAEnC,IAAI,MAAM,EAAE,QAAQ,EAAE;wBAClB,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;qBACtC;oBACD,IAAI,MAAM,EAAE,WAAW,EAAE;wBACrB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;qBACpC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAsB,CAAC;oBACjD,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE;wBACtB,wBAAwB;wBACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;wBACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;wBACjC,OAAO,IAAI,CAAC,YAAY,CAAC;wBACzB,OAAO,IAAI,CAAC,GAAG,CAAC;qBACnB;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1G,IAAI,OAAO,GAAG,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACzC,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,CAAC,EAAE,CAAE,GAAG,IAAW;oBACpB,OAAO;wBACH,EAAE,EAAE,IAAI,CAAC,OAAO;wBAChB,IAAI,EAAE,qBAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC;qBACxD,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,QAAQ;YACX,GAAG,OAAO;SACb,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAGM,IAAI;QACP,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,OAAO,qCAAiB,CAAC,IAAI,CACzB,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,GAAG,IAAI,CACV,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAEM,IAAI;QACP,OAAO,mCAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAE,aAAiC,EAAE,YAA+B;QAC9E,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,aAAa,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;YAC/C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SAC5D;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGO,aAAa;QACjB,OAAO,iCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAGM,QAAQ;QACX,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,IAAI,EAAE,GAAa,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC/D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO,EAAE,CAAC;gBACd,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAAE,GAAuC;QACpD,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACS,cAAc,CAAE,WAAwC;QAC9D,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IACS,UAAU,CAAE,IAAsB;QACxC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAE,GAAsB,EAAE,GAAG,MAAM;QAC9C,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,QAAQ,EAAE;YACvC,IAAI,GAAG,GAA4C;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG;gBACH,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;iBACjC;aACJ,CAAC;YACF,OAAO,GAAG,CAAC;SACd;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAE,KAAa,EAAE,EAAG;QAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,EAAE,EAAE;YACJ,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACxB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,cAAc,CAAE,OAAyC;QAE5D,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;QAO9B,IAAI,MAAM,GAAG,IAAI,6BAAa,EAAY,CAAC;QAE3C,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACrF,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClB,OAAO;aACV;YAED,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI;oBACA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAE9C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;oBACpC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE;wBAClC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;4BAC1B,OAAO;yBACV;qBACJ;oBACD,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,EAAE;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAClC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAClB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCACxC,OAAO;6BACV;yBACJ;qBACJ;oBACD,MAAM,CAAC,IAAI,CAAC;wBACR,KAAK;wBACL,EAAE;wBACF,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE;qBAChE,CAAC,CAAC;iBACN;gBAAC,OAAO,KAAK,EAAE;oBACZ,iBAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,MAAM,CAAE,GAAsB,EAAE,OAAyD,EAAE,GAAG,MAAM;QAChH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC;IACP,CAAC;IAES,WAAW,CAAE,IAAqC,EAAE,IAAY,EAAE,SAAkB;QAC1F,OAAO,qCAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAIS,mBAAmB,CAAE,GAAmC,EAAE,IAAW;QAC3E,IAAI,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAC/D,CAAC,CAAC,GAAG,CAAC;QAET,IAAI,KAAK,GAAG,IAAI;aACX,GAAG,CAAC,SAAS,CAAC,EAAE;YACb,IAAI,OAAO,SAAS,KAAI,QAAQ,EAAE;gBAC9B,OAAO,uBAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC5C;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;SACzH;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAClD,SAAS;iBACZ;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;oBAClD,SAAS;iBACZ;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBACnD,SAAS;iBACZ;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE;oBAClF,SAAS;iBACZ;gBACD,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,MAAM,8CAA8C,CAAC,CAAA;IAC9I,CAAC;IAES,YAAY,CAAE,EAAkB,EAAE,OAAiB;QACzD,IAAI,IAAI,GAAG,qBAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,WAAW,CAAE,GAAa,EAAE,GAAoD;QACtF,IAAI,GAA0B,CAAC;QAE/B,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,CAAE,GAA6B,IAAK,EAAE,CAAC,CAAC;QACzF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;YACnE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SAClB;aAAM;YACH,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF;QAED,IAAI,MAAM,GAAG,qBAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,KAAK,CAAC,YAAY,CAAC,OAAwB,EAAE,OAItD;QACG,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACM,KAAK,CAAC,kBAAkB,CAAE,GAA8C,EAAE,OAgBhF;QACG,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE;YAC9C,GAAG,OAAO;SACb,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACxC,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;oBAC7B,OAAO;iBACV;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,OAAO,CAAC,UAAU,CAAC;oBACrB,GAAG,IAAI;oBACP,IAAI,EAAE,KAAK;oBACX,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAQ,CAAC;IAC/D,CAAC;IACS,KAAK,CAAC,mBAAmB,CAAC,GAA8C,EAAE,OAQnF;QACG,IAAI,GAAgC,CAAC;QACrC,IAAI,GAAG,KAAK,GAAG,EAAE;YACb,GAAG,GAAG,GAAG,CAAA;SACZ;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAChC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACxC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC;SACb;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACxE,GAAG,GAAG,GAAG,CAAC;SACb;aAAM;YACH,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACd,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACvB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACvC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CACzC,GAAG,EACH;YACI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO;SAC9C,CACJ,CAAC;IACN,CAAC;IAEO,iBAAiB;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YACxB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3C;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAGO,sBAAsB;QAC1B,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC;IAClB,CAAC;IAGS,iBAAiB;QACvB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;YAClB,iCAAiC;YACjC,IAAI,SAAS,GAAG,cAAE,CAAC,OAAO,CAAC,iDAAuB,CAAC,CAAC;YACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChC;QACD,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAClB,CAAC;IAGO,iBAAiB;QACrB,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAlcG;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yCAyBxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yCA6DxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wCAyBxC;AAeD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iDAGxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4CAmBxC;AAqRD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DAIxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDASxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDAIxC;AAthBL,oCAuhBC;AAED,IAAU,WAAW,CAqCpB;AArCD,WAAU,WAAW;IAajB,MAAM,QAAQ,GAAG,EAAwC,CAAE;IAE3D,SAAgB,OAAO,CAAE,MAAkB,EAAE,OAA4B,EAAE,EAAkB;QAEzF,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,EAAE,IAAI,IAAI,EAAE,IAAI,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,CAAC;QACvF,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,OAAO,GAAG,IAAI,iCAAe,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACnB,CAAC;IArBe,mBAAO,UAqBtB,CAAA;AACL,CAAC,EArCS,WAAW,KAAX,WAAW,QAqCpB"}
1
+ {"version":3,"file":"ContractBase.js","sourceRoot":"","sources":["../../../src/contracts/ContractBase.ts"],"names":[],"mappings":"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"}
@@ -546,7 +546,6 @@ var Gen;
546
546
  }).join('\n');
547
547
  let abi = abis[0];
548
548
  let { fnResult } = serializeArgumentsTs(abi);
549
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
550
549
  return {
551
550
  ts: `
552
551
  ${overrides}
@@ -621,12 +620,11 @@ var Gen;
621
620
  `;
622
621
  }).join('\n');
623
622
  let abi = abis[0];
624
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
625
623
  return {
626
624
  ts: `
627
625
  ${overrides}
628
626
  async ${abi.name} (sender: TSender, ...args): Promise<TxWriter> {
629
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
627
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
630
628
  return this.$write(abi, sender, ...args);
631
629
  }
632
630
  `,
@@ -636,7 +634,7 @@ var Gen;
636
634
  `,
637
635
  js: `
638
636
  async ${abi.name} (sender, ...args) {
639
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
637
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
640
638
  return this.$write(abi, sender, ...args);
641
639
  }
642
640
  `
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,qCAAoC;AACpC,2CAAuC;AACvC,uDAAoD;AACpD,iDAA8C;AAC9C,iDAA8C;AAC9C,yDAAsD;AAEtD,qDAAkD;AAClD,qDAAkD;AAClD,qEAAkE;AAElE,qCAAkC;AAClC,uCAAoC;AAKpC,MAAa,gBAAgB;IAEzB,MAAM,KAAK,GAAG;QACV,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmB,EAAE,IAkBnC;QACG,IAAI,QAAQ,GAAG,iBAAO,CAAC,GAAG,CAAuC,mBAAmB,CAAC,CAAC;QACtF,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC;QACrD,IAAI,gBAAgB,GAAG;YACnB,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACZ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;QAEpB,IAAI,gBAAgB,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,IAAI,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI;YACvC,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;YACT,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;SACX,CAAC,MAAM,CAAC,CAAC;QAEV,IAAI,UAAU,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;aAC9D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACpB,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,OAAO,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aACtC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,OAAO,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;aAChD;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,GAAG,CAAC,EAAE;YACX,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACjD,CAAA;QACL,CAAC,CAAC,CAAC;QAGP,IAAI,aAAa,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;aAClC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACpB,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,EAAE,CAAC;QAEf,IAAI,SAAS,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,GAAG,CAAC,EAAE;YACX,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACjD,CAAA;QACL,CAAC,CAAC,CAAA;QAEN,IAAI,UAAU,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;aAC/B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACpB,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,EAAE,CAAC;QAGf,uGAAuG;QAEvG,IAAI,mBAAmB,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aACxC,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,GAAG,CAAC,EAAE;YACX,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACjD,CAAA;QACL,CAAC,CAAC,CAAC;QAEP,IAAI,iBAAiB,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,GAAG,CAAC,EAAE;YACX,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACjD,CAAA;QACL,CAAC,CAAC,CAAC;QAEP,gCAAgC;QAChC,uCAAuC;QACvC,gDAAgD;QAChD,uBAAuB;QACvB,8BAA8B;QAE9B,IAAI,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,uBAAuB,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErE,IAAI,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,qBAAqB,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,sBAAsB,GAAG,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnF,IAAI,YAAY,GAAG,aAAK,CAAC,OAAO,CAAC,uCAAwC,sBAAuB,OAAO,CAAC,CAAC;QACzG,IAAI,QAAQ,GAAG,MAAM,cAAI,CAAC,SAAS,CAAS,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,eAAe,GAAG,aAAK,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;QACrF,IAAI,WAAW,GAAG,MAAM,cAAI,CAAC,SAAS,CAAS,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAErF,IAAI,YAAY,CAAC;QACjB,IAAI,gBAAgB,CAAC;QACrB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAiB,CAAC;QACtB,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7D,QAAQ,IAAI,CAAC,OAAO,EAAE;YAClB,KAAK,SAAS;gBACV,YAAY,GAAG,WAAW,CAAC;gBAC3B,gBAAgB,GAAG,mBAAmB,CAAC;gBACvC,OAAO,GAAG;oBACN,GAAG,EAAE;wBACD,8BAA8B,SAAS,uBAAuB;wBAC9D,sCAAsC,SAAS,8BAA8B;qBAChF;oBACD,GAAG,EAAE;wBACD,kCAAkC,SAAS,wBAAwB;wBACnE,0CAA0C,SAAS,+BAA+B;qBACrF;iBACJ,CAAC,gBAAgB,CAAC,CAAC;gBACpB,SAAS,GAAG,EAAE,CAAC;gBACf,MAAM;YACV,OAAO,CAAC,CAAC;gBACL,IAAI,UAAU,GAAG,iBAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrD,IAAI,UAAU,EAAE;oBACZ,YAAY,GAAG,SAAS,CAAC;oBACzB,gBAAgB,GAAG,eAAe,CAAC;oBACnC,OAAO,GAAG;wBACN,GAAG,EAAE;4BACD,4BAA4B,SAAS,qBAAqB;4BAC1D,kCAAkC,SAAS,0BAA0B;yBACxE;wBACD,GAAG,EAAE;4BACD,gCAAgC,SAAS,sBAAsB;4BAC/D,sCAAsC,SAAS,2BAA2B;yBAC7E;qBACJ,CAAC,gBAAgB,CAAC,CAAC;oBACpB,iBAAiB,GAAG,gBAAgB,IAAI,CAAC,OAAO,KAAK,CAAC;oBACtD,cAAc,GAAG,gBAAgB,IAAI,CAAC,OAAO,KAAK,CAAC;oBAEnD,SAAS,GAAG,EAAE,CAAC;oBACf,IAAI,OAAO,GAAG,iBAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC/D,IAAI,OAAO,EAAE,GAAG,EAAE;wBACd,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,YAAY,IAAI,CAAC,OAAO,OAAO,CAAC;qBAC7D;oBACD,MAAM;iBACT;gBAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,OAAO,iDAAiD,CAAC,CAAC;aACrG;SACJ;QAGD,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,UAAU,GAAG,aAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,sBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,IAAI,aAAa,EAAE,CAAC,CAAC;QAE5F,IAAI,IAAI,GAAG;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrC,CAAC,CAAC,KAAK,CAAC;YACZ,MAAM,EAAE,IAAI,CAAC,UAAU;gBACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvC,CAAC,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;SAC1C,CAAC;QACF,IAAI,YAAY,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAG9D,IAAI,wBAAwB,GAAG,EAAE,CAAC;QAClC,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,yBAAyB,GAAG,EAAE,CAAC;QACnC,IAAI;YACA,IAAI,sBAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;YAC1D,IAAI,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAE1F,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gBACnD,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACvD;YACD,IAAI,MAAM,CAAC,SAAS,EAAE;gBAClB,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC;gBACzC,qBAAqB,GAAG,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,wBAAwB,GAAG,sBAAsB,MAAM,CAAC,SAAS,6CAA6C,CAAC;gBAC/G,iBAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;aACrD;iBAAM;gBACH,iBAAO,CAAC,GAAG,CAAC,4CAA4C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;aACpF;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,iBAAO,CAAC,KAAK,CAAC,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SACjF;QAED,IAAI,SAAS,GAAG,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG,QAAQ;aACd,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;aACvC,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;aAC/C,OAAO,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;aACpD,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC;aAE9C,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;aACtE,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClD,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aACtE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;aAC/B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;aACjE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;aACjC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;aAC/B,OAAO,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;aACpD,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;aAChD,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC/C,OAAO,CAAC,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;aAC/D,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;YACrC,oHAAoH;aAEnH,OAAO,CAAC,kCAAkC,EAAE,wBAAwB,CAAC;aACrE,OAAO,CAAC,+BAA+B,EAAE,qBAAqB,CAAC;aAC/D,OAAO,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC;aAC/D,OAAO,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAC5G,OAAO,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAGxG,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;aACpG,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAExG;QAEL,IAAI,OAAO,GAAG,WAAW;aAEpB,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClD,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aACtE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;aAC/B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;aACjE,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC;aACxC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC;aACtC,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;aAC3D,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;aACvD,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC/C,OAAO,CAAC,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;aAC/D,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;YACrC,oHAAoH;aAEnH,OAAO,CAAC,kCAAkC,EAAE,wBAAwB,CAAC;aACrE,OAAO,CAAC,+BAA+B,EAAE,qBAAqB,CAAC;aAC/D,OAAO,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC;aACtE,OAAO,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAC5G,OAAO,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAGxG,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;aACpG,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CACxG;QAGL,MAAM,cAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC3B,IAAI,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,cAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACtE;QAGD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,IAAI,GAAG,sBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,UAAU,CAAC,CAAC;YACxF,MAAM,cAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxC;QAED,iBAAO,CAAC,GAAG,CAAC,cAAc,SAAS,sCAAsC,UAAU,GAAG,CAAC,CAAC;QAExF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;YACvC,WAAW,GAAG,MAAM,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;gBAChE,IAAI,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;gBAC3B,IAAI,GAAG,GAAG,aAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAC1C,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBACrD;gBACD,6DAA6D;gBAC7D,oCAAoC;gBACpC,qDAAqD;gBACrD,mDAAmD;gBACnD,IAAI;gBACJ,IAAI,IAAI,GAAG,sBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBACvF,MAAM,cAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtE,iBAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC;IACN,CAAC;IAGO,eAAe,CAAC,IAAY;QAChC,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,OAAO,IAAI,CAAC;SACf;QACD,IAAI,GAAG,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ;AAxWD,4CAwWC;AAGD,IAAU,GAAG,CA+fZ;AA/fD,WAAU,GAAG;IAET,SAAgB,iBAAiB,CAAC,GAAa;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;YAC5B,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,MAAM,GAAG,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACR,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;SACrC;QACD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IATe,qBAAiB,oBAShC,CAAA;IACD,SAAgB,0BAA0B,CAAC,IAAgB;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE;YACR,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;SAC/C;QACD,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IANe,8BAA0B,6BAMzC,CAAA;IAED,yCAAyC;IACzC,SAAgB,2BAA2B,CAAC,IAAY,EAAE,IAAgB;QACtE,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,EAAE,uBAAuB,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,KAAK,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,IAAI,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,GAAG;YACP,aAAa,KAAK,IAAI;YACtB,cAAc,IAAI,GAAG;YACrB,gBAAgB,IAAI,EAAE;YACtB,GAAG;SACN,CAAC;QACF,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACN,CAAC;IAlBe,+BAA2B,8BAkB1C,CAAA;IAED,SAAgB,wBAAwB,CAAC,IAAY,EAAE,IAAgB;QACnE,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,EAAE,uBAAuB,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,KAAK,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,IAAI,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,GAAG;YACP,GAAG,IAAI,KAAK;YACZ,cAAc,IAAI,GAAG;YACrB,gBAAgB,IAAI,EAAE;YACtB,GAAG;SACN,CAAC;QACF,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACN,CAAC;IAlBe,4BAAwB,2BAkBvC,CAAA;IAED,SAAgB,8BAA8B,CAAC,OAAgD;QAC3F,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG;YACP,sBAAsB;YACtB,GAAG,MAAM;YACT,8CAA8C;YAC9C,GAAG;SACN,CAAC;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACN,CAAC;IAbe,kCAA8B,iCAa7C,CAAA;IACD,SAAgB,8BAA8B,CAAC,MAAkB;QAC7D,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,KAAK,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,YAAY,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG;YACP,qBAAqB;YACrB,GAAG,MAAM;YACT,eAAe;YACf,GAAG;SACN,CAAC;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACN,CAAC;IAbe,kCAA8B,iCAa7C,CAAA;IACD,SAAgB,kBAAkB,CAAC,KAAe;QAC9C,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,YAAY,GAAG,KAAK,uBAAuB,CAAC,EAAE,IAAI,CAAC;QACvD,IAAI,UAAU,GAAG,KAAK,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;QACvE,IAAI,IAAI,GAAG;YACP,GAAG,KAAK,CAAC,IAAI,KAAK;YAClB,qBAAqB,YAAY,GAAG;YACpC,qBAAqB,UAAU,GAAG;YAClC,GAAG;SACN,CAAC;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACN,CAAC;IAbe,sBAAkB,qBAajC,CAAA;IAED,SAAgB,cAAc,CAAC,GAAa;QACxC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1F,OAAO;YACH,EAAE,EAAE;oBACI,GAAG,CAAC,IAAI,2DAA2D,GAAG,CAAC,IAAI,8EAA8E,GAAG,CAAC,IAAI;0CAC3I,GAAG,CAAC,IAAI;;aAErC;YACD,KAAK,EAAE;oBACC,GAAG,CAAC,IAAI,2DAA2D,GAAG,CAAC,IAAI,8EAA8E,GAAG,CAAC,IAAI;aACxK;YACD,EAAE,EAAE;oBACI,GAAG,CAAC,IAAI;0CACc,GAAG,CAAC,IAAI;;aAErC;SACJ,CAAC;IACN,CAAC;IAjBe,kBAAc,iBAiB7B,CAAA;IACD,SAAgB,uBAAuB,CAAC,GAAa;QACjD,OAAO;YACH,EAAE,EAAE;6BACa,GAAG,CAAC,IAAI,mDAAmD,GAAG,CAAC,IAAI;2DACrC,GAAG,CAAC,IAAI;2FACwB,GAAG,CAAC,IAAI;;aAEtF;YACD,KAAK,EAAE;6BACU,GAAG,CAAC,IAAI,mDAAmD,GAAG,CAAC,IAAI;aACnF;YACD,EAAE,EAAE;6BACa,GAAG,CAAC,IAAI;2DACsB,GAAG,CAAC,IAAI;;;aAGtD;SACJ,CAAC;IACN,CAAC;IAlBe,2BAAuB,0BAkBtC,CAAA;IACD,SAAgB,qBAAqB,CAAC,GAAa;QAC/C,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,OAAO,GAAG,IAAA,cAAI,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/D,IAAI,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACpG,OAAO;YACH,EAAE,EAAE;mCACmB,GAAG,CAAC,IAAI;;;iCAGV,aAAa;uDACS,GAAG,CAAC,IAAI;4DACH,GAAG,CAAC,IAAI;;aAEvD;YACD,KAAK,EAAE;6BACU,GAAG,CAAC,IAAI;;;iCAGJ,aAAa;uDACS,GAAG,CAAC,IAAI;aAClD;YACD,EAAE,EAAE;mCACmB,GAAG,CAAC,IAAI;4DACiB,GAAG,CAAC,IAAI;;aAEvD;SACJ,CAAA;IACL,CAAC;IA3Be,yBAAqB,wBA2BpC,CAAA;IACD,4DAA4D;IAC5D,0FAA0F;IAC1F,eAAe;IACf,mCAAmC;IACnC,kCAAkC;IAClC,aAAa;IACb,sFAAsF;IACtF,SAAS;IACT,IAAI;IAEJ,SAAgB,kBAAkB,CAAC,GAAa,EAAE,YAAsB;QACpE,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAI,YAAY,IAAI,CAAC,CAAC,IAAI,EAAE;gBACxB,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;aACzB;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC;SAC5B;QACD,IAAI,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,YAAY,GAAG,CAAC,IAAI,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAde,sBAAkB,qBAcjC,CAAA;IAED,SAAS,qBAAqB,CAAC,GAAa;QACxC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,GAAG,KAAK,kBAAkB,EAAE,CAAC;SAClD;QACD,OAAO;YACH,EAAE,EAAE;qBACK,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAC9B,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAAE,MAAM,QAAQ;sEACP,GAAG,CAAC,IAAI,KAAK,kBAAkB;;aAExF;YACD,KAAK,EAAE;qBACE,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;kBACpC,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAAE,MAAM,QAAQ;aAC1D;YACD,EAAE,EAAE;qBACK,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAC9B,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAAE;sEACO,GAAG,CAAC,IAAI,KAAK,kBAAkB;;aAExF;SACJ,CAAC;IACN,CAAC;IACD,SAAS,8BAA8B,CAAC,IAAgB;QACpD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtE,OAAO;iBACF,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAC9B,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAAE,MAAM,QAAQ;aAC5D,CAAC;QACN,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO;YACH,EAAE,EAAE;kBACE,SAAS;wBACH,GAAG,CAAC,IAAI,eAAe,QAAQ;0DACG,GAAG,CAAC,IAAI;;;aAGrD;YACD,KAAK,EAAE;kBACD,SAAS;kBACT,GAAG,CAAC,IAAI,eAAe,QAAQ;aACpC;YACD,EAAE,EAAE;wBACQ,GAAG,CAAC,IAAI;0DAC0B,GAAG,CAAC,IAAI;;;aAGrD;SACJ,CAAC;IACN,CAAC;IAED,SAAS,sBAAsB,CAAC,GAAa;QACzC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,GAAG,KAAK,kBAAkB,EAAE,CAAC;SAClD;QAED,OAAO;YACH,EAAE,EAAE;qBACK,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAC9B,GAAG,CAAC,IAAI,sBAAsB,uBAAuB,CAAC,EAAE;uEACT,GAAG,CAAC,IAAI,aAAa,kBAAkB;;aAEjG;YACD,KAAK,EAAE;qBACE,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;kBACpC,GAAG,CAAC,IAAI,sBAAsB,uBAAuB,CAAC,EAAE;aAC7D;YACD,EAAE,EAAE;qBACK,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAC9B,GAAG,CAAC,IAAI,aAAa,uBAAuB,CAAC,EAAE;uEACA,GAAG,CAAC,IAAI,aAAa,kBAAkB;;aAEjG;SACJ,CAAC;IACN,CAAC;IACD,SAAS,4BAA4B,CAAC,GAAa;QAC/C,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,GAAG,KAAK,kBAAkB,EAAE,CAAC;SAClD;QACD,OAAO;YACH,EAAE,EAAE;yDACyC,uBAAuB,CAAC,EAAE;;;aAGtE;YACD,KAAK,EAAE;mDACgC,uBAAuB,CAAC,EAAE;aAChE;YACD,EAAE,EAAE;gDACgC,uBAAuB,CAAC,EAAE;;;aAG7D;SACJ,CAAC;IACN,CAAC;IACD,SAAS,+BAA+B,CAAC,IAAgB;QACrD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtE,OAAO;iBACF,qBAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAC9B,GAAG,CAAC,IAAI,sBAAsB,uBAAuB,CAAC,EAAE;aAC/D,CAAC;QACN,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO;YACH,EAAE,EAAE;kBACE,SAAS;wBACH,GAAG,CAAC,IAAI;2DAC2B,IAAI;;;aAGlD;YACD,KAAK,EAAE;kBACD,SAAS;kBACT,GAAG,CAAC,IAAI;aACb;YACD,EAAE,EAAE;wBACQ,GAAG,CAAC,IAAI;2DAC2B,IAAI;;;aAGlD;SACJ,CAAC;IACN,CAAC;IAED,SAAS,oBAAoB,CAAC,GAAa;QACvC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;aAC7B;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;aAC3B;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,GAAG,MAAM;YAChC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,IAAI,MAAM,GAAG,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,MAAM,IAAI,IAAI,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACnE;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,kBAAkB,GAAG,mBAAmB;aACvC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACX,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,kBAAkB,GAAG,mBAAmB;aACvC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACX,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,kBAAkB,GAAG,MAAM;YAC3B,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YACV,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC;YACF,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAGvB,IAAI,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACH,uBAAuB,EAAE;gBACrB,EAAE,EAAE,kBAAkB;gBACtB,EAAE,EAAE,kBAAkB;aACzB;YACD,kBAAkB;YAClB,QAAQ;SACX,CAAC;IACN,CAAC;IAED,SAAS,cAAc,CAAC,MAAyB;QAC7C,OAAO,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,SAAS,yBAAyB,CAAC,MAAqC,EAAE,IAA2B;QACjG,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,OAAO,EAAE,CAAC;SACb;QACD,gCAAgC;QAChC,4EAA4E;QAC5E,IAAI;QACJ,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,SAAS,+BAA+B,CAAC,KAAkC,EAAE,IAA2B;QACpG,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,OAAO,IAAI,CAAC;SACf;QACD,IAAI,KAAK,CAAC,UAAU,EAAE;YAClB,iBAAiB;YACjB,IAAI,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC/D;QACD,IAAI,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;YAC3C,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;SACxC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;IACD,SAAS,wBAAwB,CAAC,MAAyB;QACvD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;SAC5C;QAED,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,MAAM,GAAG,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,MAAM,IAAI,IAAI,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACtE;YACD,OAAO;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,MAAM;aACf,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE;YAC7C,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,aAAa,SAAS,KAAK,CAAC;SACtC;QAED,IAAI,QAAQ,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,QAAQ,GAAG,KAAK,QAAQ,IAAI,CAAA;SAC/B;QACD,OAAO,WAAW,QAAQ,GAAG,CAAC;IAClC,CAAC;IAID,SAAgB,eAAe,CAAC,SAAiB,EAAE,OAAmB;QAClE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,EAAE,CAAC;SACb;QACD,IAAI,KAAK,GAAG;YACR,oBAAoB,SAAS,UAAU;SAC1C,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAvBe,mBAAe,kBAuB9B,CAAA;IAED,SAAgB,wBAAwB,CAAC,SAAiB,EAAE,OAAmB;QAC3E,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACzD,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAClC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACtC,CAAC;QAGF,SAAS,iBAAiB,CAAC,GAAa;YACpC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1F,IAAI,kBAAkB,EAAE;gBACpB,kBAAkB,GAAG,KAAK,kBAAkB,EAAE,CAAC;aAClD;YACD,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,uBAAuB,CAAC,EAAE,8EAA8E;gBACjJ,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,uBAAuB,CAAC,EAAE,GAAG;aAChE,CAAC;QACN,CAAC;IACL,CAAC;IAvBe,4BAAwB,2BAuBvC,CAAA;IAED,SAAgB,sBAAsB,CAAC,SAAiB,EAAE,OAAmB;QACzE,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACzD,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAClC,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACtC,CAAA;QAGD,SAAS,0BAA0B,CAAC,GAAa;YAC7C,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1F,IAAI,kBAAkB,EAAE;gBACpB,kBAAkB,GAAG,KAAK,kBAAkB,EAAE,CAAC;aAClD;YACD,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,uBAAuB,CAAC,EAAE,yBAAyB;gBAC5F,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,uBAAuB,CAAC,EAAE,GAAG;aAChE,CAAA;QACL,CAAC;IACL,CAAC;IAvBe,0BAAsB,yBAuBrC,CAAA;AACL,CAAC,EA/fS,GAAG,KAAH,GAAG,QA+fZ"}
1
+ {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContractBase.js","sourceRoot":"","sources":["../../../src/contracts/ContractBase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsB;AACtB,gDAAwB;AACxB,gDAAwB;AAUxB,yDAAsD;AACtD,mDAAgD;AAChD,2DAAwD;AACxD,qDAAuE;AACvE,qDAAkD;AAClD,qDAAkD;AAClD,2FAAwF;AACxF,uEAAoF;AACpF,iEAA8D;AAC9D,qDAAkD;AAClD,uDAAoD;AAEpD,yDAAsD;AAGtD,iEAA8D;AAC9D,gEAA6D;AAE7D,6CAA0C;AAC1C,kEAA+D;AAK/D,MAAsB,YAAY;IA0B9B,YACW,OAAiB,EACjB,MAAkB,EAClB,QAA6B;QAF7B,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAY;QAClB,aAAQ,GAAR,QAAQ,CAAqB;QAEpC,IAAI,SAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAwC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG;gBACT,OAAO,EAAE,OAAO,CAAC,WAAW,EAAc;gBAC1C,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;aACzC,CAAC;YACF,qBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAE,QAAoC;QAC5D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IACM,eAAe,CAAE,MAAuB,EAAE,KAAc;QAC3D,OAAO,qBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IACM,KAAK,CAAC,aAAa,CAA4E,MAAS;QAG3G,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW,CACb,KAAgC,EAC9B,OAA6D;QAE/D,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAA0B,EAAE,OAAO,CAAQ,CAAC;IACrF,CAAC;IAEM,OAAO,CAAE,aAAiC,EAAE,YAA+B;QAC9E,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,aAAa,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;aAC3B;YACD,YAAY,EAAE;gBACV,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aAC1B;SACJ,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,QAAQ,CAA0B,OAAiB;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,WAAkB,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC;IACb,CAAC;IAGM,KAAK;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,OAAO,qCAAiB,CAAC,KAAK,CAC1B,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,GAAG,IAAI,CACV,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAGM,KAAK,CAAE,MAIb;QACG,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,EAAE,IAAI,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9C;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QAC5G,IAAI,QAAQ,GAAG,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC3C,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,IAAI,MAAM,GAAa,MAAM,IAAI;yBAC5B,OAAO,CAAC;wBACL,IAAI,EAAE,QAAQ;wBACd,aAAa,EAAE,KAAK;wBACpB,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvC,CAAC,CACD,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAEnC,IAAI,MAAM,EAAE,QAAQ,EAAE;wBAClB,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;qBACtC;oBACD,IAAI,MAAM,EAAE,WAAW,EAAE;wBACrB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;qBACpC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAsB,CAAC;oBACjD,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE;wBACtB,wBAAwB;wBACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;wBACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;wBACjC,OAAO,IAAI,CAAC,YAAY,CAAC;wBACzB,OAAO,IAAI,CAAC,GAAG,CAAC;qBACnB;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1G,IAAI,OAAO,GAAG,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACzC,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,CAAC,EAAE,CAAE,GAAG,IAAW;oBACpB,OAAO;wBACH,EAAE,EAAE,IAAI,CAAC,OAAO;wBAChB,IAAI,EAAE,qBAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC;qBACxD,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,QAAQ;YACX,GAAG,OAAO;SACb,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAGM,IAAI;QACP,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,OAAO,qCAAiB,CAAC,IAAI,CACzB,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,GAAG,IAAI,CACV,CAAC;gBACN,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAEM,IAAI;QACP,OAAO,mCAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAE,aAAiC,EAAE,YAA+B;QAC9E,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,aAAa,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;YAC/C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SAC5D;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGO,aAAa;QACjB,OAAO,iCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAGM,QAAQ;QACX,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;QACvG,IAAI,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;gBACH,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,CAAC,EAAE,CAAE,MAAgB,EAAC,GAAG,IAAW;oBACrC,IAAI,EAAE,GAAa,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC/D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO,EAAE,CAAC;gBACd,CAAC;aACJ,CAAA;QACL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,GAAG,GAAG;SACT,CAAC,CAAC;QACH,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAAE,GAAuC;QACpD,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACS,cAAc,CAAE,WAAwC;QAC9D,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IACS,UAAU,CAAE,IAAsB;QACxC,IAAI,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAE,GAAsB,EAAE,GAAG,MAAM;QAC9C,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,QAAQ,EAAE;YACvC,IAAI,GAAG,GAA4C;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG;gBACH,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;iBACjC;aACJ,CAAC;YACF,OAAO,GAAG,CAAC;SACd;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAE,KAAa,EAAE,EAAG;QAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,EAAE,EAAE;YACJ,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACxB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,cAAc,CAAE,OAAyC;QAE5D,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;QAO9B,IAAI,MAAM,GAAG,IAAI,6BAAa,EAAY,CAAC;QAE3C,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACrF,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClB,OAAO;aACV;YAED,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI;oBACA,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAE9C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;oBACpC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE;wBAClC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;4BAC1B,OAAO;yBACV;qBACJ;oBACD,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,EAAE;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAClC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAClB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCACxC,OAAO;6BACV;yBACJ;qBACJ;oBACD,MAAM,CAAC,IAAI,CAAC;wBACR,KAAK;wBACL,EAAE;wBACF,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE;qBAChE,CAAC,CAAC;iBACN;gBAAC,OAAO,KAAK,EAAE;oBACZ,iBAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,MAAM,CAAE,GAAsB,EAAE,OAAyD,EAAE,GAAG,MAAM;QAChH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC;IACP,CAAC;IAES,WAAW,CAAE,IAAqC,EAAE,IAAY,EAAE,SAAkB;QAC1F,OAAO,qCAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAIS,mBAAmB,CAAE,GAAmC,EAAE,IAAW;QAC3E,IAAI,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAC/D,CAAC,CAAC,GAAG,CAAC;QAET,IAAI,KAAK,GAAG,IAAI;aACX,GAAG,CAAC,SAAS,CAAC,EAAE;YACb,IAAI,OAAO,SAAS,KAAI,QAAQ,EAAE;gBAC9B,OAAO,uBAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC5C;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;SACzH;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAClD,SAAS;iBACZ;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;oBAClD,SAAS;iBACZ;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBACnD,SAAS;iBACZ;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE;oBAClF,SAAS;iBACZ;gBACD,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,MAAM,8CAA8C,CAAC,CAAA;IAC9I,CAAC;IAES,YAAY,CAAE,EAAkB,EAAE,OAAiB;QACzD,IAAI,IAAI,GAAG,qBAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,WAAW,CAAE,GAAa,EAAE,GAAoD;QACtF,IAAI,GAA0B,CAAC;QAE/B,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,CAAE,GAA6B,IAAK,EAAE,CAAC,CAAC;QACzF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;YACnE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SAClB;aAAM;YACH,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF;QAED,IAAI,MAAM,GAAG,qBAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,KAAK,CAAC,YAAY,CAAC,OAAwB,EAAE,OAItD;QACG,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACM,KAAK,CAAC,kBAAkB,CAAE,GAA8C,EAAE,OAgBhF;QACG,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE;YAC9C,GAAG,OAAO;SACb,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACxC,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;oBAC7B,OAAO;iBACV;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,OAAO,CAAC,UAAU,CAAC;oBACrB,GAAG,IAAI;oBACP,IAAI,EAAE,KAAK;oBACX,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAQ,CAAC;IAC/D,CAAC;IACS,KAAK,CAAC,mBAAmB,CAAC,GAA8C,EAAE,OAQnF;QACG,IAAI,GAAgC,CAAC;QACrC,IAAI,GAAG,KAAK,GAAG,EAAE;YACb,GAAG,GAAG,GAAG,CAAA;SACZ;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAChC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACxC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC;SACb;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACxE,GAAG,GAAG,GAAG,CAAC;SACb;aAAM;YACH,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACd,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACvB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACvC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CACzC,GAAG,EACH;YACI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO;SAC9C,CACJ,CAAC;IACN,CAAC;IAEO,iBAAiB;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YACxB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3C;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAGO,sBAAsB;QAC1B,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC;IAClB,CAAC;IAGS,iBAAiB;QACvB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;YAClB,iCAAiC;YACjC,IAAI,SAAS,GAAG,cAAE,CAAC,OAAO,CAAC,iDAAuB,CAAC,CAAC;YACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChC;QACD,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAClB,CAAC;IAGO,iBAAiB;QACrB,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAlcG;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yCAyBxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yCA6DxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wCAyBxC;AAeD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iDAGxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4CAmBxC;AAqRD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DAIxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDASxC;AAGD;IADC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDAIxC;AAthBL,oCAuhBC;AAED,IAAU,WAAW,CAqCpB;AArCD,WAAU,WAAW;IAajB,MAAM,QAAQ,GAAG,EAAwC,CAAE;IAE3D,SAAgB,OAAO,CAAE,MAAkB,EAAE,OAA4B,EAAE,EAAkB;QAEzF,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,EAAE,IAAI,IAAI,EAAE,IAAI,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,CAAC;QACvF,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,OAAO,GAAG,IAAI,iCAAe,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACnB,CAAC;IArBe,mBAAO,UAqBtB,CAAA;AACL,CAAC,EArCS,WAAW,KAAX,WAAW,QAqCpB"}
1
+ {"version":3,"file":"ContractBase.js","sourceRoot":"","sources":["../../../src/contracts/ContractBase.ts"],"names":[],"mappings":"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"}
@@ -306,26 +306,15 @@ export class ContractBase {
306
306
  if ($abis.length === 1) {
307
307
  return $abis[0];
308
308
  }
309
- $abis = $abis.filter(abi => {
310
- for (let i = 0; i < args.length; i++) {
311
- let item = abi.inputs[i];
312
- let arg = args[i];
313
- if (item.type === 'address' && $address.isValid(arg)) {
314
- continue;
315
- }
316
- if (item.type === 'bool' && typeof arg === 'boolean') {
317
- continue;
318
- }
319
- if (item.type === 'string' && typeof arg === 'string') {
320
- continue;
321
- }
322
- if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
323
- continue;
324
- }
325
- return false;
326
- }
327
- return true;
328
- });
309
+ $abis = filterABIbyArguments($abis, args, 'shallow');
310
+ if ($abis.length === 1) {
311
+ return $abis[0];
312
+ }
313
+ $abis = filterABIbyArguments($abis, args, 'single');
314
+ if ($abis.length === 1) {
315
+ return $abis[0];
316
+ }
317
+ $abis = filterABIbyArguments($abis, args, 'both');
329
318
  if ($abis.length === 1) {
330
319
  return $abis[0];
331
320
  }
@@ -478,5 +467,64 @@ var BlockWalker;
478
467
  }
479
468
  BlockWalker.onBlock = onBlock;
480
469
  })(BlockWalker || (BlockWalker = {}));
470
+ // Tuple check type detects how an argument satisfies the "tuple"
471
+ // shallow: checks only that the argument is an object type
472
+ // single: checks that all tuple components (keys) are present in the argument
473
+ // both: checks that all tuple components are present in the argument AND all argument keys exist in the tuple components
474
+ function filterABIbyArguments(abis, args, tupleCheck) {
475
+ return abis.filter(abi => {
476
+ for (let i = 0; i < args.length; i++) {
477
+ let item = abi.inputs[i];
478
+ let arg = args[i];
479
+ if (item.type === 'address' && $address.isValid(arg)) {
480
+ continue;
481
+ }
482
+ if (item.type === 'bool' && typeof arg === 'boolean') {
483
+ continue;
484
+ }
485
+ if (item.type === 'string' && typeof arg === 'string') {
486
+ continue;
487
+ }
488
+ if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
489
+ continue;
490
+ }
491
+ if (/tuple/.test(item.type)) {
492
+ arg ??= {};
493
+ if (tupleCheck === 'shallow') {
494
+ if (typeof arg === 'object') {
495
+ continue;
496
+ }
497
+ }
498
+ if (tupleCheck === 'single' || tupleCheck === 'both') {
499
+ // E.g. Solidity structs:
500
+ // 1. struct FooV1 { uint256 a; uint256 b; }
501
+ // 2. struct FooV2 { uint256 a; uint256 b; uint256 c; }
502
+ // If we call the 2. overloaded function the single check will match both structs
503
+ // therefore we need later to call with tupleCheck === 'both' to detect correct overload
504
+ const components = item.components ?? [];
505
+ const satisfies = components.every(x => x.name in arg) ?? false;
506
+ if (!satisfies) {
507
+ return false;
508
+ }
509
+ if (tupleCheck === 'single') {
510
+ continue;
511
+ }
512
+ }
513
+ if (tupleCheck === 'both') {
514
+ const components = item.components ?? [];
515
+ for (let key in arg) {
516
+ const found = components.find(x => x.name === key);
517
+ if (!found) {
518
+ return false;
519
+ }
520
+ }
521
+ continue;
522
+ }
523
+ }
524
+ return false;
525
+ }
526
+ return true;
527
+ });
528
+ }
481
529
  //# sourceMappingURL=ContractBase.js.map
482
530
  //# sourceMappingURL=ContractBase.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
@@ -539,7 +539,6 @@ var Gen;
539
539
  }).join('\n');
540
540
  let abi = abis[0];
541
541
  let { fnResult } = serializeArgumentsTs(abi);
542
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
543
542
  return {
544
543
  ts: `
545
544
  ${overrides}
@@ -614,12 +613,11 @@ var Gen;
614
613
  `;
615
614
  }).join('\n');
616
615
  let abi = abis[0];
617
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
618
616
  return {
619
617
  ts: `
620
618
  ${overrides}
621
619
  async ${abi.name} (sender: TSender, ...args): Promise<TxWriter> {
622
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
620
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
623
621
  return this.$write(abi, sender, ...args);
624
622
  }
625
623
  `,
@@ -629,7 +627,7 @@ var Gen;
629
627
  `,
630
628
  js: `
631
629
  async ${abi.name} (sender, ...args) {
632
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
630
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
633
631
  return this.$write(abi, sender, ...args);
634
632
  }
635
633
  `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.2.30",
3
+ "version": "0.2.32",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -60,7 +60,7 @@ export abstract class ContractBase {
60
60
 
61
61
  storage?: ContractStorageReaderBase
62
62
 
63
- constructor (
63
+ constructor(
64
64
  public address: TAddress,
65
65
  public client: Web3Client,
66
66
  public explorer: IBlockchainExplorer
@@ -77,28 +77,28 @@ export abstract class ContractBase {
77
77
  }
78
78
  }
79
79
 
80
- public async $getStorageAt (position: number | bigint | TEth.Hex) {
80
+ public async $getStorageAt(position: number | bigint | TEth.Hex) {
81
81
  let reader = await this.getContractReader();
82
82
  return reader.getStorageAt(this.address, position);
83
83
  }
84
- public $parseInputData (buffer: TEth.BufferLike, value?: string) {
84
+ public $parseInputData(buffer: TEth.BufferLike, value?: string) {
85
85
  return $abiUtils.parseMethodCallData(this.abi, buffer);
86
86
  }
87
- public async $executeBatch <T extends readonly unknown[] | ContractReaderUtils.IContractReadParams[]>(values: T): Promise<
87
+ public async $executeBatch<T extends readonly unknown[] | ContractReaderUtils.IContractReadParams[]>(values: T): Promise<
88
88
  { -readonly [P in keyof T]: ContractReaderUtils.TIContractReadParamsInferred<T[P]>; }
89
89
  > {
90
90
  let reader = await this.getContractReader();
91
91
  return reader.executeBatch(values);
92
92
  }
93
93
 
94
- async getPastLogs <TEvents extends TEventsBase, TEventName extends keyof TEvents> (
94
+ async getPastLogs<TEvents extends TEventsBase, TEventName extends keyof TEvents>(
95
95
  event: TEventName | TEventName[]
96
96
  , options?: TEventLogOptions<TEventParams<TEvents, TEventName>>
97
97
  ): Promise<ITxLogItem<TEventParams<TEvents, TEventName>, TEventName>[]> {
98
98
  return await this.$getPastLogsParsed(event as string | string[], options) as any;
99
99
  }
100
100
 
101
- public $config (builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions): this {
101
+ public $config(builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions): this {
102
102
  let $contract = $class.curry(this, {
103
103
  builderConfig: {
104
104
  ...(this.builderConfig ?? {}),
@@ -119,7 +119,7 @@ export abstract class ContractBase {
119
119
  }
120
120
 
121
121
  @memd.deco.memoize({ perInstance: true })
122
- public $call () {
122
+ public $call() {
123
123
  let abiArr = this.abi;
124
124
  let writer = this.getContractWriter();
125
125
 
@@ -127,7 +127,7 @@ export abstract class ContractBase {
127
127
  let fns = alot(methods).map(abiMethod => {
128
128
  return {
129
129
  name: abiMethod.name,
130
- async fn (sender: TAccount,...args: any[]) {
130
+ async fn(sender: TAccount, ...args: any[]) {
131
131
  return ContractBaseUtils.$call(
132
132
  writer,
133
133
  abiMethod,
@@ -146,7 +146,7 @@ export abstract class ContractBase {
146
146
  }
147
147
 
148
148
  @memd.deco.memoize({ perInstance: true })
149
- public $data (params?: {
149
+ public $data(params?: {
150
150
  estimateGas?: boolean
151
151
  getNonce?: boolean
152
152
  from?: TAddress
@@ -160,14 +160,14 @@ export abstract class ContractBase {
160
160
  let writeFns = alot(writeMethods).map(method => {
161
161
  return {
162
162
  name: method.name,
163
- async fn (sender: TAccount,...args: any[]) {
163
+ async fn(sender: TAccount, ...args: any[]) {
164
164
  let writer: TxWriter = await $top
165
165
  .$config({
166
166
  send: 'manual',
167
167
  gasEstimation: false,
168
168
  nonce: params?.getNonce ? void 0 : 0,
169
169
  })
170
- [method.name](sender, ...args);
170
+ [method.name](sender, ...args);
171
171
 
172
172
  if (params?.getNonce) {
173
173
  await writer.builder.ensureNonce();
@@ -192,7 +192,7 @@ export abstract class ContractBase {
192
192
  let readFns = alot(readMethods).map(method => {
193
193
  return {
194
194
  name: method.name,
195
- async fn (...args: any[]) {
195
+ async fn(...args: any[]) {
196
196
  return {
197
197
  to: $top.address,
198
198
  data: $abiUtils.serializeMethodCallData(method, args)
@@ -209,7 +209,7 @@ export abstract class ContractBase {
209
209
  }
210
210
 
211
211
  @memd.deco.memoize({ perInstance: true })
212
- public $gas () {
212
+ public $gas() {
213
213
  let abiArr = this.abi;
214
214
  let writer = this.getContractWriter();
215
215
 
@@ -217,7 +217,7 @@ export abstract class ContractBase {
217
217
  let fns = alot(methods).map(abiMethod => {
218
218
  return {
219
219
  name: abiMethod.name,
220
- async fn (sender: IAccount,...args: any[]) {
220
+ async fn(sender: IAccount, ...args: any[]) {
221
221
  return ContractBaseUtils.$gas(
222
222
  writer,
223
223
  abiMethod,
@@ -235,11 +235,11 @@ export abstract class ContractBase {
235
235
  return $contract as any;
236
236
  }
237
237
 
238
- public $req () {
238
+ public $req() {
239
239
  return FnRequestWrapper.create(this);
240
240
  }
241
241
 
242
- public $signed (builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions) {
242
+ public $signed(builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions) {
243
243
  let instance = this.$signedCreate();
244
244
  if (builderConfig != null || writerConfig != null) {
245
245
  instance = instance.$config(builderConfig, writerConfig);
@@ -248,18 +248,18 @@ export abstract class ContractBase {
248
248
  }
249
249
 
250
250
  @memd.deco.memoize({ perInstance: true })
251
- private $signedCreate () {
251
+ private $signedCreate() {
252
252
  return FnSignedWrapper.create(this);
253
253
  }
254
254
 
255
255
  @memd.deco.memoize({ perInstance: true })
256
- public $receipt <T extends this> (this: T): T {
256
+ public $receipt<T extends this>(this: T): T {
257
257
  let $top = this;
258
258
  let methods = this.abi.filter(abi => abi.type === 'function' && $abiUtils.isReadMethod(abi) === false);
259
259
  let fns = alot(methods).map(abiMethod => {
260
260
  return {
261
261
  name: abiMethod.name,
262
- async fn (sender: IAccount,...args: any[]) {
262
+ async fn(sender: IAccount, ...args: any[]) {
263
263
  let tx: TxWriter = await $top[abiMethod.name](sender, ...args);
264
264
  let receipt = await tx.wait();
265
265
  return tx;
@@ -273,7 +273,7 @@ export abstract class ContractBase {
273
273
  return $contract as any;
274
274
  }
275
275
 
276
- public forBlock (mix: number | bigint | undefined | Date): this {
276
+ public forBlock(mix: number | bigint | undefined | Date): this {
277
277
  if (mix == null) {
278
278
  return this;
279
279
  }
@@ -282,14 +282,14 @@ export abstract class ContractBase {
282
282
  }
283
283
  return this.forBlockAt(mix);
284
284
  }
285
- protected forBlockNumber (blockNumber: number | bigint | undefined): this {
285
+ protected forBlockNumber(blockNumber: number | bigint | undefined): this {
286
286
  let $contract = $class.curry(this, {
287
287
  blockNumber: blockNumber,
288
288
  blockDate: null
289
289
  })
290
290
  return $contract;
291
291
  }
292
- protected forBlockAt (date: Date | undefined): this {
292
+ protected forBlockAt(date: Date | undefined): this {
293
293
  let $contract = $class.curry(this, {
294
294
  blockNumber: null,
295
295
  blockDate: date
@@ -297,7 +297,7 @@ export abstract class ContractBase {
297
297
  return $contract;
298
298
  }
299
299
 
300
- protected $read (abi: string | TAbiItem, ...params) {
300
+ protected $read(abi: string | TAbiItem, ...params) {
301
301
  if (this.builderConfig?.send === 'manual') {
302
302
  let req = <ContractReaderUtils.IContractReadParams>{
303
303
  address: this.address,
@@ -314,7 +314,7 @@ export abstract class ContractBase {
314
314
  return reader.readAsync(this.address, abi, ...params);
315
315
  }
316
316
 
317
- public $onLog (event: string, cb?) {
317
+ public $onLog(event: string, cb?) {
318
318
  let stream = this.getContractStream();
319
319
  let events = stream.on(event);
320
320
  if (cb) {
@@ -323,12 +323,12 @@ export abstract class ContractBase {
323
323
  return events;
324
324
  }
325
325
 
326
- public $onTransaction (options?: BlockWalker.IBlockWalkerOptions): SubjectStream<{ tx: TEth.Tx, block: TEth.Block, calldata: { method, arguments: any[] } }> {
326
+ public $onTransaction(options?: BlockWalker.IBlockWalkerOptions): SubjectStream<{ tx: TEth.Tx, block: TEth.Block, calldata: { method, arguments: any[] } }> {
327
327
 
328
328
  options ??= {};
329
329
  options.logProgress ??= false;
330
330
 
331
- type TSubject = {
331
+ type TSubject = {
332
332
  tx: TEth.Tx,
333
333
  block: TEth.Block,
334
334
  calldata: { method, arguments: any[] }
@@ -375,7 +375,7 @@ export abstract class ContractBase {
375
375
  return stream;
376
376
  }
377
377
 
378
- protected async $write (abi: string | TAbiItem, account: TAccount & { value?: number | string | bigint }, ...params): Promise<TxWriter> {
378
+ protected async $write(abi: string | TAbiItem, account: TAccount & { value?: number | string | bigint }, ...params): Promise<TxWriter> {
379
379
  let writer = await this.getContractWriter();
380
380
  return writer.writeAsync(account, abi, params, {
381
381
  abi: this.abi,
@@ -384,20 +384,20 @@ export abstract class ContractBase {
384
384
  });
385
385
  }
386
386
 
387
- protected $getAbiItem (type: 'event' | 'function' | 'string', name: string, argsCount?: number) {
387
+ protected $getAbiItem(type: 'event' | 'function' | 'string', name: string, argsCount?: number) {
388
388
  return ContractBaseUtils.$getAbiItem(this.abi, type, name, argsCount);
389
389
  }
390
390
 
391
- protected $getAbiItemOverload (fnName: string, args: any[])
392
- protected $getAbiItemOverload (abis: (string | TAbiItem)[], args: any[])
393
- protected $getAbiItemOverload (mix: string | (string | TAbiItem)[], args: any[]) {
391
+ protected $getAbiItemOverload(fnName: string, args: any[])
392
+ protected $getAbiItemOverload(abis: (string | TAbiItem)[], args: any[])
393
+ protected $getAbiItemOverload(mix: string | (string | TAbiItem)[], args: any[]) {
394
394
  let abis = typeof mix === 'string'
395
- ? this.abi.filter(x => x.type === 'function' && x.name === mix)
396
- : mix;
395
+ ? this.abi.filter(x => x.type === 'function' && x.name === mix)
396
+ : mix;
397
397
 
398
398
  let $abis = abis
399
399
  .map(methodAbi => {
400
- if (typeof methodAbi ==='string') {
400
+ if (typeof methodAbi === 'string') {
401
401
  return $abiParser.parseMethod(methodAbi);
402
402
  }
403
403
  return methodAbi;
@@ -410,40 +410,30 @@ export abstract class ContractBase {
410
410
  if ($abis.length === 1) {
411
411
  return $abis[0];
412
412
  }
413
- $abis = $abis.filter(abi => {
414
- for (let i = 0; i < args.length; i++) {
415
- let item = abi.inputs[i];
416
- let arg = args[i];
417
- if (item.type === 'address' && $address.isValid(arg)) {
418
- continue;
419
- }
420
- if (item.type === 'bool' && typeof arg === 'boolean') {
421
- continue;
422
- }
423
- if (item.type === 'string' && typeof arg === 'string') {
424
- continue;
425
- }
426
- if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
427
- continue;
428
- }
429
- return false;
430
- }
431
- return true;
432
- });
413
+ $abis = filterABIbyArguments($abis, args, 'shallow');
433
414
  if ($abis.length === 1) {
434
415
  return $abis[0];
435
416
  }
417
+ $abis = filterABIbyArguments($abis, args, 'single');
418
+ if ($abis.length === 1) {
419
+ return $abis[0];
420
+ }
421
+ $abis = filterABIbyArguments($abis, args, 'both');
422
+ if ($abis.length === 1) {
423
+ return $abis[0];
424
+ }
425
+
436
426
  throw new Error(`ABI not found. Got multiple overloads for the argument count ${args.length}. We should pick the ABI by parameters type.`)
437
427
  }
438
428
 
439
- protected $extractLogs (tx: TEth.TxReceipt, abiItem: TAbiItem) {
429
+ protected $extractLogs(tx: TEth.TxReceipt, abiItem: TAbiItem) {
440
430
  let logs = $contract.extractLogsForAbi(tx, abiItem);
441
431
  return logs;
442
432
  }
443
- protected $extractLog (log: TEth.Log, mix: string | string[] | TAbiItem | TAbiItem[] | '*') {
433
+ protected $extractLog(log: TEth.Log, mix: string | string[] | TAbiItem | TAbiItem[] | '*') {
444
434
  let abi: TAbiItem | TAbiItem[];
445
435
 
446
- let mixArr = typeof mix === 'string' ? [ mix ] : ((mix as TAbiItem[] | string[]) ?? []);
436
+ let mixArr = typeof mix === 'string' ? [mix] : ((mix as TAbiItem[] | string[]) ?? []);
447
437
  if (mixArr.length === 0 || (mixArr.length === 1 && mixArr[0] === '*')) {
448
438
  abi = this.abi;
449
439
  } else {
@@ -456,18 +446,18 @@ export abstract class ContractBase {
456
446
  protected async $getPastLogs(filters: RpcTypes.Filter, options?: {
457
447
  streamed?: boolean
458
448
  blockRangeLimits?: WClient['blockRangeLimits']
459
- onProgress? (info: TLogsRangeProgress<TEth.Log>)
449
+ onProgress?(info: TLogsRangeProgress<TEth.Log>)
460
450
  }) {
461
451
  return this.getContractReader().getLogs(filters, options);
462
452
  }
463
- public async $getPastLogsParsed (mix: string | TAbiItem | string[] | TAbiItem[], options?: {
453
+ public async $getPastLogsParsed(mix: string | TAbiItem | string[] | TAbiItem[], options?: {
464
454
  addresses?: TAddress[]
465
455
  fromBlock?: number | Date
466
456
  toBlock?: number | Date
467
457
  params?: {
468
458
  [key: string]: any
469
459
  }
470
- onProgress? (info: TLogsRangeProgress<ITxLogItem>)
460
+ onProgress?(info: TLogsRangeProgress<ITxLogItem>)
471
461
 
472
462
  /** if TRUE the data will be only forwarded via onProgress callback.
473
463
  * And the final array will be undefined.
@@ -513,7 +503,7 @@ export abstract class ContractBase {
513
503
  abi = this.$getAbiItem('event', mix);
514
504
  } else if (Array.isArray(mix) === false) {
515
505
  abi = mix;
516
- } else if (mix.length === 1 && typeof mix[0] ==='string' && mix[0] === '*') {
506
+ } else if (mix.length === 1 && typeof mix[0] === 'string' && mix[0] === '*') {
517
507
  abi = '*';
518
508
  } else {
519
509
  abi = mix.map(x => {
@@ -532,7 +522,7 @@ export abstract class ContractBase {
532
522
  );
533
523
  }
534
524
 
535
- private getContractReader () {
525
+ private getContractReader() {
536
526
  let reader = this.getContractReaderInner();
537
527
  if (this.blockDate != null) {
538
528
  reader.forBlockAt(this.blockDate);
@@ -548,13 +538,13 @@ export abstract class ContractBase {
548
538
  }
549
539
 
550
540
  @memd.deco.memoize({ perInstance: true })
551
- private getContractReaderInner () {
541
+ private getContractReaderInner() {
552
542
  let reader = new ContractReader(this.client, { name: this.constructor.name });
553
543
  return reader;
554
544
  }
555
545
 
556
546
  @memd.deco.memoize({ perInstance: true })
557
- protected getContractWriter () {
547
+ protected getContractWriter() {
558
548
  if (this.abi != null) {
559
549
  // Updates the singleton instance
560
550
  let logParser = di.resolve(TxTopicInMemoryProvider);
@@ -565,7 +555,7 @@ export abstract class ContractBase {
565
555
  }
566
556
 
567
557
  @memd.deco.memoize({ perInstance: true })
568
- private getContractStream () {
558
+ private getContractStream() {
569
559
  let stream = new ContractStream(this.address, this.abi, this.client);
570
560
  return stream;
571
561
  }
@@ -584,9 +574,9 @@ namespace BlockWalker {
584
574
  }
585
575
  }
586
576
 
587
- const indexers = {} as { [key: string]: BlocksTxIndexer } ;
577
+ const indexers = {} as { [key: string]: BlocksTxIndexer };
588
578
 
589
- export function onBlock (client: Web3Client, options: IBlockWalkerOptions, cb: TBlockListener ) {
579
+ export function onBlock(client: Web3Client, options: IBlockWalkerOptions, cb: TBlockListener) {
590
580
 
591
581
  let key = `${client.platform}_${options?.name ?? ''}_${options?.persistence ?? false}`;
592
582
  let current = indexers[key];
@@ -618,7 +608,7 @@ export type TContractTypes = {
618
608
  type TEventsBase = {
619
609
  [name: string]: {
620
610
  outputParams: Record<string, any>,
621
- outputArgs: any[],
611
+ outputArgs: any[],
622
612
  }
623
613
  }
624
614
 
@@ -628,8 +618,71 @@ export type TEventLogOptions<TParams> = {
628
618
  toBlock?: number | Date
629
619
  params?: TParams
630
620
  streamed?: boolean
631
- onProgress? (info: TLogsRangeProgress<ITxLogItem>)
621
+ onProgress?(info: TLogsRangeProgress<ITxLogItem>)
632
622
  blockRangeLimits?: WClient['blockRangeLimits']
633
623
  }
634
624
 
635
625
  type TEventParams<TEvents extends TEventsBase, TEventName extends keyof TEvents> = Partial<TEvents[TEventName]['outputParams']>;
626
+
627
+
628
+ // Tuple check type detects how an argument satisfies the "tuple"
629
+ // shallow: checks only that the argument is an object type
630
+ // single: checks that all tuple components (keys) are present in the argument
631
+ // both: checks that all tuple components are present in the argument AND all argument keys exist in the tuple components
632
+ function filterABIbyArguments(abis: TAbiItem[], args: any[], tupleCheck: 'shallow' | 'single' | 'both') {
633
+ return abis.filter(abi => {
634
+ for (let i = 0; i < args.length; i++) {
635
+ let item = abi.inputs[i];
636
+ let arg = args[i];
637
+ if (item.type === 'address' && $address.isValid(arg)) {
638
+ continue;
639
+ }
640
+ if (item.type === 'bool' && typeof arg === 'boolean') {
641
+ continue;
642
+ }
643
+ if (item.type === 'string' && typeof arg === 'string') {
644
+ continue;
645
+ }
646
+ if (/^u?int/.test(item.type) && (typeof arg === 'number' || typeof arg === 'bigint')) {
647
+ continue;
648
+ }
649
+ if (/tuple/.test(item.type)) {
650
+ arg ??= {};
651
+ if (tupleCheck === 'shallow') {
652
+ if (typeof arg === 'object') {
653
+ continue;
654
+ }
655
+ }
656
+ if (tupleCheck === 'single' || tupleCheck === 'both') {
657
+ // E.g. Solidity structs:
658
+ // 1. struct FooV1 { uint256 a; uint256 b; }
659
+ // 2. struct FooV2 { uint256 a; uint256 b; uint256 c; }
660
+ // If we call the 2. overloaded function the single check will match both structs
661
+ // therefore we need later to call with tupleCheck === 'both' to detect correct overload
662
+ const components = item.components ?? [];
663
+ const satisfies = components.every(x => x.name in arg) ?? false;
664
+ if (!satisfies) {
665
+ return false;
666
+ }
667
+
668
+ if (tupleCheck === 'single') {
669
+ continue;
670
+ }
671
+ }
672
+ if (tupleCheck === 'both') {
673
+ const components = item.components ?? [];
674
+ for (let key in arg) {
675
+ const found = components.find(x => x.name === key);
676
+ if (!found) {
677
+ return false;
678
+ }
679
+ }
680
+ continue;
681
+ }
682
+
683
+ }
684
+ return false;
685
+ }
686
+ return true;
687
+ });
688
+ }
@@ -611,7 +611,6 @@ namespace Gen {
611
611
 
612
612
  let abi = abis[0];
613
613
  let { fnResult } = serializeArgumentsTs(abi);
614
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
615
614
  return {
616
615
  ts: `
617
616
  ${overrides}
@@ -689,12 +688,11 @@ namespace Gen {
689
688
  }).join('\n');
690
689
 
691
690
  let abi = abis[0];
692
- let sigs = abis.map(abi => serializeMethodAbi(abi)).map(x => `'${x}'`).join(', ');
693
691
  return {
694
692
  ts: `
695
693
  ${overrides}
696
694
  async ${abi.name} (sender: TSender, ...args): Promise<TxWriter> {
697
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
695
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
698
696
  return this.$write(abi, sender, ...args);
699
697
  }
700
698
  `,
@@ -704,7 +702,7 @@ namespace Gen {
704
702
  `,
705
703
  js: `
706
704
  async ${abi.name} (sender, ...args) {
707
- let abi = this.$getAbiItemOverload([ ${sigs} ], args);
705
+ let abi = this.$getAbiItemOverload('${abi.name}', args);
708
706
  return this.$write(abi, sender, ...args);
709
707
  }
710
708
  `