@ledgerhq/hw-app-eth 7.0.0-nightly.2 → 7.0.0-nightly.20251120135143

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/.unimportedrc.json +3 -28
  3. package/CHANGELOG.md +994 -17
  4. package/README.md +100 -0
  5. package/jest.config.ts +18 -0
  6. package/lib/Eth.d.ts +3 -18
  7. package/lib/Eth.d.ts.map +1 -1
  8. package/lib/Eth.js +160 -198
  9. package/lib/Eth.js.map +1 -1
  10. package/lib/errors.d.ts +3 -0
  11. package/lib/errors.d.ts.map +1 -1
  12. package/lib/errors.js +2 -1
  13. package/lib/errors.js.map +1 -1
  14. package/lib/modules/Domains/index.js +6 -15
  15. package/lib/modules/Domains/index.js.map +1 -1
  16. package/lib/modules/EIP712/index.d.ts.map +1 -1
  17. package/lib/modules/EIP712/index.js +112 -125
  18. package/lib/modules/EIP712/index.js.map +1 -1
  19. package/lib/modules/EIP712/types.d.ts +1 -0
  20. package/lib/modules/EIP712/types.d.ts.map +1 -1
  21. package/lib/modules/EIP712/utils.d.ts +1 -0
  22. package/lib/modules/EIP712/utils.d.ts.map +1 -1
  23. package/lib/modules/EIP712/utils.js +14 -24
  24. package/lib/modules/EIP712/utils.js.map +1 -1
  25. package/lib/modules/Uniswap/constants.d.ts.map +1 -1
  26. package/lib/modules/Uniswap/constants.js +1 -0
  27. package/lib/modules/Uniswap/constants.js.map +1 -1
  28. package/lib/modules/Uniswap/decoders.d.ts.map +1 -1
  29. package/lib/modules/Uniswap/decoders.js +8 -3
  30. package/lib/modules/Uniswap/decoders.js.map +1 -1
  31. package/lib/modules/Uniswap/index.d.ts +2 -1
  32. package/lib/modules/Uniswap/index.d.ts.map +1 -1
  33. package/lib/modules/Uniswap/index.js +11 -20
  34. package/lib/modules/Uniswap/index.js.map +1 -1
  35. package/lib/modules/Uniswap/types.d.ts +1 -1
  36. package/lib/modules/Uniswap/types.d.ts.map +1 -1
  37. package/lib/services/ledger/contracts.js +4 -13
  38. package/lib/services/ledger/contracts.js.map +1 -1
  39. package/lib/services/ledger/erc20.d.ts +2 -1
  40. package/lib/services/ledger/erc20.d.ts.map +1 -1
  41. package/lib/services/ledger/erc20.js +16 -32
  42. package/lib/services/ledger/erc20.js.map +1 -1
  43. package/lib/services/ledger/index.d.ts.map +1 -1
  44. package/lib/services/ledger/index.js +34 -32
  45. package/lib/services/ledger/index.js.map +1 -1
  46. package/lib/services/ledger/loadConfig.d.ts.map +1 -1
  47. package/lib/services/ledger/loadConfig.js +7 -1
  48. package/lib/services/ledger/loadConfig.js.map +1 -1
  49. package/lib/services/ledger/nfts.js +9 -19
  50. package/lib/services/ledger/nfts.js.map +1 -1
  51. package/lib/services/types.d.ts +3 -0
  52. package/lib/services/types.d.ts.map +1 -1
  53. package/lib/utils.d.ts +56 -9
  54. package/lib/utils.d.ts.map +1 -1
  55. package/lib/utils.js +175 -81
  56. package/lib/utils.js.map +1 -1
  57. package/lib-es/Eth.d.ts +3 -18
  58. package/lib-es/Eth.d.ts.map +1 -1
  59. package/lib-es/Eth.js +160 -198
  60. package/lib-es/Eth.js.map +1 -1
  61. package/lib-es/errors.d.ts +3 -0
  62. package/lib-es/errors.d.ts.map +1 -1
  63. package/lib-es/errors.js +1 -0
  64. package/lib-es/errors.js.map +1 -1
  65. package/lib-es/modules/Domains/index.js +6 -15
  66. package/lib-es/modules/Domains/index.js.map +1 -1
  67. package/lib-es/modules/EIP712/index.d.ts.map +1 -1
  68. package/lib-es/modules/EIP712/index.js +112 -125
  69. package/lib-es/modules/EIP712/index.js.map +1 -1
  70. package/lib-es/modules/EIP712/types.d.ts +1 -0
  71. package/lib-es/modules/EIP712/types.d.ts.map +1 -1
  72. package/lib-es/modules/EIP712/utils.d.ts +1 -0
  73. package/lib-es/modules/EIP712/utils.d.ts.map +1 -1
  74. package/lib-es/modules/EIP712/utils.js +14 -24
  75. package/lib-es/modules/EIP712/utils.js.map +1 -1
  76. package/lib-es/modules/Uniswap/constants.d.ts.map +1 -1
  77. package/lib-es/modules/Uniswap/constants.js +1 -0
  78. package/lib-es/modules/Uniswap/constants.js.map +1 -1
  79. package/lib-es/modules/Uniswap/decoders.d.ts.map +1 -1
  80. package/lib-es/modules/Uniswap/decoders.js +8 -3
  81. package/lib-es/modules/Uniswap/decoders.js.map +1 -1
  82. package/lib-es/modules/Uniswap/index.d.ts +2 -1
  83. package/lib-es/modules/Uniswap/index.d.ts.map +1 -1
  84. package/lib-es/modules/Uniswap/index.js +11 -20
  85. package/lib-es/modules/Uniswap/index.js.map +1 -1
  86. package/lib-es/modules/Uniswap/types.d.ts +1 -1
  87. package/lib-es/modules/Uniswap/types.d.ts.map +1 -1
  88. package/lib-es/services/ledger/contracts.js +4 -13
  89. package/lib-es/services/ledger/contracts.js.map +1 -1
  90. package/lib-es/services/ledger/erc20.d.ts +2 -1
  91. package/lib-es/services/ledger/erc20.d.ts.map +1 -1
  92. package/lib-es/services/ledger/erc20.js +16 -32
  93. package/lib-es/services/ledger/erc20.js.map +1 -1
  94. package/lib-es/services/ledger/index.d.ts.map +1 -1
  95. package/lib-es/services/ledger/index.js +34 -32
  96. package/lib-es/services/ledger/index.js.map +1 -1
  97. package/lib-es/services/ledger/loadConfig.d.ts.map +1 -1
  98. package/lib-es/services/ledger/loadConfig.js +7 -1
  99. package/lib-es/services/ledger/loadConfig.js.map +1 -1
  100. package/lib-es/services/ledger/nfts.js +9 -19
  101. package/lib-es/services/ledger/nfts.js.map +1 -1
  102. package/lib-es/services/types.d.ts +3 -0
  103. package/lib-es/services/types.d.ts.map +1 -1
  104. package/lib-es/utils.d.ts +56 -9
  105. package/lib-es/utils.d.ts.map +1 -1
  106. package/lib-es/utils.js +148 -81
  107. package/lib-es/utils.js.map +1 -1
  108. package/package.json +19 -15
  109. package/src/Eth.ts +51 -82
  110. package/src/errors.ts +3 -0
  111. package/src/modules/EIP712/index.ts +17 -4
  112. package/src/modules/Uniswap/constants.ts +1 -0
  113. package/src/modules/Uniswap/decoders.ts +10 -3
  114. package/src/modules/Uniswap/index.ts +9 -8
  115. package/src/modules/Uniswap/types.ts +2 -1
  116. package/src/services/ledger/erc20.ts +16 -19
  117. package/src/services/ledger/index.ts +50 -22
  118. package/src/services/ledger/loadConfig.ts +4 -1
  119. package/src/services/ledger/nfts.ts +1 -1
  120. package/src/services/types.ts +12 -0
  121. package/src/utils.ts +170 -85
  122. package/tests/EIP712/filtered-signMessage.unit.test.ts +28 -116
  123. package/tests/EIP712/noFilter-signMessage.unit.test.ts +0 -2
  124. package/tests/ERC20/ERC20-CAL-KO.unit.test.ts +14 -25
  125. package/tests/ERC20/ERC20-CAL-OK.unit.test.ts +15 -10
  126. package/tests/Eth.unit.test.ts +242 -314
  127. package/tests/Uniswap/decoders.unit.test.ts +10 -0
  128. package/tests/Uniswap/index.unit.test.ts +17 -26
  129. package/tests/fixtures/messages/15-permit.json +3 -3
  130. package/tests/fixtures/messages/16-permit2.json +3 -3
  131. package/tests/fixtures/messages/17-uniswapx.json +5 -5
  132. package/tests/fixtures/utils.ts +17 -18
  133. package/tests/ledgerService.unit.test.ts +5 -7
  134. package/tests/utils.unit.test.ts +341 -0
package/lib-es/Eth.js CHANGED
@@ -1,19 +1,12 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { BigNumber } from "bignumber.js";
1
+ /* eslint-disable @typescript-eslint/no-duplicate-enum-values */
11
2
  import { log } from "@ledgerhq/logs";
12
- import { decodeTxInfo, hexBuffer, intAsHexBytes, maybeHexBuffer, padHexString, splitPath, } from "./utils";
3
+ import { BigNumber } from "bignumber.js";
4
+ import { parse as parseTransaction } from "@ethersproject/transactions";
5
+ import { EthAppNftNotSupported, EthAppPleaseEnableContractData, CeloAppPleaseEnableContractData, } from "./errors";
6
+ import { signEIP712HashedMessage, signEIP712Message } from "./modules/EIP712";
13
7
  import { domainResolutionFlow } from "./modules/Domains";
14
8
  import ledgerService from "./services/ledger";
15
- import { EthAppNftNotSupported, EthAppPleaseEnableContractData } from "./errors";
16
- import { signEIP712HashedMessage, signEIP712Message } from "./modules/EIP712";
9
+ import { safeChunkTransaction, getV, hexBuffer, intAsHexBytes, maybeHexBuffer, padHexString, splitPath, } from "./utils";
17
10
  export { ledgerService };
18
11
  export * from "./utils";
19
12
  const starkQuantizationTypeMap = {
@@ -23,8 +16,11 @@ const starkQuantizationTypeMap = {
23
16
  erc20mintable: 4,
24
17
  erc721mintable: 5,
25
18
  };
26
- const remapTransactionRelatedErrors = e => {
19
+ const remapTransactionRelatedErrors = (e, chainId) => {
27
20
  if (e && e.statusCode === 0x6a80) {
21
+ if (chainId.toNumber() === 42220) {
22
+ return new CeloAppPleaseEnableContractData();
23
+ }
28
24
  return new EthAppPleaseEnableContractData("Please enable Blind signing or Contract data in the Ethereum app Settings");
29
25
  }
30
26
  return e;
@@ -37,6 +33,8 @@ const remapTransactionRelatedErrors = e => {
37
33
  * const eth = new Eth(transport)
38
34
  */
39
35
  export default class Eth {
36
+ transport;
37
+ loadConfig;
40
38
  setLoadConfig(loadConfig) {
41
39
  this.loadConfig = loadConfig;
42
40
  }
@@ -125,107 +123,81 @@ export default class Eth {
125
123
  const result = eth.signTransaction("44'/60'/0'/0/0", tx, resolution);
126
124
  console.log(result);
127
125
  */
128
- signTransaction(path, rawTxHex, resolution) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (resolution === undefined) {
131
- console.warn("hw-app-eth: signTransaction(path, rawTxHex, resolution): " +
132
- "please provide the 'resolution' parameter. " +
133
- "See https://github.com/LedgerHQ/ledgerjs/blob/master/packages/hw-app-eth/README.md " +
134
- " the previous signature is deprecated and providing the 3rd 'resolution' parameter explicitly will become mandatory so you have the control on the resolution and the fallback mecanism (e.g. fallback to blind signing or not)." +
135
- "// Possible solution:\n" +
136
- " + import { ledgerService } from '@ledgerhq/hw-app-eth';\n" +
137
- " + const resolution = await ledgerService.resolveTransaction(rawTxHex);");
138
- resolution = yield ledgerService
139
- .resolveTransaction(rawTxHex, this.loadConfig, {
140
- externalPlugins: true,
141
- erc20: true,
142
- uniswapV3: false,
143
- })
144
- .catch(e => {
145
- console.warn("an error occurred in resolveTransaction => fallback to blind signing: " + String(e));
146
- return null;
147
- });
148
- }
149
- // provide to the device resolved information to make it clear sign the signature
150
- if (resolution) {
151
- for (const domainDescriptor of resolution.domains) {
152
- yield domainResolutionFlow(this, domainDescriptor).catch(e => {
153
- // error during the domain flow shouldn't be blocking the signature in case of failure
154
- log("error", "domainResolutionFlow failed", {
155
- domainDescriptor,
156
- error: e,
157
- });
158
- });
159
- }
160
- for (const plugin of resolution.plugin) {
161
- yield this.setPlugin(plugin);
162
- }
163
- for (const { payload, signature } of resolution.externalPlugin) {
164
- yield this.setExternalPlugin(payload, signature);
165
- }
166
- for (const nft of resolution.nfts) {
167
- yield this.provideNFTInformation(nft);
168
- }
169
- for (const data of resolution.erc20Tokens) {
170
- yield this.provideERC20TokenInformation(data);
171
- }
172
- }
173
- const rawTx = Buffer.from(rawTxHex, "hex");
174
- const { vrsOffset, txType, chainId, chainIdTruncated } = decodeTxInfo(rawTx);
175
- const paths = splitPath(path);
176
- let response;
177
- let offset = 0;
178
- while (offset !== rawTx.length) {
179
- const first = offset === 0;
180
- const maxChunkSize = first ? 150 - 1 - paths.length * 4 : 150;
181
- let chunkSize = offset + maxChunkSize > rawTx.length ? rawTx.length - offset : maxChunkSize;
182
- if (vrsOffset != 0 && offset + chunkSize >= vrsOffset) {
183
- // Make sure that the chunk doesn't end right on the EIP 155 marker if set
184
- chunkSize = rawTx.length - offset;
185
- }
186
- const buffer = Buffer.alloc(first ? 1 + paths.length * 4 + chunkSize : chunkSize);
187
- if (first) {
188
- buffer[0] = paths.length;
189
- paths.forEach((element, index) => {
190
- buffer.writeUInt32BE(element, 1 + 4 * index);
126
+ async signTransaction(path, rawTxHex, resolution) {
127
+ let APDU_FIELDS;
128
+ (function (APDU_FIELDS) {
129
+ APDU_FIELDS[APDU_FIELDS["CLA"] = 224] = "CLA";
130
+ APDU_FIELDS[APDU_FIELDS["INS"] = 4] = "INS";
131
+ APDU_FIELDS[APDU_FIELDS["P1_FIRST_CHUNK"] = 0] = "P1_FIRST_CHUNK";
132
+ APDU_FIELDS[APDU_FIELDS["P1_FOLLOWING_CHUNK"] = 128] = "P1_FOLLOWING_CHUNK";
133
+ APDU_FIELDS[APDU_FIELDS["P2"] = 0] = "P2";
134
+ })(APDU_FIELDS || (APDU_FIELDS = {}));
135
+ if (resolution === undefined) {
136
+ console.warn("hw-app-eth: signTransaction(path, rawTxHex, resolution): " +
137
+ "please provide the 'resolution' parameter. " +
138
+ "See https://github.com/LedgerHQ/ledgerjs/blob/master/packages/hw-app-eth/README.md " +
139
+ "– the previous signature is deprecated and providing the 3rd 'resolution' parameter explicitly will become mandatory so you have the control on the resolution and the fallback mecanism (e.g. fallback to blind signing or not)." +
140
+ "// Possible solution:\n" +
141
+ " + import { ledgerService } from '@ledgerhq/hw-app-eth';\n" +
142
+ " + const resolution = await ledgerService.resolveTransaction(rawTxHex);");
143
+ resolution = await ledgerService
144
+ .resolveTransaction(rawTxHex, this.loadConfig, {
145
+ externalPlugins: true,
146
+ erc20: true,
147
+ uniswapV3: false,
148
+ })
149
+ .catch(e => {
150
+ console.warn("an error occurred in resolveTransaction => fallback to blind signing: " + String(e));
151
+ return null;
152
+ });
153
+ }
154
+ // provide to the device resolved information to make it clear sign the signature
155
+ if (resolution) {
156
+ for (const domainDescriptor of resolution.domains) {
157
+ await domainResolutionFlow(this, domainDescriptor).catch(e => {
158
+ // error during the domain flow shouldn't be blocking the signature in case of failure
159
+ log("error", "domainResolutionFlow failed", {
160
+ domainDescriptor,
161
+ error: e,
191
162
  });
192
- rawTx.copy(buffer, 1 + 4 * paths.length, offset, offset + chunkSize);
193
- }
194
- else {
195
- rawTx.copy(buffer, 0, offset, offset + chunkSize);
196
- }
197
- response = yield this.transport
198
- .send(0xe0, 0x04, first ? 0x00 : 0x80, 0x00, buffer)
199
- .catch(e => {
200
- throw remapTransactionRelatedErrors(e);
201
163
  });
202
- offset += chunkSize;
203
164
  }
204
- const response_byte = response[0];
205
- let v = "";
206
- if (chainId.times(2).plus(35).plus(1).isGreaterThan(255)) {
207
- const oneByteChainId = (chainIdTruncated * 2 + 35) % 256;
208
- const ecc_parity = Math.abs(response_byte - oneByteChainId);
209
- if (txType != null) {
210
- // For EIP2930 and EIP1559 tx, v is simply the parity.
211
- v = ecc_parity % 2 == 1 ? "00" : "01";
212
- }
213
- else {
214
- // Legacy type transaction with a big chain ID
215
- v = chainId.times(2).plus(35).plus(ecc_parity).toString(16);
216
- }
165
+ for (const plugin of resolution.plugin) {
166
+ await this.setPlugin(plugin);
217
167
  }
218
- else {
219
- v = response_byte.toString(16);
168
+ for (const { payload, signature } of resolution.externalPlugin) {
169
+ await this.setExternalPlugin(payload, signature);
220
170
  }
221
- // Make sure v has is prefixed with a 0 if its length is odd ("1" -> "01").
222
- if (v.length % 2 == 1) {
223
- v = "0" + v;
171
+ for (const nft of resolution.nfts) {
172
+ await this.provideNFTInformation(nft);
224
173
  }
225
- const r = response.slice(1, 1 + 32).toString("hex");
226
- const s = response.slice(1 + 32, 1 + 32 + 32).toString("hex");
227
- return { v, r, s };
228
- });
174
+ for (const data of resolution.erc20Tokens) {
175
+ await this.provideERC20TokenInformation(data);
176
+ }
177
+ }
178
+ const rawTx = Buffer.from(rawTxHex, "hex");
179
+ const parsedTransaction = parseTransaction(`0x${rawTx.toString("hex")}`);
180
+ const chainId = new BigNumber(parsedTransaction.chainId);
181
+ const paths = splitPath(path);
182
+ const derivationPathBuff = Buffer.alloc(1 + paths.length * 4);
183
+ derivationPathBuff[0] = paths.length;
184
+ paths.forEach((element, index) => {
185
+ derivationPathBuff.writeUInt32BE(element, 1 + 4 * index);
186
+ });
187
+ const payloadChunks = safeChunkTransaction(rawTx, derivationPathBuff, parsedTransaction.type);
188
+ let response;
189
+ for (const chunk of payloadChunks) {
190
+ const isFirstChunk = chunk === payloadChunks[0];
191
+ response = await this.transport
192
+ .send(APDU_FIELDS.CLA, APDU_FIELDS.INS, isFirstChunk ? APDU_FIELDS.P1_FIRST_CHUNK : APDU_FIELDS.P1_FOLLOWING_CHUNK, APDU_FIELDS.P2, chunk)
193
+ .catch(e => {
194
+ throw remapTransactionRelatedErrors(e, chainId);
195
+ });
196
+ }
197
+ const v = getV(response[0], chainId, parsedTransaction.type);
198
+ const r = response.subarray(1, 1 + 32).toString("hex");
199
+ const s = response.subarray(1 + 32, 1 + 32 + 32).toString("hex");
200
+ return { v, r, s };
229
201
  }
230
202
  /**
231
203
  * Helper to get resolution and signature of a transaction in a single method
@@ -239,19 +211,17 @@ export default class Eth {
239
211
  const result = eth.clearSignTransaction("44'/60'/0'/0/0", tx, { erc20: true, externalPlugins: true, nft: true});
240
212
  console.log(result);
241
213
  */
242
- clearSignTransaction(path_1, rawTxHex_1, resolutionConfig_1) {
243
- return __awaiter(this, arguments, void 0, function* (path, rawTxHex, resolutionConfig, throwOnError = false) {
244
- const resolution = yield ledgerService
245
- .resolveTransaction(rawTxHex, this.loadConfig, resolutionConfig)
246
- .catch(e => {
247
- console.warn("an error occurred in resolveTransaction => fallback to blind signing: " + String(e));
248
- if (throwOnError) {
249
- throw e;
250
- }
251
- return null;
252
- });
253
- return this.signTransaction(path, rawTxHex, resolution);
214
+ async clearSignTransaction(path, rawTxHex, resolutionConfig, throwOnError = false) {
215
+ const resolution = await ledgerService
216
+ .resolveTransaction(rawTxHex, this.loadConfig, resolutionConfig)
217
+ .catch(e => {
218
+ console.warn("an error occurred in resolveTransaction => fallback to blind signing: " + String(e));
219
+ if (throwOnError) {
220
+ throw e;
221
+ }
222
+ return null;
254
223
  });
224
+ return this.signTransaction(path, rawTxHex, resolution);
255
225
  }
256
226
  /**
257
227
  */
@@ -278,35 +248,33 @@ export default class Eth {
278
248
  console.log("Signature 0x" + result['r'] + result['s'] + v);
279
249
  })
280
250
  */
281
- signPersonalMessage(path, messageHex) {
282
- return __awaiter(this, void 0, void 0, function* () {
283
- const paths = splitPath(path);
284
- let offset = 0;
285
- const message = Buffer.from(messageHex, "hex");
286
- let response;
287
- while (offset !== message.length) {
288
- const maxChunkSize = offset === 0 ? 150 - 1 - paths.length * 4 - 4 : 150;
289
- const chunkSize = offset + maxChunkSize > message.length ? message.length - offset : maxChunkSize;
290
- const buffer = Buffer.alloc(offset === 0 ? 1 + paths.length * 4 + 4 + chunkSize : chunkSize);
291
- if (offset === 0) {
292
- buffer[0] = paths.length;
293
- paths.forEach((element, index) => {
294
- buffer.writeUInt32BE(element, 1 + 4 * index);
295
- });
296
- buffer.writeUInt32BE(message.length, 1 + 4 * paths.length);
297
- message.copy(buffer, 1 + 4 * paths.length + 4, offset, offset + chunkSize);
298
- }
299
- else {
300
- message.copy(buffer, 0, offset, offset + chunkSize);
301
- }
302
- response = yield this.transport.send(0xe0, 0x08, offset === 0 ? 0x00 : 0x80, 0x00, buffer);
303
- offset += chunkSize;
251
+ async signPersonalMessage(path, messageHex) {
252
+ const paths = splitPath(path);
253
+ let offset = 0;
254
+ const message = Buffer.from(messageHex, "hex");
255
+ let response;
256
+ while (offset !== message.length) {
257
+ const maxChunkSize = offset === 0 ? 150 - 1 - paths.length * 4 - 4 : 150;
258
+ const chunkSize = offset + maxChunkSize > message.length ? message.length - offset : maxChunkSize;
259
+ const buffer = Buffer.alloc(offset === 0 ? 1 + paths.length * 4 + 4 + chunkSize : chunkSize);
260
+ if (offset === 0) {
261
+ buffer[0] = paths.length;
262
+ paths.forEach((element, index) => {
263
+ buffer.writeUInt32BE(element, 1 + 4 * index);
264
+ });
265
+ buffer.writeUInt32BE(message.length, 1 + 4 * paths.length);
266
+ message.copy(buffer, 1 + 4 * paths.length + 4, offset, offset + chunkSize);
304
267
  }
305
- const v = response[0];
306
- const r = response.slice(1, 1 + 32).toString("hex");
307
- const s = response.slice(1 + 32, 1 + 32 + 32).toString("hex");
308
- return { v, r, s };
309
- });
268
+ else {
269
+ message.copy(buffer, 0, offset, offset + chunkSize);
270
+ }
271
+ response = await this.transport.send(0xe0, 0x08, offset === 0 ? 0x00 : 0x80, 0x00, buffer);
272
+ offset += chunkSize;
273
+ }
274
+ const v = response[0];
275
+ const r = response.slice(1, 1 + 32).toString("hex");
276
+ const s = response.slice(1 + 32, 1 + 32 + 32).toString("hex");
277
+ return { v, r, s };
310
278
  }
311
279
  /**
312
280
  * Sign a prepared message following web3.eth.signTypedData specification. The host computes the domain separator and hashStruct(message)
@@ -355,39 +323,35 @@ export default class Eth {
355
323
  * @param {Boolean} fullImplem use the legacy implementation
356
324
  * @returns {Promise}
357
325
  */
358
- signEIP712Message(path_1, jsonMessage_1) {
359
- return __awaiter(this, arguments, void 0, function* (path, jsonMessage, fullImplem = false) {
360
- return signEIP712Message(this.transport, path, jsonMessage, fullImplem, this.loadConfig);
361
- });
326
+ async signEIP712Message(path, jsonMessage, fullImplem = false) {
327
+ return signEIP712Message(this.transport, path, jsonMessage, fullImplem, this.loadConfig);
362
328
  }
363
329
  /**
364
330
  * Method returning a 4 bytes TLV challenge as an hexa string
365
331
  *
366
332
  * @returns {Promise<string>}
367
333
  */
368
- getChallenge() {
369
- return __awaiter(this, void 0, void 0, function* () {
370
- let APDU_FIELDS;
371
- (function (APDU_FIELDS) {
372
- APDU_FIELDS[APDU_FIELDS["CLA"] = 224] = "CLA";
373
- APDU_FIELDS[APDU_FIELDS["INS"] = 32] = "INS";
374
- APDU_FIELDS[APDU_FIELDS["P1"] = 0] = "P1";
375
- APDU_FIELDS[APDU_FIELDS["P2"] = 0] = "P2";
376
- APDU_FIELDS[APDU_FIELDS["LC"] = 0] = "LC";
377
- })(APDU_FIELDS || (APDU_FIELDS = {}));
378
- return this.transport
379
- .send(APDU_FIELDS.CLA, APDU_FIELDS.INS, APDU_FIELDS.P1, APDU_FIELDS.P2)
380
- .then(res => {
381
- const [, fourBytesChallenge, statusCode] = new RegExp("(.*)(.{4}$)").exec(res.toString("hex")) || [];
382
- if (statusCode !== "9000") {
383
- throw new Error(`An error happened while generating the challenge. Status code: ${statusCode}`);
384
- }
385
- return `0x${fourBytesChallenge}`;
386
- })
387
- .catch(e => {
388
- log("error", "couldn't request a challenge", e);
389
- throw e;
390
- });
334
+ async getChallenge() {
335
+ let APDU_FIELDS;
336
+ (function (APDU_FIELDS) {
337
+ APDU_FIELDS[APDU_FIELDS["CLA"] = 224] = "CLA";
338
+ APDU_FIELDS[APDU_FIELDS["INS"] = 32] = "INS";
339
+ APDU_FIELDS[APDU_FIELDS["P1"] = 0] = "P1";
340
+ APDU_FIELDS[APDU_FIELDS["P2"] = 0] = "P2";
341
+ APDU_FIELDS[APDU_FIELDS["LC"] = 0] = "LC";
342
+ })(APDU_FIELDS || (APDU_FIELDS = {}));
343
+ return this.transport
344
+ .send(APDU_FIELDS.CLA, APDU_FIELDS.INS, APDU_FIELDS.P1, APDU_FIELDS.P2)
345
+ .then(res => {
346
+ const [, fourBytesChallenge, statusCode] = new RegExp("(.*)(.{4}$)").exec(res.toString("hex")) || [];
347
+ if (statusCode !== "9000") {
348
+ throw new Error(`An error happened while generating the challenge. Status code: ${statusCode}`);
349
+ }
350
+ return `0x${fourBytesChallenge}`;
351
+ })
352
+ .catch(e => {
353
+ log("error", "couldn't request a challenge", e);
354
+ throw e;
391
355
  });
392
356
  }
393
357
  /**
@@ -894,7 +858,7 @@ export default class Eth {
894
858
  */
895
859
  setExternalPlugin(payload, signature) {
896
860
  const payloadBuffer = Buffer.from(payload, "hex");
897
- const signatureBuffer = Buffer.from(signature !== null && signature !== void 0 ? signature : "", "hex");
861
+ const signatureBuffer = Buffer.from(signature ?? "", "hex");
898
862
  const buffer = Buffer.concat([payloadBuffer, signatureBuffer]);
899
863
  return this.transport.send(0xe0, 0x12, 0x00, 0x00, buffer).then(() => true, e => {
900
864
  if (e && e.statusCode === 0x6a80) {
@@ -958,27 +922,25 @@ export default class Eth {
958
922
  * @param data an stringied buffer of some TLV encoded data to represent the domain
959
923
  * @returns a boolean
960
924
  */
961
- provideDomainName(data) {
962
- return __awaiter(this, void 0, void 0, function* () {
963
- let APDU_FIELDS;
964
- (function (APDU_FIELDS) {
965
- APDU_FIELDS[APDU_FIELDS["CLA"] = 224] = "CLA";
966
- APDU_FIELDS[APDU_FIELDS["INS"] = 34] = "INS";
967
- APDU_FIELDS[APDU_FIELDS["P1_FIRST_CHUNK"] = 1] = "P1_FIRST_CHUNK";
968
- APDU_FIELDS[APDU_FIELDS["P1_FOLLOWING_CHUNK"] = 0] = "P1_FOLLOWING_CHUNK";
969
- APDU_FIELDS[APDU_FIELDS["P2"] = 0] = "P2";
970
- })(APDU_FIELDS || (APDU_FIELDS = {}));
971
- const buffer = Buffer.from(data, "hex");
972
- const payload = Buffer.concat([Buffer.from(intAsHexBytes(buffer.length, 2), "hex"), buffer]);
973
- const bufferChunks = new Array(Math.ceil(payload.length / 256))
974
- .fill(null)
975
- .map((_, i) => payload.slice(i * 255, (i + 1) * 255));
976
- for (const chunk of bufferChunks) {
977
- const isFirstChunk = chunk === bufferChunks[0];
978
- yield this.transport.send(APDU_FIELDS.CLA, APDU_FIELDS.INS, isFirstChunk ? APDU_FIELDS.P1_FIRST_CHUNK : APDU_FIELDS.P1_FOLLOWING_CHUNK, APDU_FIELDS.P2, chunk);
979
- }
980
- return true;
981
- });
925
+ async provideDomainName(data) {
926
+ let APDU_FIELDS;
927
+ (function (APDU_FIELDS) {
928
+ APDU_FIELDS[APDU_FIELDS["CLA"] = 224] = "CLA";
929
+ APDU_FIELDS[APDU_FIELDS["INS"] = 34] = "INS";
930
+ APDU_FIELDS[APDU_FIELDS["P1_FIRST_CHUNK"] = 1] = "P1_FIRST_CHUNK";
931
+ APDU_FIELDS[APDU_FIELDS["P1_FOLLOWING_CHUNK"] = 0] = "P1_FOLLOWING_CHUNK";
932
+ APDU_FIELDS[APDU_FIELDS["P2"] = 0] = "P2";
933
+ })(APDU_FIELDS || (APDU_FIELDS = {}));
934
+ const buffer = Buffer.from(data, "hex");
935
+ const payload = Buffer.concat([Buffer.from(intAsHexBytes(buffer.length, 2), "hex"), buffer]);
936
+ const bufferChunks = new Array(Math.ceil(payload.length / 256))
937
+ .fill(null)
938
+ .map((_, i) => payload.slice(i * 255, (i + 1) * 255));
939
+ for (const chunk of bufferChunks) {
940
+ const isFirstChunk = chunk === bufferChunks[0];
941
+ await this.transport.send(APDU_FIELDS.CLA, APDU_FIELDS.INS, isFirstChunk ? APDU_FIELDS.P1_FIRST_CHUNK : APDU_FIELDS.P1_FOLLOWING_CHUNK, APDU_FIELDS.P2, chunk);
942
+ }
943
+ return true;
982
944
  }
983
945
  }
984
946
  //# sourceMappingURL=Eth.js.map
package/lib-es/Eth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Eth.js","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":";;;;;;;;;AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,cAAc,SAAS,CAAC;AAGxB,MAAM,wBAAwB,GAAG;IAC/B,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,CAAC,EAAE;IACxC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,8BAA8B,CACvC,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IAItB,aAAa,CAAC,UAAsB;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,YAAY,SAAoB,EAAE,WAAW,GAAG,KAAK,EAAE,aAAyB,EAAE;QAChF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,SAAS,CAAC,qBAAqB,CAC7B,IAAI,EACJ;YACE,wCAAwC;YACxC,gFAAgF;YAChF,qFAAqF;YACrF,4EAA4E;YAC5E,wCAAwC;YACxC,qCAAqC;YACrC,YAAY;YACZ,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,yBAAyB;YACzB,mBAAmB;YACnB,gBAAgB;YAChB,mBAAmB;YACnB,mBAAmB;YACnB,sBAAsB;YACtB,qBAAqB;YACrB,wBAAwB;YACxB,iBAAiB;YACjB,kBAAkB;YAClB,wBAAwB;YACxB,+BAA+B;YAC/B,wBAAwB;SACzB,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CACR,IAAY,EACZ,WAAqB,EACrB,aAAuB,EACvB,OAAgB;QAMhB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5F,iBAAiB,CAAC,KAAK,CACrB,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAC/C,KAAK,CACN,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;aAChF,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YAEpD,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjE,OAAO,EACL,IAAI;oBACJ,QAAQ;yBACL,KAAK,CAAC,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,CAAC;yBACvE,QAAQ,CAAC,OAAO,CAAC;gBACtB,SAAS,EAAE,aAAa;oBACtB,CAAC,CAAC,QAAQ;yBACL,KAAK,CACJ,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,EACvC,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,GAAG,EAAE,CAC7C;yBACA,QAAQ,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;OAYG;IACG,eAAe,CACnB,IAAY,EACZ,QAAgB,EAChB,UAAkD;;YAMlD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,CACV,2DAA2D;oBACzD,6CAA6C;oBAC7C,qFAAqF;oBACrF,mOAAmO;oBACnO,yBAAyB;oBACzB,4DAA4D;oBAC5D,yEAAyE,CAC5E,CAAC;gBACF,UAAU,GAAG,MAAM,aAAa;qBAC7B,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;oBAC7C,eAAe,EAAE,IAAI;oBACrB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,KAAK;iBACjB,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE;oBACT,OAAO,CAAC,IAAI,CACV,wEAAwE,GAAG,MAAM,CAAC,CAAC,CAAC,CACrF,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACP,CAAC;YAED,iFAAiF;YACjF,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,MAAM,gBAAgB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAClD,MAAM,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAC3D,sFAAsF;wBACtF,GAAG,CAAC,OAAO,EAAE,6BAA6B,EAAE;4BAC1C,gBAAgB;4BAChB,KAAK,EAAE,CAAC;yBACT,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAED,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACnD,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBACxC,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAE7E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,QAAQ,CAAC;YACb,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,CAAC;gBAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9D,IAAI,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;gBAE5F,IAAI,SAAS,IAAI,CAAC,IAAI,MAAM,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;oBACtD,0EAA0E;oBAC1E,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpC,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAElF,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBACpD,CAAC;gBAED,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS;qBAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;qBACnD,KAAK,CAAC,CAAC,CAAC,EAAE;oBACT,MAAM,6BAA6B,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEL,MAAM,IAAI,SAAS,CAAC;YACtB,CAAC;YAED,MAAM,aAAa,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,cAAc,GAAG,CAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gBAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC;gBAE5D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,sDAAsD;oBACtD,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,8CAA8C;oBAC9C,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,2EAA2E;YAC3E,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACd,CAAC;YAED,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACG,oBAAoB;6DACxB,IAAY,EACZ,QAAgB,EAChB,gBAAkC,EAClC,YAAY,GAAG,KAAK;YAEpB,MAAM,UAAU,GAAG,MAAM,aAAa;iBACnC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;iBAC/D,KAAK,CAAC,CAAC,CAAC,EAAE;gBACT,OAAO,CAAC,IAAI,CACV,wEAAwE,GAAG,MAAM,CAAC,CAAC,CAAC,CACrF,CAAC;gBAEF,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEL,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;KAAA;IAED;OACG;IACH,mBAAmB;QAOjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACjE,OAAO;gBACL,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBACxC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBAC9C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBAChC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBACpC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACG,mBAAmB,CACvB,IAAY,EACZ,UAAkB;;YAMlB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,QAAQ,CAAC;YAEb,OAAO,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzE,MAAM,SAAS,GACb,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;gBAClF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAE7F,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBACtD,CAAC;gBAED,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAE3F,MAAM,IAAI,SAAS,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACH,uBAAuB,CACrB,IAAY,EACZ,kBAA0B,EAC1B,oBAA4B;QAM5B,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,iBAAiB;6DACrB,IAAY,EACZ,WAA0B,EAC1B,UAAU,GAAG,KAAK;YAMlB,OAAO,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3F,CAAC;KAAA;IAED;;;;OAIG;IACG,YAAY;;YAChB,IAAK,WAMJ;YAND,WAAK,WAAW;gBACd,6CAAU,CAAA;gBACV,4CAAU,CAAA;gBACV,yCAAS,CAAA;gBACT,yCAAS,CAAA;gBACT,yCAAS,CAAA;YACX,CAAC,EANI,WAAW,KAAX,WAAW,QAMf;YAED,OAAO,IAAI,CAAC,SAAS;iBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;iBACtE,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,MAAM,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,GACtC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE5D,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,kEAAkE,UAAU,EAAE,CAC/E,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACnC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE;gBACT,GAAG,CAAC,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY,EAAE,WAAqB;QACnD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CACZ,IAAY,EACZ,kBAAsC,EACtC,kBAA6B,EAC7B,uBAA2C,EAC3C,uBAAkC,EAClC,WAAmB,EACnB,gBAAwB,EACxB,UAAqB,EACrB,SAAoB,EACpB,KAAa,EACb,SAAiB;QAEjB,MAAM,qBAAqB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,0BAA0B,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAChE,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3F,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,0BAA0B,EAAE,CAAC;YAC/B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChG,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CACf,IAAY,EACZ,kBAAsC,EACtC,sBAA6C,EAC7C,kBAAyC,EACzC,2BAAkD,EAClD,uBAA2C,EAC3C,2BAAkD,EAClD,uBAA8C,EAC9C,gCAAuD,EACvD,WAAmB,EACnB,gBAAwB,EACxB,UAAqB,EACrB,SAAoB,EACpB,KAAa,EACb,SAAiB;QAEjB,MAAM,qBAAqB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,0BAA0B,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAE3E,IAAI,CAAC,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,sBAAsB,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,2BAA2B,IAAI,wBAAwB,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,6DAA6D,GAAG,2BAA2B,CAC5F,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAClF,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC;QAET,IAAI,qBAAqB,EAAE,CAAC;YAC1B,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,2BAA2B,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACjF,MAAM,EACN,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,2BAA2B,CAAC,CAAC;QACvE,MAAM,EAAE,CAAC;QAET,IAAI,0BAA0B,EAAE,CAAC;YAC/B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7E,MAAM,EACN,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,gCAAgC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACtF,MAAM,EACN,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,iBAAiB,CACf,IAAY,EACZ,oBAAwC,EACxC,oBAA+B,EAC/B,eAAuB,EACvB,WAAmB,EACnB,gBAAwB,EACxB,cAAyB,EACzB,KAAa,EACb,SAAiB;QAEjB,MAAM,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,MAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,uBAAuB,EAAE,CAAC;YAC5B,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7F,MAAM,IAAI,EAAE,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,CAClB,IAAY,EACZ,oBAAwC,EACxC,wBAA+C,EAC/C,oBAA2C,EAC3C,6BAAoD,EACpD,eAAuB,EACvB,WAAmB,EACnB,gBAAwB,EACxB,cAAyB,EACzB,KAAa,EACb,SAAiB,EACjB,0BAAmC,EACnC,uBAAmC;QAEnC,MAAM,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,MAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,6BAA6B,GAAG,cAAc,CAAC,0BAA0B,CAAC,CAAC;QAEjF,IAAI,CAAC,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,oDAAoD,GAAG,wBAAwB,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC;YACC,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC;YACD,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC;QAET,IAAI,uBAAuB,EAAE,CAAC;YAC5B,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,6BAA6B,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACnF,MAAM,EACN,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,6BAA6B,IAAI,uBAAuB,EAAE,CAAC;YAC7D,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7E,MAAM,EACN,MAAM,CACP,CAAC;YACF,MAAM,IAAI,EAAE,CAAC;YACb,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CACjB,iBAAqC,EACrC,qBAAgC;QAEhC,MAAM,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,gFAAgF;gBAChF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,sBAAsB,CACpB,iBAAqC,EACrC,yBAAgD,EAChD,qBAAiC,EACjC,8BAA0C;QAE1C,MAAM,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,sDAAsD,GAAG,yBAAyB,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,8BAA8B,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACpF,MAAM,EACN,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;aACnF,IAAI,CACH,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,gFAAgF;gBAChF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,IAAY,EAAE,IAAY;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAY,EACZ,WAAqB;QAIrB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,eAAuB;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,qEAAqE;gBACrE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,6BAA6B,CAC3B,IAAY,EACZ,WAAqB;QAIrB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,sBAAsB,CACpB,IAAY,EACZ,kBAA0B,EAC1B,WAAqB;QAIrB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,OAAO;gBACL,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,4BAA4B,CAAC,IAAY;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,sIAAsI;gBACtI,4DAA4D;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAe,EAAE,SAAkB;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,iEAAiE;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACxC,4EAA4E;gBAC5E,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACxC,gDAAgD;gBAChD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,iEAAiE;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACxC,4EAA4E;gBAC5E,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACxC,gDAAgD;gBAChD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,uHAAuH;gBACvH,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACG,iBAAiB,CAAC,IAAY;;YAClC,IAAK,WAMJ;YAND,WAAK,WAAW;gBACd,6CAAU,CAAA;gBACV,4CAAU,CAAA;gBACV,iEAAqB,CAAA;gBACrB,yEAAyB,CAAA;gBACzB,yCAAS,CAAA;YACX,CAAC,EANI,WAAW,KAAX,WAAW,QAMf;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAE7F,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;iBAC5D,IAAI,CAAC,IAAI,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACvB,WAAW,CAAC,GAAG,EACf,WAAW,CAAC,GAAG,EACf,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,EAC1E,WAAW,CAAC,EAAE,EACd,KAAK,CACN,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"Eth.js","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,7 @@ export declare const EthAppPleaseEnableContractData: import("@ledgerhq/errors/li
4
4
  export declare const EthAppNftNotSupported: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
5
5
  [key: string]: unknown;
6
6
  }>;
7
+ export declare const CeloAppPleaseEnableContractData: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
8
+ [key: string]: unknown;
9
+ }>;
7
10
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qBAAqB;;EAAkD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,+BAA+B;;EAE3C,CAAC"}
package/lib-es/errors.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createCustomErrorClass } from "@ledgerhq/errors";
2
2
  export const EthAppPleaseEnableContractData = createCustomErrorClass("EthAppPleaseEnableContractData");
3
3
  export const EthAppNftNotSupported = createCustomErrorClass("EthAppNftNotSupported");
4
+ export const CeloAppPleaseEnableContractData = createCustomErrorClass("CeloAppPleaseEnableContractData");
4
5
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CACnE,iCAAiC,CAClC,CAAC"}