@bitgo-beta/sdk-coin-dot 1.3.3-alpha.2 → 1.3.3-alpha.21

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,55 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.2.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.2.0...@bitgo/sdk-coin-dot@2.2.1) (2023-01-30)
7
+
8
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
9
+
10
+ # [2.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.1.3...@bitgo/sdk-coin-dot@2.2.0) (2023-01-25)
11
+
12
+ ### Features
13
+
14
+ - **sdk-coin-dot:** propagate keepAlive flag in tx build from hex ([024f8b0](https://github.com/BitGo/BitGoJS/commit/024f8b027041e10eaeddfb1a766d9895457310e6))
15
+
16
+ ## [2.1.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.1.2...@bitgo/sdk-coin-dot@2.1.3) (2022-12-23)
17
+
18
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
19
+
20
+ ## [2.1.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.1.1...@bitgo/sdk-coin-dot@2.1.2) (2022-12-20)
21
+
22
+ ### Bug Fixes
23
+
24
+ - **sdk-coin-dot:** update DOT sweep keepAlive conditional ([b5a8924](https://github.com/BitGo/BitGoJS/commit/b5a8924cd48596d83d8d3c00cc1c03abce90ac32))
25
+
26
+ ## [2.1.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.1.0...@bitgo/sdk-coin-dot@2.1.1) (2022-12-09)
27
+
28
+ **Note:** Version bump only for package @bitgo/sdk-coin-dot
29
+
30
+ # [2.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.0.1...@bitgo/sdk-coin-dot@2.1.0) (2022-12-06)
31
+
32
+ ### Features
33
+
34
+ - **sdk-coin-dot:** add keepAlive flag to DOT sweep constructor ([d6fa397](https://github.com/BitGo/BitGoJS/commit/d6fa3973e28beff3abf464b76819d35407ee59a7))
35
+
36
+ ## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.0.0...@bitgo/sdk-coin-dot@2.0.1) (2022-12-01)
37
+
38
+ ### Bug Fixes
39
+
40
+ - **sdk-coin-dot:** update DOT transferAll value to zero ([5bb9852](https://github.com/BitGo/BitGoJS/commit/5bb98529179121d075090d7d22f1ebf1c4ee7dec))
41
+
42
+ # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.3.0...@bitgo/sdk-coin-dot@2.0.0) (2022-11-29)
43
+
44
+ ### Features
45
+
46
+ - **sdk-coin-dot:** add support for staking transactions ([b67eaa0](https://github.com/BitGo/BitGoJS/commit/b67eaa06723b1a235cb2c6f948ece34cc42a9256))
47
+
48
+ ### BREAKING CHANGES
49
+
50
+ - **sdk-coin-dot:** Uddate the 'westendMetadataRpc' constant to
51
+ spec version 9320. Update PolkadotTestnet.specVersion to
52
+ 9320 and PolkadotTestnet.txVersion to 14.
53
+ Ticket: BOS-469
54
+
6
55
  ## [1.3.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.3.0...@bitgo/sdk-coin-dot@1.3.4) (2022-11-04)
7
56
 
8
57
  **Note:** Version bump only for package @bitgo/sdk-coin-dot
@@ -1,4 +1,5 @@
1
1
  export * from './lib';
2
2
  export * from './dot';
3
3
  export * from './tdot';
4
+ export * from './register';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./lib"), exports);
14
14
  __exportStar(require("./dot"), exports);
15
15
  __exportStar(require("./tdot"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL2RvdCc7XG5leHBvcnQgKiBmcm9tICcuL3Rkb3QnO1xuIl19
16
+ __exportStar(require("./register"), exports);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9kb3QnO1xuZXhwb3J0ICogZnJvbSAnLi90ZG90JztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"addressInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/addressInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIxG,OAAO,EAAoD,SAAS,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,SAAK;gBAET,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAQjD;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,mBAAmB;IAazD;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,IAAI,mBAAmB;IAa/D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKhC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAkBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAoBjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,4BAA4B;CAOrC"}
1
+ {"version":3,"file":"addressInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/addressInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIxG,OAAO,EAAoD,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,SAAK;gBAET,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAQjD;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,mBAAmB;IAazD;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,IAAI,mBAAmB;IAa/D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKhC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAkBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAoBjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,4BAA4B;CAOrC"}
@@ -8,8 +8,10 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
8
  const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
9
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
10
  const iface_1 = require("./iface");
11
+ const iface_utils_1 = require("./iface_utils");
11
12
  const transactionBuilder_1 = require("./transactionBuilder");
12
13
  const txnSchema_1 = require("./txnSchema");
14
+ const utils_1 = __importDefault(require("./utils"));
13
15
  class AddressInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
14
16
  constructor(_coinConfig) {
15
17
  super(_coinConfig);
@@ -46,7 +48,7 @@ class AddressInitializationBuilder extends transactionBuilder_1.TransactionBuild
46
48
  */
47
49
  buildAnonymousProxyTransaction() {
48
50
  const baseTxInfo = this.createBaseTxInfo();
49
- return txwrapper_polkadot_1.methods.proxy.anonymous({
51
+ return utils_1.default.pureProxy({
50
52
  proxyType: this._proxyType,
51
53
  index: this._index,
52
54
  delay: parseInt(this._delay, 10),
@@ -111,13 +113,13 @@ class AddressInitializationBuilder extends transactionBuilder_1.TransactionBuild
111
113
  }
112
114
  /** @inheritdoc */
113
115
  validateDecodedTransaction(decodedTxn) {
114
- var _a, _b;
116
+ var _a, _b, _c;
115
117
  let validationResult;
116
118
  if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.AddProxy) {
117
119
  const txMethod = decodedTxn.method.args;
118
- validationResult = this.validateAddProxyFields(txMethod.delegate, txMethod.proxyType, txMethod.delay);
120
+ validationResult = this.validateAddProxyFields(iface_utils_1.getDelegateAddress(txMethod), txMethod.proxyType, txMethod.delay);
119
121
  }
120
- else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous) {
122
+ else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous || ((_c = decodedTxn.method) === null || _c === void 0 ? void 0 : _c.name) === iface_1.MethodNames.PureProxy) {
121
123
  const txMethod = decodedTxn.method.args;
122
124
  validationResult = this.validateAnonymousProxyFields(parseInt(txMethod.index, 10), txMethod.proxyType, txMethod.delay);
123
125
  }
@@ -127,22 +129,22 @@ class AddressInitializationBuilder extends transactionBuilder_1.TransactionBuild
127
129
  }
128
130
  /** @inheritdoc */
129
131
  fromImplementation(rawTransaction) {
130
- var _a, _b, _c;
132
+ var _a, _b, _c, _d;
131
133
  const tx = super.fromImplementation(rawTransaction);
132
134
  if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.AddProxy) {
133
135
  const txMethod = this._method.args;
134
- this.owner({ address: txMethod.delegate });
136
+ this.owner({ address: iface_utils_1.getDelegateAddress(txMethod) });
135
137
  this.type(txMethod.proxyType);
136
138
  this.delay(new bignumber_js_1.default(txMethod.delay).toString());
137
139
  }
138
- else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous) {
140
+ else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous || ((_c = this._method) === null || _c === void 0 ? void 0 : _c.name) === iface_1.MethodNames.PureProxy) {
139
141
  const txMethod = this._method.args;
140
142
  this.index(new bignumber_js_1.default(txMethod.index).toNumber());
141
143
  this.type(txMethod.proxyType);
142
144
  this.delay(new bignumber_js_1.default(txMethod.delay).toString());
143
145
  }
144
146
  else {
145
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_c = this._method) === null || _c === void 0 ? void 0 : _c.name}. Expected ${iface_1.MethodNames.AddProxy} or ${iface_1.MethodNames.Anonymous}`);
147
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_d = this._method) === null || _d === void 0 ? void 0 : _d.name}. Expected ${iface_1.MethodNames.AddProxy} or ${iface_1.MethodNames.Anonymous}`);
146
148
  }
147
149
  return tx;
148
150
  }
@@ -179,4 +181,4 @@ class AddressInitializationBuilder extends transactionBuilder_1.TransactionBuild
179
181
  }
180
182
  }
181
183
  exports.AddressInitializationBuilder = AddressInitializationBuilder;
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBNkY7QUFHN0Ysc0VBQXdEO0FBQ3hELGdFQUFxQztBQUVyQyxtQ0FBc0Y7QUFFdEYsNkRBQTBEO0FBQzFELDJDQUFnRztBQUVoRyxNQUFhLDRCQUE2QixTQUFRLHVDQUFrQjtJQU1sRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhYLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFJckIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGdCQUFnQjtRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUN4QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyx3QkFBd0I7UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzNCO1lBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDTyw4QkFBOEI7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENB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LENBQUMsU0FBUyxFQUFFO1lBQ2xCLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlGO2FBQU07WUFDTCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRztRQUNELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0Isd0RBQXdELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDekYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQy9FLE9BQU8sdUNBQTJCLENBQUMsUUFBUSxDQUFDO1lBQzFDLFFBQVE7WUFDUixTQUFTO1lBQ1QsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQ2xGLE9BQU8sZ0RBQW9DLENBQUMsUUFBUSxDQUFDO1lBQ25ELFNBQVM7WUFDVCxLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxNRCxvRUFrTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQWRkcmVzcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJ2pvaSc7XG5pbXBvcnQgeyBBZGRBbm9ueW1vdXNQcm94eUFyZ3MsIEFkZFByb3h5QXJncywgTWV0aG9kTmFtZXMsIFByb3h5VHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEFkZHJlc3NJbml0aWFsaXphdGlvblNjaGVtYSwgQW5vbnltb3VzQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfZGVsZWdhdGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wcm94eVR5cGU6IFByb3h5VHlwZTtcbiAgcHJvdGVjdGVkIF9kZWxheTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2luZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX2RlbGVnYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZEFkZFByb3h5VHJhbnNhY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRBbm9ueW1vdXNQcm94eVRyYW5zYWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlciB0aGF0IGlzIGFibGUgdG8gbWFrZSBjYWxscyBvbiBpdHMgYmVoYWxmLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jcHJveHlcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEFkZFByb3h5VHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnByb3h5LmFkZFByb3h5KFxuICAgICAge1xuICAgICAgICBkZWxlZ2F0ZTogdGhpcy5fZGVsZWdhdGUsXG4gICAgICAgIHByb3h5VHlwZTogdGhpcy5fcHJveHlUeXBlLFxuICAgICAgICBkZWxheTogdGhpcy5fZGVsYXksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGF3biBhIHJlY2VpdmUgYWRkcmVzcyBmb3IgdGhlIHNlbmRlclxuICAgKlxuICAgKiBAcmV0dXJuIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBEb3QgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEFub255bW91c1Byb3h5VHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnByb3h5LmFub255bW91cyhcbiAgICAgIHtcbiAgICAgICAgcHJveHlUeXBlOiB0aGlzLl9wcm94eVR5cGUsXG4gICAgICAgIGluZGV4OiB0aGlzLl9pbmRleCxcbiAgICAgICAgZGVsYXk6IHBhcnNlSW50KHRoaXMuX2RlbGF5LCAxMCksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFjY291bnQgdG8gZGVsZWdhdGUgYXV0aCB0by5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gb3duZXJcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjd2h5LXVzZS1hLXByb3h5XG4gICAqL1xuICBvd25lcihvd25lcjogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IG93bmVyLmFkZHJlc3MgfSk7XG4gICAgdGhpcy5fZGVsZWdhdGUgPSBvd25lci5hZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGRpc2FtYmlndWF0aW9uIGlmIG11bHRpcGxlIGNhbGxzIGFyZSBtYWRlIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uXG4gICAqIFVzZSAwIGFzIGEgZGVmYXVsdFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAgICpcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIGluZGV4KGluZGV4OiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihpbmRleCkpO1xuICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gYWRkLlxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gcHJveHlUeXBlXG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3Byb3h5LXR5cGVzXG4gICAqL1xuICB0eXBlKHByb3h5VHlwZTogUHJveHlUeXBlKTogdGhpcyB7XG4gICAgdGhpcy5fcHJveHlUeXBlID0gcHJveHlUeXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYmxvY2tzIHRoYXQgYW4gYW5ub3VuY2VtZW50IG11c3QgYmUgaW4gcGxhY2UgZm9yLlxuICAgKiBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcgY2FsbCBtYXkgYmUgZGlzcGF0Y2hlZC5cbiAgICogSWYgemVybywgdGhlbiBubyBhbm5vdW5jZW1lbnQgaXMgbmVlZGVkLlxuICAgKiBUT0RPOiBtb3ZlIHRvIHRoZSB2YWxpZGl0eSB3aW5kb3cgbWV0aG9kIG9uY2UgaXQgaGFzIGJlZW4gc3RhbmRhcmRpemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZWxheVxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN0aW1lLWRlbGF5ZWQtcHJveGllc1xuICAgKi9cbiAgZGVsYXkoZGVsYXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHBhcnNlSW50KGRlbGF5LCAxMCkpKTtcbiAgICB0aGlzLl9kZWxheSA9IGRlbGF5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0O1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQWRkUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEFkZFByb3h5QXJncztcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQWRkUHJveHlGaWVsZHModHhNZXRob2QuZGVsZWdhdGUsIHR4TWV0aG9kLnByb3h5VHlwZSwgdHhNZXRob2QuZGVsYXkpO1xuICAgIH0gZWxzZSBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFub255bW91cykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQWRkQW5vbnltb3VzUHJveHlBcmdzO1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVBbm9ueW1vdXNQcm94eUZpZWxkcyhcbiAgICAgICAgcGFyc2VJbnQodHhNZXRob2QuaW5kZXgsIDEwKSxcbiAgICAgICAgdHhNZXRob2QucHJveHlUeXBlLFxuICAgICAgICB0eE1ldGhvZC5kZWxheVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZFByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZFByb3h5QXJncztcbiAgICAgIHRoaXMub3duZXIoeyBhZGRyZXNzOiB0eE1ldGhvZC5kZWxlZ2F0ZSB9KTtcbiAgICAgIHRoaXMudHlwZSh0eE1ldGhvZC5wcm94eVR5cGUpO1xuICAgICAgdGhpcy5kZWxheShuZXcgQmlnTnVtYmVyKHR4TWV0aG9kLmRlbGF5KS50b1N0cmluZygpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFub255bW91c1Byb3h5QXJncztcbiAgICAgIHRoaXMuaW5kZXgobmV3IEJpZ051bWJlcih0eE1ldGhvZC5pbmRleCkudG9OdW1iZXIoKSk7XG4gICAgICB0aGlzLnR5cGUodHhNZXRob2QucHJveHlUeXBlKTtcbiAgICAgIHRoaXMuZGVsYXkobmV3IEJpZ051bWJlcih0eE1ldGhvZC5kZWxheSkudG9TdHJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLkFkZFByb3h5fSBvciAke01ldGhvZE5hbWVzLkFub255bW91c31gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24oXyk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogVmFsaWRhdGlvblJlc3VsdDtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUpIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQWRkUHJveHlGaWVsZHModGhpcy5fZGVsZWdhdGUsIHRoaXMuX3Byb3h5VHlwZSwgdGhpcy5fZGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gdGhpcy52YWxpZGF0ZUFub255bW91c1Byb3h5RmllbGRzKHRoaXMuX2luZGV4LCB0aGlzLl9wcm94eVR5cGUsIHRoaXMuX2RlbGF5KTtcbiAgICB9XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEFkZHJlc3NJbml0aWFsaXphdGlvbiBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQWRkUHJveHlGaWVsZHMoZGVsZWdhdGU6IHN0cmluZywgcHJveHlUeXBlOiBzdHJpbmcsIGRlbGF5OiBzdHJpbmcpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGRlbGVnYXRlLFxuICAgICAgcHJveHlUeXBlLFxuICAgICAgZGVsYXksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQW5vbnltb3VzUHJveHlGaWVsZHMoaW5kZXg6IG51bWJlciwgcHJveHlUeXBlOiBzdHJpbmcsIGRlbGF5OiBzdHJpbmcpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQW5vbnltb3VzQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHByb3h5VHlwZSxcbiAgICAgIGluZGV4LFxuICAgICAgZGVsYXksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBNkY7QUFHN0Ysc0VBQXdEO0FBQ3hELGdFQUFxQztBQUVyQyxtQ0FBc0Y7QUFDdEYsK0NBQW1EO0FBRW5ELDZEQUEwRDtBQUMxRCwyQ0FBZ0c7QUFDaEcsb0RBQTRCO0FBRTVCLE1BQWEsNEJBQTZCLFNBQVEsdUNBQWtCO0lBTWxFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSFgsV0FBTSxHQUFHLENBQUMsQ0FBQztJQUlyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsZ0JBQWdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ3hDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLHdCQUF3QjtRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLDRCQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDM0I7WUFDRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDeEIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLDhCQUE4QjtRQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLGVBQUssQ0FBQyxTQUFTLENBQ3BCO1lBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNsQixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1NBQ2pDLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLHFCQUFxQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLEtBQWtCO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsS0FBYTtRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFJLENBQUMsU0FBb0I7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRDs7UUFDNUUsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyQixJQUFJLENBQUEsTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUErQixDQUFDO1lBQ25FLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQ0FBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsSDthQUFNLElBQUksQ0FBQSxNQUFBLFVBQVUsQ0FBQyxNQUFNLDBDQUFFLElBQUksTUFBSyxtQkFBVyxDQUFDLFNBQVMsSUFBSSxDQUFBLE1BQUEsVUFBVSxDQUFDLE1BQU0sMENBQUUsSUFBSSxNQUFLLG1CQUFXLENBQUMsU0FBUyxFQUFFO1lBQ2pILE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBd0MsQ0FBQztZQUM1RSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQ2xELFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUM1QixRQUFRLENBQUMsU0FBUyxFQUNsQixRQUFRLENBQUMsS0FBSyxDQUNmLENBQUM7U0FDSDtRQUNELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxrQ0FBa0MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdkc7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7O1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFvQixDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0NBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO2FBQU0sSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSxNQUFLLG1CQUFXLENBQUMsU0FBUyxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDdkcsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE2QixDQUFDO1lBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO2FBQU07WUFDTCxNQUFNLElBQUksa0NBQXVCLENBQy9CLDZCQUE2QixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLElBQUksY0FBYyxtQkFBVyxDQUFDLFFBQVEsT0FBTyxtQkFBVyxDQUFDLFNBQVMsRUFBRSxDQUNoSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsQ0FBYztRQUNoQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksZ0JBQWtDLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlGO2FBQU07WUFDTCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRztRQUNELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0Isd0RBQXdELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDekYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQy9FLE9BQU8sdUNBQTJCLENBQUMsUUFBUSxDQUFDO1lBQzFDLFFBQVE7WUFDUixTQUFTO1lBQ1QsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQ2xGLE9BQU8sZ0RBQW9DLENBQUMsUUFBUSxDQUFDO1lBQ25ELFNBQVM7WUFDVCxLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxNRCxvRUFrTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQWRkcmVzcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJ2pvaSc7XG5pbXBvcnQgeyBBZGRBbm9ueW1vdXNQcm94eUFyZ3MsIEFkZFByb3h5QXJncywgTWV0aG9kTmFtZXMsIFByb3h5VHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgZ2V0RGVsZWdhdGVBZGRyZXNzIH0gZnJvbSAnLi9pZmFjZV91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLCBBbm9ueW1vdXNBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9kZWxlZ2F0ZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3Byb3h5VHlwZTogUHJveHlUeXBlO1xuICBwcm90ZWN0ZWQgX2RlbGF5OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfaW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkQWRkUHJveHlUcmFuc2FjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZEFub255bW91c1Byb3h5VHJhbnNhY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBwcm94eSBhY2NvdW50IGZvciB0aGUgc2VuZGVyIHRoYXQgaXMgYWJsZSB0byBtYWtlIGNhbGxzIG9uIGl0cyBiZWhhbGYuXG4gICAqXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBEb3QgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BvbGthZG90LmpzLm9yZy9kb2NzL3N1YnN0cmF0ZS9leHRyaW5zaWNzLyNwcm94eVxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQWRkUHJveHlUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIG1ldGhvZHMucHJveHkuYWRkUHJveHkoXG4gICAgICB7XG4gICAgICAgIGRlbGVnYXRlOiB0aGlzLl9kZWxlZ2F0ZSxcbiAgICAgICAgcHJveHlUeXBlOiB0aGlzLl9wcm94eVR5cGUsXG4gICAgICAgIGRlbGF5OiB0aGlzLl9kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwYXduIGEgcmVjZWl2ZSBhZGRyZXNzIGZvciB0aGUgc2VuZGVyXG4gICAqXG4gICAqIEByZXR1cm4ge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQW5vbnltb3VzUHJveHlUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHV0aWxzLnB1cmVQcm94eShcbiAgICAgIHtcbiAgICAgICAgcHJveHlUeXBlOiB0aGlzLl9wcm94eVR5cGUsXG4gICAgICAgIGluZGV4OiB0aGlzLl9pbmRleCxcbiAgICAgICAgZGVsYXk6IHBhcnNlSW50KHRoaXMuX2RlbGF5LCAxMCksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFjY291bnQgdG8gZGVsZWdhdGUgYXV0aCB0by5cbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gb3duZXJcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjd2h5LXVzZS1hLXByb3h5XG4gICAqL1xuICBvd25lcihvd25lcjogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IG93bmVyLmFkZHJlc3MgfSk7XG4gICAgdGhpcy5fZGVsZWdhdGUgPSBvd25lci5hZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGRpc2FtYmlndWF0aW9uIGlmIG11bHRpcGxlIGNhbGxzIGFyZSBtYWRlIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uXG4gICAqIFVzZSAwIGFzIGEgZGVmYXVsdFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAgICpcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIGluZGV4KGluZGV4OiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihpbmRleCkpO1xuICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gYWRkLlxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gcHJveHlUeXBlXG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3Byb3h5LXR5cGVzXG4gICAqL1xuICB0eXBlKHByb3h5VHlwZTogUHJveHlUeXBlKTogdGhpcyB7XG4gICAgdGhpcy5fcHJveHlUeXBlID0gcHJveHlUeXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYmxvY2tzIHRoYXQgYW4gYW5ub3VuY2VtZW50IG11c3QgYmUgaW4gcGxhY2UgZm9yLlxuICAgKiBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcgY2FsbCBtYXkgYmUgZGlzcGF0Y2hlZC5cbiAgICogSWYgemVybywgdGhlbiBubyBhbm5vdW5jZW1lbnQgaXMgbmVlZGVkLlxuICAgKiBUT0RPOiBtb3ZlIHRvIHRoZSB2YWxpZGl0eSB3aW5kb3cgbWV0aG9kIG9uY2UgaXQgaGFzIGJlZW4gc3RhbmRhcmRpemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZWxheVxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN0aW1lLWRlbGF5ZWQtcHJveGllc1xuICAgKi9cbiAgZGVsYXkoZGVsYXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHBhcnNlSW50KGRlbGF5LCAxMCkpKTtcbiAgICB0aGlzLl9kZWxheSA9IGRlbGF5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0O1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQWRkUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEFkZFByb3h5QXJncztcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQWRkUHJveHlGaWVsZHMoZ2V0RGVsZWdhdGVBZGRyZXNzKHR4TWV0aG9kKSwgdHhNZXRob2QucHJveHlUeXBlLCB0eE1ldGhvZC5kZWxheSk7XG4gICAgfSBlbHNlIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzIHx8IGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5QdXJlUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEFkZEFub255bW91c1Byb3h5QXJncztcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQW5vbnltb3VzUHJveHlGaWVsZHMoXG4gICAgICAgIHBhcnNlSW50KHR4TWV0aG9kLmluZGV4LCAxMCksXG4gICAgICAgIHR4TWV0aG9kLnByb3h5VHlwZSxcbiAgICAgICAgdHhNZXRob2QuZGVsYXlcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRQcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBBZGRQcm94eUFyZ3M7XG4gICAgICB0aGlzLm93bmVyKHsgYWRkcmVzczogZ2V0RGVsZWdhdGVBZGRyZXNzKHR4TWV0aG9kKSB9KTtcbiAgICAgIHRoaXMudHlwZSh0eE1ldGhvZC5wcm94eVR5cGUpO1xuICAgICAgdGhpcy5kZWxheShuZXcgQmlnTnVtYmVyKHR4TWV0aG9kLmRlbGF5KS50b1N0cmluZygpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzIHx8IHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHVyZVByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFub255bW91c1Byb3h5QXJncztcbiAgICAgIHRoaXMuaW5kZXgobmV3IEJpZ051bWJlcih0eE1ldGhvZC5pbmRleCkudG9OdW1iZXIoKSk7XG4gICAgICB0aGlzLnR5cGUodHhNZXRob2QucHJveHlUeXBlKTtcbiAgICAgIHRoaXMuZGVsYXkobmV3IEJpZ051bWJlcih0eE1ldGhvZC5kZWxheSkudG9TdHJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLkFkZFByb3h5fSBvciAke01ldGhvZE5hbWVzLkFub255bW91c31gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24oXyk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogVmFsaWRhdGlvblJlc3VsdDtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUpIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQWRkUHJveHlGaWVsZHModGhpcy5fZGVsZWdhdGUsIHRoaXMuX3Byb3h5VHlwZSwgdGhpcy5fZGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gdGhpcy52YWxpZGF0ZUFub255bW91c1Byb3h5RmllbGRzKHRoaXMuX2luZGV4LCB0aGlzLl9wcm94eVR5cGUsIHRoaXMuX2RlbGF5KTtcbiAgICB9XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEFkZHJlc3NJbml0aWFsaXphdGlvbiBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQWRkUHJveHlGaWVsZHMoZGVsZWdhdGU6IHN0cmluZywgcHJveHlUeXBlOiBzdHJpbmcsIGRlbGF5OiBzdHJpbmcpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGRlbGVnYXRlLFxuICAgICAgcHJveHlUeXBlLFxuICAgICAgZGVsYXksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQW5vbnltb3VzUHJveHlGaWVsZHMoaW5kZXg6IG51bWJlciwgcHJveHlUeXBlOiBzdHJpbmcsIGRlbGF5OiBzdHJpbmcpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQW5vbnltb3VzQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHByb3h5VHlwZSxcbiAgICAgIGluZGV4LFxuICAgICAgZGVsYXksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -50,7 +50,7 @@ export declare class BatchTransactionBuilder extends TransactionBuilder {
50
50
  validateCalls(calls: string[]): void;
51
51
  private validateFields;
52
52
  private validateBatchTransactionFields;
53
- private getAnonymousProxyCall;
53
+ private getPureProxyCall;
54
54
  private getBondCall;
55
55
  private getUnbondCall;
56
56
  private getPayee;
@@ -1 +1 @@
1
- {"version":3,"file":"batchTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/batchTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAmBxG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,IAAI,mBAAmB;IAqBtD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAM5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAK7B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAQrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAwCjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASpC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,YAAY;CAKrB"}
1
+ {"version":3,"file":"batchTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/batchTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAsBxG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,IAAI,mBAAmB;IAqBtD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAM5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAK7B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAQrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IA2CjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASpC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,YAAY;CAKrB"}
@@ -7,9 +7,10 @@ exports.BatchTransactionBuilder = void 0;
7
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
8
  const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
9
  const iface_1 = require("./iface");
10
+ const iface_utils_1 = require("./iface_utils");
10
11
  const transactionBuilder_1 = require("./transactionBuilder");
11
12
  const txnSchema_1 = require("./txnSchema");
12
- const strip_hex_prefix_1 = __importDefault(require("strip-hex-prefix"));
13
+ const utils_1 = __importDefault(require("./utils"));
13
14
  class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
14
15
  constructor(_coinConfig) {
15
16
  super(_coinConfig);
@@ -88,10 +89,11 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
88
89
  const callsToBatch = [];
89
90
  txMethod.calls.forEach((call) => {
90
91
  const method = call.callIndex;
91
- const decodedMethod = sdk_core_1.toUint8Array(strip_hex_prefix_1.default(method));
92
+ const decodedMethod = sdk_core_1.toUint8Array(utils_1.default.stripHexPrefix(method));
92
93
  const decodedCall = this._registry.findMetaCall(decodedMethod);
93
- if (decodedCall.section === iface_1.SectionNames.Proxy && decodedCall.method === iface_1.MethodNames.Anonymous) {
94
- callsToBatch.push(this.getAnonymousProxyCall(call.args));
94
+ if (decodedCall.section === iface_1.SectionNames.Proxy &&
95
+ (decodedCall.method === iface_1.MethodNames.Anonymous || decodedCall.method === iface_1.MethodNames.PureProxy)) {
96
+ callsToBatch.push(this.getPureProxyCall(call.args));
95
97
  }
96
98
  else if (decodedCall.section === iface_1.SectionNames.Proxy && decodedCall.method === iface_1.MethodNames.AddProxy) {
97
99
  callsToBatch.push(this.getAddProxyCall(call.args));
@@ -149,9 +151,9 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
149
151
  calls,
150
152
  });
151
153
  }
152
- getAnonymousProxyCall(args) {
154
+ getPureProxyCall(args) {
153
155
  const baseTxInfo = this.createBaseTxInfo();
154
- const unsigned = txwrapper_polkadot_1.methods.proxy.anonymous({
156
+ const unsigned = utils_1.default.pureProxy({
155
157
  proxyType: args.proxy_type,
156
158
  index: args.index,
157
159
  delay: args.delay,
@@ -175,16 +177,16 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
175
177
  return unsigned.method;
176
178
  }
177
179
  getPayee(payee) {
178
- if (iface_1.isStakeBatchCallPayeeStash(payee)) {
180
+ if (iface_utils_1.isStakeBatchCallPayeeStash(payee)) {
179
181
  return 'Stash';
180
182
  }
181
- else if (iface_1.isStakeBatchCallPayeeController(payee)) {
183
+ else if (iface_utils_1.isStakeBatchCallPayeeController(payee)) {
182
184
  return 'Controller';
183
185
  }
184
- else if (iface_1.isStakeBatchCallPayeeAccount(payee)) {
186
+ else if (iface_utils_1.isStakeBatchCallPayeeAccount(payee)) {
185
187
  return { Account: payee.account };
186
188
  }
187
- else if (iface_1.isStakeBatchCallPayeeStaked(payee)) {
189
+ else if (iface_utils_1.isStakeBatchCallPayeeStaked(payee)) {
188
190
  return 'Staked';
189
191
  }
190
192
  else {
@@ -194,7 +196,7 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
194
196
  getAddProxyCall(args) {
195
197
  const baseTxInfo = this.createBaseTxInfo();
196
198
  const unsigned = txwrapper_polkadot_1.methods.proxy.addProxy({
197
- delegate: args.delegate,
199
+ delegate: iface_utils_1.getDelegateAddress(args),
198
200
  proxyType: args.proxy_type,
199
201
  delay: args.delay,
200
202
  }, baseTxInfo.baseTxInfo, baseTxInfo.options);
@@ -203,7 +205,7 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
203
205
  getRemoveProxyCall(args) {
204
206
  const baseTxInfo = this.createBaseTxInfo();
205
207
  const unsigned = txwrapper_polkadot_1.methods.proxy.removeProxy({
206
- delegate: args.delegate,
208
+ delegate: iface_utils_1.getDelegateAddress(args),
207
209
  proxyType: args.proxy_type,
208
210
  delay: args.delay,
209
211
  }, baseTxInfo.baseTxInfo, baseTxInfo.options);
@@ -216,4 +218,4 @@ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
216
218
  }
217
219
  }
218
220
  exports.BatchTransactionBuilder = BatchTransactionBuilder;
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU04QjtBQUc5QixzRUFBd0Q7QUFFeEQsbUNBZWlCO0FBRWpCLDZEQUEwRDtBQUMxRCwyQ0FBcUQ7QUFDckQsd0VBQThDO0FBRTlDLE1BQWEsdUJBQXdCLFNBQVEsdUNBQWtCO0lBSzdELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSGIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUl4QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsZ0JBQWdCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ08scUJBQXFCO1FBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDN0I7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ25CLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDMUI7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ25CLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxL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IjpbImltcG9ydCB7XG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIE5vdEltcGxlbWVudGVkRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgdG9VaW50OEFycmF5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICdqb2knO1xuaW1wb3J0IHtcbiAgQWRkQW5vbnltb3VzUHJveHlCYXRjaENhbGxBcmdzLFxuICBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MsXG4gIEJhdGNoQ2FsbE9iamVjdCxcbiAgQmF0Y2hBcmdzLFxuICBNZXRob2ROYW1lcyxcbiAgU2VjdGlvbk5hbWVzLFxuICBTdGFrZUFyZ3NQYXllZSxcbiAgU3Rha2VCYXRjaENhbGxBcmdzLFxuICBTdGFrZUJhdGNoQ2FsbFBheWVlLFxuICBTdGFrZU1vcmVDYWxsQXJncyxcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rha2VkLFxuICBpc1N0YWtlQmF0Y2hDYWxsUGF5ZWVTdGFzaCxcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlQ29udHJvbGxlcixcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudCxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQmF0Y2hUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCBzdHJpcEhleFByZWZpeCBmcm9tICdzdHJpcC1oZXgtcHJlZml4JztcblxuZXhwb3J0IGNsYXNzIEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9jYWxsczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcml2YXRlIF9hdG9taWMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRCYXRjaFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSB0cmFuc2FjdGlvbiB3aGljaCBiYXRjaGVzIHRvZ2V0aGVyIG11bHRpcGxlIHRyYW5zYWN0aW9ucy5cbiAgICogVGhlIHRyYW5zYWN0aW9ucyB3aGljaCBhcmUgYmF0Y2hlZCB0b2dldGhlciBhcmUgcGFzc2VkIGluIGFzIGFuIGFycmF5IG9mIGhleCBzdHJpbmdzXG4gICAqIHdoaWNoIGFyZSBjb21wb3NlZCBvZiB0aGUgbWV0aG9kIHRvIGNhbGwgYW5kIHRoZSBhcmd1bWVudHMgdG8gcGFzcyBpbnRvIHRoZSBtZXRob2QuXG4gICAqXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI2JhdGNoY2FsbHMtdmVjY2FsbFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQmF0Y2hUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgaWYgKHRoaXMuX2F0b21pYykge1xuICAgICAgcmV0dXJuIG1ldGhvZHMudXRpbGl0eS5iYXRjaEFsbChcbiAgICAgICAge1xuICAgICAgICAgIGNhbGxzOiB0aGlzLl9jYWxscyxcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtZXRob2RzLnV0aWxpdHkuYmF0Y2goXG4gICAgICAgIHtcbiAgICAgICAgICBjYWxsczogdGhpcy5fY2FsbHMsXG4gICAgICAgIH0sXG4gICAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5CYXRjaDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbXVsdGlwbGUgdW5zaWduZWQgdHJhbnNhY3Rpb25zIHRvIGJlIGJhdGNoZWQgYW5kIGJyb2FkY2FzdCBhcyBhIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0JhdGNoQ2FsbFtdfSBjYWxscyB1bnNpZ25lZCB0cmFuc2FjdGlvbnNcbiAgICogQHJldHVybnMge0JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIGJhdGNoIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqL1xuICBjYWxscyhjYWxsczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQ2FsbHMoY2FsbHMpO1xuICAgIHRoaXMuX2NhbGxzID0gY2FsbHM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogSWYgdHJ1ZSB3aGVuIGEgYmF0Y2hlZCBjYWxsIGZhaWxzIHRoZSBlbnRpcmUgdHJhbnNhY3Rpb25zIGlzIHJvbGxlZCBiYWNrLCBpZiBmYWxzZSBubyByb2xsIGJhY2tcbiAgICogaXMgcGVyZm9ybWVkIGFuZCB0aGUgZWZmZWN0cyBvZiBhbnkgc3VjY2Vzc2Z1bCBjYWxsIHByaW9yIHRvIHRoZSBlcnJvciByZW1haW4uXG4gICAqXG4gICAqIEBwYXJhbSBhdG9taWMgdHJ1ZSBpZiBjYWxscyBtdXN0IHN1Y2NlZWQgYXRvbWljYWxseSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgYXRvbWljKGF0b21pYzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2F0b21pYyA9IGF0b21pYztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiB2b2lkIHtcbiAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBCYXRjaEFyZ3M7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVCYXRjaFRyYW5zYWN0aW9uRmllbGRzKHR4TWV0aG9kLmNhbGxzKTtcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2ggfHwgdGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5CYXRjaEFsbCkge1xuICAgICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2hBbGwpIHtcbiAgICAgICAgdGhpcy5hdG9taWModHJ1ZSk7XG4gICAgICB9XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEJhdGNoQXJncztcbiAgICAgIGlmICghdHhNZXRob2QuY2FsbHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdmYWlsZWQgdG8gZGVjb2RlIGNhbGxzIGZyb20gYmF0Y2ggdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNhbGxzVG9CYXRjaDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHR4TWV0aG9kLmNhbGxzLmZvckVhY2goKGNhbGwpID0+IHtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gKGNhbGwgYXMgQmF0Y2hDYWxsT2JqZWN0KS5jYWxsSW5kZXg7XG4gICAgICAgIGNvbnN0IGRlY29kZWRNZXRob2QgPSB0b1VpbnQ4QXJyYXkoc3RyaXBIZXhQcmVmaXgobWV0aG9kKSk7XG4gICAgICAgIGNvbnN0IGRlY29kZWRDYWxsID0gdGhpcy5fcmVnaXN0cnkuZmluZE1ldGFDYWxsKGRlY29kZWRNZXRob2QpO1xuICAgICAgICBpZiAoZGVjb2RlZENhbGwuc2VjdGlvbiA9PT0gU2VjdGlvbk5hbWVzLlByb3h5ICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRBbm9ueW1vdXNQcm94eUNhbGwoY2FsbC5hcmdzIGFzIEFkZEFub255bW91c1Byb3h5QmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5Qcm94eSAmJiBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLkFkZFByb3h5KSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRBZGRQcm94eUNhbGwoY2FsbC5hcmdzIGFzIEFkZFByb3h5QmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0Qm9uZENhbGwoY2FsbC5hcmdzIGFzIFN0YWtlQmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuVW5ib25kKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRVbmJvbmRDYWxsKGNhbGwuYXJncyBhcyBTdGFrZU1vcmVDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQ2hpbGwpIHtcbiAgICAgICAgICBjYWxsc1RvQmF0Y2gucHVzaCh0aGlzLmdldENoaWxsQ2FsbCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuUHJveHkgJiYgZGVjb2RlZENhbGwubWV0aG9kID09PSBNZXRob2ROYW1lcy5SZW1vdmVQcm94eSkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0UmVtb3ZlUHJveHlDYWxsKGNhbGwuYXJncyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgYmF0Y2hpbmcgb2YgdHJhbnNhY3Rpb24gd2l0aCBpbmRleCAke21ldGhvZH0gdW5zdXBwb3J0ZWRgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmNhbGxzKGNhbGxzVG9CYXRjaCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLkJhdGNofWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgbGlzdCBvZiB1bnNpZ25lZCB0cmFuc2FjdGlvbnMgYWRkZWQgdG8gYmF0Y2hcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gY2FsbHNcbiAgICpcbiAgICovXG4gIHZhbGlkYXRlQ2FsbHMoY2FsbHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY2FsbHMuZm9yRWFjaCgoY2FsbCkgPT4ge1xuICAgICAgaWYgKGNhbGwuc2xpY2UoMCwgMikgIT09ICcweCcpIHtcbiAgICAgICAgLy8gZXhhbXBsZTogJzB4MTYwNDAwMDAwMDAwMDAwMDAwJ1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdjYWxsIGluIHN0cmluZyBmb3JtYXQgbXVzdCBiZSBoZXggZm9ybWF0IG9mIGEgbWV0aG9kIGFuZCBpdHMgYXJndW1lbnRzJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyh0aGlzLl9jYWxscyk7XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEFkZHJlc3NJbml0aWFsaXphdGlvbiBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyhjYWxsczogKHN0cmluZyB8IEJhdGNoQ2FsbE9iamVjdClbXSk6IFZhbGlkYXRpb25SZXN1bHQge1xuICAgIHJldHVybiBCYXRjaFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGNhbGxzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbm9ueW1vdXNQcm94eUNhbGwoYXJnczogQWRkQW5vbnltb3VzUHJveHlCYXRjaENhbGxBcmdzKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgY29uc3QgdW5zaWduZWQgPSBtZXRob2RzLnByb3h5LmFub255bW91cyhcbiAgICAgIHtcbiAgICAgICAgcHJveHlUeXBlOiBhcmdzLnByb3h5X3R5cGUsXG4gICAgICAgIGluZGV4OiBhcmdzLmluZGV4LFxuICAgICAgICBkZWxheTogYXJncy5kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cblxuICBwcml2YXRlIGdldEJvbmRDYWxsKGFyZ3M6IFN0YWtlQmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLmJvbmQoXG4gICAgICB7XG4gICAgICAgIGNvbnRyb2xsZXI6IGFyZ3MuY29udHJvbGxlci5pZCxcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICAgIHBheWVlOiB0aGlzLmdldFBheWVlKGFyZ3MucGF5ZWUpLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5ib25kQ2FsbChhcmdzOiBTdGFrZU1vcmVDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLnVuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgICByZXR1cm4gdW5zaWduZWQubWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXllZShwYXllZTogU3Rha2VCYXRjaENhbGxQYXllZSk6IFN0YWtlQXJnc1BheWVlIHtcbiAgICBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rhc2gocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ1N0YXNoJztcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ0NvbnRyb2xsZXInO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudChwYXllZSkpIHtcbiAgICAgIHJldHVybiB7IEFjY291bnQ6IHBheWVlLmFjY291bnQgfTtcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZChwYXllZSkpIHtcbiAgICAgIHJldHVybiAnU3Rha2VkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBheWVlOiAke3BheWVlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkUHJveHlDYWxsKGFyZ3M6IEFkZFByb3h5QmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5wcm94eS5hZGRQcm94eShcbiAgICAgIHtcbiAgICAgICAgZGVsZWdhdGU6IGFyZ3MuZGVsZWdhdGUsXG4gICAgICAgIHByb3h5VHlwZTogYXJncy5wcm94eV90eXBlLFxuICAgICAgICBkZWxheTogYXJncy5kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbW92ZVByb3h5Q2FsbChhcmdzOiBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB1bnNpZ25lZCA9IG1ldGhvZHMucHJveHkucmVtb3ZlUHJveHkoXG4gICAgICB7XG4gICAgICAgIGRlbGVnYXRlOiBhcmdzLmRlbGVnYXRlLFxuICAgICAgICBwcm94eVR5cGU6IGFyZ3MucHJveHlfdHlwZSxcbiAgICAgICAgZGVsYXk6IGFyZ3MuZGVsYXksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgICByZXR1cm4gdW5zaWduZWQubWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsbENhbGwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgY29uc3QgdW5zaWduZWQgPSBtZXRob2RzLnN0YWtpbmcuY2hpbGwoe30sIGJhc2VUeEluZm8uYmFzZVR4SW5mbywgYmFzZVR4SW5mby5vcHRpb25zKTtcbiAgICByZXR1cm4gdW5zaWduZWQubWV0aG9kO1xuICB9XG59XG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU04QjtBQUc5QixzRUFBd0Q7QUFFeEQsbUNBV2lCO0FBQ2pCLCtDQU11QjtBQUV2Qiw2REFBMEQ7QUFDMUQsMkNBQXFEO0FBQ3JELG9EQUE0QjtBQUU1QixNQUFhLHVCQUF3QixTQUFRLHVDQUFrQjtJQUs3RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFJeEIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGdCQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNPLHFCQUFxQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQzdCO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTthQUNuQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQzFCO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTthQUNuQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFD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QztRQUN0RixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBdlBELDBEQXVQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIE5vdEltcGxlbWVudGVkRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgdG9VaW50OEFycmF5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICdqb2knO1xuaW1wb3J0IHtcbiAgQWRkQW5vbnltb3VzUHJveHlCYXRjaENhbGxBcmdzLFxuICBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MsXG4gIEJhdGNoQ2FsbE9iamVjdCxcbiAgQmF0Y2hBcmdzLFxuICBNZXRob2ROYW1lcyxcbiAgU2VjdGlvbk5hbWVzLFxuICBTdGFrZUFyZ3NQYXllZSxcbiAgU3Rha2VCYXRjaENhbGxBcmdzLFxuICBTdGFrZUJhdGNoQ2FsbFBheWVlLFxuICBTdGFrZU1vcmVDYWxsQXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQge1xuICBnZXREZWxlZ2F0ZUFkZHJlc3MsXG4gIGlzU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZCxcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rhc2gsXG4gIGlzU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIsXG4gIGlzU3Rha2VCYXRjaENhbGxQYXllZUFjY291bnQsXG59IGZyb20gJy4vaWZhY2VfdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhdGNoVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBCYXRjaFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfY2FsbHM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX3R5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJpdmF0ZSBfYXRvbWljID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHByb3RlY3RlZCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQmF0Y2hUcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gd2hpY2ggYmF0Y2hlcyB0b2dldGhlciBtdWx0aXBsZSB0cmFuc2FjdGlvbnMuXG4gICAqIFRoZSB0cmFuc2FjdGlvbnMgd2hpY2ggYXJlIGJhdGNoZWQgdG9nZXRoZXIgYXJlIHBhc3NlZCBpbiBhcyBhbiBhcnJheSBvZiBoZXggc3RyaW5nc1xuICAgKiB3aGljaCBhcmUgY29tcG9zZWQgb2YgdGhlIG1ldGhvZCB0byBjYWxsIGFuZCB0aGUgYXJndW1lbnRzIHRvIHBhc3MgaW50byB0aGUgbWV0aG9kLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BvbGthZG90LmpzLm9yZy9kb2NzL3N1YnN0cmF0ZS9leHRyaW5zaWNzLyNiYXRjaGNhbGxzLXZlY2NhbGxcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEJhdGNoVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGlmICh0aGlzLl9hdG9taWMpIHtcbiAgICAgIHJldHVybiBtZXRob2RzLnV0aWxpdHkuYmF0Y2hBbGwoXG4gICAgICAgIHtcbiAgICAgICAgICBjYWxsczogdGhpcy5fY2FsbHMsXG4gICAgICAgIH0sXG4gICAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbWV0aG9kcy51dGlsaXR5LmJhdGNoKFxuICAgICAgICB7XG4gICAgICAgICAgY2FsbHM6IHRoaXMuX2NhbGxzLFxuICAgICAgICB9LFxuICAgICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQmF0Y2g7XG4gIH1cblxuICAvKipcbiAgICogU2V0IG11bHRpcGxlIHVuc2lnbmVkIHRyYW5zYWN0aW9ucyB0byBiZSBiYXRjaGVkIGFuZCBicm9hZGNhc3QgYXMgYSBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtCYXRjaENhbGxbXX0gY2FsbHMgdW5zaWduZWQgdHJhbnNhY3Rpb25zXG4gICAqIEByZXR1cm5zIHtCYXRjaFRyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyBiYXRjaCB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKi9cbiAgY2FsbHMoY2FsbHM6IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUNhbGxzKGNhbGxzKTtcbiAgICB0aGlzLl9jYWxscyA9IGNhbGxzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRydWUgd2hlbiBhIGJhdGNoZWQgY2FsbCBmYWlscyB0aGUgZW50aXJlIHRyYW5zYWN0aW9ucyBpcyByb2xsZWQgYmFjaywgaWYgZmFsc2Ugbm8gcm9sbCBiYWNrXG4gICAqIGlzIHBlcmZvcm1lZCBhbmQgdGhlIGVmZmVjdHMgb2YgYW55IHN1Y2Nlc3NmdWwgY2FsbCBwcmlvciB0byB0aGUgZXJyb3IgcmVtYWluLlxuICAgKlxuICAgKiBAcGFyYW0gYXRvbWljIHRydWUgaWYgY2FsbHMgbXVzdCBzdWNjZWVkIGF0b21pY2FsbHksIGZhbHNlIG90aGVyd2lzZS5cbiAgICovXG4gIGF0b21pYyhhdG9taWM6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLl9hdG9taWMgPSBhdG9taWM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4KTogdm9pZCB7XG4gICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyh0eE1ldGhvZC5jYWxscyk7XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkJhdGNoIHx8IHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2hBbGwpIHtcbiAgICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkJhdGNoQWxsKSB7XG4gICAgICAgIHRoaXMuYXRvbWljKHRydWUpO1xuICAgICAgfVxuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBCYXRjaEFyZ3M7XG4gICAgICBpZiAoIXR4TWV0aG9kLmNhbGxzKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignZmFpbGVkIHRvIGRlY29kZSBjYWxscyBmcm9tIGJhdGNoIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBjYWxsc1RvQmF0Y2g6IHN0cmluZ1tdID0gW107XG4gICAgICB0eE1ldGhvZC5jYWxscy5mb3JFYWNoKChjYWxsKSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IChjYWxsIGFzIEJhdGNoQ2FsbE9iamVjdCkuY2FsbEluZGV4O1xuICAgICAgICBjb25zdCBkZWNvZGVkTWV0aG9kID0gdG9VaW50OEFycmF5KHV0aWxzLnN0cmlwSGV4UHJlZml4KG1ldGhvZCkpO1xuICAgICAgICBjb25zdCBkZWNvZGVkQ2FsbCA9IHRoaXMuX3JlZ2lzdHJ5LmZpbmRNZXRhQ2FsbChkZWNvZGVkTWV0aG9kKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5Qcm94eSAmJlxuICAgICAgICAgIChkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLkFub255bW91cyB8fCBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLlB1cmVQcm94eSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRQdXJlUHJveHlDYWxsKGNhbGwuYXJncyBhcyBBZGRBbm9ueW1vdXNQcm94eUJhdGNoQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuUHJveHkgJiYgZGVjb2RlZENhbGwubWV0aG9kID09PSBNZXRob2ROYW1lcy5BZGRQcm94eSkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0QWRkUHJveHlDYWxsKGNhbGwuYXJncyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuU3Rha2luZyAmJiBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLkJvbmQpIHtcbiAgICAgICAgICBjYWxsc1RvQmF0Y2gucHVzaCh0aGlzLmdldEJvbmRDYWxsKGNhbGwuYXJncyBhcyBTdGFrZUJhdGNoQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuU3Rha2luZyAmJiBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLlVuYm9uZCkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0VW5ib25kQ2FsbChjYWxsLmFyZ3MgYXMgU3Rha2VNb3JlQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuU3Rha2luZyAmJiBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLkNoaWxsKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRDaGlsbENhbGwoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGVjb2RlZENhbGwuc2VjdGlvbiA9PT0gU2VjdGlvbk5hbWVzLlByb3h5ICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuUmVtb3ZlUHJveHkpIHtcbiAgICAgICAgICBjYWxsc1RvQmF0Y2gucHVzaCh0aGlzLmdldFJlbW92ZVByb3h5Q2FsbChjYWxsLmFyZ3MgYXMgQWRkUHJveHlCYXRjaENhbGxBcmdzKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoYGJhdGNoaW5nIG9mIHRyYW5zYWN0aW9uIHdpdGggaW5kZXggJHttZXRob2R9IHVuc3VwcG9ydGVkYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jYWxscyhjYWxsc1RvQmF0Y2gpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgJHtNZXRob2ROYW1lcy5CYXRjaH1gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24oXyk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGxpc3Qgb2YgdW5zaWduZWQgdHJhbnNhY3Rpb25zIGFkZGVkIHRvIGJhdGNoXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGNhbGxzXG4gICAqXG4gICAqL1xuICB2YWxpZGF0ZUNhbGxzKGNhbGxzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGNhbGxzLmZvckVhY2goKGNhbGwpID0+IHtcbiAgICAgIGlmIChjYWxsLnNsaWNlKDAsIDIpICE9PSAnMHgnKSB7XG4gICAgICAgIC8vIGV4YW1wbGU6ICcweDE2MDQwMDAwMDAwMDAwMDAwMCdcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignY2FsbCBpbiBzdHJpbmcgZm9ybWF0IG11c3QgYmUgaGV4IGZvcm1hdCBvZiBhIG1ldGhvZCBhbmQgaXRzIGFyZ3VtZW50cycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gdGhpcy52YWxpZGF0ZUJhdGNoVHJhbnNhY3Rpb25GaWVsZHModGhpcy5fY2FsbHMpO1xuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBBZGRyZXNzSW5pdGlhbGl6YXRpb24gVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUJhdGNoVHJhbnNhY3Rpb25GaWVsZHMoY2FsbHM6IChzdHJpbmcgfCBCYXRjaENhbGxPYmplY3QpW10pOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQmF0Y2hUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBjYWxscyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHVyZVByb3h5Q2FsbChhcmdzOiBBZGRBbm9ueW1vdXNQcm94eUJhdGNoQ2FsbEFyZ3MpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB1bnNpZ25lZCA9IHV0aWxzLnB1cmVQcm94eShcbiAgICAgIHtcbiAgICAgICAgcHJveHlUeXBlOiBhcmdzLnByb3h5X3R5cGUsXG4gICAgICAgIGluZGV4OiBhcmdzLmluZGV4LFxuICAgICAgICBkZWxheTogYXJncy5kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cblxuICBwcml2YXRlIGdldEJvbmRDYWxsKGFyZ3M6IFN0YWtlQmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLmJvbmQoXG4gICAgICB7XG4gICAgICAgIGNvbnRyb2xsZXI6IGFyZ3MuY29udHJvbGxlci5pZCxcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICAgIHBheWVlOiB0aGlzLmdldFBheWVlKGFyZ3MucGF5ZWUpLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5ib25kQ2FsbChhcmdzOiBTdGFrZU1vcmVDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLnVuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgICByZXR1cm4gdW5zaWduZWQubWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXllZShwYXllZTogU3Rha2VCYXRjaENhbGxQYXllZSk6IFN0YWtlQXJnc1BheWVlIHtcbiAgICBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rhc2gocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ1N0YXNoJztcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ0NvbnRyb2xsZXInO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudChwYXllZSkpIHtcbiAgICAgIHJldHVybiB7IEFjY291bnQ6IHBheWVlLmFjY291bnQgfTtcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZChwYXllZSkpIHtcbiAgICAgIHJldHVybiAnU3Rha2VkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBheWVlOiAke3BheWVlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkUHJveHlDYWxsKGFyZ3M6IEFkZFByb3h5QmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5wcm94eS5hZGRQcm94eShcbiAgICAgIHtcbiAgICAgICAgZGVsZWdhdGU6IGdldERlbGVnYXRlQWRkcmVzcyhhcmdzKSxcbiAgICAgICAgcHJveHlUeXBlOiBhcmdzLnByb3h5X3R5cGUsXG4gICAgICAgIGRlbGF5OiBhcmdzLmRlbGF5LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVtb3ZlUHJveHlDYWxsKGFyZ3M6IEFkZFByb3h5QmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5wcm94eS5yZW1vdmVQcm94eShcbiAgICAgIHtcbiAgICAgICAgZGVsZWdhdGU6IGdldERlbGVnYXRlQWRkcmVzcyhhcmdzKSxcbiAgICAgICAgcHJveHlUeXBlOiBhcmdzLnByb3h5X3R5cGUsXG4gICAgICAgIGRlbGF5OiBhcmdzLmRlbGF5LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGxDYWxsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLmNoaWxsKHt9LCBiYXNlVHhJbmZvLmJhc2VUeEluZm8sIGJhc2VUeEluZm8ub3B0aW9ucyk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxufVxuIl19
@@ -13,19 +13,96 @@ export declare enum SectionNames {
13
13
  * Method names for the transaction method. Names change based on the type of transaction e.g 'bond' for the staking transaction
14
14
  */
15
15
  export declare enum MethodNames {
16
+ /**
17
+ * Register a proxy account for the sender that is able to make calls on its behalf.
18
+ *
19
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#addproxydelegate-multiaddress-proxy_type-kitchensinkruntimeproxytype-delay-u32
20
+ */
16
21
  AddProxy = "addProxy",
22
+ /**
23
+ * Unregister a proxy account for the sender.
24
+ *
25
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#removeproxydelegate-multiaddress-proxy_type-kitchensinkruntimeproxytype-delay-u32
26
+ */
17
27
  RemoveProxy = "removeProxy",
28
+ /**
29
+ * Dispatch the given call from an account that the sender is authorised for through add_proxy.
30
+ *
31
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxyreal-multiaddress-force_proxy_type-optionkitchensinkruntimeproxytype-call-call
32
+ */
18
33
  Proxy = "proxy",
34
+ /**
35
+ * Take the origin account as a stash and lock up value of its balance. controller will be the account that controls it.
36
+ *
37
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#bondcontroller-multiaddress-value-compactu128-payee-palletstakingrewarddestination
38
+ */
19
39
  Bond = "bond",
40
+ /**
41
+ * Add some extra amount that have appeared in the stash free_balance into the balance up for staking.
42
+ *
43
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#bondextramax_additional-compactu128
44
+ */
20
45
  BondExtra = "bondExtra",
46
+ /**
47
+ * Transfer the entire transferable balance from the caller account.
48
+ *
49
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#transferalldest-multiaddress-keep_alive-bool
50
+ */
21
51
  TransferAll = "transferAll",
52
+ /**
53
+ * Same as the transfer call, but with a check that the transfer will not kill the origin account.
54
+ *
55
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#transferkeepalivedest-multiaddress-value-compactu128
56
+ */
22
57
  TransferKeepAlive = "transferKeepAlive",
58
+ /**
59
+ * Schedule a portion of the stash to be unlocked ready for transfer out after the bond period ends.
60
+ *
61
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#unbondvalue-compactu128
62
+ */
23
63
  Unbond = "unbond",
64
+ /**
65
+ * @deprecated Anonymous proxies were renamed to pure proxies.
66
+ *
67
+ * @see PureProxy
68
+ * @see https://polkadot.polkassembly.io/referendum/84
69
+ */
24
70
  Anonymous = "anonymous",
71
+ /**
72
+ * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and initialize it with a proxy of proxy_type for origin sender.
73
+ *
74
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#createpureproxy_type-kitchensinkruntimeproxytype-delay-u32-index-u16
75
+ */
76
+ PureProxy = "createPure",
77
+ /**
78
+ * Send a batch of dispatch calls.
79
+ *
80
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#batchcalls-veccall
81
+ */
25
82
  Batch = "batch",
83
+ /**
84
+ * Send a batch of dispatch calls and atomically execute them. The whole transaction will rollback and fail if any of the calls failed.
85
+ *
86
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#batchallcalls-veccall
87
+ */
26
88
  BatchAll = "batchAll",
89
+ /**
90
+ * Declare no desire to either validate or nominate.
91
+ *
92
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#chill
93
+ */
27
94
  Chill = "chill",
95
+ /**
96
+ * Remove any unlocked chunks from the unlocking queue from our management.
97
+ *
98
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#withdrawunbondednum_slashing_spans-u32
99
+ */
28
100
  WithdrawUnbonded = "withdrawUnbonded",
101
+ /**
102
+ * Pay out all the stakers behind a single validator for a single era.
103
+ *
104
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#payoutstakersvalidator_stash-accountid32-era-u32
105
+ */
29
106
  PayoutStakers = "payoutStakers"
30
107
  }
31
108
  /**
@@ -58,6 +135,7 @@ export interface TxData {
58
135
  numSlashingSpans?: number;
59
136
  validatorStash?: string;
60
137
  claimEra?: string;
138
+ keepAlive?: boolean;
61
139
  }
62
140
  /**
63
141
  * Transaction method specific args
@@ -130,7 +208,7 @@ export declare enum ProxyType {
130
208
  * Transaction method specific args
131
209
  */
132
210
  export interface AddProxyArgs {
133
- delegate: string;
211
+ delegate: string | AccountId;
134
212
  delay: string;
135
213
  proxyType: ProxyType;
136
214
  }
@@ -158,10 +236,13 @@ export interface AddAnonymousProxyBatchCallArgs {
158
236
  delay: number;
159
237
  }
160
238
  export interface AddProxyBatchCallArgs {
161
- delegate: string;
239
+ delegate: string | AccountId;
162
240
  proxy_type: ProxyType;
163
241
  delay: number;
164
242
  }
243
+ export declare type AccountId = {
244
+ id: string;
245
+ };
165
246
  export declare type StakeBatchCallPayeeStaked = {
166
247
  staked: null;
167
248
  };
@@ -175,10 +256,6 @@ export declare type StakeBatchCallPayeeAccount = {
175
256
  account: string;
176
257
  };
177
258
  export declare type StakeBatchCallPayee = StakeBatchCallPayeeStaked | StakeBatchCallPayeeStash | StakeBatchCallPayeeController | StakeBatchCallPayeeAccount;
178
- export declare function isStakeBatchCallPayeeStaked(value: StakeBatchCallPayee): value is StakeBatchCallPayeeStaked;
179
- export declare function isStakeBatchCallPayeeStash(value: StakeBatchCallPayee): value is StakeBatchCallPayeeStash;
180
- export declare function isStakeBatchCallPayeeController(value: StakeBatchCallPayee): value is StakeBatchCallPayeeController;
181
- export declare function isStakeBatchCallPayeeAccount(value: StakeBatchCallPayee): value is StakeBatchCallPayeeAccount;
182
259
  export interface StakeBatchCallArgs {
183
260
  value: string;
184
261
  controller: {
@@ -203,7 +280,7 @@ export declare type ProxyCallArgs = {
203
280
  * Transaction method specific args
204
281
  */
205
282
  export interface ProxyArgs {
206
- real: string;
283
+ real: string | AccountId;
207
284
  forceProxyType: ProxyType;
208
285
  }
209
286
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}