@bitgo-beta/sdk-coin-eth 4.4.1-beta.98 → 4.4.1-beta.981
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 +1460 -0
- package/dist/src/erc20Token.d.ts +13 -5
- package/dist/src/erc20Token.d.ts.map +1 -1
- package/dist/src/erc20Token.js +61 -23
- package/dist/src/eth.d.ts +22 -533
- package/dist/src/eth.d.ts.map +1 -1
- package/dist/src/eth.js +198 -1613
- package/dist/src/gteth.d.ts +0 -4
- package/dist/src/gteth.d.ts.map +1 -1
- package/dist/src/gteth.js +1 -11
- package/dist/src/hteth.d.ts +8 -0
- package/dist/src/hteth.d.ts.map +1 -0
- package/dist/src/hteth.js +14 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -2
- package/dist/src/lib/index.d.ts +5 -13
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +18 -30
- package/dist/src/lib/messages/index.d.ts +3 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +6 -0
- package/dist/src/lib/transactionBuilder.d.ts +9 -213
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +18 -677
- package/dist/src/lib/transferBuilder.d.ts +2 -50
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +3 -199
- package/dist/src/lib/transferBuilders/index.d.ts +2 -3
- package/dist/src/lib/transferBuilders/index.d.ts.map +1 -1
- package/dist/src/lib/transferBuilders/index.js +6 -14
- package/dist/src/lib/walletUtil.d.ts +0 -25
- package/dist/src/lib/walletUtil.d.ts.map +1 -1
- package/dist/src/lib/walletUtil.js +2 -27
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +3 -1
- package/dist/src/teth.d.ts +0 -3
- package/dist/src/teth.d.ts.map +1 -1
- package/dist/src/teth.js +1 -8
- package/package.json +12 -17
- package/dist/src/lib/contractCall.d.ts +0 -8
- package/dist/src/lib/contractCall.d.ts.map +0 -1
- package/dist/src/lib/contractCall.js +0 -17
- package/dist/src/lib/iface.d.ts +0 -130
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -8
- package/dist/src/lib/keyPair.d.ts +0 -26
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -66
- package/dist/src/lib/transaction.d.ts +0 -64
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -137
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +0 -47
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +0 -113
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +0 -14
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +0 -83
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +0 -13
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/transferBuilderERC721.js +0 -68
- package/dist/src/lib/types.d.ts +0 -39
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -137
- package/dist/src/lib/utils.d.ts +0 -227
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -577
|
@@ -1,41 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { TransferBuilder as EthTransferBuilder } from '@bitgo-beta/abstract-eth';
|
|
2
2
|
/** ETH transfer builder */
|
|
3
|
-
export declare class TransferBuilder {
|
|
4
|
-
private readonly _EMPTY_HEX_VALUE;
|
|
5
|
-
protected _amount: string;
|
|
6
|
-
protected _toAddress: string;
|
|
7
|
-
protected _sequenceId: number;
|
|
8
|
-
protected _signKey: string;
|
|
9
|
-
protected _expirationTime: number;
|
|
10
|
-
protected _signature: string;
|
|
11
|
-
private _data;
|
|
12
|
-
private _tokenContractAddress?;
|
|
13
|
-
private _coin;
|
|
14
|
-
constructor(serializedData?: string);
|
|
15
|
-
/**
|
|
16
|
-
* A method to set the ERC20 token to be transferred.
|
|
17
|
-
* This ERC20 token may not be compatible with the network.
|
|
18
|
-
*
|
|
19
|
-
* @param {string} coin the ERC20 coin to be set
|
|
20
|
-
* @returns {TransferBuilder} the transfer builder instance modified
|
|
21
|
-
*/
|
|
22
|
-
coin(coin: string): TransferBuilder;
|
|
23
|
-
data(additionalData: string): TransferBuilder;
|
|
24
|
-
amount(amount: string): this;
|
|
25
|
-
to(address: string): TransferBuilder;
|
|
26
|
-
contractSequenceId(counter: number): TransferBuilder;
|
|
27
|
-
key(signKey: string): TransferBuilder;
|
|
28
|
-
expirationTime(date: number): TransferBuilder;
|
|
29
|
-
signAndBuild(): string;
|
|
30
|
-
private hasMandatoryFields;
|
|
31
|
-
/**
|
|
32
|
-
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
33
|
-
* or a sendMultiSigToken data
|
|
34
|
-
*
|
|
35
|
-
* @returns {string} the operation hash
|
|
36
|
-
*/
|
|
37
|
-
private getOperationHash;
|
|
38
|
-
protected getOperationData(): (string | Buffer)[][];
|
|
3
|
+
export declare class TransferBuilder extends EthTransferBuilder {
|
|
39
4
|
/**
|
|
40
5
|
* Get the prefix used in generating an operation hash for sending tokens
|
|
41
6
|
*
|
|
@@ -48,18 +13,5 @@ export declare class TransferBuilder {
|
|
|
48
13
|
* @returns the string prefix
|
|
49
14
|
*/
|
|
50
15
|
protected getNativeOperationHashPrefix(): string;
|
|
51
|
-
/** Return an expiration time, in seconds, set to one hour from now
|
|
52
|
-
*
|
|
53
|
-
* @returns {number} expiration time
|
|
54
|
-
*/
|
|
55
|
-
private getExpirationTime;
|
|
56
|
-
/**
|
|
57
|
-
* If a signing key is set for this builder, recalculates the signature
|
|
58
|
-
*
|
|
59
|
-
* @returns {string} the signature value
|
|
60
|
-
*/
|
|
61
|
-
protected getSignature(): string;
|
|
62
|
-
protected ethSignMsgHash(): string;
|
|
63
|
-
private decodeTransferData;
|
|
64
16
|
}
|
|
65
17
|
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,2BAA2B;AAC3B,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAI/C;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;CAGjD"}
|
|
@@ -1,157 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
3
|
exports.TransferBuilder = void 0;
|
|
26
|
-
const
|
|
27
|
-
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
28
|
-
const bn_js_1 = __importDefault(require("bn.js"));
|
|
29
|
-
const statics_1 = require("@bitgo-beta/statics");
|
|
30
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
31
|
-
const utils_1 = require("./utils");
|
|
4
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
32
5
|
/** ETH transfer builder */
|
|
33
|
-
class TransferBuilder {
|
|
34
|
-
constructor(serializedData) {
|
|
35
|
-
this._EMPTY_HEX_VALUE = '0x';
|
|
36
|
-
if (serializedData) {
|
|
37
|
-
this.decodeTransferData(serializedData);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
// initialize with default values for non mandatory fields
|
|
41
|
-
this._expirationTime = this.getExpirationTime();
|
|
42
|
-
this._data = this._EMPTY_HEX_VALUE;
|
|
43
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* A method to set the ERC20 token to be transferred.
|
|
48
|
-
* This ERC20 token may not be compatible with the network.
|
|
49
|
-
*
|
|
50
|
-
* @param {string} coin the ERC20 coin to be set
|
|
51
|
-
* @returns {TransferBuilder} the transfer builder instance modified
|
|
52
|
-
*/
|
|
53
|
-
coin(coin) {
|
|
54
|
-
this._coin = statics_1.coins.get(coin);
|
|
55
|
-
if (this._coin instanceof statics_1.ContractAddressDefinedToken) {
|
|
56
|
-
this._tokenContractAddress = this._coin.contractAddress.toString();
|
|
57
|
-
}
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
data(additionalData) {
|
|
61
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
62
|
-
this._data = additionalData;
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
amount(amount) {
|
|
66
|
-
if (!utils_1.isValidAmount(amount)) {
|
|
67
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
|
|
68
|
-
}
|
|
69
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
70
|
-
this._amount = amount;
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
to(address) {
|
|
74
|
-
if (utils_1.isValidEthAddress(address)) {
|
|
75
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
76
|
-
this._toAddress = address;
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
80
|
-
}
|
|
81
|
-
contractSequenceId(counter) {
|
|
82
|
-
if (counter >= 0) {
|
|
83
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
84
|
-
this._sequenceId = counter;
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid contract sequence id');
|
|
88
|
-
}
|
|
89
|
-
key(signKey) {
|
|
90
|
-
this._signKey = signKey;
|
|
91
|
-
return this;
|
|
92
|
-
}
|
|
93
|
-
expirationTime(date) {
|
|
94
|
-
if (date > 0) {
|
|
95
|
-
this._signature = this._EMPTY_HEX_VALUE;
|
|
96
|
-
this._expirationTime = date;
|
|
97
|
-
return this;
|
|
98
|
-
}
|
|
99
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid expiration time');
|
|
100
|
-
}
|
|
101
|
-
signAndBuild() {
|
|
102
|
-
if (this.hasMandatoryFields()) {
|
|
103
|
-
if (this._tokenContractAddress !== undefined) {
|
|
104
|
-
return utils_1.sendMultiSigTokenData(this._toAddress, this._amount, this._tokenContractAddress, this._expirationTime, this._sequenceId, this.getSignature());
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
return utils_1.sendMultiSigData(this._toAddress, this._amount, this._data, this._expirationTime, this._sequenceId, this.getSignature());
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
throw new sdk_core_1.BuildTransactionError('Missing transfer mandatory fields. Amount, destination (to) address and sequenceID are mandatory');
|
|
111
|
-
}
|
|
112
|
-
hasMandatoryFields() {
|
|
113
|
-
return this._amount !== undefined && this._toAddress !== undefined && this._sequenceId !== undefined;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Obtains the proper operation hash to sign either a sendMultiSig data
|
|
117
|
-
* or a sendMultiSigToken data
|
|
118
|
-
*
|
|
119
|
-
* @returns {string} the operation hash
|
|
120
|
-
*/
|
|
121
|
-
getOperationHash() {
|
|
122
|
-
const operationData = this.getOperationData();
|
|
123
|
-
return ethUtil.bufferToHex(ethereumjs_abi_1.default.soliditySHA3(...operationData));
|
|
124
|
-
}
|
|
125
|
-
getOperationData() {
|
|
126
|
-
let operationData;
|
|
127
|
-
if (this._tokenContractAddress !== undefined) {
|
|
128
|
-
operationData = [
|
|
129
|
-
['string', 'address', 'uint', 'address', 'uint', 'uint'],
|
|
130
|
-
[
|
|
131
|
-
this.getTokenOperationHashPrefix(),
|
|
132
|
-
new bn_js_1.default(ethUtil.stripHexPrefix(this._toAddress), 16),
|
|
133
|
-
this._amount,
|
|
134
|
-
new bn_js_1.default(ethUtil.stripHexPrefix(this._tokenContractAddress), 16),
|
|
135
|
-
this._expirationTime,
|
|
136
|
-
this._sequenceId,
|
|
137
|
-
],
|
|
138
|
-
];
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
operationData = [
|
|
142
|
-
['string', 'address', 'uint', 'bytes', 'uint', 'uint'],
|
|
143
|
-
[
|
|
144
|
-
this.getNativeOperationHashPrefix(),
|
|
145
|
-
new bn_js_1.default(ethUtil.stripHexPrefix(this._toAddress), 16),
|
|
146
|
-
this._amount,
|
|
147
|
-
Buffer.from(ethUtil.padToEven(ethUtil.stripHexPrefix(this._data)) || '', 'hex'),
|
|
148
|
-
this._expirationTime,
|
|
149
|
-
this._sequenceId,
|
|
150
|
-
],
|
|
151
|
-
];
|
|
152
|
-
}
|
|
153
|
-
return operationData;
|
|
154
|
-
}
|
|
6
|
+
class TransferBuilder extends abstract_eth_1.TransferBuilder {
|
|
155
7
|
/**
|
|
156
8
|
* Get the prefix used in generating an operation hash for sending tokens
|
|
157
9
|
*
|
|
@@ -168,54 +20,6 @@ class TransferBuilder {
|
|
|
168
20
|
getNativeOperationHashPrefix() {
|
|
169
21
|
return 'ETHER';
|
|
170
22
|
}
|
|
171
|
-
/** Return an expiration time, in seconds, set to one hour from now
|
|
172
|
-
*
|
|
173
|
-
* @returns {number} expiration time
|
|
174
|
-
*/
|
|
175
|
-
getExpirationTime() {
|
|
176
|
-
const currentDate = new Date();
|
|
177
|
-
currentDate.setHours(currentDate.getHours() + 1);
|
|
178
|
-
return currentDate.getTime() / 1000;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* If a signing key is set for this builder, recalculates the signature
|
|
182
|
-
*
|
|
183
|
-
* @returns {string} the signature value
|
|
184
|
-
*/
|
|
185
|
-
getSignature() {
|
|
186
|
-
if (this._signKey) {
|
|
187
|
-
this._signature = this.ethSignMsgHash();
|
|
188
|
-
}
|
|
189
|
-
return this._signature;
|
|
190
|
-
}
|
|
191
|
-
ethSignMsgHash() {
|
|
192
|
-
const data = this.getOperationHash();
|
|
193
|
-
const keyBuffer = Buffer.from(ethUtil.padToEven(this._signKey), 'hex');
|
|
194
|
-
if (keyBuffer.length != 32) {
|
|
195
|
-
throw new Error('private key length is invalid');
|
|
196
|
-
}
|
|
197
|
-
const signatureInParts = ethUtil.ecsign(Buffer.from(ethUtil.padToEven(ethUtil.stripHexPrefix(data)), 'hex'), keyBuffer);
|
|
198
|
-
// Assemble strings from r, s and v
|
|
199
|
-
const r = ethUtil.setLengthLeft(signatureInParts.r, 32).toString('hex');
|
|
200
|
-
const s = ethUtil.setLengthLeft(signatureInParts.s, 32).toString('hex');
|
|
201
|
-
const v = ethUtil.stripHexPrefix(ethUtil.intToHex(signatureInParts.v));
|
|
202
|
-
// Concatenate the r, s and v parts to make the signature string
|
|
203
|
-
return ethUtil.addHexPrefix(r.concat(s, v));
|
|
204
|
-
}
|
|
205
|
-
decodeTransferData(data) {
|
|
206
|
-
const transferData = utils_1.decodeTransferData(data);
|
|
207
|
-
this._toAddress = transferData.to;
|
|
208
|
-
this._amount = transferData.amount;
|
|
209
|
-
this._expirationTime = transferData.expireTime;
|
|
210
|
-
this._sequenceId = transferData.sequenceId;
|
|
211
|
-
this._signature = transferData.signature;
|
|
212
|
-
if (transferData.data) {
|
|
213
|
-
this._data = transferData.data;
|
|
214
|
-
}
|
|
215
|
-
if (transferData.tokenContractAddress) {
|
|
216
|
-
this._tokenContractAddress = transferData.tokenContractAddress;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
23
|
}
|
|
220
24
|
exports.TransferBuilder = TransferBuilder;
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUEyQztBQUMzQyxvRUFBeUM7QUFDekMsa0RBQXVCO0FBQ3ZCLGlEQUFtRjtBQUNuRixtREFBeUY7QUFDekYsbUNBQXdIO0FBRXhILDJCQUEyQjtBQUMzQixNQUFhLGVBQWU7SUFZMUIsWUFBWSxjQUF1QjtRQVhsQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFZdkMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVkscUNBQTJCLEVBQUU7WUFDckQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQXNCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcs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QUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLGdFQUFnRTtRQUNoRSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNyQyxNQUFNLFlBQVksR0FBRywwQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBRXpDLElBQUksWUFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDaEM7UUFFRCxJQUFJLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtZQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztDQUNGO0FBNU9ELDBDQTRPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGV0aFV0aWwgZnJvbSAnZXRoZXJldW1qcy11dGlsJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgQk4gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHsgY29pbnMsIEJhc2VDb2luLCBDb250cmFjdEFkZHJlc3NEZWZpbmVkVG9rZW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2ZlckRhdGEsIHNlbmRNdWx0aVNpZ0RhdGEsIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YSwgaXNWYWxpZEV0aEFkZHJlc3MsIGlzVmFsaWRBbW91bnQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqIEVUSCB0cmFuc2ZlciBidWlsZGVyICovXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfRU1QVFlfSEVYX1ZBTFVFID0gJzB4JztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90b0FkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZUlkOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbktleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvaW46IFJlYWRvbmx5PEJhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVUcmFuc2ZlckRhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMgZm9yIG5vbiBtYW5kYXRvcnkgZmllbGRzXG4gICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRoaXMuZ2V0RXhwaXJhdGlvblRpbWUoKTtcbiAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIHNldCB0aGUgRVJDMjAgdG9rZW4gdG8gYmUgdHJhbnNmZXJyZWQuXG4gICAqIFRoaXMgRVJDMjAgdG9rZW4gbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIG5ldHdvcmsuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2luIHRoZSBFUkMyMCBjb2luIHRvIGJlIHNldFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgdHJhbnNmZXIgYnVpbGRlciBpbnN0YW5jZSBtb2RpZmllZFxuICAgKi9cbiAgY29pbihjb2luOiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX2NvaW4gPSBjb2lucy5nZXQoY29pbik7XG5cbiAgICBpZiAodGhpcy5fY29pbiBpbnN0YW5jZW9mIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbikge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0aGlzLl9jb2luLmNvbnRyYWN0QWRkcmVzcy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZGF0YShhZGRpdGlvbmFsRGF0YTogc3RyaW5nKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgdGhpcy5fZGF0YSA9IGFkZGl0aW9uYWxEYXRhO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5fRU1QVFlfSEVYX1ZBTFVFO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHRvKGFkZHJlc3M6IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl90b0FkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gIH1cblxuICBjb250cmFjdFNlcXVlbmNlSWQoY291bnRlcjogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoY291bnRlciA+PSAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zZXF1ZW5jZUlkID0gY291bnRlcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgY29udHJhY3Qgc2VxdWVuY2UgaWQnKTtcbiAgfVxuXG4gIGtleShzaWduS2V5OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX3NpZ25LZXkgPSBzaWduS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZXhwaXJhdGlvblRpbWUoZGF0ZTogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoZGF0ZSA+IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZSA9IHRoaXMuX0VNUFRZX0hFWF9WQUxVRTtcbiAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gZGF0ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgZXhwaXJhdGlvbiB0aW1lJyk7XG4gIH1cblxuICBzaWduQW5kQnVpbGQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNNYW5kYXRvcnlGaWVsZHMoKSkge1xuICAgICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YShcbiAgICAgICAgICB0aGlzLl90b0FkZHJlc3MsXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHRoaXMuX3NlcXVlbmNlSWQsXG4gICAgICAgICAgdGhpcy5nZXRTaWduYXR1cmUoKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNlbmRNdWx0aVNpZ0RhdGEoXG4gICAgICAgICAgdGhpcy5fdG9BZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX2Ftb3VudCxcbiAgICAgICAgICB0aGlzLl9kYXRhLFxuICAgICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHRoaXMuX3NlcXVlbmNlSWQsXG4gICAgICAgICAgdGhpcy5nZXRTaWduYXR1cmUoKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgJ01pc3NpbmcgdHJhbnNmZXIgbWFuZGF0b3J5IGZpZWxkcy4gQW1vdW50LCBkZXN0aW5hdGlvbiAodG8pIGFkZHJlc3MgYW5kIHNlcXVlbmNlSUQgYXJlIG1hbmRhdG9yeSdcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNYW5kYXRvcnlGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3RvQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlcXVlbmNlSWQgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW5zIHRoZSBwcm9wZXIgb3BlcmF0aW9uIGhhc2ggdG8gc2lnbiBlaXRoZXIgYSBzZW5kTXVsdGlTaWcgZGF0YVxuICAgKiBvciBhIHNlbmRNdWx0aVNpZ1Rva2VuIGRhdGFcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIG9wZXJhdGlvbiBoYXNoXG4gICAqL1xuICBwcml2YXRlIGdldE9wZXJhdGlvbkhhc2goKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcGVyYXRpb25EYXRhID0gdGhpcy5nZXRPcGVyYXRpb25EYXRhKCk7XG4gICAgcmV0dXJuIGV0aFV0aWwuYnVmZmVyVG9IZXgoRXRoZXJldW1BYmkuc29saWRpdHlTSEEzKC4uLm9wZXJhdGlvbkRhdGEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPcGVyYXRpb25EYXRhKCk6IChzdHJpbmcgfCBCdWZmZXIpW11bXSB7XG4gICAgbGV0IG9wZXJhdGlvbkRhdGE7XG4gICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wZXJhdGlvbkRhdGEgPSBbXG4gICAgICAgIFsnc3RyaW5nJywgJ2FkZHJlc3MnLCAndWludCcsICdhZGRyZXNzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5nZXRUb2tlbk9wZXJhdGlvbkhhc2hQcmVmaXgoKSxcbiAgICAgICAgICBuZXcgQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b0FkZHJlc3MpLCAxNiksXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIG5ldyBCTihldGhVdGlsLnN0cmlwSGV4UHJlZml4KHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzKSwgMTYpLFxuICAgICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHRoaXMuX3NlcXVlbmNlSWQsXG4gICAgICAgIF0sXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcGVyYXRpb25EYXRhID0gW1xuICAgICAgICBbJ3N0cmluZycsICdhZGRyZXNzJywgJ3VpbnQnLCAnYnl0ZXMnLCAndWludCcsICd1aW50J10sXG4gICAgICAgIFtcbiAgICAgICAgICB0aGlzLmdldE5hdGl2ZU9wZXJhdGlvbkhhc2hQcmVmaXgoKSxcbiAgICAgICAgICBuZXcgQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b0FkZHJlc3MpLCAxNiksXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwucGFkVG9FdmVuKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgodGhpcy5fZGF0YSkpIHx8ICcnLCAnaGV4JyksXG4gICAgICAgICAgdGhpcy5fZXhwaXJhdGlvblRpbWUsXG4gICAgICAgICAgdGhpcy5fc2VxdWVuY2VJZCxcbiAgICAgICAgXSxcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBvcGVyYXRpb25EYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJlZml4IHVzZWQgaW4gZ2VuZXJhdGluZyBhbiBvcGVyYXRpb24gaGFzaCBmb3Igc2VuZGluZyB0b2tlbnNcbiAgICpcbiAgICogQHJldHVybnMgdGhlIHN0cmluZyBwcmVmaXhcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUb2tlbk9wZXJhdGlvbkhhc2hQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0VSQzIwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHByZWZpeCB1c2VkIGluIGdlbmVyYXRpbmcgYW4gb3BlcmF0aW9uIGhhc2ggZm9yIHNlbmRpbmcgbmF0aXZlIGNvaW5zXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSBzdHJpbmcgcHJlZml4XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0TmF0aXZlT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnRVRIRVInO1xuICB9XG5cbiAgLyoqIFJldHVybiBhbiBleHBpcmF0aW9uIHRpbWUsIGluIHNlY29uZHMsIHNldCB0byBvbmUgaG91ciBmcm9tIG5vd1xuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBleHBpcmF0aW9uIHRpbWVcbiAgICovXG4gIHByaXZhdGUgZ2V0RXhwaXJhdGlvblRpbWUoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY3VycmVudERhdGUuc2V0SG91cnMoY3VycmVudERhdGUuZ2V0SG91cnMoKSArIDEpO1xuICAgIHJldHVybiBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGEgc2lnbmluZyBrZXkgaXMgc2V0IGZvciB0aGlzIGJ1aWxkZXIsIHJlY2FsY3VsYXRlcyB0aGUgc2lnbmF0dXJlXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBzaWduYXR1cmUgdmFsdWVcbiAgICovXG4gIHByb3RlY3RlZCBnZXRTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fc2lnbktleSkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5ldGhTaWduTXNnSGFzaCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlITtcbiAgfVxuXG4gIHByb3RlY3RlZCBldGhTaWduTXNnSGFzaCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldE9wZXJhdGlvbkhhc2goKTtcbiAgICBjb25zdCBrZXlCdWZmZXIgPSBCdWZmZXIuZnJvbShldGhVdGlsLnBhZFRvRXZlbih0aGlzLl9zaWduS2V5KSwgJ2hleCcpO1xuICAgIGlmIChrZXlCdWZmZXIubGVuZ3RoICE9IDMyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ByaXZhdGUga2V5IGxlbmd0aCBpcyBpbnZhbGlkJyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hdHVyZUluUGFydHMgPSBldGhVdGlsLmVjc2lnbihcbiAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwucGFkVG9FdmVuKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgoZGF0YSkpLCAnaGV4JyksXG4gICAgICBrZXlCdWZmZXJcbiAgICApO1xuXG4gICAgLy8gQXNzZW1ibGUgc3RyaW5ncyBmcm9tIHIsIHMgYW5kIHZcbiAgICBjb25zdCByID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMuciwgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBzID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMucywgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB2ID0gZXRoVXRpbC5zdHJpcEhleFByZWZpeChldGhVdGlsLmludFRvSGV4KHNpZ25hdHVyZUluUGFydHMudikpO1xuXG4gICAgLy8gQ29uY2F0ZW5hdGUgdGhlIHIsIHMgYW5kIHYgcGFydHMgdG8gbWFrZSB0aGUgc2lnbmF0dXJlIHN0cmluZ1xuICAgIHJldHVybiBldGhVdGlsLmFkZEhleFByZWZpeChyLmNvbmNhdChzLCB2KSk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZVRyYW5zZmVyRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBkZWNvZGVUcmFuc2ZlckRhdGEoZGF0YSk7XG5cbiAgICB0aGlzLl90b0FkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG87XG4gICAgdGhpcy5fYW1vdW50ID0gdHJhbnNmZXJEYXRhLmFtb3VudDtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRyYW5zZmVyRGF0YS5leHBpcmVUaW1lO1xuICAgIHRoaXMuX3NlcXVlbmNlSWQgPSB0cmFuc2ZlckRhdGEuc2VxdWVuY2VJZDtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0cmFuc2ZlckRhdGEuc2lnbmF0dXJlO1xuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS5kYXRhKSB7XG4gICAgICB0aGlzLl9kYXRhID0gdHJhbnNmZXJEYXRhLmRhdGE7XG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzcykge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG9rZW5Db250cmFjdEFkZHJlc3M7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlGO0FBRWpGLDJCQUEyQjtBQUMzQixNQUFhLGVBQWdCLFNBQVEsOEJBQWtCO0lBQ3JEOzs7O09BSUc7SUFDTywyQkFBMkI7UUFDbkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyw0QkFBNEI7UUFDcEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBbEJELDBDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciBhcyBFdGhUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuXG4vKiogRVRIIHRyYW5zZmVyIGJ1aWxkZXIgKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBFdGhUcmFuc2ZlckJ1aWxkZXIge1xuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIHRva2Vuc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnRVJDMjAnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJlZml4IHVzZWQgaW4gZ2VuZXJhdGluZyBhbiBvcGVyYXRpb24gaGFzaCBmb3Igc2VuZGluZyBuYXRpdmUgY29pbnNcbiAgICpcbiAgICogQHJldHVybnMgdGhlIHN0cmluZyBwcmVmaXhcbiAgICovXG4gIHByb3RlY3RlZCBnZXROYXRpdmVPcGVyYXRpb25IYXNoUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdFVEhFUic7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export * from './transferBuilderERC721';
|
|
1
|
+
import { BaseNFTTransferBuilder, ERC721TransferBuilder, ERC1155TransferBuilder } from '@bitgo-beta/abstract-eth';
|
|
2
|
+
export { BaseNFTTransferBuilder, ERC721TransferBuilder, ERC1155TransferBuilder };
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/transferBuilders/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/transferBuilders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEjH,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
exports.ERC1155TransferBuilder = exports.ERC721TransferBuilder = exports.BaseNFTTransferBuilder = void 0;
|
|
4
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
5
|
+
Object.defineProperty(exports, "BaseNFTTransferBuilder", { enumerable: true, get: function () { return abstract_eth_1.BaseNFTTransferBuilder; } });
|
|
6
|
+
Object.defineProperty(exports, "ERC721TransferBuilder", { enumerable: true, get: function () { return abstract_eth_1.ERC721TransferBuilder; } });
|
|
7
|
+
Object.defineProperty(exports, "ERC1155TransferBuilder", { enumerable: true, get: function () { return abstract_eth_1.ERC1155TransferBuilder; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zZmVyQnVpbGRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlIO0FBRXhHLHVHQUZBLHFDQUFzQixPQUVBO0FBQUUsc0dBRkEsb0NBQXFCLE9BRUE7QUFBRSx1R0FGQSxxQ0FBc0IsT0FFQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VORlRUcmFuc2ZlckJ1aWxkZXIsIEVSQzcyMVRyYW5zZmVyQnVpbGRlciwgRVJDMTE1NVRyYW5zZmVyQnVpbGRlciB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5cbmV4cG9ydCB7IEJhc2VORlRUcmFuc2ZlckJ1aWxkZXIsIEVSQzcyMVRyYW5zZmVyQnVpbGRlciwgRVJDMTE1NVRyYW5zZmVyQnVpbGRlciB9O1xuIl19
|
|
@@ -1,27 +1,2 @@
|
|
|
1
|
-
export declare const sendMultisigMethodId = "0x39125215";
|
|
2
|
-
export declare const sendMultisigTokenMethodId = "0x0dcd7a6c";
|
|
3
|
-
export declare const v1CreateForwarderMethodId = "0xfb90b320";
|
|
4
|
-
export declare const v1WalletInitializationFirstBytes = "0x60806040";
|
|
5
|
-
export declare const v1CreateWalletMethodId = "0x7117f3fa";
|
|
6
|
-
export declare const createForwarderMethodId = "0xa68a76cc";
|
|
7
|
-
export declare const walletInitializationFirstBytes = "0x60606040";
|
|
8
|
-
export declare const recoveryWalletInitializationFirstBytes = "0x60c06040";
|
|
9
|
-
export declare const flushForwarderTokensMethodId = "0x2da03409";
|
|
10
|
-
export declare const flushCoinsMethodId = "0x6b9f96ea";
|
|
11
|
-
export declare const ERC721SafeTransferTypeMethodId = "0xb88d4fde";
|
|
12
|
-
export declare const ERC1155SafeTransferTypeMethodId = "0xf242432a";
|
|
13
|
-
export declare const ERC1155BatchTransferTypeMethodId = "0x2eb2c2d6";
|
|
14
|
-
export declare const defaultForwarderVersion = 0;
|
|
15
|
-
export declare const defaultWalletVersion = 0;
|
|
16
1
|
export declare const walletSimpleByteCode = "0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b60405161155b38038061155b833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b61140c8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106a7565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610773565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a72565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610b16565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610b95565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610ba8565b005b60008061049b33610a72565b15156104a657600080fd5b878787878760405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183815260200182815260200195505050505050604051809103902091506105898883858888610c3b565b508590508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063857600080fd5b6102c65a03f1151561064957600080fd5b50505060405180519050151561065e57600080fd5b5050505050505050565b60008181548110151561067757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b233610a72565b15156106bd57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561075a57600080fd5b6102c65a03f1151561076b57600080fd5b505050505050565b60008061077f33610a72565b151561078a57600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b602083101515610833578051825260208201915060208101905060208303925061080e565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061087f8883858888610c3b565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561091857600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a29578082015181840152602081019050610a0e565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610b0b578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610aad57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610afe5760019150610b10565b8080600101915050610a7a565b600091505b50919050565b6000806000809150600090505b600a811015610b655781600282600a81101515610b3c57fe5b01541115610b5857600281600a81101515610b5357fe5b015491505b8080600101915050610b23565b600182019250505090565b6000610b7a610e90565b604051809103906000f0801515610b9057600080fd5b905090565b600160009054906101000a900460ff1681565b610bb133610a72565b1515610bbc57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610c488686610ce6565b9050600160009054906101000a900460ff168015610c6c5750610c6a87610a72565b155b15610c7657600080fd5b42841015610c8357600080fd5b610c8c83610db9565b610c9581610a72565b1515610ca057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd957600080fd5b8091505095945050505050565b60008060008060418551141515610cfc57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610d2757601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610da557600080fd5b505060206040510351935050505092915050565b600080610dc533610a72565b1515610dd057600080fd5b60009150600090505b600a811015610e385782600282600a81101515610df257fe5b01541415610dff57600080fd5b600282600a81101515610e0e57fe5b0154600282600a81101515610e1f57fe5b01541015610e2b578091505b8080600101915050610dd9565b600282600a81101515610e4757fe5b0154831015610e5557600080fd5b612710600283600a81101515610e6757fe5b015401831115610e7657600080fd5b82600283600a81101515610e8657fe5b0181905550505050565b60405161054080610ea18339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104e28061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101475780633ef133671461019c5780636b9f96ea146101d5575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156100b757600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561015257600080fd5b61015a6101ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101a757600080fd5b6101d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061020f565b005b34156101e057600080fd5b6101e861043c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561026f57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561031857600080fd5b6102c65a03f1151561032957600080fd5b505050604051805190509050600081141561034357610436565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561040f57600080fd5b6102c65a03f1151561042057600080fd5b50505060405180519050151561043557600080fd5b5b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156104b457600080fd5b5600a165627a7a72305820088cce905e424bfe474510efe41761893e9e34b54b885b8fee546d8be88aee3c0029a165627a7a72305820827adc3ef3a179757bc33003e41070fbbfcdfc5db31275af3cb0395155cd3bbb0029";
|
|
17
|
-
export declare const walletSimpleConstructor: string[];
|
|
18
|
-
export declare const createV1WalletTypes: string[];
|
|
19
|
-
export declare const flushTokensTypes: string[];
|
|
20
|
-
export declare const flushCoinsTypes: never[];
|
|
21
|
-
export declare const sendMultiSigTypes: string[];
|
|
22
|
-
export declare const sendMultiSigTokenTypes: string[];
|
|
23
|
-
export declare const ERC721SafeTransferTypes: string[];
|
|
24
|
-
export declare const ERC1155SafeTransferTypes: string[];
|
|
25
|
-
export declare const ERC1155BatchTransferTypes: string[];
|
|
26
|
-
export declare const createV1ForwarderTypes: string[];
|
|
27
2
|
//# sourceMappingURL=walletUtil.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletUtil.d.ts","sourceRoot":"","sources":["../../../src/lib/walletUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"walletUtil.d.ts","sourceRoot":"","sources":["../../../src/lib/walletUtil.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,6rVAC2pV,CAAC"}
|
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.sendMultisigMethodId = '0x39125215';
|
|
5
|
-
exports.sendMultisigTokenMethodId = '0x0dcd7a6c';
|
|
6
|
-
exports.v1CreateForwarderMethodId = '0xfb90b320';
|
|
7
|
-
exports.v1WalletInitializationFirstBytes = '0x60806040';
|
|
8
|
-
exports.v1CreateWalletMethodId = '0x7117f3fa';
|
|
9
|
-
exports.createForwarderMethodId = '0xa68a76cc';
|
|
10
|
-
exports.walletInitializationFirstBytes = '0x60606040';
|
|
11
|
-
exports.recoveryWalletInitializationFirstBytes = '0x60c06040';
|
|
12
|
-
exports.flushForwarderTokensMethodId = '0x2da03409';
|
|
13
|
-
exports.flushCoinsMethodId = '0x6b9f96ea';
|
|
14
|
-
exports.ERC721SafeTransferTypeMethodId = '0xb88d4fde';
|
|
15
|
-
exports.ERC1155SafeTransferTypeMethodId = '0xf242432a';
|
|
16
|
-
exports.ERC1155BatchTransferTypeMethodId = '0x2eb2c2d6';
|
|
17
|
-
exports.defaultForwarderVersion = 0;
|
|
18
|
-
exports.defaultWalletVersion = 0;
|
|
3
|
+
exports.walletSimpleByteCode = void 0;
|
|
19
4
|
/*
|
|
20
5
|
Steps to reproduce:
|
|
21
6
|
Checkout https://github.com/bitgo/eth-multisig-v2
|
|
@@ -24,14 +9,4 @@ exports.defaultWalletVersion = 0;
|
|
|
24
9
|
cat WalletSimple.bin
|
|
25
10
|
*/
|
|
26
11
|
exports.walletSimpleByteCode = '0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b60405161155b38038061155b833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b61140c8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106a7565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610773565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a72565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610b16565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610b95565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610ba8565b005b60008061049b33610a72565b15156104a657600080fd5b878787878760405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183815260200182815260200195505050505050604051809103902091506105898883858888610c3b565b508590508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063857600080fd5b6102c65a03f1151561064957600080fd5b50505060405180519050151561065e57600080fd5b5050505050505050565b60008181548110151561067757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b233610a72565b15156106bd57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561075a57600080fd5b6102c65a03f1151561076b57600080fd5b505050505050565b60008061077f33610a72565b151561078a57600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b602083101515610833578051825260208201915060208101905060208303925061080e565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061087f8883858888610c3b565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561091857600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a29578082015181840152602081019050610a0e565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610b0b578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610aad57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610afe5760019150610b10565b8080600101915050610a7a565b600091505b50919050565b6000806000809150600090505b600a811015610b655781600282600a81101515610b3c57fe5b01541115610b5857600281600a81101515610b5357fe5b015491505b8080600101915050610b23565b600182019250505090565b6000610b7a610e90565b604051809103906000f0801515610b9057600080fd5b905090565b600160009054906101000a900460ff1681565b610bb133610a72565b1515610bbc57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610c488686610ce6565b9050600160009054906101000a900460ff168015610c6c5750610c6a87610a72565b155b15610c7657600080fd5b42841015610c8357600080fd5b610c8c83610db9565b610c9581610a72565b1515610ca057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd957600080fd5b8091505095945050505050565b60008060008060418551141515610cfc57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610d2757601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610da557600080fd5b505060206040510351935050505092915050565b600080610dc533610a72565b1515610dd057600080fd5b60009150600090505b600a811015610e385782600282600a81101515610df257fe5b01541415610dff57600080fd5b600282600a81101515610e0e57fe5b0154600282600a81101515610e1f57fe5b01541015610e2b578091505b8080600101915050610dd9565b600282600a81101515610e4757fe5b0154831015610e5557600080fd5b612710600283600a81101515610e6757fe5b015401831115610e7657600080fd5b82600283600a81101515610e8657fe5b0181905550505050565b60405161054080610ea18339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104e28061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101475780633ef133671461019c5780636b9f96ea146101d5575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156100b757600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561015257600080fd5b61015a6101ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101a757600080fd5b6101d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061020f565b005b34156101e057600080fd5b6101e861043c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561026f57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561031857600080fd5b6102c65a03f1151561032957600080fd5b505050604051805190509050600081141561034357610436565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561040f57600080fd5b6102c65a03f1151561042057600080fd5b50505060405180519050151561043557600080fd5b5b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156104b457600080fd5b5600a165627a7a72305820088cce905e424bfe474510efe41761893e9e34b54b885b8fee546d8be88aee3c0029a165627a7a72305820827adc3ef3a179757bc33003e41070fbbfcdfc5db31275af3cb0395155cd3bbb0029';
|
|
27
|
-
exports.walletSimpleConstructor = ['address[]'];
|
|
28
|
-
exports.createV1WalletTypes = ['address[]', 'bytes32'];
|
|
29
|
-
exports.flushTokensTypes = ['address', 'address'];
|
|
30
|
-
exports.flushCoinsTypes = [];
|
|
31
|
-
exports.sendMultiSigTypes = ['address', 'uint', 'bytes', 'uint', 'uint', 'bytes'];
|
|
32
|
-
exports.sendMultiSigTokenTypes = ['address', 'uint', 'address', 'uint', 'uint', 'bytes'];
|
|
33
|
-
exports.ERC721SafeTransferTypes = ['address', 'address', 'uint256', 'bytes'];
|
|
34
|
-
exports.ERC1155SafeTransferTypes = ['address', 'address', 'uint256', 'uint256', 'bytes'];
|
|
35
|
-
exports.ERC1155BatchTransferTypes = ['address', 'address', 'uint256[]', 'uint256[]', 'bytes'];
|
|
36
|
-
exports.createV1ForwarderTypes = ['address', 'bytes32'];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2FsbGV0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNwQyxRQUFBLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN6QyxRQUFBLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN6QyxRQUFBLGdDQUFnQyxHQUFHLFlBQVksQ0FBQztBQUNoRCxRQUFBLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUN0QyxRQUFBLHVCQUF1QixHQUFHLFlBQVksQ0FBQztBQUN2QyxRQUFBLDhCQUE4QixHQUFHLFlBQVksQ0FBQztBQUM5QyxRQUFBLHNDQUFzQyxHQUFHLFlBQVksQ0FBQztBQUN0RCxRQUFBLDRCQUE0QixHQUFHLFlBQVksQ0FBQztBQUM1QyxRQUFBLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUVsQyxRQUFBLDhCQUE4QixHQUFHLFlBQVksQ0FBQztBQUM5QyxRQUFBLCtCQUErQixHQUFHLFlBQVksQ0FBQztBQUMvQyxRQUFBLGdDQUFnQyxHQUFHLFlBQVksQ0FBQztBQUNoRCxRQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUM1QixRQUFBLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUV0Qzs7Ozs7O0VBTUU7QUFDVyxRQUFBLG9CQUFvQixHQUMvQiwwclZBQTByVixDQUFDO0FBRWhyVixRQUFBLHVCQUF1QixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDeEMsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMvQyxRQUFBLGdCQUFnQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzFDLFFBQUEsZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUVyQixRQUFBLGlCQUFpQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUUxRSxRQUFBLHNCQUFzQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVqRixRQUFBLHVCQUF1QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFckUsUUFBQSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRixRQUFBLHlCQUF5QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RGLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2VuZE11bHRpc2lnTWV0aG9kSWQgPSAnMHgzOTEyNTIxNSc7XG5leHBvcnQgY29uc3Qgc2VuZE11bHRpc2lnVG9rZW5NZXRob2RJZCA9ICcweDBkY2Q3YTZjJztcbmV4cG9ydCBjb25zdCB2MUNyZWF0ZUZvcndhcmRlck1ldGhvZElkID0gJzB4ZmI5MGIzMjAnO1xuZXhwb3J0IGNvbnN0IHYxV2FsbGV0SW5pdGlhbGl6YXRpb25GaXJzdEJ5dGVzID0gJzB4NjA4MDYwNDAnO1xuZXhwb3J0IGNvbnN0IHYxQ3JlYXRlV2FsbGV0TWV0aG9kSWQgPSAnMHg3MTE3ZjNmYSc7XG5leHBvcnQgY29uc3QgY3JlYXRlRm9yd2FyZGVyTWV0aG9kSWQgPSAnMHhhNjhhNzZjYyc7XG5leHBvcnQgY29uc3Qgd2FsbGV0SW5pdGlhbGl6YXRpb25GaXJzdEJ5dGVzID0gJzB4NjA2MDYwNDAnO1xuZXhwb3J0IGNvbnN0IHJlY292ZXJ5V2FsbGV0SW5pdGlhbGl6YXRpb25GaXJzdEJ5dGVzID0gJzB4NjBjMDYwNDAnO1xuZXhwb3J0IGNvbnN0IGZsdXNoRm9yd2FyZGVyVG9rZW5zTWV0aG9kSWQgPSAnMHgyZGEwMzQwOSc7XG5leHBvcnQgY29uc3QgZmx1c2hDb2luc01ldGhvZElkID0gJzB4NmI5Zjk2ZWEnO1xuXG5leHBvcnQgY29uc3QgRVJDNzIxU2FmZVRyYW5zZmVyVHlwZU1ldGhvZElkID0gJzB4Yjg4ZDRmZGUnO1xuZXhwb3J0IGNvbnN0IEVSQzExNTVTYWZlVHJhbnNmZXJUeXBlTWV0aG9kSWQgPSAnMHhmMjQyNDMyYSc7XG5leHBvcnQgY29uc3QgRVJDMTE1NUJhdGNoVHJhbnNmZXJUeXBlTWV0aG9kSWQgPSAnMHgyZWIyYzJkNic7XG5leHBvcnQgY29uc3QgZGVmYXVsdEZvcndhcmRlclZlcnNpb24gPSAwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRXYWxsZXRWZXJzaW9uID0gMDtcblxuLypcbiAgU3RlcHMgdG8gcmVwcm9kdWNlOlxuICBDaGVja291dCBodHRwczovL2dpdGh1Yi5jb20vYml0Z28vZXRoLW11bHRpc2lnLXYyXG4gIG5wbSBpbnN0YWxsIC1nIHNvbGNAMC40LjE4XG4gIHNvbGNqcyAtLWJpbiAuL2NvbnRyYWN0cy9XYWxsZXRTaW1wbGUuc29sIC4vY29udHJhY3RzL0ZvcndhcmRlci5zb2wgLi9jb250cmFjdHMvRVJDMjBJbnRlcmZhY2Uuc29sXG4gIGNhdCBXYWxsZXRTaW1wbGUuYmluXG4qL1xuZXhwb3J0IGNvbnN0IHdhbGxldFNpbXBsZUJ5dGVDb2RlID1cbiAgJzB4NjA2MDYwNDA1MjYwMDA2MDAxNjAwMDYxMDEwMDBhODE1NDgxNjBmZjAyMTkxNjkwODMxNTE1MDIxNzkwNTU1MDM0MTU2MTAwMmE1NzYwMDA4MGZkNWI2MDQwNTE2MTE1NWIzODAzODA2MTE1NWI4MzM5ODEwMTYwNDA1MjgwODA1MTgyMDE5MTkwNTA1MDYwMDM4MTUxMTQxNTE1NjEwMDU2NTc2MDAwODBmZDViODA2MDAwOTA4MDUxOTA2MDIwMDE5MDYxMDA2YzkyOTE5MDYxMDA3MzU2NWI1MDUwNjEwMTQwNTY1YjgyODA1NDgyODI1NTkwNjAwMDUyNjAyMDYwMDAyMDkwODEwMTkyODIxNTYxMDBlYzU3OTE2MDIwMDI4MjAxNWI4MjgxMTExNTYxMDBlYjU3ODI1MTgyNjAwMDYxMDEwMDBhODE1NDgxNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MDIxNzkwNTU1MDkxNjAyMDAxOTE5MDYwMDEwMTkwNjEwMDkzNTY1YjViNTA5MDUwNjEwMGY5OTE5MDYxMDBmZDU2NWI1MDkwNTY1YjYxMDEzZDkxOTA1YjgwODIxMTE1NjEwMTM5NTc2MDAwODE4MTYxMDEwMDBhODE1NDkwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA1NTUwNjAwMTAxNjEwMTAzNTY1YjUwOTA1NjViOTA1NjViNjExNDBjODA2MTAxNGY2MDAwMzk2MDAwZjMwMDYwNjA2MDQwNTI2MDA0MzYxMDYxMDA5OTU3NjAwMDM1N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAwNDYzZmZmZmZmZmYxNjgwNjMwZGNkN2E2YzE0NjEwMTMzNTc4MDYzMjA3OWZiOWExNDYxMDFlOTU3ODA2MzJkYTAzNDA5MTQ2MTAyNGM1NzgwNjMzOTEyNTIxNTE0NjEwMmE0NTc4MDYzN2RmNzNlMjcxNDYxMDM3ZTU3ODA2M2EwYjc5NjdiMTQ2MTAzY2Y1NzgwNjNhNjhhNzZjYzE0NjEwM2Y4NTc4MDYzYWJlMzIxOWMxNDYxMDQ0ZDU3ODA2M2ZjMGYzOTJkMTQ2MTA0N2E1NzViNjAwMDM0MTExNTYxMDEzMTU3N2Y2ZTg5ZDUxNzA1NzAyODE5MDU2MGRkMjAwY2Y2YmY3OTI4NDI4NjEzNTNkMTE3Mzc2MWRmYTM2MmUxYzEzM2YwMzMzNDYwMDAzNjYwNDA1MTgwODU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg0ODE1MjYwMjAwMTgwNjAyMDAxODI4MTAzODI1Mjg0ODQ4MjgxODE1MjYwMjAwMTkyNTA4MDgyODQzNzgyMDE5MTUwNTA5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTE1YjAwNWIzNDE1NjEwMTNlNTc2MDAwODBmZDViNjEwMWU3NjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDkxOTA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwNTA1MDYxMDQ4ZjU2NWIwMDViMzQxNTYxMDFmNDU3NjAwMDgwZmQ1YjYxMDIwYTYwMDQ4MDgwMzU5MDYwMjAwMTkwOTE5MDUwNTA2MTA2Njg1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDI1NzU3NjAwMDgwZmQ1YjYxMDJhMjYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwNmE3NTY1YjAwNWIzNDE1NjEwMmFmNTc2MDAwODBmZDViNjEwMzdjNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDgyMDE4MDM1OTA2MDIwMDE5MDgwODA2MDFmMDE2MDIwODA5MTA0MDI2MDIwMDE2MDQwNTE5MDgxMDE2MDQwNTI4MDkzOTI5MTkwODE4MTUyNjAyMDAxODM4MzgwODI4NDM3ODIwMTkxNTA1MDUwNTA1MDUwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwNTA1MDYxMDc3MzU2NWIwMDViMzQxNTYxMDM4OTU3NjAwMDgwZmQ1YjYxMDNiNTYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwNTA1MDYxMGE3MjU2NWI2MDQwNTE4MDgyMTUxNTE1MTU4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDNkYTU3NjAwMDgwZmQ1YjYxMDNlMjYxMGIxNjU2NWI2MDQwNTE4MDgyODE1MjYwMjAwMTkxNTA1MDYwNDA1MTgwOTEwMzkwZjM1YjM0MTU2MTA0MDM1NzYwMDA4MGZkNWI2MTA0MGI2MTBiNzA1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQ1ODU3NjAwMDgwZmQ1YjYxMDQ2MDYxMGI5NTU2NWI2MDQwNTE4MDgyMTUxNTE1MTU4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQ4NTU3NjAwMDgwZmQ1YjYxMDQ4ZDYxMGJhODU2NWIwMDViNjAwMDgwNjEwNDliMzM2MTBhNzI1NjViMTUxNTYxMDRhNjU3NjAwMDgwZmQ1Yjg3ODc4Nzg3ODc2MDQwNTE4MDgwN2Y0NTUyNDMzMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODE1MjUwNjAwNTAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTg1ODE1MjYwMjAwMTg0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjZjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDE0MDE4MzgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwMjA5MTUwNjEwNTg5ODg4Mzg1ODg4ODYxMGMzYjU2NWI1MDg1OTA1MDgwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2M2E5MDU5Y2JiODk4OTYwMDA2MDQwNTE2MDIwMDE1MjYwNDA1MTgzNjNmZmZmZmZmZjE2N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAwNDAxODA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODI4MTUyNjAyMDAxOTI1MDUwNTA2MDIwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDYzODU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTA2NDk1NzYwMDA4MGZkNWI1MDUwNTA2MDQwNTE4MDUxOTA1MDE1MTU2MTA2NWU1NzYwMDA4MGZkNWI1MDUwNTA1MDUwNTA1MDUwNTY1YjYwMDA4MTgxNTQ4MTEwMTUxNTYxMDY3NzU3ZmU1YjkwNjAwMDUyNjAyMDYwMDAyMDkwMDE2MDAwOTE1MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTY1YjYwMDA2MTA2YjIzMzYxMGE3MjU2NWIxNTE1NjEwNmJkNTc2MDAwODBmZDViODI5MDUwODA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzM2VmMTMzNjc4MzYwNDA1MTgyNjNmZmZmZmZmZjE2N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAwNDAxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjAwMDYwNDA1MTgwODMwMzgxNjAwMDg3ODAzYjE1MTU2MTA3NWE1NzYwMDA4MGZkNWI2MTAyYzY1YTAzZjExNTE1NjEwNzZiNTc2MDAwODBmZDViNTA1MDUwNTA1MDUwNTY1YjYwMDA4MDYxMDc3ZjMzNjEwYTcyNTY1YjE1MTU2MTA3OGE1NzYwMDA4MGZkNWI4Nzg3ODc4Nzg3NjA0MDUxODA4MDdmNDU1NDQ4NDU1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxNTI1MDYwMDUwMTg2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjZjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDE0MDE4NTgxNTI2MDIwMDE4NDgwNTE5MDYwMjAwMTkwODA4MzgzNWI2MDIwODMxMDE1MTU2MTA4MzM1NzgwNTE4MjUyNjAyMDgyMDE5MTUwNjAyMDgxMDE5MDUwNjAyMDgzMDM5MjUwNjEwODBlNTY1YjYwMDE4MzYwMjAwMzYxMDEwMDBhMDM4MDE5ODI1MTE2ODE4NDUxMTY4MDgyMTc4NTUyNTA1MDUwNTA1MDUwOTA1MDAxODM4MTUyNjAyMDAxODI4MTUyNjAyMDAxOTU1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MDIwOTE1MDYxMDg3Zjg4ODM4NTg4ODg2MTBjM2I1NjViOTA1MDg3NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4Nzg3NjA0MDUxODA4MjgwNTE5MDYwMjAwMTkwODA4MzgzNjAwMDViODM4MTEwMTU2MTA4Yzc1NzgwODIwMTUxODE4NDAxNTI2MDIwODEwMTkwNTA2MTA4YWM1NjViNTA1MDUwNTA5MDUwOTA4MTAxOTA2MDFmMTY4MDE1NjEwOGY0NTc4MDgyMDM4MDUxNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzE5MTY4MTUyNjAyMDAxOTE1MDViNTA5MTUwNTA2MDAwNjA0MDUxODA4MzAzODE4NTg3NjE4Nzk2NWEwM2YxOTI1MDUwNTAxNTE1NjEwOTE4NTc2MDAwODBmZDViN2Y1OWJlZDlhYjVkNzgwNzM0NjVkZDY0MmE5ZTNlNzZkZmRiN2Q1M2JjYWU5ZDA5ZGY3ZDBiOGY1MjM0ZDVhODA2MzM4Mjg0OGI4YjhiNjA0MDUxODA4NzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg1NjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE4NDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODM4MTUyNjAyMDAxODA2MDIwMDE4MjgxMDM4MjUyODM4MTgxNTE4MTUyNjAyMDAxOTE1MDgwNTE5MDYwMjAwMTkwODA4MzgzNjAwMDViODM4MTEwMTU2MTBhMjk1NzgwODIwMTUxODE4NDAxNTI2MDIwODEwMTkwNTA2MTBhMGU1NjViNTA1MDUwNTA5MDUwOTA4MTAxOTA2MDFmMTY4MDE1NjEwYTU2NTc4MDgyMDM4MDUxNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzE5MTY4MTUyNjAyMDAxOTE1MDViNTA5NzUwNTA1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MGExNTA1MDUwNTA1MDUwNTA1MDU2NWI2MDAwODA2MDAwOTA1MDViNjAwMDgwNTQ5MDUwODExMDE1NjEwYjBiNTc4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjAwMDgyODE1NDgxMTAxNTE1NjEwYWFkNTdmZTViOTA2MDAwNTI2MDIwNjAwMDIwOTAwMTYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MTQxNTYxMGFmZTU3NjAwMTkxNTA2MTBiMTA1NjViODA4MDYwMDEwMTkxNTA1MDYxMGE3YTU2NWI2MDAwOTE1MDViNTA5MTkwNTA1NjViNjAwMDgwNjAwMDgwOTE1MDYwMDA5MDUwNWI2MDBhODExMDE1NjEwYjY1NTc4MTYwMDI4MjYwMGE4MTEwMTUxNTYxMGIzYzU3ZmU1YjAxNTQxMTE1NjEwYjU4NTc2MDAyODE2MDBhODExMDE1MTU2MTBiNTM1N2ZlNWIwMTU0OTE1MDViODA4MDYwMDEwMTkxNTA1MDYxMGIyMzU2NWI2MDAxODIwMTkyNTA1MDUwOTA1NjViNjAwMDYxMGI3YTYxMGU5MDU2NWI2MDQwNTE4MDkxMDM5MDYwMDBmMDgwMTUxNTYxMGI5MDU3NjAwMDgwZmQ1YjkwNTA5MDU2NWI2MDAxNjAwMDkwNTQ5MDYxMDEwMDBhOTAwNDYwZmYxNjgxNTY1YjYxMGJiMTMzNjEwYTcyNTY1YjE1MTU2MTBiYmM1NzYwMDA4MGZkNWI2MDAxODA2MDAwNjEwMTAwMGE4MTU0ODE2MGZmMDIxOTE2OTA4MzE1MTUwMjE3OTA1NTUwN2YwOTA5ZThmNzZhNGZkM2U5NzBmMmVhZWY1NmMwZWU2ZGZhZjhiODdjNWI4ZDNmNTZmZmNlNzhlODI1YTkxMTU3MzM2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGExNTY1YjYwMDA4MDYxMGM0ODg2ODY2MTBjZTY1NjViOTA1MDYwMDE2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NjBmZjE2ODAxNTYxMGM2YzU3NTA2MTBjNmE4NzYxMGE3MjU2NWIxNTViMTU2MTBjNzY1NzYwMDA4MGZkNWI0Mjg0MTAxNTYxMGM4MzU3NjAwMDgwZmQ1YjYxMGM4YzgzNjEwZGI5NTY1YjYxMGM5NTgxNjEwYTcyNTY1YjE1MTU2MTBjYTA1NzYwMDA4MGZkNWIzMzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjE0MTU2MTBjZDk1NzYwMDA4MGZkNWI4MDkxNTA1MDk1OTQ1MDUwNTA1MDUwNTY1YjYwMDA4MDYwMDA4MDYwNDE4NTUxMTQxNTE1NjEwY2ZjNTc2MDAwODBmZDViNjAyMDg1MDE1MTkyNTA2MDQwODUwMTUxOTE1MDYwZmY2MDQxODYwMTUxMTY5MDUwNjAxYjgxNjBmZjE2MTAxNTYxMGQyNzU3NjAxYjgxMDE5MDUwNWI2MDAxODY4Mjg1ODU2MDQwNTE2MDAwODE1MjYwMjAwMTYwNDA1MjYwMDA2MDQwNTE2MDIwMDE1MjYwNDA1MTgwODU2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTg0NjBmZjE2NjBmZjE2ODE1MjYwMjAwMTgzNjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE4MjYwMDAxOTE2NjAwMDE5MTY4MTUyNjAyMDAxOTQ1MDUwNTA1MDUwNjAyMDYwNDA1MTYwMjA4MTAzOTA4MDg0MDM5MDYwMDA4NjYxNjQ2ZTVhMDNmMTE1MTU2MTBkYTU1NzYwMDA4MGZkNWI1MDUwNjAyMDYwNDA1MTAzNTE5MzUwNTA1MDUwOTI5MTUwNTA1NjViNjAwMDgwNjEwZGM1MzM2MTBhNzI1NjViMTUxNTYxMGRkMDU3NjAwMDgwZmQ1YjYwMDA5MTUwNjAwMDkwNTA1YjYwMGE4MTEwMTU2MTBlMzg1NzgyNjAwMjgyNjAwYTgxMTAxNTE1NjEwZGYyNTdmZTViMDE1NDE0MTU2MTBkZmY1NzYwMDA4MGZkNWI2MDAyODI2MDBhODExMDE1MTU2MTBlMGU1N2ZlNWIwMTU0NjAwMjgyNjAwYTgxMTAxNTE1NjEwZTFmNTdmZTViMDE1NDEwMTU2MTBlMmI1NzgwOTE1MDViODA4MDYwMDEwMTkxNTA1MDYxMGRkOTU2NWI2MDAyODI2MDBhODExMDE1MTU2MTBlNDc1N2ZlNWIwMTU0ODMxMDE1NjEwZTU1NTc2MDAwODBmZDViNjEyNzEwNjAwMjgzNjAwYTgxMTAxNTE1NjEwZTY3NTdmZTViMDE1NDAxODMxMTE1NjEwZTc2NTc2MDAwODBmZDViODI2MDAyODM2MDBhODExMDE1MTU2MTBlODY1N2ZlNWIwMTgxOTA1NTUwNTA1MDUwNTY1YjYwNDA1MTYxMDU0MDgwNjEwZWExODMzOTAxOTA1NjAwNjA2MDYwNDA1MjM0MTU2MTAwMGY1NzYwMDA4MGZkNWIzMzYwMDA4MDYxMDEwMDBhODE1NDgxNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MDIxNzkwNTU1MDYxMDRlMjgwNjEwMDVlNjAwMDM5NjAwMGYzMDA2MDYwNjA0MDUyNjAwNDM2MTA2MTAwNTY1NzYwMDAzNTdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwMDQ2M2ZmZmZmZmZmMTY4MDYyODIxZGUzMTQ2MTAxNDc1NzgwNjMzZWYxMzM2NzE0NjEwMTljNTc4MDYzNmI5Zjk2ZWExNDYxMDFkNTU3NWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjEwOGZjMzQ5MDgxMTUwMjkwNjA0MDUxNjAwMDYwNDA1MTgwODMwMzgxODU4ODg4ZjE5MzUwNTA1MDUwMTUxNTYxMDBiNzU3NjAwMDgwZmQ1YjdmNjliMzE1NDhkZWE5YjNiNzA3YjRkZmYzNTdkMzI2ZTNlOTM0OGIyNGU3YTYwODBhMjE4YTZlZGVlZWM0OGY5YjMzMzQ2MDAwMzY2MDQwNTE4MDg1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4NDgxNTI2MDIwMDE4MDYwMjAwMTgyODEwMzgyNTI4NDg0ODI4MTgxNTI2MDIwMDE5MjUwODA4Mjg0Mzc4MjAxOTE1MDUwOTU1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MGExMDA1YjM0MTU2MTAxNTI1NzYwMDA4MGZkNWI2MTAxNWE2MTAxZWE1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDFhNzU3NjAwMDgwZmQ1YjYxMDFkMzYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwNTA1MDYxMDIwZjU2NWIwMDViMzQxNTYxMDFlMDU3NjAwMDgwZmQ1YjYxMDFlODYxMDQzYzU2NWIwMDViNjAwMDgwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTU2NWI2MDAwODA2MDAwODA2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjMzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYxNDE1MTU2MTAyNmY1NzYwMDA4MGZkNWI4MzkyNTAzMDkxNTA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjM3MGEwODIzMTgzNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODI2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDIwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDMxODU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTAzMjk1NzYwMDA4MGZkNWI1MDUwNTA2MDQwNTE4MDUxOTA1MDkwNTA2MDAwODExNDE1NjEwMzQzNTc2MTA0MzY1NjViODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzYTkwNTljYmI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgzNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODM2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5MjUwNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwNDBmNTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDQyMDU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwMTUxNTYxMDQzNTU3NjAwMDgwZmQ1YjViNTA1MDUwNTA1NjViNjAwMDgwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYxMDhmYzMwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYzMTkwODExNTAyOTA2MDQwNTE2MDAwNjA0MDUxODA4MzAzODE4NTg4ODhmMTkzNTA1MDUwNTAxNTE1NjEwNGI0NTc2MDAwODBmZDViNTYwMGExNjU2MjdhN2E3MjMwNTgyMDA4OGNjZTkwNWU0MjRiZmU0NzQ1MTBlZmU0MTc2MTg5M2U5ZTM0YjU0Yjg4NWI4ZmVlNTQ2ZDhiZTg4YWVlM2MwMDI5YTE2NTYyN2E3YTcyMzA1ODIwODI3YWRjM2VmM2ExNzk3NTdiYzMzMDAzZTQxMDcwZmJiZmNkZmM1ZGIzMTI3NWFmM2NiMDM5NTE1NWNkM2JiYjAwMjknO1xuXG5leHBvcnQgY29uc3Qgd2FsbGV0U2ltcGxlQ29uc3RydWN0b3IgPSBbJ2FkZHJlc3NbXSddO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVYxV2FsbGV0VHlwZXMgPSBbJ2FkZHJlc3NbXScsICdieXRlczMyJ107XG5leHBvcnQgY29uc3QgZmx1c2hUb2tlbnNUeXBlcyA9IFsnYWRkcmVzcycsICdhZGRyZXNzJ107XG5leHBvcnQgY29uc3QgZmx1c2hDb2luc1R5cGVzID0gW107XG5cbmV4cG9ydCBjb25zdCBzZW5kTXVsdGlTaWdUeXBlcyA9IFsnYWRkcmVzcycsICd1aW50JywgJ2J5dGVzJywgJ3VpbnQnLCAndWludCcsICdieXRlcyddO1xuXG5leHBvcnQgY29uc3Qgc2VuZE11bHRpU2lnVG9rZW5UeXBlcyA9IFsnYWRkcmVzcycsICd1aW50JywgJ2FkZHJlc3MnLCAndWludCcsICd1aW50JywgJ2J5dGVzJ107XG5cbmV4cG9ydCBjb25zdCBFUkM3MjFTYWZlVHJhbnNmZXJUeXBlcyA9IFsnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYnl0ZXMnXTtcblxuZXhwb3J0IGNvbnN0IEVSQzExNTVTYWZlVHJhbnNmZXJUeXBlcyA9IFsnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTYnLCAndWludDI1NicsICdieXRlcyddO1xuZXhwb3J0IGNvbnN0IEVSQzExNTVCYXRjaFRyYW5zZmVyVHlwZXMgPSBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2W10nLCAndWludDI1NltdJywgJ2J5dGVzJ107XG5leHBvcnQgY29uc3QgY3JlYXRlVjFGb3J3YXJkZXJUeXBlcyA9IFsnYWRkcmVzcycsICdieXRlczMyJ107XG4iXX0=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2FsbGV0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7O0VBTUU7QUFDVyxRQUFBLG9CQUFvQixHQUMvQiwwclZBQTByVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgU3RlcHMgdG8gcmVwcm9kdWNlOlxuICBDaGVja291dCBodHRwczovL2dpdGh1Yi5jb20vYml0Z28vZXRoLW11bHRpc2lnLXYyXG4gIG5wbSBpbnN0YWxsIC1nIHNvbGNAMC40LjE4XG4gIHNvbGNqcyAtLWJpbiAuL2NvbnRyYWN0cy9XYWxsZXRTaW1wbGUuc29sIC4vY29udHJhY3RzL0ZvcndhcmRlci5zb2wgLi9jb250cmFjdHMvRVJDMjBJbnRlcmZhY2Uuc29sXG4gIGNhdCBXYWxsZXRTaW1wbGUuYmluXG4qL1xuZXhwb3J0IGNvbnN0IHdhbGxldFNpbXBsZUJ5dGVDb2RlID1cbiAgJzB4NjA2MDYwNDA1MjYwMDA2MDAxNjAwMDYxMDEwMDBhODE1NDgxNjBmZjAyMTkxNjkwODMxNTE1MDIxNzkwNTU1MDM0MTU2MTAwMmE1NzYwMDA4MGZkNWI2MDQwNTE2MTE1NWIzODAzODA2MTE1NWI4MzM5ODEwMTYwNDA1MjgwODA1MTgyMDE5MTkwNTA1MDYwMDM4MTUxMTQxNTE1NjEwMDU2NTc2MDAwODBmZDViODA2MDAwOTA4MDUxOTA2MDIwMDE5MDYxMDA2YzkyOTE5MDYxMDA3MzU2NWI1MDUwNjEwMTQwNTY1YjgyODA1NDgyODI1NTkwNjAwMDUyNjAyMDYwMDAyMDkwODEwMTkyODIxNTYxMDBlYzU3OTE2MDIwMDI4MjAxNWI4MjgxMTExNTYxMDBlYjU3ODI1MTgyNjAwMDYxMDEwMDBhODE1NDgxNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MDIxNzkwNTU1MDkxNjAyMDAxOTE5MDYwMDEwMTkwNjEwMDkzNTY1YjViNTA5MDUwNjEwMGY5OTE5MDYxMDBmZDU2NWI1MDkwNTY1YjYxMDEzZDkxOTA1YjgwODIxMTE1NjEwMTM5NTc2MDAwODE4MTYxMDEwMDBhODE1NDkwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA1NTUwNjAwMTAxNjEwMTAzNTY1YjUwOTA1NjViOTA1NjViNjExNDBjODA2MTAxNGY2MDAwMzk2MDAwZjMwMDYwNjA2MDQwNTI2MDA0MzYxMDYxMDA5OTU3NjAwMDM1N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAwNDYzZmZmZmZmZmYxNjgwNjMwZGNkN2E2YzE0NjEwMTMzNTc4MDYzMjA3OWZiOWExNDYxMDFlOTU3ODA2MzJkYTAzNDA5MTQ2MTAyNGM1NzgwNjMzOTEyNTIxNTE0NjEwMmE0NTc4MDYzN2RmNzNlMjcxNDYxMDM3ZTU3ODA2M2EwYjc5NjdiMTQ2MTAzY2Y1NzgwNjNhNjhhNzZjYzE0NjEwM2Y4NTc4MDYzYWJlMzIxOWMxNDYxMDQ0ZDU3ODA2M2ZjMGYzOTJkMTQ2MTA0N2E1NzViNjAwMDM0MTExNTYxMDEzMTU3N2Y2ZTg5ZDUxNzA1NzAyODE5MDU2MGRkMjAwY2Y2YmY3OTI4NDI4NjEzNTNkMTE3Mzc2MWRmYTM2MmUxYzEzM2YwMzMzNDYwMDAzNjYwNDA1MTgwODU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg0ODE1MjYwMjAwMTgwNjAyMDAxODI4MTAzODI1Mjg0ODQ4MjgxODE1MjYwMjAwMTkyNTA4MDgyODQzNzgyMDE5MTUwNTA5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTE1YjAwNWIzNDE1NjEwMTNlNTc2MDAwODBmZDViNjEwMWU3NjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDkxOTA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwNTA1MDYxMDQ4ZjU2NWIwMDViMzQxNTYxMDFmNDU3NjAwMDgwZmQ1YjYxMDIwYTYwMDQ4MDgwMzU5MDYwMjAwMTkwOTE5MDUwNTA2MTA2Njg1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDI1NzU3NjAwMDgwZmQ1YjYxMDJhMjYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwNmE3NTY1YjAwNWIzNDE1NjEwMmFmNTc2MDAwODBmZDViNjEwMzdjNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDkxOTA4MDM1OTA2MDIwMDE5MDgyMDE4MDM1OTA2MDIwMDE5MDgwODA2MDFmMDE2MDIwODA5MTA0MDI2MDIwMDE2MDQwNTE5MDgxMDE2MDQwNTI4MDkzOTI5MTkwODE4MTUyNjAyMDAxODM4MzgwODI4NDM3ODIwMTkxNTA1MDUwNTA1MDUwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwNTA1MDYxMDc3MzU2NWIwMDViMzQxNTYxMDM4OTU3NjAwMDgwZmQ1YjYxMDNiNTYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwNTA1MDYxMGE3MjU2NWI2MDQwNTE4MDgyMTUxNTE1MTU4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDNkYTU3NjAwMDgwZmQ1YjYxMDNlMjYxMGIxNjU2NWI2MDQwNTE4MDgyODE1MjYwMjAwMTkxNTA1MDYwNDA1MTgwOTEwMzkwZjM1YjM0MTU2MTA0MDM1NzYwMDA4MGZkNWI2MTA0MGI2MTBiNzA1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQ1ODU3NjAwMDgwZmQ1YjYxMDQ2MDYxMGI5NTU2NWI2MDQwNTE4MDgyMTUxNTE1MTU4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQ4NTU3NjAwMDgwZmQ1YjYxMDQ4ZDYxMGJhODU2NWIwMDViNjAwMDgwNjEwNDliMzM2MTBhNzI1NjViMTUxNTYxMDRhNjU3NjAwMDgwZmQ1Yjg3ODc4Nzg3ODc2MDQwNTE4MDgwN2Y0NTUyNDMzMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODE1MjUwNjAwNTAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTg1ODE1MjYwMjAwMTg0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjZjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDE0MDE4MzgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwMjA5MTUwNjEwNTg5ODg4Mzg1ODg4ODYxMGMzYjU2NWI1MDg1OTA1MDgwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2M2E5MDU5Y2JiODk4OTYwMDA2MDQwNTE2MDIwMDE1MjYwNDA1MTgzNjNmZmZmZmZmZjE2N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAwNDAxODA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODI4MTUyNjAyMDAxOTI1MDUwNTA2MDIwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDYzODU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTA2NDk1NzYwMDA4MGZkNWI1MDUwNTA2MDQwNTE4MDUxOTA1MDE1MTU2MTA2NWU1NzYwMDA4MGZkNWI1MDUwNTA1MDUwNTA1MDUwNTY1YjYwMDA4MTgxNTQ4MTEwMTUxNTYxMDY3NzU3ZmU1YjkwNjAwMDUyNjAyMDYwMDAyMDkwMDE2MDAwOTE1MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTY1YjYwMDA2MTA2YjIzMzYxMGE3MjU2NWIxNTE1NjEwNmJkNTc2MDAwODBmZDViODI5MDUwODA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzM2VmMTMzNjc4MzYwNDA1MTgyNjNmZmZmZmZmZjE2N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAwNDAxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjAwMDYwNDA1MTgwODMwMzgxNjAwMDg3ODAzYjE1MTU2MTA3NWE1NzYwMDA4MGZkNWI2MTAyYzY1YTAzZjExNTE1NjEwNzZiNTc2MDAwODBmZDViNTA1MDUwNTA1MDUwNTY1YjYwMDA4MDYxMDc3ZjMzNjEwYTcyNTY1YjE1MTU2MTA3OGE1NzYwMDA4MGZkNWI4Nzg3ODc4Nzg3NjA0MDUxODA4MDdmNDU1NDQ4NDU1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxNTI1MDYwMDUwMTg2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjZjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDE0MDE4NTgxNTI2MDIwMDE4NDgwNTE5MDYwMjAwMTkwODA4MzgzNWI2MDIwODMxMDE1MTU2MTA4MzM1NzgwNTE4MjUyNjAyMDgyMDE5MTUwNjAyMDgxMDE5MDUwNjAyMDgzMDM5MjUwNjEwODBlNTY1YjYwMDE4MzYwMjAwMzYxMDEwMDBhMDM4MDE5ODI1MTE2ODE4NDUxMTY4MDgyMTc4NTUyNTA1MDUwNTA1MDUwOTA1MDAxODM4MTUyNjAyMDAxODI4MTUyNjAyMDAxOTU1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MDIwOTE1MDYxMDg3Zjg4ODM4NTg4ODg2MTBjM2I1NjViOTA1MDg3NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4Nzg3NjA0MDUxODA4MjgwNTE5MDYwMjAwMTkwODA4MzgzNjAwMDViODM4MTEwMTU2MTA4Yzc1NzgwODIwMTUxODE4NDAxNTI2MDIwODEwMTkwNTA2MTA4YWM1NjViNTA1MDUwNTA5MDUwOTA4MTAxOTA2MDFmMTY4MDE1NjEwOGY0NTc4MDgyMDM4MDUxNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzE5MTY4MTUyNjAyMDAxOTE1MDViNTA5MTUwNTA2MDAwNjA0MDUxODA4MzAzODE4NTg3NjE4Nzk2NWEwM2YxOTI1MDUwNTAxNTE1NjEwOTE4NTc2MDAwODBmZDViN2Y1OWJlZDlhYjVkNzgwNzM0NjVkZDY0MmE5ZTNlNzZkZmRiN2Q1M2JjYWU5ZDA5ZGY3ZDBiOGY1MjM0ZDVhODA2MzM4Mjg0OGI4YjhiNjA0MDUxODA4NzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg1NjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE4NDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODM4MTUyNjAyMDAxODA2MDIwMDE4MjgxMDM4MjUyODM4MTgxNTE4MTUyNjAyMDAxOTE1MDgwNTE5MDYwMjAwMTkwODA4MzgzNjAwMDViODM4MTEwMTU2MTBhMjk1NzgwODIwMTUxODE4NDAxNTI2MDIwODEwMTkwNTA2MTBhMGU1NjViNTA1MDUwNTA5MDUwOTA4MTAxOTA2MDFmMTY4MDE1NjEwYTU2NTc4MDgyMDM4MDUxNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzE5MTY4MTUyNjAyMDAxOTE1MDViNTA5NzUwNTA1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MGExNTA1MDUwNTA1MDUwNTA1MDU2NWI2MDAwODA2MDAwOTA1MDViNjAwMDgwNTQ5MDUwODExMDE1NjEwYjBiNTc4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjAwMDgyODE1NDgxMTAxNTE1NjEwYWFkNTdmZTViOTA2MDAwNTI2MDIwNjAwMDIwOTAwMTYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MTQxNTYxMGFmZTU3NjAwMTkxNTA2MTBiMTA1NjViODA4MDYwMDEwMTkxNTA1MDYxMGE3YTU2NWI2MDAwOTE1MDViNTA5MTkwNTA1NjViNjAwMDgwNjAwMDgwOTE1MDYwMDA5MDUwNWI2MDBhODExMDE1NjEwYjY1NTc4MTYwMDI4MjYwMGE4MTEwMTUxNTYxMGIzYzU3ZmU1YjAxNTQxMTE1NjEwYjU4NTc2MDAyODE2MDBhODExMDE1MTU2MTBiNTM1N2ZlNWIwMTU0OTE1MDViODA4MDYwMDEwMTkxNTA1MDYxMGIyMzU2NWI2MDAxODIwMTkyNTA1MDUwOTA1NjViNjAwMDYxMGI3YTYxMGU5MDU2NWI2MDQwNTE4MDkxMDM5MDYwMDBmMDgwMTUxNTYxMGI5MDU3NjAwMDgwZmQ1YjkwNTA5MDU2NWI2MDAxNjAwMDkwNTQ5MDYxMDEwMDBhOTAwNDYwZmYxNjgxNTY1YjYxMGJiMTMzNjEwYTcyNTY1YjE1MTU2MTBiYmM1NzYwMDA4MGZkNWI2MDAxODA2MDAwNjEwMTAwMGE4MTU0ODE2MGZmMDIxOTE2OTA4MzE1MTUwMjE3OTA1NTUwN2YwOTA5ZThmNzZhNGZkM2U5NzBmMmVhZWY1NmMwZWU2ZGZhZjhiODdjNWI4ZDNmNTZmZmNlNzhlODI1YTkxMTU3MzM2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGExNTY1YjYwMDA4MDYxMGM0ODg2ODY2MTBjZTY1NjViOTA1MDYwMDE2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NjBmZjE2ODAxNTYxMGM2YzU3NTA2MTBjNmE4NzYxMGE3MjU2NWIxNTViMTU2MTBjNzY1NzYwMDA4MGZkNWI0Mjg0MTAxNTYxMGM4MzU3NjAwMDgwZmQ1YjYxMGM4YzgzNjEwZGI5NTY1YjYxMGM5NTgxNjEwYTcyNTY1YjE1MTU2MTBjYTA1NzYwMDA4MGZkNWIzMzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjE0MTU2MTBjZDk1NzYwMDA4MGZkNWI4MDkxNTA1MDk1OTQ1MDUwNTA1MDUwNTY1YjYwMDA4MDYwMDA4MDYwNDE4NTUxMTQxNTE1NjEwY2ZjNTc2MDAwODBmZDViNjAyMDg1MDE1MTkyNTA2MDQwODUwMTUxOTE1MDYwZmY2MDQxODYwMTUxMTY5MDUwNjAxYjgxNjBmZjE2MTAxNTYxMGQyNzU3NjAxYjgxMDE5MDUwNWI2MDAxODY4Mjg1ODU2MDQwNTE2MDAwODE1MjYwMjAwMTYwNDA1MjYwMDA2MDQwNTE2MDIwMDE1MjYwNDA1MTgwODU2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTg0NjBmZjE2NjBmZjE2ODE1MjYwMjAwMTgzNjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE4MjYwMDAxOTE2NjAwMDE5MTY4MTUyNjAyMDAxOTQ1MDUwNTA1MDUwNjAyMDYwNDA1MTYwMjA4MTAzOTA4MDg0MDM5MDYwMDA4NjYxNjQ2ZTVhMDNmMTE1MTU2MTBkYTU1NzYwMDA4MGZkNWI1MDUwNjAyMDYwNDA1MTAzNTE5MzUwNTA1MDUwOTI5MTUwNTA1NjViNjAwMDgwNjEwZGM1MzM2MTBhNzI1NjViMTUxNTYxMGRkMDU3NjAwMDgwZmQ1YjYwMDA5MTUwNjAwMDkwNTA1YjYwMGE4MTEwMTU2MTBlMzg1NzgyNjAwMjgyNjAwYTgxMTAxNTE1NjEwZGYyNTdmZTViMDE1NDE0MTU2MTBkZmY1NzYwMDA4MGZkNWI2MDAyODI2MDBhODExMDE1MTU2MTBlMGU1N2ZlNWIwMTU0NjAwMjgyNjAwYTgxMTAxNTE1NjEwZTFmNTdmZTViMDE1NDEwMTU2MTBlMmI1NzgwOTE1MDViODA4MDYwMDEwMTkxNTA1MDYxMGRkOTU2NWI2MDAyODI2MDBhODExMDE1MTU2MTBlNDc1N2ZlNWIwMTU0ODMxMDE1NjEwZTU1NTc2MDAwODBmZDViNjEyNzEwNjAwMjgzNjAwYTgxMTAxNTE1NjEwZTY3NTdmZTViMDE1NDAxODMxMTE1NjEwZTc2NTc2MDAwODBmZDViODI2MDAyODM2MDBhODExMDE1MTU2MTBlODY1N2ZlNWIwMTgxOTA1NTUwNTA1MDUwNTY1YjYwNDA1MTYxMDU0MDgwNjEwZWExODMzOTAxOTA1NjAwNjA2MDYwNDA1MjM0MTU2MTAwMGY1NzYwMDA4MGZkNWIzMzYwMDA4MDYxMDEwMDBhODE1NDgxNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDIxOTE2OTA4MzczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MDIxNzkwNTU1MDYxMDRlMjgwNjEwMDVlNjAwMDM5NjAwMGYzMDA2MDYwNjA0MDUyNjAwNDM2MTA2MTAwNTY1NzYwMDAzNTdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwMDQ2M2ZmZmZmZmZmMTY4MDYyODIxZGUzMTQ2MTAxNDc1NzgwNjMzZWYxMzM2NzE0NjEwMTljNTc4MDYzNmI5Zjk2ZWExNDYxMDFkNTU3NWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjEwOGZjMzQ5MDgxMTUwMjkwNjA0MDUxNjAwMDYwNDA1MTgwODMwMzgxODU4ODg4ZjE5MzUwNTA1MDUwMTUxNTYxMDBiNzU3NjAwMDgwZmQ1YjdmNjliMzE1NDhkZWE5YjNiNzA3YjRkZmYzNTdkMzI2ZTNlOTM0OGIyNGU3YTYwODBhMjE4YTZlZGVlZWM0OGY5YjMzMzQ2MDAwMzY2MDQwNTE4MDg1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4NDgxNTI2MDIwMDE4MDYwMjAwMTgyODEwMzgyNTI4NDg0ODI4MTgxNTI2MDIwMDE5MjUwODA4Mjg0Mzc4MjAxOTE1MDUwOTU1MDUwNTA1MDUwNTA2MDQwNTE4MDkxMDM5MGExMDA1YjM0MTU2MTAxNTI1NzYwMDA4MGZkNWI2MTAxNWE2MTAxZWE1NjViNjA0MDUxODA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDFhNzU3NjAwMDgwZmQ1YjYxMDFkMzYwMDQ4MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwNTA1MDYxMDIwZjU2NWIwMDViMzQxNTYxMDFlMDU3NjAwMDgwZmQ1YjYxMDFlODYxMDQzYzU2NWIwMDViNjAwMDgwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTU2NWI2MDAwODA2MDAwODA2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjMzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYxNDE1MTU2MTAyNmY1NzYwMDA4MGZkNWI4MzkyNTAzMDkxNTA4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjM3MGEwODIzMTgzNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODI2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDIwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDMxODU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTAzMjk1NzYwMDA4MGZkNWI1MDUwNTA2MDQwNTE4MDUxOTA1MDkwNTA2MDAwODExNDE1NjEwMzQzNTc2MTA0MzY1NjViODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzYTkwNTljYmI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgzNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODM2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5MjUwNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwNDBmNTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDQyMDU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwMTUxNTYxMDQzNTU3NjAwMDgwZmQ1YjViNTA1MDUwNTA1NjViNjAwMDgwOTA1NDkwNjEwMTAwMGE5MDA0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYxMDhmYzMwNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYzMTkwODExNTAyOTA2MDQwNTE2MDAwNjA0MDUxODA4MzAzODE4NTg4ODhmMTkzNTA1MDUwNTAxNTE1NjEwNGI0NTc2MDAwODBmZDViNTYwMGExNjU2MjdhN2E3MjMwNTgyMDA4OGNjZTkwNWU0MjRiZmU0NzQ1MTBlZmU0MTc2MTg5M2U5ZTM0YjU0Yjg4NWI4ZmVlNTQ2ZDhiZTg4YWVlM2MwMDI5YTE2NTYyN2E3YTcyMzA1ODIwODI3YWRjM2VmM2ExNzk3NTdiYzMzMDAzZTQxMDcwZmJiZmNkZmM1ZGIzMTI3NWFmM2NiMDM5NTE1NWNkM2JiYjAwMjknO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAQzC,CAAC"}
|
package/dist/src/register.js
CHANGED
|
@@ -4,14 +4,16 @@ exports.register = void 0;
|
|
|
4
4
|
const erc20Token_1 = require("./erc20Token");
|
|
5
5
|
const eth_1 = require("./eth");
|
|
6
6
|
const gteth_1 = require("./gteth");
|
|
7
|
+
const hteth_1 = require("./hteth");
|
|
7
8
|
const teth_1 = require("./teth");
|
|
8
9
|
const register = (sdk) => {
|
|
9
10
|
sdk.register('eth', eth_1.Eth.createInstance);
|
|
10
11
|
sdk.register('gteth', gteth_1.Gteth.createInstance);
|
|
11
12
|
sdk.register('teth', teth_1.Teth.createInstance);
|
|
13
|
+
sdk.register('hteth', hteth_1.Hteth.createInstance);
|
|
12
14
|
erc20Token_1.Erc20Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
|
|
13
15
|
sdk.register(name, coinConstructor);
|
|
14
16
|
});
|
|
15
17
|
};
|
|
16
18
|
exports.register = register;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTBDO0FBQzFDLCtCQUE0QjtBQUM1QixtQ0FBZ0M7QUFDaEMsbUNBQWdDO0FBQ2hDLGlDQUE4QjtBQUV2QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1Qyx1QkFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN6RSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVJXLFFBQUEsUUFBUSxZQVFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEVyYzIwVG9rZW4gfSBmcm9tICcuL2VyYzIwVG9rZW4nO1xuaW1wb3J0IHsgRXRoIH0gZnJvbSAnLi9ldGgnO1xuaW1wb3J0IHsgR3RldGggfSBmcm9tICcuL2d0ZXRoJztcbmltcG9ydCB7IEh0ZXRoIH0gZnJvbSAnLi9odGV0aCc7XG5pbXBvcnQgeyBUZXRoIH0gZnJvbSAnLi90ZXRoJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignZXRoJywgRXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCdndGV0aCcsIEd0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCd0ZXRoJywgVGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcignaHRldGgnLCBIdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIEVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
|
package/dist/src/teth.d.ts
CHANGED
|
@@ -2,10 +2,7 @@ import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
|
|
|
2
2
|
import { Eth } from './eth';
|
|
3
3
|
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
4
4
|
export declare class Teth extends Eth {
|
|
5
|
-
protected readonly sendMethodName: 'sendMultiSig' | 'sendMultiSigToken';
|
|
6
5
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
7
6
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
8
|
-
getChain(): string;
|
|
9
|
-
getFullName(): string;
|
|
10
7
|
}
|
|
11
8
|
//# sourceMappingURL=teth.d.ts.map
|
package/dist/src/teth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teth.d.ts","sourceRoot":"","sources":["../../src/teth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,IAAK,SAAQ,GAAG;IAC3B,SAAS,
|
|
1
|
+
{"version":3,"file":"teth.d.ts","sourceRoot":"","sources":["../../src/teth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,IAAK,SAAQ,GAAG;IAC3B,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;CAG3F"}
|