@rosen-bridge/abstract-extractor 1.0.2 → 2.0.0-181e9e8f

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 (50) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/AbstractExtractor.d.ts +2 -2
  3. package/dist/AbstractExtractor.d.ts.map +1 -1
  4. package/dist/AbstractExtractor.js +1 -1
  5. package/dist/ergo/AbstractErgoExtractor.d.ts +21 -4
  6. package/dist/ergo/AbstractErgoExtractor.d.ts.map +1 -1
  7. package/dist/ergo/AbstractErgoExtractor.js +27 -8
  8. package/dist/ergo/AbstractErgoExtractorAction.d.ts +1 -1
  9. package/dist/ergo/AbstractErgoExtractorAction.d.ts.map +1 -1
  10. package/dist/ergo/AbstractErgoExtractorAction.js +1 -1
  11. package/dist/ergo/initializable/AbstractInitializable.d.ts +2 -2
  12. package/dist/ergo/initializable/AbstractInitializable.d.ts.map +1 -1
  13. package/dist/ergo/initializable/AbstractInitializable.js +2 -2
  14. package/dist/ergo/interfaces.d.ts +7 -44
  15. package/dist/ergo/interfaces.d.ts.map +1 -1
  16. package/dist/ergo/interfaces.js +1 -6
  17. package/dist/ergo/network/ExplorerNetwork.d.ts +2 -2
  18. package/dist/ergo/network/ExplorerNetwork.d.ts.map +1 -1
  19. package/dist/ergo/network/ExplorerNetwork.js +1 -1
  20. package/dist/ergo/network/NodeNetwork.d.ts +1 -1
  21. package/dist/ergo/network/NodeNetwork.d.ts.map +1 -1
  22. package/dist/ergo/network/NodeNetwork.js +1 -1
  23. package/dist/ergo/utils.d.ts +1 -1
  24. package/dist/ergo/utils.d.ts.map +1 -1
  25. package/dist/ergo/utils.js +1 -1
  26. package/dist/index.d.ts +1 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -3
  29. package/dist/tsconfig.tsbuildinfo +1 -0
  30. package/lib/{AbstractExtractor.ts → abstractExtractor.ts} +1 -1
  31. package/lib/ergo/AbstractErgoExtractor.ts +41 -12
  32. package/lib/ergo/AbstractErgoExtractorAction.ts +1 -1
  33. package/lib/ergo/initializable/AbstractInitializable.ts +2 -6
  34. package/lib/ergo/interfaces.ts +4 -51
  35. package/lib/ergo/network/ExplorerNetwork.ts +2 -2
  36. package/lib/ergo/network/NodeNetwork.ts +1 -1
  37. package/lib/ergo/utils.ts +1 -1
  38. package/lib/index.ts +1 -2
  39. package/package.json +2 -1
  40. package/tests/AbstractErgoExtractor.mock.ts +2 -2
  41. package/tests/AbstractErgoExtractor.spec.ts +6 -5
  42. package/tests/AbstractErgoExtractorAction.mock.ts +1 -1
  43. package/tests/initializable/AbstractInitializable.mock.ts +3 -6
  44. package/tests/initializable/AbstractInitializable.spec.ts +1 -1
  45. package/tests/initializable/AbstractInitializableAction.mock.ts +1 -1
  46. package/tests/testData.ts +2 -1
  47. package/tsconfig.build.json +2 -1
  48. package/tsconfig.build.tsbuildinfo +1 -1
  49. package/tsconfig.json +2 -1
  50. package/lib/interfaces.ts +0 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @rosen-bridge/abstract-extractor
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - Unify and move shared interfaces and update all package dependencies
8
+ - Update extra information interfaces and extraction functions
9
+
3
10
  ## 1.0.2
4
11
 
5
12
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { BlockInfo, Block } from './interfaces';
1
+ import { BlockInfo, Block } from '@rosen-bridge/scanner-interfaces';
2
2
  export declare abstract class AbstractExtractor<TransactionType> {
3
3
  /**
4
4
  * process a list of transactions in a block and store required information
@@ -22,4 +22,4 @@ export declare abstract class AbstractExtractor<TransactionType> {
22
22
  */
23
23
  abstract initializeBoxes: (initialBlock: BlockInfo) => Promise<void>;
24
24
  }
25
- //# sourceMappingURL=AbstractExtractor.d.ts.map
25
+ //# sourceMappingURL=abstractExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractExtractor.d.ts","sourceRoot":"","sources":["../lib/AbstractExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhD,8BAAsB,iBAAiB,CAAC,eAAe;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,EAC3B,KAAK,EAAE,KAAK,KACT,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE"}
1
+ {"version":3,"file":"abstractExtractor.d.ts","sourceRoot":"","sources":["../lib/abstractExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEpE,8BAAsB,iBAAiB,CAAC,eAAe;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,EAC3B,KAAK,EAAE,KAAK,KACT,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE"}
@@ -1,3 +1,3 @@
1
1
  export class AbstractExtractor {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvQWJzdHJhY3RFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixpQkFBaUI7Q0E0QnRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tJbmZvLCBCbG9jayB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+IHtcbiAgLyoqXG4gICAqIHByb2Nlc3MgYSBsaXN0IG9mIHRyYW5zYWN0aW9ucyBpbiBhIGJsb2NrIGFuZCBzdG9yZSByZXF1aXJlZCBpbmZvcm1hdGlvblxuICAgKiBAcGFyYW0gdHhzIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGluIHRoZSBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHJldHVybiB0cnVlIGlmIHRoZSBwcm9jZXNzIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgYW5kIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgcHJvY2Vzc1RyYW5zYWN0aW9uczogKFxuICAgIHR4czogQXJyYXk8VHJhbnNhY3Rpb25UeXBlPixcbiAgICBibG9jazogQmxvY2tcbiAgKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiByZXR1cm4gZXh0cmFjdG9yIGlkLiBUaGlzIGlkIG11c3QgYmUgdW5pcXVlIG92ZXIgYWxsIGV4dHJhY3RvcnMuXG4gICAqL1xuICBhYnN0cmFjdCBnZXRJZDogKCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2ggYmxvY2sgaGFzaFxuICAgKi9cbiAgYWJzdHJhY3QgZm9ya0Jsb2NrOiAoaGFzaDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBpbml0aWFsaXplIGV4dHJhY3RvciBkYXRhYmFzZSB3aXRoIGRhdGEgY3JlYXRlZCBiZWxvdyB0aGUgaW5pdGlhbCBoZWlnaHRcbiAgICogQHBhcmFtIGluaXRpYWxCbG9ja1xuICAgKi9cbiAgYWJzdHJhY3QgaW5pdGlhbGl6ZUJveGVzOiAoaW5pdGlhbEJsb2NrOiBCbG9ja0luZm8pID0+IFByb21pc2U8dm9pZD47XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvYWJzdHJhY3RFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixpQkFBaUI7Q0E0QnRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tJbmZvLCBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uVHlwZT4ge1xuICAvKipcbiAgICogcHJvY2VzcyBhIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGluIGEgYmxvY2sgYW5kIHN0b3JlIHJlcXVpcmVkIGluZm9ybWF0aW9uXG4gICAqIEBwYXJhbSB0eHMgbGlzdCBvZiB0cmFuc2FjdGlvbnMgaW4gdGhlIGJsb2NrXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHByb2Nlc3MgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSBhbmQgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhYnN0cmFjdCBwcm9jZXNzVHJhbnNhY3Rpb25zOiAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvblR5cGU+LFxuICAgIGJsb2NrOiBCbG9ja1xuICApID0+IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIHJldHVybiBleHRyYWN0b3IgaWQuIFRoaXMgaWQgbXVzdCBiZSB1bmlxdWUgb3ZlciBhbGwgZXh0cmFjdG9ycy5cbiAgICovXG4gIGFic3RyYWN0IGdldElkOiAoKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGZvcmsgb25lIGJsb2NrIGFuZCByZW1vdmUgYWxsIHN0b3JlZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaCBibG9jayBoYXNoXG4gICAqL1xuICBhYnN0cmFjdCBmb3JrQmxvY2s6IChoYXNoOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGluaXRpYWxpemUgZXh0cmFjdG9yIGRhdGFiYXNlIHdpdGggZGF0YSBjcmVhdGVkIGJlbG93IHRoZSBpbml0aWFsIGhlaWdodFxuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBhYnN0cmFjdCBpbml0aWFsaXplQm94ZXM6IChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { AbstractLogger, DummyLogger } from '@rosen-bridge/abstract-logger';
2
- import { AbstractExtractor } from '../AbstractExtractor';
2
+ import { Transaction, OutputBox, InputExtension, BlockInfo } from '@rosen-bridge/scanner-interfaces';
3
+ import { AbstractExtractor } from '../abstractExtractor';
3
4
  import { AbstractErgoExtractorAction } from './AbstractErgoExtractorAction';
4
- import { BlockInfo } from '../interfaces';
5
- import { Transaction, OutputBox, AbstractBoxData, CallbackType, CallbackMap, CallbackDataMap, InputExtension } from './interfaces';
5
+ import { AbstractBoxData, CallbackType, CallbackMap, CallbackDataMap, TxExtra } from './interfaces';
6
6
  import { AbstractErgoExtractorEntity } from './AbstractErgoExtractorEntity';
7
7
  export declare abstract class AbstractErgoExtractor<ExtractedData extends AbstractBoxData, ExtractorEntity extends AbstractErgoExtractorEntity> extends AbstractExtractor<Transaction> {
8
8
  protected abstract actions: AbstractErgoExtractorAction<ExtractedData, ExtractorEntity>;
@@ -40,13 +40,30 @@ export declare abstract class AbstractErgoExtractor<ExtractedData extends Abstra
40
40
  * @param inputExtensions all input box extensions in transaction
41
41
  * @return extracted data in proper format
42
42
  */
43
- abstract extractBoxData: (box: OutputBox, inputExtensions: InputExtension[]) => ExtractedData | undefined;
43
+ abstract extractBoxData: (box: OutputBox, inputExtensions: InputExtension[], txExtra?: TxExtra) => ExtractedData | undefined;
44
44
  /**
45
45
  * check proper data format in the box
46
46
  * @param box
47
47
  * @return true if the box has the required data and false otherwise
48
48
  */
49
49
  abstract hasData: (box: OutputBox) => boolean;
50
+ /**
51
+ * create spend info array for the transaction
52
+ * @param tx
53
+ * @returns spend info array of the transaction
54
+ */
55
+ getTransactionSpendInfo: (tx: Transaction) => {
56
+ txId: string;
57
+ boxId: string;
58
+ index: number;
59
+ }[];
60
+ /**
61
+ * extract transaction extra information
62
+ * override this function if there is extra needed information
63
+ * @param tx
64
+ * @returns
65
+ */
66
+ getTransactionExtraData: (tx: Transaction) => TxExtra;
50
67
  /**
51
68
  * process a list of transactions in a block and store required information
52
69
  * @param txs list of transactions in the block
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractErgoExtractor.d.ts","sourceRoot":"","sources":["../../lib/ergo/AbstractErgoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAK5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EAEf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,qBAAqB,CACzC,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B,CACnD,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CACrD,aAAa,EACb,eAAe,CAChB,CAAC;IACF,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE;SAClB,CAAC,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAKC;IACF,OAAO,CAAC,aAAa,CAAe;gBAExB,MAAM,cAAoB;IAKtC;;;;;;OAMG;IACH,IAAI,iCACI,CAAC,YACG,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,KACtC,QAAQ,MAAM,CAAC,CAOhB;IAEF;;;;;;OAMG;IACH,MAAM,SAAgB,YAAY,MAAM,MAAM,KAAG,QAAQ,OAAO,CAAC,CAY/D;IAEF;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAC/C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACtC,IAAI;IAOP;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,CACvB,GAAG,EAAE,SAAS,EACd,eAAe,EAAE,cAAc,EAAE,KAC9B,aAAa,GAAG,SAAS,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;IAE9C;;;;;OAKG;IACH,mBAAmB,QACZ,WAAW,EAAE,SACX,SAAS,KACf,QAAQ,OAAO,CAAC,CAwDjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAM7C;CACH"}
1
+ {"version":3,"file":"AbstractErgoExtractor.d.ts","sourceRoot":"","sources":["../../lib/ergo/AbstractErgoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5E,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,SAAS,EACV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,qBAAqB,CACzC,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B,CACnD,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CACrD,aAAa,EACb,eAAe,CAChB,CAAC;IACF,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE;SAClB,CAAC,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAKC;IACF,OAAO,CAAC,aAAa,CAAe;gBAExB,MAAM,cAAoB;IAKtC;;;;;;OAMG;IACH,IAAI,iCACI,CAAC,YACG,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,KACtC,QAAQ,MAAM,CAAC,CAOhB;IAEF;;;;;;OAMG;IACH,MAAM,SAAgB,YAAY,MAAM,MAAM,KAAG,QAAQ,OAAO,CAAC,CAY/D;IAEF;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAC/C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACtC,IAAI;IAOP;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,CACvB,GAAG,EAAE,SAAS,EACd,eAAe,EAAE,cAAc,EAAE,EACjC,OAAO,CAAC,EAAE,OAAO,KACd,aAAa,GAAG,SAAS,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;IAE9C;;;;OAIG;IACH,uBAAuB,OAAQ,WAAW;;;;QAQxC;IAEF;;;;;OAKG;IACH,uBAAuB,OAAQ,WAAW,KAAG,OAAO,CAElD;IAEF;;;;;OAKG;IACH,mBAAmB,QACZ,WAAW,EAAE,SACX,SAAS,KACf,QAAQ,OAAO,CAAC,CAwDjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAM7C;CACH"}
@@ -2,7 +2,7 @@ import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
2
  import JsonBigInt from '@rosen-bridge/json-bigint';
3
3
  import { Mutex } from 'await-semaphore';
4
4
  import { v4 as uuidv4 } from 'uuid';
5
- import { AbstractExtractor } from '../AbstractExtractor';
5
+ import { AbstractExtractor } from '../abstractExtractor';
6
6
  import { CallbackType, } from './interfaces';
7
7
  export class AbstractErgoExtractor extends AbstractExtractor {
8
8
  logger;
@@ -61,6 +61,29 @@ export class AbstractErgoExtractor extends AbstractExtractor {
61
61
  callback(data);
62
62
  });
63
63
  }
64
+ /**
65
+ * create spend info array for the transaction
66
+ * @param tx
67
+ * @returns spend info array of the transaction
68
+ */
69
+ getTransactionSpendInfo = (tx) => {
70
+ let boxIndex = 1;
71
+ const spendInfoArray = [];
72
+ for (const input of tx.inputs) {
73
+ spendInfoArray.push({ txId: tx.id, boxId: input.boxId, index: boxIndex });
74
+ boxIndex += 1;
75
+ }
76
+ return spendInfoArray;
77
+ };
78
+ /**
79
+ * extract transaction extra information
80
+ * override this function if there is extra needed information
81
+ * @param tx
82
+ * @returns
83
+ */
84
+ getTransactionExtraData = (tx) => {
85
+ return {};
86
+ };
64
87
  /**
65
88
  * process a list of transactions in a block and store required information
66
89
  * @param txs list of transactions in the block
@@ -78,17 +101,13 @@ export class AbstractErgoExtractor extends AbstractExtractor {
78
101
  continue;
79
102
  }
80
103
  this.logger.debug(`Trying to extract data from box ${output.boxId}`);
81
- const extractedData = this.extractBoxData(output, inputExtensions);
104
+ const extractedData = this.extractBoxData(output, inputExtensions, this.getTransactionExtraData(tx));
82
105
  if (extractedData) {
83
106
  this.logger.debug(`Extracted data ${JsonBigInt.stringify(extractedData)} from box ${output.boxId}`);
84
107
  boxes.push(extractedData);
85
108
  }
86
109
  }
87
- let boxIndex = 1;
88
- for (const input of tx.inputs) {
89
- spentInfos.push({ txId: tx.id, boxId: input.boxId, index: boxIndex });
90
- boxIndex += 1;
91
- }
110
+ spentInfos.push(...this.getTransactionSpendInfo(tx));
92
111
  }
93
112
  if (boxes.length > 0) {
94
113
  if (!(await this.actions.storeBoxes(boxes, block, this.getId()))) {
@@ -120,4 +139,4 @@ export class AbstractErgoExtractor extends AbstractExtractor {
120
139
  this.triggerCallbacks(CallbackType.Update, result.updatedData);
121
140
  };
122
141
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFcmdvRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VyZ28vQWJzdHJhY3RFcmdvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFLTCxZQUFZLEdBSWIsTUFBTSxjQUFjLENBQUM7QUFHdEIsTUFBTSxPQUFnQixxQkFHcEIsU0FBUSxpQkFBOEI7SUFLNUIsTUFBTSxDQUFpQjtJQUN2QixTQUFTLEdBRWY7UUFDRixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtLQUNoQyxDQUFDO0lBQ00sYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFcEMsWUFBWSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUU7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxHQUFHLEtBQUssRUFDVixJQUFPLEVBQ1AsUUFBdUMsRUFDdEIsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5QixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUY7Ozs7OztPQU1HO0lBQ0gsTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFrQixFQUFFLEVBQVUsRUFBb0IsRUFBRTtRQUNsRSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLHFCQUFxQixFQUFFLGlDQUFpQyxJQUFJLElBQUksQ0FDakUsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDTyxnQkFBZ0IsQ0FDeEIsSUFBTyxFQUNQLElBQXVDO1FBRXZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFvQkQ7Ozs7O09BS0c7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEdBQWtCLEVBQ2xCLEtBQWdCLEVBQ0UsRUFBRTtRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7WUFDeEMsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLEtBQUssTUFBTSxNQUFNLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUMxQixTQUFTO29CQUNYLENBQUM7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUNyRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxhQUFhLEVBQUUsQ0FBQzt3QkFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysa0JBQWtCLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGFBQ25ELE1BQU0sQ0FBQyxLQUNULEVBQUUsQ0FDSCxDQUFDO3dCQUNGLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQzVCLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUM5QixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQ3RFLFFBQVEsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCw2QkFBNkIsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFDdkMsS0FBSyxDQUFDLE1BQ1IsRUFBRSxDQUNILENBQUM7b0JBQ0YsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDN0MsVUFBVSxFQUNWLEtBQUssRUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQ2IsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysc0NBQXNDLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQ2hELEtBQUssQ0FBQyxNQUNSLGdCQUFnQixDQUFDLEVBQUUsQ0FDcEIsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQWlCLEVBQUU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJy4uL0Fic3RyYWN0RXh0cmFjdG9yJztcbmltcG9ydCB7IEFic3RyYWN0RXJnb0V4dHJhY3RvckFjdGlvbiB9IGZyb20gJy4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uJztcbmltcG9ydCB7IEJsb2NrSW5mbyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIE91dHB1dEJveCxcbiAgQWJzdHJhY3RCb3hEYXRhLFxuICBTcGVuZEluZm8sXG4gIENhbGxiYWNrVHlwZSxcbiAgQ2FsbGJhY2tNYXAsXG4gIENhbGxiYWNrRGF0YU1hcCxcbiAgSW5wdXRFeHRlbnNpb24sXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkgfSBmcm9tICcuL0Fic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEVyZ29FeHRyYWN0b3I8XG4gIEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGEsXG4gIEV4dHJhY3RvckVudGl0eSBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eVxuPiBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBhY3Rpb25zOiBBYnN0cmFjdEVyZ29FeHRyYWN0b3JBY3Rpb248XG4gICAgRXh0cmFjdGVkRGF0YSxcbiAgICBFeHRyYWN0b3JFbnRpdHlcbiAgPjtcbiAgcHJvdGVjdGVkIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHByb3RlY3RlZCBjYWxsYmFja3M6IHtcbiAgICBbSyBpbiBDYWxsYmFja1R5cGVdOiBNYXA8c3RyaW5nLCBDYWxsYmFja01hcDxFeHRyYWN0ZWREYXRhPltLXT47XG4gIH0gPSB7XG4gICAgW0NhbGxiYWNrVHlwZS5VcGRhdGVdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5JbnNlcnRdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5EZWxldGVdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5TcGVuZF06IG5ldyBNYXAoKSxcbiAgfTtcbiAgcHJpdmF0ZSBjYWxsYmFja011dGV4ID0gbmV3IE11dGV4KCk7XG5cbiAgY29uc3RydWN0b3IobG9nZ2VyID0gbmV3IER1bW15TG9nZ2VyKCkpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIGhvb2sgYSBuZXcgY2FsbGJhY2sgb24gYSBjYWxsYmFjayB0eXBlXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gY2FsbGJhY2tcbiAgICogQHJldHVybnMgY2FsbGJhY2sgcmVnaXN0ZXJlZCBpZFxuICAgKi9cbiAgaG9vayA9IGFzeW5jIDxUIGV4dGVuZHMgQ2FsbGJhY2tUeXBlPihcbiAgICB0eXBlOiBULFxuICAgIGNhbGxiYWNrOiBDYWxsYmFja01hcDxFeHRyYWN0ZWREYXRhPltUXVxuICApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLmNhbGxiYWNrTXV0ZXguYWNxdWlyZSgpO1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgY29uc3QgaWQgPSB1dWlkdjQoKTtcbiAgICBjYWxsYmFja01hcC5zZXQoaWQsIGNhbGxiYWNrKTtcbiAgICByZWxlYXNlKCk7XG4gICAgcmV0dXJuIGlkO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1bmhvb2sgYSBjYWxsYmFjayBvbiBhIHR5cGVcbiAgICogcmV0dXJucyBmYWxzZSBpZiB0aGVyZSBpcyBubyByZWdpc3RlcmVkIGNhbGxiYWNrIHdpdGggdGhlIGlkXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcmV0dXJucyBzdWNjZXNzIHN0YXR1c1xuICAgKi9cbiAgdW5ob29rID0gYXN5bmMgKHR5cGU6IENhbGxiYWNrVHlwZSwgaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLmNhbGxiYWNrTXV0ZXguYWNxdWlyZSgpO1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgaWYgKCFjYWxsYmFja01hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICBgQ2FsbGJhY2sgd2l0aCBJZCBbJHtpZH1dIGlzIG5vdCByZWdpc3RlcmVkIGZvciB0eXBlIFske3R5cGV9XS5gXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjYWxsYmFja01hcC5kZWxldGUoaWQpO1xuICAgIHJlbGVhc2UoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogdHJpZ2dlciBhbGwgY2FsbGJhY2tzIHJlZ2lzdGVyZWQgb24gYSBzcGVjaWZpYyB0eXBlIHdpdGggdGhlIHByb3ZpZGVkIGRhdGFcbiAgICogQHBhcmFtIHR5cGVcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCB0cmlnZ2VyQ2FsbGJhY2tzPFQgZXh0ZW5kcyBDYWxsYmFja1R5cGU+KFxuICAgIHR5cGU6IFQsXG4gICAgZGF0YTogQ2FsbGJhY2tEYXRhTWFwPEV4dHJhY3RlZERhdGE+W1RdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgY2FsbGJhY2tNYXAuZm9yRWFjaCgoY2FsbGJhY2spID0+IHtcbiAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgYm94IGRhdGEgdG8gcHJvcGVyIGZvcm1hdCAobm90IGluY2x1ZGluZyBzcGVuZGluZyBpbmZvcm1hdGlvbilcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcGFyYW0gaW5wdXRFeHRlbnNpb25zIGFsbCBpbnB1dCBib3ggZXh0ZW5zaW9ucyBpbiB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJuIGV4dHJhY3RlZCBkYXRhIGluIHByb3BlciBmb3JtYXRcbiAgICovXG4gIGFic3RyYWN0IGV4dHJhY3RCb3hEYXRhOiAoXG4gICAgYm94OiBPdXRwdXRCb3gsXG4gICAgaW5wdXRFeHRlbnNpb25zOiBJbnB1dEV4dGVuc2lvbltdXG4gICkgPT4gRXh0cmFjdGVkRGF0YSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogY2hlY2sgcHJvcGVyIGRhdGEgZm9ybWF0IGluIHRoZSBib3hcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIGJveCBoYXMgdGhlIHJlcXVpcmVkIGRhdGEgYW5kIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaGFzRGF0YTogKGJveDogT3V0cHV0Qm94KSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGEgbGlzdCBvZiB0cmFuc2FjdGlvbnMgaW4gYSBibG9jayBhbmQgc3RvcmUgcmVxdWlyZWQgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIHR4cyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBpbiB0aGUgYmxvY2tcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IGFuZCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgdHhzOiBUcmFuc2FjdGlvbltdLFxuICAgIGJsb2NrOiBCbG9ja0luZm9cbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWREYXRhPiA9IFtdO1xuICAgICAgY29uc3Qgc3BlbnRJbmZvczogQXJyYXk8U3BlbmRJbmZvPiA9IFtdO1xuICAgICAgZm9yIChjb25zdCB0eCBvZiB0eHMpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFeHRlbnNpb25zID0gdHguaW5wdXRzLm1hcCgoaW5wdXQpID0+IGlucHV0LmV4dGVuc2lvbiB8fCB7fSk7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHR4Lm91dHB1dHMpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuaGFzRGF0YShvdXRwdXQpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFRyeWluZyB0byBleHRyYWN0IGRhdGEgZnJvbSBib3ggJHtvdXRwdXQuYm94SWR9YCk7XG4gICAgICAgICAgY29uc3QgZXh0cmFjdGVkRGF0YSA9IHRoaXMuZXh0cmFjdEJveERhdGEob3V0cHV0LCBpbnB1dEV4dGVuc2lvbnMpO1xuICAgICAgICAgIGlmIChleHRyYWN0ZWREYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYEV4dHJhY3RlZCBkYXRhICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoZXh0cmFjdGVkRGF0YSl9IGZyb20gYm94ICR7XG4gICAgICAgICAgICAgICAgb3V0cHV0LmJveElkXG4gICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYm94ZXMucHVzaChleHRyYWN0ZWREYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGJveEluZGV4ID0gMTtcbiAgICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0eC5pbnB1dHMpIHtcbiAgICAgICAgICBzcGVudEluZm9zLnB1c2goeyB0eElkOiB0eC5pZCwgYm94SWQ6IGlucHV0LmJveElkLCBpbmRleDogYm94SW5kZXggfSk7XG4gICAgICAgICAgYm94SW5kZXggKz0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoYm94ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIShhd2FpdCB0aGlzLmFjdGlvbnMuc3RvcmVCb3hlcyhib3hlcywgYmxvY2ssIHRoaXMuZ2V0SWQoKSkpKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBEYXRhIGluc2VydGlvbiBmYWlsZWQgZm9yICR7dGhpcy5nZXRJZCgpfSBhdCB0aGUgYmxvY2sgJHtcbiAgICAgICAgICAgICAgYmxvY2suaGVpZ2h0XG4gICAgICAgICAgICB9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHJpZ2dlckNhbGxiYWNrcyhDYWxsYmFja1R5cGUuSW5zZXJ0LCBib3hlcyk7XG4gICAgICB9XG4gICAgICBjb25zdCBzcGVudERhdGEgPSBhd2FpdCB0aGlzLmFjdGlvbnMuc3BlbmRCb3hlcyhcbiAgICAgICAgc3BlbnRJbmZvcyxcbiAgICAgICAgYmxvY2ssXG4gICAgICAgIHRoaXMuZ2V0SWQoKVxuICAgICAgKTtcbiAgICAgIGlmIChzcGVudERhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnRyaWdnZXJDYWxsYmFja3MoQ2FsbGJhY2tUeXBlLlNwZW5kLCBzcGVudERhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBgUHJvY2Vzc2luZyB0cmFuc2FjdGlvbnMgZmFpbGVkIGZvciAke3RoaXMuZ2V0SWQoKX0gYXQgdGhlIGJsb2NrICR7XG4gICAgICAgICAgYmxvY2suaGVpZ2h0XG4gICAgICAgIH0gd2l0aCBlcnJvcjogJHtlfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2ggYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja0JveGVzKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gICAgaWYgKHJlc3VsdC5kZWxldGVkRGF0YS5sZW5ndGggPiAwKVxuICAgICAgdGhpcy50cmlnZ2VyQ2FsbGJhY2tzKENhbGxiYWNrVHlwZS5EZWxldGUsIHJlc3VsdC5kZWxldGVkRGF0YSk7XG4gICAgaWYgKHJlc3VsdC51cGRhdGVkRGF0YS5sZW5ndGggPiAwKVxuICAgICAgdGhpcy50cmlnZ2VyQ2FsbGJhY2tzKENhbGxiYWNrVHlwZS5VcGRhdGUsIHJlc3VsdC51cGRhdGVkRGF0YSk7XG4gIH07XG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFcmdvRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VyZ28vQWJzdHJhY3RFcmdvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFHTCxZQUFZLEdBSWIsTUFBTSxjQUFjLENBQUM7QUFHdEIsTUFBTSxPQUFnQixxQkFHcEIsU0FBUSxpQkFBOEI7SUFLNUIsTUFBTSxDQUFpQjtJQUN2QixTQUFTLEdBRWY7UUFDRixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNoQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRTtLQUNoQyxDQUFDO0lBQ00sYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFcEMsWUFBWSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUU7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxHQUFHLEtBQUssRUFDVixJQUFPLEVBQ1AsUUFBdUMsRUFDdEIsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5QixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUY7Ozs7OztPQU1HO0lBQ0gsTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFrQixFQUFFLEVBQVUsRUFBb0IsRUFBRTtRQUNsRSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLHFCQUFxQixFQUFFLGlDQUFpQyxJQUFJLElBQUksQ0FDakUsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDTyxnQkFBZ0IsQ0FDeEIsSUFBTyxFQUNQLElBQXVDO1FBRXZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFxQkQ7Ozs7T0FJRztJQUNILHVCQUF1QixHQUFHLENBQUMsRUFBZSxFQUFFLEVBQUU7UUFDNUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QixjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUUsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCx1QkFBdUIsR0FBRyxDQUFDLEVBQWUsRUFBVyxFQUFFO1FBQ3JELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEdBQWtCLEVBQ2xCLEtBQWdCLEVBQ0UsRUFBRTtRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7WUFDeEMsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLEtBQUssTUFBTSxNQUFNLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUMxQixTQUFTO29CQUNYLENBQUM7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUNyRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUN2QyxNQUFNLEVBQ04sZUFBZSxFQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FDakMsQ0FBQztvQkFDRixJQUFJLGFBQWEsRUFBRSxDQUFDO3dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixrQkFBa0IsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFDbkQsTUFBTSxDQUFDLEtBQ1QsRUFBRSxDQUNILENBQUM7d0JBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDNUIsQ0FBQztnQkFDSCxDQUFDO2dCQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCw2QkFBNkIsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFDdkMsS0FBSyxDQUFDLE1BQ1IsRUFBRSxDQUNILENBQUM7b0JBQ0YsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDN0MsVUFBVSxFQUNWLEtBQUssRUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQ2IsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysc0NBQXNDLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQ2hELEtBQUssQ0FBQyxNQUNSLGdCQUFnQixDQUFDLEVBQUUsQ0FDcEIsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQWlCLEVBQUU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIE91dHB1dEJveCxcbiAgSW5wdXRFeHRlbnNpb24sXG4gIEJsb2NrSW5mbyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJy4uL2Fic3RyYWN0RXh0cmFjdG9yJztcbmltcG9ydCB7IEFic3RyYWN0RXJnb0V4dHJhY3RvckFjdGlvbiB9IGZyb20gJy4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Qm94RGF0YSxcbiAgU3BlbmRJbmZvLFxuICBDYWxsYmFja1R5cGUsXG4gIENhbGxiYWNrTWFwLFxuICBDYWxsYmFja0RhdGFNYXAsXG4gIFR4RXh0cmEsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkgfSBmcm9tICcuL0Fic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEVyZ29FeHRyYWN0b3I8XG4gIEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGEsXG4gIEV4dHJhY3RvckVudGl0eSBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eVxuPiBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBhY3Rpb25zOiBBYnN0cmFjdEVyZ29FeHRyYWN0b3JBY3Rpb248XG4gICAgRXh0cmFjdGVkRGF0YSxcbiAgICBFeHRyYWN0b3JFbnRpdHlcbiAgPjtcbiAgcHJvdGVjdGVkIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHByb3RlY3RlZCBjYWxsYmFja3M6IHtcbiAgICBbSyBpbiBDYWxsYmFja1R5cGVdOiBNYXA8c3RyaW5nLCBDYWxsYmFja01hcDxFeHRyYWN0ZWREYXRhPltLXT47XG4gIH0gPSB7XG4gICAgW0NhbGxiYWNrVHlwZS5VcGRhdGVdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5JbnNlcnRdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5EZWxldGVdOiBuZXcgTWFwKCksXG4gICAgW0NhbGxiYWNrVHlwZS5TcGVuZF06IG5ldyBNYXAoKSxcbiAgfTtcbiAgcHJpdmF0ZSBjYWxsYmFja011dGV4ID0gbmV3IE11dGV4KCk7XG5cbiAgY29uc3RydWN0b3IobG9nZ2VyID0gbmV3IER1bW15TG9nZ2VyKCkpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIGhvb2sgYSBuZXcgY2FsbGJhY2sgb24gYSBjYWxsYmFjayB0eXBlXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gY2FsbGJhY2tcbiAgICogQHJldHVybnMgY2FsbGJhY2sgcmVnaXN0ZXJlZCBpZFxuICAgKi9cbiAgaG9vayA9IGFzeW5jIDxUIGV4dGVuZHMgQ2FsbGJhY2tUeXBlPihcbiAgICB0eXBlOiBULFxuICAgIGNhbGxiYWNrOiBDYWxsYmFja01hcDxFeHRyYWN0ZWREYXRhPltUXVxuICApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLmNhbGxiYWNrTXV0ZXguYWNxdWlyZSgpO1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgY29uc3QgaWQgPSB1dWlkdjQoKTtcbiAgICBjYWxsYmFja01hcC5zZXQoaWQsIGNhbGxiYWNrKTtcbiAgICByZWxlYXNlKCk7XG4gICAgcmV0dXJuIGlkO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1bmhvb2sgYSBjYWxsYmFjayBvbiBhIHR5cGVcbiAgICogcmV0dXJucyBmYWxzZSBpZiB0aGVyZSBpcyBubyByZWdpc3RlcmVkIGNhbGxiYWNrIHdpdGggdGhlIGlkXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcmV0dXJucyBzdWNjZXNzIHN0YXR1c1xuICAgKi9cbiAgdW5ob29rID0gYXN5bmMgKHR5cGU6IENhbGxiYWNrVHlwZSwgaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLmNhbGxiYWNrTXV0ZXguYWNxdWlyZSgpO1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgaWYgKCFjYWxsYmFja01hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICBgQ2FsbGJhY2sgd2l0aCBJZCBbJHtpZH1dIGlzIG5vdCByZWdpc3RlcmVkIGZvciB0eXBlIFske3R5cGV9XS5gXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjYWxsYmFja01hcC5kZWxldGUoaWQpO1xuICAgIHJlbGVhc2UoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogdHJpZ2dlciBhbGwgY2FsbGJhY2tzIHJlZ2lzdGVyZWQgb24gYSBzcGVjaWZpYyB0eXBlIHdpdGggdGhlIHByb3ZpZGVkIGRhdGFcbiAgICogQHBhcmFtIHR5cGVcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCB0cmlnZ2VyQ2FsbGJhY2tzPFQgZXh0ZW5kcyBDYWxsYmFja1R5cGU+KFxuICAgIHR5cGU6IFQsXG4gICAgZGF0YTogQ2FsbGJhY2tEYXRhTWFwPEV4dHJhY3RlZERhdGE+W1RdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrTWFwID0gdGhpcy5jYWxsYmFja3NbdHlwZV07XG4gICAgY2FsbGJhY2tNYXAuZm9yRWFjaCgoY2FsbGJhY2spID0+IHtcbiAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgYm94IGRhdGEgdG8gcHJvcGVyIGZvcm1hdCAobm90IGluY2x1ZGluZyBzcGVuZGluZyBpbmZvcm1hdGlvbilcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcGFyYW0gaW5wdXRFeHRlbnNpb25zIGFsbCBpbnB1dCBib3ggZXh0ZW5zaW9ucyBpbiB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJuIGV4dHJhY3RlZCBkYXRhIGluIHByb3BlciBmb3JtYXRcbiAgICovXG4gIGFic3RyYWN0IGV4dHJhY3RCb3hEYXRhOiAoXG4gICAgYm94OiBPdXRwdXRCb3gsXG4gICAgaW5wdXRFeHRlbnNpb25zOiBJbnB1dEV4dGVuc2lvbltdLFxuICAgIHR4RXh0cmE/OiBUeEV4dHJhXG4gICkgPT4gRXh0cmFjdGVkRGF0YSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogY2hlY2sgcHJvcGVyIGRhdGEgZm9ybWF0IGluIHRoZSBib3hcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIGJveCBoYXMgdGhlIHJlcXVpcmVkIGRhdGEgYW5kIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaGFzRGF0YTogKGJveDogT3V0cHV0Qm94KSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBjcmVhdGUgc3BlbmQgaW5mbyBhcnJheSBmb3IgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB0eFxuICAgKiBAcmV0dXJucyBzcGVuZCBpbmZvIGFycmF5IG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25TcGVuZEluZm8gPSAodHg6IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgbGV0IGJveEluZGV4ID0gMTtcbiAgICBjb25zdCBzcGVuZEluZm9BcnJheSA9IFtdO1xuICAgIGZvciAoY29uc3QgaW5wdXQgb2YgdHguaW5wdXRzKSB7XG4gICAgICBzcGVuZEluZm9BcnJheS5wdXNoKHsgdHhJZDogdHguaWQsIGJveElkOiBpbnB1dC5ib3hJZCwgaW5kZXg6IGJveEluZGV4IH0pO1xuICAgICAgYm94SW5kZXggKz0gMTtcbiAgICB9XG4gICAgcmV0dXJuIHNwZW5kSW5mb0FycmF5O1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0IHRyYW5zYWN0aW9uIGV4dHJhIGluZm9ybWF0aW9uXG4gICAqIG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gaWYgdGhlcmUgaXMgZXh0cmEgbmVlZGVkIGluZm9ybWF0aW9uXG4gICAqIEBwYXJhbSB0eFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25FeHRyYURhdGEgPSAodHg6IFRyYW5zYWN0aW9uKTogVHhFeHRyYSA9PiB7XG4gICAgcmV0dXJuIHt9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGEgbGlzdCBvZiB0cmFuc2FjdGlvbnMgaW4gYSBibG9jayBhbmQgc3RvcmUgcmVxdWlyZWQgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIHR4cyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBpbiB0aGUgYmxvY2tcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IGFuZCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgdHhzOiBUcmFuc2FjdGlvbltdLFxuICAgIGJsb2NrOiBCbG9ja0luZm9cbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWREYXRhPiA9IFtdO1xuICAgICAgY29uc3Qgc3BlbnRJbmZvczogQXJyYXk8U3BlbmRJbmZvPiA9IFtdO1xuICAgICAgZm9yIChjb25zdCB0eCBvZiB0eHMpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFeHRlbnNpb25zID0gdHguaW5wdXRzLm1hcCgoaW5wdXQpID0+IGlucHV0LmV4dGVuc2lvbiB8fCB7fSk7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHR4Lm91dHB1dHMpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuaGFzRGF0YShvdXRwdXQpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFRyeWluZyB0byBleHRyYWN0IGRhdGEgZnJvbSBib3ggJHtvdXRwdXQuYm94SWR9YCk7XG4gICAgICAgICAgY29uc3QgZXh0cmFjdGVkRGF0YSA9IHRoaXMuZXh0cmFjdEJveERhdGEoXG4gICAgICAgICAgICBvdXRwdXQsXG4gICAgICAgICAgICBpbnB1dEV4dGVuc2lvbnMsXG4gICAgICAgICAgICB0aGlzLmdldFRyYW5zYWN0aW9uRXh0cmFEYXRhKHR4KVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGV4dHJhY3RlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICBgRXh0cmFjdGVkIGRhdGEgJHtKc29uQmlnSW50LnN0cmluZ2lmeShleHRyYWN0ZWREYXRhKX0gZnJvbSBib3ggJHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYm94SWRcbiAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBib3hlcy5wdXNoKGV4dHJhY3RlZERhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGVudEluZm9zLnB1c2goLi4udGhpcy5nZXRUcmFuc2FjdGlvblNwZW5kSW5mbyh0eCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYm94ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIShhd2FpdCB0aGlzLmFjdGlvbnMuc3RvcmVCb3hlcyhib3hlcywgYmxvY2ssIHRoaXMuZ2V0SWQoKSkpKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBEYXRhIGluc2VydGlvbiBmYWlsZWQgZm9yICR7dGhpcy5nZXRJZCgpfSBhdCB0aGUgYmxvY2sgJHtcbiAgICAgICAgICAgICAgYmxvY2suaGVpZ2h0XG4gICAgICAgICAgICB9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHJpZ2dlckNhbGxiYWNrcyhDYWxsYmFja1R5cGUuSW5zZXJ0LCBib3hlcyk7XG4gICAgICB9XG4gICAgICBjb25zdCBzcGVudERhdGEgPSBhd2FpdCB0aGlzLmFjdGlvbnMuc3BlbmRCb3hlcyhcbiAgICAgICAgc3BlbnRJbmZvcyxcbiAgICAgICAgYmxvY2ssXG4gICAgICAgIHRoaXMuZ2V0SWQoKVxuICAgICAgKTtcbiAgICAgIGlmIChzcGVudERhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnRyaWdnZXJDYWxsYmFja3MoQ2FsbGJhY2tUeXBlLlNwZW5kLCBzcGVudERhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBgUHJvY2Vzc2luZyB0cmFuc2FjdGlvbnMgZmFpbGVkIGZvciAke3RoaXMuZ2V0SWQoKX0gYXQgdGhlIGJsb2NrICR7XG4gICAgICAgICAgYmxvY2suaGVpZ2h0XG4gICAgICAgIH0gd2l0aCBlcnJvcjogJHtlfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2ggYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja0JveGVzKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gICAgaWYgKHJlc3VsdC5kZWxldGVkRGF0YS5sZW5ndGggPiAwKVxuICAgICAgdGhpcy50cmlnZ2VyQ2FsbGJhY2tzKENhbGxiYWNrVHlwZS5EZWxldGUsIHJlc3VsdC5kZWxldGVkRGF0YSk7XG4gICAgaWYgKHJlc3VsdC51cGRhdGVkRGF0YS5sZW5ndGggPiAwKVxuICAgICAgdGhpcy50cmlnZ2VyQ2FsbGJhY2tzKENhbGxiYWNrVHlwZS5VcGRhdGUsIHJlc3VsdC51cGRhdGVkRGF0YSk7XG4gIH07XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { DataSource, Repository, EntityTarget, QueryRunner } from 'typeorm';
2
2
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
- import { BlockInfo } from '../interfaces';
3
+ import { BlockInfo } from '@rosen-bridge/scanner-interfaces';
4
4
  import { AbstractBoxData, BoxInfo, SpendInfo } from './interfaces';
5
5
  import { AbstractErgoExtractorEntity } from './AbstractErgoExtractorEntity';
6
6
  export declare abstract class AbstractErgoExtractorAction<ExtractedData extends AbstractBoxData, ExtractorEntity extends AbstractErgoExtractorEntity> {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractErgoExtractorAction.d.ts","sourceRoot":"","sources":["../../lib/ergo/AbstractErgoExtractorAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EAEV,YAAY,EAEZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,2BAA2B,CAC/C,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAgC;gBAG1C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EACnC,MAAM,CAAC,EAAE,cAAc;IAQzB;;OAEG;IACH,SAAS,CAAC,YAAY,SACd,aAAa,EAAE,SACd,SAAS,aACL,MAAM,KAChB,MAAM,KAAK,eAAe,EAAE,IAAI,CAAC,CAAC,CAInC;IAEF;;OAEG;IACH,SAAS,CAAC,mBAAmB,aACjB,eAAe,EAAE,KAC1B,aAAa,EAAE,CAIhB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,gBACT,WAAW,iBACT,MAAM,aAAa,CAAC,SAC5B,SAAS,aACL,MAAM,mBAMjB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,gBACP,WAAW,aACb,aAAa,SACjB,SAAS,aACL,MAAM,mBAWjB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,gBACd,WAAW,aACb,MAAM,SACV,MAAM,KACZ,QAAQ,aAAa,EAAE,CAAC,CAUzB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,gBACd,WAAW,aACb,MAAM,SACV,MAAM,KACZ,QAAQ,eAAe,EAAE,CAAC,CAiB3B;IAEF;;;;;;;;OAQG;IACH,UAAU,UACD,MAAM,aAAa,CAAC,SACpB,SAAS,aACL,MAAM,KAChB,QAAQ,OAAO,CAAC,CA6CjB;IAEF;;;;;;;;;;OAUG;IACH,UAAU,eACI,MAAM,SAAS,CAAC,SACrB,SAAS,aACL,MAAM,KAChB,QAAQ,OAAO,EAAE,CAAC,CA2BnB;IAEF;;;;;;;OAOG;IACH,gBAAgB,UACP,MAAM,aACF,MAAM,KAChB,QAAQ;QAAE,WAAW,EAAE,aAAa,EAAE,CAAC;QAAC,WAAW,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAiClE;CACH"}
1
+ {"version":3,"file":"AbstractErgoExtractorAction.d.ts","sourceRoot":"","sources":["../../lib/ergo/AbstractErgoExtractorAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EAEV,YAAY,EAEZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,2BAA2B,CAC/C,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAgC;gBAG1C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EACnC,MAAM,CAAC,EAAE,cAAc;IAQzB;;OAEG;IACH,SAAS,CAAC,YAAY,SACd,aAAa,EAAE,SACd,SAAS,aACL,MAAM,KAChB,MAAM,KAAK,eAAe,EAAE,IAAI,CAAC,CAAC,CAInC;IAEF;;OAEG;IACH,SAAS,CAAC,mBAAmB,aACjB,eAAe,EAAE,KAC1B,aAAa,EAAE,CAIhB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,gBACT,WAAW,iBACT,MAAM,aAAa,CAAC,SAC5B,SAAS,aACL,MAAM,mBAMjB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,gBACP,WAAW,aACb,aAAa,SACjB,SAAS,aACL,MAAM,mBAWjB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,gBACd,WAAW,aACb,MAAM,SACV,MAAM,KACZ,QAAQ,aAAa,EAAE,CAAC,CAUzB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,gBACd,WAAW,aACb,MAAM,SACV,MAAM,KACZ,QAAQ,eAAe,EAAE,CAAC,CAiB3B;IAEF;;;;;;;;OAQG;IACH,UAAU,UACD,MAAM,aAAa,CAAC,SACpB,SAAS,aACL,MAAM,KAChB,QAAQ,OAAO,CAAC,CA6CjB;IAEF;;;;;;;;;;OAUG;IACH,UAAU,eACI,MAAM,SAAS,CAAC,SACrB,SAAS,aACL,MAAM,KAChB,QAAQ,OAAO,EAAE,CAAC,CA2BnB;IAEF;;;;;;;OAOG;IACH,gBAAgB,UACP,MAAM,aACF,MAAM,KAChB,QAAQ;QAAE,WAAW,EAAE,aAAa,EAAE,CAAC;QAAC,WAAW,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAiClE;CACH"}
@@ -205,4 +205,4 @@ export class AbstractErgoExtractorAction {
205
205
  }
206
206
  };
207
207
  }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VyZ28vQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxFQUFFLEVBRUYsR0FBRyxHQUlKLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwRCxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBSW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsTUFBTSxPQUFnQiwyQkFBMkI7SUFJOUIsVUFBVSxDQUFhO0lBQy9CLE1BQU0sQ0FBaUI7SUFDYixVQUFVLENBQThCO0lBQ25ELElBQUksQ0FBZ0M7SUFFNUMsWUFDRSxVQUFzQixFQUN0QixJQUFtQyxFQUNuQyxNQUF1QjtRQUV2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWSxHQUFHLENBQ3ZCLElBQXFCLEVBQ3JCLEtBQWdCLEVBQ2hCLFNBQWlCLEVBQ21CLEVBQUU7UUFDdEMsTUFBTSxLQUFLLENBQ1QscUZBQXFGLENBQ3RGLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNPLG1CQUFt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YVNvdXJjZSxcbiAgSW4sXG4gIFJlcG9zaXRvcnksXG4gIE5vdCxcbiAgRW50aXR5VGFyZ2V0LFxuICBGaW5kT3B0aW9uc1doZXJlLFxuICBRdWVyeVJ1bm5lcixcbn0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBjaHVuaywgZGlmZmVyZW5jZSwgcGljayB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcblxuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEJveERhdGEsIEJveEluZm8sIFNwZW5kSW5mbyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEQl9DSFVOS19TSVpFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eSB9IGZyb20gJy4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RXJnb0V4dHJhY3RvckFjdGlvbjxcbiAgRXh0cmFjdGVkRGF0YSBleHRlbmRzIEFic3RyYWN0Qm94RGF0YSxcbiAgRXh0cmFjdG9yRW50aXR5IGV4dGVuZHMgQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5XG4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhc291cmNlOiBEYXRhU291cmNlO1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVwb3NpdG9yeTogUmVwb3NpdG9yeTxFeHRyYWN0b3JFbnRpdHk+O1xuICBwcml2YXRlIHJlcG86IEVudGl0eVRhcmdldDxFeHRyYWN0b3JFbnRpdHk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgcmVwbzogRW50aXR5VGFyZ2V0PEV4dHJhY3RvckVudGl0eT4sXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgdGhpcy5kYXRhc291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMucmVwb3NpdG9yeSA9IHRoaXMuZGF0YXNvdXJjZS5nZXRSZXBvc2l0b3J5KHJlcG8pO1xuICAgIHRoaXMucmVwbyA9IHJlcG87XG4gIH1cblxuICAvKipcbiAgICogY3JlYXRlIHRoZSBkYXRhYmFzZSBlbnRpdHkgZnJvbSBleHRyYWN0ZWQgZGF0YSBhbmQgYmxvY2sgaW5mb3JtYXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVFbnRpdHkgPSAoXG4gICAgZGF0YTogRXh0cmFjdGVkRGF0YVtdLFxuICAgIGJsb2NrOiBCbG9ja0luZm8sXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKTogQXJyYXk8T21pdDxFeHRyYWN0b3JFbnRpdHksICdpZCc+PiA9PiB7XG4gICAgdGhyb3cgRXJyb3IoXG4gICAgICAnWW91IG11c3QgaW1wbGVtZW50IGBjcmVhdGVFbnRpdHlgIG9yIG92ZXJyaWRlIGBpbnNlcnRFbnRpdGllc2AgYW5kIGB1cGRhdGVFbnRpdGllc2AnXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogY29udmVydCB0aGUgZGF0YWJhc2UgZW50aXR5IGJhY2sgdG8gcmF3IGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBjb252ZXJ0RW50aXR5VG9EYXRhID0gKFxuICAgIGVudGl0aWVzOiBFeHRyYWN0b3JFbnRpdHlbXVxuICApOiBFeHRyYWN0ZWREYXRhW10gPT4ge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgJ1lvdSBtdXN0IGltcGxlbWVudCBgY29udmVydEVudGl0eVRvRGF0YWAgb3Igb3ZlcnJpZGUgYGRlbGV0ZUJsb2NrRW50aXRpZXNgJ1xuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGluc2VydCBlbnRpdGllcyBleHRyYWN0ZWQgZnJvbSBhIGJsb2NrIHRvIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBxdWVyeVJ1bm5lclxuICAgKiBAcGFyYW0gYm94ZXNUb0luc2VydFxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgcHJvdGVjdGVkIGluc2VydEVudGl0aWVzID0gYXN5bmMgKFxuICAgIHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcixcbiAgICBib3hlc1RvSW5zZXJ0OiBBcnJheTxFeHRyYWN0ZWREYXRhPixcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICkgPT4ge1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkodGhpcy5yZXBvKTtcbiAgICBhd2FpdCByZXBvc2l0b3J5Lmluc2VydChcbiAgICAgIHRoaXMuY3JlYXRlRW50aXR5KGJveGVzVG9JbnNlcnQsIGJsb2NrLCBleHRyYWN0b3IpIGFzIGFueVxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBlbnRpdGllcyByZWxhdGVkIHRvIGEgYm94XG4gICAqIEBwYXJhbSBxdWVyeVJ1bm5lclxuICAgKiBAcGFyYW0gdXBkYXRlQm94XG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlRW50aXR5ID0gYXN5bmMgKFxuICAgIHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcixcbiAgICB1cGRhdGVCb3g6IEV4dHJhY3RlZERhdGEsXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCByZXBvc2l0b3J5ID0gcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KHRoaXMucmVwbyk7XG4gICAgY29uc3QgYm94ID0gdGhpcy5jcmVhdGVFbnRpdHkoW3VwZGF0ZUJveF0sIGJsb2NrLCBleHRyYWN0b3IpWzBdO1xuICAgIGF3YWl0IHJlcG9zaXRvcnkudXBkYXRlKFxuICAgICAge1xuICAgICAgICBib3hJZDogYm94LmJveElkLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0gYXMgRmluZE9wdGlvbnNXaGVyZTxFeHRyYWN0b3JFbnRpdHk+LFxuICAgICAgYm94IGFzIGFueVxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBhbGwgZGF0YSBleHRyYWN0ZWQgZnJvbSBhIGJsb2NrXG4gICAqIEBwYXJhbSBxdWVyeVJ1bm5lclxuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJvdGVjdGVkIGRlbGV0ZUJsb2NrRW50aXRpZXMgPSBhc3luYyAoXG4gICAgcXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICAgIGJsb2NrOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFeHRyYWN0ZWREYXRhW10+ID0+IHtcbiAgICBjb25zdCByZXBvc2l0b3J5ID0gcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KHRoaXMucmVwbyk7XG4gICAgY29uc3QgZGVsZXRlZERhdGEgPSBhd2FpdCByZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHsgZXh0cmFjdG9yOiBleHRyYWN0b3IsIGJsb2NrOiBibG9jayB9IGFzIGFueSxcbiAgICB9KTtcbiAgICBhd2FpdCByZXBvc2l0b3J5LmRlbGV0ZSh7XG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIGJsb2NrOiBibG9jayxcbiAgICB9IGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMuY29udmVydEVudGl0eVRvRGF0YShkZWxldGVkRGF0YSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBhbGwgZGF0YSBleHRyYWN0ZWQgZnJvbSBhIGJsb2NrXG4gICAqIEBwYXJhbSBxdWVyeVJ1bm5lclxuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUJsb2NrRW50aXRpZXMgPSBhc3luYyAoXG4gICAgcXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICAgIGJsb2NrOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFeHRyYWN0b3JFbnRpdHlbXT4gPT4ge1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkodGhpcy5yZXBvKTtcbiAgICBjb25zdCB1cGRhdGVkRGF0YSA9IGF3YWl0IHJlcG9zaXRvcnkuZmluZCh7XG4gICAgICB3aGVyZToge1xuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgc3BlbmRCbG9jazogYmxvY2ssXG4gICAgICAgIGJsb2NrOiBOb3QoYmxvY2spLFxuICAgICAgfSBhcyBhbnksXG4gICAgfSk7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICB7XG4gICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0gYXMgRmluZE9wdGlvbnNXaGVyZTxFeHRyYWN0b3JFbnRpdHk+LFxuICAgICAgeyBzcGVuZEJsb2NrOiBudWxsLCBzcGVuZEhlaWdodDogMCB9IGFzIGFueVxuICAgICk7XG4gICAgcmV0dXJuIHVwZGF0ZWREYXRhO1xuICB9O1xuXG4gIC8qKlxuICAgKiBpbnNlcnQgYWxsIGV4dHJhY3RlZCBib3ggZGF0YSBpbiBhbiBhdG9taWMgdHJhbnNhY3Rpb25cbiAgICogdXBkYXRlIHRoZSBkYXRhIGlmIGEgYm94IHdpdGggdGhlIHNhbWUgaWQgaXMgYWxyZWFkeSBzdG9yZWQgaW4gZGJcbiAgICogQHBhcmFtIGJveGVzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqIEByZXR1cm4gaW5zZXJ0ZWQgaXRlbXMgYW5kIHVwZGF0ZWQgYm94IGlkc1xuICAgKiByZXR1cm5zIHVuZGVmaW5lZCBpbiBjYXNlIG9mIGFueSBwcm9ibGVtXG4gICAqL1xuICBzdG9yZUJveGVzID0gYXN5bmMgKFxuICAgIGJveGVzOiBBcnJheTxFeHRyYWN0ZWREYXRhPixcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGxldCBib3hlc1RvSW5zZXJ0OiBFeHRyYWN0ZWREYXRhW10gPSBbXSxcbiAgICAgIGJveGVzVG9VcGRhdGU6IEV4dHJhY3RlZERhdGFbXSA9IFtdO1xuICAgIGNvbnN0IHF1ZXJ5UnVubmVyID0gdGhpcy5kYXRhc291cmNlLmNyZWF0ZVF1ZXJ5UnVubmVyKCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuY29ubmVjdCgpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVwb3NpdG9yeSA9IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeSh0aGlzLnJlcG8pO1xuICAgICAgY29uc3QgZGJCb3hJZHMgPSAoXG4gICAgICAgIGF3YWl0IHJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgICAgICBib3hJZDogSW4oYm94ZXMubWFwKChpdGVtKSA9PiBpdGVtLmJveElkKSksXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIH0gYXMgRmluZE9wdGlvbnNXaGVyZTxFeHRyYWN0b3JFbnRpdHk+KVxuICAgICAgKS5tYXAoKGJveCkgPT4gYm94LmJveElkKTtcbiAgICAgIGlmIChkYkJveElkcy5sZW5ndGggPiAwKVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgRm91bmQgc3RvcmVkIGJveGVzIHdpdGggc2FtZSBib3hJZGAsIGRiQm94SWRzKTtcblxuICAgICAgYm94ZXNUb1VwZGF0ZSA9IGJveGVzLmZpbHRlcigoYm94KSA9PiBkYkJveElkcy5pbmNsdWRlcyhib3guYm94SWQpKTtcbiAgICAgIGJveGVzVG9JbnNlcnQgPSBkaWZmZXJlbmNlKGJveGVzLCBib3hlc1RvVXBkYXRlKTtcblxuICAgICAgaWYgKGJveGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgSW5zZXJ0aW5nIGJveGVzYCk7XG4gICAgICAgIGF3YWl0IHRoaXMuaW5zZXJ0RW50aXRpZXMocXVlcnlSdW5uZXIsIGJveGVzVG9JbnNlcnQsIGJsb2NrLCBleHRyYWN0b3IpO1xuICAgICAgfVxuICAgICAgaWYgKGJveGVzVG9VcGRhdGUubGVuZ3RoID4gMClcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgVXBkYXRpbmcgYm94ZXMgd2l0aCBmb2xsb3dpbmcgSWRzIGluIHRoZSBkYXRhYmFzZTogWyR7Ym94ZXNUb1VwZGF0ZVxuICAgICAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuYm94SWQpXG4gICAgICAgICAgICAuam9pbignLCAnKX1dYFxuICAgICAgICApO1xuICAgICAgZm9yIChjb25zdCBib3ggb2YgYm94ZXNUb1VwZGF0ZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgVXBkYXRpbmcgYm94ZXMgaW4gZGF0YWJhc2UgWyR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoYm94KX1dYFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZUVudGl0eShxdWVyeVJ1bm5lciwgYm94LCBibG9jaywgZXh0cmFjdG9yKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGJveGVzIGFjdGlvbjogJHtlfWApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3BlbmRpbmcgaW5mb3JtYXRpb24gb2Ygc3RvcmVkIGJveGVzXG4gICAqIGNodW5rIHNwZW5kSW5mb3MgdG8gcHJldmVudCBsYXJnZSBkYXRhYmFzZSBxdWVyaWVzXG4gICAqIE5vdGU6IEl0IG9ubHkgdXBkYXRlcyB0aGUgc3BlbmRIZWlnaHQgYW5kIHNwZW5kQmxvY2sgZmllbGRzLiBJZiB1cGRhdGluZ1xuICAgKiBhbnl0aGluZyBlbHNlIGlzIHJlcXVpcmVkLCBvdmVycmlkZSB0aGlzIGltcGxlbWVudGF0aW9uIHRvIGluY2x1ZGUgdGhlXG4gICAqIGFkZGl0aW9uYWwgZmllbGRzLlxuICAgKiBAcGFyYW0gc3BlbmRJbmZvc1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcmV0dXJucyBzcGVudCBib3ggaWRzXG4gICAqL1xuICBzcGVuZEJveGVzID0gYXN5bmMgKFxuICAgIHNwZW5kSW5mb3M6IEFycmF5PFNwZW5kSW5mbz4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPEJveEluZm9bXT4gPT4ge1xuICAgIGNvbnN0IHNwZW50RGF0YSA9IFtdO1xuICAgIGNvbnN0IHNwZW5kSW5mb0NodW5rcyA9IGNodW5rKHNwZW5kSW5mb3MsIERCX0NIVU5LX1NJWkUpO1xuICAgIGZvciAoY29uc3Qgc3BlbmRJbmZvQ2h1bmsgb2Ygc3BlbmRJbmZvQ2h1bmtzKSB7XG4gICAgICBjb25zdCBib3hJZHMgPSBzcGVuZEluZm9DaHVuay5tYXAoKGluZm8pID0+IGluZm8uYm94SWQpO1xuICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5yZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGJveElkOiBJbihib3hJZHMpLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9IGFzIEZpbmRPcHRpb25zV2hlcmU8RXh0cmFjdG9yRW50aXR5PixcbiAgICAgICAgeyBzcGVuZEJsb2NrOiBibG9jay5oYXNoLCBzcGVuZEhlaWdodDogYmxvY2suaGVpZ2h0IH0gYXMgYW55XG4gICAgICApO1xuXG4gICAgICBpZiAodXBkYXRlUmVzdWx0LmFmZmVjdGVkICYmIHVwZGF0ZVJlc3VsdC5hZmZlY3RlZCA+IDApIHtcbiAgICAgICAgY29uc3Qgc3BlbnRSb3dzID0gYXdhaXQgdGhpcy5yZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICAgICAgYm94SWQ6IEluKGJveElkcyksXG4gICAgICAgICAgc3BlbmRCbG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgfSBhcyBGaW5kT3B0aW9uc1doZXJlPEV4dHJhY3RvckVudGl0eT4pO1xuICAgICAgICBzcGVudERhdGEucHVzaCguLi5zcGVudFJvd3MpO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiBzcGVudFJvd3MpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBTcGVudCBib3ggd2l0aCBib3hJZCBbJHtyb3cuYm94SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNwZW50RGF0YS5tYXAoKGRhdGEpID0+IHBpY2soZGF0YSwgJ2JveElkJykpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgZXh0cmFjdGVkIGRhdGEgZnJvbSBhIHNwZWNpZmljIGJsb2NrXG4gICAqIGlmIGEgYm94IGlzIHNwZW5kIGluIHRoaXMgYmxvY2sgbWFyayBpdCBhcyB1bnNwZW50XG4gICAqIGlmIGEgYm94IGlzIGNyZWF0ZWQgaW4gdGhpcyBibG9jayByZW1vdmUgaXQgZnJvbSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcmV0dXJuIGRlbGV0ZWQgaXRlbXMgYW5kIHVwZGF0ZWQgYm94IGlkc1xuICAgKi9cbiAgZGVsZXRlQmxvY2tCb3hlcyA9IGFzeW5jIChcbiAgICBibG9jazogc3RyaW5nLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICk6IFByb21pc2U8eyBkZWxldGVkRGF0YTogRXh0cmFjdGVkRGF0YVtdOyB1cGRhdGVkRGF0YTogQm94SW5mb1tdIH0+ID0+IHtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgIGBEZWxldGluZyBib3hlcyBpbiBibG9jayAke2Jsb2NrfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICAgICk7XG4gICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IGF3YWl0IHRoaXMudXBkYXRlQmxvY2tFbnRpdGllcyhcbiAgICAgICAgcXVlcnlSdW5uZXIsXG4gICAgICAgIGV4dHJhY3RvcixcbiAgICAgICAgYmxvY2tcbiAgICAgICk7XG4gICAgICBjb25zdCBkZWxldGVkRGF0YSA9IGF3YWl0IHRoaXMuZGVsZXRlQmxvY2tFbnRpdGllcyhcbiAgICAgICAgcXVlcnlSdW5uZXIsXG4gICAgICAgIGV4dHJhY3RvcixcbiAgICAgICAgYmxvY2tcbiAgICAgICk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGVsZXRlZERhdGEsXG4gICAgICAgIHVwZGF0ZWREYXRhOiB1cGRhdGVkRGF0YS5tYXAoKGRhdGEpID0+IHBpY2soZGF0YSwgJ2JveElkJykpLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBkZWxldGluZyBkYXRhIGV4dHJhY3RlZCBmcm9tIGJsb2NrICR7YmxvY2t9YCxcbiAgICAgICAgZXJyb3JcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VyZ28vQWJzdHJhY3RFcmdvRXh0cmFjdG9yQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxFQUFFLEVBRUYsR0FBRyxHQUlKLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwRCxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBSW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsTUFBTSxPQUFnQiwyQkFBMkI7SUFJOUIsVUFBVSxDQUFhO0lBQy9CLE1BQU0sQ0FBaUI7SUFDYixVQUFVLENBQThCO0lBQ25ELElBQUksQ0FBZ0M7SUFFNUMsWUFDRSxVQUFzQixFQUN0QixJQUFtQyxFQUNuQyxNQUF1QjtRQUV2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWSxHQUFHLENBQ3ZCLElBQXFCLEVBQ3JCLEtBQWdCLEVBQ2hCLFNBQWlCLEVBQ21CLEVBQUU7UUFDdEMsTUFBTSxLQUFLLENBQ1QscUZBQXFGLENBQ3RGLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNPLG1CQUFt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YVNvdXJjZSxcbiAgSW4sXG4gIFJlcG9zaXRvcnksXG4gIE5vdCxcbiAgRW50aXR5VGFyZ2V0LFxuICBGaW5kT3B0aW9uc1doZXJlLFxuICBRdWVyeVJ1bm5lcixcbn0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBjaHVuaywgZGlmZmVyZW5jZSwgcGljayB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IEJsb2NrSW5mbyB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RCb3hEYXRhLCBCb3hJbmZvLCBTcGVuZEluZm8gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgREJfQ0hVTktfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkgfSBmcm9tICcuL0Fic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JBY3Rpb248XG4gIEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGEsXG4gIEV4dHJhY3RvckVudGl0eSBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eVxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YXNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8RXh0cmFjdG9yRW50aXR5PjtcbiAgcHJpdmF0ZSByZXBvOiBFbnRpdHlUYXJnZXQ8RXh0cmFjdG9yRW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIHJlcG86IEVudGl0eVRhcmdldDxFeHRyYWN0b3JFbnRpdHk+LFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgICB0aGlzLnJlcG9zaXRvcnkgPSB0aGlzLmRhdGFzb3VyY2UuZ2V0UmVwb3NpdG9yeShyZXBvKTtcbiAgICB0aGlzLnJlcG8gPSByZXBvO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyZWF0ZSB0aGUgZGF0YWJhc2UgZW50aXR5IGZyb20gZXh0cmFjdGVkIGRhdGEgYW5kIGJsb2NrIGluZm9ybWF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlRW50aXR5ID0gKFxuICAgIGRhdGE6IEV4dHJhY3RlZERhdGFbXSxcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICk6IEFycmF5PE9taXQ8RXh0cmFjdG9yRW50aXR5LCAnaWQnPj4gPT4ge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgJ1lvdSBtdXN0IGltcGxlbWVudCBgY3JlYXRlRW50aXR5YCBvciBvdmVycmlkZSBgaW5zZXJ0RW50aXRpZXNgIGFuZCBgdXBkYXRlRW50aXRpZXNgJ1xuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGNvbnZlcnQgdGhlIGRhdGFiYXNlIGVudGl0eSBiYWNrIHRvIHJhdyBkYXRhXG4gICAqL1xuICBwcm90ZWN0ZWQgY29udmVydEVudGl0eVRvRGF0YSA9IChcbiAgICBlbnRpdGllczogRXh0cmFjdG9yRW50aXR5W11cbiAgKTogRXh0cmFjdGVkRGF0YVtdID0+IHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgICdZb3UgbXVzdCBpbXBsZW1lbnQgYGNvbnZlcnRFbnRpdHlUb0RhdGFgIG9yIG92ZXJyaWRlIGBkZWxldGVCbG9ja0VudGl0aWVzYCdcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBpbnNlcnQgZW50aXRpZXMgZXh0cmFjdGVkIGZyb20gYSBibG9jayB0byBkYXRhYmFzZVxuICAgKiBAcGFyYW0gcXVlcnlSdW5uZXJcbiAgICogQHBhcmFtIGJveGVzVG9JbnNlcnRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHByb3RlY3RlZCBpbnNlcnRFbnRpdGllcyA9IGFzeW5jIChcbiAgICBxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIsXG4gICAgYm94ZXNUb0luc2VydDogQXJyYXk8RXh0cmFjdGVkRGF0YT4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCByZXBvc2l0b3J5ID0gcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KHRoaXMucmVwbyk7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS5pbnNlcnQoXG4gICAgICB0aGlzLmNyZWF0ZUVudGl0eShib3hlc1RvSW5zZXJ0LCBibG9jaywgZXh0cmFjdG9yKSBhcyBhbnlcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgZW50aXRpZXMgcmVsYXRlZCB0byBhIGJveFxuICAgKiBAcGFyYW0gcXVlcnlSdW5uZXJcbiAgICogQHBhcmFtIHVwZGF0ZUJveFxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUVudGl0eSA9IGFzeW5jIChcbiAgICBxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIsXG4gICAgdXBkYXRlQm94OiBFeHRyYWN0ZWREYXRhLFxuICAgIGJsb2NrOiBCbG9ja0luZm8sXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKSA9PiB7XG4gICAgY29uc3QgcmVwb3NpdG9yeSA9IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeSh0aGlzLnJlcG8pO1xuICAgIGNvbnN0IGJveCA9IHRoaXMuY3JlYXRlRW50aXR5KFt1cGRhdGVCb3hdLCBibG9jaywgZXh0cmFjdG9yKVswXTtcbiAgICBhd2FpdCByZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgIHtcbiAgICAgICAgYm94SWQ6IGJveC5ib3hJZCxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9IGFzIEZpbmRPcHRpb25zV2hlcmU8RXh0cmFjdG9yRW50aXR5PixcbiAgICAgIGJveCBhcyBhbnlcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgYWxsIGRhdGEgZXh0cmFjdGVkIGZyb20gYSBibG9ja1xuICAgKiBAcGFyYW0gcXVlcnlSdW5uZXJcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByb3RlY3RlZCBkZWxldGVCbG9ja0VudGl0aWVzID0gYXN5bmMgKFxuICAgIHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcixcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgICBibG9jazogc3RyaW5nXG4gICk6IFByb21pc2U8RXh0cmFjdGVkRGF0YVtdPiA9PiB7XG4gICAgY29uc3QgcmVwb3NpdG9yeSA9IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeSh0aGlzLnJlcG8pO1xuICAgIGNvbnN0IGRlbGV0ZWREYXRhID0gYXdhaXQgcmVwb3NpdG9yeS5maW5kKHtcbiAgICAgIHdoZXJlOiB7IGV4dHJhY3RvcjogZXh0cmFjdG9yLCBibG9jazogYmxvY2sgfSBhcyBhbnksXG4gICAgfSk7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS5kZWxldGUoe1xuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICBibG9jazogYmxvY2ssXG4gICAgfSBhcyBhbnkpO1xuICAgIHJldHVybiB0aGlzLmNvbnZlcnRFbnRpdHlUb0RhdGEoZGVsZXRlZERhdGEpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgYWxsIGRhdGEgZXh0cmFjdGVkIGZyb20gYSBibG9ja1xuICAgKiBAcGFyYW0gcXVlcnlSdW5uZXJcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVCbG9ja0VudGl0aWVzID0gYXN5bmMgKFxuICAgIHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcixcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgICBibG9jazogc3RyaW5nXG4gICk6IFByb21pc2U8RXh0cmFjdG9yRW50aXR5W10+ID0+IHtcbiAgICBjb25zdCByZXBvc2l0b3J5ID0gcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KHRoaXMucmVwbyk7XG4gICAgY29uc3QgdXBkYXRlZERhdGEgPSBhd2FpdCByZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLFxuICAgICAgICBibG9jazogTm90KGJsb2NrKSxcbiAgICAgIH0gYXMgYW55LFxuICAgIH0pO1xuICAgIGF3YWl0IHJlcG9zaXRvcnkudXBkYXRlKFxuICAgICAge1xuICAgICAgICBzcGVuZEJsb2NrOiBibG9jayxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9IGFzIEZpbmRPcHRpb25zV2hlcmU8RXh0cmFjdG9yRW50aXR5PixcbiAgICAgIHsgc3BlbmRCbG9jazogbnVsbCwgc3BlbmRIZWlnaHQ6IDAgfSBhcyBhbnlcbiAgICApO1xuICAgIHJldHVybiB1cGRhdGVkRGF0YTtcbiAgfTtcblxuICAvKipcbiAgICogaW5zZXJ0IGFsbCBleHRyYWN0ZWQgYm94IGRhdGEgaW4gYW4gYXRvbWljIHRyYW5zYWN0aW9uXG4gICAqIHVwZGF0ZSB0aGUgZGF0YSBpZiBhIGJveCB3aXRoIHRoZSBzYW1lIGlkIGlzIGFscmVhZHkgc3RvcmVkIGluIGRiXG4gICAqIEBwYXJhbSBib3hlc1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcmV0dXJuIGluc2VydGVkIGl0ZW1zIGFuZCB1cGRhdGVkIGJveCBpZHNcbiAgICogcmV0dXJucyB1bmRlZmluZWQgaW4gY2FzZSBvZiBhbnkgcHJvYmxlbVxuICAgKi9cbiAgc3RvcmVCb3hlcyA9IGFzeW5jIChcbiAgICBib3hlczogQXJyYXk8RXh0cmFjdGVkRGF0YT4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBsZXQgYm94ZXNUb0luc2VydDogRXh0cmFjdGVkRGF0YVtdID0gW10sXG4gICAgICBib3hlc1RvVXBkYXRlOiBFeHRyYWN0ZWREYXRhW10gPSBbXTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkodGhpcy5yZXBvKTtcbiAgICAgIGNvbnN0IGRiQm94SWRzID0gKFxuICAgICAgICBhd2FpdCByZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICAgICAgYm94SWQ6IEluKGJveGVzLm1hcCgoaXRlbSkgPT4gaXRlbS5ib3hJZCkpLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9IGFzIEZpbmRPcHRpb25zV2hlcmU8RXh0cmFjdG9yRW50aXR5PilcbiAgICAgICkubWFwKChib3gpID0+IGJveC5ib3hJZCk7XG4gICAgICBpZiAoZGJCb3hJZHMubGVuZ3RoID4gMClcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEZvdW5kIHN0b3JlZCBib3hlcyB3aXRoIHNhbWUgYm94SWRgLCBkYkJveElkcyk7XG5cbiAgICAgIGJveGVzVG9VcGRhdGUgPSBib3hlcy5maWx0ZXIoKGJveCkgPT4gZGJCb3hJZHMuaW5jbHVkZXMoYm94LmJveElkKSk7XG4gICAgICBib3hlc1RvSW5zZXJ0ID0gZGlmZmVyZW5jZShib3hlcywgYm94ZXNUb1VwZGF0ZSk7XG5cbiAgICAgIGlmIChib3hlc1RvSW5zZXJ0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEluc2VydGluZyBib3hlc2ApO1xuICAgICAgICBhd2FpdCB0aGlzLmluc2VydEVudGl0aWVzKHF1ZXJ5UnVubmVyLCBib3hlc1RvSW5zZXJ0LCBibG9jaywgZXh0cmFjdG9yKTtcbiAgICAgIH1cbiAgICAgIGlmIChib3hlc1RvVXBkYXRlLmxlbmd0aCA+IDApXG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFVwZGF0aW5nIGJveGVzIHdpdGggZm9sbG93aW5nIElkcyBpbiB0aGUgZGF0YWJhc2U6IFske2JveGVzVG9VcGRhdGVcbiAgICAgICAgICAgIC5tYXAoKGNvbCkgPT4gY29sLmJveElkKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9XWBcbiAgICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgYm94IG9mIGJveGVzVG9VcGRhdGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFVwZGF0aW5nIGJveGVzIGluIGRhdGFiYXNlIFske0pzb25CaWdJbnQuc3RyaW5naWZ5KGJveCl9XWBcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVFbnRpdHkocXVlcnlSdW5uZXIsIGJveCwgYmxvY2ssIGV4dHJhY3Rvcik7XG4gICAgICB9XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzdG9yZSBib3hlcyBhY3Rpb246ICR7ZX1gKTtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIHN0b3JlZCBib3hlc1xuICAgKiBjaHVuayBzcGVuZEluZm9zIHRvIHByZXZlbnQgbGFyZ2UgZGF0YWJhc2UgcXVlcmllc1xuICAgKiBOb3RlOiBJdCBvbmx5IHVwZGF0ZXMgdGhlIHNwZW5kSGVpZ2h0IGFuZCBzcGVuZEJsb2NrIGZpZWxkcy4gSWYgdXBkYXRpbmdcbiAgICogYW55dGhpbmcgZWxzZSBpcyByZXF1aXJlZCwgb3ZlcnJpZGUgdGhpcyBpbXBsZW1lbnRhdGlvbiB0byBpbmNsdWRlIHRoZVxuICAgKiBhZGRpdGlvbmFsIGZpZWxkcy5cbiAgICogQHBhcmFtIHNwZW5kSW5mb3NcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICogQHJldHVybnMgc3BlbnQgYm94IGlkc1xuICAgKi9cbiAgc3BlbmRCb3hlcyA9IGFzeW5jIChcbiAgICBzcGVuZEluZm9zOiBBcnJheTxTcGVuZEluZm8+LFxuICAgIGJsb2NrOiBCbG9ja0luZm8sXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxCb3hJbmZvW10+ID0+IHtcbiAgICBjb25zdCBzcGVudERhdGEgPSBbXTtcbiAgICBjb25zdCBzcGVuZEluZm9DaHVua3MgPSBjaHVuayhzcGVuZEluZm9zLCBEQl9DSFVOS19TSVpFKTtcbiAgICBmb3IgKGNvbnN0IHNwZW5kSW5mb0NodW5rIG9mIHNwZW5kSW5mb0NodW5rcykge1xuICAgICAgY29uc3QgYm94SWRzID0gc3BlbmRJbmZvQ2h1bmsubWFwKChpbmZvKSA9PiBpbmZvLmJveElkKTtcbiAgICAgIGNvbnN0IHVwZGF0ZVJlc3VsdCA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgIHtcbiAgICAgICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgfSBhcyBGaW5kT3B0aW9uc1doZXJlPEV4dHJhY3RvckVudGl0eT4sXG4gICAgICAgIHsgc3BlbmRCbG9jazogYmxvY2suaGFzaCwgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCB9IGFzIGFueVxuICAgICAgKTtcblxuICAgICAgaWYgKHVwZGF0ZVJlc3VsdC5hZmZlY3RlZCAmJiB1cGRhdGVSZXN1bHQuYWZmZWN0ZWQgPiAwKSB7XG4gICAgICAgIGNvbnN0IHNwZW50Um93cyA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgICAgIGJveElkOiBJbihib3hJZHMpLFxuICAgICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgIH0gYXMgRmluZE9wdGlvbnNXaGVyZTxFeHRyYWN0b3JFbnRpdHk+KTtcbiAgICAgICAgc3BlbnREYXRhLnB1c2goLi4uc3BlbnRSb3dzKTtcbiAgICAgICAgZm9yIChjb25zdCByb3cgb2Ygc3BlbnRSb3dzKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBgU3BlbnQgYm94IHdpdGggYm94SWQgWyR7cm93LmJveElkfV0gYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzcGVudERhdGEubWFwKChkYXRhKSA9PiBwaWNrKGRhdGEsICdib3hJZCcpKTtcbiAgfTtcblxuICAvKipcbiAgICogZGVsZXRlIGV4dHJhY3RlZCBkYXRhIGZyb20gYSBzcGVjaWZpYyBibG9ja1xuICAgKiBpZiBhIGJveCBpcyBzcGVuZCBpbiB0aGlzIGJsb2NrIG1hcmsgaXQgYXMgdW5zcGVudFxuICAgKiBpZiBhIGJveCBpcyBjcmVhdGVkIGluIHRoaXMgYmxvY2sgcmVtb3ZlIGl0IGZyb20gZGF0YWJhc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICogQHJldHVybiBkZWxldGVkIGl0ZW1zIGFuZCB1cGRhdGVkIGJveCBpZHNcbiAgICovXG4gIGRlbGV0ZUJsb2NrQm94ZXMgPSBhc3luYyAoXG4gICAgYmxvY2s6IHN0cmluZyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPHsgZGVsZXRlZERhdGE6IEV4dHJhY3RlZERhdGFbXTsgdXBkYXRlZERhdGE6IEJveEluZm9bXSB9PiA9PiB7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFzb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICBgRGVsZXRpbmcgYm94ZXMgaW4gYmxvY2sgJHtibG9ja30gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgICApO1xuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBhd2FpdCB0aGlzLnVwZGF0ZUJsb2NrRW50aXRpZXMoXG4gICAgICAgIHF1ZXJ5UnVubmVyLFxuICAgICAgICBleHRyYWN0b3IsXG4gICAgICAgIGJsb2NrXG4gICAgICApO1xuICAgICAgY29uc3QgZGVsZXRlZERhdGEgPSBhd2FpdCB0aGlzLmRlbGV0ZUJsb2NrRW50aXRpZXMoXG4gICAgICAgIHF1ZXJ5UnVubmVyLFxuICAgICAgICBleHRyYWN0b3IsXG4gICAgICAgIGJsb2NrXG4gICAgICApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRlbGV0ZWREYXRhLFxuICAgICAgICB1cGRhdGVkRGF0YTogdXBkYXRlZERhdGEubWFwKChkYXRhKSA9PiBwaWNrKGRhdGEsICdib3hJZCcpKSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVsZXRpbmcgZGF0YSBleHRyYWN0ZWQgZnJvbSBibG9jayAke2Jsb2NrfWAsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
- import { AbstractBoxData, ErgoNetworkType } from '../interfaces';
2
+ import { BlockInfo, ErgoNetworkType } from '@rosen-bridge/scanner-interfaces';
3
+ import { AbstractBoxData } from '../interfaces';
3
4
  import { AbstractErgoExtractor } from '../AbstractErgoExtractor';
4
5
  import { AbstractInitializableErgoExtractorAction } from './AbstractInitializableAction';
5
- import { BlockInfo } from '../../interfaces';
6
6
  import { AbstractErgoExtractorEntity } from '../AbstractErgoExtractorEntity';
7
7
  export declare abstract class AbstractInitializableErgoExtractor<ExtractedData extends AbstractBoxData, ExtractorEntity extends AbstractErgoExtractorEntity> extends AbstractErgoExtractor<ExtractedData, ExtractorEntity> {
8
8
  protected initialize: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractInitializable.d.ts","sourceRoot":"","sources":["../../../lib/ergo/initializable/AbstractInitializable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,wCAAwC,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,8BAAsB,kCAAkC,CACtD,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B,CACnD,SAAQ,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC;IAC7D,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wCAAwC,CAClE,aAAa,EACb,eAAe,CAChB,CAAC;IAEF,OAAO,CAAC,OAAO,CAAgC;gBAG7C,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,EACvB,UAAU,UAAO;IAkBnB;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CA6C5B;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CAKrB;IAEF;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAuCxB;IAEF;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAoB7B;IAEF;;;;OAIG;IACH,OAAO,CAAC,eAAe,CA+BrB;IAEF;;;;;OAKG;IACH,eAAe,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D"}
1
+ {"version":3,"file":"AbstractInitializable.d.ts","sourceRoot":"","sources":["../../../lib/ergo/initializable/AbstractInitializable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,wCAAwC,EAAE,MAAM,+BAA+B,CAAC;AAGzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,8BAAsB,kCAAkC,CACtD,aAAa,SAAS,eAAe,EACrC,eAAe,SAAS,2BAA2B,CACnD,SAAQ,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC;IAC7D,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wCAAwC,CAClE,aAAa,EACb,eAAe,CAChB,CAAC;IAEF,OAAO,CAAC,OAAO,CAAgC;gBAG7C,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,EACvB,UAAU,UAAO;IAkBnB;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CA6C5B;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CAKrB;IAEF;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAuCxB;IAEF;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAoB7B;IAEF;;;;OAIG;IACH,OAAO,CAAC,eAAe,CA+BrB;IAEF;;;;;OAKG;IACH,eAAe,EAAE,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D"}
@@ -1,5 +1,5 @@
1
1
  import { groupBy, sortBy } from 'lodash-es';
2
- import { ErgoNetworkType, } from '../interfaces';
2
+ import { ErgoNetworkType } from '@rosen-bridge/scanner-interfaces';
3
3
  import { API_LIMIT, RETRIAL_COUNT } from '../../constants';
4
4
  import { AbstractErgoExtractor } from '../AbstractErgoExtractor';
5
5
  import { ExplorerNetwork } from '../network/ExplorerNetwork';
@@ -160,4 +160,4 @@ export class AbstractInitializableErgoExtractor extends AbstractErgoExtractor {
160
160
  */
161
161
  initializeBoxes;
162
162
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RJbml0aWFsaXphYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2VyZ28vaW5pdGlhbGl6YWJsZS9BYnN0cmFjdEluaXRpYWxpemFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFNUMsT0FBTyxFQUVMLGVBQWUsR0FFaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3JELE1BQU0sT0FBZ0Isa0NBR3BCLFNBQVEscUJBQXFEO0lBQ25ELFVBQVUsQ0FBVTtJQUN0QixPQUFPLENBQVM7SUFNaEIsT0FBTyxDQUFnQztJQUUvQyxZQUNFLElBQXFCLEVBQ3JCLEdBQVcsRUFDWCxPQUFlLEVBQ2YsTUFBdUIsRUFDdkIsVUFBVSxHQUFHLElBQUk7UUFFakIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxJQUFJLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLFlBQXVCLEVBQUUsRUFBRTtnQkFDakQsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxD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TSxDQUFDLElBQUksQ0FDZCw4QkFBOEIsSUFBSSxDQUFDLEtBQUssRUFBRSxvQkFBb0IsS0FBSyxFQUFFLENBQ3RFLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCw2Q0FBNkMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQzVELENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUE2QztDQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgZ3JvdXBCeSwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RCb3hEYXRhLFxuICBFcmdvTmV0d29ya1R5cGUsXG4gIEV4dGVuZGVkVHJhbnNhY3Rpb24sXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQVBJX0xJTUlULCBSRVRSSUFMX0NPVU5UIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFic3RyYWN0RXJnb0V4dHJhY3RvciB9IGZyb20gJy4uL0Fic3RyYWN0RXJnb0V4dHJhY3Rvcic7XG5pbXBvcnQgeyBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yQWN0aW9uIH0gZnJvbSAnLi9BYnN0cmFjdEluaXRpYWxpemFibGVBY3Rpb24nO1xuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFeHBsb3Jlck5ldHdvcmsgfSBmcm9tICcuLi9uZXR3b3JrL0V4cGxvcmVyTmV0d29yayc7XG5pbXBvcnQgeyBOb2RlTmV0d29yayB9IGZyb20gJy4uL25ldHdvcmsvTm9kZU5ldHdvcmsnO1xuaW1wb3J0IHsgQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5IH0gZnJvbSAnLi4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3I8XG4gIEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGEsXG4gIEV4dHJhY3RvckVudGl0eSBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eVxuPiBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvcjxFeHRyYWN0ZWREYXRhLCBFeHRyYWN0b3JFbnRpdHk+IHtcbiAgcHJvdGVjdGVkIGluaXRpYWxpemU6IGJvb2xlYW47XG4gIHByaXZhdGUgYWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYWN0aW9uczogQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvckFjdGlvbjxcbiAgICBFeHRyYWN0ZWREYXRhLFxuICAgIEV4dHJhY3RvckVudGl0eVxuICA+O1xuXG4gIHByaXZhdGUgbmV0d29yazogRXhwbG9yZXJOZXR3b3JrIHwgTm9kZU5ldHdvcms7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHlwZTogRXJnb05ldHdvcmtUeXBlLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgICBpbml0aWFsaXplID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihsb2dnZXIpO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgdGhpcy5pbml0aWFsaXplID0gaW5pdGlhbGl6ZTtcbiAgICBpZiAodHlwZSA9PSBFcmdvTmV0d29ya1R5cGUuRXhwbG9yZXIpIHtcbiAgICAgIHRoaXMubmV0d29yayA9IG5ldyBFeHBsb3Jlck5ldHdvcmsodXJsKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUJveGVzID0gKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVXaXRoRXhwbG9yZXIoaW5pdGlhbEJsb2NrKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09IEVyZ29OZXR3b3JrVHlwZS5Ob2RlKSB7XG4gICAgICB0aGlzLm5ldHdvcmsgPSBuZXcgTm9kZU5ldHdvcmsodXJsKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUJveGVzID0gKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVXaXRoTm9kZShpbml0aWFsQmxvY2spO1xuICAgICAgfTtcbiAgICB9IGVsc2UgdGhyb3cgbmV3IEVycm9yKGBOZXR3b3JrIHR5cGUgJHt0eXBlfSBpcyBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBleHRyYWN0b3IgdXNpbmcgRXhwbG9yZXIgbmV0d29ya1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVXaXRoRXhwbG9yZXIgPSBhc3luYyAoaW5pdGlhbEJsb2NrOiBCbG9ja0luZm8pID0+IHtcbiAgICBjb25zdCBleHBsb3Jlck5ldHdvcmsgPSB0aGlzLm5ldHdvcmsgYXMgRXhwbG9yZXJOZXR3b3JrO1xuICAgIGxldCBmcm9tSGVpZ2h0ID0gMCxcbiAgICAgIHRvSGVpZ2h0ID0gaW5pdGlhbEJsb2NrLmhlaWdodDtcbiAgICBhd2FpdCB0aGlzLmluaXRXaXRoUmV0cmlhbChhc3luYyAoKSA9PiB7XG4gICAgICB3aGlsZSAoZnJvbUhlaWdodCA8IHRvSGVpZ2h0KSB7XG4gICAgICAgIGxldCB0eHM6IEFycmF5PEV4dGVuZGVkVHJhbnNhY3Rpb24+O1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgdHhzID0gYXdhaXQgZXhwbG9yZXJOZXR3b3JrLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5hZGRyZXNzLFxuICAgICAgICAgICAgZnJvbUhlaWdodCxcbiAgICAgICAgICAgIHRvSGVpZ2h0XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGb3VuZCAke3R4cy5sZW5ndGh9IHRyYW5zYWN0aW9ucyBmb3IgdGhlIGFkZHJlc3MgZnJvbSBoZWlnaHQgJHtmcm9tSGVpZ2h0fSB0byBoZWlnaHQgJHt0b0hlaWdodH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodHhzLmxlbmd0aCA8IEFQSV9MSU1JVCB8fCBmcm9tSGVpZ2h0ID09PSB0b0hlaWdodCkge1xuICAgICAgICAgICAgYnJlYWs7IC8vIEV4aXQgbG9vcCBpZiB3ZSBoYXZlIGZld2VyIHRyYW5zYWN0aW9ucyB0aGFuIHRoZSBsaW1pdCBvciBpZiB0aGUgcmFuZ2UgaXMgcmVkdWNlZCB0byBhIHNpbmdsZSBoZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgICAgdG9IZWlnaHQgPSBNYXRoLmZsb29yKCh0b0hlaWdodCAtIGZyb21IZWlnaHQpIC8gMikgKyBmcm9tSGVpZ2h0O1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYExpbWl0aW5nIHRoZSBxdWVyeSBoZWlnaHQgcmFuZ2UgdG8gWyR7ZnJvbUhlaWdodH0sICR7dG9IZWlnaHR9XWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eHMubGVuZ3RoIDwgQVBJX0xJTUlUKSB7XG4gICAgICAgICAgaWYgKHR4cy5sZW5ndGggPiAwKSBhd2FpdCB0aGlzLnByb2Nlc3NUcmFuc2FjdGlvbkJhdGNoKHR4cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBgQmxvY2sgYXQgaGVpZ2h0ICR7ZnJvbUhlaWdodH0gaGFzIG1vcmUgdGhhbiAob3IgZXF1YWwpICR7QVBJX0xJTUlUfSByZWxldmFudCB0eHMsIHByb2Nlc3NpbmcgYWxsIHR4cyBpbiB0aGUgYmxvY2tgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBibG9ja0lkID0gYXdhaXQgZXhwbG9yZXJOZXR3b3JrLmdldEJsb2NrSWRBdEhlaWdodChmcm9tSGVpZ2h0KTtcbiAgICAgICAgICBjb25zdCBibG9ja1R4cyA9IGF3YWl0IGV4cGxvcmVyTmV0d29yay5nZXRCbG9ja1R4cyhibG9ja0lkKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGb3VuZCAke2Jsb2NrVHhzLmxlbmd0aH0gdHJhbnNhY3Rpb25zIGF0IGhlaWdodCAke2Zyb21IZWlnaHR9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKGJsb2NrVHhzLCB7XG4gICAgICAgICAgICBoYXNoOiBibG9ja0lkLFxuICAgICAgICAgICAgaGVpZ2h0OiBmcm9tSGVpZ2h0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZyb21IZWlnaHQgPSB0b0hlaWdodCArIDE7XG4gICAgICAgIHRvSGVpZ2h0ID0gaW5pdGlhbEJsb2NrLmhlaWdodDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IHRoZSB0b3RhbCB0eCBjb3VudCBmcm9tIE5vZGUgbmV0d29ya1xuICAgKiBAcmV0dXJucyB0b3RhbCB0eCBjb3VudCBvZiB0aGUgYWRkcmVzc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRUb3RhbFR4Q291bnQgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoXG4gICAgICB0aGlzLm5ldHdvcmsgYXMgTm9kZU5ldHdvcmtcbiAgICApLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoT2Zmc2V0TGltaXQodGhpcy5hZGRyZXNzLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzcG9uc2UudG90YWw7XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgZXh0cmFjdG9yIHVzaW5nIE5vZGUgbmV0d29ya1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVXaXRoTm9kZSA9IGFzeW5jIChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4ge1xuICAgIGNvbnN0IHR4Q291bnRCZWZvcmVJbml0ID0gYXdhaXQgdGhpcy5nZXRUb3RhbFR4Q291bnQoKTtcbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgIHRvdGFsID0gMSxcbiAgICAgIHJvdW5kID0gMTtcbiAgICBhd2FpdCB0aGlzLmluaXRXaXRoUmV0cmlhbChhc3luYyAoKSA9PiB7XG4gICAgICAvLyBSZXBlYXQgdGhlIHdob2xlIHByb2Nlc3MgdHdpY2UgdG8gY292ZXIgYWxsIHNwZW50IGJveGVzXG4gICAgICAvLyBBZnRlciByb3VuZCAxIGFsbCBib3hlcyBoYXZlIGJlZW4gc2F2ZWQgYW5kIHByb2Nlc3NlZCBvbmNlXG4gICAgICAvLyBBZnRlciByb3VuZCAyIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIGFsbCBzdG9yZWQgYm94ZXMgYXJlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICB3aGlsZSAocm91bmQgPD0gMikge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgU3RhcnRpbmcgcm91bmQgJHtyb3VuZH0gb2YgaW5pdGlhbGl6YXRpb25gKTtcbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IHRvdGFsKSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmsgYXMgTm9kZU5ldHdvcmtcbiAgICAgICAgICApLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoT2Zmc2V0TGltaXQoXG4gICAgICAgICAgICB0aGlzLmFkZHJlc3MsXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBBUElfTElNSVRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRvdGFsID0gcmVzcG9uc2UudG90YWw7XG4gICAgICAgICAgY29uc3QgdHhzID0gcmVzcG9uc2UuaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKHR4KSA9PiB0eC5pbmNsdXNpb25IZWlnaHQgPD0gaW5pdGlhbEJsb2NrLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBgRm91bmQgJHt0eHMubGVuZ3RofSB0cmFuc2FjdGlvbnMgYmVsb3cgdGhlIGluaXRpYWwgaGVpZ2h0IHdpdGggb2Zmc2V0ICR7b2Zmc2V0fSBhbmQgdG90YWwgbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyAke3RvdGFsfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICh0eHMubGVuZ3RoID4gMCkgYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25CYXRjaCh0eHMpO1xuICAgICAgICAgIG9mZnNldCArPSBBUElfTElNSVQ7XG4gICAgICAgIH1cbiAgICAgICAgcm91bmQrKztcbiAgICAgICAgb2Zmc2V0ID0gMDsgLy8gbmV4dCByb3VuZCBpbml0aWFsIG9mZnNldFxuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHR4Q291bnRBZnRlckluaXQgPSBhd2FpdCB0aGlzLmdldFRvdGFsVHhDb3VudCgpO1xuICAgIGlmICh0eENvdW50QWZ0ZXJJbml0ICE9IHR4Q291bnRCZWZvcmVJbml0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RvdGFsIHRyYW5zYWN0aW9uIGNvdW50IGNoYW5nZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uIHBoYXNlLCB0aGUgc3RvcmVkIGRhdGEgaXMgbm90IHZhbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYSBiYXRjaCBvZiB0cmFuc2FjdGlvbnNcbiAgICogZ3JvdXAgdHhzIGludG8gYmxvY2tzIGFuZCBwcm9jZXNzIHRoZW0gdXNpbmcgYHByb2Nlc3NUcmFuc2FjdGlvbnNgXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9uQmF0Y2ggPSBhc3luYyAodHhzOiBBcnJheTxFeHRlbmRlZFRyYW5zYWN0aW9uPikgPT4ge1xuICAgIHR4cyA9IHNvcnRCeSh0eHMsICh0eCkgPT4gdHguaW5jbHVzaW9uSGVpZ2h0KTtcbiAgICBjb25zdCBncm91cGVkVHhzID0gZ3JvdXBCeSh0eHMsICh0eCkgPT4gdHguYmxvY2tJZCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgVGhlIHRyYW5zYWN0aW9uIGJhdGNoIGdyb3VwZWQgdG8gJHtcbiAgICAgICAgT2JqZWN0LmtleXMoZ3JvdXBlZFR4cykubGVuZ3RoXG4gICAgICB9IGJsb2Nrc2BcbiAgICApO1xuICAgIGZvciAoY29uc3QgYmxvY2tJZCBpbiBncm91cGVkVHhzKSB7XG4gICAgICBjb25zdCBibG9ja1R4cyA9IGdyb3VwZWRUeHNbYmxvY2tJZF07XG4gICAgICBjb25zdCBibG9jayA9IHsgaGFzaDogYmxvY2tJZCwgaGVpZ2h0OiBibG9ja1R4c1swXS5pbmNsdXNpb25IZWlnaHQgfTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgUHJvY2Vzc2luZyB0cmFuc2FjdGlvbnMgYXQgaGVpZ2h0ICR7YmxvY2tUeHNbMF0uaW5jbHVzaW9uSGVpZ2h0fWBcbiAgICAgICk7XG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKGJsb2NrVHhzLCBibG9jayk7XG4gICAgICBpZiAoIXN1Y2Nlc3MpXG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIGBQcm9jZXNzaW5nIHRyYW5zYWN0aW9ucyBmYWlsZWQgYXQgaGVpZ2h0ICR7YmxvY2tUeHNbMF0uaW5jbHVzaW9uSGVpZ2h0fWBcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGV4dHJhY3RvciB3aXRoIHJldHJpYWwgb24gYW55IHVuZXhwZWN0ZWQgcHJvYmxlbVxuICAgKiBpdHMgdGhlIGNvbW1vbiBwYXJ0IG9mIGluaXRpYWxpemUgd2l0aCBOb2RlIGFuZCBFeHBsb3JlciBuZXR3b3JrXG4gICAqIEBwYXJhbSBqb2JcbiAgICovXG4gIHByaXZhdGUgaW5pdFdpdGhSZXRyaWFsID0gYXN5bmMgKGpvYjogKCkgPT4gUHJvbWlzZTx2b2lkPikgPT4ge1xuICAgIGxldCB0cmlhbCA9IDE7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBJbml0aWFsaXppbmcgJHt0aGlzLmdldElkKCl9IHN0YXJ0ZWQsIHJlbW92aW5nIGFsbCBleGlzdGluZyBkYXRhYFxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5yZW1vdmVBbGxEYXRhKHRoaXMuZ2V0SWQoKSk7XG4gICAgICB3aGlsZSAodHJpYWwgPD0gUkVUUklBTF9DT1VOVCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGpvYigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBJbml0aWFsaXphdGlvbiBmb3IgJHt0aGlzLmdldElkKCl9IGZhaWxlZCB3aXRoIGVycm9yIDoke2V9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRyaWFsID09IFJFVFJJQUxfQ09VTlQpXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgYEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuZ2V0SWQoKX0gZmFpbGVkIGFmdGVyICR7UkVUUklBTF9DT1VOVH0gcmV0cmlhbGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgdHJpYWwgKz0gMTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFRyeWluZyBhZ2FpbiB0byBpbml0aWFsaXplICR7dGhpcy5nZXRJZCgpfSB3aXRoIHRyaWFsIHN0ZXAgJHt0cmlhbH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgYEluaXRpYWxpemF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgZm9yICR7dGhpcy5nZXRJZCgpfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oYEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuZ2V0SWQoKX0gaXMgdHVybmVkIG9mZmApO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogaW5pdGlhbGl6ZSBleHRyYWN0b3IgZGF0YWJhc2Ugd2l0aCBkYXRhIGNyZWF0ZWQgYmVsb3cgdGhlIGluaXRpYWwgaGVpZ2h0XG4gICAqIGlnbm9yZSBpbml0aWFsaXphdGlvbiBpZiB0aGlzIGZlYXR1cmUgaXMgb2ZmXG4gICAqIHRyeSB0byBnZXQgZGF0YSBtdWx0aXBsZSB0aW1lcyB0byBwYXNzIGFjY2lkZW50YWwgbmV0d29yayBwcm9ibGVtc1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXM6IChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RJbml0aWFsaXphYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2VyZ28vaW5pdGlhbGl6YWJsZS9BYnN0cmFjdEluaXRpYWxpemFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxNQUFNLE9BQWdCLGtDQUdwQixTQUFRLHFCQUFxRDtJQUNuRCxVQUFVLENBQVU7SUFDdEIsT0FBTyxDQUFTO0lBTWhCLE9BQU8sQ0FBZ0M7SUFFL0MsWUFDRSxJQUFxQixFQUNyQixHQUFXLEVBQ1gsT0FBZSxFQUNmLE1BQXVCLEVBQ3ZCLFVBQVUsR0FBRyxJQUFJO1FBRWpCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksSUFBSSxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxZQUF1QixFQUFFLEVBQUU7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25ELENBQUMs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QU0sQ0FBQyxJQUFJLENBQ2QsOEJBQThCLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLEtBQUssRUFBRSxDQUN0RSxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsNkNBQTZDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUM1RCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBNkM7Q0FDN0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IGdyb3VwQnksIHNvcnRCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCbG9ja0luZm8sIEVyZ29OZXR3b3JrVHlwZSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RCb3hEYXRhLCBFeHRlbmRlZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBUElfTElNSVQsIFJFVFJJQUxfQ09VTlQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RFcmdvRXh0cmFjdG9yIH0gZnJvbSAnLi4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yJztcbmltcG9ydCB7IEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3JBY3Rpb24gfSBmcm9tICcuL0Fic3RyYWN0SW5pdGlhbGl6YWJsZUFjdGlvbic7XG5pbXBvcnQgeyBFeHBsb3Jlck5ldHdvcmsgfSBmcm9tICcuLi9uZXR3b3JrL0V4cGxvcmVyTmV0d29yayc7XG5pbXBvcnQgeyBOb2RlTmV0d29yayB9IGZyb20gJy4uL25ldHdvcmsvTm9kZU5ldHdvcmsnO1xuaW1wb3J0IHsgQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5IH0gZnJvbSAnLi4vQWJzdHJhY3RFcmdvRXh0cmFjdG9yRW50aXR5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3I8XG4gIEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGEsXG4gIEV4dHJhY3RvckVudGl0eSBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvckVudGl0eVxuPiBleHRlbmRzIEFic3RyYWN0RXJnb0V4dHJhY3RvcjxFeHRyYWN0ZWREYXRhLCBFeHRyYWN0b3JFbnRpdHk+IHtcbiAgcHJvdGVjdGVkIGluaXRpYWxpemU6IGJvb2xlYW47XG4gIHByaXZhdGUgYWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYWN0aW9uczogQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvckFjdGlvbjxcbiAgICBFeHRyYWN0ZWREYXRhLFxuICAgIEV4dHJhY3RvckVudGl0eVxuICA+O1xuXG4gIHByaXZhdGUgbmV0d29yazogRXhwbG9yZXJOZXR3b3JrIHwgTm9kZU5ldHdvcms7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHlwZTogRXJnb05ldHdvcmtUeXBlLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgICBpbml0aWFsaXplID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihsb2dnZXIpO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgdGhpcy5pbml0aWFsaXplID0gaW5pdGlhbGl6ZTtcbiAgICBpZiAodHlwZSA9PSBFcmdvTmV0d29ya1R5cGUuRXhwbG9yZXIpIHtcbiAgICAgIHRoaXMubmV0d29yayA9IG5ldyBFeHBsb3Jlck5ldHdvcmsodXJsKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUJveGVzID0gKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVXaXRoRXhwbG9yZXIoaW5pdGlhbEJsb2NrKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09IEVyZ29OZXR3b3JrVHlwZS5Ob2RlKSB7XG4gICAgICB0aGlzLm5ldHdvcmsgPSBuZXcgTm9kZU5ldHdvcmsodXJsKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUJveGVzID0gKGluaXRpYWxCbG9jazogQmxvY2tJbmZvKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVXaXRoTm9kZShpbml0aWFsQmxvY2spO1xuICAgICAgfTtcbiAgICB9IGVsc2UgdGhyb3cgbmV3IEVycm9yKGBOZXR3b3JrIHR5cGUgJHt0eXBlfSBpcyBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBleHRyYWN0b3IgdXNpbmcgRXhwbG9yZXIgbmV0d29ya1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVXaXRoRXhwbG9yZXIgPSBhc3luYyAoaW5pdGlhbEJsb2NrOiBCbG9ja0luZm8pID0+IHtcbiAgICBjb25zdCBleHBsb3Jlck5ldHdvcmsgPSB0aGlzLm5ldHdvcmsgYXMgRXhwbG9yZXJOZXR3b3JrO1xuICAgIGxldCBmcm9tSGVpZ2h0ID0gMCxcbiAgICAgIHRvSGVpZ2h0ID0gaW5pdGlhbEJsb2NrLmhlaWdodDtcbiAgICBhd2FpdCB0aGlzLmluaXRXaXRoUmV0cmlhbChhc3luYyAoKSA9PiB7XG4gICAgICB3aGlsZSAoZnJvbUhlaWdodCA8IHRvSGVpZ2h0KSB7XG4gICAgICAgIGxldCB0eHM6IEFycmF5PEV4dGVuZGVkVHJhbnNhY3Rpb24+O1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgdHhzID0gYXdhaXQgZXhwbG9yZXJOZXR3b3JrLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5hZGRyZXNzLFxuICAgICAgICAgICAgZnJvbUhlaWdodCxcbiAgICAgICAgICAgIHRvSGVpZ2h0XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGb3VuZCAke3R4cy5sZW5ndGh9IHRyYW5zYWN0aW9ucyBmb3IgdGhlIGFkZHJlc3MgZnJvbSBoZWlnaHQgJHtmcm9tSGVpZ2h0fSB0byBoZWlnaHQgJHt0b0hlaWdodH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodHhzLmxlbmd0aCA8IEFQSV9MSU1JVCB8fCBmcm9tSGVpZ2h0ID09PSB0b0hlaWdodCkge1xuICAgICAgICAgICAgYnJlYWs7IC8vIEV4aXQgbG9vcCBpZiB3ZSBoYXZlIGZld2VyIHRyYW5zYWN0aW9ucyB0aGFuIHRoZSBsaW1pdCBvciBpZiB0aGUgcmFuZ2UgaXMgcmVkdWNlZCB0byBhIHNpbmdsZSBoZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgICAgdG9IZWlnaHQgPSBNYXRoLmZsb29yKCh0b0hlaWdodCAtIGZyb21IZWlnaHQpIC8gMikgKyBmcm9tSGVpZ2h0O1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYExpbWl0aW5nIHRoZSBxdWVyeSBoZWlnaHQgcmFuZ2UgdG8gWyR7ZnJvbUhlaWdodH0sICR7dG9IZWlnaHR9XWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eHMubGVuZ3RoIDwgQVBJX0xJTUlUKSB7XG4gICAgICAgICAgaWYgKHR4cy5sZW5ndGggPiAwKSBhd2FpdCB0aGlzLnByb2Nlc3NUcmFuc2FjdGlvbkJhdGNoKHR4cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBgQmxvY2sgYXQgaGVpZ2h0ICR7ZnJvbUhlaWdodH0gaGFzIG1vcmUgdGhhbiAob3IgZXF1YWwpICR7QVBJX0xJTUlUfSByZWxldmFudCB0eHMsIHByb2Nlc3NpbmcgYWxsIHR4cyBpbiB0aGUgYmxvY2tgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBibG9ja0lkID0gYXdhaXQgZXhwbG9yZXJOZXR3b3JrLmdldEJsb2NrSWRBdEhlaWdodChmcm9tSGVpZ2h0KTtcbiAgICAgICAgICBjb25zdCBibG9ja1R4cyA9IGF3YWl0IGV4cGxvcmVyTmV0d29yay5nZXRCbG9ja1R4cyhibG9ja0lkKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGb3VuZCAke2Jsb2NrVHhzLmxlbmd0aH0gdHJhbnNhY3Rpb25zIGF0IGhlaWdodCAke2Zyb21IZWlnaHR9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKGJsb2NrVHhzLCB7XG4gICAgICAgICAgICBoYXNoOiBibG9ja0lkLFxuICAgICAgICAgICAgaGVpZ2h0OiBmcm9tSGVpZ2h0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZyb21IZWlnaHQgPSB0b0hlaWdodCArIDE7XG4gICAgICAgIHRvSGVpZ2h0ID0gaW5pdGlhbEJsb2NrLmhlaWdodDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IHRoZSB0b3RhbCB0eCBjb3VudCBmcm9tIE5vZGUgbmV0d29ya1xuICAgKiBAcmV0dXJucyB0b3RhbCB0eCBjb3VudCBvZiB0aGUgYWRkcmVzc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRUb3RhbFR4Q291bnQgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoXG4gICAgICB0aGlzLm5ldHdvcmsgYXMgTm9kZU5ldHdvcmtcbiAgICApLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoT2Zmc2V0TGltaXQodGhpcy5hZGRyZXNzLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzcG9uc2UudG90YWw7XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgZXh0cmFjdG9yIHVzaW5nIE5vZGUgbmV0d29ya1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVXaXRoTm9kZSA9IGFzeW5jIChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4ge1xuICAgIGNvbnN0IHR4Q291bnRCZWZvcmVJbml0ID0gYXdhaXQgdGhpcy5nZXRUb3RhbFR4Q291bnQoKTtcbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgIHRvdGFsID0gMSxcbiAgICAgIHJvdW5kID0gMTtcbiAgICBhd2FpdCB0aGlzLmluaXRXaXRoUmV0cmlhbChhc3luYyAoKSA9PiB7XG4gICAgICAvLyBSZXBlYXQgdGhlIHdob2xlIHByb2Nlc3MgdHdpY2UgdG8gY292ZXIgYWxsIHNwZW50IGJveGVzXG4gICAgICAvLyBBZnRlciByb3VuZCAxIGFsbCBib3hlcyBoYXZlIGJlZW4gc2F2ZWQgYW5kIHByb2Nlc3NlZCBvbmNlXG4gICAgICAvLyBBZnRlciByb3VuZCAyIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIGFsbCBzdG9yZWQgYm94ZXMgYXJlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICB3aGlsZSAocm91bmQgPD0gMikge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgU3RhcnRpbmcgcm91bmQgJHtyb3VuZH0gb2YgaW5pdGlhbGl6YXRpb25gKTtcbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IHRvdGFsKSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmsgYXMgTm9kZU5ldHdvcmtcbiAgICAgICAgICApLmdldEFkZHJlc3NUcmFuc2FjdGlvbnNXaXRoT2Zmc2V0TGltaXQoXG4gICAgICAgICAgICB0aGlzLmFkZHJlc3MsXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBBUElfTElNSVRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRvdGFsID0gcmVzcG9uc2UudG90YWw7XG4gICAgICAgICAgY29uc3QgdHhzID0gcmVzcG9uc2UuaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKHR4KSA9PiB0eC5pbmNsdXNpb25IZWlnaHQgPD0gaW5pdGlhbEJsb2NrLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBgRm91bmQgJHt0eHMubGVuZ3RofSB0cmFuc2FjdGlvbnMgYmVsb3cgdGhlIGluaXRpYWwgaGVpZ2h0IHdpdGggb2Zmc2V0ICR7b2Zmc2V0fSBhbmQgdG90YWwgbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyAke3RvdGFsfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICh0eHMubGVuZ3RoID4gMCkgYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25CYXRjaCh0eHMpO1xuICAgICAgICAgIG9mZnNldCArPSBBUElfTElNSVQ7XG4gICAgICAgIH1cbiAgICAgICAgcm91bmQrKztcbiAgICAgICAgb2Zmc2V0ID0gMDsgLy8gbmV4dCByb3VuZCBpbml0aWFsIG9mZnNldFxuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHR4Q291bnRBZnRlckluaXQgPSBhd2FpdCB0aGlzLmdldFRvdGFsVHhDb3VudCgpO1xuICAgIGlmICh0eENvdW50QWZ0ZXJJbml0ICE9IHR4Q291bnRCZWZvcmVJbml0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RvdGFsIHRyYW5zYWN0aW9uIGNvdW50IGNoYW5nZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uIHBoYXNlLCB0aGUgc3RvcmVkIGRhdGEgaXMgbm90IHZhbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYSBiYXRjaCBvZiB0cmFuc2FjdGlvbnNcbiAgICogZ3JvdXAgdHhzIGludG8gYmxvY2tzIGFuZCBwcm9jZXNzIHRoZW0gdXNpbmcgYHByb2Nlc3NUcmFuc2FjdGlvbnNgXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9uQmF0Y2ggPSBhc3luYyAodHhzOiBBcnJheTxFeHRlbmRlZFRyYW5zYWN0aW9uPikgPT4ge1xuICAgIHR4cyA9IHNvcnRCeSh0eHMsICh0eCkgPT4gdHguaW5jbHVzaW9uSGVpZ2h0KTtcbiAgICBjb25zdCBncm91cGVkVHhzID0gZ3JvdXBCeSh0eHMsICh0eCkgPT4gdHguYmxvY2tJZCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgVGhlIHRyYW5zYWN0aW9uIGJhdGNoIGdyb3VwZWQgdG8gJHtcbiAgICAgICAgT2JqZWN0LmtleXMoZ3JvdXBlZFR4cykubGVuZ3RoXG4gICAgICB9IGJsb2Nrc2BcbiAgICApO1xuICAgIGZvciAoY29uc3QgYmxvY2tJZCBpbiBncm91cGVkVHhzKSB7XG4gICAgICBjb25zdCBibG9ja1R4cyA9IGdyb3VwZWRUeHNbYmxvY2tJZF07XG4gICAgICBjb25zdCBibG9jayA9IHsgaGFzaDogYmxvY2tJZCwgaGVpZ2h0OiBibG9ja1R4c1swXS5pbmNsdXNpb25IZWlnaHQgfTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgUHJvY2Vzc2luZyB0cmFuc2FjdGlvbnMgYXQgaGVpZ2h0ICR7YmxvY2tUeHNbMF0uaW5jbHVzaW9uSGVpZ2h0fWBcbiAgICAgICk7XG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKGJsb2NrVHhzLCBibG9jayk7XG4gICAgICBpZiAoIXN1Y2Nlc3MpXG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIGBQcm9jZXNzaW5nIHRyYW5zYWN0aW9ucyBmYWlsZWQgYXQgaGVpZ2h0ICR7YmxvY2tUeHNbMF0uaW5jbHVzaW9uSGVpZ2h0fWBcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGV4dHJhY3RvciB3aXRoIHJldHJpYWwgb24gYW55IHVuZXhwZWN0ZWQgcHJvYmxlbVxuICAgKiBpdHMgdGhlIGNvbW1vbiBwYXJ0IG9mIGluaXRpYWxpemUgd2l0aCBOb2RlIGFuZCBFeHBsb3JlciBuZXR3b3JrXG4gICAqIEBwYXJhbSBqb2JcbiAgICovXG4gIHByaXZhdGUgaW5pdFdpdGhSZXRyaWFsID0gYXN5bmMgKGpvYjogKCkgPT4gUHJvbWlzZTx2b2lkPikgPT4ge1xuICAgIGxldCB0cmlhbCA9IDE7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBJbml0aWFsaXppbmcgJHt0aGlzLmdldElkKCl9IHN0YXJ0ZWQsIHJlbW92aW5nIGFsbCBleGlzdGluZyBkYXRhYFxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5yZW1vdmVBbGxEYXRhKHRoaXMuZ2V0SWQoKSk7XG4gICAgICB3aGlsZSAodHJpYWwgPD0gUkVUUklBTF9DT1VOVCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGpvYigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBJbml0aWFsaXphdGlvbiBmb3IgJHt0aGlzLmdldElkKCl9IGZhaWxlZCB3aXRoIGVycm9yIDoke2V9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRyaWFsID09IFJFVFJJQUxfQ09VTlQpXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgYEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuZ2V0SWQoKX0gZmFpbGVkIGFmdGVyICR7UkVUUklBTF9DT1VOVH0gcmV0cmlhbGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgdHJpYWwgKz0gMTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFRyeWluZyBhZ2FpbiB0byBpbml0aWFsaXplICR7dGhpcy5nZXRJZCgpfSB3aXRoIHRyaWFsIHN0ZXAgJHt0cmlhbH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgYEluaXRpYWxpemF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgZm9yICR7dGhpcy5nZXRJZCgpfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oYEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuZ2V0SWQoKX0gaXMgdHVybmVkIG9mZmApO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogaW5pdGlhbGl6ZSBleHRyYWN0b3IgZGF0YWJhc2Ugd2l0aCBkYXRhIGNyZWF0ZWQgYmVsb3cgdGhlIGluaXRpYWwgaGVpZ2h0XG4gICAqIGlnbm9yZSBpbml0aWFsaXphdGlvbiBpZiB0aGlzIGZlYXR1cmUgaXMgb2ZmXG4gICAqIHRyeSB0byBnZXQgZGF0YSBtdWx0aXBsZSB0aW1lcyB0byBwYXNzIGFjY2lkZW50YWwgbmV0d29yayBwcm9ibGVtc1xuICAgKiBAcGFyYW0gaW5pdGlhbEJsb2NrXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXM6IChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
@@ -1,39 +1,4 @@
1
- export declare enum ErgoNetworkType {
2
- Explorer = "explorer",
3
- Node = "node"
4
- }
5
- export type InputExtension = {
6
- [key: string]: string;
7
- };
8
- export type InputBox = {
9
- boxId: string;
10
- extension?: InputExtension;
11
- };
12
- export type DataInput = {
13
- boxId: string;
14
- };
15
- export type Asset = {
16
- tokenId: string;
17
- amount: bigint;
18
- };
19
- export type AdditionalRegisters = {
20
- R4?: string;
21
- R5?: string;
22
- R6?: string;
23
- R7?: string;
24
- R8?: string;
25
- R9?: string;
26
- };
27
- export type OutputBox = {
28
- boxId: string;
29
- value: bigint;
30
- ergoTree: string;
31
- creationHeight: number;
32
- assets: Array<Asset>;
33
- additionalRegisters: AdditionalRegisters;
34
- transactionId: string;
35
- index: number;
36
- };
1
+ import { OutputBox, Transaction } from '@rosen-bridge/scanner-interfaces';
37
2
  export interface ErgoBox extends OutputBox {
38
3
  blockId: string;
39
4
  inclusionHeight: number;
@@ -42,13 +7,6 @@ export interface ErgoBox extends OutputBox {
42
7
  spentTransactionId?: string;
43
8
  spentIndex?: number;
44
9
  }
45
- export type Transaction = {
46
- id: string;
47
- inputs: Array<InputBox>;
48
- dataInputs: Array<DataInput>;
49
- outputs: Array<OutputBox>;
50
- size?: bigint;
51
- };
52
10
  export interface ExtendedTransaction extends Transaction {
53
11
  inclusionHeight: number;
54
12
  blockId: string;
@@ -57,7 +15,9 @@ export interface SpendInfo {
57
15
  boxId: string;
58
16
  txId: string;
59
17
  index: number;
60
- extras?: string[];
18
+ extras?: {
19
+ [key: string]: string;
20
+ };
61
21
  }
62
22
  export interface AbstractBoxData {
63
23
  boxId: string;
@@ -81,4 +41,7 @@ export type CallbackDataMap<ExtractedData extends AbstractBoxData> = {
81
41
  export type CallbackMap<ExtractedData extends AbstractBoxData> = {
82
42
  [K in CallbackType]: (data: CallbackDataMap<ExtractedData>[K]) => void;
83
43
  };
44
+ export type TxExtra = {
45
+ [key: string]: string;
46
+ };
84
47
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../lib/ergo/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../lib/ergo/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,WAAW,OAAQ,SAAQ,SAAS;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,CAAC,aAAa,SAAS,eAAe,IAAI;IACnE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACvC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACvC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,aAAa,SAAS,eAAe,IAAI;KAC9D,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;CACvE,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC"}
@@ -1,8 +1,3 @@
1
- export var ErgoNetworkType;
2
- (function (ErgoNetworkType) {
3
- ErgoNetworkType["Explorer"] = "explorer";
4
- ErgoNetworkType["Node"] = "node";
5
- })(ErgoNetworkType || (ErgoNetworkType = {}));
6
1
  export var CallbackType;
7
2
  (function (CallbackType) {
8
3
  CallbackType["Insert"] = "insert";
@@ -10,4 +5,4 @@ export var CallbackType;
10
5
  CallbackType["Spend"] = "spend";
11
6
  CallbackType["Delete"] = "delete";
12
7
  })(CallbackType || (CallbackType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lcmdvL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCO0FBMEVELE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDdEIsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7SUFDakIsK0JBQWUsQ0FBQTtJQUNmLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVyZ29OZXR3b3JrVHlwZSB7XG4gIEV4cGxvcmVyID0gJ2V4cGxvcmVyJyxcbiAgTm9kZSA9ICdub2RlJyxcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRFeHRlbnNpb24gPSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0Qm94ID0ge1xuICBib3hJZDogc3RyaW5nO1xuICBleHRlbnNpb24/OiBJbnB1dEV4dGVuc2lvbjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFJbnB1dCA9IHtcbiAgYm94SWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2V0ID0ge1xuICB0b2tlbklkOiBzdHJpbmc7XG4gIGFtb3VudDogYmlnaW50O1xufTtcblxuZXhwb3J0IHR5cGUgQWRkaXRpb25hbFJlZ2lzdGVycyA9IHtcbiAgUjQ/OiBzdHJpbmc7XG4gIFI1Pzogc3RyaW5nO1xuICBSNj86IHN0cmluZztcbiAgUjc/OiBzdHJpbmc7XG4gIFI4Pzogc3RyaW5nO1xuICBSOT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE91dHB1dEJveCA9IHtcbiAgYm94SWQ6IHN0cmluZztcbiAgdmFsdWU6IGJpZ2ludDtcbiAgZXJnb1RyZWU6IHN0cmluZztcbiAgY3JlYXRpb25IZWlnaHQ6IG51bWJlcjtcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XG4gIGFkZGl0aW9uYWxSZWdpc3RlcnM6IEFkZGl0aW9uYWxSZWdpc3RlcnM7XG4gIHRyYW5zYWN0aW9uSWQ6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJnb0JveCBleHRlbmRzIE91dHB1dEJveCB7XG4gIGJsb2NrSWQ6IHN0cmluZztcbiAgaW5jbHVzaW9uSGVpZ2h0OiBudW1iZXI7XG4gIHNwZW50QmxvY2tJZD86IHN0cmluZztcbiAgc3BlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIHNwZW50VHJhbnNhY3Rpb25JZD86IHN0cmluZztcbiAgc3BlbnRJbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb24gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlucHV0czogQXJyYXk8SW5wdXRCb3g+O1xuICBkYXRhSW5wdXRzOiBBcnJheTxEYXRhSW5wdXQ+O1xuICBvdXRwdXRzOiBBcnJheTxPdXRwdXRCb3g+O1xuICBzaXplPzogYmlnaW50O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBpbmNsdXNpb25IZWlnaHQ6IG51bWJlcjtcbiAgYmxvY2tJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwZW5kSW5mbyB7XG4gIGJveElkOiBzdHJpbmc7XG4gIHR4SWQ6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgZXh0cmFzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWJzdHJhY3RCb3hEYXRhIHtcbiAgYm94SWQ6IHN0cmluZztcbiAgc2VyaWFsaXplZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDYWxsYmFja1R5cGUge1xuICBJbnNlcnQgPSAnaW5zZXJ0JyxcbiAgVXBkYXRlID0gJ3VwZGF0ZScsXG4gIFNwZW5kID0gJ3NwZW5kJyxcbiAgRGVsZXRlID0gJ2RlbGV0ZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm94SW5mbyB7XG4gIGJveElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENhbGxiYWNrRGF0YU1hcDxFeHRyYWN0ZWREYXRhIGV4dGVuZHMgQWJzdHJhY3RCb3hEYXRhPiA9IHtcbiAgW0NhbGxiYWNrVHlwZS5VcGRhdGVdOiBCb3hJbmZvW107XG4gIFtDYWxsYmFja1R5cGUuSW5zZXJ0XTogRXh0cmFjdGVkRGF0YVtdO1xuICBbQ2FsbGJhY2tUeXBlLkRlbGV0ZV06IEV4dHJhY3RlZERhdGFbXTtcbiAgW0NhbGxiYWNrVHlwZS5TcGVuZF06IEJveEluZm9bXTtcbn07XG5cbmV4cG9ydCB0eXBlIENhbGxiYWNrTWFwPEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGE+ID0ge1xuICBbSyBpbiBDYWxsYmFja1R5cGVdOiAoZGF0YTogQ2FsbGJhY2tEYXRhTWFwPEV4dHJhY3RlZERhdGE+W0tdKSA9PiB2b2lkO1xufTtcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lcmdvL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJBLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDdEIsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7SUFDakIsK0JBQWUsQ0FBQTtJQUNmLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE91dHB1dEJveCwgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJnb0JveCBleHRlbmRzIE91dHB1dEJveCB7XG4gIGJsb2NrSWQ6IHN0cmluZztcbiAgaW5jbHVzaW9uSGVpZ2h0OiBudW1iZXI7XG4gIHNwZW50QmxvY2tJZD86IHN0cmluZztcbiAgc3BlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIHNwZW50VHJhbnNhY3Rpb25JZD86IHN0cmluZztcbiAgc3BlbnRJbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBpbmNsdXNpb25IZWlnaHQ6IG51bWJlcjtcbiAgYmxvY2tJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwZW5kSW5mbyB7XG4gIGJveElkOiBzdHJpbmc7XG4gIHR4SWQ6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgZXh0cmFzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdEJveERhdGEge1xuICBib3hJZDogc3RyaW5nO1xuICBzZXJpYWxpemVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIENhbGxiYWNrVHlwZSB7XG4gIEluc2VydCA9ICdpbnNlcnQnLFxuICBVcGRhdGUgPSAndXBkYXRlJyxcbiAgU3BlbmQgPSAnc3BlbmQnLFxuICBEZWxldGUgPSAnZGVsZXRlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3hJbmZvIHtcbiAgYm94SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ2FsbGJhY2tEYXRhTWFwPEV4dHJhY3RlZERhdGEgZXh0ZW5kcyBBYnN0cmFjdEJveERhdGE+ID0ge1xuICBbQ2FsbGJhY2tUeXBlLlVwZGF0ZV06IEJveEluZm9bXTtcbiAgW0NhbGxiYWNrVHlwZS5JbnNlcnRdOiBFeHRyYWN0ZWREYXRhW107XG4gIFtDYWxsYmFja1R5cGUuRGVsZXRlXTogRXh0cmFjdGVkRGF0YVtdO1xuICBbQ2FsbGJhY2tUeXBlLlNwZW5kXTogQm94SW5mb1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FsbGJhY2tNYXA8RXh0cmFjdGVkRGF0YSBleHRlbmRzIEFic3RyYWN0Qm94RGF0YT4gPSB7XG4gIFtLIGluIENhbGxiYWNrVHlwZV06IChkYXRhOiBDYWxsYmFja0RhdGFNYXA8RXh0cmFjdGVkRGF0YT5bS10pID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUeEV4dHJhID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { AbstractNetwork } from './AbstractNetwork';
2
- import { BlockInfo } from '../../interfaces';
3
- import { ErgoBox, ExtendedTransaction, Transaction } from '../interfaces';
2
+ import { BlockInfo, Transaction } from '@rosen-bridge/scanner-interfaces';
3
+ import { ErgoBox, ExtendedTransaction } from '../interfaces';
4
4
  export declare class ExplorerNetwork extends AbstractNetwork {
5
5
  private api;
6
6
  constructor(url: string);
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerNetwork.d.ts","sourceRoot":"","sources":["../../../lib/ergo/network/ExplorerNetwork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI1E,qBAAa,eAAgB,SAAQ,eAAe;IAClD,OAAO,CAAC,GAAG,CAAC;gBAEA,GAAG,EAAE,MAAM;IAKvB;;;;OAIG;IACH,eAAe,UACN,MAAM,aACF,MAAM,KAChB,QAAQ,SAAS,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAY5C;IAEF;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAwBhB;IAEF;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CA8BxB;IAEF;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAuB7B;IAEF;;;;;;OAMG;IACH,gCAAgC,YACrB,MAAM,cACH,MAAM,YACR,MAAM,KACf,QAAQ,MAAM,mBAAmB,CAAC,CAAC,CAWpC;IAEF;;;;OAIG;IACH,kBAAkB,WAAkB,MAAM,KAAG,QAAQ,MAAM,CAAC,CAG1D;IAEF;;;;OAIG;IACH,WAAW,YAAmB,MAAM,KAAG,QAAQ,MAAM,WAAW,CAAC,CAAC,CAUhE;IAEF;;;;;;OAMG;IACH,iBAAiB,YACN,MAAM,UACP,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAarD;IAEF;;;;;;OAMG;IACH,iBAAiB,YACN,MAAM,UACP,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAYrD;CACH"}
1
+ {"version":3,"file":"ExplorerNetwork.d.ts","sourceRoot":"","sources":["../../../lib/ergo/network/ExplorerNetwork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAI7D,qBAAa,eAAgB,SAAQ,eAAe;IAClD,OAAO,CAAC,GAAG,CAAC;gBAEA,GAAG,EAAE,MAAM;IAKvB;;;;OAIG;IACH,eAAe,UACN,MAAM,aACF,MAAM,KAChB,QAAQ,SAAS,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAY5C;IAEF;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAwBhB;IAEF;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CA8BxB;IAEF;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAuB7B;IAEF;;;;;;OAMG;IACH,gCAAgC,YACrB,MAAM,cACH,MAAM,YACR,MAAM,KACf,QAAQ,MAAM,mBAAmB,CAAC,CAAC,CAWpC;IAEF;;;;OAIG;IACH,kBAAkB,WAAkB,MAAM,KAAG,QAAQ,MAAM,CAAC,CAG1D;IAEF;;;;OAIG;IACH,WAAW,YAAmB,MAAM,KAAG,QAAQ,MAAM,WAAW,CAAC,CAAC,CAUhE;IAEF;;;;;;OAMG;IACH,iBAAiB,YACN,MAAM,UACP,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAarD;IAEF;;;;;;OAMG;IACH,iBAAiB,YACN,MAAM,UACP,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAYrD;CACH"}