@onekeyfe/hwk-trezor-core 1.2.1 → 1.2.2-alpha.1

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/dist/index.mjs CHANGED
@@ -6460,7 +6460,7 @@ var transformSchemaFields = (operation, schema, sourceData) => {
6460
6460
  } else if (schemaField.fieldKind === "scalar") {
6461
6461
  transformedData[schemaField.name] = transformField(schemaField, fieldValue);
6462
6462
  } else if (schemaField.fieldKind === "enum") {
6463
- transformedData[schemaField.name] = fieldValue;
6463
+ transformedData[schemaField.name] = transformField(schemaField, fieldValue);
6464
6464
  } else {
6465
6465
  transformedData[schemaField.name] = fieldValue;
6466
6466
  }
@@ -6570,8 +6570,10 @@ var ProtobufManager = () => {
6570
6570
  const decode4 = (type, data) => {
6571
6571
  const { schema, messageName } = findSchema(type);
6572
6572
  const binaryPayload = Buffer2.isBuffer(data) ? data : Buffer2.from(data);
6573
- const patchedPayload = messageName === "Failure" && binaryPayload.subarray(0, 2).compare(Buffer2.from("0811", "hex")) === 0 ? binaryPayload.subarray(0, 2) : binaryPayload;
6574
- const decoded = fromBinary(schema, patchedPayload, { readUnknownFields: false });
6573
+ const patchedPayload = messageName === "Failure" && binaryPayload[0] === 8 && binaryPayload[1] === 17 ? binaryPayload.subarray(0, 2) : binaryPayload;
6574
+ const decoded = fromBinary(schema, Uint8Array.from(patchedPayload), {
6575
+ readUnknownFields: false
6576
+ });
6575
6577
  const json = toJson(schema, decoded, { useProtoFieldName: true });
6576
6578
  const message = transformSchemaFields("decode", schema, json);
6577
6579
  return {
@@ -6588,6 +6590,157 @@ var ProtobufManager = () => {
6588
6590
  };
6589
6591
  };
6590
6592
 
6593
+ // ../hwk-trezor-utils/src/index.ts
6594
+ init_buffer();
6595
+
6596
+ // ../hwk-trezor-utils/src/scheduleAction.ts
6597
+ init_buffer();
6598
+ var SCHEDULE_ACTION_ABORTED_ERROR_MESSAGE = "Aborted by signal";
6599
+ var RejectWhenAbortedError = class extends Error {
6600
+ constructor() {
6601
+ super(SCHEDULE_ACTION_ABORTED_ERROR_MESSAGE);
6602
+ }
6603
+ };
6604
+ var isArray = (attempts) => Array.isArray(attempts);
6605
+ var resolveAfterMs = (ms, clear) => new Promise((resolve, reject) => {
6606
+ const errorSignal = new RejectWhenAbortedError();
6607
+ if (clear.aborted) return reject(errorSignal);
6608
+ if (ms === void 0) return resolve();
6609
+ let timeout;
6610
+ const onClear = () => {
6611
+ clearTimeout(timeout);
6612
+ clear.removeEventListener("abort", onClear);
6613
+ reject(errorSignal);
6614
+ };
6615
+ timeout = setTimeout(() => {
6616
+ clear.removeEventListener("abort", onClear);
6617
+ resolve();
6618
+ }, ms);
6619
+ clear.addEventListener("abort", onClear);
6620
+ });
6621
+ var rejectAfterMs = (ms, reason, clear) => new Promise((_, reject) => {
6622
+ const errorSignal = new RejectWhenAbortedError();
6623
+ if (clear.aborted) return reject(errorSignal);
6624
+ let timeout;
6625
+ const onClear = () => {
6626
+ clearTimeout(timeout);
6627
+ clear.removeEventListener("abort", onClear);
6628
+ reject(errorSignal);
6629
+ };
6630
+ timeout = setTimeout(() => {
6631
+ clear.removeEventListener("abort", onClear);
6632
+ reject(reason);
6633
+ }, ms);
6634
+ clear.addEventListener("abort", onClear);
6635
+ });
6636
+ var maybeRejectAfterMs = (ms, reason, clear) => ms === void 0 ? [] : [rejectAfterMs(ms, reason, clear)];
6637
+ var rejectWhenAborted = (signal, clear) => new Promise((_, reject) => {
6638
+ const errorSignal = new RejectWhenAbortedError();
6639
+ if (clear.aborted) return reject(errorSignal);
6640
+ if (signal?.aborted) return reject(errorSignal);
6641
+ const onAbort = () => reject(errorSignal);
6642
+ signal?.addEventListener("abort", onAbort);
6643
+ const onClear = () => {
6644
+ signal?.removeEventListener("abort", onAbort);
6645
+ clear.removeEventListener("abort", onClear);
6646
+ reject(errorSignal);
6647
+ };
6648
+ clear.addEventListener("abort", onClear);
6649
+ });
6650
+ var resolveAction = async (action, clear) => {
6651
+ const aborter = new AbortController();
6652
+ if (clear.aborted) aborter.abort();
6653
+ const onClear = () => {
6654
+ clear.removeEventListener("abort", onClear);
6655
+ aborter.abort();
6656
+ };
6657
+ clear.addEventListener("abort", onClear);
6658
+ try {
6659
+ return await new Promise((resolve) => resolve(action(aborter.signal)));
6660
+ } finally {
6661
+ if (!clear.aborted) clear.removeEventListener("abort", onClear);
6662
+ }
6663
+ };
6664
+ var attemptLoop = async (attempts, attempt, failure, clear) => {
6665
+ for (let a = 0; a < attempts - 1; a++) {
6666
+ if (clear.aborted) break;
6667
+ const aborter = new AbortController();
6668
+ const onClear = () => aborter.abort();
6669
+ clear.addEventListener("abort", onClear);
6670
+ try {
6671
+ return await attempt(a, aborter.signal);
6672
+ } catch (error2) {
6673
+ onClear();
6674
+ await failure(a, error2);
6675
+ } finally {
6676
+ clear.removeEventListener("abort", onClear);
6677
+ }
6678
+ }
6679
+ return clear.aborted ? Promise.reject(new RejectWhenAbortedError()) : attempt(attempts - 1, clear);
6680
+ };
6681
+ var SCHEDULE_ACTION_TIMEOUT_ERROR_MESSAGE = "Aborted by timeout";
6682
+ var ScheduleActionTimeoutError = class extends Error {
6683
+ constructor() {
6684
+ super(SCHEDULE_ACTION_TIMEOUT_ERROR_MESSAGE);
6685
+ }
6686
+ };
6687
+ var SCHEDULE_ACTION_DEADLINE_ERROR_MESSAGE = "Aborted by deadline";
6688
+ var ScheduleActionDeadlineError = class extends Error {
6689
+ constructor() {
6690
+ super(SCHEDULE_ACTION_DEADLINE_ERROR_MESSAGE);
6691
+ }
6692
+ };
6693
+ var scheduleAction = async (action, params) => {
6694
+ const { signal, delay, attempts, timeout, deadline, gap, attemptFailureHandler } = params;
6695
+ const deadlineMs = deadline && deadline - Date.now();
6696
+ const attemptCount = isArray(attempts) ? attempts.length : attempts ?? (deadline ? Infinity : 1);
6697
+ const clearAborter = new AbortController();
6698
+ const clear = clearAborter.signal;
6699
+ const getParams = isArray(attempts) ? (attempt) => {
6700
+ const attemptParams = attempts[attempt];
6701
+ return attemptParams;
6702
+ } : () => ({ timeout, gap });
6703
+ const errorDeadline = new ScheduleActionDeadlineError();
6704
+ const errorTimeout = new ScheduleActionTimeoutError();
6705
+ const graceful = params.graceful && signal;
6706
+ const actionAborter = new AbortController();
6707
+ if (graceful) {
6708
+ if (signal.aborted) {
6709
+ actionAborter.abort();
6710
+ } else {
6711
+ const onAbort = () => {
6712
+ signal.removeEventListener("abort", onAbort);
6713
+ clear.removeEventListener("abort", onAbort);
6714
+ actionAborter.abort();
6715
+ };
6716
+ signal.addEventListener("abort", onAbort);
6717
+ clear.addEventListener("abort", onAbort);
6718
+ }
6719
+ }
6720
+ try {
6721
+ return await Promise.race([
6722
+ ...graceful ? [] : [rejectWhenAborted(signal, clear)],
6723
+ ...maybeRejectAfterMs(deadlineMs, errorDeadline, clear),
6724
+ resolveAfterMs(delay, clear).then(
6725
+ () => attemptLoop(
6726
+ attemptCount,
6727
+ (attempt, abort) => Promise.race([
6728
+ ...maybeRejectAfterMs(getParams(attempt).timeout, errorTimeout, clear),
6729
+ resolveAction(action, abort)
6730
+ ]),
6731
+ (attempt, error2) => {
6732
+ const errorHandlerResult = attemptFailureHandler?.(error2);
6733
+ return errorHandlerResult ? Promise.reject(errorHandlerResult) : resolveAfterMs(getParams(attempt).gap ?? 0, clear);
6734
+ },
6735
+ graceful ? actionAborter.signal : clear
6736
+ )
6737
+ )
6738
+ ]);
6739
+ } finally {
6740
+ clearAborter.abort();
6741
+ }
6742
+ };
6743
+
6591
6744
  // ../hwk-trezor-protobuf/src/index.ts
6592
6745
  var protobufManager = ProtobufManager();
6593
6746
 
@@ -6660,8 +6813,6 @@ __export(messages_common_pb_exports, {
6660
6813
  ButtonRequestSchema: () => ButtonRequestSchema,
6661
6814
  ButtonRequest_ButtonRequestType: () => ButtonRequest_ButtonRequestType,
6662
6815
  ButtonRequest_ButtonRequestTypeSchema: () => ButtonRequest_ButtonRequestTypeSchema,
6663
- Deprecated_PassphraseStateAckSchema: () => Deprecated_PassphraseStateAckSchema,
6664
- Deprecated_PassphraseStateRequestSchema: () => Deprecated_PassphraseStateRequestSchema,
6665
6816
  FailureSchema: () => FailureSchema,
6666
6817
  Failure_FailureType: () => Failure_FailureType,
6667
6818
  Failure_FailureTypeSchema: () => Failure_FailureTypeSchema,
@@ -6726,7 +6877,7 @@ var include_in_bitcoin_only = extDesc(file_options, 14);
6726
6877
 
6727
6878
  // ../hwk-trezor-protobuf/src/definitions/messages-common_pb.js
6728
6879
  var file_messages_common = fileDesc(
6729
- "ChVtZXNzYWdlcy1jb21tb24ucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24iHAoHU3VjY2VzcxIRCgdtZXNzYWdlGAEgASgJOgAi8AQKB0ZhaWx1cmUSPAoEY29kZRgBIAEoDjIuLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uRmFpbHVyZS5GYWlsdXJlVHlwZRIPCgdtZXNzYWdlGAIgASgJIpUECgtGYWlsdXJlVHlwZRIdChlGYWlsdXJlX1VuZXhwZWN0ZWRNZXNzYWdlEAESGgoWRmFpbHVyZV9CdXR0b25FeHBlY3RlZBACEhUKEUZhaWx1cmVfRGF0YUVycm9yEAMSGwoXRmFpbHVyZV9BY3Rpb25DYW5jZWxsZWQQBBIXChNGYWlsdXJlX1BpbkV4cGVjdGVkEAUSGAoURmFpbHVyZV9QaW5DYW5jZWxsZWQQBhIWChJGYWlsdXJlX1BpbkludmFsaWQQBxIcChhGYWlsdXJlX0ludmFsaWRTaWduYXR1cmUQCBIYChRGYWlsdXJlX1Byb2Nlc3NFcnJvchAJEhoKFkZhaWx1cmVfTm90RW5vdWdoRnVuZHMQChIaChZGYWlsdXJlX05vdEluaXRpYWxpemVkEAsSFwoTRmFpbHVyZV9QaW5NaXNtYXRjaBAMEhwKGEZhaWx1cmVfV2lwZUNvZGVNaXNtYXRjaBANEhoKFkZhaWx1cmVfSW52YWxpZFNlc3Npb24QDhIQCgxGYWlsdXJlX0J1c3kQDxIhCh1GYWlsdXJlX1RocFVuYWxsb2NhdGVkU2Vzc2lvbhAQEhsKF0ZhaWx1cmVfSW52YWxpZFByb3RvY29sEBESFgoSRmFpbHVyZV9JblByb2dyZXNzEBMSGQoVRmFpbHVyZV9GaXJtd2FyZUVycm9yEGMiBAgSEBIimAYKDUJ1dHRvblJlcXVlc3QSSAoEY29kZRgBIAEoDjI6Lmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uQnV0dG9uUmVxdWVzdC5CdXR0b25SZXF1ZXN0VHlwZRINCgVwYWdlcxgCIAEoDRIMCgRuYW1lGAQgASgJIpkFChFCdXR0b25SZXF1ZXN0VHlwZRIXChNCdXR0b25SZXF1ZXN0X090aGVyEAESIgoeQnV0dG9uUmVxdWVzdF9GZWVPdmVyVGhyZXNob2xkEAISHwobQnV0dG9uUmVxdWVzdF9Db25maXJtT3V0cHV0EAMSHQoZQnV0dG9uUmVxdWVzdF9SZXNldERldmljZRAEEh0KGUJ1dHRvblJlcXVlc3RfQ29uZmlybVdvcmQQBRIcChhCdXR0b25SZXF1ZXN0X1dpcGVEZXZpY2UQBhIdChlCdXR0b25SZXF1ZXN0X1Byb3RlY3RDYWxsEAcSGAoUQnV0dG9uUmVxdWVzdF9TaWduVHgQCBIfChtCdXR0b25SZXF1ZXN0X0Zpcm13YXJlQ2hlY2sQCRIZChVCdXR0b25SZXF1ZXN0X0FkZHJlc3MQChIbChdCdXR0b25SZXF1ZXN0X1B1YmxpY0tleRALEiMKH0J1dHRvblJlcXVlc3RfTW5lbW9uaWNXb3JkQ291bnQQDBIfChtCdXR0b25SZXF1ZXN0X01uZW1vbmljSW5wdXQQDRIwCihfRGVwcmVjYXRlZF9CdXR0b25SZXF1ZXN0X1Bhc3NwaHJhc2VUeXBlEA4aAggBEicKI0J1dHRvblJlcXVlc3RfVW5rbm93bkRlcml2YXRpb25QYXRoEA8SIgoeQnV0dG9uUmVxdWVzdF9SZWNvdmVyeUhvbWVwYWdlEBASGQoVQnV0dG9uUmVxdWVzdF9TdWNjZXNzEBESGQoVQnV0dG9uUmVxdWVzdF9XYXJuaW5nEBISIQodQnV0dG9uUmVxdWVzdF9QYXNzcGhyYXNlRW50cnkQExIaChZCdXR0b25SZXF1ZXN0X1BpbkVudHJ5EBRKBAgDEAQiCwoJQnV0dG9uQWNrIrUCChBQaW5NYXRyaXhSZXF1ZXN0Ek4KBHR5cGUYASABKA4yQC5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBpbk1hdHJpeFJlcXVlc3QuUGluTWF0cml4UmVxdWVzdFR5cGUi0AEKFFBpbk1hdHJpeFJlcXVlc3RUeXBlEiAKHFBpbk1hdHJpeFJlcXVlc3RUeXBlX0N1cnJlbnQQARIhCh1QaW5NYXRyaXhSZXF1ZXN0VHlwZV9OZXdGaXJzdBACEiIKHlBpbk1hdHJpeFJlcXVlc3RUeXBlX05ld1NlY29uZBADEiYKIlBpbk1hdHJpeFJlcXVlc3RUeXBlX1dpcGVDb2RlRmlyc3QQBBInCiNQaW5NYXRyaXhSZXF1ZXN0VHlwZV9XaXBlQ29kZVNlY29uZBAFIhsKDFBpbk1hdHJpeEFjaxILCgNwaW4YASACKAkiKwoRUGFzc3BocmFzZVJlcXVlc3QSFgoKX29uX2RldmljZRgBIAEoCEICGAEiSgoNUGFzc3BocmFzZUFjaxISCgpwYXNzcGhyYXNlGAEgASgJEhIKBl9zdGF0ZRgCIAEoDEICGAESEQoJb25fZGV2aWNlGAMgASgIIjYKIURlcHJlY2F0ZWRfUGFzc3BocmFzZVN0YXRlUmVxdWVzdBINCgVzdGF0ZRgBIAEoDDoCGAEiIwodRGVwcmVjYXRlZF9QYXNzcGhyYXNlU3RhdGVBY2s6AhgBIoABCgpIRE5vZGVUeXBlEg0KBWRlcHRoGAEgAigNEhMKC2ZpbmdlcnByaW50GAIgAigNEhEKCWNoaWxkX251bRgDIAIoDRISCgpjaGFpbl9jb2RlGAQgAigMEhMKC3ByaXZhdGVfa2V5GAUgASgMEhIKCnB1YmxpY19rZXkYBiACKAwi9QUKDlBheW1lbnRSZXF1ZXN0Eg0KBW5vbmNlGAEgASgMEhYKDnJlY2lwaWVudF9uYW1lGAIgAigJEksKBW1lbW9zGAMgAygLMjwuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdC5QYXltZW50UmVxdWVzdE1lbW8SDgoGYW1vdW50GAYgASgMEhEKCXNpZ25hdHVyZRgFIAIoDBrUAgoSUGF5bWVudFJlcXVlc3RNZW1vEkUKCXRleHRfbWVtbxgBIAEoCzIyLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uUGF5bWVudFJlcXVlc3QuVGV4dE1lbW8SSQoLcmVmdW5kX21lbW8YAiABKAsyNC5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBheW1lbnRSZXF1ZXN0LlJlZnVuZE1lbW8SVgoSY29pbl9wdXJjaGFzZV9tZW1vGAMgASgLMjouaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdC5Db2luUHVyY2hhc2VNZW1vElQKEXRleHRfZGV0YWlsc19tZW1vGAQgASgLMjkuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdC5UZXh0RGV0YWlsc01lbW8aGAoIVGV4dE1lbW8SDAoEdGV4dBgBIAIoCRouCg9UZXh0RGV0YWlsc01lbW8SDQoFdGl0bGUYASACKAkSDAoEdGV4dBgCIAIoCRo9CgpSZWZ1bmRNZW1vEg8KB2FkZHJlc3MYASACKAkSEQoJYWRkcmVzc19uGAIgAygNEgsKA21hYxgDIAIoDBpmChBDb2luUHVyY2hhc2VNZW1vEhEKCWNvaW5fdHlwZRgBIAIoDRIOCgZhbW91bnQYAiACKAkSDwoHYWRkcmVzcxgDIAIoCRIRCglhZGRyZXNzX24YBCADKA0SCwoDbWFjGAUgAigMSgQIBBAFQj4KI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhNUcmV6b3JNZXNzYWdlQ29tbW9ugKYdAQ",
6880
+ "ChVtZXNzYWdlcy1jb21tb24ucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24iHAoHU3VjY2VzcxIRCgdtZXNzYWdlGAEgASgJOgAi8AQKB0ZhaWx1cmUSPAoEY29kZRgBIAEoDjIuLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uRmFpbHVyZS5GYWlsdXJlVHlwZRIPCgdtZXNzYWdlGAIgASgJIpUECgtGYWlsdXJlVHlwZRIdChlGYWlsdXJlX1VuZXhwZWN0ZWRNZXNzYWdlEAESGgoWRmFpbHVyZV9CdXR0b25FeHBlY3RlZBACEhUKEUZhaWx1cmVfRGF0YUVycm9yEAMSGwoXRmFpbHVyZV9BY3Rpb25DYW5jZWxsZWQQBBIXChNGYWlsdXJlX1BpbkV4cGVjdGVkEAUSGAoURmFpbHVyZV9QaW5DYW5jZWxsZWQQBhIWChJGYWlsdXJlX1BpbkludmFsaWQQBxIcChhGYWlsdXJlX0ludmFsaWRTaWduYXR1cmUQCBIYChRGYWlsdXJlX1Byb2Nlc3NFcnJvchAJEhoKFkZhaWx1cmVfTm90RW5vdWdoRnVuZHMQChIaChZGYWlsdXJlX05vdEluaXRpYWxpemVkEAsSFwoTRmFpbHVyZV9QaW5NaXNtYXRjaBAMEhwKGEZhaWx1cmVfV2lwZUNvZGVNaXNtYXRjaBANEhoKFkZhaWx1cmVfSW52YWxpZFNlc3Npb24QDhIQCgxGYWlsdXJlX0J1c3kQDxIhCh1GYWlsdXJlX1RocFVuYWxsb2NhdGVkU2Vzc2lvbhAQEhsKF0ZhaWx1cmVfSW52YWxpZFByb3RvY29sEBESFgoSRmFpbHVyZV9JblByb2dyZXNzEBMSGQoVRmFpbHVyZV9GaXJtd2FyZUVycm9yEGMiBAgSEBIimAYKDUJ1dHRvblJlcXVlc3QSSAoEY29kZRgBIAEoDjI6Lmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uQnV0dG9uUmVxdWVzdC5CdXR0b25SZXF1ZXN0VHlwZRINCgVwYWdlcxgCIAEoDRIMCgRuYW1lGAQgASgJIpkFChFCdXR0b25SZXF1ZXN0VHlwZRIXChNCdXR0b25SZXF1ZXN0X090aGVyEAESIgoeQnV0dG9uUmVxdWVzdF9GZWVPdmVyVGhyZXNob2xkEAISHwobQnV0dG9uUmVxdWVzdF9Db25maXJtT3V0cHV0EAMSHQoZQnV0dG9uUmVxdWVzdF9SZXNldERldmljZRAEEh0KGUJ1dHRvblJlcXVlc3RfQ29uZmlybVdvcmQQBRIcChhCdXR0b25SZXF1ZXN0X1dpcGVEZXZpY2UQBhIdChlCdXR0b25SZXF1ZXN0X1Byb3RlY3RDYWxsEAcSGAoUQnV0dG9uUmVxdWVzdF9TaWduVHgQCBIfChtCdXR0b25SZXF1ZXN0X0Zpcm13YXJlQ2hlY2sQCRIZChVCdXR0b25SZXF1ZXN0X0FkZHJlc3MQChIbChdCdXR0b25SZXF1ZXN0X1B1YmxpY0tleRALEiMKH0J1dHRvblJlcXVlc3RfTW5lbW9uaWNXb3JkQ291bnQQDBIfChtCdXR0b25SZXF1ZXN0X01uZW1vbmljSW5wdXQQDRIwCihfRGVwcmVjYXRlZF9CdXR0b25SZXF1ZXN0X1Bhc3NwaHJhc2VUeXBlEA4aAggBEicKI0J1dHRvblJlcXVlc3RfVW5rbm93bkRlcml2YXRpb25QYXRoEA8SIgoeQnV0dG9uUmVxdWVzdF9SZWNvdmVyeUhvbWVwYWdlEBASGQoVQnV0dG9uUmVxdWVzdF9TdWNjZXNzEBESGQoVQnV0dG9uUmVxdWVzdF9XYXJuaW5nEBISIQodQnV0dG9uUmVxdWVzdF9QYXNzcGhyYXNlRW50cnkQExIaChZCdXR0b25SZXF1ZXN0X1BpbkVudHJ5EBRKBAgDEAQiCwoJQnV0dG9uQWNrIrUCChBQaW5NYXRyaXhSZXF1ZXN0Ek4KBHR5cGUYASABKA4yQC5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBpbk1hdHJpeFJlcXVlc3QuUGluTWF0cml4UmVxdWVzdFR5cGUi0AEKFFBpbk1hdHJpeFJlcXVlc3RUeXBlEiAKHFBpbk1hdHJpeFJlcXVlc3RUeXBlX0N1cnJlbnQQARIhCh1QaW5NYXRyaXhSZXF1ZXN0VHlwZV9OZXdGaXJzdBACEiIKHlBpbk1hdHJpeFJlcXVlc3RUeXBlX05ld1NlY29uZBADEiYKIlBpbk1hdHJpeFJlcXVlc3RUeXBlX1dpcGVDb2RlRmlyc3QQBBInCiNQaW5NYXRyaXhSZXF1ZXN0VHlwZV9XaXBlQ29kZVNlY29uZBAFIhsKDFBpbk1hdHJpeEFjaxILCgNwaW4YASACKAkiGQoRUGFzc3BocmFzZVJlcXVlc3RKBAgBEAIiPAoNUGFzc3BocmFzZUFjaxISCgpwYXNzcGhyYXNlGAEgASgJEhEKCW9uX2RldmljZRgDIAEoCEoECAIQAyKAAQoKSEROb2RlVHlwZRINCgVkZXB0aBgBIAIoDRITCgtmaW5nZXJwcmludBgCIAIoDRIRCgljaGlsZF9udW0YAyACKA0SEgoKY2hhaW5fY29kZRgEIAIoDBITCgtwcml2YXRlX2tleRgFIAEoDBISCgpwdWJsaWNfa2V5GAYgAigMIvUFCg5QYXltZW50UmVxdWVzdBINCgVub25jZRgBIAEoDBIWCg5yZWNpcGllbnRfbmFtZRgCIAIoCRJLCgVtZW1vcxgDIAMoCzI8Lmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uUGF5bWVudFJlcXVlc3QuUGF5bWVudFJlcXVlc3RNZW1vEg4KBmFtb3VudBgGIAEoDBIRCglzaWduYXR1cmUYBSACKAwa1AIKElBheW1lbnRSZXF1ZXN0TWVtbxJFCgl0ZXh0X21lbW8YASABKAsyMi5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBheW1lbnRSZXF1ZXN0LlRleHRNZW1vEkkKC3JlZnVuZF9tZW1vGAIgASgLMjQuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdC5SZWZ1bmRNZW1vElYKEmNvaW5fcHVyY2hhc2VfbWVtbxgDIAEoCzI6Lmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uUGF5bWVudFJlcXVlc3QuQ29pblB1cmNoYXNlTWVtbxJUChF0ZXh0X2RldGFpbHNfbWVtbxgEIAEoCzI5Lmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uUGF5bWVudFJlcXVlc3QuVGV4dERldGFpbHNNZW1vGhgKCFRleHRNZW1vEgwKBHRleHQYASACKAkaLgoPVGV4dERldGFpbHNNZW1vEg0KBXRpdGxlGAEgAigJEgwKBHRleHQYAiACKAkaPQoKUmVmdW5kTWVtbxIPCgdhZGRyZXNzGAEgAigJEhEKCWFkZHJlc3NfbhgCIAMoDRILCgNtYWMYAyACKAwaZgoQQ29pblB1cmNoYXNlTWVtbxIRCgljb2luX3R5cGUYASACKA0SDgoGYW1vdW50GAIgAigJEg8KB2FkZHJlc3MYAyACKAkSEQoJYWRkcmVzc19uGAQgAygNEgsKA21hYxgFIAIoDEoECAQQBUI+CiNjb20uc2F0b3NoaWxhYnMudHJlem9yLmxpYi5wcm90b2J1ZkITVHJlem9yTWVzc2FnZUNvbW1vboCmHQE",
6730
6881
  [file_options]
6731
6882
  );
6732
6883
  var SuccessSchema = messageDesc(file_messages_common, 0);
@@ -6745,15 +6896,13 @@ var PinMatrixRequest_PinMatrixRequestType = tsEnum(
6745
6896
  var PinMatrixAckSchema = messageDesc(file_messages_common, 5);
6746
6897
  var PassphraseRequestSchema = messageDesc(file_messages_common, 6);
6747
6898
  var PassphraseAckSchema = messageDesc(file_messages_common, 7);
6748
- var Deprecated_PassphraseStateRequestSchema = messageDesc(file_messages_common, 8);
6749
- var Deprecated_PassphraseStateAckSchema = messageDesc(file_messages_common, 9);
6750
- var HDNodeTypeSchema = messageDesc(file_messages_common, 10);
6751
- var PaymentRequestSchema = messageDesc(file_messages_common, 11);
6752
- var PaymentRequest_PaymentRequestMemoSchema = messageDesc(file_messages_common, 11, 0);
6753
- var PaymentRequest_TextMemoSchema = messageDesc(file_messages_common, 11, 1);
6754
- var PaymentRequest_TextDetailsMemoSchema = messageDesc(file_messages_common, 11, 2);
6755
- var PaymentRequest_RefundMemoSchema = messageDesc(file_messages_common, 11, 3);
6756
- var PaymentRequest_CoinPurchaseMemoSchema = messageDesc(file_messages_common, 11, 4);
6899
+ var HDNodeTypeSchema = messageDesc(file_messages_common, 8);
6900
+ var PaymentRequestSchema = messageDesc(file_messages_common, 9);
6901
+ var PaymentRequest_PaymentRequestMemoSchema = messageDesc(file_messages_common, 9, 0);
6902
+ var PaymentRequest_TextMemoSchema = messageDesc(file_messages_common, 9, 1);
6903
+ var PaymentRequest_TextDetailsMemoSchema = messageDesc(file_messages_common, 9, 2);
6904
+ var PaymentRequest_RefundMemoSchema = messageDesc(file_messages_common, 9, 3);
6905
+ var PaymentRequest_CoinPurchaseMemoSchema = messageDesc(file_messages_common, 9, 4);
6757
6906
 
6758
6907
  // ../hwk-trezor-protobuf/src/definitions/messages-bitcoin_pb.js
6759
6908
  var file_messages_bitcoin = fileDesc(
@@ -7088,7 +7237,9 @@ __export(messages_management_pb_exports, {
7088
7237
  ApplyFlagsSchema: () => ApplyFlagsSchema,
7089
7238
  ApplySettingsSchema: () => ApplySettingsSchema,
7090
7239
  AuthenticateDeviceSchema: () => AuthenticateDeviceSchema,
7240
+ AuthenticityProofChunkSchema: () => AuthenticityProofChunkSchema,
7091
7241
  AuthenticityProofSchema: () => AuthenticityProofSchema,
7242
+ AuthenticityProofSizesSchema: () => AuthenticityProofSizesSchema,
7092
7243
  BackupDeviceSchema: () => BackupDeviceSchema,
7093
7244
  BackupDevice_Slip39GroupSchema: () => BackupDevice_Slip39GroupSchema,
7094
7245
  BackupMethod: () => BackupMethod,
@@ -7119,6 +7270,9 @@ __export(messages_management_pb_exports, {
7119
7270
  Features_RecoveryStatus: () => Features_RecoveryStatus,
7120
7271
  Features_RecoveryStatusSchema: () => Features_RecoveryStatusSchema,
7121
7272
  FirmwareHashSchema: () => FirmwareHashSchema,
7273
+ GetAuthenticityProofChunkSchema: () => GetAuthenticityProofChunkSchema,
7274
+ GetAuthenticityProofChunk_AuthenticityProofType: () => GetAuthenticityProofChunk_AuthenticityProofType,
7275
+ GetAuthenticityProofChunk_AuthenticityProofTypeSchema: () => GetAuthenticityProofChunk_AuthenticityProofTypeSchema,
7122
7276
  GetEntropySchema: () => GetEntropySchema,
7123
7277
  GetFeaturesSchema: () => GetFeaturesSchema,
7124
7278
  GetFirmwareHashSchema: () => GetFirmwareHashSchema,
@@ -7165,7 +7319,7 @@ __export(messages_management_pb_exports, {
7165
7319
  });
7166
7320
  init_buffer();
7167
7321
  var file_messages_management = fileDesc(
7168
- "ChltZXNzYWdlcy1tYW5hZ2VtZW50LnByb3RvEh1ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudCJWCgpJbml0aWFsaXplEhIKCnNlc3Npb25faWQYASABKAwSHAoQX3NraXBfcGFzc3BocmFzZRgCIAEoCEICGAESFgoOZGVyaXZlX2NhcmRhbm8YAyABKAgiDQoLR2V0RmVhdHVyZXMiuxQKCEZlYXR1cmVzEg4KBnZlbmRvchgBIAEoCRIVCg1tYWpvcl92ZXJzaW9uGAIgAigNEhUKDW1pbm9yX3ZlcnNpb24YAyACKA0SFQoNcGF0Y2hfdmVyc2lvbhgEIAIoDRIVCg1idWlsZF92ZXJzaW9uGD0gASgNEhcKD2Jvb3Rsb2FkZXJfbW9kZRgFIAEoCBIRCglkZXZpY2VfaWQYBiABKAkSFgoOcGluX3Byb3RlY3Rpb24YByABKAgSHQoVcGFzc3BocmFzZV9wcm90ZWN0aW9uGAggASgIEhAKCGxhbmd1YWdlGAkgASgJEg0KBWxhYmVsGAogASgJEhMKC2luaXRpYWxpemVkGAwgASgIEhAKCHJldmlzaW9uGA0gASgMEhcKD2Jvb3Rsb2FkZXJfaGFzaBgOIAEoDBIQCghpbXBvcnRlZBgPIAEoCBIQCgh1bmxvY2tlZBgQIAEoCBIeChJfcGFzc3BocmFzZV9jYWNoZWQYESABKAhCAhgBEhgKEGZpcm13YXJlX3ByZXNlbnQYEiABKAgSVwoTYmFja3VwX2F2YWlsYWJpbGl0eRgTIAEoDjI6Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLkJhY2t1cEF2YWlsYWJpbGl0eRINCgVmbGFncxgUIAEoDRINCgVtb2RlbBgVIAEoCRIQCghmd19tYWpvchgWIAEoDRIQCghmd19taW5vchgXIAEoDRIQCghmd19wYXRjaBgYIAEoDRIQCghmd19idWlsZBg+IAEoDRIRCglmd192ZW5kb3IYGSABKAkSGQoRdW5maW5pc2hlZF9iYWNrdXAYGyABKAgSEQoJbm9fYmFja3VwGBwgASgIEk8KD3JlY292ZXJ5X3N0YXR1cxgdIAEoDjI2Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLlJlY292ZXJ5U3RhdHVzEkgKDGNhcGFiaWxpdGllcxgeIAMoDjIyLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLkNhcGFiaWxpdHkSPgoLYmFja3VwX3R5cGUYHyABKA4yKS5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5CYWNrdXBUeXBlEhcKD3NkX2NhcmRfcHJlc2VudBggIAEoCBIVCg1zZF9wcm90ZWN0aW9uGCEgASgIEhwKFHdpcGVfY29kZV9wcm90ZWN0aW9uGCIgASgIEhIKCnNlc3Npb25faWQYIyABKAwSIwobcGFzc3BocmFzZV9hbHdheXNfb25fZGV2aWNlGCQgASgIEkYKDXNhZmV0eV9jaGVja3MYJSABKA4yLy5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5TYWZldHlDaGVja0xldmVsEhoKEmF1dG9fbG9ja19kZWxheV9tcxgmIAEoDRJIChBkaXNwbGF5X3JvdGF0aW9uGCcgASgOMi4uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuRGlzcGxheVJvdGF0aW9uEh0KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgoIAEoCBIMCgRidXN5GCkgASgIEkoKEWhvbWVzY3JlZW5fZm9ybWF0GCogASgOMi8uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuSG9tZXNjcmVlbkZvcm1hdBIhChloaWRlX3Bhc3NwaHJhc2VfZnJvbV9ob3N0GCsgASgIEhYKDmludGVybmFsX21vZGVsGCwgASgJEhIKCnVuaXRfY29sb3IYLSABKA0SFAoMdW5pdF9idGNvbmx5GC4gASgIEhgKEGhvbWVzY3JlZW5fd2lkdGgYLyABKA0SGQoRaG9tZXNjcmVlbl9oZWlnaHQYMCABKA0SGQoRYm9vdGxvYWRlcl9sb2NrZWQYMSABKAgSJgoYbGFuZ3VhZ2VfdmVyc2lvbl9tYXRjaGVzGDIgASgIOgR0cnVlEhYKDnVuaXRfcGFja2FnaW5nGDMgASgNEhcKD2hhcHRpY19mZWVkYmFjaxg0IAEoCBJCCg1yZWNvdmVyeV90eXBlGDUgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuUmVjb3ZlcnlUeXBlEhIKCm9wdGlnYV9zZWMYNiABKA0SCwoDc29jGDcgASgNEhoKEmZpcm13YXJlX2NvcnJ1cHRlZBg4IAEoCBIiChphdXRvX2xvY2tfZGVsYXlfYmF0dGVyeV9tcxg5IAEoDRILCgNsZWQYOiABKAgSFQoNdXNiX2Nvbm5lY3RlZBg7IAEoCBIaChJ3aXJlbGVzc19jb25uZWN0ZWQYPCABKAgiQwoSQmFja3VwQXZhaWxhYmlsaXR5EhAKDE5vdEF2YWlsYWJsZRAAEgwKCFJlcXVpcmVkEAESDQoJQXZhaWxhYmxlEAIiNwoOUmVjb3ZlcnlTdGF0dXMSCwoHTm90aGluZxAAEgwKCFJlY292ZXJ5EAESCgoGQmFja3VwEAIipgUKCkNhcGFiaWxpdHkSHAoSQ2FwYWJpbGl0eV9CaXRjb2luEAEaBICmHQESGwoXQ2FwYWJpbGl0eV9CaXRjb2luX2xpa2UQAhIWChJDYXBhYmlsaXR5X0JpbmFuY2UQAxIWChJDYXBhYmlsaXR5X0NhcmRhbm8QBBIbChFDYXBhYmlsaXR5X0NyeXB0bxAFGgSAph0BEhIKDkNhcGFiaWxpdHlfRU9TEAYSFwoTQ2FwYWJpbGl0eV9FdGhlcmV1bRAHEhcKD0NhcGFiaWxpdHlfTGlzaxAIGgIIARIVChFDYXBhYmlsaXR5X01vbmVybxAJEhIKDkNhcGFiaWxpdHlfTkVNEAoSFQoRQ2FwYWJpbGl0eV9SaXBwbGUQCxIWChJDYXBhYmlsaXR5X1N0ZWxsYXIQDBIUChBDYXBhYmlsaXR5X1Rlem9zEA0SEgoOQ2FwYWJpbGl0eV9VMkYQDhIbChFDYXBhYmlsaXR5X1NoYW1pchAPGgSAph0BEiEKF0NhcGFiaWxpdHlfU2hhbWlyR3JvdXBzEBAaBICmHQESJAoaQ2FwYWJpbGl0eV9QYXNzcGhyYXNlRW50cnkQERoEgKYdARIVChFDYXBhYmlsaXR5X1NvbGFuYRASEiEKF0NhcGFiaWxpdHlfVHJhbnNsYXRpb25zEBMaBICmHQESHwoVQ2FwYWJpbGl0eV9CcmlnaHRuZXNzEBQaBICmHQESGwoRQ2FwYWJpbGl0eV9IYXB0aWMQFRoEgKYdARIYCg5DYXBhYmlsaXR5X0JMRRAWGgSAph0BEhgKDkNhcGFiaWxpdHlfTkZDEBcaBICmHQESEwoPQ2FwYWJpbGl0eV9Ucm9uEBgSGQoPQ2FwYWJpbGl0eV9ONFcxEBkaBICmHQEaBMjzGAEiDAoKTG9ja0RldmljZSIcCgdTZXRCdXN5EhEKCWV4cGlyeV9tcxgBIAEoDSIMCgpFbmRTZXNzaW9uIu0DCg1BcHBseVNldHRpbmdzEhQKCGxhbmd1YWdlGAEgASgJQgIYARINCgVsYWJlbBgCIAEoCRIWCg51c2VfcGFzc3BocmFzZRgDIAEoCBISCgpob21lc2NyZWVuGAQgASgMEh4KEl9wYXNzcGhyYXNlX3NvdXJjZRgFIAEoDUICGAESGgoSYXV0b19sb2NrX2RlbGF5X21zGAYgASgNEkgKEGRpc3BsYXlfcm90YXRpb24YByABKA4yLi5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5EaXNwbGF5Um90YXRpb24SIwobcGFzc3BocmFzZV9hbHdheXNfb25fZGV2aWNlGAggASgIEkYKDXNhZmV0eV9jaGVja3MYCSABKA4yLy5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5TYWZldHlDaGVja0xldmVsEh0KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgKIAEoCBIhChloaWRlX3Bhc3NwaHJhc2VfZnJvbV9ob3N0GAsgASgIEhcKD2hhcHRpY19mZWVkYmFjaxgNIAEoCBIZChFob21lc2NyZWVuX2xlbmd0aBgOIAEoDRIiChphdXRvX2xvY2tfZGVsYXlfYmF0dGVyeV9tcxgPIAEoDSI7Cg5DaGFuZ2VMYW5ndWFnZRITCgtkYXRhX2xlbmd0aBgBIAIoDRIUCgxzaG93X2Rpc3BsYXkYAiABKAgiPAoQRGF0YUNodW5rUmVxdWVzdBITCgtkYXRhX2xlbmd0aBgBIAIoDRITCgtkYXRhX29mZnNldBgCIAIoDSIiCgxEYXRhQ2h1bmtBY2sSEgoKZGF0YV9jaHVuaxgBIAIoDCIbCgpBcHBseUZsYWdzEg0KBWZsYWdzGAEgAigNIhsKCUNoYW5nZVBpbhIOCgZyZW1vdmUYASABKAgiIAoOQ2hhbmdlV2lwZUNvZGUSDgoGcmVtb3ZlGAEgASgIIp8BCglTZFByb3RlY3QSUgoJb3BlcmF0aW9uGAEgAigOMj8uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuU2RQcm90ZWN0LlNkUHJvdGVjdE9wZXJhdGlvblR5cGUiPgoWU2RQcm90ZWN0T3BlcmF0aW9uVHlwZRILCgdESVNBQkxFEAASCgoGRU5BQkxFEAESCwoHUkVGUkVTSBACIjQKBFBpbmcSEQoHbWVzc2FnZRgBIAEoCToAEhkKEWJ1dHRvbl9wcm90ZWN0aW9uGAIgASgIIggKBkNhbmNlbCIaCgpHZXRFbnRyb3B5EgwKBHNpemUYASACKA0iGgoHRW50cm9weRIPCgdlbnRyb3B5GAEgAigMIiQKD0dldEZpcm13YXJlSGFzaBIRCgljaGFsbGVuZ2UYASABKAwiHAoMRmlybXdhcmVIYXNoEgwKBGhhc2gYASACKAwiJwoSQXV0aGVudGljYXRlRGV2aWNlEhEKCWNoYWxsZW5nZRgBIAIoDCKyAQoRQXV0aGVudGljaXR5UHJvb2YSGwoTb3B0aWdhX2NlcnRpZmljYXRlcxgBIAMoDBIYChBvcHRpZ2Ffc2lnbmF0dXJlGAIgAigMEhsKE3Ryb3BpY19jZXJ0aWZpY2F0ZXMYAyADKAwSGAoQdHJvcGljX3NpZ25hdHVyZRgEIAEoDBIYChBtY3VfY2VydGlmaWNhdGVzGAUgAygMEhUKDW1jdV9zaWduYXR1cmUYBiABKAwiDAoKV2lwZURldmljZSLgAQoKTG9hZERldmljZRIRCgltbmVtb25pY3MYASADKAkSCwoDcGluGAMgASgJEh0KFXBhc3NwaHJhc2VfcHJvdGVjdGlvbhgEIAEoCBIUCghsYW5ndWFnZRgFIAEoCUICGAESDQoFbGFiZWwYBiABKAkSFQoNc2tpcF9jaGVja3N1bRgHIAEoCBITCgt1MmZfY291bnRlchgIIAEoDRIUCgxuZWVkc19iYWNrdXAYCSABKAgSEQoJbm9fYmFja3VwGAogASgIEhkKEXVuZmluaXNoZWRfYmFja3VwGAsgASgIIu4CCgtSZXNldERldmljZRIVCghzdHJlbmd0aBgCIAEoDToDMjU2Eh0KFXBhc3NwaHJhc2VfcHJvdGVjdGlvbhgDIAEoCBIWCg5waW5fcHJvdGVjdGlvbhgEIAEoCBIUCghsYW5ndWFnZRgFIAEoCUICGAESDQoFbGFiZWwYBiABKAkSEwoLdTJmX2NvdW50ZXIYByABKA0SEwoLc2tpcF9iYWNrdXAYCCABKAgSEQoJbm9fYmFja3VwGAkgASgIEkUKC2JhY2t1cF90eXBlGAogASgOMikuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwVHlwZToFQmlwMzkSFQoNZW50cm9weV9jaGVjaxgLIAEoCBJLCg1iYWNrdXBfbWV0aG9kGAwgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwTWV0aG9kOgdEaXNwbGF5SgQIARACIvwBCgxCYWNrdXBEZXZpY2USFwoPZ3JvdXBfdGhyZXNob2xkGAEgASgNEkcKBmdyb3VwcxgCIAMoCzI3Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkJhY2t1cERldmljZS5TbGlwMzlHcm91cBJLCg1iYWNrdXBfbWV0aG9kGAMgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwTWV0aG9kOgdEaXNwbGF5Gj0KC1NsaXAzOUdyb3VwEhgKEG1lbWJlcl90aHJlc2hvbGQYASACKA0SFAoMbWVtYmVyX2NvdW50GAIgAigNIkIKDkVudHJvcHlSZXF1ZXN0EhoKEmVudHJvcHlfY29tbWl0bWVudBgBIAEoDBIUCgxwcmV2X2VudHJvcHkYAiABKAwiHQoKRW50cm9weUFjaxIPCgdlbnRyb3B5GAEgAigMIhMKEUVudHJvcHlDaGVja1JlYWR5Ii0KFEVudHJvcHlDaGVja0NvbnRpbnVlEhUKBmZpbmlzaBgBIAEoCDoFZmFsc2Ui4AMKDlJlY292ZXJ5RGV2aWNlEhIKCndvcmRfY291bnQYASABKA0SHQoVcGFzc3BocmFzZV9wcm90ZWN0aW9uGAIgASgIEhYKDnBpbl9wcm90ZWN0aW9uGAMgASgIEhQKCGxhbmd1YWdlGAQgASgJQgIYARINCgVsYWJlbBgFIAEoCRIYChBlbmZvcmNlX3dvcmRsaXN0GAYgASgIEl0KDGlucHV0X21ldGhvZBgIIAEoDjJHLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlY292ZXJ5RGV2aWNlLlJlY292ZXJ5RGV2aWNlSW5wdXRNZXRob2QSEwoLdTJmX2NvdW50ZXIYCSABKA0SSQoEdHlwZRgKIAEoDjIrLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlY292ZXJ5VHlwZToOTm9ybWFsUmVjb3ZlcnkSQgoNYmFja3VwX21ldGhvZBgLIAEoDjIrLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkJhY2t1cE1ldGhvZCI7ChlSZWNvdmVyeURldmljZUlucHV0TWV0aG9kEhIKDlNjcmFtYmxlZFdvcmRzEAASCgoGTWF0cml4EAFKBAgHEAgivwEKC1dvcmRSZXF1ZXN0EkgKBHR5cGUYASACKA4yOi5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5Xb3JkUmVxdWVzdC5Xb3JkUmVxdWVzdFR5cGUiZgoPV29yZFJlcXVlc3RUeXBlEhkKFVdvcmRSZXF1ZXN0VHlwZV9QbGFpbhAAEhsKF1dvcmRSZXF1ZXN0VHlwZV9NYXRyaXg5EAESGwoXV29yZFJlcXVlc3RUeXBlX01hdHJpeDYQAiIXCgdXb3JkQWNrEgwKBHdvcmQYASACKAkiJAoNU2V0VTJGQ291bnRlchITCgt1MmZfY291bnRlchgBIAIoDSITChFHZXROZXh0VTJGQ291bnRlciIlCg5OZXh0VTJGQ291bnRlchITCgt1MmZfY291bnRlchgBIAIoDSIRCg9Eb1ByZWF1dGhvcml6ZWQiFgoUUHJlYXV0aG9yaXplZFJlcXVlc3QiFQoTQ2FuY2VsQXV0aG9yaXphdGlvbiLOAQoSUmVib290VG9Cb290bG9hZGVyEmIKDGJvb3RfY29tbWFuZBgBIAEoDjI9Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlYm9vdFRvQm9vdGxvYWRlci5Cb290Q29tbWFuZDoNU1RPUF9BTkRfV0FJVBIXCg9maXJtd2FyZV9oZWFkZXIYAiABKAwiNQoLQm9vdENvbW1hbmQSEQoNU1RPUF9BTkRfV0FJVBAAEhMKD0lOU1RBTExfVVBHUkFERRABSgQIAxAEIgoKCEdldE5vbmNlIhYKBU5vbmNlEg0KBW5vbmNlGAEgAigMIiwKClVubG9ja1BhdGgSEQoJYWRkcmVzc19uGAEgAygNEgsKA21hYxgCIAEoDCIiChNVbmxvY2tlZFBhdGhSZXF1ZXN0EgsKA21hYxgBIAIoDCIUChJTaG93RGV2aWNlVHV0b3JpYWwiEgoQVW5sb2NrQm9vdGxvYWRlciIeCg1TZXRCcmlnaHRuZXNzEg0KBXZhbHVlGAEgASgNIhEKD0dldFNlcmlhbE51bWJlciIlCgxTZXJpYWxOdW1iZXISFQoNc2VyaWFsX251bWJlchgBIAIoCSqZAQoKQmFja3VwVHlwZRIJCgVCaXAzORAAEhAKDFNsaXAzOV9CYXNpYxABEhMKD1NsaXAzOV9BZHZhbmNlZBACEhwKGFNsaXAzOV9TaW5nbGVfRXh0ZW5kYWJsZRADEhsKF1NsaXAzOV9CYXNpY19FeHRlbmRhYmxlEAQSHgoaU2xpcDM5X0FkdmFuY2VkX0V4dGVuZGFibGUQBSolCgxCYWNrdXBNZXRob2QSCwoHRGlzcGxheRAAEggKBE40VzEQASpHChBTYWZldHlDaGVja0xldmVsEgoKBlN0cmljdBAAEhAKDFByb21wdEFsd2F5cxABEhUKEVByb21wdFRlbXBvcmFyaWx5EAIqPQoPRGlzcGxheVJvdGF0aW9uEgkKBU5vcnRoEAASCAoERWFzdBBaEgoKBVNvdXRoELQBEgkKBFdlc3QQjgIqMAoQSG9tZXNjcmVlbkZvcm1hdBIICgRUb2lmEAESCAoESnBlZxACEggKBFRvaUcQAypICgxSZWNvdmVyeVR5cGUSEgoOTm9ybWFsUmVjb3ZlcnkQABIKCgZEcnlSdW4QARIYChRVbmxvY2tSZXBlYXRlZEJhY2t1cBACQkIKI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhdUcmV6b3JNZXNzYWdlTWFuYWdlbWVudICmHQE",
7322
+ "ChltZXNzYWdlcy1tYW5hZ2VtZW50LnByb3RvEh1ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudCJWCgpJbml0aWFsaXplEhIKCnNlc3Npb25faWQYASABKAwSHAoQX3NraXBfcGFzc3BocmFzZRgCIAEoCEICGAESFgoOZGVyaXZlX2NhcmRhbm8YAyABKAgiDQoLR2V0RmVhdHVyZXMi+BQKCEZlYXR1cmVzEg4KBnZlbmRvchgBIAEoCRIVCg1tYWpvcl92ZXJzaW9uGAIgAigNEhUKDW1pbm9yX3ZlcnNpb24YAyACKA0SFQoNcGF0Y2hfdmVyc2lvbhgEIAIoDRIVCg1idWlsZF92ZXJzaW9uGD0gASgNEhcKD2Jvb3Rsb2FkZXJfbW9kZRgFIAEoCBIRCglkZXZpY2VfaWQYBiABKAkSFgoOcGluX3Byb3RlY3Rpb24YByABKAgSHQoVcGFzc3BocmFzZV9wcm90ZWN0aW9uGAggASgIEhAKCGxhbmd1YWdlGAkgASgJEg0KBWxhYmVsGAogASgJEhMKC2luaXRpYWxpemVkGAwgASgIEhAKCHJldmlzaW9uGA0gASgMEhcKD2Jvb3Rsb2FkZXJfaGFzaBgOIAEoDBIQCghpbXBvcnRlZBgPIAEoCBIQCgh1bmxvY2tlZBgQIAEoCBIeChJfcGFzc3BocmFzZV9jYWNoZWQYESABKAhCAhgBEhgKEGZpcm13YXJlX3ByZXNlbnQYEiABKAgSVwoTYmFja3VwX2F2YWlsYWJpbGl0eRgTIAEoDjI6Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLkJhY2t1cEF2YWlsYWJpbGl0eRINCgVmbGFncxgUIAEoDRINCgVtb2RlbBgVIAEoCRIQCghmd19tYWpvchgWIAEoDRIQCghmd19taW5vchgXIAEoDRIQCghmd19wYXRjaBgYIAEoDRIQCghmd19idWlsZBg+IAEoDRIRCglmd192ZW5kb3IYGSABKAkSGQoRdW5maW5pc2hlZF9iYWNrdXAYGyABKAgSEQoJbm9fYmFja3VwGBwgASgIEk8KD3JlY292ZXJ5X3N0YXR1cxgdIAEoDjI2Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLlJlY292ZXJ5U3RhdHVzEkgKDGNhcGFiaWxpdGllcxgeIAMoDjIyLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkZlYXR1cmVzLkNhcGFiaWxpdHkSPgoLYmFja3VwX3R5cGUYHyABKA4yKS5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5CYWNrdXBUeXBlEhcKD3NkX2NhcmRfcHJlc2VudBggIAEoCBIVCg1zZF9wcm90ZWN0aW9uGCEgASgIEhwKFHdpcGVfY29kZV9wcm90ZWN0aW9uGCIgASgIEhIKCnNlc3Npb25faWQYIyABKAwSIwobcGFzc3BocmFzZV9hbHdheXNfb25fZGV2aWNlGCQgASgIEkYKDXNhZmV0eV9jaGVja3MYJSABKA4yLy5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5TYWZldHlDaGVja0xldmVsEhoKEmF1dG9fbG9ja19kZWxheV9tcxgmIAEoDRJIChBkaXNwbGF5X3JvdGF0aW9uGCcgASgOMi4uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuRGlzcGxheVJvdGF0aW9uEh0KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgoIAEoCBIMCgRidXN5GCkgASgIEkoKEWhvbWVzY3JlZW5fZm9ybWF0GCogASgOMi8uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuSG9tZXNjcmVlbkZvcm1hdBIhChloaWRlX3Bhc3NwaHJhc2VfZnJvbV9ob3N0GCsgASgIEhYKDmludGVybmFsX21vZGVsGCwgASgJEhIKCnVuaXRfY29sb3IYLSABKA0SFAoMdW5pdF9idGNvbmx5GC4gASgIEhgKEGhvbWVzY3JlZW5fd2lkdGgYLyABKA0SGQoRaG9tZXNjcmVlbl9oZWlnaHQYMCABKA0SGQoRYm9vdGxvYWRlcl9sb2NrZWQYMSABKAgSJgoYbGFuZ3VhZ2VfdmVyc2lvbl9tYXRjaGVzGDIgASgIOgR0cnVlEhYKDnVuaXRfcGFja2FnaW5nGDMgASgNEhcKD2hhcHRpY19mZWVkYmFjaxg0IAEoCBJCCg1yZWNvdmVyeV90eXBlGDUgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuUmVjb3ZlcnlUeXBlEhIKCm9wdGlnYV9zZWMYNiABKA0SCwoDc29jGDcgASgNEhoKEmZpcm13YXJlX2NvcnJ1cHRlZBg4IAEoCBIiChphdXRvX2xvY2tfZGVsYXlfYmF0dGVyeV9tcxg5IAEoDRILCgNsZWQYOiABKAgSFQoNdXNiX2Nvbm5lY3RlZBg7IAEoCBIaChJ3aXJlbGVzc19jb25uZWN0ZWQYPCABKAgSEwoLdGFwX3RvX3dha2UYPyABKAgiQwoSQmFja3VwQXZhaWxhYmlsaXR5EhAKDE5vdEF2YWlsYWJsZRAAEgwKCFJlcXVpcmVkEAESDQoJQXZhaWxhYmxlEAIiNwoOUmVjb3ZlcnlTdGF0dXMSCwoHTm90aGluZxAAEgwKCFJlY292ZXJ5EAESCgoGQmFja3VwEAIizgUKCkNhcGFiaWxpdHkSHAoSQ2FwYWJpbGl0eV9CaXRjb2luEAEaBICmHQESGwoXQ2FwYWJpbGl0eV9CaXRjb2luX2xpa2UQAhIWChJDYXBhYmlsaXR5X0JpbmFuY2UQAxIWChJDYXBhYmlsaXR5X0NhcmRhbm8QBBIbChFDYXBhYmlsaXR5X0NyeXB0bxAFGgSAph0BEhIKDkNhcGFiaWxpdHlfRU9TEAYSFwoTQ2FwYWJpbGl0eV9FdGhlcmV1bRAHEhcKD0NhcGFiaWxpdHlfTGlzaxAIGgIIARIVChFDYXBhYmlsaXR5X01vbmVybxAJEhIKDkNhcGFiaWxpdHlfTkVNEAoSFQoRQ2FwYWJpbGl0eV9SaXBwbGUQCxIWChJDYXBhYmlsaXR5X1N0ZWxsYXIQDBIUChBDYXBhYmlsaXR5X1Rlem9zEA0SEgoOQ2FwYWJpbGl0eV9VMkYQDhIbChFDYXBhYmlsaXR5X1NoYW1pchAPGgSAph0BEiEKF0NhcGFiaWxpdHlfU2hhbWlyR3JvdXBzEBAaBICmHQESJAoaQ2FwYWJpbGl0eV9QYXNzcGhyYXNlRW50cnkQERoEgKYdARIVChFDYXBhYmlsaXR5X1NvbGFuYRASEiEKF0NhcGFiaWxpdHlfVHJhbnNsYXRpb25zEBMaBICmHQESHwoVQ2FwYWJpbGl0eV9CcmlnaHRuZXNzEBQaBICmHQESGwoRQ2FwYWJpbGl0eV9IYXB0aWMQFRoEgKYdARIYCg5DYXBhYmlsaXR5X0JMRRAWGgSAph0BEhgKDkNhcGFiaWxpdHlfTkZDEBcaBICmHQESEwoPQ2FwYWJpbGl0eV9Ucm9uEBgSGQoPQ2FwYWJpbGl0eV9ONFcxEBkaBICmHQESIAoWQ2FwYWJpbGl0eV9Ub3VjaFdha2V1cBAaGgSAph0BGgTI8xgBIgQIGxAbIgwKCkxvY2tEZXZpY2UiHAoHU2V0QnVzeRIRCglleHBpcnlfbXMYASABKA0iDAoKRW5kU2Vzc2lvbiLtAwoNQXBwbHlTZXR0aW5ncxIUCghsYW5ndWFnZRgBIAEoCUICGAESDQoFbGFiZWwYAiABKAkSFgoOdXNlX3Bhc3NwaHJhc2UYAyABKAgSEgoKaG9tZXNjcmVlbhgEIAEoDBIeChJfcGFzc3BocmFzZV9zb3VyY2UYBSABKA1CAhgBEhoKEmF1dG9fbG9ja19kZWxheV9tcxgGIAEoDRJIChBkaXNwbGF5X3JvdGF0aW9uGAcgASgOMi4uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuRGlzcGxheVJvdGF0aW9uEiMKG3Bhc3NwaHJhc2VfYWx3YXlzX29uX2RldmljZRgIIAEoCBJGCg1zYWZldHlfY2hlY2tzGAkgASgOMi8uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuU2FmZXR5Q2hlY2tMZXZlbBIdChVleHBlcmltZW50YWxfZmVhdHVyZXMYCiABKAgSIQoZaGlkZV9wYXNzcGhyYXNlX2Zyb21faG9zdBgLIAEoCBIXCg9oYXB0aWNfZmVlZGJhY2sYDSABKAgSGQoRaG9tZXNjcmVlbl9sZW5ndGgYDiABKA0SIgoaYXV0b19sb2NrX2RlbGF5X2JhdHRlcnlfbXMYDyABKA0iOwoOQ2hhbmdlTGFuZ3VhZ2USEwoLZGF0YV9sZW5ndGgYASACKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIIjwKEERhdGFDaHVua1JlcXVlc3QSEwoLZGF0YV9sZW5ndGgYASACKA0SEwoLZGF0YV9vZmZzZXQYAiACKA0iIgoMRGF0YUNodW5rQWNrEhIKCmRhdGFfY2h1bmsYASACKAwiGwoKQXBwbHlGbGFncxINCgVmbGFncxgBIAIoDSIbCglDaGFuZ2VQaW4SDgoGcmVtb3ZlGAEgASgIIiAKDkNoYW5nZVdpcGVDb2RlEg4KBnJlbW92ZRgBIAEoCCKfAQoJU2RQcm90ZWN0ElIKCW9wZXJhdGlvbhgBIAIoDjI/Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlNkUHJvdGVjdC5TZFByb3RlY3RPcGVyYXRpb25UeXBlIj4KFlNkUHJvdGVjdE9wZXJhdGlvblR5cGUSCwoHRElTQUJMRRAAEgoKBkVOQUJMRRABEgsKB1JFRlJFU0gQAiI0CgRQaW5nEhEKB21lc3NhZ2UYASABKAk6ABIZChFidXR0b25fcHJvdGVjdGlvbhgCIAEoCCIICgZDYW5jZWwiGgoKR2V0RW50cm9weRIMCgRzaXplGAEgAigNIhoKB0VudHJvcHkSDwoHZW50cm9weRgBIAIoDCIkCg9HZXRGaXJtd2FyZUhhc2gSEQoJY2hhbGxlbmdlGAEgASgMIhwKDEZpcm13YXJlSGFzaBIMCgRoYXNoGAEgAigMIjcKEkF1dGhlbnRpY2F0ZURldmljZRIRCgljaGFsbGVuZ2UYASACKAwSDgoGc3RyZWFtGAIgASgIIrIBChFBdXRoZW50aWNpdHlQcm9vZhIbChNvcHRpZ2FfY2VydGlmaWNhdGVzGAEgAygMEhgKEG9wdGlnYV9zaWduYXR1cmUYAiACKAwSGwoTdHJvcGljX2NlcnRpZmljYXRlcxgDIAMoDBIYChB0cm9waWNfc2lnbmF0dXJlGAQgASgMEhgKEG1jdV9jZXJ0aWZpY2F0ZXMYBSADKAwSFQoNbWN1X3NpZ25hdHVyZRgGIAEoDCK3AQoWQXV0aGVudGljaXR5UHJvb2ZTaXplcxIbChNvcHRpZ2FfY2VydGlmaWNhdGVzGAEgAygNEhgKEG9wdGlnYV9zaWduYXR1cmUYAiACKA0SGwoTdHJvcGljX2NlcnRpZmljYXRlcxgDIAMoDRIYChB0cm9waWNfc2lnbmF0dXJlGAQgASgNEhgKEG1jdV9jZXJ0aWZpY2F0ZXMYBSADKA0SFQoNbWN1X3NpZ25hdHVyZRgGIAEoDSLmAQoZR2V0QXV0aGVudGljaXR5UHJvb2ZDaHVuaxJiCgpwcm9vZl90eXBlGAEgASgOMk4uaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuR2V0QXV0aGVudGljaXR5UHJvb2ZDaHVuay5BdXRoZW50aWNpdHlQcm9vZlR5cGUSDQoFaW5kZXgYAiABKA0SDgoGb2Zmc2V0GAMgAigNEgwKBHNpemUYBCACKA0iOAoVQXV0aGVudGljaXR5UHJvb2ZUeXBlEgoKBk9QVElHQRAAEgoKBlRST1BJQxABEgcKA01DVRACIicKFkF1dGhlbnRpY2l0eVByb29mQ2h1bmsSDQoFY2h1bmsYASACKAwiDAoKV2lwZURldmljZSLgAQoKTG9hZERldmljZRIRCgltbmVtb25pY3MYASADKAkSCwoDcGluGAMgASgJEh0KFXBhc3NwaHJhc2VfcHJvdGVjdGlvbhgEIAEoCBIUCghsYW5ndWFnZRgFIAEoCUICGAESDQoFbGFiZWwYBiABKAkSFQoNc2tpcF9jaGVja3N1bRgHIAEoCBITCgt1MmZfY291bnRlchgIIAEoDRIUCgxuZWVkc19iYWNrdXAYCSABKAgSEQoJbm9fYmFja3VwGAogASgIEhkKEXVuZmluaXNoZWRfYmFja3VwGAsgASgIIu4CCgtSZXNldERldmljZRIVCghzdHJlbmd0aBgCIAEoDToDMjU2Eh0KFXBhc3NwaHJhc2VfcHJvdGVjdGlvbhgDIAEoCBIWCg5waW5fcHJvdGVjdGlvbhgEIAEoCBIUCghsYW5ndWFnZRgFIAEoCUICGAESDQoFbGFiZWwYBiABKAkSEwoLdTJmX2NvdW50ZXIYByABKA0SEwoLc2tpcF9iYWNrdXAYCCABKAgSEQoJbm9fYmFja3VwGAkgASgIEkUKC2JhY2t1cF90eXBlGAogASgOMikuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwVHlwZToFQmlwMzkSFQoNZW50cm9weV9jaGVjaxgLIAEoCBJLCg1iYWNrdXBfbWV0aG9kGAwgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwTWV0aG9kOgdEaXNwbGF5SgQIARACIvwBCgxCYWNrdXBEZXZpY2USFwoPZ3JvdXBfdGhyZXNob2xkGAEgASgNEkcKBmdyb3VwcxgCIAMoCzI3Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkJhY2t1cERldmljZS5TbGlwMzlHcm91cBJLCg1iYWNrdXBfbWV0aG9kGAMgASgOMisuaHcudHJlem9yLm1lc3NhZ2VzLm1hbmFnZW1lbnQuQmFja3VwTWV0aG9kOgdEaXNwbGF5Gj0KC1NsaXAzOUdyb3VwEhgKEG1lbWJlcl90aHJlc2hvbGQYASACKA0SFAoMbWVtYmVyX2NvdW50GAIgAigNIkIKDkVudHJvcHlSZXF1ZXN0EhoKEmVudHJvcHlfY29tbWl0bWVudBgBIAEoDBIUCgxwcmV2X2VudHJvcHkYAiABKAwiHQoKRW50cm9weUFjaxIPCgdlbnRyb3B5GAEgAigMIhMKEUVudHJvcHlDaGVja1JlYWR5Ii0KFEVudHJvcHlDaGVja0NvbnRpbnVlEhUKBmZpbmlzaBgBIAEoCDoFZmFsc2Ui4AMKDlJlY292ZXJ5RGV2aWNlEhIKCndvcmRfY291bnQYASABKA0SHQoVcGFzc3BocmFzZV9wcm90ZWN0aW9uGAIgASgIEhYKDnBpbl9wcm90ZWN0aW9uGAMgASgIEhQKCGxhbmd1YWdlGAQgASgJQgIYARINCgVsYWJlbBgFIAEoCRIYChBlbmZvcmNlX3dvcmRsaXN0GAYgASgIEl0KDGlucHV0X21ldGhvZBgIIAEoDjJHLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlY292ZXJ5RGV2aWNlLlJlY292ZXJ5RGV2aWNlSW5wdXRNZXRob2QSEwoLdTJmX2NvdW50ZXIYCSABKA0SSQoEdHlwZRgKIAEoDjIrLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlY292ZXJ5VHlwZToOTm9ybWFsUmVjb3ZlcnkSQgoNYmFja3VwX21ldGhvZBgLIAEoDjIrLmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LkJhY2t1cE1ldGhvZCI7ChlSZWNvdmVyeURldmljZUlucHV0TWV0aG9kEhIKDlNjcmFtYmxlZFdvcmRzEAASCgoGTWF0cml4EAFKBAgHEAgivwEKC1dvcmRSZXF1ZXN0EkgKBHR5cGUYASACKA4yOi5ody50cmV6b3IubWVzc2FnZXMubWFuYWdlbWVudC5Xb3JkUmVxdWVzdC5Xb3JkUmVxdWVzdFR5cGUiZgoPV29yZFJlcXVlc3RUeXBlEhkKFVdvcmRSZXF1ZXN0VHlwZV9QbGFpbhAAEhsKF1dvcmRSZXF1ZXN0VHlwZV9NYXRyaXg5EAESGwoXV29yZFJlcXVlc3RUeXBlX01hdHJpeDYQAiIXCgdXb3JkQWNrEgwKBHdvcmQYASACKAkiJAoNU2V0VTJGQ291bnRlchITCgt1MmZfY291bnRlchgBIAIoDSITChFHZXROZXh0VTJGQ291bnRlciIlCg5OZXh0VTJGQ291bnRlchITCgt1MmZfY291bnRlchgBIAIoDSIRCg9Eb1ByZWF1dGhvcml6ZWQiFgoUUHJlYXV0aG9yaXplZFJlcXVlc3QiFQoTQ2FuY2VsQXV0aG9yaXphdGlvbiLOAQoSUmVib290VG9Cb290bG9hZGVyEmIKDGJvb3RfY29tbWFuZBgBIAEoDjI9Lmh3LnRyZXpvci5tZXNzYWdlcy5tYW5hZ2VtZW50LlJlYm9vdFRvQm9vdGxvYWRlci5Cb290Q29tbWFuZDoNU1RPUF9BTkRfV0FJVBIXCg9maXJtd2FyZV9oZWFkZXIYAiABKAwiNQoLQm9vdENvbW1hbmQSEQoNU1RPUF9BTkRfV0FJVBAAEhMKD0lOU1RBTExfVVBHUkFERRABSgQIAxAEIgoKCEdldE5vbmNlIhYKBU5vbmNlEg0KBW5vbmNlGAEgAigMIiwKClVubG9ja1BhdGgSEQoJYWRkcmVzc19uGAEgAygNEgsKA21hYxgCIAEoDCIiChNVbmxvY2tlZFBhdGhSZXF1ZXN0EgsKA21hYxgBIAIoDCIUChJTaG93RGV2aWNlVHV0b3JpYWwiEgoQVW5sb2NrQm9vdGxvYWRlciIeCg1TZXRCcmlnaHRuZXNzEg0KBXZhbHVlGAEgASgNIhEKD0dldFNlcmlhbE51bWJlciIlCgxTZXJpYWxOdW1iZXISFQoNc2VyaWFsX251bWJlchgBIAIoCSqZAQoKQmFja3VwVHlwZRIJCgVCaXAzORAAEhAKDFNsaXAzOV9CYXNpYxABEhMKD1NsaXAzOV9BZHZhbmNlZBACEhwKGFNsaXAzOV9TaW5nbGVfRXh0ZW5kYWJsZRADEhsKF1NsaXAzOV9CYXNpY19FeHRlbmRhYmxlEAQSHgoaU2xpcDM5X0FkdmFuY2VkX0V4dGVuZGFibGUQBSolCgxCYWNrdXBNZXRob2QSCwoHRGlzcGxheRAAEggKBE40VzEQASpHChBTYWZldHlDaGVja0xldmVsEgoKBlN0cmljdBAAEhAKDFByb21wdEFsd2F5cxABEhUKEVByb21wdFRlbXBvcmFyaWx5EAIqPQoPRGlzcGxheVJvdGF0aW9uEgkKBU5vcnRoEAASCAoERWFzdBBaEgoKBVNvdXRoELQBEgkKBFdlc3QQjgIqMAoQSG9tZXNjcmVlbkZvcm1hdBIICgRUb2lmEAESCAoESnBlZxACEggKBFRvaUcQAypICgxSZWNvdmVyeVR5cGUSEgoOTm9ybWFsUmVjb3ZlcnkQABIKCgZEcnlSdW4QARIYChRVbmxvY2tSZXBlYXRlZEJhY2t1cBACQkIKI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhdUcmV6b3JNZXNzYWdlTWFuYWdlbWVudICmHQE",
7169
7323
  [file_options]
7170
7324
  );
7171
7325
  var InitializeSchema = messageDesc(file_messages_management, 0);
@@ -7198,46 +7352,57 @@ var GetFirmwareHashSchema = messageDesc(file_messages_management, 18);
7198
7352
  var FirmwareHashSchema = messageDesc(file_messages_management, 19);
7199
7353
  var AuthenticateDeviceSchema = messageDesc(file_messages_management, 20);
7200
7354
  var AuthenticityProofSchema = messageDesc(file_messages_management, 21);
7201
- var WipeDeviceSchema = messageDesc(file_messages_management, 22);
7202
- var LoadDeviceSchema = messageDesc(file_messages_management, 23);
7203
- var ResetDeviceSchema = messageDesc(file_messages_management, 24);
7204
- var BackupDeviceSchema = messageDesc(file_messages_management, 25);
7205
- var BackupDevice_Slip39GroupSchema = messageDesc(file_messages_management, 25, 0);
7206
- var EntropyRequestSchema = messageDesc(file_messages_management, 26);
7207
- var EntropyAckSchema = messageDesc(file_messages_management, 27);
7208
- var EntropyCheckReadySchema = messageDesc(file_messages_management, 28);
7209
- var EntropyCheckContinueSchema = messageDesc(file_messages_management, 29);
7210
- var RecoveryDeviceSchema = messageDesc(file_messages_management, 30);
7355
+ var AuthenticityProofSizesSchema = messageDesc(file_messages_management, 22);
7356
+ var GetAuthenticityProofChunkSchema = messageDesc(file_messages_management, 23);
7357
+ var GetAuthenticityProofChunk_AuthenticityProofTypeSchema = enumDesc(
7358
+ file_messages_management,
7359
+ 23,
7360
+ 0
7361
+ );
7362
+ var GetAuthenticityProofChunk_AuthenticityProofType = tsEnum(
7363
+ GetAuthenticityProofChunk_AuthenticityProofTypeSchema
7364
+ );
7365
+ var AuthenticityProofChunkSchema = messageDesc(file_messages_management, 24);
7366
+ var WipeDeviceSchema = messageDesc(file_messages_management, 25);
7367
+ var LoadDeviceSchema = messageDesc(file_messages_management, 26);
7368
+ var ResetDeviceSchema = messageDesc(file_messages_management, 27);
7369
+ var BackupDeviceSchema = messageDesc(file_messages_management, 28);
7370
+ var BackupDevice_Slip39GroupSchema = messageDesc(file_messages_management, 28, 0);
7371
+ var EntropyRequestSchema = messageDesc(file_messages_management, 29);
7372
+ var EntropyAckSchema = messageDesc(file_messages_management, 30);
7373
+ var EntropyCheckReadySchema = messageDesc(file_messages_management, 31);
7374
+ var EntropyCheckContinueSchema = messageDesc(file_messages_management, 32);
7375
+ var RecoveryDeviceSchema = messageDesc(file_messages_management, 33);
7211
7376
  var RecoveryDevice_RecoveryDeviceInputMethodSchema = enumDesc(
7212
7377
  file_messages_management,
7213
- 30,
7378
+ 33,
7214
7379
  0
7215
7380
  );
7216
7381
  var RecoveryDevice_RecoveryDeviceInputMethod = tsEnum(
7217
7382
  RecoveryDevice_RecoveryDeviceInputMethodSchema
7218
7383
  );
7219
- var WordRequestSchema = messageDesc(file_messages_management, 31);
7220
- var WordRequest_WordRequestTypeSchema = enumDesc(file_messages_management, 31, 0);
7384
+ var WordRequestSchema = messageDesc(file_messages_management, 34);
7385
+ var WordRequest_WordRequestTypeSchema = enumDesc(file_messages_management, 34, 0);
7221
7386
  var WordRequest_WordRequestType = tsEnum(WordRequest_WordRequestTypeSchema);
7222
- var WordAckSchema = messageDesc(file_messages_management, 32);
7223
- var SetU2FCounterSchema = messageDesc(file_messages_management, 33);
7224
- var GetNextU2FCounterSchema = messageDesc(file_messages_management, 34);
7225
- var NextU2FCounterSchema = messageDesc(file_messages_management, 35);
7226
- var DoPreauthorizedSchema = messageDesc(file_messages_management, 36);
7227
- var PreauthorizedRequestSchema = messageDesc(file_messages_management, 37);
7228
- var CancelAuthorizationSchema = messageDesc(file_messages_management, 38);
7229
- var RebootToBootloaderSchema = messageDesc(file_messages_management, 39);
7230
- var RebootToBootloader_BootCommandSchema = enumDesc(file_messages_management, 39, 0);
7387
+ var WordAckSchema = messageDesc(file_messages_management, 35);
7388
+ var SetU2FCounterSchema = messageDesc(file_messages_management, 36);
7389
+ var GetNextU2FCounterSchema = messageDesc(file_messages_management, 37);
7390
+ var NextU2FCounterSchema = messageDesc(file_messages_management, 38);
7391
+ var DoPreauthorizedSchema = messageDesc(file_messages_management, 39);
7392
+ var PreauthorizedRequestSchema = messageDesc(file_messages_management, 40);
7393
+ var CancelAuthorizationSchema = messageDesc(file_messages_management, 41);
7394
+ var RebootToBootloaderSchema = messageDesc(file_messages_management, 42);
7395
+ var RebootToBootloader_BootCommandSchema = enumDesc(file_messages_management, 42, 0);
7231
7396
  var RebootToBootloader_BootCommand = tsEnum(RebootToBootloader_BootCommandSchema);
7232
- var GetNonceSchema = messageDesc(file_messages_management, 40);
7233
- var NonceSchema = messageDesc(file_messages_management, 41);
7234
- var UnlockPathSchema = messageDesc(file_messages_management, 42);
7235
- var UnlockedPathRequestSchema = messageDesc(file_messages_management, 43);
7236
- var ShowDeviceTutorialSchema = messageDesc(file_messages_management, 44);
7237
- var UnlockBootloaderSchema = messageDesc(file_messages_management, 45);
7238
- var SetBrightnessSchema = messageDesc(file_messages_management, 46);
7239
- var GetSerialNumberSchema = messageDesc(file_messages_management, 47);
7240
- var SerialNumberSchema = messageDesc(file_messages_management, 48);
7397
+ var GetNonceSchema = messageDesc(file_messages_management, 43);
7398
+ var NonceSchema = messageDesc(file_messages_management, 44);
7399
+ var UnlockPathSchema = messageDesc(file_messages_management, 45);
7400
+ var UnlockedPathRequestSchema = messageDesc(file_messages_management, 46);
7401
+ var ShowDeviceTutorialSchema = messageDesc(file_messages_management, 47);
7402
+ var UnlockBootloaderSchema = messageDesc(file_messages_management, 48);
7403
+ var SetBrightnessSchema = messageDesc(file_messages_management, 49);
7404
+ var GetSerialNumberSchema = messageDesc(file_messages_management, 50);
7405
+ var SerialNumberSchema = messageDesc(file_messages_management, 51);
7241
7406
  var BackupTypeSchema = enumDesc(file_messages_management, 0);
7242
7407
  var BackupType = tsEnum(BackupTypeSchema);
7243
7408
  var BackupMethodSchema = enumDesc(file_messages_management, 1);
@@ -7305,6 +7470,17 @@ var messages_definitions_pb_exports = {};
7305
7470
  __export(messages_definitions_pb_exports, {
7306
7471
  DefinitionType: () => DefinitionType,
7307
7472
  DefinitionTypeSchema: () => DefinitionTypeSchema,
7473
+ EthereumABITupleInfoSchema: () => EthereumABITupleInfoSchema,
7474
+ EthereumABIType: () => EthereumABIType,
7475
+ EthereumABITypeSchema: () => EthereumABITypeSchema,
7476
+ EthereumABIValueInfoSchema: () => EthereumABIValueInfoSchema,
7477
+ EthereumDisplayFormatInfoSchema: () => EthereumDisplayFormatInfoSchema,
7478
+ EthereumERC7730ContainerPath: () => EthereumERC7730ContainerPath,
7479
+ EthereumERC7730ContainerPathSchema: () => EthereumERC7730ContainerPathSchema,
7480
+ EthereumERC7730FieldFormatterType: () => EthereumERC7730FieldFormatterType,
7481
+ EthereumERC7730FieldFormatterTypeSchema: () => EthereumERC7730FieldFormatterTypeSchema,
7482
+ EthereumERC7730FieldInfoSchema: () => EthereumERC7730FieldInfoSchema,
7483
+ EthereumERC7730PathSchema: () => EthereumERC7730PathSchema,
7308
7484
  EthereumNetworkInfoSchema: () => EthereumNetworkInfoSchema,
7309
7485
  EthereumTokenInfoSchema: () => EthereumTokenInfoSchema,
7310
7486
  SolanaTokenInfoSchema: () => SolanaTokenInfoSchema,
@@ -7312,13 +7488,24 @@ __export(messages_definitions_pb_exports, {
7312
7488
  });
7313
7489
  init_buffer();
7314
7490
  var file_messages_definitions = fileDesc(
7315
- "ChptZXNzYWdlcy1kZWZpbml0aW9ucy5wcm90bxIeaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zIlUKE0V0aGVyZXVtTmV0d29ya0luZm8SEAoIY2hhaW5faWQYASACKAQSDgoGc3ltYm9sGAIgAigJEg4KBnNsaXA0NBgDIAIoDRIMCgRuYW1lGAQgAigJImYKEUV0aGVyZXVtVG9rZW5JbmZvEg8KB2FkZHJlc3MYASACKAwSEAoIY2hhaW5faWQYAiACKAQSDgoGc3ltYm9sGAMgAigJEhAKCGRlY2ltYWxzGAQgAigNEgwKBG5hbWUYBSACKAkiPQoPU29sYW5hVG9rZW5JbmZvEgwKBG1pbnQYASACKAwSDgoGc3ltYm9sGAIgAigJEgwKBG5hbWUYAyACKAkqTAoORGVmaW5pdGlvblR5cGUSFAoQRVRIRVJFVU1fTkVUV09SSxAAEhIKDkVUSEVSRVVNX1RPS0VOEAESEAoMU09MQU5BX1RPS0VOEAJCPwojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCGFRyZXpvck1lc3NhZ2VEZWZpbml0aW9ucw"
7491
+ "ChptZXNzYWdlcy1kZWZpbml0aW9ucy5wcm90bxIeaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zIlUKE0V0aGVyZXVtTmV0d29ya0luZm8SEAoIY2hhaW5faWQYASACKAQSDgoGc3ltYm9sGAIgAigJEg4KBnNsaXA0NBgDIAIoDRIMCgRuYW1lGAQgAigJImYKEUV0aGVyZXVtVG9rZW5JbmZvEg8KB2FkZHJlc3MYASACKAwSEAoIY2hhaW5faWQYAiACKAQSDgoGc3ltYm9sGAMgAigJEhAKCGRlY2ltYWxzGAQgAigNEgwKBG5hbWUYBSACKAkiPQoPU29sYW5hVG9rZW5JbmZvEgwKBG1pbnQYASACKAwSDgoGc3ltYm9sGAIgAigJEgwKBG5hbWUYAyACKAkicAoURXRoZXJldW1BQklUdXBsZUluZm8SRAoGZmllbGRzGAEgAygLMjQuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtQUJJVmFsdWVJbmZvEhIKCmlzX2R5bmFtaWMYAiACKAgiowIKFEV0aGVyZXVtQUJJVmFsdWVJbmZvEj8KBmF0b21pYxgBIAEoDjIvLmh3LnRyZXpvci5tZXNzYWdlcy5kZWZpbml0aW9ucy5FdGhlcmV1bUFCSVR5cGUSQAoHZHluYW1pYxgCIAEoDjIvLmh3LnRyZXpvci5tZXNzYWdlcy5kZWZpbml0aW9ucy5FdGhlcmV1bUFCSVR5cGUSQwoFdHVwbGUYAyABKAsyNC5ody50cmV6b3IubWVzc2FnZXMuZGVmaW5pdGlvbnMuRXRoZXJldW1BQklUdXBsZUluZm8SQwoFYXJyYXkYBCABKAsyNC5ody50cmV6b3IubWVzc2FnZXMuZGVmaW5pdGlvbnMuRXRoZXJldW1BQklWYWx1ZUluZm8ieQoTRXRoZXJldW1FUkM3NzMwUGF0aBIMCgRwYXRoGAEgAygRElQKDmNvbnRhaW5lcl9wYXRoGAIgASgOMjwuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtRVJDNzczMENvbnRhaW5lclBhdGgi6wIKGEV0aGVyZXVtRVJDNzczMEZpZWxkSW5mbxJBCgRwYXRoGAEgAigLMjMuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtRVJDNzczMFBhdGgSDQoFbGFiZWwYAiACKAkSVAoJZm9ybWF0dGVyGAMgAigOMkEuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtRVJDNzczMEZpZWxkRm9ybWF0dGVyVHlwZRJHCgp0b2tlbl9wYXRoGAQgASgLMjMuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtRVJDNzczMFBhdGgSEQoJdGhyZXNob2xkGAUgASgMEhAKCGRlY2ltYWxzGAYgASgNEgwKBGJhc2UYByABKAkSDgoGcHJlZml4GAggASgIEhsKE2NvbnN0X3Rva2VuX2FkZHJlc3MYCSABKAwiigIKGUV0aGVyZXVtRGlzcGxheUZvcm1hdEluZm8SEAoIY2hhaW5faWQYASACKAQSDwoHYWRkcmVzcxgCIAIoDBIQCghmdW5jX3NpZxgDIAIoDBIOCgZpbnRlbnQYBCACKAkSUwoVcGFyYW1ldGVyX2RlZmluaXRpb25zGAUgAygLMjQuaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtQUJJVmFsdWVJbmZvElMKEWZpZWxkX2RlZmluaXRpb25zGAYgAygLMjguaHcudHJlem9yLm1lc3NhZ2VzLmRlZmluaXRpb25zLkV0aGVyZXVtRVJDNzczMEZpZWxkSW5mbyppCg5EZWZpbml0aW9uVHlwZRIUChBFVEhFUkVVTV9ORVRXT1JLEAASEgoORVRIRVJFVU1fVE9LRU4QARIQCgxTT0xBTkFfVE9LRU4QAhIbChdFVEhFUkVVTV9ESVNQTEFZX0ZPUk1BVBADKoYDCg9FdGhlcmV1bUFCSVR5cGUSDwoLQUJJX0FERFJFU1MQABIPCgtBQklfVUlOVDI1NhABEg8KC0FCSV9VSU5UMjQ4EAISDwoLQUJJX1VJTlQxNjAQAxIPCgtBQklfVUlOVDEyOBAEEg8KC0FCSV9VSU5UMTIwEAUSDwoLQUJJX1VJTlQxMTIQBhIOCgpBQklfVUlOVDk2EAcSDgoKQUJJX1VJTlQ3MhAIEg4KCkFCSV9VSU5UNjQQCRIOCgpBQklfVUlOVDQ4EAoSDgoKQUJJX1VJTlQ0MBALEg4KCkFCSV9VSU5UMzIQDBIOCgpBQklfVUlOVDI0EA0SDgoKQUJJX1VJTlQxNhAOEg0KCUFCSV9VSU5UOBAPEgwKCEFCSV9CT09MEBASDwoLQUJJX0JZVEVTMzIQFBIPCgtBQklfQllURVMxNhAVEg4KCkFCSV9CWVRFUzgQFhIOCgpBQklfQllURVM0EBcSDQoJQUJJX0JZVEVTEB4SDgoKQUJJX1NUUklORxAfKqwBCiFFdGhlcmV1bUVSQzc3MzBGaWVsZEZvcm1hdHRlclR5cGUSGgoWRk9STUFUVEVSX0FERFJFU1NfTkFNRRAAEhQKEEZPUk1BVFRFUl9BTU9VTlQQARIaChZGT1JNQVRURVJfVE9LRU5fQU1PVU5UEAISEgoORk9STUFUVEVSX1VOSVQQAxIRCg1GT1JNQVRURVJfUkFXEAQSEgoORk9STUFUVEVSX0RBVEUQBSo7ChxFdGhlcmV1bUVSQzc3MzBDb250YWluZXJQYXRoEggKBEZST00QARIJCgVWQUxVRRACEgYKAlRPEANCPwojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCGFRyZXpvck1lc3NhZ2VEZWZpbml0aW9ucw"
7316
7492
  );
7317
7493
  var EthereumNetworkInfoSchema = messageDesc(file_messages_definitions, 0);
7318
7494
  var EthereumTokenInfoSchema = messageDesc(file_messages_definitions, 1);
7319
7495
  var SolanaTokenInfoSchema = messageDesc(file_messages_definitions, 2);
7496
+ var EthereumABITupleInfoSchema = messageDesc(file_messages_definitions, 3);
7497
+ var EthereumABIValueInfoSchema = messageDesc(file_messages_definitions, 4);
7498
+ var EthereumERC7730PathSchema = messageDesc(file_messages_definitions, 5);
7499
+ var EthereumERC7730FieldInfoSchema = messageDesc(file_messages_definitions, 6);
7500
+ var EthereumDisplayFormatInfoSchema = messageDesc(file_messages_definitions, 7);
7320
7501
  var DefinitionTypeSchema = enumDesc(file_messages_definitions, 0);
7321
7502
  var DefinitionType = tsEnum(DefinitionTypeSchema);
7503
+ var EthereumABITypeSchema = enumDesc(file_messages_definitions, 1);
7504
+ var EthereumABIType = tsEnum(EthereumABITypeSchema);
7505
+ var EthereumERC7730FieldFormatterTypeSchema = enumDesc(file_messages_definitions, 2);
7506
+ var EthereumERC7730FieldFormatterType = tsEnum(EthereumERC7730FieldFormatterTypeSchema);
7507
+ var EthereumERC7730ContainerPathSchema = enumDesc(file_messages_definitions, 3);
7508
+ var EthereumERC7730ContainerPath = tsEnum(EthereumERC7730ContainerPathSchema);
7322
7509
 
7323
7510
  // ../hwk-trezor-protobuf/src/definitions/messages-eos_pb.js
7324
7511
  var messages_eos_pb_exports = {};
@@ -7406,6 +7593,8 @@ init_buffer();
7406
7593
  var messages_ethereum_pb_exports = {};
7407
7594
  __export(messages_ethereum_pb_exports, {
7408
7595
  EthereumAddressSchema: () => EthereumAddressSchema,
7596
+ EthereumDefinitionAckSchema: () => EthereumDefinitionAckSchema,
7597
+ EthereumDefinitionRequestSchema: () => EthereumDefinitionRequestSchema,
7409
7598
  EthereumDefinitionsSchema: () => EthereumDefinitionsSchema,
7410
7599
  EthereumGetAddressSchema: () => EthereumGetAddressSchema,
7411
7600
  EthereumGetPublicKeySchema: () => EthereumGetPublicKeySchema,
@@ -7424,7 +7613,7 @@ __export(messages_ethereum_pb_exports, {
7424
7613
  });
7425
7614
  init_buffer();
7426
7615
  var file_messages_ethereum = fileDesc(
7427
- "ChdtZXNzYWdlcy1ldGhlcmV1bS5wcm90bxIbaHcudHJlem9yLm1lc3NhZ2VzLmV0aGVyZXVtIj8KFEV0aGVyZXVtR2V0UHVibGljS2V5EhEKCWFkZHJlc3NfbhgBIAMoDRIUCgxzaG93X2Rpc3BsYXkYAiABKAgiVgoRRXRoZXJldW1QdWJsaWNLZXkSMwoEbm9kZRgBIAIoCzIlLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uSEROb2RlVHlwZRIMCgR4cHViGAIgAigJImgKEkV0aGVyZXVtR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhcKD2VuY29kZWRfbmV0d29yaxgDIAEoDBIQCghjaHVua2lmeRgEIAEoCCJJCg9FdGhlcmV1bUFkZHJlc3MSGAoMX29sZF9hZGRyZXNzGAEgASgMQgIYARIPCgdhZGRyZXNzGAIgASgJEgsKA21hYxgDIAEoDCLrAgoORXRoZXJldW1TaWduVHgSEQoJYWRkcmVzc19uGAEgAygNEg8KBW5vbmNlGAIgASgMOgASEQoJZ2FzX3ByaWNlGAMgAigMEhEKCWdhc19saW1pdBgEIAIoDBIMCgJ0bxgLIAEoCToAEg8KBXZhbHVlGAYgASgMOgASHAoSZGF0YV9pbml0aWFsX2NodW5rGAcgASgMOgASFgoLZGF0YV9sZW5ndGgYCCABKA06ATASEAoIY2hhaW5faWQYCSACKAQSDwoHdHhfdHlwZRgKIAEoDRJFCgtkZWZpbml0aW9ucxgMIAEoCzIwLmh3LnRyZXpvci5tZXNzYWdlcy5ldGhlcmV1bS5FdGhlcmV1bURlZmluaXRpb25zEhAKCGNodW5raWZ5GA0gASgIEj4KC3BheW1lbnRfcmVxGA4gASgLMikuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdCKPBAoVRXRoZXJldW1TaWduVHhFSVAxNTU5EhEKCWFkZHJlc3NfbhgBIAMoDRINCgVub25jZRgCIAIoDBITCgttYXhfZ2FzX2ZlZRgDIAIoDBIYChBtYXhfcHJpb3JpdHlfZmVlGAQgAigMEhEKCWdhc19saW1pdBgFIAIoDBIMCgJ0bxgGIAEoCToAEg0KBXZhbHVlGAcgAigMEhwKEmRhdGFfaW5pdGlhbF9jaHVuaxgIIAEoDDoAEhMKC2RhdGFfbGVuZ3RoGAkgAigNEhAKCGNoYWluX2lkGAogAigEEloKC2FjY2Vzc19saXN0GAsgAygLMkUuaHcudHJlem9yLm1lc3NhZ2VzLmV0aGVyZXVtLkV0aGVyZXVtU2lnblR4RUlQMTU1OS5FdGhlcmV1bUFjY2Vzc0xpc3QSRQoLZGVmaW5pdGlvbnMYDCABKAsyMC5ody50cmV6b3IubWVzc2FnZXMuZXRoZXJldW0uRXRoZXJldW1EZWZpbml0aW9ucxIQCghjaHVua2lmeRgNIAEoCBI+CgtwYXltZW50X3JlcRgOIAEoCzIpLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uUGF5bWVudFJlcXVlc3QaOwoSRXRoZXJldW1BY2Nlc3NMaXN0Eg8KB2FkZHJlc3MYASACKAkSFAoMc3RvcmFnZV9rZXlzGAIgAygMImcKEUV0aGVyZXVtVHhSZXF1ZXN0EhMKC2RhdGFfbGVuZ3RoGAEgASgNEhMKC3NpZ25hdHVyZV92GAIgASgNEhMKC3NpZ25hdHVyZV9yGAMgASgMEhMKC3NpZ25hdHVyZV9zGAQgASgMIiMKDUV0aGVyZXVtVHhBY2sSEgoKZGF0YV9jaHVuaxgBIAIoDCJkChNFdGhlcmV1bVNpZ25NZXNzYWdlEhEKCWFkZHJlc3NfbhgBIAMoDRIPCgdtZXNzYWdlGAIgAigMEhcKD2VuY29kZWRfbmV0d29yaxgDIAEoDBIQCghjaHVua2lmeRgEIAEoCCI+ChhFdGhlcmV1bU1lc3NhZ2VTaWduYXR1cmUSEQoJc2lnbmF0dXJlGAIgAigMEg8KB2FkZHJlc3MYAyACKAkiXgoVRXRoZXJldW1WZXJpZnlNZXNzYWdlEhEKCXNpZ25hdHVyZRgCIAIoDBIPCgdtZXNzYWdlGAMgAigMEg8KB2FkZHJlc3MYBCACKAkSEAoIY2h1bmtpZnkYBSABKAgieAoVRXRoZXJldW1TaWduVHlwZWRIYXNoEhEKCWFkZHJlc3NfbhgBIAMoDRIdChVkb21haW5fc2VwYXJhdG9yX2hhc2gYAiACKAwSFAoMbWVzc2FnZV9oYXNoGAMgASgMEhcKD2VuY29kZWRfbmV0d29yaxgEIAEoDCJAChpFdGhlcmV1bVR5cGVkRGF0YVNpZ25hdHVyZRIRCglzaWduYXR1cmUYASACKAwSDwoHYWRkcmVzcxgCIAIoCSJFChNFdGhlcmV1bURlZmluaXRpb25zEhcKD2VuY29kZWRfbmV0d29yaxgBIAEoDBIVCg1lbmNvZGVkX3Rva2VuGAIgASgMQjwKI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhVUcmV6b3JNZXNzYWdlRXRoZXJldW0",
7616
+ "ChdtZXNzYWdlcy1ldGhlcmV1bS5wcm90bxIbaHcudHJlem9yLm1lc3NhZ2VzLmV0aGVyZXVtIj8KFEV0aGVyZXVtR2V0UHVibGljS2V5EhEKCWFkZHJlc3NfbhgBIAMoDRIUCgxzaG93X2Rpc3BsYXkYAiABKAgiVgoRRXRoZXJldW1QdWJsaWNLZXkSMwoEbm9kZRgBIAIoCzIlLmh3LnRyZXpvci5tZXNzYWdlcy5jb21tb24uSEROb2RlVHlwZRIMCgR4cHViGAIgAigJImgKEkV0aGVyZXVtR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhcKD2VuY29kZWRfbmV0d29yaxgDIAEoDBIQCghjaHVua2lmeRgEIAEoCCJJCg9FdGhlcmV1bUFkZHJlc3MSGAoMX29sZF9hZGRyZXNzGAEgASgMQgIYARIPCgdhZGRyZXNzGAIgASgJEgsKA21hYxgDIAEoDCKQAwoORXRoZXJldW1TaWduVHgSEQoJYWRkcmVzc19uGAEgAygNEg8KBW5vbmNlGAIgASgMOgASEQoJZ2FzX3ByaWNlGAMgAigMEhEKCWdhc19saW1pdBgEIAIoDBIMCgJ0bxgLIAEoCToAEg8KBXZhbHVlGAYgASgMOgASHAoSZGF0YV9pbml0aWFsX2NodW5rGAcgASgMOgASFgoLZGF0YV9sZW5ndGgYCCABKA06ATASEAoIY2hhaW5faWQYCSACKAQSDwoHdHhfdHlwZRgKIAEoDRJFCgtkZWZpbml0aW9ucxgMIAEoCzIwLmh3LnRyZXpvci5tZXNzYWdlcy5ldGhlcmV1bS5FdGhlcmV1bURlZmluaXRpb25zEhAKCGNodW5raWZ5GA0gASgIEj4KC3BheW1lbnRfcmVxGA4gASgLMikuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdBIjChtzdXBwb3J0c19kZWZpbml0aW9uX3JlcXVlc3QYDyABKAgitAQKFUV0aGVyZXVtU2lnblR4RUlQMTU1ORIRCglhZGRyZXNzX24YASADKA0SDQoFbm9uY2UYAiACKAwSEwoLbWF4X2dhc19mZWUYAyACKAwSGAoQbWF4X3ByaW9yaXR5X2ZlZRgEIAIoDBIRCglnYXNfbGltaXQYBSACKAwSDAoCdG8YBiABKAk6ABINCgV2YWx1ZRgHIAIoDBIcChJkYXRhX2luaXRpYWxfY2h1bmsYCCABKAw6ABITCgtkYXRhX2xlbmd0aBgJIAIoDRIQCghjaGFpbl9pZBgKIAIoBBJaCgthY2Nlc3NfbGlzdBgLIAMoCzJFLmh3LnRyZXpvci5tZXNzYWdlcy5ldGhlcmV1bS5FdGhlcmV1bVNpZ25UeEVJUDE1NTkuRXRoZXJldW1BY2Nlc3NMaXN0EkUKC2RlZmluaXRpb25zGAwgASgLMjAuaHcudHJlem9yLm1lc3NhZ2VzLmV0aGVyZXVtLkV0aGVyZXVtRGVmaW5pdGlvbnMSEAoIY2h1bmtpZnkYDSABKAgSPgoLcGF5bWVudF9yZXEYDiABKAsyKS5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBheW1lbnRSZXF1ZXN0EiMKG3N1cHBvcnRzX2RlZmluaXRpb25fcmVxdWVzdBgPIAEoCBo7ChJFdGhlcmV1bUFjY2Vzc0xpc3QSDwoHYWRkcmVzcxgBIAIoCRIUCgxzdG9yYWdlX2tleXMYAiADKAwiZwoRRXRoZXJldW1UeFJlcXVlc3QSEwoLZGF0YV9sZW5ndGgYASABKA0SEwoLc2lnbmF0dXJlX3YYAiABKA0SEwoLc2lnbmF0dXJlX3IYAyABKAwSEwoLc2lnbmF0dXJlX3MYBCABKAwiIwoNRXRoZXJldW1UeEFjaxISCgpkYXRhX2NodW5rGAEgAigMIlYKGUV0aGVyZXVtRGVmaW5pdGlvblJlcXVlc3QSEAoIY2hhaW5faWQYASACKAQSFQoNdG9rZW5fYWRkcmVzcxgCIAIoDBIQCghmdW5jX3NpZxgDIAEoDCJeChVFdGhlcmV1bURlZmluaXRpb25BY2sSRQoLZGVmaW5pdGlvbnMYASABKAsyMC5ody50cmV6b3IubWVzc2FnZXMuZXRoZXJldW0uRXRoZXJldW1EZWZpbml0aW9ucyJkChNFdGhlcmV1bVNpZ25NZXNzYWdlEhEKCWFkZHJlc3NfbhgBIAMoDRIPCgdtZXNzYWdlGAIgAigMEhcKD2VuY29kZWRfbmV0d29yaxgDIAEoDBIQCghjaHVua2lmeRgEIAEoCCI+ChhFdGhlcmV1bU1lc3NhZ2VTaWduYXR1cmUSEQoJc2lnbmF0dXJlGAIgAigMEg8KB2FkZHJlc3MYAyACKAkiXgoVRXRoZXJldW1WZXJpZnlNZXNzYWdlEhEKCXNpZ25hdHVyZRgCIAIoDBIPCgdtZXNzYWdlGAMgAigMEg8KB2FkZHJlc3MYBCACKAkSEAoIY2h1bmtpZnkYBSABKAgieAoVRXRoZXJldW1TaWduVHlwZWRIYXNoEhEKCWFkZHJlc3NfbhgBIAMoDRIdChVkb21haW5fc2VwYXJhdG9yX2hhc2gYAiACKAwSFAoMbWVzc2FnZV9oYXNoGAMgASgMEhcKD2VuY29kZWRfbmV0d29yaxgEIAEoDCJAChpFdGhlcmV1bVR5cGVkRGF0YVNpZ25hdHVyZRIRCglzaWduYXR1cmUYASACKAwSDwoHYWRkcmVzcxgCIAIoCSJlChNFdGhlcmV1bURlZmluaXRpb25zEhcKD2VuY29kZWRfbmV0d29yaxgBIAEoDBIVCg1lbmNvZGVkX3Rva2VuGAIgASgMEh4KFmVuY29kZWRfZGlzcGxheV9mb3JtYXQYAyABKAxCPAojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCFVRyZXpvck1lc3NhZ2VFdGhlcmV1bQ",
7428
7617
  [file_messages_common]
7429
7618
  );
7430
7619
  var EthereumGetPublicKeySchema = messageDesc(file_messages_ethereum, 0);
@@ -7440,12 +7629,14 @@ var EthereumSignTxEIP1559_EthereumAccessListSchema = messageDesc(
7440
7629
  );
7441
7630
  var EthereumTxRequestSchema = messageDesc(file_messages_ethereum, 6);
7442
7631
  var EthereumTxAckSchema = messageDesc(file_messages_ethereum, 7);
7443
- var EthereumSignMessageSchema = messageDesc(file_messages_ethereum, 8);
7444
- var EthereumMessageSignatureSchema = messageDesc(file_messages_ethereum, 9);
7445
- var EthereumVerifyMessageSchema = messageDesc(file_messages_ethereum, 10);
7446
- var EthereumSignTypedHashSchema = messageDesc(file_messages_ethereum, 11);
7447
- var EthereumTypedDataSignatureSchema = messageDesc(file_messages_ethereum, 12);
7448
- var EthereumDefinitionsSchema = messageDesc(file_messages_ethereum, 13);
7632
+ var EthereumDefinitionRequestSchema = messageDesc(file_messages_ethereum, 8);
7633
+ var EthereumDefinitionAckSchema = messageDesc(file_messages_ethereum, 9);
7634
+ var EthereumSignMessageSchema = messageDesc(file_messages_ethereum, 10);
7635
+ var EthereumMessageSignatureSchema = messageDesc(file_messages_ethereum, 11);
7636
+ var EthereumVerifyMessageSchema = messageDesc(file_messages_ethereum, 12);
7637
+ var EthereumSignTypedHashSchema = messageDesc(file_messages_ethereum, 13);
7638
+ var EthereumTypedDataSignatureSchema = messageDesc(file_messages_ethereum, 14);
7639
+ var EthereumDefinitionsSchema = messageDesc(file_messages_ethereum, 15);
7449
7640
 
7450
7641
  // ../hwk-trezor-protobuf/src/definitions/messages-ethereum-eip712_pb.js
7451
7642
  var file_messages_ethereum_eip712 = fileDesc(
@@ -7491,7 +7682,7 @@ __export(messages_evolu_pb_exports, {
7491
7682
  });
7492
7683
  init_buffer();
7493
7684
  var file_messages_evolu = fileDesc(
7494
- "ChRtZXNzYWdlcy1ldm9sdS5wcm90bxIYaHcudHJlem9yLm1lc3NhZ2VzLmV2b2x1IlMKDEV2b2x1R2V0Tm9kZRIjChtwcm9vZl9vZl9kZWxlZ2F0ZWRfaWRlbnRpdHkYASACKAwSHgoTbm9kZV9yb3RhdGlvbl9pbmRleBgCIAEoDToBMCIZCglFdm9sdU5vZGUSDAoEZGF0YRgBIAIoDCJ7ChxFdm9sdVNpZ25SZWdpc3RyYXRpb25SZXF1ZXN0Eh0KFWNoYWxsZW5nZV9mcm9tX3NlcnZlchgBIAIoDBIXCg9zaXplX3RvX2FjcXVpcmUYAiACKA0SIwobcHJvb2Zfb2ZfZGVsZWdhdGVkX2lkZW50aXR5GAMgAigMIkgKGEV2b2x1UmVnaXN0cmF0aW9uUmVxdWVzdBIZChFjZXJ0aWZpY2F0ZV9jaGFpbhgBIAMoDBIRCglzaWduYXR1cmUYAiACKAwiZAocRXZvbHVHZXREZWxlZ2F0ZWRJZGVudGl0eUtleRIWCg50aHBfY3JlZGVudGlhbBgBIAEoDBIWCg5yb3RhdGlvbl9pbmRleBgDIAEoDRIOCgZyb3RhdGUYBCABKAhKBAgCEAMiSAoZRXZvbHVEZWxlZ2F0ZWRJZGVudGl0eUtleRITCgtwcml2YXRlX2tleRgBIAIoDBIWCg5yb3RhdGlvbl9pbmRleBgCIAEoDSIuChRFdm9sdUluZGV4TWFuYWdlbWVudBIWCg5yb3RhdGlvbl9pbmRleBgBIAEoDSI2ChxFdm9sdUluZGV4TWFuYWdlbWVudFJlc3BvbnNlEhYKDnJvdGF0aW9uX2luZGV4GAEgASgNQj0KI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhJUcmV6b3JNZXNzYWdlRXZvbHWAph0B",
7685
+ "ChRtZXNzYWdlcy1ldm9sdS5wcm90bxIYaHcudHJlem9yLm1lc3NhZ2VzLmV2b2x1IlMKDEV2b2x1R2V0Tm9kZRIjChtwcm9vZl9vZl9kZWxlZ2F0ZWRfaWRlbnRpdHkYASACKAwSHgoTbm9kZV9yb3RhdGlvbl9pbmRleBgCIAEoDToBMCIZCglFdm9sdU5vZGUSDAoEZGF0YRgBIAIoDCJ7ChxFdm9sdVNpZ25SZWdpc3RyYXRpb25SZXF1ZXN0Eh0KFWNoYWxsZW5nZV9mcm9tX3NlcnZlchgBIAIoDBIXCg9zaXplX3RvX2FjcXVpcmUYAiACKA0SIwobcHJvb2Zfb2ZfZGVsZWdhdGVkX2lkZW50aXR5GAMgAigMImAKGEV2b2x1UmVnaXN0cmF0aW9uUmVxdWVzdBIZChFjZXJ0aWZpY2F0ZV9jaGFpbhgBIAMoDBIRCglzaWduYXR1cmUYAiACKAwSFgoOcm90YXRpb25faW5kZXgYAyABKA0iZAocRXZvbHVHZXREZWxlZ2F0ZWRJZGVudGl0eUtleRIWCg50aHBfY3JlZGVudGlhbBgBIAEoDBIWCg5yb3RhdGlvbl9pbmRleBgDIAEoDRIOCgZyb3RhdGUYBCABKAhKBAgCEAMiSAoZRXZvbHVEZWxlZ2F0ZWRJZGVudGl0eUtleRITCgtwcml2YXRlX2tleRgBIAIoDBIWCg5yb3RhdGlvbl9pbmRleBgCIAEoDSIuChRFdm9sdUluZGV4TWFuYWdlbWVudBIWCg5yb3RhdGlvbl9pbmRleBgBIAEoDSI2ChxFdm9sdUluZGV4TWFuYWdlbWVudFJlc3BvbnNlEhYKDnJvdGF0aW9uX2luZGV4GAEgASgNQj0KI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhJUcmV6b3JNZXNzYWdlRXZvbHWAph0B",
7495
7686
  [file_options]
7496
7687
  );
7497
7688
  var EvoluGetNodeSchema = messageDesc(file_messages_evolu, 0);
@@ -7659,7 +7850,7 @@ __export(messages_pb_exports, {
7659
7850
  });
7660
7851
  init_buffer();
7661
7852
  var file_messages = fileDesc(
7662
- "Cg5tZXNzYWdlcy5wcm90bxISaHcudHJlem9yLm1lc3NhZ2VzKt5jCgtNZXNzYWdlVHlwZRIoChZNZXNzYWdlVHlwZV9Jbml0aWFsaXplEAAaDJC1GAGwtRgBgKYdARIeChBNZXNzYWdlVHlwZV9QaW5nEAEaCJC1GAGAph0BEiUKE01lc3NhZ2VUeXBlX1N1Y2Nlc3MQAhoMmLUYAai1GAGAph0BEiUKE01lc3NhZ2VUeXBlX0ZhaWx1cmUQAxoMmLUYAai1GAGAph0BEiMKFU1lc3NhZ2VUeXBlX0NoYW5nZVBpbhAEGgiQtRgBgKYdARIkChZNZXNzYWdlVHlwZV9XaXBlRGV2aWNlEAUaCJC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0dldEVudHJvcHkQCRoIkLUYAYCmHQESIQoTTWVzc2FnZVR5cGVfRW50cm9weRAKGgiYtRgBgKYdARIkChZNZXNzYWdlVHlwZV9Mb2FkRGV2aWNlEA0aCJC1GAGAph0BEiUKF01lc3NhZ2VUeXBlX1Jlc2V0RGV2aWNlEA4aCJC1GAGAph0BEiEKE01lc3NhZ2VUeXBlX1NldEJ1c3kQEBoIkLUYAYCmHQESIgoUTWVzc2FnZVR5cGVfRmVhdHVyZXMQERoImLUYAYCmHQESKgocTWVzc2FnZVR5cGVfUGluTWF0cml4UmVxdWVzdBASGgiYtRgBgKYdARIuChhNZXNzYWdlVHlwZV9QaW5NYXRyaXhBY2sQExoQkLUYAbC1GAHAtRgBgKYdARIkChJNZXNzYWdlVHlwZV9DYW5jZWwQFBoMkLUYAbC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0xvY2tEZXZpY2UQGBoIkLUYAYCmHQESJwoZTWVzc2FnZVR5cGVfQXBwbHlTZXR0aW5ncxAZGgiQtRgBgKYdARInChlNZXNzYWdlVHlwZV9CdXR0b25SZXF1ZXN0EBoaCJi1GAGAph0BEisKFU1lc3NhZ2VUeXBlX0J1dHRvbkFjaxAbGhCQtRgBsLUYAcC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0FwcGx5RmxhZ3MQHBoIkLUYAYCmHQESIgoUTWVzc2FnZVR5cGVfR2V0Tm9uY2UQHxoIkLUYAYCmHQESHwoRTWVzc2FnZVR5cGVfTm9uY2UQIRoImLUYAYCmHQESJgoYTWVzc2FnZVR5cGVfQmFja3VwRGV2aWNlECIaCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0VudHJvcHlSZXF1ZXN0ECMaCJi1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0VudHJvcHlBY2sQJBoIkLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfUGF5bWVudFJlcXVlc3QQJRoIkLUYAYCmHQESLAodTWVzc2FnZVR5cGVfRW50cm9weUNoZWNrUmVhZHkQ4gcaCJi1GAGAph0BEi8KIE1lc3NhZ2VUeXBlX0VudHJvcHlDaGVja0NvbnRpbnVlEOMHGgiQtRgBgKYdARIrCh1NZXNzYWdlVHlwZV9QYXNzcGhyYXNlUmVxdWVzdBApGgiYtRgBgKYdARIvChlNZXNzYWdlVHlwZV9QYXNzcGhyYXNlQWNrECoaEJC1GAGwtRgBwLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfUmVjb3ZlcnlEZXZpY2UQLRoIkLUYAYCmHQESJQoXTWVzc2FnZVR5cGVfV29yZFJlcXVlc3QQLhoImLUYAYCmHQESIQoTTWVzc2FnZVR5cGVfV29yZEFjaxAvGgiQtRgBgKYdARIlChdNZXNzYWdlVHlwZV9HZXRGZWF0dXJlcxA3GgiQtRgBgKYdARIjChVNZXNzYWdlVHlwZV9TZFByb3RlY3QQTxoIkLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfQ2hhbmdlV2lwZUNvZGUQUhoIkLUYAYCmHQESJAoWTWVzc2FnZVR5cGVfRW5kU2Vzc2lvbhBTGgiQtRgBgKYdARIpChtNZXNzYWdlVHlwZV9Eb1ByZWF1dGhvcml6ZWQQVBoIkLUYAYCmHQESLgogTWVzc2FnZVR5cGVfUHJlYXV0aG9yaXplZFJlcXVlc3QQVRoImLUYAYCmHQESLQofTWVzc2FnZVR5cGVfQ2FuY2VsQXV0aG9yaXphdGlvbhBWGgiQtRgBgKYdARIsCh5NZXNzYWdlVHlwZV9SZWJvb3RUb0Jvb3Rsb2FkZXIQVxoIkLUYAYCmHQESKQobTWVzc2FnZVR5cGVfR2V0RmlybXdhcmVIYXNoEFgaCJC1GAGAph0BEiYKGE1lc3NhZ2VUeXBlX0Zpcm13YXJlSGFzaBBZGgiYtRgBgKYdARIkChZNZXNzYWdlVHlwZV9VbmxvY2tQYXRoEF0aCJC1GAGAph0BEi0KH01lc3NhZ2VUeXBlX1VubG9ja2VkUGF0aFJlcXVlc3QQXhoImLUYAYCmHQESLAoeTWVzc2FnZVR5cGVfU2hvd0RldmljZVR1dG9yaWFsEF8aCJC1GAGAph0BEioKHE1lc3NhZ2VUeXBlX1VubG9ja0Jvb3Rsb2FkZXIQYBoIkLUYAYCmHQESLAoeTWVzc2FnZVR5cGVfQXV0aGVudGljYXRlRGV2aWNlEGEaCJi1GAGAph0BEisKHU1lc3NhZ2VUeXBlX0F1dGhlbnRpY2l0eVByb29mEGIaCJC1GAGAph0BEikKGk1lc3NhZ2VUeXBlX0NoYW5nZUxhbmd1YWdlEN4HGgiQtRgBgKYdARIrChxNZXNzYWdlVHlwZV9EYXRhQ2h1bmtSZXF1ZXN0EN8HGgiYtRgBgKYdARInChhNZXNzYWdlVHlwZV9EYXRhQ2h1bmtBY2sQ4AcaCJC1GAGAph0BEigKGU1lc3NhZ2VUeXBlX1NldEJyaWdodG5lc3MQ4QcaCJC1GAGAph0BEioKG01lc3NhZ2VUeXBlX0dldFNlcmlhbE51bWJlchDkBxoIkLUYAYCmHQESJwoYTWVzc2FnZVR5cGVfU2VyaWFsTnVtYmVyEOUHGgiYtRgBgKYdARIjChlNZXNzYWdlVHlwZV9TZXRVMkZDb3VudGVyED8aBJC1GAESJwodTWVzc2FnZVR5cGVfR2V0TmV4dFUyRkNvdW50ZXIQUBoEkLUYARIkChpNZXNzYWdlVHlwZV9OZXh0VTJGQ291bnRlchBRGgSYtRgBEjUKLU1lc3NhZ2VUeXBlX0RlcHJlY2F0ZWRfUGFzc3BocmFzZVN0YXRlUmVxdWVzdBBNGgIIARIxCilNZXNzYWdlVHlwZV9EZXByZWNhdGVkX1Bhc3NwaHJhc2VTdGF0ZUFjaxBOGgIIARIrChlNZXNzYWdlVHlwZV9GaXJtd2FyZUVyYXNlEAYaDJC1GAG4tRgBgKYdARIsChpNZXNzYWdlVHlwZV9GaXJtd2FyZVVwbG9hZBAHGgyQtRgBuLUYAYCmHQESLQobTWVzc2FnZVR5cGVfRmlybXdhcmVSZXF1ZXN0EAgaDJi1GAG4tRgBgKYdARIoChZNZXNzYWdlVHlwZV9Qcm9kVGVzdFQxECAaDJC1GAG4tRgBgKYdARIkChVNZXNzYWdlVHlwZV9CbGVVbnBhaXIQwT4aCJC1GAGAph0BEiYKGE1lc3NhZ2VUeXBlX0dldFB1YmxpY0tleRALGgiQtRgBgKYdARIjChVNZXNzYWdlVHlwZV9QdWJsaWNLZXkQDBoImLUYAYCmHQESIAoSTWVzc2FnZVR5cGVfU2lnblR4EA8aCJC1GAGAph0BEiMKFU1lc3NhZ2VUeXBlX1R4UmVxdWVzdBAVGgiYtRgBgKYdARIfChFNZXNzYWdlVHlwZV9UeEFjaxAWGgiQtRgBgKYdARIkChZNZXNzYWdlVHlwZV9HZXRBZGRyZXNzEB0aCJC1GAGAph0BEiEKE01lc3NhZ2VUeXBlX0FkZHJlc3MQHhoImLUYAYCmHQESJQoXTWVzc2FnZVR5cGVfU2lnbk1lc3NhZ2UQJhoIkLUYAYCmHQESJwoZTWVzc2FnZVR5cGVfVmVyaWZ5TWVzc2FnZRAnGgiQtRgBgKYdARIqChxNZXNzYWdlVHlwZV9NZXNzYWdlU2lnbmF0dXJlECgaCJi1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0dldE93bmVyc2hpcElkECsaCJC1GAGAph0BEiUKF01lc3NhZ2VUeXBlX093bmVyc2hpcElkECwaCJi1GAGAph0BEisKHU1lc3NhZ2VUeXBlX0dldE93bmVyc2hpcFByb29mEDEaCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX093bmVyc2hpcFByb29mEDIaCJi1GAGAph0BEisKHU1lc3NhZ2VUeXBlX0F1dGhvcml6ZUNvaW5Kb2luEDMaCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0NpcGhlcktleVZhbHVlEBcaCJC1GAGAph0BEioKHE1lc3NhZ2VUeXBlX0NpcGhlcmVkS2V5VmFsdWUQMBoImLUYAYCmHQESJgoYTWVzc2FnZVR5cGVfU2lnbklkZW50aXR5EDUaCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX1NpZ25lZElkZW50aXR5EDYaCJi1GAGAph0BEisKHU1lc3NhZ2VUeXBlX0dldEVDREhTZXNzaW9uS2V5ED0aCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0VDREhTZXNzaW9uS2V5ED4aCJi1GAGAph0BEi0KH01lc3NhZ2VUeXBlX1BheW1lbnROb3RpZmljYXRpb24QNBoIkLUYAYCmHQESMwodTWVzc2FnZVR5cGVfRGVidWdMaW5rRGVjaXNpb24QZBoQoLUYAbC1GAHAtRgBgKYdARIvCh1NZXNzYWdlVHlwZV9EZWJ1Z0xpbmtHZXRTdGF0ZRBlGgygtRgBsLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfRGVidWdMaW5rU3RhdGUQZhoIqLUYAYCmHQESJwoZTWVzc2FnZVR5cGVfRGVidWdMaW5rU3RvcBBnGgigtRgBgKYdARImChhNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtMb2cQaBoIqLUYAYCmHQESLQofTWVzc2FnZVR5cGVfRGVidWdMaW5rTWVtb3J5UmVhZBBuGgigtRgBgKYdARIpChtNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtNZW1vcnkQbxoIqLUYAYCmHQESLgogTWVzc2FnZVR5cGVfRGVidWdMaW5rTWVtb3J5V3JpdGUQcBoIoLUYAYCmHQESLQofTWVzc2FnZVR5cGVfRGVidWdMaW5rRmxhc2hFcmFzZRBxGgigtRgBgKYdARIqChtNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtMYXlvdXQQqUYaCKi1GAGAph0BEjAKIU1lc3NhZ2VUeXBlX0RlYnVnTGlua1Jlc2VlZFJhbmRvbRCqRhoIoLUYAYCmHQESMAohTWVzc2FnZVR5cGVfRGVidWdMaW5rUmVjb3JkU2NyZWVuEKtGGgigtRgBgKYdARIvCiBNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtFcmFzZVNkQ2FyZBCtRhoIoLUYAYCmHQESLwogTWVzc2FnZVR5cGVfRGVidWdMaW5rV2F0Y2hMYXlvdXQQrkYaCKC1GAGAph0BEjQKJU1lc3NhZ2VUeXBlX0RlYnVnTGlua1Jlc2V0RGVidWdFdmVudHMQr0YaCKC1GAGAph0BEjMKJE1lc3NhZ2VUeXBlX0RlYnVnTGlua09wdGlnYVNldFNlY01heBCwRhoIoLUYAYCmHQESLQoeTWVzc2FnZVR5cGVfRGVidWdMaW5rR2V0R2NJbmZvELFGGgigtRgBgKYdARIqChtNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtHY0luZm8QskYaCKi1GAGAph0BEjIKI01lc3NhZ2VUeXBlX0RlYnVnTGlua0dldFBhaXJpbmdJbmZvELNGGgigtRgBgKYdARIvCiBNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtQYWlyaW5nSW5mbxC0RhoIqLUYAYCmHQESMAohTWVzc2FnZVR5cGVfRGVidWdMaW5rU2V0TG9nRmlsdGVyELVGGgigtRgBgKYdARIxCiJNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtONFcxQ29ubmVjdGVkELZGGgigtRgBgKYdARItCh5NZXNzYWdlVHlwZV9EZWJ1Z0xpbmtONFcxV3JpdGUQt0YaCKi1GAGAph0BEiwKHU1lc3NhZ2VUeXBlX0RlYnVnTGlua040VzFSZWFkELhGGgiotRgBgKYdARIwCiFNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtONFcxUmVzcG9uc2UQuUYaCKC1GAGAph0BEjMKJE1lc3NhZ2VUeXBlX0RlYnVnTGlua1NldEJhdHRlcnlTdGF0ZRC6RhoIoLUYAYCmHQESKwogTWVzc2FnZVR5cGVfRXRoZXJldW1HZXRQdWJsaWNLZXkQwgMaBJC1GAESKAodTWVzc2FnZVR5cGVfRXRoZXJldW1QdWJsaWNLZXkQwwMaBJi1GAESKAoeTWVzc2FnZVR5cGVfRXRoZXJldW1HZXRBZGRyZXNzEDgaBJC1GAESJQobTWVzc2FnZVR5cGVfRXRoZXJldW1BZGRyZXNzEDkaBJi1GAESJAoaTWVzc2FnZVR5cGVfRXRoZXJldW1TaWduVHgQOhoEkLUYARIsCiFNZXNzYWdlVHlwZV9FdGhlcmV1bVNpZ25UeEVJUDE1NTkQxAMaBJC1GAESJwodTWVzc2FnZVR5cGVfRXRoZXJldW1UeFJlcXVlc3QQOxoEmLUYARIjChlNZXNzYWdlVHlwZV9FdGhlcmV1bVR4QWNrEDwaBJC1GAESKQofTWVzc2FnZVR5cGVfRXRoZXJldW1TaWduTWVzc2FnZRBAGgSQtRgBEisKIU1lc3NhZ2VUeXBlX0V0aGVyZXVtVmVyaWZ5TWVzc2FnZRBBGgSQtRgBEi4KJE1lc3NhZ2VUeXBlX0V0aGVyZXVtTWVzc2FnZVNpZ25hdHVyZRBCGgSYtRgBEiwKIU1lc3NhZ2VUeXBlX0V0aGVyZXVtU2lnblR5cGVkRGF0YRDQAxoEkLUYARI1CipNZXNzYWdlVHlwZV9FdGhlcmV1bVR5cGVkRGF0YVN0cnVjdFJlcXVlc3QQ0QMaBJi1GAESMQomTWVzc2FnZVR5cGVfRXRoZXJldW1UeXBlZERhdGFTdHJ1Y3RBY2sQ0gMaBJC1GAESNAopTWVzc2FnZVR5cGVfRXRoZXJldW1UeXBlZERhdGFWYWx1ZVJlcXVlc3QQ0wMaBJi1GAESMAolTWVzc2FnZVR5cGVfRXRoZXJldW1UeXBlZERhdGFWYWx1ZUFjaxDUAxoEkLUYARIxCiZNZXNzYWdlVHlwZV9FdGhlcmV1bVR5cGVkRGF0YVNpZ25hdHVyZRDVAxoEmLUYARIsCiFNZXNzYWdlVHlwZV9FdGhlcmV1bVNpZ25UeXBlZEhhc2gQ1gMaBJC1GAESIwoZTWVzc2FnZVR5cGVfTkVNR2V0QWRkcmVzcxBDGgSQtRgBEiAKFk1lc3NhZ2VUeXBlX05FTUFkZHJlc3MQRBoEmLUYARIfChVNZXNzYWdlVHlwZV9ORU1TaWduVHgQRRoEkLUYARIhChdNZXNzYWdlVHlwZV9ORU1TaWduZWRUeBBGGgSYtRgBEicKHU1lc3NhZ2VUeXBlX05FTURlY3J5cHRNZXNzYWdlEEsaBJC1GAESKQofTWVzc2FnZVR5cGVfTkVNRGVjcnlwdGVkTWVzc2FnZRBMGgSYtRgBEiYKG01lc3NhZ2VUeXBlX1Rlem9zR2V0QWRkcmVzcxCWARoEkLUYARIjChhNZXNzYWdlVHlwZV9UZXpvc0FkZHJlc3MQlwEaBJi1GAESIgoXTWVzc2FnZVR5cGVfVGV6b3NTaWduVHgQmAEaBJC1GAESJAoZTWVzc2FnZVR5cGVfVGV6b3NTaWduZWRUeBCZARoEmLUYARIoCh1NZXNzYWdlVHlwZV9UZXpvc0dldFB1YmxpY0tleRCaARoEkLUYARIlChpNZXNzYWdlVHlwZV9UZXpvc1B1YmxpY0tleRCbARoEmLUYARIkChlNZXNzYWdlVHlwZV9TdGVsbGFyU2lnblR4EMoBGgSQtRgBEikKHk1lc3NhZ2VUeXBlX1N0ZWxsYXJUeE9wUmVxdWVzdBDLARoEmLUYARIoCh1NZXNzYWdlVHlwZV9TdGVsbGFyR2V0QWRkcmVzcxDPARoEkLUYARIlChpNZXNzYWdlVHlwZV9TdGVsbGFyQWRkcmVzcxDQARoEmLUYARItCiJNZXNzYWdlVHlwZV9TdGVsbGFyQ3JlYXRlQWNjb3VudE9wENIBGgSQtRgBEicKHE1lc3NhZ2VUeXBlX1N0ZWxsYXJQYXltZW50T3AQ0wEaBJC1GAESOAotTWVzc2FnZVR5cGVfU3RlbGxhclBhdGhQYXltZW50U3RyaWN0UmVjZWl2ZU9wENQBGgSQtRgBEi8KJE1lc3NhZ2VUeXBlX1N0ZWxsYXJNYW5hZ2VTZWxsT2ZmZXJPcBDVARoEkLUYARI2CitNZXNzYWdlVHlwZV9TdGVsbGFyQ3JlYXRlUGFzc2l2ZVNlbGxPZmZlck9wENYBGgSQtRgBEioKH01lc3NhZ2VUeXBlX1N0ZWxsYXJTZXRPcHRpb25zT3AQ1wEaBJC1GAESKwogTWVzc2FnZVR5cGVfU3RlbGxhckNoYW5nZVRydXN0T3AQ2AEaBJC1GAESKgofTWVzc2FnZVR5cGVfU3RlbGxhckFsbG93VHJ1c3RPcBDZARoEkLUYARIsCiFNZXNzYWdlVHlwZV9TdGVsbGFyQWNjb3VudE1lcmdlT3AQ2gEaBJC1GAESKgofTWVzc2FnZVR5cGVfU3RlbGxhck1hbmFnZURhdGFPcBDcARoEkLUYARIsCiFNZXNzYWdlVHlwZV9TdGVsbGFyQnVtcFNlcXVlbmNlT3AQ3QEaBJC1GAESLgojTWVzc2FnZVR5cGVfU3RlbGxhck1hbmFnZUJ1eU9mZmVyT3AQ3gEaBJC1GAESNQoqTWVzc2FnZVR5cGVfU3RlbGxhclBhdGhQYXltZW50U3RyaWN0U2VuZE9wEN8BGgSQtRgBEjUKKk1lc3NhZ2VUeXBlX1N0ZWxsYXJDbGFpbUNsYWltYWJsZUJhbGFuY2VPcBDhARoEkLUYARImChtNZXNzYWdlVHlwZV9TdGVsbGFyU2lnbmVkVHgQ5gEaBJi1GAESKgofTWVzc2FnZVR5cGVfQ2FyZGFub0dldFB1YmxpY0tleRCxAhoEkLUYARInChxNZXNzYWdlVHlwZV9DYXJkYW5vUHVibGljS2V5ELICGgSYtRgBEigKHU1lc3NhZ2VUeXBlX0NhcmRhbm9HZXRBZGRyZXNzELMCGgSQtRgBEiUKGk1lc3NhZ2VUeXBlX0NhcmRhbm9BZGRyZXNzELQCGgSYtRgBEicKHE1lc3NhZ2VUeXBlX0NhcmRhbm9UeEl0ZW1BY2sQuQIaBJi1GAESNwosTWVzc2FnZVR5cGVfQ2FyZGFub1R4QXV4aWxpYXJ5RGF0YVN1cHBsZW1lbnQQugIaBJi1GAESLgojTWVzc2FnZVR5cGVfQ2FyZGFub1R4V2l0bmVzc1JlcXVlc3QQuwIaBJC1GAESLwokTWVzc2FnZVR5cGVfQ2FyZGFub1R4V2l0bmVzc1Jlc3BvbnNlELwCGgSYtRgBEicKHE1lc3NhZ2VUeXBlX0NhcmRhbm9UeEhvc3RBY2sQvQIaBJC1GAESKAodTWVzc2FnZVR5cGVfQ2FyZGFub1R4Qm9keUhhc2gQvgIaBJi1GAESLAohTWVzc2FnZVR5cGVfQ2FyZGFub1NpZ25UeEZpbmlzaGVkEL8CGgSYtRgBEigKHU1lc3NhZ2VUeXBlX0NhcmRhbm9TaWduVHhJbml0EMACGgSQtRgBEiUKGk1lc3NhZ2VUeXBlX0NhcmRhbm9UeElucHV0EMECGgSQtRgBEiYKG01lc3NhZ2VUeXBlX0NhcmRhbm9UeE91dHB1dBDCAhoEkLUYARIoCh1NZXNzYWdlVHlwZV9DYXJkYW5vQXNzZXRHcm91cBDDAhoEkLUYARIjChhNZXNzYWdlVHlwZV9DYXJkYW5vVG9rZW4QxAIaBJC1GAESKwogTWVzc2FnZVR5cGVfQ2FyZGFub1R4Q2VydGlmaWNhdGUQxQIaBJC1GAESKgofTWVzc2FnZVR5cGVfQ2FyZGFub1R4V2l0aGRyYXdhbBDGAhoEkLUYARItCiJNZXNzYWdlVHlwZV9DYXJkYW5vVHhBdXhpbGlhcnlEYXRhEMcCGgSQtRgBEicKHE1lc3NhZ2VUeXBlX0NhcmRhbm9Qb29sT3duZXIQyAIaBJC1GAESMQomTWVzc2FnZVR5cGVfQ2FyZGFub1Bvb2xSZWxheVBhcmFtZXRlcnMQyQIaBJC1GAESMQomTWVzc2FnZVR5cGVfQ2FyZGFub0dldE5hdGl2ZVNjcmlwdEhhc2gQygIaBJC1GAESLgojTWVzc2FnZVR5cGVfQ2FyZGFub05hdGl2ZVNjcmlwdEhhc2gQywIaBJi1GAESJAoZTWVzc2FnZVR5cGVfQ2FyZGFub1R4TWludBDMAhoEkLUYARIvCiRNZXNzYWdlVHlwZV9DYXJkYW5vVHhDb2xsYXRlcmFsSW5wdXQQzQIaBJC1GAESLgojTWVzc2FnZVR5cGVfQ2FyZGFub1R4UmVxdWlyZWRTaWduZXIQzgIaBJC1GAESMAolTWVzc2FnZVR5cGVfQ2FyZGFub1R4SW5saW5lRGF0dW1DaHVuaxDPAhoEkLUYARI0CilNZXNzYWdlVHlwZV9DYXJkYW5vVHhSZWZlcmVuY2VTY3JpcHRDaHVuaxDQAhoEkLUYARIuCiNNZXNzYWdlVHlwZV9DYXJkYW5vVHhSZWZlcmVuY2VJbnB1dBDRAhoEkLUYARItCiJNZXNzYWdlVHlwZV9DYXJkYW5vU2lnbk1lc3NhZ2VJbml0ENICGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX0NhcmRhbm9NZXNzYWdlRGF0YVJlcXVlc3QQ0wIaBJi1GAESMQomTWVzc2FnZVR5cGVfQ2FyZGFub01lc3NhZ2VEYXRhUmVzcG9uc2UQ1AIaBJC1GAESLgojTWVzc2FnZVR5cGVfQ2FyZGFub01lc3NhZ2VTaWduYXR1cmUQ1QIaBJi1GAESJwocTWVzc2FnZVR5cGVfUmlwcGxlR2V0QWRkcmVzcxCQAxoEkLUYARIkChlNZXNzYWdlVHlwZV9SaXBwbGVBZGRyZXNzEJEDGgSYtRgBEiMKGE1lc3NhZ2VUeXBlX1JpcHBsZVNpZ25UeBCSAxoEkLUYARIlChpNZXNzYWdlVHlwZV9SaXBwbGVTaWduZWRUeBCTAxoEmLUYARIzCihNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbkluaXRSZXF1ZXN0EPUDGgSYtRgBEi8KJE1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uSW5pdEFjaxD2AxoEmLUYARI3CixNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvblNldElucHV0UmVxdWVzdBD3AxoEmLUYARIzCihNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvblNldElucHV0QWNrEPgDGgSYtRgBEjgKLU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uSW5wdXRWaW5pUmVxdWVzdBD7AxoEmLUYARI0CilNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbklucHV0VmluaUFjaxD8AxoEmLUYARI7CjBNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbkFsbElucHV0c1NldFJlcXVlc3QQ/QMaBJi1GAESNwosTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25BbGxJbnB1dHNTZXRBY2sQ/gMaBJi1GAESOAotTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25TZXRPdXRwdXRSZXF1ZXN0EP8DGgSYtRgBEjQKKU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uU2V0T3V0cHV0QWNrEIAEGgSYtRgBEjgKLU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uQWxsT3V0U2V0UmVxdWVzdBCBBBoEmLUYARI0CilNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbkFsbE91dFNldEFjaxCCBBoEmLUYARI4Ci1NZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvblNpZ25JbnB1dFJlcXVlc3QQgwQaBJi1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25TaWduSW5wdXRBY2sQhAQaBJi1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25GaW5hbFJlcXVlc3QQhQQaBJi1GAESMAolTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25GaW5hbEFjaxCGBBoEmLUYARI2CitNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZUV4cG9ydEluaXRSZXF1ZXN0EJIEGgSYtRgBEjIKJ01lc3NhZ2VUeXBlX01vbmVyb0tleUltYWdlRXhwb3J0SW5pdEFjaxCTBBoEmLUYARI0CilNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZVN5bmNTdGVwUmVxdWVzdBCUBBoEmLUYARIwCiVNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZVN5bmNTdGVwQWNrEJUEGgSYtRgBEjUKKk1lc3NhZ2VUeXBlX01vbmVyb0tleUltYWdlU3luY0ZpbmFsUmVxdWVzdBCWBBoEmLUYARIxCiZNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZVN5bmNGaW5hbEFjaxCXBBoEmLUYARInChxNZXNzYWdlVHlwZV9Nb25lcm9HZXRBZGRyZXNzEJwEGgSQtRgBEiQKGU1lc3NhZ2VUeXBlX01vbmVyb0FkZHJlc3MQnQQaBJi1GAESKAodTWVzc2FnZVR5cGVfTW9uZXJvR2V0V2F0Y2hLZXkQngQaBJC1GAESJQoaTWVzc2FnZVR5cGVfTW9uZXJvV2F0Y2hLZXkQnwQaBJi1GAESLQoiTWVzc2FnZVR5cGVfRGVidWdNb25lcm9EaWFnUmVxdWVzdBCiBBoEkLUYARIpCh5NZXNzYWdlVHlwZV9EZWJ1Z01vbmVyb0RpYWdBY2sQowQaBJi1GAESLAohTWVzc2FnZVR5cGVfTW9uZXJvR2V0VHhLZXlSZXF1ZXN0EKYEGgSQtRgBEigKHU1lc3NhZ2VUeXBlX01vbmVyb0dldFR4S2V5QWNrEKcEGgSYtRgBEjQKKU1lc3NhZ2VUeXBlX01vbmVyb0xpdmVSZWZyZXNoU3RhcnRSZXF1ZXN0EKgEGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX01vbmVyb0xpdmVSZWZyZXNoU3RhcnRBY2sQqQQaBJi1GAESMwooTWVzc2FnZVR5cGVfTW9uZXJvTGl2ZVJlZnJlc2hTdGVwUmVxdWVzdBCqBBoEkLUYARIvCiRNZXNzYWdlVHlwZV9Nb25lcm9MaXZlUmVmcmVzaFN0ZXBBY2sQqwQaBJi1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvTGl2ZVJlZnJlc2hGaW5hbFJlcXVlc3QQrAQaBJC1GAESMAolTWVzc2FnZVR5cGVfTW9uZXJvTGl2ZVJlZnJlc2hGaW5hbEFjaxCtBBoEmLUYARImChtNZXNzYWdlVHlwZV9Fb3NHZXRQdWJsaWNLZXkQ2AQaBJC1GAESIwoYTWVzc2FnZVR5cGVfRW9zUHVibGljS2V5ENkEGgSYtRgBEiAKFU1lc3NhZ2VUeXBlX0Vvc1NpZ25UeBDaBBoEkLUYARIpCh5NZXNzYWdlVHlwZV9Fb3NUeEFjdGlvblJlcXVlc3QQ2wQaBJi1GAESJQoaTWVzc2FnZVR5cGVfRW9zVHhBY3Rpb25BY2sQ3AQaBJC1GAESIgoXTWVzc2FnZVR5cGVfRW9zU2lnbmVkVHgQ3QQaBJi1GAESNgorTWVzc2FnZVR5cGVfV2ViQXV0aG5MaXN0UmVzaWRlbnRDcmVkZW50aWFscxCgBhoEkLUYARIqCh9NZXNzYWdlVHlwZV9XZWJBdXRobkNyZWRlbnRpYWxzEKEGGgSYtRgBEjQKKU1lc3NhZ2VUeXBlX1dlYkF1dGhuQWRkUmVzaWRlbnRDcmVkZW50aWFsEKIGGgSQtRgBEjcKLE1lc3NhZ2VUeXBlX1dlYkF1dGhuUmVtb3ZlUmVzaWRlbnRDcmVkZW50aWFsEKMGGgSQtRgBEi0KIk1lc3NhZ2VUeXBlX1dlYkF1dGhuQ3JlZGVudGlhbHNBY2sQpAYaBJC1GAESKQoeTWVzc2FnZVR5cGVfU29sYW5hR2V0UHVibGljS2V5EIQHGgSQtRgBEiYKG01lc3NhZ2VUeXBlX1NvbGFuYVB1YmxpY0tleRCFBxoEmLUYARInChxNZXNzYWdlVHlwZV9Tb2xhbmFHZXRBZGRyZXNzEIYHGgSQtRgBEiQKGU1lc3NhZ2VUeXBlX1NvbGFuYUFkZHJlc3MQhwcaBJi1GAESIwoYTWVzc2FnZVR5cGVfU29sYW5hU2lnblR4EIgHGgSQtRgBEigKHU1lc3NhZ2VUeXBlX1NvbGFuYVR4U2lnbmF0dXJlEIkHGgSYtRgBEi4KH01lc3NhZ2VUeXBlX1RocENyZWF0ZU5ld1Nlc3Npb24Q6AcaCJC1GAGAph0BEi8KIE1lc3NhZ2VUeXBlX1RocENyZWRlbnRpYWxSZXF1ZXN0EPgHGgiQtRgBgKYdARIwCiFNZXNzYWdlVHlwZV9UaHBDcmVkZW50aWFsUmVzcG9uc2UQ+QcaCJi1GAGAph0BEiUKGk1lc3NhZ2VUeXBlX05vc3RyR2V0UHVia2V5ENEPGgSQtRgBEiIKF01lc3NhZ2VUeXBlX05vc3RyUHVia2V5ENIPGgSYtRgBEiUKGk1lc3NhZ2VUeXBlX05vc3RyU2lnbkV2ZW50ENMPGgSQtRgBEioKH01lc3NhZ2VUeXBlX05vc3RyRXZlbnRTaWduYXR1cmUQ1A8aBJi1GAESJwoYTWVzc2FnZVR5cGVfRXZvbHVHZXROb2RlELQQGgiQtRgBgKYdARIkChVNZXNzYWdlVHlwZV9Fdm9sdU5vZGUQtRAaCJi1GAGAph0BEjcKKE1lc3NhZ2VUeXBlX0V2b2x1U2lnblJlZ2lzdHJhdGlvblJlcXVlc3QQthAaCJC1GAGAph0BEjMKJE1lc3NhZ2VUeXBlX0V2b2x1UmVnaXN0cmF0aW9uUmVxdWVzdBC3EBoImLUYAYCmHQESNwooTWVzc2FnZVR5cGVfRXZvbHVHZXREZWxlZ2F0ZWRJZGVudGl0eUtleRC4EBoIkLUYAYCmHQESNAolTWVzc2FnZVR5cGVfRXZvbHVEZWxlZ2F0ZWRJZGVudGl0eUtleRC5EBoImLUYAYCmHQESLwogTWVzc2FnZVR5cGVfRXZvbHVJbmRleE1hbmFnZW1lbnQQuhAaCJC1GAGAph0BEjcKKE1lc3NhZ2VUeXBlX0V2b2x1SW5kZXhNYW5hZ2VtZW50UmVzcG9uc2UQuxAaCJi1GAGAph0BEiUKGk1lc3NhZ2VUeXBlX1Ryb25HZXRBZGRyZXNzEJgRGgSQtRgBEiIKF01lc3NhZ2VUeXBlX1Ryb25BZGRyZXNzEJkRGgSYtRgBEiEKFk1lc3NhZ2VUeXBlX1Ryb25TaWduVHgQmhEaBJC1GAESJAoZTWVzc2FnZVR5cGVfVHJvblNpZ25hdHVyZRCbERoEmLUYARIqCh9NZXNzYWdlVHlwZV9Ucm9uQ29udHJhY3RSZXF1ZXN0EJwRGgSYtRgBEisKIE1lc3NhZ2VUeXBlX1Ryb25UcmFuc2ZlckNvbnRyYWN0EJ0RGgSQtRgBEi8KJE1lc3NhZ2VUeXBlX1Ryb25UcmlnZ2VyU21hcnRDb250cmFjdBCeERoEkLUYARIyCidNZXNzYWdlVHlwZV9Ucm9uRnJlZXplQmFsYW5jZVYyQ29udHJhY3QQnxEaBJC1GAESNAopTWVzc2FnZVR5cGVfVHJvblVuZnJlZXplQmFsYW5jZVYyQ29udHJhY3QQoBEaBJC1GAESKwogTWVzc2FnZVR5cGVfVHJvbldpdGhkcmF3VW5mcmVlemUQoREaBJC1GAESLgojTWVzc2FnZVR5cGVfVHJvblZvdGVXaXRuZXNzQ29udHJhY3QQohEaBJC1GAESKQoeTWVzc2FnZVR5cGVfQmVuY2htYXJrTGlzdE5hbWVzEIxHGgSAph0BEiUKGk1lc3NhZ2VUeXBlX0JlbmNobWFya05hbWVzEI1HGgSAph0BEiMKGE1lc3NhZ2VUeXBlX0JlbmNobWFya1J1bhCORxoEgKYdARImChtNZXNzYWdlVHlwZV9CZW5jaG1hcmtSZXN1bHQQj0caBICmHQESJwoYTWVzc2FnZVR5cGVfVGVsZW1ldHJ5R2V0EMwIGgiQtRgBgKYdARIkChVNZXNzYWdlVHlwZV9UZWxlbWV0cnkQzQgaCJi1GAGAph0BGgjI8xgB0PMYASIECFoQXCIECEcQSiIECHIQeiIFCHsQlQEiBgjbARDbASIGCOABEOABIgYIrAIQsAIiBgi1AhC4AiIGCLwFEMUFIgYI6QcQ9wciBgj6BxDLCEI4CiNjb20uc2F0b3NoaWxhYnMudHJlem9yLmxpYi5wcm90b2J1ZkINVHJlem9yTWVzc2FnZYCmHQE",
7853
+ "Cg5tZXNzYWdlcy5wcm90bxISaHcudHJlem9yLm1lc3NhZ2VzKqZmCgtNZXNzYWdlVHlwZRIoChZNZXNzYWdlVHlwZV9Jbml0aWFsaXplEAAaDJC1GAGwtRgBgKYdARIeChBNZXNzYWdlVHlwZV9QaW5nEAEaCJC1GAGAph0BEiUKE01lc3NhZ2VUeXBlX1N1Y2Nlc3MQAhoMmLUYAai1GAGAph0BEiUKE01lc3NhZ2VUeXBlX0ZhaWx1cmUQAxoMmLUYAai1GAGAph0BEiMKFU1lc3NhZ2VUeXBlX0NoYW5nZVBpbhAEGgiQtRgBgKYdARIkChZNZXNzYWdlVHlwZV9XaXBlRGV2aWNlEAUaCJC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0dldEVudHJvcHkQCRoIkLUYAYCmHQESIQoTTWVzc2FnZVR5cGVfRW50cm9weRAKGgiYtRgBgKYdARIkChZNZXNzYWdlVHlwZV9Mb2FkRGV2aWNlEA0aCJC1GAGAph0BEiUKF01lc3NhZ2VUeXBlX1Jlc2V0RGV2aWNlEA4aCJC1GAGAph0BEiEKE01lc3NhZ2VUeXBlX1NldEJ1c3kQEBoIkLUYAYCmHQESIgoUTWVzc2FnZVR5cGVfRmVhdHVyZXMQERoImLUYAYCmHQESKgocTWVzc2FnZVR5cGVfUGluTWF0cml4UmVxdWVzdBASGgiYtRgBgKYdARIuChhNZXNzYWdlVHlwZV9QaW5NYXRyaXhBY2sQExoQkLUYAbC1GAHAtRgBgKYdARIkChJNZXNzYWdlVHlwZV9DYW5jZWwQFBoMkLUYAbC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0xvY2tEZXZpY2UQGBoIkLUYAYCmHQESJwoZTWVzc2FnZVR5cGVfQXBwbHlTZXR0aW5ncxAZGgiQtRgBgKYdARInChlNZXNzYWdlVHlwZV9CdXR0b25SZXF1ZXN0EBoaCJi1GAGAph0BEisKFU1lc3NhZ2VUeXBlX0J1dHRvbkFjaxAbGhCQtRgBsLUYAcC1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0FwcGx5RmxhZ3MQHBoIkLUYAYCmHQESIgoUTWVzc2FnZVR5cGVfR2V0Tm9uY2UQHxoIkLUYAYCmHQESHwoRTWVzc2FnZVR5cGVfTm9uY2UQIRoImLUYAYCmHQESJgoYTWVzc2FnZVR5cGVfQmFja3VwRGV2aWNlECIaCJC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0VudHJvcHlSZXF1ZXN0ECMaCJi1GAGAph0BEiQKFk1lc3NhZ2VUeXBlX0VudHJvcHlBY2sQJBoIkLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfUGF5bWVudFJlcXVlc3QQJRoIkLUYAYCmHQESLAodTWVzc2FnZVR5cGVfRW50cm9weUNoZWNrUmVhZHkQ4gcaCJi1GAGAph0BEi8KIE1lc3NhZ2VUeXBlX0VudHJvcHlDaGVja0NvbnRpbnVlEOMHGgiQtRgBgKYdARIrCh1NZXNzYWdlVHlwZV9QYXNzcGhyYXNlUmVxdWVzdBApGgiYtRgBgKYdARIvChlNZXNzYWdlVHlwZV9QYXNzcGhyYXNlQWNrECoaEJC1GAGwtRgBwLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfUmVjb3ZlcnlEZXZpY2UQLRoIkLUYAYCmHQESJQoXTWVzc2FnZVR5cGVfV29yZFJlcXVlc3QQLhoImLUYAYCmHQESIQoTTWVzc2FnZVR5cGVfV29yZEFjaxAvGgiQtRgBgKYdARIlChdNZXNzYWdlVHlwZV9HZXRGZWF0dXJlcxA3GgiQtRgBgKYdARIjChVNZXNzYWdlVHlwZV9TZFByb3RlY3QQTxoIkLUYAYCmHQESKAoaTWVzc2FnZVR5cGVfQ2hhbmdlV2lwZUNvZGUQUhoIkLUYAYCmHQESJAoWTWVzc2FnZVR5cGVfRW5kU2Vzc2lvbhBTGgiQtRgBgKYdARIpChtNZXNzYWdlVHlwZV9Eb1ByZWF1dGhvcml6ZWQQVBoIkLUYAYCmHQESLgogTWVzc2FnZVR5cGVfUHJlYXV0aG9yaXplZFJlcXVlc3QQVRoImLUYAYCmHQESLQofTWVzc2FnZVR5cGVfQ2FuY2VsQXV0aG9yaXphdGlvbhBWGgiQtRgBgKYdARIsCh5NZXNzYWdlVHlwZV9SZWJvb3RUb0Jvb3Rsb2FkZXIQVxoIkLUYAYCmHQESKQobTWVzc2FnZVR5cGVfR2V0RmlybXdhcmVIYXNoEFgaCJC1GAGAph0BEiYKGE1lc3NhZ2VUeXBlX0Zpcm13YXJlSGFzaBBZGgiYtRgBgKYdARIkChZNZXNzYWdlVHlwZV9VbmxvY2tQYXRoEF0aCJC1GAGAph0BEi0KH01lc3NhZ2VUeXBlX1VubG9ja2VkUGF0aFJlcXVlc3QQXhoImLUYAYCmHQESLAoeTWVzc2FnZVR5cGVfU2hvd0RldmljZVR1dG9yaWFsEF8aCJC1GAGAph0BEioKHE1lc3NhZ2VUeXBlX1VubG9ja0Jvb3Rsb2FkZXIQYBoIkLUYAYCmHQESLAoeTWVzc2FnZVR5cGVfQXV0aGVudGljYXRlRGV2aWNlEGEaCJC1GAGAph0BEisKHU1lc3NhZ2VUeXBlX0F1dGhlbnRpY2l0eVByb29mEGIaCJi1GAGAph0BEjAKIk1lc3NhZ2VUeXBlX0F1dGhlbnRpY2l0eVByb29mU2l6ZXMQYxoImLUYAYCmHQESKQoaTWVzc2FnZVR5cGVfQ2hhbmdlTGFuZ3VhZ2UQ3gcaCJC1GAGAph0BEisKHE1lc3NhZ2VUeXBlX0RhdGFDaHVua1JlcXVlc3QQ3wcaCJi1GAGAph0BEicKGE1lc3NhZ2VUeXBlX0RhdGFDaHVua0FjaxDgBxoIkLUYAYCmHQESKAoZTWVzc2FnZVR5cGVfU2V0QnJpZ2h0bmVzcxDhBxoIkLUYAYCmHQESKgobTWVzc2FnZVR5cGVfR2V0U2VyaWFsTnVtYmVyEOQHGgiQtRgBgKYdARInChhNZXNzYWdlVHlwZV9TZXJpYWxOdW1iZXIQ5QcaCJi1GAGAph0BEjQKJU1lc3NhZ2VUeXBlX0dldEF1dGhlbnRpY2l0eVByb29mQ2h1bmsQ5gcaCJC1GAGAph0BEjEKIk1lc3NhZ2VUeXBlX0F1dGhlbnRpY2l0eVByb29mQ2h1bmsQ5wcaCJi1GAGAph0BEiMKGU1lc3NhZ2VUeXBlX1NldFUyRkNvdW50ZXIQPxoEkLUYARInCh1NZXNzYWdlVHlwZV9HZXROZXh0VTJGQ291bnRlchBQGgSQtRgBEiQKGk1lc3NhZ2VUeXBlX05leHRVMkZDb3VudGVyEFEaBJi1GAESKwoZTWVzc2FnZVR5cGVfRmlybXdhcmVFcmFzZRAGGgyQtRgBuLUYAYCmHQESLAoaTWVzc2FnZVR5cGVfRmlybXdhcmVVcGxvYWQQBxoMkLUYAbi1GAGAph0BEi0KG01lc3NhZ2VUeXBlX0Zpcm13YXJlUmVxdWVzdBAIGgyYtRgBuLUYAYCmHQESKAoWTWVzc2FnZVR5cGVfUHJvZFRlc3RUMRAgGgyQtRgBuLUYAYCmHQESJAoVTWVzc2FnZVR5cGVfQmxlVW5wYWlyEME+GgiQtRgBgKYdARImChhNZXNzYWdlVHlwZV9HZXRQdWJsaWNLZXkQCxoIkLUYAYCmHQESIwoVTWVzc2FnZVR5cGVfUHVibGljS2V5EAwaCJi1GAGAph0BEiAKEk1lc3NhZ2VUeXBlX1NpZ25UeBAPGgiQtRgBgKYdARIjChVNZXNzYWdlVHlwZV9UeFJlcXVlc3QQFRoImLUYAYCmHQESHwoRTWVzc2FnZVR5cGVfVHhBY2sQFhoIkLUYAYCmHQESJAoWTWVzc2FnZVR5cGVfR2V0QWRkcmVzcxAdGgiQtRgBgKYdARIhChNNZXNzYWdlVHlwZV9BZGRyZXNzEB4aCJi1GAGAph0BEiUKF01lc3NhZ2VUeXBlX1NpZ25NZXNzYWdlECYaCJC1GAGAph0BEicKGU1lc3NhZ2VUeXBlX1ZlcmlmeU1lc3NhZ2UQJxoIkLUYAYCmHQESKgocTWVzc2FnZVR5cGVfTWVzc2FnZVNpZ25hdHVyZRAoGgiYtRgBgKYdARIoChpNZXNzYWdlVHlwZV9HZXRPd25lcnNoaXBJZBArGgiQtRgBgKYdARIlChdNZXNzYWdlVHlwZV9Pd25lcnNoaXBJZBAsGgiYtRgBgKYdARIrCh1NZXNzYWdlVHlwZV9HZXRPd25lcnNoaXBQcm9vZhAxGgiQtRgBgKYdARIoChpNZXNzYWdlVHlwZV9Pd25lcnNoaXBQcm9vZhAyGgiYtRgBgKYdARIrCh1NZXNzYWdlVHlwZV9BdXRob3JpemVDb2luSm9pbhAzGgiQtRgBgKYdARIoChpNZXNzYWdlVHlwZV9DaXBoZXJLZXlWYWx1ZRAXGgiQtRgBgKYdARIqChxNZXNzYWdlVHlwZV9DaXBoZXJlZEtleVZhbHVlEDAaCJi1GAGAph0BEiYKGE1lc3NhZ2VUeXBlX1NpZ25JZGVudGl0eRA1GgiQtRgBgKYdARIoChpNZXNzYWdlVHlwZV9TaWduZWRJZGVudGl0eRA2GgiYtRgBgKYdARIrCh1NZXNzYWdlVHlwZV9HZXRFQ0RIU2Vzc2lvbktleRA9GgiQtRgBgKYdARIoChpNZXNzYWdlVHlwZV9FQ0RIU2Vzc2lvbktleRA+GgiYtRgBgKYdARItCh9NZXNzYWdlVHlwZV9QYXltZW50Tm90aWZpY2F0aW9uEDQaCJC1GAGAph0BEjMKHU1lc3NhZ2VUeXBlX0RlYnVnTGlua0RlY2lzaW9uEGQaEKC1GAGwtRgBwLUYAYCmHQESLwodTWVzc2FnZVR5cGVfRGVidWdMaW5rR2V0U3RhdGUQZRoMoLUYAbC1GAGAph0BEigKGk1lc3NhZ2VUeXBlX0RlYnVnTGlua1N0YXRlEGYaCKi1GAGAph0BEicKGU1lc3NhZ2VUeXBlX0RlYnVnTGlua1N0b3AQZxoIoLUYAYCmHQESJgoYTWVzc2FnZVR5cGVfRGVidWdMaW5rTG9nEGgaCKi1GAGAph0BEi0KH01lc3NhZ2VUeXBlX0RlYnVnTGlua01lbW9yeVJlYWQQbhoIoLUYAYCmHQESKQobTWVzc2FnZVR5cGVfRGVidWdMaW5rTWVtb3J5EG8aCKi1GAGAph0BEi4KIE1lc3NhZ2VUeXBlX0RlYnVnTGlua01lbW9yeVdyaXRlEHAaCKC1GAGAph0BEi0KH01lc3NhZ2VUeXBlX0RlYnVnTGlua0ZsYXNoRXJhc2UQcRoIoLUYAYCmHQESKgobTWVzc2FnZVR5cGVfRGVidWdMaW5rTGF5b3V0EKlGGgiotRgBgKYdARIwCiFNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtSZXNlZWRSYW5kb20QqkYaCKC1GAGAph0BEjAKIU1lc3NhZ2VUeXBlX0RlYnVnTGlua1JlY29yZFNjcmVlbhCrRhoIoLUYAYCmHQESLwogTWVzc2FnZVR5cGVfRGVidWdMaW5rRXJhc2VTZENhcmQQrUYaCKC1GAGAph0BEi8KIE1lc3NhZ2VUeXBlX0RlYnVnTGlua1dhdGNoTGF5b3V0EK5GGgigtRgBgKYdARI0CiVNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtSZXNldERlYnVnRXZlbnRzEK9GGgigtRgBgKYdARIzCiRNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtPcHRpZ2FTZXRTZWNNYXgQsEYaCKC1GAGAph0BEi0KHk1lc3NhZ2VUeXBlX0RlYnVnTGlua0dldEdjSW5mbxCxRhoIoLUYAYCmHQESKgobTWVzc2FnZVR5cGVfRGVidWdMaW5rR2NJbmZvELJGGgiotRgBgKYdARIyCiNNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtHZXRQYWlyaW5nSW5mbxCzRhoIoLUYAYCmHQESLwogTWVzc2FnZVR5cGVfRGVidWdMaW5rUGFpcmluZ0luZm8QtEYaCKi1GAGAph0BEjAKIU1lc3NhZ2VUeXBlX0RlYnVnTGlua1NldExvZ0ZpbHRlchC1RhoIoLUYAYCmHQESMQoiTWVzc2FnZVR5cGVfRGVidWdMaW5rTjRXMUNvbm5lY3RlZBC2RhoIoLUYAYCmHQESLQoeTWVzc2FnZVR5cGVfRGVidWdMaW5rTjRXMVdyaXRlELdGGgiotRgBgKYdARIsCh1NZXNzYWdlVHlwZV9EZWJ1Z0xpbmtONFcxUmVhZBC4RhoIqLUYAYCmHQESMAohTWVzc2FnZVR5cGVfRGVidWdMaW5rTjRXMVJlc3BvbnNlELlGGgigtRgBgKYdARIzCiRNZXNzYWdlVHlwZV9EZWJ1Z0xpbmtTZXRCYXR0ZXJ5U3RhdGUQukYaCKC1GAGAph0BEisKIE1lc3NhZ2VUeXBlX0V0aGVyZXVtR2V0UHVibGljS2V5EMIDGgSQtRgBEigKHU1lc3NhZ2VUeXBlX0V0aGVyZXVtUHVibGljS2V5EMMDGgSYtRgBEigKHk1lc3NhZ2VUeXBlX0V0aGVyZXVtR2V0QWRkcmVzcxA4GgSQtRgBEiUKG01lc3NhZ2VUeXBlX0V0aGVyZXVtQWRkcmVzcxA5GgSYtRgBEiQKGk1lc3NhZ2VUeXBlX0V0aGVyZXVtU2lnblR4EDoaBJC1GAESLAohTWVzc2FnZVR5cGVfRXRoZXJldW1TaWduVHhFSVAxNTU5EMQDGgSQtRgBEicKHU1lc3NhZ2VUeXBlX0V0aGVyZXVtVHhSZXF1ZXN0EDsaBJi1GAESIwoZTWVzc2FnZVR5cGVfRXRoZXJldW1UeEFjaxA8GgSQtRgBEikKH01lc3NhZ2VUeXBlX0V0aGVyZXVtU2lnbk1lc3NhZ2UQQBoEkLUYARIrCiFNZXNzYWdlVHlwZV9FdGhlcmV1bVZlcmlmeU1lc3NhZ2UQQRoEkLUYARIuCiRNZXNzYWdlVHlwZV9FdGhlcmV1bU1lc3NhZ2VTaWduYXR1cmUQQhoEmLUYARIsCiFNZXNzYWdlVHlwZV9FdGhlcmV1bVNpZ25UeXBlZERhdGEQ0AMaBJC1GAESNQoqTWVzc2FnZVR5cGVfRXRoZXJldW1UeXBlZERhdGFTdHJ1Y3RSZXF1ZXN0ENEDGgSYtRgBEjEKJk1lc3NhZ2VUeXBlX0V0aGVyZXVtVHlwZWREYXRhU3RydWN0QWNrENIDGgSQtRgBEjQKKU1lc3NhZ2VUeXBlX0V0aGVyZXVtVHlwZWREYXRhVmFsdWVSZXF1ZXN0ENMDGgSYtRgBEjAKJU1lc3NhZ2VUeXBlX0V0aGVyZXVtVHlwZWREYXRhVmFsdWVBY2sQ1AMaBJC1GAESMQomTWVzc2FnZVR5cGVfRXRoZXJldW1UeXBlZERhdGFTaWduYXR1cmUQ1QMaBJi1GAESLAohTWVzc2FnZVR5cGVfRXRoZXJldW1TaWduVHlwZWRIYXNoENYDGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX0V0aGVyZXVtRGVmaW5pdGlvblJlcXVlc3QQ1wMaBJi1GAESLAohTWVzc2FnZVR5cGVfRXRoZXJldW1EZWZpbml0aW9uQWNrENgDGgSQtRgBEiMKGU1lc3NhZ2VUeXBlX05FTUdldEFkZHJlc3MQQxoEkLUYARIgChZNZXNzYWdlVHlwZV9ORU1BZGRyZXNzEEQaBJi1GAESHwoVTWVzc2FnZVR5cGVfTkVNU2lnblR4EEUaBJC1GAESIQoXTWVzc2FnZVR5cGVfTkVNU2lnbmVkVHgQRhoEmLUYARInCh1NZXNzYWdlVHlwZV9ORU1EZWNyeXB0TWVzc2FnZRBLGgSQtRgBEikKH01lc3NhZ2VUeXBlX05FTURlY3J5cHRlZE1lc3NhZ2UQTBoEmLUYARImChtNZXNzYWdlVHlwZV9UZXpvc0dldEFkZHJlc3MQlgEaBJC1GAESIwoYTWVzc2FnZVR5cGVfVGV6b3NBZGRyZXNzEJcBGgSYtRgBEiIKF01lc3NhZ2VUeXBlX1Rlem9zU2lnblR4EJgBGgSQtRgBEiQKGU1lc3NhZ2VUeXBlX1Rlem9zU2lnbmVkVHgQmQEaBJi1GAESKAodTWVzc2FnZVR5cGVfVGV6b3NHZXRQdWJsaWNLZXkQmgEaBJC1GAESJQoaTWVzc2FnZVR5cGVfVGV6b3NQdWJsaWNLZXkQmwEaBJi1GAESJAoZTWVzc2FnZVR5cGVfU3RlbGxhclNpZ25UeBDKARoEkLUYARIpCh5NZXNzYWdlVHlwZV9TdGVsbGFyVHhPcFJlcXVlc3QQywEaBJi1GAESKAodTWVzc2FnZVR5cGVfU3RlbGxhckdldEFkZHJlc3MQzwEaBJC1GAESJQoaTWVzc2FnZVR5cGVfU3RlbGxhckFkZHJlc3MQ0AEaBJi1GAESLQoiTWVzc2FnZVR5cGVfU3RlbGxhckNyZWF0ZUFjY291bnRPcBDSARoEkLUYARInChxNZXNzYWdlVHlwZV9TdGVsbGFyUGF5bWVudE9wENMBGgSQtRgBEjgKLU1lc3NhZ2VUeXBlX1N0ZWxsYXJQYXRoUGF5bWVudFN0cmljdFJlY2VpdmVPcBDUARoEkLUYARIvCiRNZXNzYWdlVHlwZV9TdGVsbGFyTWFuYWdlU2VsbE9mZmVyT3AQ1QEaBJC1GAESNgorTWVzc2FnZVR5cGVfU3RlbGxhckNyZWF0ZVBhc3NpdmVTZWxsT2ZmZXJPcBDWARoEkLUYARIqCh9NZXNzYWdlVHlwZV9TdGVsbGFyU2V0T3B0aW9uc09wENcBGgSQtRgBEisKIE1lc3NhZ2VUeXBlX1N0ZWxsYXJDaGFuZ2VUcnVzdE9wENgBGgSQtRgBEioKH01lc3NhZ2VUeXBlX1N0ZWxsYXJBbGxvd1RydXN0T3AQ2QEaBJC1GAESLAohTWVzc2FnZVR5cGVfU3RlbGxhckFjY291bnRNZXJnZU9wENoBGgSQtRgBEioKH01lc3NhZ2VUeXBlX1N0ZWxsYXJNYW5hZ2VEYXRhT3AQ3AEaBJC1GAESLAohTWVzc2FnZVR5cGVfU3RlbGxhckJ1bXBTZXF1ZW5jZU9wEN0BGgSQtRgBEi4KI01lc3NhZ2VUeXBlX1N0ZWxsYXJNYW5hZ2VCdXlPZmZlck9wEN4BGgSQtRgBEjUKKk1lc3NhZ2VUeXBlX1N0ZWxsYXJQYXRoUGF5bWVudFN0cmljdFNlbmRPcBDfARoEkLUYARI1CipNZXNzYWdlVHlwZV9TdGVsbGFyQ2xhaW1DbGFpbWFibGVCYWxhbmNlT3AQ4QEaBJC1GAESJgobTWVzc2FnZVR5cGVfU3RlbGxhclNpZ25lZFR4EOYBGgSYtRgBEioKH01lc3NhZ2VUeXBlX0NhcmRhbm9HZXRQdWJsaWNLZXkQsQIaBJC1GAESJwocTWVzc2FnZVR5cGVfQ2FyZGFub1B1YmxpY0tleRCyAhoEmLUYARIoCh1NZXNzYWdlVHlwZV9DYXJkYW5vR2V0QWRkcmVzcxCzAhoEkLUYARIlChpNZXNzYWdlVHlwZV9DYXJkYW5vQWRkcmVzcxC0AhoEmLUYARInChxNZXNzYWdlVHlwZV9DYXJkYW5vVHhJdGVtQWNrELkCGgSYtRgBEjcKLE1lc3NhZ2VUeXBlX0NhcmRhbm9UeEF1eGlsaWFyeURhdGFTdXBwbGVtZW50ELoCGgSYtRgBEi4KI01lc3NhZ2VUeXBlX0NhcmRhbm9UeFdpdG5lc3NSZXF1ZXN0ELsCGgSQtRgBEi8KJE1lc3NhZ2VUeXBlX0NhcmRhbm9UeFdpdG5lc3NSZXNwb25zZRC8AhoEmLUYARInChxNZXNzYWdlVHlwZV9DYXJkYW5vVHhIb3N0QWNrEL0CGgSQtRgBEigKHU1lc3NhZ2VUeXBlX0NhcmRhbm9UeEJvZHlIYXNoEL4CGgSYtRgBEiwKIU1lc3NhZ2VUeXBlX0NhcmRhbm9TaWduVHhGaW5pc2hlZBC/AhoEmLUYARIoCh1NZXNzYWdlVHlwZV9DYXJkYW5vU2lnblR4SW5pdBDAAhoEkLUYARIlChpNZXNzYWdlVHlwZV9DYXJkYW5vVHhJbnB1dBDBAhoEkLUYARImChtNZXNzYWdlVHlwZV9DYXJkYW5vVHhPdXRwdXQQwgIaBJC1GAESKAodTWVzc2FnZVR5cGVfQ2FyZGFub0Fzc2V0R3JvdXAQwwIaBJC1GAESIwoYTWVzc2FnZVR5cGVfQ2FyZGFub1Rva2VuEMQCGgSQtRgBEisKIE1lc3NhZ2VUeXBlX0NhcmRhbm9UeENlcnRpZmljYXRlEMUCGgSQtRgBEioKH01lc3NhZ2VUeXBlX0NhcmRhbm9UeFdpdGhkcmF3YWwQxgIaBJC1GAESLQoiTWVzc2FnZVR5cGVfQ2FyZGFub1R4QXV4aWxpYXJ5RGF0YRDHAhoEkLUYARInChxNZXNzYWdlVHlwZV9DYXJkYW5vUG9vbE93bmVyEMgCGgSQtRgBEjEKJk1lc3NhZ2VUeXBlX0NhcmRhbm9Qb29sUmVsYXlQYXJhbWV0ZXJzEMkCGgSQtRgBEjEKJk1lc3NhZ2VUeXBlX0NhcmRhbm9HZXROYXRpdmVTY3JpcHRIYXNoEMoCGgSQtRgBEi4KI01lc3NhZ2VUeXBlX0NhcmRhbm9OYXRpdmVTY3JpcHRIYXNoEMsCGgSYtRgBEiQKGU1lc3NhZ2VUeXBlX0NhcmRhbm9UeE1pbnQQzAIaBJC1GAESLwokTWVzc2FnZVR5cGVfQ2FyZGFub1R4Q29sbGF0ZXJhbElucHV0EM0CGgSQtRgBEi4KI01lc3NhZ2VUeXBlX0NhcmRhbm9UeFJlcXVpcmVkU2lnbmVyEM4CGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX0NhcmRhbm9UeElubGluZURhdHVtQ2h1bmsQzwIaBJC1GAESNAopTWVzc2FnZVR5cGVfQ2FyZGFub1R4UmVmZXJlbmNlU2NyaXB0Q2h1bmsQ0AIaBJC1GAESLgojTWVzc2FnZVR5cGVfQ2FyZGFub1R4UmVmZXJlbmNlSW5wdXQQ0QIaBJC1GAESLQoiTWVzc2FnZVR5cGVfQ2FyZGFub1NpZ25NZXNzYWdlSW5pdBDSAhoEkLUYARIwCiVNZXNzYWdlVHlwZV9DYXJkYW5vTWVzc2FnZURhdGFSZXF1ZXN0ENMCGgSYtRgBEjEKJk1lc3NhZ2VUeXBlX0NhcmRhbm9NZXNzYWdlRGF0YVJlc3BvbnNlENQCGgSQtRgBEi4KI01lc3NhZ2VUeXBlX0NhcmRhbm9NZXNzYWdlU2lnbmF0dXJlENUCGgSYtRgBEicKHE1lc3NhZ2VUeXBlX1JpcHBsZUdldEFkZHJlc3MQkAMaBJC1GAESJAoZTWVzc2FnZVR5cGVfUmlwcGxlQWRkcmVzcxCRAxoEmLUYARIjChhNZXNzYWdlVHlwZV9SaXBwbGVTaWduVHgQkgMaBJC1GAESJQoaTWVzc2FnZVR5cGVfUmlwcGxlU2lnbmVkVHgQkwMaBJi1GAESMwooTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25Jbml0UmVxdWVzdBD1AxoEkLUYARIvCiRNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbkluaXRBY2sQ9gMaBJi1GAESNwosTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25TZXRJbnB1dFJlcXVlc3QQ9wMaBJC1GAESMwooTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25TZXRJbnB1dEFjaxD4AxoEmLUYARI4Ci1NZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbklucHV0VmluaVJlcXVlc3QQ+wMaBJC1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25JbnB1dFZpbmlBY2sQ/AMaBJi1GAESOwowTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25BbGxJbnB1dHNTZXRSZXF1ZXN0EP0DGgSQtRgBEjcKLE1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uQWxsSW5wdXRzU2V0QWNrEP4DGgSYtRgBEjgKLU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uU2V0T3V0cHV0UmVxdWVzdBD/AxoEkLUYARI0CilNZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvblNldE91dHB1dEFjaxCABBoEmLUYARI4Ci1NZXNzYWdlVHlwZV9Nb25lcm9UcmFuc2FjdGlvbkFsbE91dFNldFJlcXVlc3QQgQQaBJC1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25BbGxPdXRTZXRBY2sQggQaBJi1GAESOAotTWVzc2FnZVR5cGVfTW9uZXJvVHJhbnNhY3Rpb25TaWduSW5wdXRSZXF1ZXN0EIMEGgSQtRgBEjQKKU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uU2lnbklucHV0QWNrEIQEGgSYtRgBEjQKKU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uRmluYWxSZXF1ZXN0EIUEGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX01vbmVyb1RyYW5zYWN0aW9uRmluYWxBY2sQhgQaBJi1GAESNgorTWVzc2FnZVR5cGVfTW9uZXJvS2V5SW1hZ2VFeHBvcnRJbml0UmVxdWVzdBCSBBoEkLUYARIyCidNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZUV4cG9ydEluaXRBY2sQkwQaBJi1GAESNAopTWVzc2FnZVR5cGVfTW9uZXJvS2V5SW1hZ2VTeW5jU3RlcFJlcXVlc3QQlAQaBJC1GAESMAolTWVzc2FnZVR5cGVfTW9uZXJvS2V5SW1hZ2VTeW5jU3RlcEFjaxCVBBoEmLUYARI1CipNZXNzYWdlVHlwZV9Nb25lcm9LZXlJbWFnZVN5bmNGaW5hbFJlcXVlc3QQlgQaBJC1GAESMQomTWVzc2FnZVR5cGVfTW9uZXJvS2V5SW1hZ2VTeW5jRmluYWxBY2sQlwQaBJi1GAESJwocTWVzc2FnZVR5cGVfTW9uZXJvR2V0QWRkcmVzcxCcBBoEkLUYARIkChlNZXNzYWdlVHlwZV9Nb25lcm9BZGRyZXNzEJ0EGgSYtRgBEigKHU1lc3NhZ2VUeXBlX01vbmVyb0dldFdhdGNoS2V5EJ4EGgSQtRgBEiUKGk1lc3NhZ2VUeXBlX01vbmVyb1dhdGNoS2V5EJ8EGgSYtRgBEi0KIk1lc3NhZ2VUeXBlX0RlYnVnTW9uZXJvRGlhZ1JlcXVlc3QQogQaBJC1GAESKQoeTWVzc2FnZVR5cGVfRGVidWdNb25lcm9EaWFnQWNrEKMEGgSYtRgBEiwKIU1lc3NhZ2VUeXBlX01vbmVyb0dldFR4S2V5UmVxdWVzdBCmBBoEkLUYARIoCh1NZXNzYWdlVHlwZV9Nb25lcm9HZXRUeEtleUFjaxCnBBoEmLUYARI0CilNZXNzYWdlVHlwZV9Nb25lcm9MaXZlUmVmcmVzaFN0YXJ0UmVxdWVzdBCoBBoEkLUYARIwCiVNZXNzYWdlVHlwZV9Nb25lcm9MaXZlUmVmcmVzaFN0YXJ0QWNrEKkEGgSYtRgBEjMKKE1lc3NhZ2VUeXBlX01vbmVyb0xpdmVSZWZyZXNoU3RlcFJlcXVlc3QQqgQaBJC1GAESLwokTWVzc2FnZVR5cGVfTW9uZXJvTGl2ZVJlZnJlc2hTdGVwQWNrEKsEGgSYtRgBEjQKKU1lc3NhZ2VUeXBlX01vbmVyb0xpdmVSZWZyZXNoRmluYWxSZXF1ZXN0EKwEGgSQtRgBEjAKJU1lc3NhZ2VUeXBlX01vbmVyb0xpdmVSZWZyZXNoRmluYWxBY2sQrQQaBJi1GAESJgobTWVzc2FnZVR5cGVfRW9zR2V0UHVibGljS2V5ENgEGgSQtRgBEiMKGE1lc3NhZ2VUeXBlX0Vvc1B1YmxpY0tleRDZBBoEmLUYARIgChVNZXNzYWdlVHlwZV9Fb3NTaWduVHgQ2gQaBJC1GAESKQoeTWVzc2FnZVR5cGVfRW9zVHhBY3Rpb25SZXF1ZXN0ENsEGgSYtRgBEiUKGk1lc3NhZ2VUeXBlX0Vvc1R4QWN0aW9uQWNrENwEGgSQtRgBEiIKF01lc3NhZ2VUeXBlX0Vvc1NpZ25lZFR4EN0EGgSYtRgBEjYKK01lc3NhZ2VUeXBlX1dlYkF1dGhuTGlzdFJlc2lkZW50Q3JlZGVudGlhbHMQoAYaBJC1GAESKgofTWVzc2FnZVR5cGVfV2ViQXV0aG5DcmVkZW50aWFscxChBhoEmLUYARI0CilNZXNzYWdlVHlwZV9XZWJBdXRobkFkZFJlc2lkZW50Q3JlZGVudGlhbBCiBhoEkLUYARI3CixNZXNzYWdlVHlwZV9XZWJBdXRoblJlbW92ZVJlc2lkZW50Q3JlZGVudGlhbBCjBhoEkLUYARItCiJNZXNzYWdlVHlwZV9XZWJBdXRobkNyZWRlbnRpYWxzQWNrEKQGGgSQtRgBEikKHk1lc3NhZ2VUeXBlX1NvbGFuYUdldFB1YmxpY0tleRCEBxoEkLUYARImChtNZXNzYWdlVHlwZV9Tb2xhbmFQdWJsaWNLZXkQhQcaBJi1GAESJwocTWVzc2FnZVR5cGVfU29sYW5hR2V0QWRkcmVzcxCGBxoEkLUYARIkChlNZXNzYWdlVHlwZV9Tb2xhbmFBZGRyZXNzEIcHGgSYtRgBEiMKGE1lc3NhZ2VUeXBlX1NvbGFuYVNpZ25UeBCIBxoEkLUYARIoCh1NZXNzYWdlVHlwZV9Tb2xhbmFUeFNpZ25hdHVyZRCJBxoEmLUYARIoCh1NZXNzYWdlVHlwZV9Tb2xhbmFTaWduTWVzc2FnZRCKBxoEkLUYARItCiJNZXNzYWdlVHlwZV9Tb2xhbmFNZXNzYWdlU2lnbmF0dXJlEIsHGgSYtRgBEioKH01lc3NhZ2VUeXBlX1NvbGFuYVZlcmlmeU1lc3NhZ2UQjAcaBJC1GAESLgofTWVzc2FnZVR5cGVfVGhwQ3JlYXRlTmV3U2Vzc2lvbhDoBxoIkLUYAYCmHQESLwogTWVzc2FnZVR5cGVfVGhwQ3JlZGVudGlhbFJlcXVlc3QQ+AcaCJC1GAGAph0BEjAKIU1lc3NhZ2VUeXBlX1RocENyZWRlbnRpYWxSZXNwb25zZRD5BxoImLUYAYCmHQESJQoaTWVzc2FnZVR5cGVfTm9zdHJHZXRQdWJrZXkQ0Q8aBJC1GAESIgoXTWVzc2FnZVR5cGVfTm9zdHJQdWJrZXkQ0g8aBJi1GAESJQoaTWVzc2FnZVR5cGVfTm9zdHJTaWduRXZlbnQQ0w8aBJC1GAESKgofTWVzc2FnZVR5cGVfTm9zdHJFdmVudFNpZ25hdHVyZRDUDxoEmLUYARInChhNZXNzYWdlVHlwZV9Fdm9sdUdldE5vZGUQtBAaCJC1GAGAph0BEiQKFU1lc3NhZ2VUeXBlX0V2b2x1Tm9kZRC1EBoImLUYAYCmHQESNwooTWVzc2FnZVR5cGVfRXZvbHVTaWduUmVnaXN0cmF0aW9uUmVxdWVzdBC2EBoIkLUYAYCmHQESMwokTWVzc2FnZVR5cGVfRXZvbHVSZWdpc3RyYXRpb25SZXF1ZXN0ELcQGgiYtRgBgKYdARI3CihNZXNzYWdlVHlwZV9Fdm9sdUdldERlbGVnYXRlZElkZW50aXR5S2V5ELgQGgiQtRgBgKYdARI0CiVNZXNzYWdlVHlwZV9Fdm9sdURlbGVnYXRlZElkZW50aXR5S2V5ELkQGgiYtRgBgKYdARIvCiBNZXNzYWdlVHlwZV9Fdm9sdUluZGV4TWFuYWdlbWVudBC6EBoIkLUYAYCmHQESNwooTWVzc2FnZVR5cGVfRXZvbHVJbmRleE1hbmFnZW1lbnRSZXNwb25zZRC7EBoImLUYAYCmHQESJQoaTWVzc2FnZVR5cGVfVHJvbkdldEFkZHJlc3MQmBEaBJC1GAESIgoXTWVzc2FnZVR5cGVfVHJvbkFkZHJlc3MQmREaBJi1GAESIQoWTWVzc2FnZVR5cGVfVHJvblNpZ25UeBCaERoEkLUYARIkChlNZXNzYWdlVHlwZV9Ucm9uU2lnbmF0dXJlEJsRGgSYtRgBEioKH01lc3NhZ2VUeXBlX1Ryb25Db250cmFjdFJlcXVlc3QQnBEaBJi1GAESKwogTWVzc2FnZVR5cGVfVHJvblRyYW5zZmVyQ29udHJhY3QQnREaBJC1GAESLwokTWVzc2FnZVR5cGVfVHJvblRyaWdnZXJTbWFydENvbnRyYWN0EJ4RGgSQtRgBEjIKJ01lc3NhZ2VUeXBlX1Ryb25GcmVlemVCYWxhbmNlVjJDb250cmFjdBCfERoEkLUYARI0CilNZXNzYWdlVHlwZV9Ucm9uVW5mcmVlemVCYWxhbmNlVjJDb250cmFjdBCgERoEkLUYARIrCiBNZXNzYWdlVHlwZV9Ucm9uV2l0aGRyYXdVbmZyZWV6ZRChERoEkLUYARIuCiNNZXNzYWdlVHlwZV9Ucm9uVm90ZVdpdG5lc3NDb250cmFjdBCiERoEkLUYARIqCh9NZXNzYWdlVHlwZV9Ucm9uV2l0aGRyYXdCYWxhbmNlEKURGgSQtRgBEikKHk1lc3NhZ2VUeXBlX0JlbmNobWFya0xpc3ROYW1lcxCMRxoEgKYdARIlChpNZXNzYWdlVHlwZV9CZW5jaG1hcmtOYW1lcxCNRxoEgKYdARIjChhNZXNzYWdlVHlwZV9CZW5jaG1hcmtSdW4QjkcaBICmHQESJgobTWVzc2FnZVR5cGVfQmVuY2htYXJrUmVzdWx0EI9HGgSAph0BEicKGE1lc3NhZ2VUeXBlX1RlbGVtZXRyeUdldBDMCBoIkLUYAYCmHQESJAoVTWVzc2FnZVR5cGVfVGVsZW1ldHJ5EM0IGgiYtRgBgKYdARoIyPMYAdDzGAEiBAhaEFwiBAhNEE4iBAhHEEoiBAhyEHoiBQh7EJUBIgYI2wEQ2wEiBgjgARDgASIGCKwCELACIgYItQIQuAIiBgi8BRDFBSIGCOkHEPcHIgYI+gcQywhCOAojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCDVRyZXpvck1lc3NhZ2WAph0B",
7663
7854
  [file_options]
7664
7855
  );
7665
7856
  var MessageTypeSchema = enumDesc(file_messages, 0);
@@ -7671,19 +7862,21 @@ __export(messages_ripple_pb_exports, {
7671
7862
  RippleAddressSchema: () => RippleAddressSchema,
7672
7863
  RippleGetAddressSchema: () => RippleGetAddressSchema,
7673
7864
  RippleSignTxSchema: () => RippleSignTxSchema,
7865
+ RippleSignTx_RippleAccountDeleteSchema: () => RippleSignTx_RippleAccountDeleteSchema,
7674
7866
  RippleSignTx_RipplePaymentSchema: () => RippleSignTx_RipplePaymentSchema,
7675
7867
  RippleSignedTxSchema: () => RippleSignedTxSchema,
7676
7868
  file_messages_ripple: () => file_messages_ripple
7677
7869
  });
7678
7870
  init_buffer();
7679
7871
  var file_messages_ripple = fileDesc(
7680
- "ChVtZXNzYWdlcy1yaXBwbGUucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5yaXBwbGUiTQoQUmlwcGxlR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIi0KDVJpcHBsZUFkZHJlc3MSDwoHYWRkcmVzcxgBIAIoCRILCgNtYWMYAiABKAwi2QIKDFJpcHBsZVNpZ25UeBIRCglhZGRyZXNzX24YASADKA0SCwoDZmVlGAIgAigEEhAKBWZsYWdzGAMgASgNOgEwEhAKCHNlcXVlbmNlGAQgAigNEhwKFGxhc3RfbGVkZ2VyX3NlcXVlbmNlGAUgASgNEkYKB3BheW1lbnQYBiACKAsyNS5ody50cmV6b3IubWVzc2FnZXMucmlwcGxlLlJpcHBsZVNpZ25UeC5SaXBwbGVQYXltZW50EhAKCGNodW5raWZ5GAcgASgIEj4KC3BheW1lbnRfcmVxGAggASgLMikuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdBpNCg1SaXBwbGVQYXltZW50Eg4KBmFtb3VudBgBIAIoBBITCgtkZXN0aW5hdGlvbhgCIAIoCRIXCg9kZXN0aW5hdGlvbl90YWcYAyABKA0iOgoOUmlwcGxlU2lnbmVkVHgSEQoJc2lnbmF0dXJlGAEgAigMEhUKDXNlcmlhbGl6ZWRfdHgYAiACKAxCOgojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCE1RyZXpvck1lc3NhZ2VSaXBwbGU",
7872
+ "ChVtZXNzYWdlcy1yaXBwbGUucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5yaXBwbGUiTQoQUmlwcGxlR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIi0KDVJpcHBsZUFkZHJlc3MSDwoHYWRkcmVzcxgBIAIoCRILCgNtYWMYAiABKAwi2gMKDFJpcHBsZVNpZ25UeBIRCglhZGRyZXNzX24YASADKA0SCwoDZmVlGAIgAigEEhAKBWZsYWdzGAMgASgNOgEwEhAKCHNlcXVlbmNlGAQgAigNEhwKFGxhc3RfbGVkZ2VyX3NlcXVlbmNlGAUgASgNEkYKB3BheW1lbnQYBiABKAsyNS5ody50cmV6b3IubWVzc2FnZXMucmlwcGxlLlJpcHBsZVNpZ25UeC5SaXBwbGVQYXltZW50EhAKCGNodW5raWZ5GAcgASgIEj4KC3BheW1lbnRfcmVxGAggASgLMikuaHcudHJlem9yLm1lc3NhZ2VzLmNvbW1vbi5QYXltZW50UmVxdWVzdBJTCg5hY2NvdW50X2RlbGV0ZRgJIAEoCzI7Lmh3LnRyZXpvci5tZXNzYWdlcy5yaXBwbGUuUmlwcGxlU2lnblR4LlJpcHBsZUFjY291bnREZWxldGUaTQoNUmlwcGxlUGF5bWVudBIOCgZhbW91bnQYASACKAQSEwoLZGVzdGluYXRpb24YAiACKAkSFwoPZGVzdGluYXRpb25fdGFnGAMgASgNGioKE1JpcHBsZUFjY291bnREZWxldGUSEwoLZGVzdGluYXRpb24YASACKAkiOgoOUmlwcGxlU2lnbmVkVHgSEQoJc2lnbmF0dXJlGAEgAigMEhUKDXNlcmlhbGl6ZWRfdHgYAiACKAxCOgojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCE1RyZXpvck1lc3NhZ2VSaXBwbGU",
7681
7873
  [file_messages_common]
7682
7874
  );
7683
7875
  var RippleGetAddressSchema = messageDesc(file_messages_ripple, 0);
7684
7876
  var RippleAddressSchema = messageDesc(file_messages_ripple, 1);
7685
7877
  var RippleSignTxSchema = messageDesc(file_messages_ripple, 2);
7686
7878
  var RippleSignTx_RipplePaymentSchema = messageDesc(file_messages_ripple, 2, 0);
7879
+ var RippleSignTx_RippleAccountDeleteSchema = messageDesc(file_messages_ripple, 2, 1);
7687
7880
  var RippleSignedTxSchema = messageDesc(file_messages_ripple, 3);
7688
7881
 
7689
7882
  // ../hwk-trezor-protobuf/src/definitions/messages-solana_pb.js
@@ -7692,16 +7885,19 @@ __export(messages_solana_pb_exports, {
7692
7885
  SolanaAddressSchema: () => SolanaAddressSchema,
7693
7886
  SolanaGetAddressSchema: () => SolanaGetAddressSchema,
7694
7887
  SolanaGetPublicKeySchema: () => SolanaGetPublicKeySchema,
7888
+ SolanaMessageSignatureSchema: () => SolanaMessageSignatureSchema,
7695
7889
  SolanaPublicKeySchema: () => SolanaPublicKeySchema,
7890
+ SolanaSignMessageSchema: () => SolanaSignMessageSchema,
7696
7891
  SolanaSignTxSchema: () => SolanaSignTxSchema,
7697
7892
  SolanaTxAdditionalInfoSchema: () => SolanaTxAdditionalInfoSchema,
7698
7893
  SolanaTxSignatureSchema: () => SolanaTxSignatureSchema,
7699
7894
  SolanaTxTokenAccountInfoSchema: () => SolanaTxTokenAccountInfoSchema,
7895
+ SolanaVerifyMessageSchema: () => SolanaVerifyMessageSchema,
7700
7896
  file_messages_solana: () => file_messages_solana
7701
7897
  });
7702
7898
  init_buffer();
7703
7899
  var file_messages_solana = fileDesc(
7704
- "ChVtZXNzYWdlcy1zb2xhbmEucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5zb2xhbmEiPQoSU29sYW5hR2V0UHVibGljS2V5EhEKCWFkZHJlc3NfbhgBIAMoDRIUCgxzaG93X2Rpc3BsYXkYAiABKAgiJQoPU29sYW5hUHVibGljS2V5EhIKCnB1YmxpY19rZXkYASACKAwiTQoQU29sYW5hR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIi0KDVNvbGFuYUFkZHJlc3MSDwoHYWRkcmVzcxgBIAIoCRILCgNtYWMYAiABKAwicgoYU29sYW5hVHhUb2tlbkFjY291bnRJbmZvEhQKDGJhc2VfYWRkcmVzcxgBIAIoCRIVCg10b2tlbl9wcm9ncmFtGAIgAigJEhIKCnRva2VuX21pbnQYAyACKAkSFQoNdG9rZW5fYWNjb3VudBgEIAIoCSKCAQoWU29sYW5hVHhBZGRpdGlvbmFsSW5mbxJRChR0b2tlbl9hY2NvdW50c19pbmZvcxgBIAMoCzIzLmh3LnRyZXpvci5tZXNzYWdlcy5zb2xhbmEuU29sYW5hVHhUb2tlbkFjY291bnRJbmZvEhUKDWVuY29kZWRfdG9rZW4YAiABKAwixAEKDFNvbGFuYVNpZ25UeBIRCglhZGRyZXNzX24YASADKA0SFQoNc2VyaWFsaXplZF90eBgCIAIoDBJKCg9hZGRpdGlvbmFsX2luZm8YAyABKAsyMS5ody50cmV6b3IubWVzc2FnZXMuc29sYW5hLlNvbGFuYVR4QWRkaXRpb25hbEluZm8SPgoLcGF5bWVudF9yZXEYBCABKAsyKS5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBheW1lbnRSZXF1ZXN0IiYKEVNvbGFuYVR4U2lnbmF0dXJlEhEKCXNpZ25hdHVyZRgBIAIoDEI6CiNjb20uc2F0b3NoaWxhYnMudHJlem9yLmxpYi5wcm90b2J1ZkITVHJlem9yTWVzc2FnZVNvbGFuYQ",
7900
+ "ChVtZXNzYWdlcy1zb2xhbmEucHJvdG8SGWh3LnRyZXpvci5tZXNzYWdlcy5zb2xhbmEiPQoSU29sYW5hR2V0UHVibGljS2V5EhEKCWFkZHJlc3NfbhgBIAMoDRIUCgxzaG93X2Rpc3BsYXkYAiABKAgiJQoPU29sYW5hUHVibGljS2V5EhIKCnB1YmxpY19rZXkYASACKAwiTQoQU29sYW5hR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIi0KDVNvbGFuYUFkZHJlc3MSDwoHYWRkcmVzcxgBIAIoCRILCgNtYWMYAiABKAwicgoYU29sYW5hVHhUb2tlbkFjY291bnRJbmZvEhQKDGJhc2VfYWRkcmVzcxgBIAIoCRIVCg10b2tlbl9wcm9ncmFtGAIgAigJEhIKCnRva2VuX21pbnQYAyACKAkSFQoNdG9rZW5fYWNjb3VudBgEIAIoCSKCAQoWU29sYW5hVHhBZGRpdGlvbmFsSW5mbxJRChR0b2tlbl9hY2NvdW50c19pbmZvcxgBIAMoCzIzLmh3LnRyZXpvci5tZXNzYWdlcy5zb2xhbmEuU29sYW5hVHhUb2tlbkFjY291bnRJbmZvEhUKDWVuY29kZWRfdG9rZW4YAiABKAwi1gEKDFNvbGFuYVNpZ25UeBIRCglhZGRyZXNzX24YASADKA0SFQoNc2VyaWFsaXplZF90eBgCIAIoDBJKCg9hZGRpdGlvbmFsX2luZm8YAyABKAsyMS5ody50cmV6b3IubWVzc2FnZXMuc29sYW5hLlNvbGFuYVR4QWRkaXRpb25hbEluZm8SPgoLcGF5bWVudF9yZXEYBCABKAsyKS5ody50cmV6b3IubWVzc2FnZXMuY29tbW9uLlBheW1lbnRSZXF1ZXN0EhAKCGNodW5raWZ5GAUgASgIIiYKEVNvbGFuYVR4U2lnbmF0dXJlEhEKCXNpZ25hdHVyZRgBIAIoDCJJChFTb2xhbmFTaWduTWVzc2FnZRIRCglhZGRyZXNzX24YASADKA0SDwoHbWVzc2FnZRgCIAIoDBIQCghjaHVua2lmeRgDIAEoCCIrChZTb2xhbmFNZXNzYWdlU2lnbmF0dXJlEhEKCXNpZ25hdHVyZRgBIAIoDCI5ChNTb2xhbmFWZXJpZnlNZXNzYWdlEhAKCGVudmVsb3BlGAEgAigMEhAKCGNodW5raWZ5GAIgASgIQjoKI2NvbS5zYXRvc2hpbGFicy50cmV6b3IubGliLnByb3RvYnVmQhNUcmV6b3JNZXNzYWdlU29sYW5h",
7705
7901
  [file_messages_common]
7706
7902
  );
7707
7903
  var SolanaGetPublicKeySchema = messageDesc(file_messages_solana, 0);
@@ -7712,6 +7908,9 @@ var SolanaTxTokenAccountInfoSchema = messageDesc(file_messages_solana, 4);
7712
7908
  var SolanaTxAdditionalInfoSchema = messageDesc(file_messages_solana, 5);
7713
7909
  var SolanaSignTxSchema = messageDesc(file_messages_solana, 6);
7714
7910
  var SolanaTxSignatureSchema = messageDesc(file_messages_solana, 7);
7911
+ var SolanaSignMessageSchema = messageDesc(file_messages_solana, 8);
7912
+ var SolanaMessageSignatureSchema = messageDesc(file_messages_solana, 9);
7913
+ var SolanaVerifyMessageSchema = messageDesc(file_messages_solana, 10);
7715
7914
 
7716
7915
  // ../hwk-trezor-protobuf/src/definitions/messages-stellar_pb.js
7717
7916
  var messages_stellar_pb_exports = {};
@@ -7950,12 +8149,13 @@ __export(messages_tron_pb_exports, {
7950
8149
  TronUnfreezeBalanceV2ContractSchema: () => TronUnfreezeBalanceV2ContractSchema,
7951
8150
  TronVoteWitnessContractSchema: () => TronVoteWitnessContractSchema,
7952
8151
  TronVoteWitnessContract_TronVoteSchema: () => TronVoteWitnessContract_TronVoteSchema,
8152
+ TronWithdrawBalanceSchema: () => TronWithdrawBalanceSchema,
7953
8153
  TronWithdrawUnfreezeSchema: () => TronWithdrawUnfreezeSchema,
7954
8154
  file_messages_tron: () => file_messages_tron
7955
8155
  });
7956
8156
  init_buffer();
7957
8157
  var file_messages_tron = fileDesc(
7958
- "ChNtZXNzYWdlcy10cm9uLnByb3RvEhdody50cmV6b3IubWVzc2FnZXMudHJvbiJLCg5Ucm9uR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIisKC1Ryb25BZGRyZXNzEg8KB2FkZHJlc3MYASACKAkSCwoDbWFjGAIgASgMIpgBCgpUcm9uU2lnblR4EhEKCWFkZHJlc3NfbhgBIAMoDRIXCg9yZWZfYmxvY2tfYnl0ZXMYAiACKAwSFgoOcmVmX2Jsb2NrX2hhc2gYAyACKAwSEgoKZXhwaXJhdGlvbhgEIAIoBBIMCgRkYXRhGAUgASgMEhEKCXRpbWVzdGFtcBgGIAIoBBIRCglmZWVfbGltaXQYByABKAQiFQoTVHJvbkNvbnRyYWN0UmVxdWVzdCJRChRUcm9uVHJhbnNmZXJDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEhIKCnRvX2FkZHJlc3MYAiACKAwSDgoGYW1vdW50GAMgAigEIqYBChdUcm9uVm90ZVdpdG5lc3NDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEkgKBXZvdGVzGAIgAygLMjkuaHcudHJlem9yLm1lc3NhZ2VzLnRyb24uVHJvblZvdGVXaXRuZXNzQ29udHJhY3QuVHJvblZvdGUaKgoIVHJvblZvdGUSDwoHYWRkcmVzcxgBIAIoDBINCgVjb3VudBgCIAIoBCJZChhUcm9uVHJpZ2dlclNtYXJ0Q29udHJhY3QSFQoNb3duZXJfYWRkcmVzcxgBIAIoDBIYChBjb250cmFjdF9hZGRyZXNzGAIgAigMEgwKBGRhdGEYBCACKAwijQEKG1Ryb25GcmVlemVCYWxhbmNlVjJDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEg8KB2JhbGFuY2UYAiACKAQSRgoIcmVzb3VyY2UYAyABKA4yKS5ody50cmV6b3IubWVzc2FnZXMudHJvbi5Ucm9uUmVzb3VyY2VDb2RlOglCQU5EV0lEVEgijwEKHVRyb25VbmZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0EhUKDW93bmVyX2FkZHJlc3MYASACKAwSDwoHYmFsYW5jZRgCIAIoBBJGCghyZXNvdXJjZRgDIAEoDjIpLmh3LnRyZXpvci5tZXNzYWdlcy50cm9uLlRyb25SZXNvdXJjZUNvZGU6CUJBTkRXSURUSCItChRUcm9uV2l0aGRyYXdVbmZyZWV6ZRIVCg1vd25lcl9hZGRyZXNzGAEgAigMIiIKDVRyb25TaWduYXR1cmUSEQoJc2lnbmF0dXJlGAEgAigMIqYFChJUcm9uUmF3VHJhbnNhY3Rpb24SFwoPcmVmX2Jsb2NrX2J5dGVzGAEgAigMEhYKDnJlZl9ibG9ja19oYXNoGAQgAigMEhIKCmV4cGlyYXRpb24YCCACKAQSDAoEZGF0YRgKIAEoDBJNCghjb250cmFjdBgLIAMoCzI7Lmh3LnRyZXpvci5tZXNzYWdlcy50cm9uLlRyb25SYXdUcmFuc2FjdGlvbi5Ucm9uUmF3Q29udHJhY3QSEQoJdGltZXN0YW1wGA4gAigEEhEKCWZlZV9saW1pdBgSIAEoBBrHAwoPVHJvblJhd0NvbnRyYWN0El0KBHR5cGUYASACKA4yTy5ody50cmV6b3IubWVzc2FnZXMudHJvbi5Ucm9uUmF3VHJhbnNhY3Rpb24uVHJvblJhd0NvbnRyYWN0LlRyb25SYXdDb250cmFjdFR5cGUSXwoJcGFyYW1ldGVyGAIgAigLMkwuaHcudHJlem9yLm1lc3NhZ2VzLnRyb24uVHJvblJhd1RyYW5zYWN0aW9uLlRyb25SYXdDb250cmFjdC5Ucm9uUmF3UGFyYW1ldGVyGjMKEFRyb25SYXdQYXJhbWV0ZXISEAoIdHlwZV91cmwYASACKAkSDQoFdmFsdWUYAiACKAwivgEKE1Ryb25SYXdDb250cmFjdFR5cGUSFAoQVHJhbnNmZXJDb250cmFjdBABEhcKE1ZvdGVXaXRuZXNzQ29udHJhY3QQBBIYChRUcmlnZ2VyU21hcnRDb250cmFjdBAfEhsKF0ZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0EDYSHQoZVW5mcmVlemVCYWxhbmNlVjJDb250cmFjdBA3EiIKHldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdBA4Ki0KEFRyb25SZXNvdXJjZUNvZGUSDQoJQkFORFdJRFRIEAASCgoGRU5FUkdZEAFCOAojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCEVRyZXpvck1lc3NhZ2VUcm9u"
8158
+ "ChNtZXNzYWdlcy10cm9uLnByb3RvEhdody50cmV6b3IubWVzc2FnZXMudHJvbiJLCg5Ucm9uR2V0QWRkcmVzcxIRCglhZGRyZXNzX24YASADKA0SFAoMc2hvd19kaXNwbGF5GAIgASgIEhAKCGNodW5raWZ5GAMgASgIIisKC1Ryb25BZGRyZXNzEg8KB2FkZHJlc3MYASACKAkSCwoDbWFjGAIgASgMIpgBCgpUcm9uU2lnblR4EhEKCWFkZHJlc3NfbhgBIAMoDRIXCg9yZWZfYmxvY2tfYnl0ZXMYAiACKAwSFgoOcmVmX2Jsb2NrX2hhc2gYAyACKAwSEgoKZXhwaXJhdGlvbhgEIAIoBBIMCgRkYXRhGAUgASgMEhEKCXRpbWVzdGFtcBgGIAIoBBIRCglmZWVfbGltaXQYByABKAQiFQoTVHJvbkNvbnRyYWN0UmVxdWVzdCJRChRUcm9uVHJhbnNmZXJDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEhIKCnRvX2FkZHJlc3MYAiACKAwSDgoGYW1vdW50GAMgAigEIqYBChdUcm9uVm90ZVdpdG5lc3NDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEkgKBXZvdGVzGAIgAygLMjkuaHcudHJlem9yLm1lc3NhZ2VzLnRyb24uVHJvblZvdGVXaXRuZXNzQ29udHJhY3QuVHJvblZvdGUaKgoIVHJvblZvdGUSDwoHYWRkcmVzcxgBIAIoDBINCgVjb3VudBgCIAIoBCJZChhUcm9uVHJpZ2dlclNtYXJ0Q29udHJhY3QSFQoNb3duZXJfYWRkcmVzcxgBIAIoDBIYChBjb250cmFjdF9hZGRyZXNzGAIgAigMEgwKBGRhdGEYBCACKAwijQEKG1Ryb25GcmVlemVCYWxhbmNlVjJDb250cmFjdBIVCg1vd25lcl9hZGRyZXNzGAEgAigMEg8KB2JhbGFuY2UYAiACKAQSRgoIcmVzb3VyY2UYAyABKA4yKS5ody50cmV6b3IubWVzc2FnZXMudHJvbi5Ucm9uUmVzb3VyY2VDb2RlOglCQU5EV0lEVEgijwEKHVRyb25VbmZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0EhUKDW93bmVyX2FkZHJlc3MYASACKAwSDwoHYmFsYW5jZRgCIAIoBBJGCghyZXNvdXJjZRgDIAEoDjIpLmh3LnRyZXpvci5tZXNzYWdlcy50cm9uLlRyb25SZXNvdXJjZUNvZGU6CUJBTkRXSURUSCItChRUcm9uV2l0aGRyYXdVbmZyZWV6ZRIVCg1vd25lcl9hZGRyZXNzGAEgAigMIiwKE1Ryb25XaXRoZHJhd0JhbGFuY2USFQoNb3duZXJfYWRkcmVzcxgBIAIoDCIiCg1Ucm9uU2lnbmF0dXJlEhEKCXNpZ25hdHVyZRgBIAIoDCLDBQoSVHJvblJhd1RyYW5zYWN0aW9uEhcKD3JlZl9ibG9ja19ieXRlcxgBIAIoDBIWCg5yZWZfYmxvY2tfaGFzaBgEIAIoDBISCgpleHBpcmF0aW9uGAggAigEEgwKBGRhdGEYCiABKAwSTQoIY29udHJhY3QYCyADKAsyOy5ody50cmV6b3IubWVzc2FnZXMudHJvbi5Ucm9uUmF3VHJhbnNhY3Rpb24uVHJvblJhd0NvbnRyYWN0EhEKCXRpbWVzdGFtcBgOIAIoBBIRCglmZWVfbGltaXQYEiABKAQa5AMKD1Ryb25SYXdDb250cmFjdBJdCgR0eXBlGAEgAigOMk8uaHcudHJlem9yLm1lc3NhZ2VzLnRyb24uVHJvblJhd1RyYW5zYWN0aW9uLlRyb25SYXdDb250cmFjdC5Ucm9uUmF3Q29udHJhY3RUeXBlEl8KCXBhcmFtZXRlchgCIAIoCzJMLmh3LnRyZXpvci5tZXNzYWdlcy50cm9uLlRyb25SYXdUcmFuc2FjdGlvbi5Ucm9uUmF3Q29udHJhY3QuVHJvblJhd1BhcmFtZXRlchozChBUcm9uUmF3UGFyYW1ldGVyEhAKCHR5cGVfdXJsGAEgAigJEg0KBXZhbHVlGAIgAigMItsBChNUcm9uUmF3Q29udHJhY3RUeXBlEhQKEFRyYW5zZmVyQ29udHJhY3QQARIXChNWb3RlV2l0bmVzc0NvbnRyYWN0EAQSGwoXV2l0aGRyYXdCYWxhbmNlQ29udHJhY3QQDRIYChRUcmlnZ2VyU21hcnRDb250cmFjdBAfEhsKF0ZyZWV6ZUJhbGFuY2VWMkNvbnRyYWN0EDYSHQoZVW5mcmVlemVCYWxhbmNlVjJDb250cmFjdBA3EiIKHldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdBA4Ki0KEFRyb25SZXNvdXJjZUNvZGUSDQoJQkFORFdJRFRIEAASCgoGRU5FUkdZEAFCOAojY29tLnNhdG9zaGlsYWJzLnRyZXpvci5saWIucHJvdG9idWZCEVRyZXpvck1lc3NhZ2VUcm9u"
7959
8159
  );
7960
8160
  var TronGetAddressSchema = messageDesc(file_messages_tron, 0);
7961
8161
  var TronAddressSchema = messageDesc(file_messages_tron, 1);
@@ -7968,18 +8168,19 @@ var TronTriggerSmartContractSchema = messageDesc(file_messages_tron, 6);
7968
8168
  var TronFreezeBalanceV2ContractSchema = messageDesc(file_messages_tron, 7);
7969
8169
  var TronUnfreezeBalanceV2ContractSchema = messageDesc(file_messages_tron, 8);
7970
8170
  var TronWithdrawUnfreezeSchema = messageDesc(file_messages_tron, 9);
7971
- var TronSignatureSchema = messageDesc(file_messages_tron, 10);
7972
- var TronRawTransactionSchema = messageDesc(file_messages_tron, 11);
7973
- var TronRawTransaction_TronRawContractSchema = messageDesc(file_messages_tron, 11, 0);
8171
+ var TronWithdrawBalanceSchema = messageDesc(file_messages_tron, 10);
8172
+ var TronSignatureSchema = messageDesc(file_messages_tron, 11);
8173
+ var TronRawTransactionSchema = messageDesc(file_messages_tron, 12);
8174
+ var TronRawTransaction_TronRawContractSchema = messageDesc(file_messages_tron, 12, 0);
7974
8175
  var TronRawTransaction_TronRawContract_TronRawParameterSchema = messageDesc(
7975
8176
  file_messages_tron,
7976
- 11,
8177
+ 12,
7977
8178
  0,
7978
8179
  0
7979
8180
  );
7980
8181
  var TronRawTransaction_TronRawContract_TronRawContractTypeSchema = enumDesc(
7981
8182
  file_messages_tron,
7982
- 11,
8183
+ 12,
7983
8184
  0,
7984
8185
  0
7985
8186
  );
@@ -8156,7 +8357,7 @@ var getHeaders2 = (data) => {
8156
8357
  return [data.subarray(0, HEADER_SIZE2), chunkHeader];
8157
8358
  };
8158
8359
  var encode2 = (data, options) => {
8159
- if (!options.header || options.header.byteLength !== HEADER_SIZE2) {
8360
+ if (options.header?.byteLength !== HEADER_SIZE2) {
8160
8361
  throw new Error(PROTOCOL_MALFORMED);
8161
8362
  }
8162
8363
  const length = Buffer2.alloc(MESSAGE_LEN_SIZE);
@@ -9918,7 +10119,10 @@ var crc32 = (buf) => {
9918
10119
  const table = getCrcTable();
9919
10120
  let crc = -1;
9920
10121
  for (let i = 0; i < buf.length; i++) {
9921
- crc = table[(crc ^ buf[i]) & 255] ^ crc >>> 8;
10122
+ const byte = buf[i];
10123
+ const x = (crc ^ byte) & 255;
10124
+ const tableValue = table[x];
10125
+ crc = tableValue ^ crc >>> 8;
9922
10126
  }
9923
10127
  const buffer = Buffer2.alloc(4);
9924
10128
  buffer.writeInt32BE(crc ^ -1, 0);
@@ -9958,14 +10162,16 @@ var bigEndianBytesToBigInt = (bytes) => {
9958
10162
  const result = [];
9959
10163
  const { length } = bytes;
9960
10164
  for (let i = 0; i < length; i++) {
9961
- result.push(BigInt(bytes[i] * 256 ** (length - (1 + i))));
10165
+ const byte = bytes[i];
10166
+ result.push(BigInt(byte * 256 ** (length - (1 + i))));
9962
10167
  }
9963
10168
  return result.reduce((prev, curr) => prev + curr, BigInt(0));
9964
10169
  };
9965
10170
  var littleEndianBytesToBigInt = (bytes) => {
9966
10171
  let result = 0n;
9967
10172
  for (let i = 0; i < bytes.length; i++) {
9968
- result += BigInt(bytes[i]) << 8n * BigInt(i);
10173
+ const byte = bytes[i];
10174
+ result += BigInt(byte) << 8n * BigInt(i);
9969
10175
  }
9970
10176
  return result;
9971
10177
  };
@@ -10021,9 +10227,10 @@ function decodeScalar(scalar) {
10021
10227
  throw new Error("Invalid length of scalar");
10022
10228
  }
10023
10229
  const array = new Uint8Array(scalar);
10024
- array[0] &= 248;
10025
- array[31] &= 127;
10026
- array[31] |= 64;
10230
+ const s0 = array[0];
10231
+ const s31 = array[31];
10232
+ array[0] = s0 & 248;
10233
+ array[31] = s31 & 127 | 64;
10027
10234
  return littleEndianBytesToBigInt(array);
10028
10235
  }
10029
10236
  function decodeCoordinate(coordinate) {
@@ -10031,7 +10238,8 @@ function decodeCoordinate(coordinate) {
10031
10238
  throw new Error("Invalid length of coordinate");
10032
10239
  }
10033
10240
  const array = new Uint8Array(coordinate);
10034
- array[array.length - 1] &= 127;
10241
+ const last = array[array.length - 1];
10242
+ array[array.length - 1] = last & 127;
10035
10243
  return littleEndianBytesToBigInt(array);
10036
10244
  }
10037
10245
  function encodeCoordinate(coordinate) {
@@ -10124,9 +10332,10 @@ function elligator2(point) {
10124
10332
  }
10125
10333
  var getCurve25519KeyPair = (randomBytes2) => {
10126
10334
  const randomPriv = Buffer2.from(randomBytes2);
10127
- randomPriv[0] &= 248;
10128
- randomPriv[31] &= 127;
10129
- randomPriv[31] |= 64;
10335
+ const rp0 = randomPriv[0];
10336
+ const rp31 = randomPriv[31];
10337
+ randomPriv[0] = rp0 & 248;
10338
+ randomPriv[31] = rp31 & 127 | 64;
10130
10339
  const basepoint = Buffer2.alloc(32).fill(0);
10131
10340
  basepoint[0] = 9;
10132
10341
  return {
@@ -10187,7 +10396,9 @@ var handleHandshakeInit = ({
10187
10396
  h = hashOfTwo(h, Buffer2.from([tryToUnlock]));
10188
10397
  h = hashOfTwo(h, trezorEphemeralPubkey);
10189
10398
  point = curve25519(hostEphemeralKeys.privateKey, trezorEphemeralPubkey);
10190
- let [ck, k] = hkdf(getProtocolName(), point);
10399
+ const hkdf1 = hkdf(getProtocolName(), point);
10400
+ let ck = hkdf1[0];
10401
+ let k = hkdf1[1];
10191
10402
  aes = aesgcm2(k, iv0);
10192
10403
  aes.auth(h);
10193
10404
  const trezorStaticPubkey = trezorEncryptedStaticPubkey.subarray(0, 32);
@@ -10195,7 +10406,9 @@ var handleHandshakeInit = ({
10195
10406
  const trezorMaskedStaticPubkey = aes.decrypt(trezorStaticPubkey, trezorStaticPubkeyTag);
10196
10407
  h = hashOfTwo(h, trezorEncryptedStaticPubkey);
10197
10408
  point = curve25519(hostEphemeralKeys.privateKey, trezorMaskedStaticPubkey);
10198
- [ck, k] = hkdf(ck, point);
10409
+ const hkdf2 = hkdf(ck, point);
10410
+ ck = hkdf2[0];
10411
+ k = hkdf2[1];
10199
10412
  aes = aesgcm2(k, iv0);
10200
10413
  aes.auth(h);
10201
10414
  aes.decrypt(Buffer2.alloc(0), tag);
@@ -10216,7 +10429,9 @@ var handleHandshakeInit = ({
10216
10429
  ]);
10217
10430
  h = hashOfTwo(h, hostEncryptedStaticPubkey);
10218
10431
  point = curve25519(hostStaticKeys.privateKey, trezorEphemeralPubkey);
10219
- [ck, k] = hkdf(ck, point);
10432
+ const hkdf3 = hkdf(ck, point);
10433
+ ck = hkdf3[0];
10434
+ k = hkdf3[1];
10220
10435
  const { message } = protobufEncoder("ThpHandshakeCompletionReqNoisePayload", {
10221
10436
  host_pairing_credential: credentials?.credential
10222
10437
  });
@@ -10224,7 +10439,9 @@ var handleHandshakeInit = ({
10224
10439
  aes.auth(h);
10225
10440
  const encryptedPayload = Buffer2.concat([aes.encrypt(message), aes.finish()]);
10226
10441
  h = hashOfTwo(h, encryptedPayload);
10227
- const [hostKey, trezorKey] = hkdf(ck, Buffer2.alloc(0));
10442
+ const hkdf4 = hkdf(ck, Buffer2.alloc(0));
10443
+ const hostKey = hkdf4[0];
10444
+ const trezorKey = hkdf4[1];
10228
10445
  return {
10229
10446
  trezorMaskedStaticPubkey,
10230
10447
  trezorEncryptedStaticPubkey,
@@ -10782,7 +10999,7 @@ var isAckExpected = (bytesOrMagic) => {
10782
10999
  magic
10783
11000
  );
10784
11001
  if (Array.isArray(bytesOrMagic)) {
10785
- return !bytesOrMagic.find((n) => isCreateChannelMessage(n));
11002
+ return !bytesOrMagic.some(isCreateChannelMessage);
10786
11003
  }
10787
11004
  return !isCreateChannelMessage(bytesOrMagic.readUInt8());
10788
11005
  };
@@ -10967,54 +11184,14 @@ var name3 = "thp";
10967
11184
  // ../hwk-trezor-transport/hwk.ts
10968
11185
  init_buffer();
10969
11186
 
10970
- // ../hwk-trezor-transport/src/utils/send.ts
11187
+ // ../hwk-trezor-transport-common/src/index.ts
10971
11188
  init_buffer();
10972
- var createChunks = (data, chunkHeader, chunkSize) => {
10973
- if (!chunkSize || data.byteLength <= chunkSize) {
10974
- const buffer = Buffer2.alloc(Math.max(chunkSize, data.byteLength));
10975
- data.copy(buffer);
10976
- return [buffer];
10977
- }
10978
- const chunks = [data.subarray(0, chunkSize)];
10979
- let position = chunkSize;
10980
- while (position < data.byteLength) {
10981
- const sliceEnd = Math.min(position + chunkSize - chunkHeader.byteLength, data.byteLength);
10982
- const slice = data.subarray(position, sliceEnd);
10983
- const chunk = Buffer2.concat([chunkHeader, slice]);
10984
- chunks.push(Buffer2.alloc(chunkSize).fill(chunk, 0, chunk.byteLength));
10985
- position = sliceEnd;
10986
- }
10987
- return chunks;
10988
- };
10989
- var buildMessage = ({ name: name4, data, protocol, thpState }) => {
10990
- const protobufEncoder = (messageName, data2) => {
10991
- const { messageType, message } = protobufManager.encode(messageName, data2);
10992
- return protocol.encode(message, { messageType });
10993
- };
10994
- if (protocol.name === "v2") {
10995
- return protocol_thp_exports.encode({
10996
- messageName: name4,
10997
- data,
10998
- thpState,
10999
- protobufEncoder: (messageName, data2) => protobufManager.encode(messageName, data2)
11000
- });
11001
- }
11002
- return protobufEncoder(name4, data);
11003
- };
11004
- var sendChunks = async (chunks, apiWrite) => {
11005
- for (let i = 0; i < chunks.length; i++) {
11006
- const result = await apiWrite(chunks[i]);
11007
- if (!result.success) {
11008
- return result;
11009
- }
11010
- }
11011
- return { success: true, payload: void 0 };
11012
- };
11013
11189
 
11014
- // ../hwk-trezor-transport/src/utils/receive.ts
11190
+ // ../hwk-trezor-transport-common/src/errors.ts
11015
11191
  init_buffer();
11192
+ var THP_STATE_ERROR = "ThpStateError";
11016
11193
 
11017
- // ../hwk-trezor-transport/src/utils/result.ts
11194
+ // ../hwk-trezor-transport-common/src/utils/result.ts
11018
11195
  init_buffer();
11019
11196
 
11020
11197
  // ../hwk-trezor-type-utils/src/index.ts
@@ -11027,18 +11204,27 @@ function ok(payload) {
11027
11204
  }
11028
11205
  var err = (error2) => ({ success: false, error: error2 });
11029
11206
 
11030
- // ../hwk-trezor-transport/src/errors.ts
11031
- init_buffer();
11032
- var THP_STATE_ERROR = "ThpStateError";
11033
-
11034
- // ../hwk-trezor-transport/src/utils/result.ts
11207
+ // ../hwk-trezor-transport-common/src/utils/result.ts
11035
11208
  var success = (payload) => ok(payload);
11036
11209
  var error = ({
11037
11210
  code,
11038
11211
  message
11039
11212
  }) => err({ code, message });
11040
11213
 
11041
- // ../hwk-trezor-transport/src/utils/receive.ts
11214
+ // ../hwk-trezor-transport-common/src/thp/index.ts
11215
+ init_buffer();
11216
+
11217
+ // ../hwk-trezor-transport-common/src/thp/receive.ts
11218
+ init_buffer();
11219
+
11220
+ // ../hwk-trezor-transport-common/src/thp/loop.ts
11221
+ init_buffer();
11222
+
11223
+ // ../hwk-trezor-transport-common/src/thp/receiveExpectedMessage.ts
11224
+ init_buffer();
11225
+
11226
+ // ../hwk-trezor-transport-common/src/utils/receive.ts
11227
+ init_buffer();
11042
11228
  async function receive(receiver, protocol) {
11043
11229
  const readResult = await receiver();
11044
11230
  if (!readResult.success) {
@@ -11059,6 +11245,11 @@ async function receive(receiver, protocol) {
11059
11245
  const data2 = readResult2.payload;
11060
11246
  const dataChunkHeader = data2.subarray(0, chunkHeader.length);
11061
11247
  if (dataChunkHeader.compare(chunkHeader) !== 0) {
11248
+ if (header.compare(data2.subarray(0, header.length)) === 0) {
11249
+ offset = payload.length;
11250
+ console.warn("Restart message reception");
11251
+ continue;
11252
+ }
11062
11253
  throw new Error(`Unexpected chunkHeader ${dataChunkHeader.toString("hex")}`);
11063
11254
  }
11064
11255
  Buffer2.from(data2).copy(result, offset, chunkHeader.byteLength);
@@ -11081,167 +11272,7 @@ async function receiveAndParse(receiver, protocol) {
11081
11272
  return success(message);
11082
11273
  }
11083
11274
 
11084
- // ../hwk-trezor-transport/src/thp/index.ts
11085
- init_buffer();
11086
-
11087
- // ../hwk-trezor-transport/src/thp/receive.ts
11088
- init_buffer();
11089
-
11090
- // ../hwk-trezor-transport/src/thp/loop.ts
11091
- init_buffer();
11092
-
11093
- // ../hwk-trezor-transport/src/thp/receiveExpectedMessage.ts
11094
- init_buffer();
11095
-
11096
- // ../hwk-trezor-utils/src/index.ts
11097
- init_buffer();
11098
-
11099
- // ../hwk-trezor-utils/src/scheduleAction.ts
11100
- init_buffer();
11101
- var SCHEDULE_ACTION_ABORTED_ERROR_MESSAGE = "Aborted by signal";
11102
- var RejectWhenAbortedError = class extends Error {
11103
- constructor() {
11104
- super(SCHEDULE_ACTION_ABORTED_ERROR_MESSAGE);
11105
- }
11106
- };
11107
- var isArray = (attempts) => Array.isArray(attempts);
11108
- var resolveAfterMs = (ms, clear) => new Promise((resolve, reject) => {
11109
- const errorSignal = new RejectWhenAbortedError();
11110
- if (clear.aborted) return reject(errorSignal);
11111
- if (ms === void 0) return resolve();
11112
- let timeout;
11113
- const onClear = () => {
11114
- clearTimeout(timeout);
11115
- clear.removeEventListener("abort", onClear);
11116
- reject(errorSignal);
11117
- };
11118
- timeout = setTimeout(() => {
11119
- clear.removeEventListener("abort", onClear);
11120
- resolve();
11121
- }, ms);
11122
- clear.addEventListener("abort", onClear);
11123
- });
11124
- var rejectAfterMs = (ms, reason, clear) => new Promise((_, reject) => {
11125
- const errorSignal = new RejectWhenAbortedError();
11126
- if (clear.aborted) return reject(errorSignal);
11127
- let timeout;
11128
- const onClear = () => {
11129
- clearTimeout(timeout);
11130
- clear.removeEventListener("abort", onClear);
11131
- reject(errorSignal);
11132
- };
11133
- timeout = setTimeout(() => {
11134
- clear.removeEventListener("abort", onClear);
11135
- reject(reason);
11136
- }, ms);
11137
- clear.addEventListener("abort", onClear);
11138
- });
11139
- var maybeRejectAfterMs = (ms, reason, clear) => ms === void 0 ? [] : [rejectAfterMs(ms, reason, clear)];
11140
- var rejectWhenAborted = (signal, clear) => new Promise((_, reject) => {
11141
- const errorSignal = new RejectWhenAbortedError();
11142
- if (clear.aborted) return reject(errorSignal);
11143
- if (signal?.aborted) return reject(errorSignal);
11144
- const onAbort = () => reject(errorSignal);
11145
- signal?.addEventListener("abort", onAbort);
11146
- const onClear = () => {
11147
- signal?.removeEventListener("abort", onAbort);
11148
- clear.removeEventListener("abort", onClear);
11149
- reject(errorSignal);
11150
- };
11151
- clear.addEventListener("abort", onClear);
11152
- });
11153
- var resolveAction = async (action, clear) => {
11154
- const aborter = new AbortController();
11155
- if (clear.aborted) aborter.abort();
11156
- const onClear = () => {
11157
- clear.removeEventListener("abort", onClear);
11158
- aborter.abort();
11159
- };
11160
- clear.addEventListener("abort", onClear);
11161
- try {
11162
- return await new Promise((resolve) => resolve(action(aborter.signal)));
11163
- } finally {
11164
- if (!clear.aborted) clear.removeEventListener("abort", onClear);
11165
- }
11166
- };
11167
- var attemptLoop = async (attempts, attempt, failure, clear) => {
11168
- for (let a = 0; a < attempts - 1; a++) {
11169
- if (clear.aborted) break;
11170
- const aborter = new AbortController();
11171
- const onClear = () => aborter.abort();
11172
- clear.addEventListener("abort", onClear);
11173
- try {
11174
- return await attempt(a, aborter.signal);
11175
- } catch (error2) {
11176
- onClear();
11177
- await failure(a, error2);
11178
- } finally {
11179
- clear.removeEventListener("abort", onClear);
11180
- }
11181
- }
11182
- return clear.aborted ? Promise.reject(new RejectWhenAbortedError()) : attempt(attempts - 1, clear);
11183
- };
11184
- var SCHEDULE_ACTION_TIMEOUT_ERROR_MESSAGE = "Aborted by timeout";
11185
- var ScheduleActionTimeoutError = class extends Error {
11186
- constructor() {
11187
- super(SCHEDULE_ACTION_TIMEOUT_ERROR_MESSAGE);
11188
- }
11189
- };
11190
- var SCHEDULE_ACTION_DEADLINE_ERROR_MESSAGE = "Aborted by deadline";
11191
- var ScheduleActionDeadlineError = class extends Error {
11192
- constructor() {
11193
- super(SCHEDULE_ACTION_DEADLINE_ERROR_MESSAGE);
11194
- }
11195
- };
11196
- var scheduleAction = async (action, params) => {
11197
- const { signal, delay, attempts, timeout, deadline, gap, attemptFailureHandler } = params;
11198
- const deadlineMs = deadline && deadline - Date.now();
11199
- const attemptCount = isArray(attempts) ? attempts.length : attempts ?? (deadline ? Infinity : 1);
11200
- const clearAborter = new AbortController();
11201
- const clear = clearAborter.signal;
11202
- const getParams = isArray(attempts) ? (attempt) => attempts[attempt] : () => ({ timeout, gap });
11203
- const errorDeadline = new ScheduleActionDeadlineError();
11204
- const errorTimeout = new ScheduleActionTimeoutError();
11205
- const graceful = params.graceful && signal;
11206
- const actionAborter = new AbortController();
11207
- if (graceful) {
11208
- if (signal.aborted) {
11209
- actionAborter.abort();
11210
- } else {
11211
- const onAbort = () => {
11212
- signal.removeEventListener("abort", onAbort);
11213
- clear.removeEventListener("abort", onAbort);
11214
- actionAborter.abort();
11215
- };
11216
- signal.addEventListener("abort", onAbort);
11217
- clear.addEventListener("abort", onAbort);
11218
- }
11219
- }
11220
- try {
11221
- return await Promise.race([
11222
- ...graceful ? [] : [rejectWhenAborted(signal, clear)],
11223
- ...maybeRejectAfterMs(deadlineMs, errorDeadline, clear),
11224
- resolveAfterMs(delay, clear).then(
11225
- () => attemptLoop(
11226
- attemptCount,
11227
- (attempt, abort) => Promise.race([
11228
- ...maybeRejectAfterMs(getParams(attempt).timeout, errorTimeout, clear),
11229
- resolveAction(action, abort)
11230
- ]),
11231
- (attempt, error2) => {
11232
- const errorHandlerResult = attemptFailureHandler?.(error2);
11233
- return errorHandlerResult ? Promise.reject(errorHandlerResult) : resolveAfterMs(getParams(attempt).gap ?? 0, clear);
11234
- },
11235
- graceful ? actionAborter.signal : clear
11236
- )
11237
- )
11238
- ]);
11239
- } finally {
11240
- clearAborter.abort();
11241
- }
11242
- };
11243
-
11244
- // ../hwk-trezor-transport/src/thp/receiveExpectedMessage.ts
11275
+ // ../hwk-trezor-transport-common/src/thp/receiveExpectedMessage.ts
11245
11276
  var ATTEMPTS_LIMIT = 10;
11246
11277
  var THP_ACK_TIMEOUT = 1e4;
11247
11278
  var THP_ACK_DEADLINE = 3e4;
@@ -11253,7 +11284,7 @@ var isRecentMessage = (msg, thpState) => {
11253
11284
  };
11254
11285
  var receiveExpectedMessage = async (apiRead, thpState, signal, timeout) => {
11255
11286
  const receiveResult = await scheduleAction(
11256
- (attemptSignal) => receive(() => apiRead(attemptSignal), protocol_v2_exports),
11287
+ (attemptSignal) => receive(() => apiRead({ signal: attemptSignal }), protocol_v2_exports),
11257
11288
  {
11258
11289
  signal,
11259
11290
  graceful: true,
@@ -11308,7 +11339,52 @@ var receiveExpectedMessage = async (apiRead, thpState, signal, timeout) => {
11308
11339
  return receiveResult;
11309
11340
  };
11310
11341
 
11311
- // ../hwk-trezor-transport/src/thp/loop.ts
11342
+ // ../hwk-trezor-transport-common/src/utils/send.ts
11343
+ init_buffer();
11344
+ var createChunks = (data, chunkHeader, chunkSize) => {
11345
+ if (!chunkSize || data.byteLength <= chunkSize) {
11346
+ const buffer = Buffer2.alloc(Math.max(chunkSize, data.byteLength));
11347
+ data.copy(buffer);
11348
+ return [buffer];
11349
+ }
11350
+ const chunks = [data.subarray(0, chunkSize)];
11351
+ let position = chunkSize;
11352
+ while (position < data.byteLength) {
11353
+ const sliceEnd = Math.min(position + chunkSize - chunkHeader.byteLength, data.byteLength);
11354
+ const slice = data.subarray(position, sliceEnd);
11355
+ const chunk = Buffer2.concat([chunkHeader, slice]);
11356
+ chunks.push(Buffer2.alloc(chunkSize).fill(chunk, 0, chunk.byteLength));
11357
+ position = sliceEnd;
11358
+ }
11359
+ return chunks;
11360
+ };
11361
+ var buildMessage = ({ name: name4, data, protocol, thpState }) => {
11362
+ const protobufEncoder = (messageName, data2) => {
11363
+ const { messageType, message } = protobufManager.encode(messageName, data2);
11364
+ return protocol.encode(message, { messageType });
11365
+ };
11366
+ if (protocol.name === "v2") {
11367
+ return protocol_thp_exports.encode({
11368
+ messageName: name4,
11369
+ data,
11370
+ thpState,
11371
+ protobufEncoder: (messageName, data2) => protobufManager.encode(messageName, data2)
11372
+ });
11373
+ }
11374
+ return protobufEncoder(name4, data);
11375
+ };
11376
+ var sendChunks = async (chunks, apiWrite) => {
11377
+ for (let i = 0; i < chunks.length; i++) {
11378
+ const chunk = chunks[i];
11379
+ const result = await apiWrite(chunk);
11380
+ if (!result.success) {
11381
+ return result;
11382
+ }
11383
+ }
11384
+ return { success: true, payload: void 0 };
11385
+ };
11386
+
11387
+ // ../hwk-trezor-transport-common/src/thp/loop.ts
11312
11388
  var thpLoop = async ({
11313
11389
  chunks,
11314
11390
  thpState,
@@ -11345,11 +11421,12 @@ var thpLoop = async ({
11345
11421
  if (!sendResult.success) {
11346
11422
  return sendResult;
11347
11423
  }
11424
+ const firstChunk = chunks[0];
11348
11425
  if (!sendOnly) {
11349
- const expectedResponses = protocol_thp_exports.getExpectedResponses(chunks[0]);
11426
+ const expectedResponses = protocol_thp_exports.getExpectedResponses(firstChunk);
11350
11427
  thpState.setExpectedResponses(expectedResponses);
11351
11428
  }
11352
- const isAckExpected2 = !skipAck && protocol_thp_exports.isAckExpected(chunks[0]);
11429
+ const isAckExpected2 = !skipAck && protocol_thp_exports.isAckExpected(firstChunk);
11353
11430
  if (isAckExpected2) {
11354
11431
  phase = 1 /* READ_ACK */;
11355
11432
  } else if (sendOnly) {
@@ -11476,7 +11553,7 @@ var thpLoop = async ({
11476
11553
  case 4 /* SEND_RECENT_ACK */: {
11477
11554
  debug("SEND_RECENT_ACK");
11478
11555
  const chunk = protocol_thp_exports.encodePreviousAck(thpState);
11479
- const ackResult = await apiWrite(chunk, signal);
11556
+ const ackResult = await apiWrite(chunk, { signal });
11480
11557
  if (!ackResult.success) {
11481
11558
  return ackResult;
11482
11559
  }
@@ -11491,7 +11568,7 @@ var thpLoop = async ({
11491
11568
  const isAckExpected2 = protocol_thp_exports.isAckExpected(thpState.expectedResponses || []);
11492
11569
  debug(`SEND_ACK ${isAckExpected2} with piggyback ${thpState.isPiggybackAckEnabled}`);
11493
11570
  if (!skipAck && isAckExpected2 && !thpState.isPiggybackAckEnabled) {
11494
- const ack = await apiWrite(protocol_thp_exports.encodeAck(thpState), signal);
11571
+ const ack = await apiWrite(protocol_thp_exports.encodeAck(thpState), { signal });
11495
11572
  if (!ack.success) {
11496
11573
  return ack;
11497
11574
  }
@@ -11507,7 +11584,7 @@ var thpLoop = async ({
11507
11584
  return result;
11508
11585
  };
11509
11586
 
11510
- // ../hwk-trezor-transport/src/thp/receive.ts
11587
+ // ../hwk-trezor-transport-common/src/thp/receive.ts
11511
11588
  var parseThpMessage = ({ decoded, thpState }) => {
11512
11589
  const message = protocol_thp_exports.decode(
11513
11590
  decoded,
@@ -11517,7 +11594,7 @@ var parseThpMessage = ({ decoded, thpState }) => {
11517
11594
  return message;
11518
11595
  };
11519
11596
 
11520
- // ../hwk-trezor-transport/src/thp/call.ts
11597
+ // ../hwk-trezor-transport-common/src/thp/call.ts
11521
11598
  init_buffer();
11522
11599
  var callThpMessage = async ({
11523
11600
  thpState,
@@ -11679,6 +11756,13 @@ function shouldMarkThpModuleHandled(entry) {
11679
11756
 
11680
11757
  // src/index.ts
11681
11758
  init_buffer();
11759
+ var unwrapTransportAbortSignal = (options) => {
11760
+ if (!options) return void 0;
11761
+ if ("addEventListener" in options && typeof options.addEventListener === "function") {
11762
+ return options;
11763
+ }
11764
+ return options.signal;
11765
+ };
11682
11766
  var TrezorFailureError = class extends Error {
11683
11767
  code;
11684
11768
  response;
@@ -11732,12 +11816,12 @@ var TrezorCore = class {
11732
11816
  const response = await callThpMessage({
11733
11817
  thpState,
11734
11818
  chunks,
11735
- apiWrite: async (chunk, signal) => {
11736
- await this.transport.write(chunk, signal);
11819
+ apiWrite: async (chunk, options2) => {
11820
+ await this.transport.write(chunk, unwrapTransportAbortSignal(options2));
11737
11821
  return { success: true, payload: void 0 };
11738
11822
  },
11739
- apiRead: async (signal) => {
11740
- const payload = await this.transport.read(signal);
11823
+ apiRead: async (options2) => {
11824
+ const payload = await this.transport.read(unwrapTransportAbortSignal(options2));
11741
11825
  return { success: true, payload: toRuntimeBuffer(payload) };
11742
11826
  },
11743
11827
  signal: options.signal