@taquito/taquito 22.0.0-beta.0 → 23.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@ The `@taquito/taquito` package contains higher-level functionality that builds u
7
7
  ## CDN Bundle
8
8
 
9
9
  ```html
10
- <script src="https://unpkg.com/@taquito/taquito@22.0.0-beta.0/dist/taquito.min.js"
10
+ <script src="https://unpkg.com/@taquito/taquito@23.0.0-beta.0/dist/taquito.min.js"
11
11
  crossorigin="anonymous" integrity="sha384-IxvP0ECHi5oqLyz94wF85pU9+ktcsL1HHtA42MITxZsGbsUMEu/g+0Vkjj5vqiMR"></script>
12
12
  ```
13
13
 
@@ -0,0 +1 @@
1
+ (self.webpackChunktaquito=self.webpackChunktaquito||[]).push([[400],{6400:()=>{}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunktaquito=self.webpackChunktaquito||[]).push([[993],{5993:()=>{}}]);
@@ -1,25 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRevealFeeInternal = exports.getRevealFee = exports.getRevealGasLimit = exports.ChainIds = exports.protocols = exports.Protocols = exports.COST_PER_BYTE = exports.ORIGINATION_SIZE = exports.REVEAL_STORAGE_LIMIT = void 0;
4
- // value is based on octez-client reveal operation gasLimit of each address type in Rio Protocol
3
+ exports.getRevealFeeInternal = exports.getRevealFee = exports.getRevealGasLimit = exports.ChainIds = exports.protocols = exports.Protocols = exports.COST_PER_BYTE = exports.ORIGINATION_SIZE = exports.REVEAL_STORAGE_LIMIT = exports.DEFAULT_STORAGE_LIMIT = exports.DEFAULT_FEE = exports.DEFAULT_GAS_LIMIT = void 0;
4
+ /**
5
+ * @deprecated default reveal gasLimit please use getRevealGasLimit(address) instead, removing hardcoded gasLimit of delegation, origination and transfer
6
+ */
7
+ exports.DEFAULT_GAS_LIMIT = {
8
+ DELEGATION: 10600,
9
+ ORIGINATION: 10600,
10
+ TRANSFER: 10600,
11
+ REVEAL_TZ1: 1000,
12
+ REVEAL_TZ2: 1000,
13
+ REVEAL_TZ3: 2000,
14
+ REVEAL_TZ4: 2000,
15
+ };
16
+ /**
17
+ * @deprecated default reveal fee please use getRevealFee(address) instead, removing hardcoded fee of delegation, origination and transfer
18
+ */
19
+ exports.DEFAULT_FEE = {
20
+ DELEGATION: 1257,
21
+ ORIGINATION: 10000,
22
+ TRANSFER: 10000,
23
+ REVEAL: 374,
24
+ };
25
+ /**
26
+ * @deprecated default reveal storageLimit please use REVEAL_STORAGE_LIMIT instead, removing hardcoded storageLimit of delegation, origination and transfer
27
+ */
28
+ exports.DEFAULT_STORAGE_LIMIT = {
29
+ DELEGATION: 0,
30
+ ORIGINATION: 257,
31
+ TRANSFER: 257,
32
+ REVEAL: 0,
33
+ };
34
+ // value is based on octez-client reveal operation gasLimit of each address type in Seoul Protocol
5
35
  const REVEAL_GAS_LIMIT = {
6
- TZ1: 169,
7
- TZ2: 155,
8
- TZ3: 445,
9
- TZ4: 1674,
36
+ TZ1: 171,
37
+ TZ2: 157,
38
+ TZ3: 447,
39
+ TZ4: 3252,
10
40
  };
11
- // value is based on octez-client reveal operation fee of each address type in Rio Protocol
41
+ // value is based on octez-client reveal operation fee of each address type in Seoul Protocol
12
42
  const REVEAL_FEE = {
13
- TZ1: 276,
14
- TZ2: 276,
15
- TZ3: 305,
16
- TZ4: 477,
43
+ TZ1: 278,
44
+ TZ2: 277,
45
+ TZ3: 306,
46
+ TZ4: 736,
17
47
  };
18
- // value is based on octez-client reveal operation storageLimit of all address type in Rio Protocol
48
+ // value is based on octez-client reveal operation storageLimit of all address type in Seoul Protocol
19
49
  exports.REVEAL_STORAGE_LIMIT = 0;
20
- // protocol constants in Rio Protocol
50
+ // protocol constants in Seoul Protocol
21
51
  exports.ORIGINATION_SIZE = 257;
22
- // protocol constants in Rio Protocol
52
+ // protocol constants in Seoul Protocol
23
53
  exports.COST_PER_BYTE = 250;
24
54
  var Protocols;
25
55
  (function (Protocols) {
@@ -45,6 +75,7 @@ var Protocols;
45
75
  Protocols["PsParisCZ"] = "PsParisCZo7KAh1Z1smVd9ZMZ1HHn5gkzbM94V3PLCpknFWhUAi";
46
76
  Protocols["PsQuebecn"] = "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg";
47
77
  Protocols["PsRiotuma"] = "PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7";
78
+ Protocols["PtSeouLou"] = "PtSeouLouXkxhg39oWzjxDWaCydNfR3RxCUrNe4Q9Ro8BTehcbh";
48
79
  Protocols["ProtoALpha"] = "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK";
49
80
  })(Protocols || (exports.Protocols = Protocols = {}));
50
81
  exports.protocols = {
@@ -66,7 +97,8 @@ exports.protocols = {
66
97
  '020': [Protocols.PtParisBx, Protocols.PsParisCZ],
67
98
  '021': [Protocols.PsQuebecn],
68
99
  '022': [Protocols.PsRiotuma],
69
- '023': [Protocols.ProtoALpha],
100
+ '023': [Protocols.PtSeouLou],
101
+ '024': [Protocols.ProtoALpha],
70
102
  };
71
103
  var ChainIds;
72
104
  (function (ChainIds) {
@@ -88,8 +120,9 @@ var ChainIds;
88
120
  ChainIds["OXFORDNET2"] = "NetXxWsskGahzQB";
89
121
  ChainIds["PARISBNET"] = "NetXo8SqH1c38SS";
90
122
  ChainIds["PARISCNET"] = "NetXXWAHLEvre9b";
91
- ChainIds["QUEBECN"] = "NetXuTeGinLEqxp";
92
- ChainIds["RIOTUMANET"] = "NetXPdgaoabtBth";
123
+ ChainIds["QUEBECNET"] = "NetXuTeGinLEqxp";
124
+ ChainIds["RIONET"] = "NetXPdgaoabtBth";
125
+ ChainIds["SEOULNET"] = "NetXd56aBs1aeW3";
93
126
  })(ChainIds || (exports.ChainIds = ChainIds = {}));
94
127
  // A fixed fee reveal operation gasLimit accepted by both simulate and injection endpoint is between 1.2-5 times of actual gas consumption (3.5 fails occasionally with gas exhausted; 4 fails occasionally with fee too low)
95
128
  const getRevealGasLimit = (address) => Math.round((getRevealGasLimitInternal(address) * 37) / 10);
@@ -238,7 +238,7 @@ class RpcContractProvider extends provider_1.Provider {
238
238
  throw new core_1.InvalidAddressError(params.delegate, (0, utils_1.invalidDetail)(delegateValidation));
239
239
  }
240
240
  // Since babylon delegation source cannot smart contract
241
- if (/kt1/i.test(params.source)) {
241
+ if (/^kt1/i.test(params.source)) {
242
242
  throw new errors_1.InvalidDelegationSource(params.source);
243
243
  }
244
244
  const publicKeyHash = yield this.signer.publicKeyHash();
@@ -389,9 +389,6 @@ class RpcContractProvider extends provider_1.Provider {
389
389
  if (!params.to) {
390
390
  params.to = params.source;
391
391
  }
392
- if (params.to && params.to !== params.source) {
393
- throw new core_1.InvalidStakingAddressError(params.to);
394
- }
395
392
  if (!params.amount) {
396
393
  params.amount = 0;
397
394
  }
@@ -439,8 +436,8 @@ class RpcContractProvider extends provider_1.Provider {
439
436
  }
440
437
  /**
441
438
  *
442
- * @description Reveal the current address. Will throw an error if the address is already revealed.
443
- *
439
+ * @description Reveal the public key of the current address. Will throw an error if the address is already revealed.
440
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
444
441
  * @returns An operation handle with the result from the rpc node
445
442
  *
446
443
  * @param RevealParams operation parameter
@@ -571,7 +568,7 @@ class RpcContractProvider extends provider_1.Provider {
571
568
  /**
572
569
  *
573
570
  * @description Updates the consensus key of the baker to public_key starting from the current cycle plus PRESERVED_CYCLES + 1
574
- *
571
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
575
572
  * @returns An operation handle with the result from the rpc node
576
573
  *
577
574
  * @param UpdateConsensusKeyParams
@@ -271,9 +271,6 @@ class RPCEstimateProvider extends provider_1.Provider {
271
271
  if (!rest.to) {
272
272
  rest.to = rest.source;
273
273
  }
274
- if (rest.to && rest.to !== rest.source) {
275
- throw new core_1.InvalidStakingAddressError(rest.to);
276
- }
277
274
  if (!rest.amount) {
278
275
  rest.amount = 0;
279
276
  }
@@ -396,7 +393,7 @@ class RPCEstimateProvider extends provider_1.Provider {
396
393
  /**
397
394
  *
398
395
  * @description Estimate gasLimit, storageLimit and fees to reveal the current account
399
- *
396
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
400
397
  * @returns An estimation of gasLimit, storageLimit and fees for the operation or undefined if the account is already revealed
401
398
  *
402
399
  * @param Estimate
@@ -469,9 +466,8 @@ class RPCEstimateProvider extends provider_1.Provider {
469
466
  /**
470
467
  *
471
468
  * @description Estimate gasLimit, storageLimit and fees for an Update Consensus Key operation
472
- *
469
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
473
470
  * @returns An estimation of gasLimit, storageLimit and fees for the operation
474
- *
475
471
  * @param Estimate
476
472
  */
477
473
  updateConsensusKey(params) {
@@ -218,6 +218,7 @@ class PrepareProvider extends provider_1.Provider {
218
218
  /**
219
219
  *
220
220
  * @description Method to prepare a reveal operation
221
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
221
222
  * @param operation RPCOperation object or RPCOperation array
222
223
  * @param source string or undefined source pkh
223
224
  * @returns a PreparedOperation object
@@ -393,11 +394,11 @@ class PrepareProvider extends provider_1.Provider {
393
394
  */
394
395
  finalizeUnstake(_a) {
395
396
  return __awaiter(this, void 0, void 0, function* () {
396
- var { fee, storageLimit, gasLimit } = _a, rest = __rest(_a, ["fee", "storageLimit", "gasLimit"]);
397
+ var { fee, storageLimit, gasLimit, to } = _a, rest = __rest(_a, ["fee", "storageLimit", "gasLimit", "to"]);
397
398
  const { pkh } = yield this.getKeys();
398
399
  const protocolConstants = yield this.context.readProvider.getProtocolConstants('head');
399
400
  const DEFAULT_PARAMS = yield this.getOperationLimits(protocolConstants);
400
- const op = yield (0, contract_1.createTransferOperation)(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { to: pkh, amount: 0 }), mergeLimits({ fee, storageLimit, gasLimit }, DEFAULT_PARAMS)), { parameter: {
401
+ const op = yield (0, contract_1.createTransferOperation)(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { to: to ? to : pkh, amount: 0 }), mergeLimits({ fee, storageLimit, gasLimit }, DEFAULT_PARAMS)), { parameter: {
401
402
  entrypoint: 'finalize_unstake',
402
403
  value: { prim: 'Unit' },
403
404
  } }));
@@ -518,6 +519,7 @@ class PrepareProvider extends provider_1.Provider {
518
519
  /**
519
520
  *
520
521
  * @description Method to prepare an update_consensus_key operation
522
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
521
523
  * @param operation RPCOperation object or RPCOperation array
522
524
  * @param source string or undefined source pkh
523
525
  * @returns a PreparedOperation object
@@ -60,7 +60,7 @@ class PollingSubscribeProvider {
60
60
  constructor(context, config = {}) {
61
61
  this.context = context;
62
62
  this._config$ = new rxjs_1.BehaviorSubject(Object.assign(Object.assign({}, exports.defaultConfigStreamer), config));
63
- this.timer$ = this._config$.pipe((0, operators_1.pluck)('pollingIntervalMilliseconds'), (0, operators_1.switchMap)((pollingIntervalMilliseconds) => {
63
+ this.timer$ = this._config$.pipe((0, operators_1.map)((x) => x === null || x === void 0 ? void 0 : x.pollingIntervalMilliseconds), (0, operators_1.switchMap)((pollingIntervalMilliseconds) => {
64
64
  if (!pollingIntervalMilliseconds) {
65
65
  return (0, rxjs_1.from)(this.getConfirmationPollingInterval()).pipe((0, operators_1.switchMap)((interval) => {
66
66
  return (0, rxjs_1.timer)(0, interval);
@@ -70,7 +70,11 @@ class PollingSubscribeProvider {
70
70
  return (0, rxjs_1.timer)(0, pollingIntervalMilliseconds);
71
71
  }
72
72
  }));
73
- this.newBlock$ = this.timer$.pipe((0, operators_1.switchMap)(() => getLastBlock(this.context)), (0, operators_1.distinctUntilKeyChanged)('hash'), (0, operators_1.publish)(), (0, operators_1.refCount)());
73
+ this.newBlock$ = this.timer$.pipe((0, operators_1.switchMap)(() => getLastBlock(this.context)), (0, operators_1.distinctUntilKeyChanged)('hash'), (0, operators_1.share)({
74
+ resetOnError: false,
75
+ resetOnComplete: false,
76
+ resetOnRefCountZero: true,
77
+ }));
74
78
  }
75
79
  get config() {
76
80
  return this._config$.getValue();
@@ -102,7 +106,7 @@ class PollingSubscribeProvider {
102
106
  return new observable_subscription_1.ObservableSubscription(this.newBlock$, this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
103
107
  }
104
108
  subscribe(_filter) {
105
- return new observable_subscription_1.ObservableSubscription(this.newBlock$.pipe((0, operators_1.pluck)('hash')), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
109
+ return new observable_subscription_1.ObservableSubscription(this.newBlock$.pipe((0, operators_1.map)((x) => x === null || x === void 0 ? void 0 : x.hash)), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
106
110
  }
107
111
  subscribeOperation(filter) {
108
112
  return new observable_subscription_1.ObservableSubscription(this.newBlock$.pipe(applyFilter(filter)), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
5
5
  exports.VERSION = {
6
- "commitHash": "f0eb755ed1e0de4d1cd86623df4496f76efd0caf",
7
- "version": "22.0.0-beta.0"
6
+ "commitHash": "7af2138a9e5c5b230c4b4c726f35c2f2e67b721c",
7
+ "version": "23.0.0-beta.0"
8
8
  };
@@ -35,7 +35,7 @@ const createNewPollingBasedHeadObservable = (sharedHeadOb, context, _scheduler)
35
35
  connector: () => new rxjs_1.ReplaySubject(1),
36
36
  resetOnError: false,
37
37
  resetOnComplete: false,
38
- resetOnRefCountZero: false,
38
+ resetOnRefCountZero: true,
39
39
  }));
40
40
  };
41
41
  exports.createNewPollingBasedHeadObservable = createNewPollingBasedHeadObservable;
@@ -62,7 +62,7 @@ class WalletOperation {
62
62
  connector: () => new rxjs_1.ReplaySubject(1),
63
63
  resetOnError: false,
64
64
  resetOnComplete: false,
65
- resetOnRefCountZero: false,
65
+ resetOnRefCountZero: true,
66
66
  }));
67
67
  // Observable that emit once operation is seen in a block
68
68
  this.confirmed$ = this.newHead$.pipe((0, operators_1.map)((head) => {
@@ -83,7 +83,7 @@ class WalletOperation {
83
83
  connector: () => new rxjs_1.ReplaySubject(1),
84
84
  resetOnError: false,
85
85
  resetOnComplete: false,
86
- resetOnRefCountZero: false,
86
+ resetOnRefCountZero: true,
87
87
  }));
88
88
  if ((0, utils_1.validateOperation)(this.opHash) !== utils_1.ValidationResult.VALID) {
89
89
  throw new core_1.InvalidOperationHashError(this.opHash);
@@ -347,9 +347,6 @@ class Wallet {
347
347
  if (!params.to) {
348
348
  params.to = source;
349
349
  }
350
- if (params.to !== source) {
351
- throw new core_1.InvalidStakingAddressError(params.to);
352
- }
353
350
  if (!params.amount) {
354
351
  params.amount = 0;
355
352
  }
@@ -3,7 +3,7 @@ export { OpKind } from '@taquito/rpc';
3
3
  import { HttpResponseError, STATUS_CODE } from '@taquito/http-utils';
4
4
  import { TezosToolkitConfigError, ParameterValidationError, RpcError, TaquitoError, NetworkError, InvalidOperationHashError, InvalidAddressError, InvalidOperationKindError as InvalidOperationKindError$1, InvalidStakingAddressError, InvalidFinalizeUnstakeAmountError, InvalidContractAddressError, InvalidViewParameterError, DeprecationError, InvalidChainIdError, PublicKeyNotFoundError, InvalidAmountError, InvalidKeyHashError } from '@taquito/core';
5
5
  import { Observable, ReplaySubject, BehaviorSubject, throwError, defer, range, of, EMPTY, combineLatest, from, concat, Subject, NEVER, timer } from 'rxjs';
6
- import { switchMap, timeout, concatMap, endWith, tap, shareReplay, map, filter, first, catchError, share, distinctUntilChanged, takeWhile, startWith, mergeMap, takeUntil, retry, pluck, distinctUntilKeyChanged, publish, refCount } from 'rxjs/operators';
6
+ import { switchMap, timeout, concatMap, endWith, tap, shareReplay, map, filter, first, catchError, share, distinctUntilChanged, takeWhile, startWith, mergeMap, takeUntil, retry, distinctUntilKeyChanged } from 'rxjs/operators';
7
7
  import { Schema, ParameterSchema, ViewSchema, EventSchema, MichelsonMap, Token } from '@taquito/michelson-encoder';
8
8
  export { MichelsonMap, Token, UnitValue } from '@taquito/michelson-encoder';
9
9
  import { format, validateOperation, ValidationResult, InvalidOperationKindError, validateAddress, invalidDetail, validateContractAddress, validateChain, validateKeyHash, InvalidKeyHashError as InvalidKeyHashError$1, encodeExpr } from '@taquito/utils';
@@ -164,25 +164,55 @@ function createObservableFromSubscription(sub) {
164
164
  });
165
165
  }
166
166
 
167
- // value is based on octez-client reveal operation gasLimit of each address type in Rio Protocol
167
+ /**
168
+ * @deprecated default reveal gasLimit please use getRevealGasLimit(address) instead, removing hardcoded gasLimit of delegation, origination and transfer
169
+ */
170
+ const DEFAULT_GAS_LIMIT = {
171
+ DELEGATION: 10600,
172
+ ORIGINATION: 10600,
173
+ TRANSFER: 10600,
174
+ REVEAL_TZ1: 1000,
175
+ REVEAL_TZ2: 1000,
176
+ REVEAL_TZ3: 2000,
177
+ REVEAL_TZ4: 2000,
178
+ };
179
+ /**
180
+ * @deprecated default reveal fee please use getRevealFee(address) instead, removing hardcoded fee of delegation, origination and transfer
181
+ */
182
+ const DEFAULT_FEE = {
183
+ DELEGATION: 1257,
184
+ ORIGINATION: 10000,
185
+ TRANSFER: 10000,
186
+ REVEAL: 374,
187
+ };
188
+ /**
189
+ * @deprecated default reveal storageLimit please use REVEAL_STORAGE_LIMIT instead, removing hardcoded storageLimit of delegation, origination and transfer
190
+ */
191
+ const DEFAULT_STORAGE_LIMIT = {
192
+ DELEGATION: 0,
193
+ ORIGINATION: 257,
194
+ TRANSFER: 257,
195
+ REVEAL: 0,
196
+ };
197
+ // value is based on octez-client reveal operation gasLimit of each address type in Seoul Protocol
168
198
  const REVEAL_GAS_LIMIT = {
169
- TZ1: 169,
170
- TZ2: 155,
171
- TZ3: 445,
172
- TZ4: 1674,
199
+ TZ1: 171,
200
+ TZ2: 157,
201
+ TZ3: 447,
202
+ TZ4: 3252,
173
203
  };
174
- // value is based on octez-client reveal operation fee of each address type in Rio Protocol
204
+ // value is based on octez-client reveal operation fee of each address type in Seoul Protocol
175
205
  const REVEAL_FEE = {
176
- TZ1: 276,
177
- TZ2: 276,
178
- TZ3: 305,
179
- TZ4: 477,
206
+ TZ1: 278,
207
+ TZ2: 277,
208
+ TZ3: 306,
209
+ TZ4: 736,
180
210
  };
181
- // value is based on octez-client reveal operation storageLimit of all address type in Rio Protocol
211
+ // value is based on octez-client reveal operation storageLimit of all address type in Seoul Protocol
182
212
  const REVEAL_STORAGE_LIMIT = 0;
183
- // protocol constants in Rio Protocol
213
+ // protocol constants in Seoul Protocol
184
214
  const ORIGINATION_SIZE = 257;
185
- // protocol constants in Rio Protocol
215
+ // protocol constants in Seoul Protocol
186
216
  const COST_PER_BYTE = 250;
187
217
  var Protocols;
188
218
  (function (Protocols) {
@@ -208,6 +238,7 @@ var Protocols;
208
238
  Protocols["PsParisCZ"] = "PsParisCZo7KAh1Z1smVd9ZMZ1HHn5gkzbM94V3PLCpknFWhUAi";
209
239
  Protocols["PsQuebecn"] = "PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg";
210
240
  Protocols["PsRiotuma"] = "PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7";
241
+ Protocols["PtSeouLou"] = "PtSeouLouXkxhg39oWzjxDWaCydNfR3RxCUrNe4Q9Ro8BTehcbh";
211
242
  Protocols["ProtoALpha"] = "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK";
212
243
  })(Protocols || (Protocols = {}));
213
244
  const protocols = {
@@ -229,7 +260,8 @@ const protocols = {
229
260
  '020': [Protocols.PtParisBx, Protocols.PsParisCZ],
230
261
  '021': [Protocols.PsQuebecn],
231
262
  '022': [Protocols.PsRiotuma],
232
- '023': [Protocols.ProtoALpha],
263
+ '023': [Protocols.PtSeouLou],
264
+ '024': [Protocols.ProtoALpha],
233
265
  };
234
266
  var ChainIds;
235
267
  (function (ChainIds) {
@@ -251,8 +283,9 @@ var ChainIds;
251
283
  ChainIds["OXFORDNET2"] = "NetXxWsskGahzQB";
252
284
  ChainIds["PARISBNET"] = "NetXo8SqH1c38SS";
253
285
  ChainIds["PARISCNET"] = "NetXXWAHLEvre9b";
254
- ChainIds["QUEBECN"] = "NetXuTeGinLEqxp";
255
- ChainIds["RIOTUMANET"] = "NetXPdgaoabtBth";
286
+ ChainIds["QUEBECNET"] = "NetXuTeGinLEqxp";
287
+ ChainIds["RIONET"] = "NetXPdgaoabtBth";
288
+ ChainIds["SEOULNET"] = "NetXd56aBs1aeW3";
256
289
  })(ChainIds || (ChainIds = {}));
257
290
  // A fixed fee reveal operation gasLimit accepted by both simulate and injection endpoint is between 1.2-5 times of actual gas consumption (3.5 fails occasionally with gas exhausted; 4 fails occasionally with fee too low)
258
291
  const getRevealGasLimit = (address) => Math.round((getRevealGasLimitInternal(address) * 37) / 10);
@@ -1474,9 +1507,6 @@ class Wallet {
1474
1507
  if (!params.to) {
1475
1508
  params.to = source;
1476
1509
  }
1477
- if (params.to !== source) {
1478
- throw new InvalidStakingAddressError(params.to);
1479
- }
1480
1510
  if (!params.amount) {
1481
1511
  params.amount = 0;
1482
1512
  }
@@ -1654,7 +1684,7 @@ class WalletOperation {
1654
1684
  connector: () => new ReplaySubject(1),
1655
1685
  resetOnError: false,
1656
1686
  resetOnComplete: false,
1657
- resetOnRefCountZero: false,
1687
+ resetOnRefCountZero: true,
1658
1688
  }));
1659
1689
  // Observable that emit once operation is seen in a block
1660
1690
  this.confirmed$ = this.newHead$.pipe(map((head) => {
@@ -1675,7 +1705,7 @@ class WalletOperation {
1675
1705
  connector: () => new ReplaySubject(1),
1676
1706
  resetOnError: false,
1677
1707
  resetOnComplete: false,
1678
- resetOnRefCountZero: false,
1708
+ resetOnRefCountZero: true,
1679
1709
  }));
1680
1710
  if (validateOperation(this.opHash) !== ValidationResult.VALID) {
1681
1711
  throw new InvalidOperationHashError(this.opHash);
@@ -2818,6 +2848,7 @@ class PrepareProvider extends Provider {
2818
2848
  /**
2819
2849
  *
2820
2850
  * @description Method to prepare a reveal operation
2851
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
2821
2852
  * @param operation RPCOperation object or RPCOperation array
2822
2853
  * @param source string or undefined source pkh
2823
2854
  * @returns a PreparedOperation object
@@ -2993,11 +3024,11 @@ class PrepareProvider extends Provider {
2993
3024
  */
2994
3025
  finalizeUnstake(_a) {
2995
3026
  return __awaiter(this, void 0, void 0, function* () {
2996
- var { fee, storageLimit, gasLimit } = _a, rest = __rest(_a, ["fee", "storageLimit", "gasLimit"]);
3027
+ var { fee, storageLimit, gasLimit, to } = _a, rest = __rest(_a, ["fee", "storageLimit", "gasLimit", "to"]);
2997
3028
  const { pkh } = yield this.getKeys();
2998
3029
  const protocolConstants = yield this.context.readProvider.getProtocolConstants('head');
2999
3030
  const DEFAULT_PARAMS = yield this.getOperationLimits(protocolConstants);
3000
- const op = yield createTransferOperation(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { to: pkh, amount: 0 }), mergeLimits({ fee, storageLimit, gasLimit }, DEFAULT_PARAMS)), { parameter: {
3031
+ const op = yield createTransferOperation(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { to: to ? to : pkh, amount: 0 }), mergeLimits({ fee, storageLimit, gasLimit }, DEFAULT_PARAMS)), { parameter: {
3001
3032
  entrypoint: 'finalize_unstake',
3002
3033
  value: { prim: 'Unit' },
3003
3034
  } }));
@@ -3118,6 +3149,7 @@ class PrepareProvider extends Provider {
3118
3149
  /**
3119
3150
  *
3120
3151
  * @description Method to prepare an update_consensus_key operation
3152
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
3121
3153
  * @param operation RPCOperation object or RPCOperation array
3122
3154
  * @param source string or undefined source pkh
3123
3155
  * @returns a PreparedOperation object
@@ -3906,7 +3938,7 @@ const createNewPollingBasedHeadObservable = (sharedHeadOb, context, _scheduler)
3906
3938
  connector: () => new ReplaySubject(1),
3907
3939
  resetOnError: false,
3908
3940
  resetOnComplete: false,
3909
- resetOnRefCountZero: false,
3941
+ resetOnRefCountZero: true,
3910
3942
  }));
3911
3943
  };
3912
3944
  class OperationFactory {
@@ -4406,9 +4438,6 @@ class RPCEstimateProvider extends Provider {
4406
4438
  if (!rest.to) {
4407
4439
  rest.to = rest.source;
4408
4440
  }
4409
- if (rest.to && rest.to !== rest.source) {
4410
- throw new InvalidStakingAddressError(rest.to);
4411
- }
4412
4441
  if (!rest.amount) {
4413
4442
  rest.amount = 0;
4414
4443
  }
@@ -4531,7 +4560,7 @@ class RPCEstimateProvider extends Provider {
4531
4560
  /**
4532
4561
  *
4533
4562
  * @description Estimate gasLimit, storageLimit and fees to reveal the current account
4534
- *
4563
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
4535
4564
  * @returns An estimation of gasLimit, storageLimit and fees for the operation or undefined if the account is already revealed
4536
4565
  *
4537
4566
  * @param Estimate
@@ -4604,9 +4633,8 @@ class RPCEstimateProvider extends Provider {
4604
4633
  /**
4605
4634
  *
4606
4635
  * @description Estimate gasLimit, storageLimit and fees for an Update Consensus Key operation
4607
- *
4636
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
4608
4637
  * @returns An estimation of gasLimit, storageLimit and fees for the operation
4609
- *
4610
4638
  * @param Estimate
4611
4639
  */
4612
4640
  updateConsensusKey(params) {
@@ -5563,7 +5591,7 @@ class RpcContractProvider extends Provider {
5563
5591
  throw new InvalidAddressError(params.delegate, invalidDetail(delegateValidation));
5564
5592
  }
5565
5593
  // Since babylon delegation source cannot smart contract
5566
- if (/kt1/i.test(params.source)) {
5594
+ if (/^kt1/i.test(params.source)) {
5567
5595
  throw new InvalidDelegationSource(params.source);
5568
5596
  }
5569
5597
  const publicKeyHash = yield this.signer.publicKeyHash();
@@ -5714,9 +5742,6 @@ class RpcContractProvider extends Provider {
5714
5742
  if (!params.to) {
5715
5743
  params.to = params.source;
5716
5744
  }
5717
- if (params.to && params.to !== params.source) {
5718
- throw new InvalidStakingAddressError(params.to);
5719
- }
5720
5745
  if (!params.amount) {
5721
5746
  params.amount = 0;
5722
5747
  }
@@ -5764,8 +5789,8 @@ class RpcContractProvider extends Provider {
5764
5789
  }
5765
5790
  /**
5766
5791
  *
5767
- * @description Reveal the current address. Will throw an error if the address is already revealed.
5768
- *
5792
+ * @description Reveal the public key of the current address. Will throw an error if the address is already revealed.
5793
+ * @remarks Reveal tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
5769
5794
  * @returns An operation handle with the result from the rpc node
5770
5795
  *
5771
5796
  * @param RevealParams operation parameter
@@ -5896,7 +5921,7 @@ class RpcContractProvider extends Provider {
5896
5921
  /**
5897
5922
  *
5898
5923
  * @description Updates the consensus key of the baker to public_key starting from the current cycle plus PRESERVED_CYCLES + 1
5899
- *
5924
+ * @remarks updateConsensusKey to a tz4 address is not included in the current beta release for protocol Seoul (still a work in progress)
5900
5925
  * @returns An operation handle with the result from the rpc node
5901
5926
  *
5902
5927
  * @param UpdateConsensusKeyParams
@@ -6643,7 +6668,7 @@ class PollingSubscribeProvider {
6643
6668
  constructor(context, config = {}) {
6644
6669
  this.context = context;
6645
6670
  this._config$ = new BehaviorSubject(Object.assign(Object.assign({}, defaultConfigStreamer), config));
6646
- this.timer$ = this._config$.pipe(pluck('pollingIntervalMilliseconds'), switchMap((pollingIntervalMilliseconds) => {
6671
+ this.timer$ = this._config$.pipe(map((x) => x === null || x === void 0 ? void 0 : x.pollingIntervalMilliseconds), switchMap((pollingIntervalMilliseconds) => {
6647
6672
  if (!pollingIntervalMilliseconds) {
6648
6673
  return from(this.getConfirmationPollingInterval()).pipe(switchMap((interval) => {
6649
6674
  return timer(0, interval);
@@ -6653,7 +6678,11 @@ class PollingSubscribeProvider {
6653
6678
  return timer(0, pollingIntervalMilliseconds);
6654
6679
  }
6655
6680
  }));
6656
- this.newBlock$ = this.timer$.pipe(switchMap(() => getLastBlock(this.context)), distinctUntilKeyChanged('hash'), publish(), refCount());
6681
+ this.newBlock$ = this.timer$.pipe(switchMap(() => getLastBlock(this.context)), distinctUntilKeyChanged('hash'), share({
6682
+ resetOnError: false,
6683
+ resetOnComplete: false,
6684
+ resetOnRefCountZero: true,
6685
+ }));
6657
6686
  }
6658
6687
  get config() {
6659
6688
  return this._config$.getValue();
@@ -6685,7 +6714,7 @@ class PollingSubscribeProvider {
6685
6714
  return new ObservableSubscription(this.newBlock$, this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
6686
6715
  }
6687
6716
  subscribe(_filter) {
6688
- return new ObservableSubscription(this.newBlock$.pipe(pluck('hash')), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
6717
+ return new ObservableSubscription(this.newBlock$.pipe(map((x) => x === null || x === void 0 ? void 0 : x.hash)), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
6689
6718
  }
6690
6719
  subscribeOperation(filter) {
6691
6720
  return new ObservableSubscription(this.newBlock$.pipe(applyFilter(filter)), this.config.shouldObservableSubscriptionRetry, this.config.observableSubscriptionRetryFunction);
@@ -6871,8 +6900,8 @@ class Context {
6871
6900
 
6872
6901
  // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
6873
6902
  const VERSION = {
6874
- "commitHash": "f0eb755ed1e0de4d1cd86623df4496f76efd0caf",
6875
- "version": "22.0.0-beta.0"
6903
+ "commitHash": "7af2138a9e5c5b230c4b4c726f35c2f2e67b721c",
6904
+ "version": "23.0.0-beta.0"
6876
6905
  };
6877
6906
 
6878
6907
  /**
@@ -7320,5 +7349,5 @@ class TezosToolkit {
7320
7349
  }
7321
7350
  }
7322
7351
 
7323
- export { BallotOperation, BatchOperation, BigMapAbstraction, COST_PER_BYTE, ChainIds, CompositeForger, Context, ContractAbstraction, ContractMethod, ContractMethodObject, ContractView, DEFAULT_SMART_CONTRACT_METHOD_NAME, DefaultGlobalConstantsProvider, DelegateOperation, DelegationWalletOperation, DrainDelegateOperation, Estimate, GlobalConstantNotFound, IncreasePaidStorageOperation, InvalidBalanceError, InvalidCodeParameter, InvalidDelegationSource, InvalidEstimateValueError, InvalidInitParameter, InvalidParameterError, InvalidViewSimulationContext, LegacyWalletProvider, MANAGER_LAMBDA, MichelCodecPacker, MichelCodecParser, NoopParser, ORIGINATION_SIZE, ObservableSubscription, Operation, OperationBatch, OriginationOperation, OriginationParameterError, OriginationWalletOperation, PollingSubscribeProvider, PrepareProvider, ProposalsOperation, Protocols, REVEAL_STORAGE_LIMIT, RPCEstimateProvider, RegisterGlobalConstantOperation, RevealEstimateError, RevealOperation, RevealOperationError, RpcForger, RpcInjector, RpcPacker, RpcReadAdapter, SaplingStateAbstraction, SmartRollupAddMessagesOperation, SmartRollupOriginateOperation, TaquitoLocalForger, TezosOperationError, TezosPreapplyFailureError, TezosToolkit, TransactionOperation, TransactionWalletOperation, TransferTicketOperation, TransferTicketWalletOperation, UnconfiguredGlobalConstantsProviderError, UpdateConsensusKeyOperation, VIEW_LAMBDA, ViewSimulationError, Wallet, WalletOperation, WalletOperationBatch, attachKind, compose, createActivationOperation, createBallotOperation, createDrainDelegateOperation, createIncreasePaidStorageOperation, createOriginationOperation, createProposalsOperation, createRegisterDelegateOperation, createRegisterGlobalConstantOperation, createRevealOperation, createSetDelegateOperation, createSmartRollupAddMessagesOperation, createSmartRollupExecuteOutboxMessageOperation, createSmartRollupOriginateOperation, createTransferOperation, createTransferTicketOperation, createUpdateConsensusKeyOperation, defaultConfigConfirmation, findWithKind, getRevealFee, getRevealFeeInternal, getRevealGasLimit, hasMetadata, hasMetadataWithInternalOperationResult, hasMetadataWithResult, isKind, isOpRequireReveal, isOpWithFee, isOpWithGasBuffer, isSourceOp, protocols, smartContractAbstractionSemantic, validateAndExtractFailwith };
7352
+ export { BallotOperation, BatchOperation, BigMapAbstraction, COST_PER_BYTE, ChainIds, CompositeForger, Context, ContractAbstraction, ContractMethod, ContractMethodObject, ContractView, DEFAULT_FEE, DEFAULT_GAS_LIMIT, DEFAULT_SMART_CONTRACT_METHOD_NAME, DEFAULT_STORAGE_LIMIT, DefaultGlobalConstantsProvider, DelegateOperation, DelegationWalletOperation, DrainDelegateOperation, Estimate, GlobalConstantNotFound, IncreasePaidStorageOperation, InvalidBalanceError, InvalidCodeParameter, InvalidDelegationSource, InvalidEstimateValueError, InvalidInitParameter, InvalidParameterError, InvalidViewSimulationContext, LegacyWalletProvider, MANAGER_LAMBDA, MichelCodecPacker, MichelCodecParser, NoopParser, ORIGINATION_SIZE, ObservableSubscription, Operation, OperationBatch, OriginationOperation, OriginationParameterError, OriginationWalletOperation, PollingSubscribeProvider, PrepareProvider, ProposalsOperation, Protocols, REVEAL_STORAGE_LIMIT, RPCEstimateProvider, RegisterGlobalConstantOperation, RevealEstimateError, RevealOperation, RevealOperationError, RpcForger, RpcInjector, RpcPacker, RpcReadAdapter, SaplingStateAbstraction, SmartRollupAddMessagesOperation, SmartRollupOriginateOperation, TaquitoLocalForger, TezosOperationError, TezosPreapplyFailureError, TezosToolkit, TransactionOperation, TransactionWalletOperation, TransferTicketOperation, TransferTicketWalletOperation, UnconfiguredGlobalConstantsProviderError, UpdateConsensusKeyOperation, VIEW_LAMBDA, ViewSimulationError, Wallet, WalletOperation, WalletOperationBatch, attachKind, compose, createActivationOperation, createBallotOperation, createDrainDelegateOperation, createIncreasePaidStorageOperation, createOriginationOperation, createProposalsOperation, createRegisterDelegateOperation, createRegisterGlobalConstantOperation, createRevealOperation, createSetDelegateOperation, createSmartRollupAddMessagesOperation, createSmartRollupExecuteOutboxMessageOperation, createSmartRollupOriginateOperation, createTransferOperation, createTransferTicketOperation, createUpdateConsensusKeyOperation, defaultConfigConfirmation, findWithKind, getRevealFee, getRevealFeeInternal, getRevealGasLimit, hasMetadata, hasMetadataWithInternalOperationResult, hasMetadataWithResult, isKind, isOpRequireReveal, isOpWithFee, isOpWithGasBuffer, isSourceOp, protocols, smartContractAbstractionSemantic, validateAndExtractFailwith };
7324
7353
  //# sourceMappingURL=taquito.es6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taquito.es6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taquito.es6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}