@silvana-one/orderbook 1.1.31 → 1.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +150 -54
  2. package/dist/node/index.cjs +646 -41
  3. package/dist/node/index.d.ts +1 -0
  4. package/dist/node/index.js +1 -0
  5. package/dist/node/index.js.map +1 -1
  6. package/dist/node/ledger.d.ts +95 -0
  7. package/dist/node/ledger.js +170 -0
  8. package/dist/node/ledger.js.map +1 -0
  9. package/dist/node/orderbook.d.ts +68 -2
  10. package/dist/node/orderbook.js +81 -2
  11. package/dist/node/orderbook.js.map +1 -1
  12. package/dist/node/proto/silvana/ledger/v1/ledger_pb.d.ts +2171 -0
  13. package/dist/node/proto/silvana/ledger/v1/ledger_pb.js +559 -0
  14. package/dist/node/proto/silvana/ledger/v1/ledger_pb.js.map +1 -0
  15. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +602 -3
  16. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +110 -1
  17. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  18. package/dist/node/proto/silvana/settlement/v1/settlement_pb.d.ts +307 -3
  19. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js +131 -44
  20. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  21. package/dist/node/settlement.d.ts +1 -1
  22. package/dist/node/settlement.js +1 -1
  23. package/dist/node/settlement.js.map +1 -1
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/tsconfig.web.tsbuildinfo +1 -1
  26. package/dist/web/index.d.ts +1 -0
  27. package/dist/web/index.js +1 -0
  28. package/dist/web/index.js.map +1 -1
  29. package/dist/web/ledger.d.ts +95 -0
  30. package/dist/web/ledger.js +170 -0
  31. package/dist/web/ledger.js.map +1 -0
  32. package/dist/web/orderbook.d.ts +68 -2
  33. package/dist/web/orderbook.js +81 -2
  34. package/dist/web/orderbook.js.map +1 -1
  35. package/dist/web/proto/silvana/ledger/v1/ledger_pb.d.ts +2171 -0
  36. package/dist/web/proto/silvana/ledger/v1/ledger_pb.js +559 -0
  37. package/dist/web/proto/silvana/ledger/v1/ledger_pb.js.map +1 -0
  38. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +602 -3
  39. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +110 -1
  40. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  41. package/dist/web/proto/silvana/settlement/v1/settlement_pb.d.ts +307 -3
  42. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js +131 -44
  43. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  44. package/dist/web/settlement.d.ts +1 -1
  45. package/dist/web/settlement.js +1 -1
  46. package/dist/web/settlement.js.map +1 -1
  47. package/package.json +7 -6
  48. package/src/index.ts +1 -0
  49. package/src/ledger.ts +267 -0
  50. package/src/orderbook.ts +137 -1
  51. package/src/proto/silvana/ledger/v1/ledger_pb.ts +2531 -0
  52. package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +708 -4
  53. package/src/proto/silvana/settlement/v1/settlement_pb.ts +402 -46
  54. package/src/settlement.ts +12 -0
@@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
  * Describes the file proto/silvana/settlement/v1/settlement.proto.
13
13
  */
14
14
  export const file_proto_silvana_settlement_v1_settlement: GenFile = /*@__PURE__*/
15
- fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKZBQoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgNIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA4gASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDyABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYECABKAlCCwoJX21ldGFkYXRhIokCChZQcmVjb25maXJtYXRpb25SZXF1ZXN0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQgoIcHJvcG9zYWwYAyABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRIYChByZXF1ZXN0aW5nX3BhcnR5GAQgASgJEi4KCnJlc3BvbmRfYnkYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKBXRlcm1zGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl90ZXJtcyK/AgoXUHJlY29uZmlybWF0aW9uRGVjaXNpb24SEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRJACghyZXNwb25zZRgDIAEoDjIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25SZXNwb25zZRIdChByZWplY3Rpb25fcmVhc29uGAQgASgJSACIAQESMAoKY29uZGl0aW9ucxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIRCglzaWduZWRfYnkYBiABKAkSLgoKZGVjaWRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb25CDQoLX2NvbmRpdGlvbnMi2AEKEkR2cENvbnRyYWN0Q3JlYXRlZBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhgKEGR2cF9wcm9wb3NhbF9jaWQYAyABKAkSHgoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgEIAEoCRIWCg5wcm9wb3Nlcl9wYXJ0eRgFIAEoCRIUCgxjb3VudGVycGFydHkYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAirwEKE0R2cENvbnRyYWN0QWNjZXB0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhUKDWR2cF91cGRhdGVfaWQYBCABKAkSEwoLYWNjZXB0ZWRfYnkYBSABKAkSLwoLYWNjZXB0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItsCChBBbGxvY2F0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNAoKcGFydHlfcm9sZRgDIAEoDjIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QYXJ0eVJvbGUSEAoIcGFydHlfaWQYBCABKAkSFgoOYWxsb2NhdGlvbl9jaWQYBSABKAkSHAoUYWxsb2NhdGlvbl91cGRhdGVfaWQYBiABKAkSFQoNaW5zdHJ1bWVudF9pZBgHIAEoCRIQCghxdWFudGl0eRgIIAEoCRIUCgxpc19hbGxvY2F0ZWQYCSABKAgSGgoNZXJyb3JfbWVzc2FnZRgKIAEoCUgAiAEBEjAKDGFsbG9jYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX2Vycm9yX21lc3NhZ2UiqgIKGVNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXMSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhcKD3NldHRsZWRfZHZwX2NpZBgEIAEoCRIcChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCRIkChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GAYgASgJEhUKDWlzX3N1Y2Nlc3NmdWwYByABKAgSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgAiAEBEi4KCnNldHRsZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIooBCg9Vc2VyU2VydmljZUluZm8SEAoIcGFydHlfaWQYASABKAkSGAoQdXNlcl9zZXJ2aWNlX2NpZBgCIAEoCRIbChNvcGVyYXRvcl9jb25maWdfY2lkGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIvkBChNTZXR0bGVtZW50SGFuZHNoYWtlEjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEQoJcGFydHlfaWRzGAIgAygJEj0KDXVzZXJfc2VydmljZXMYAyADKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXNlclNlcnZpY2VJbmZvEhYKDm9wZXJhdG9yX3BhcnR5GAQgASgJEjIKDGNhcGFiaWxpdGllcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIPCg1fY2FwYWJpbGl0aWVzIrgBCgxIYW5kc2hha2VBY2sSEAoIYWNjZXB0ZWQYASABKAgSHQoQcmVqZWN0aW9uX3JlYXNvbhgCIAEoCUgAiAEBEhIKCnNlc3Npb25faWQYAyABKAkSHQoVc3VwcG9ydGVkX2luc3RydW1lbnRzGAQgAygJEi8KC3NlcnZlcl90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfcmVqZWN0aW9uX3JlYXNvbiJnCglIZWFydGJlYXQSEgoKc2Vzc2lvbl9pZBgBIAEoCRItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgDIAEoBCJnChVMaXF1aWRpdHlQcm92aWRlclBpbmcSHwoXbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKoAQoVTGlxdWlkaXR5UHJvdmlkZXJQb25nEh8KF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgAiAEBEi8KC3NlcnZlcl90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSLbBgoVU2VydmVyVG9DYW50b25NZXNzYWdlEhIKCnNlc3Npb25faWQYASABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAIgASgEEjwKDWhhbmRzaGFrZV9hY2sYAyABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuSGFuZHNoYWtlQWNrSAASNQoJaGVhcnRiZWF0GAQgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhlYXJ0YmVhdEgAEkQKCHByb3Bvc2FsGAUgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2VIABJQChdwcmVjb25maXJtYXRpb25fcmVxdWVzdBgGIAEoCzItLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25SZXF1ZXN0SAASQAoLZHZwX2NyZWF0ZWQYByABKAsyKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ29udHJhY3RDcmVhdGVkSAASQgoMZHZwX2FjY2VwdGVkGAggASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0QWNjZXB0ZWRIABJEChFhbGxvY2F0aW9uX3N0YXR1cxgJIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5BbGxvY2F0aW9uU3RhdHVzSAASTQoRc2V0dGxlbWVudF9zdGF0dXMYCiABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV4ZWN1dGlvblN0YXR1c0gAEjsKB2NvbW1hbmQYCyABKAsyKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudENvbW1hbmRIABI3CgVxdWVyeRgMIAEoCzImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UXVlcnlIABI/CgdscF9wb25nGA4gASgLMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkxpcXVpZGl0eVByb3ZpZGVyUG9uZ0gAEisKB3NlbnRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB21lc3NhZ2UisQYKFUNhbnRvblRvU2VydmVyTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI/CgloYW5kc2hha2UYAyABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEhhbmRzaGFrZUgAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJJCg9wcmVjb25maXJtYXRpb24YBSABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb25IABJACgxkdnBfY3JlYXRpb24YBiABKAsyKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ3JlYXRpb25SZXBvcnRIABJECg5kdnBfYWNjZXB0YW5jZRgHIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBBY2NlcHRhbmNlUmVwb3J0SAASPQoKYWxsb2NhdGlvbhgIIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5BbGxvY2F0aW9uUmVwb3J0SAASPQoKc2V0dGxlbWVudBgJIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVwb3J0SAASPQoIcmVzcG9uc2UYCiABKAsyKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFJlc3BvbnNlSAASMwoFZXJyb3IYCyABKAsyIi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRXJyb3JSZXBvcnRIABI1CgZzdGF0dXMYDCABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3RhdHVzVXBkYXRlSAASPwoHbHBfcGluZxgOIAEoCzIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5MaXF1aWRpdHlQcm92aWRlclBpbmdIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIqICChFEdnBDcmVhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2UigQIKE0R2cEFjY2VwdGFuY2VSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhQKB2R2cF9jaWQYBCABKAlIAIgBARIaCg1kdnBfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSLnAgoQQWxsb2NhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEg8KB3N1Y2Nlc3MYBCABKAgSGwoOYWxsb2NhdGlvbl9jaWQYBSABKAlIAIgBARIhChRhbGxvY2F0aW9uX3VwZGF0ZV9pZBgGIAEoCUgBiAEBEhQKDGhvbGRpbmdfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAKIAQESMAoMYWxsb2NhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYWxsb2NhdGlvbl9jaWRCFwoVX2FsbG9jYXRpb25fdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIv4CChBTZXR0bGVtZW50UmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIcCg9zZXR0bGVkX2R2cF9jaWQYBCABKAlIAIgBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCUgBiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBiABKAlIAogBARIVCg1hcmNoaXZlZF9jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIA4gBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIQCg5fZXJyb3JfbWVzc2FnZSKHAgoLRXJyb3JSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USEgoKZXJyb3JfY29kZRgEIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAUgASgJEi0KB2RldGFpbHMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kZXRhaWxzIoYCCgxTdGF0dXNVcGRhdGUSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI9Cg1jdXJyZW50X3N0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIUCgdtZXNzYWdlGAQgASgJSACIAQESLQoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIKCghfbWV0cmljcyLSAwoRU2V0dGxlbWVudENvbW1hbmQSSgoMY29tbWFuZF90eXBlGAEgASgOMjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kLkNvbW1hbmRUeXBlEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkSMAoKcGFyYW1ldGVycxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpleGVjdXRlX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLTAQoLQ29tbWFuZFR5cGUSHAoYQ09NTUFORF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQ09NTUFORF9UWVBFX0NSRUFURV9EVlBfUFJPUE9TQUwQARIbChdDT01NQU5EX1RZUEVfQUNDRVBUX0RWUBACEhkKFUNPTU1BTkRfVFlQRV9BTExPQ0FURRADEhcKE0NPTU1BTkRfVFlQRV9TRVRUTEUQBBIXChNDT01NQU5EX1RZUEVfQ0FOQ0VMEAUSFgoSQ09NTUFORF9UWVBFX1JFVFJZEAZCDQoLX3BhcmFtZXRlcnMi3wMKD1NldHRsZW1lbnRRdWVyeRJECgpxdWVyeV90eXBlGAEgASgOMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeS5RdWVyeVR5cGUSFQoIcGFydHlfaWQYAiABKAlIAIgBARIYCgtjb250cmFjdF9pZBgDIAEoCUgBiAEBEhoKDWluc3RydW1lbnRfaWQYBCABKAlIAogBARIwCgpwYXJhbWV0ZXJzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBIsgBCglRdWVyeVR5cGUSGgoWUVVFUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1FVRVJZX1RZUEVfR0VUX0hPTERJTkdTEAESHwobUVVFUllfVFlQRV9HRVRfVVNFUl9TRVJWSUNFEAISGwoXUVVFUllfVFlQRV9HRVRfQ09OVFJBQ1QQAxIkCiBRVUVSWV9UWVBFX0dFVF9BTExPQ0FUSU9OX1NUQVRVUxAEEh4KGlFVRVJZX1RZUEVfQ0hFQ0tfTElRVUlESVRZEAVCCwoJX3BhcnR5X2lkQg4KDF9jb250cmFjdF9pZEIQCg5faW5zdHJ1bWVudF9pZEINCgtfcGFyYW1ldGVycyKuAQoSU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEioKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESMAoMcmVzcG9uZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIHCgVfZGF0YSKBAQoaR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBQggKBl9saW1pdCJxChtHZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USQwoJcHJvcG9zYWxzGAEgAygLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USDQoFdG90YWwYAiABKA0iaAoaR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIVCg1zZXR0bGVtZW50X2lkGAIgASgJIqcDCg1EdnBTdGVwU3RhdHVzEhEKCXN0ZXBfbmFtZRgBIAEoCRI4CgZzdGF0dXMYAiABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1c0VudW0SGAoLY29udHJhY3RfaWQYAyABKAlIAIgBARIWCgl1cGRhdGVfaWQYBCABKAlIAYgBARIzCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhoKDWVycm9yX21lc3NhZ2UYBiABKAlIA4gBARIZCgxjb25maXJtZWRfYnkYByABKAlIBIgBARJFChFjb25maXJtZWRfYnlfcm9sZRgIIAEoDjIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRlZEJ5Um9sZUgFiAEBQg4KDF9jb250cmFjdF9pZEIMCgpfdXBkYXRlX2lkQg0KC191cGRhdGVkX2F0QhAKDl9lcnJvcl9tZXNzYWdlQg8KDV9jb25maXJtZWRfYnlCFAoSX2NvbmZpcm1lZF9ieV9yb2xlIpoKChtHZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USGgoNZXJyb3JfbWVzc2FnZRgEIAEoCUgAiAEBEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkYKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgKIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkcKGWR2cF9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYCyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJNCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSTgogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDSABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI5CgtkdnBfcmVxdWVzdBgOIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEjgKCmR2cF9hY2NlcHQYDyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI+ChBhbGxvY2F0aW9uX2J1eWVyGBAgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSPwoRYWxsb2NhdGlvbl9zZWxsZXIYESABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI4CgpzZXR0bGVtZW50GBIgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSSAoadHJhZmZpY19jb21wZW5zYXRpb25fYnV5ZXIYEyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJJCht0cmFmZmljX2NvbXBlbnNhdGlvbl9zZWxsZXIYFCABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI9Cg9wcmVjb25maXJtYXRpb24YFSABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJDChVwcmVjb25maXJtYXRpb25fYnV5ZXIYFiABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJEChZwcmVjb25maXJtYXRpb25fc2VsbGVyGBcgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSPAoRYnV5ZXJfbmV4dF9hY3Rpb24YGCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuTmV4dEFjdGlvbhI9ChJzZWxsZXJfbmV4dF9hY3Rpb24YGSABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuTmV4dEFjdGlvbkIQCg5fZXJyb3JfbWVzc2FnZSKVAQocU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEkAKCGRlY2lzaW9uGAIgASgLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvbkRlY2lzaW9uInkKGERpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZRITCgtjb250cmFjdF9pZBgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgCIAEoCRIaChJjcmVhdGVkX2V2ZW50X2Jsb2IYAyABKAkSFwoPc3luY2hyb25pemVyX2lkGAQgASgJIqsBChxTYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSQQoIY29udHJhY3QYAyABKAsyLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlIkEKHVNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGAQocR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhIKBW93bmVyGAMgASgJSACIAQFCCAoGX293bmVyImMKHUdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEkIKCWNvbnRyYWN0cxgBIAMoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2Ui3AIKF1JlY29yZFNldHRsZW1lbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSFwoPc2V0dGxlZF9kdnBfY2lkGAMgASgJEhwKFHNldHRsZW1lbnRfdXBkYXRlX2lkGAQgASgJEiQKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBSABKAkSFAoHZHZwX2NpZBgGIAEoCUgAiAEBEiEKFGFsbG9jYXRpb25fYnV5ZXJfY2lkGAcgASgJSAGIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAggASgJSAKIAQFCCgoIX2R2cF9jaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWQiUwoYUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJIrYJChhSZWNvcmRUcmFuc2FjdGlvblJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIsCgZ1cGRhdGUYFiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESGAoQZGFtbF90ZW1wbGF0ZV9pZBgXIAEoCRITCgtkYW1sX2Nob2ljZRgYIAEoCRIyCgxkYW1sX2Nob2ljZXMYGSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQFCDAoKX3VwZGF0ZV9pZEIQCg5fc3VibWlzc2lvbl9pZEIZChdfc2V0dGxlbWVudF9wcm9wb3NhbF9pZEIMCgpfbWFya2V0X2lkQg8KDV9jb3VudGVycGFydHlCDgoMX2NvbnRyYWN0X2lkQg4KDF9jaG9pY2VfbmFtZUIJCgdfYW1vdW50QhEKD19yZXdhcmRzX2Ftb3VudEIQCg5fcmV3YXJkc19yb3VuZEISChBfdHJhZmZpY19yZXF1ZXN0QhMKEV90cmFmZmljX3Jlc3BvbnNlQhAKDl90cmFmZmljX3RvdGFsQhoKGF9hY3Rpdml0eV9tYXJrZXJfY3JlYXRlZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCCQoHX3VwZGF0ZUIPCg1fZGFtbF9jaG9pY2VzIlUKGVJlY29yZFRyYW5zYWN0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgEIpEDChxHZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSGQoMc2VuZGVyX3BhcnR5GAIgASgJSACIAQESPAoHdHhfdHlwZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5UcmFuc2FjdGlvblR5cGVIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAQgASgJSAKIAQESPQoGcmVzdWx0GAUgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0SAOIAQESEgoFbGltaXQYBiABKA1IBIgBARITCgZvZmZzZXQYByABKA1IBYgBAUIPCg1fc2VuZGVyX3BhcnR5QgoKCF90eF90eXBlQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgkKB19yZXN1bHRCCAoGX2xpbWl0QgkKB19vZmZzZXQidAodR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVzcG9uc2USRAoMdHJhbnNhY3Rpb25zGAEgAygLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uSGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAIgASgNIrwJChdUcmFuc2FjdGlvbkhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoBBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIuCgpjcmVhdGVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgZ1cGRhdGUYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESGAoQZGFtbF90ZW1wbGF0ZV9pZBgYIAEoCRITCgtkYW1sX2Nob2ljZRgZIAEoCRIyCgxkYW1sX2Nob2ljZXMYGiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQFCDAoKX3VwZGF0ZV9pZEIQCg5fc3VibWlzc2lvbl9pZEIZChdfc2V0dGxlbWVudF9wcm9wb3NhbF9pZEIMCgpfbWFya2V0X2lkQg8KDV9jb3VudGVycGFydHlCDgoMX2NvbnRyYWN0X2lkQg4KDF9jaG9pY2VfbmFtZUIJCgdfYW1vdW50QhEKD19yZXdhcmRzX2Ftb3VudEIQCg5fcmV3YXJkc19yb3VuZEISChBfdHJhZmZpY19yZXF1ZXN0QhMKEV90cmFmZmljX3Jlc3BvbnNlQhAKDl90cmFmZmljX3RvdGFsQhoKGF9hY3Rpdml0eV9tYXJrZXJfY3JlYXRlZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCCQoHX3VwZGF0ZUIPCg1fZGFtbF9jaG9pY2VzIs8EChxSZWNvcmRTZXR0bGVtZW50RXZlbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSEwoLcmVjb3JkZWRfYnkYAyABKAkSPwoQcmVjb3JkZWRfYnlfcm9sZRgEIAEoDjIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRlZEJ5Um9sZRI+CgpldmVudF90eXBlGAUgASgOMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFR5cGUSGgoNc3VibWlzc2lvbl9pZBgGIAEoCUgAiAEBEhYKCXVwZGF0ZV9pZBgHIAEoCUgBiAEBEhgKC2NvbnRyYWN0X2lkGAggASgJSAKIAQESGAoLdGVtcGxhdGVfaWQYCSABKAlIA4gBARI8CgZyZXN1bHQYCiABKA4yLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50UmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYCyABKAlIBIgBARIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBAUIQCg5fc3VibWlzc2lvbl9pZEIMCgpfdXBkYXRlX2lkQg4KDF9jb250cmFjdF9pZEIOCgxfdGVtcGxhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2VCCwoJX21ldGFkYXRhIlMKHVJlY29yZFNldHRsZW1lbnRFdmVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIQCghldmVudF9pZBgDIAEoBCLHAgobR2V0U2V0dGxlbWVudEhpc3RvcnlSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSQwoKZXZlbnRfdHlwZRgDIAEoDjIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRUeXBlSACIAQESQQoGcmVzdWx0GAQgASgOMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFJlc3VsdEgBiAEBEhIKBWxpbWl0GAUgASgNSAKIAQESEwoGb2Zmc2V0GAYgASgNSAOIAQFCDQoLX2V2ZW50X3R5cGVCCQoHX3Jlc3VsdEIICgZfbGltaXRCCQoHX29mZnNldCJsChxHZXRTZXR0bGVtZW50SGlzdG9yeVJlc3BvbnNlEj0KBmV2ZW50cxgBIAMoCzItLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAIgASgNItAEChZTZXR0bGVtZW50SGlzdG9yeUVudHJ5EgoKAmlkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhMKC3JlY29yZGVkX2J5GAMgASgJEj8KEHJlY29yZGVkX2J5X3JvbGUYBCABKA4yJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkZWRCeVJvbGUSPgoKZXZlbnRfdHlwZRgFIAEoDjIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRUeXBlEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAIgBARIWCgl1cGRhdGVfaWQYByABKAlIAYgBARIYCgtjb250cmFjdF9pZBgIIAEoCUgCiAEBEhgKC3RlbXBsYXRlX2lkGAkgASgJSAOIAQESPAoGcmVzdWx0GAogASgOMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFJlc3VsdBIaCg1lcnJvcl9tZXNzYWdlGAsgASgJSASIAQESLgoIbWV0YWRhdGEYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX3N1Ym1pc3Npb25faWRCDAoKX3VwZGF0ZV9pZEIOCgxfY29udHJhY3RfaWRCDgoMX3RlbXBsYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSLZAgobVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSUAoKbmV3X3N0YXR1cxgDIAEoDjI8LnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVQcm9wb3NhbFN0YXR1c1JlcXVlc3QuTmV3U3RhdHVzEhoKDWVycm9yX21lc3NhZ2UYBCABKAlIAIgBASJwCglOZXdTdGF0dXMSGgoWTkVXX1NUQVRVU19VTlNQRUNJRklFRBAAEhYKEk5FV19TVEFUVVNfU0VUVExFRBABEhgKFE5FV19TVEFUVVNfQ0FOQ0VMTEVEEAISFQoRTkVXX1NUQVRVU19GQUlMRUQQA0IQCg5fZXJyb3JfbWVzc2FnZSJAChxVcGRhdGVQcm9wb3NhbFN0YXR1c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKIAQogR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlcXVlc3QSPwoLY2FudG9uX2F1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGhIAIgBARITCgtwcm9wb3NhbF9pZBgDIAEoCUIOCgxfY2FudG9uX2F1dGgidgohR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlc3BvbnNlEg0KBWZvdW5kGAEgASgIEkIKCHByb3Bvc2FsGAIgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2UqhQQKD1NldHRsZW1lbnRTdGFnZRIgChxTRVRUTEVNRU5UX1NUQUdFX1VOU1BFQ0lGSUVEEAASJgoiU0VUVExFTUVOVF9TVEFHRV9QUk9QT1NBTF9SRUNFSVZFRBABEiwKKFNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUFUSU9OX1BFTkRJTkcQAhIhCh1TRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1FRBADEioKJlNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFUSU5HEAQSKQolU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRFRBAFEiIKHlNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVElORxAGEiEKHVNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVEVEEAcSHwobU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FUSU5HEAgSHgoaU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FURUQQCRIdChlTRVRUTEVNRU5UX1NUQUdFX1NFVFRMSU5HEAoSHAoYU0VUVExFTUVOVF9TVEFHRV9TRVRUTEVEEAsSGwoXU0VUVExFTUVOVF9TVEFHRV9GQUlMRUQQDBIeChpTRVRUTEVNRU5UX1NUQUdFX0NBTkNFTExFRBANKo0BChdQcmVjb25maXJtYXRpb25SZXNwb25zZRIoCiRQUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfVU5TUEVDSUZJRUQQABIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfQUNDRVBUEAESIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1JFSkVDVBACKm0KCVBhcnR5Um9sZRIaChZQQVJUWV9ST0xFX1VOU1BFQ0lGSUVEEAASFAoQUEFSVFlfUk9MRV9CVVlFUhABEhUKEVBBUlRZX1JPTEVfU0VMTEVSEAISFwoTUEFSVFlfUk9MRV9PUEVSQVRPUhADKvwDCg9UcmFuc2FjdGlvblR5cGUSIAocVFJBTlNBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEikKJVRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX1JFUVVFU1QQARIwCixUUkFOU0FDVElPTl9UWVBFX1VTRVJfU0VSVklDRV9SRVFVRVNUX0FDQ0VQVBACEigKJFRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX0NBTkNFTBADEiAKHFRSQU5TQUNUSU9OX1RZUEVfRFZQX1BST1BPU0UQBBIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9BQ0NFUFQQBRIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9DQU5DRUwQBhIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9TRVRUTEUQBxIdChlUUkFOU0FDVElPTl9UWVBFX0FMTE9DQVRFEAgSJAogVFJBTlNBQ1RJT05fVFlQRV9BTExPQ0FURV9DQU5DRUwQCRIhCh1UUkFOU0FDVElPTl9UWVBFX0ZFRV9UUkFOU0ZFUhAKEhoKFlRSQU5TQUNUSU9OX1RZUEVfTUVSR0UQCxIbChdUUkFOU0FDVElPTl9UWVBFX1VOTE9DSxAMEhoKFlRSQU5TQUNUSU9OX1RZUEVfT1RIRVIQDSqdAQoKU2VuZGVyVHlwZRIbChdTRU5ERVJfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNFTkRFUl9UWVBFX09QRVJBVE9SEAESFAoQU0VOREVSX1RZUEVfVVNFUhACEhUKEVNFTkRFUl9UWVBFX0JVWUVSEAMSFgoSU0VOREVSX1RZUEVfU0VMTEVSEAQSEwoPU0VOREVSX1RZUEVfQVBQEAUqlgEKEVRyYW5zYWN0aW9uUmVzdWx0EiIKHlRSQU5TQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9QRU5ESU5HEAESHgoaVFJBTlNBQ1RJT05fUkVTVUxUX1NVQ0NFU1MQAhIdChlUUkFOU0FDVElPTl9SRVNVTFRfRkFJTEVEEAMq8xMKE1NldHRsZW1lbnRFdmVudFR5cGUSJQohU0VUVExFTUVOVF9FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9CVVlFUl9TVUJNSVRURUQQARI8CjhTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1BST0NFU1NJTkdfRkVFX0JVWUVSX0NPTVBMRVRFRBACEjsKN1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQAxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfU1VCTUlUVEVEEAQSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX0NPTVBMRVRFRBAFEi8KK1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVRVUVTVF9XSVRORVNTRUQQBhIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfUkVKRUNURUQQBxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfQ0FOQ0VMTEVEEAgSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEAkSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfQ09NUExFVEVEEAoSPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfUkVDRUlWRUQQCxIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9TVUJNSVRURUQQDBIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9DT01QTEVURUQQDRIwCixTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVEVEX1dJVE5FU1NFRBAOEiYKIlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVKRUNURUQQDxInCiNTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1dJVEhEUkFXThAQEicKI1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfQ0FOQ0VMTEVEEBESQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfU1VCTUlUVEVEEBISQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfQ09NUExFVEVEEBMSQgo+U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQFBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9TVUJNSVRURUQQFRI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DT01QTEVURUQQFhI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRORVNTRUQQFxI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRIRFJBV04QGBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DQU5DRUxMRUQQGRJECkBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEBoSRApAU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfU0VMTEVSX0NPTVBMRVRFRBAbEkMKP1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX1NFTExFUl9SRUNFSVZFRBAcEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9TVUJNSVRURUQQHRI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ09NUExFVEVEEB4SNQoxU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fU0VMTEVSX1dJVE5FU1NFRBAfEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9XSVRIRFJBV04QIBI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ0FOQ0VMTEVEECESLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfU1VCTUlUVEVEECISLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfQ09NUExFVEVEECMSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfV0lUTkVTU0VEECQSPgo6U0VUVExFTUVOVF9FVkVOVF9UWVBFX1RSQUZGSUNfQ09NUEVOU0FUSU9OX0JVWUVSX1NVQk1JVFRFRBAlEj4KOlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9CVVlFUl9DT01QTEVURUQQJhI/CjtTRVRUTEVNRU5UX0VWRU5UX1RZUEVfVFJBRkZJQ19DT01QRU5TQVRJT05fU0VMTEVSX1NVQk1JVFRFRBAnEj8KO1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9TRUxMRVJfQ09NUExFVEVEECgSMwovU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9SRVFVRVNURUQQKRIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0JVWUVSECoSMAosU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9TRUxMRVIQKxIzCi9TRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0NBTkNFTExFRBAsEiEKHVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9USU1FT1VUEC0qpwEKDlJlY29yZGVkQnlSb2xlEiAKHFJFQ09SREVEX0JZX1JPTEVfVU5TUEVDSUZJRUQQABIaChZSRUNPUkRFRF9CWV9ST0xFX0JVWUVSEAESGwoXUkVDT1JERURfQllfUk9MRV9TRUxMRVIQAhIdChlSRUNPUkRFRF9CWV9ST0xFX09QRVJBVE9SEAMSGwoXUkVDT1JERURfQllfUk9MRV9TWVNURU0QBCriAQoKTmV4dEFjdGlvbhIUChBORVhUX0FDVElPTl9OT05FEAASGgoWTkVYVF9BQ1RJT05fUFJFQ09ORklSTRABEhsKF05FWFRfQUNUSU9OX1BBWV9EVlBfRkVFEAISGgoWTkVYVF9BQ1RJT05fQ1JFQVRFX0RWUBADEhoKFk5FWFRfQUNUSU9OX0FDQ0VQVF9EVlAQBBIdChlORVhUX0FDVElPTl9QQVlfQUxMT0NfRkVFEAUSGAoUTkVYVF9BQ1RJT05fQUxMT0NBVEUQBhIUChBORVhUX0FDVElPTl9XQUlUEAcq0wEKFVNldHRsZW1lbnRFdmVudFJlc3VsdBInCiNTRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9VTlNQRUNJRklFRBAAEiMKH1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1BFTkRJTkcQARIjCh9TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9TVUNDRVNTEAISIgoeU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfRkFJTEVEEAMSIwofU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfVElNRU9VVBAEKsMCChFEdnBTdGVwU3RhdHVzRW51bRIfChtEVlBfU1RFUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIbChdEVlBfU1RFUF9TVEFUVVNfUEVORElORxABEh0KGURWUF9TVEVQX1NUQVRVU19TVUJNSVRURUQQAhIdChlEVlBfU1RFUF9TVEFUVVNfQ09NUExFVEVEEAMSHQoZRFZQX1NURVBfU1RBVFVTX0NPTkZJUk1FRBAEEhoKFkRWUF9TVEVQX1NUQVRVU19GQUlMRUQQBRIcChhEVlBfU1RFUF9TVEFUVVNfUkVKRUNURUQQBhIdChlEVlBfU1RFUF9TVEFUVVNfV0lUSERSQVdOEAcSHQoZRFZQX1NURVBfU1RBVFVTX0NBTkNFTExFRBAIEhsKF0RWUF9TVEVQX1NUQVRVU19USU1FT1VUEAky/QwKEVNldHRsZW1lbnRTZXJ2aWNlEnIKEFNldHRsZW1lbnRTdHJlYW0SLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlGiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNlcnZlclRvQ2FudG9uTWVzc2FnZSgBMAESfAoTR2V0UGVuZGluZ1Byb3Bvc2FscxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USfAoTR2V0U2V0dGxlbWVudFN0YXR1cxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USZAoVU3VibWl0UHJlY29uZmlybWF0aW9uEjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlN1Ym1pdFByZWNvbmZpcm1hdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSggEKFVNhdmVEaXNjbG9zZWRDb250cmFjdBIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEoIBChVHZXREaXNjbG9zZWRDb250cmFjdHMSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXNwb25zZRJzChBSZWNvcmRTZXR0bGVtZW50Ei4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXF1ZXN0Gi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXNwb25zZRJ2ChFSZWNvcmRUcmFuc2FjdGlvbhIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRUcmFuc2FjdGlvblJlcXVlc3QaMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkVHJhbnNhY3Rpb25SZXNwb25zZRKCAQoVR2V0VHJhbnNhY3Rpb25IaXN0b3J5EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFRyYW5zYWN0aW9uSGlzdG9yeVJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVzcG9uc2USggEKFVJlY29yZFNldHRsZW1lbnRFdmVudBIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRTZXR0bGVtZW50RXZlbnRSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRFdmVudFJlc3BvbnNlEn8KFEdldFNldHRsZW1lbnRIaXN0b3J5EjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRIaXN0b3J5UmVxdWVzdBozLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50SGlzdG9yeVJlc3BvbnNlEn8KFFVwZGF0ZVByb3Bvc2FsU3RhdHVzEjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVxdWVzdBozLnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVQcm9wb3NhbFN0YXR1c1Jlc3BvbnNlEo4BChlHZXRTZXR0bGVtZW50UHJvcG9zYWxCeUlkEjcuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXF1ZXN0Gjguc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXNwb25zZUI1WjNnaXRodWIuY29tL1NpbHZhbmFPbmUvY2FudG9uLWFnZW50L3Byb3RvO3NldHRsZW1lbnRiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKZBQoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgNIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA4gASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDyABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYECABKAlCCwoJX21ldGFkYXRhIokCChZQcmVjb25maXJtYXRpb25SZXF1ZXN0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQgoIcHJvcG9zYWwYAyABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRIYChByZXF1ZXN0aW5nX3BhcnR5GAQgASgJEi4KCnJlc3BvbmRfYnkYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKBXRlcm1zGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl90ZXJtcyK/AgoXUHJlY29uZmlybWF0aW9uRGVjaXNpb24SEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRJACghyZXNwb25zZRgDIAEoDjIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25SZXNwb25zZRIdChByZWplY3Rpb25fcmVhc29uGAQgASgJSACIAQESMAoKY29uZGl0aW9ucxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIRCglzaWduZWRfYnkYBiABKAkSLgoKZGVjaWRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb25CDQoLX2NvbmRpdGlvbnMi2AEKEkR2cENvbnRyYWN0Q3JlYXRlZBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhgKEGR2cF9wcm9wb3NhbF9jaWQYAyABKAkSHgoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgEIAEoCRIWCg5wcm9wb3Nlcl9wYXJ0eRgFIAEoCRIUCgxjb3VudGVycGFydHkYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAirwEKE0R2cENvbnRyYWN0QWNjZXB0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhUKDWR2cF91cGRhdGVfaWQYBCABKAkSEwoLYWNjZXB0ZWRfYnkYBSABKAkSLwoLYWNjZXB0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItsCChBBbGxvY2F0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNAoKcGFydHlfcm9sZRgDIAEoDjIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QYXJ0eVJvbGUSEAoIcGFydHlfaWQYBCABKAkSFgoOYWxsb2NhdGlvbl9jaWQYBSABKAkSHAoUYWxsb2NhdGlvbl91cGRhdGVfaWQYBiABKAkSFQoNaW5zdHJ1bWVudF9pZBgHIAEoCRIQCghxdWFudGl0eRgIIAEoCRIUCgxpc19hbGxvY2F0ZWQYCSABKAgSGgoNZXJyb3JfbWVzc2FnZRgKIAEoCUgAiAEBEjAKDGFsbG9jYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX2Vycm9yX21lc3NhZ2UiqgIKGVNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXMSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhcKD3NldHRsZWRfZHZwX2NpZBgEIAEoCRIcChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCRIkChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GAYgASgJEhUKDWlzX3N1Y2Nlc3NmdWwYByABKAgSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgAiAEBEi4KCnNldHRsZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIooBCg9Vc2VyU2VydmljZUluZm8SEAoIcGFydHlfaWQYASABKAkSGAoQdXNlcl9zZXJ2aWNlX2NpZBgCIAEoCRIbChNvcGVyYXRvcl9jb25maWdfY2lkGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrsCChNTZXR0bGVtZW50SGFuZHNoYWtlEjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEQoJcGFydHlfaWRzGAIgAygJEj0KDXVzZXJfc2VydmljZXMYAyADKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXNlclNlcnZpY2VJbmZvEhYKDm9wZXJhdG9yX3BhcnR5GAQgASgJEjIKDGNhcGFiaWxpdGllcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIkChdsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZRgGIAEoCUgBiAEBQg8KDV9jYXBhYmlsaXRpZXNCGgoYX2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lIrgBCgxIYW5kc2hha2VBY2sSEAoIYWNjZXB0ZWQYASABKAgSHQoQcmVqZWN0aW9uX3JlYXNvbhgCIAEoCUgAiAEBEhIKCnNlc3Npb25faWQYAyABKAkSHQoVc3VwcG9ydGVkX2luc3RydW1lbnRzGAQgAygJEi8KC3NlcnZlcl90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfcmVqZWN0aW9uX3JlYXNvbiJnCglIZWFydGJlYXQSEgoKc2Vzc2lvbl9pZBgBIAEoCRItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgDIAEoBCJnChVMaXF1aWRpdHlQcm92aWRlclBpbmcSHwoXbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKoAQoVTGlxdWlkaXR5UHJvdmlkZXJQb25nEh8KF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgAiAEBEi8KC3NlcnZlcl90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSLZAQoKUmZxUmVxdWVzdBIOCgZyZnFfaWQYASABKAkSEQoJbWFya2V0X2lkGAIgASgJEjYKCWRpcmVjdGlvbhgDIAEoDjIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZnFEaXJlY3Rpb24SEAoIcXVhbnRpdHkYBCABKAkSLgoKcmVzcG9uZF9ieRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwgMKCFJmcVF1b3RlEg4KBnJmcV9pZBgBIAEoCRIQCghxdW90ZV9pZBgCIAEoCRIRCgltYXJrZXRfaWQYAyABKAkSNgoJZGlyZWN0aW9uGAQgASgOMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJmcURpcmVjdGlvbhIQCghxdWFudGl0eRgFIAEoCRINCgVwcmljZRgGIAEoCRIWCg5xdW90ZV9xdWFudGl0eRgHIAEoCRIWCg52YWxpZF9mb3Jfc2VjcxgIIAEoDRIvCgt2YWxpZF91bnRpbBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLbHBfcGFydHlfaWQYCiABKAkSDwoHbHBfbmFtZRgLIAEoCRItCglxdW90ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiEKFGFsbG9jYXRlX2JlZm9yZV9zZWNzGA0gASgNSACIAQESHwoSc2V0dGxlX2JlZm9yZV9zZWNzGA4gASgNSAGIAQFCFwoVX2FsbG9jYXRlX2JlZm9yZV9zZWNzQhUKE19zZXR0bGVfYmVmb3JlX3NlY3MiswIKCVJmcVJlamVjdBIOCgZyZnFfaWQYASABKAkSEwoLbHBfcGFydHlfaWQYAiABKAkSDwoHbHBfbmFtZRgDIAEoCRI5CgZyZWFzb24YBCABKA4yKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmZxUmVqZWN0aW9uUmVhc29uEhoKDXJlYXNvbl9kZXRhaWwYBSABKAlIAIgBARIvCgtyZWplY3RlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoMbWluX3F1YW50aXR5GAcgASgJSAGIAQESGQoMbWF4X3F1YW50aXR5GAggASgJSAKIAQFCEAoOX3JlYXNvbl9kZXRhaWxCDwoNX21pbl9xdWFudGl0eUIPCg1fbWF4X3F1YW50aXR5IpUHChVTZXJ2ZXJUb0NhbnRvbk1lc3NhZ2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9zZXF1ZW5jZV9udW1iZXIYAiABKAQSPAoNaGFuZHNoYWtlX2FjaxgDIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IYW5kc2hha2VBY2tIABI1CgloZWFydGJlYXQYBCABKAsyIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuSGVhcnRiZWF0SAASRAoIcHJvcG9zYWwYBSABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZUgAElAKF3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0GAYgASgLMi0uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvblJlcXVlc3RIABJACgtkdnBfY3JlYXRlZBgHIAEoCzIpLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdENyZWF0ZWRIABJCCgxkdnBfYWNjZXB0ZWQYCCABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ29udHJhY3RBY2NlcHRlZEgAEkQKEWFsbG9jYXRpb25fc3RhdHVzGAkgASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkFsbG9jYXRpb25TdGF0dXNIABJNChFzZXR0bGVtZW50X3N0YXR1cxgKIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzSAASOwoHY29tbWFuZBgLIAEoCzIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50Q29tbWFuZEgAEjcKBXF1ZXJ5GAwgASgLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeUgAEj8KB2xwX3BvbmcYDiABKAsyLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuTGlxdWlkaXR5UHJvdmlkZXJQb25nSAASOAoLcmZxX3JlcXVlc3QYDyABKAsyIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmZxUmVxdWVzdEgAEisKB3NlbnRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB21lc3NhZ2UinwcKFUNhbnRvblRvU2VydmVyTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI/CgloYW5kc2hha2UYAyABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEhhbmRzaGFrZUgAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJJCg9wcmVjb25maXJtYXRpb24YBSABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb25IABJACgxkdnBfY3JlYXRpb24YBiABKAsyKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ3JlYXRpb25SZXBvcnRIABJECg5kdnBfYWNjZXB0YW5jZRgHIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBBY2NlcHRhbmNlUmVwb3J0SAASPQoKYWxsb2NhdGlvbhgIIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5BbGxvY2F0aW9uUmVwb3J0SAASPQoKc2V0dGxlbWVudBgJIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVwb3J0SAASPQoIcmVzcG9uc2UYCiABKAsyKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFJlc3BvbnNlSAASMwoFZXJyb3IYCyABKAsyIi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRXJyb3JSZXBvcnRIABI1CgZzdGF0dXMYDCABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3RhdHVzVXBkYXRlSAASPwoHbHBfcGluZxgOIAEoCzIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5MaXF1aWRpdHlQcm92aWRlclBpbmdIABI0CglyZnFfcXVvdGUYDyABKAsyHy5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmZxUXVvdGVIABI2CgpyZnFfcmVqZWN0GBAgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJmcVJlamVjdEgAEisKB3NlbnRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB21lc3NhZ2UiogIKEUR2cENyZWF0aW9uUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIdChBkdnBfcHJvcG9zYWxfY2lkGAQgASgJSACIAQESIwoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgFIAEoCUgBiAEBEhoKDWVycm9yX21lc3NhZ2UYBiABKAlIAogBARIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfZHZwX3Byb3Bvc2FsX2NpZEIZChdfZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSKBAgoTRHZwQWNjZXB0YW5jZVJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSFAoHZHZwX2NpZBgEIAEoCUgAiAEBEhoKDWR2cF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLwoLYWNjZXB0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kdnBfY2lkQhAKDl9kdnBfdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIucCChBBbGxvY2F0aW9uUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNAoKcGFydHlfcm9sZRgDIAEoDjIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QYXJ0eVJvbGUSDwoHc3VjY2VzcxgEIAEoCBIbCg5hbGxvY2F0aW9uX2NpZBgFIAEoCUgAiAEBEiEKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJSAGIAQESFAoMaG9sZGluZ19jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAogBARIwCgxhbGxvY2F0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19hbGxvY2F0aW9uX2NpZEIXChVfYWxsb2NhdGlvbl91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2Ui/gIKEFNldHRsZW1lbnRSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhwKD3NldHRsZWRfZHZwX2NpZBgEIAEoCUgAiAEBEiEKFHNldHRsZW1lbnRfdXBkYXRlX2lkGAUgASgJSAGIAQESKQocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCUgCiAEBEhUKDWFyY2hpdmVkX2NpZHMYByADKAkSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgDiAEBEi4KCnNldHRsZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhIKEF9zZXR0bGVkX2R2cF9jaWRCFwoVX3NldHRsZW1lbnRfdXBkYXRlX2lkQh8KHV9zZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0QhAKDl9lcnJvcl9tZXNzYWdlIocCCgtFcnJvclJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjUKBXN0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRISCgplcnJvcl9jb2RlGAQgASgJEhUKDWVycm9yX21lc3NhZ2UYBSABKAkSLQoHZGV0YWlscxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIvCgtvY2N1cnJlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2RldGFpbHMihgIKDFN0YXR1c1VwZGF0ZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEj0KDWN1cnJlbnRfc3RhZ2UYAyABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlEhQKB21lc3NhZ2UYBCABKAlIAIgBARItCgdtZXRyaWNzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9tZXNzYWdlQgoKCF9tZXRyaWNzItIDChFTZXR0bGVtZW50Q29tbWFuZBJKCgxjb21tYW5kX3R5cGUYASABKA4yNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudENvbW1hbmQuQ29tbWFuZFR5cGUSEwoLcHJvcG9zYWxfaWQYAiABKAkSFQoNc2V0dGxlbWVudF9pZBgDIAEoCRIwCgpwYXJhbWV0ZXJzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmV4ZWN1dGVfYnkYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItMBCgtDb21tYW5kVHlwZRIcChhDT01NQU5EX1RZUEVfVU5TUEVDSUZJRUQQABIkCiBDT01NQU5EX1RZUEVfQ1JFQVRFX0RWUF9QUk9QT1NBTBABEhsKF0NPTU1BTkRfVFlQRV9BQ0NFUFRfRFZQEAISGQoVQ09NTUFORF9UWVBFX0FMTE9DQVRFEAMSFwoTQ09NTUFORF9UWVBFX1NFVFRMRRAEEhcKE0NPTU1BTkRfVFlQRV9DQU5DRUwQBRIWChJDT01NQU5EX1RZUEVfUkVUUlkQBkINCgtfcGFyYW1ldGVycyLfAwoPU2V0dGxlbWVudFF1ZXJ5EkQKCnF1ZXJ5X3R5cGUYASABKA4yMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5LlF1ZXJ5VHlwZRIVCghwYXJ0eV9pZBgCIAEoCUgAiAEBEhgKC2NvbnRyYWN0X2lkGAMgASgJSAGIAQESGgoNaW5zdHJ1bWVudF9pZBgEIAEoCUgCiAEBEjAKCnBhcmFtZXRlcnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQEiyAEKCVF1ZXJ5VHlwZRIaChZRVUVSWV9UWVBFX1VOU1BFQ0lGSUVEEAASGwoXUVVFUllfVFlQRV9HRVRfSE9MRElOR1MQARIfChtRVUVSWV9UWVBFX0dFVF9VU0VSX1NFUlZJQ0UQAhIbChdRVUVSWV9UWVBFX0dFVF9DT05UUkFDVBADEiQKIFFVRVJZX1RZUEVfR0VUX0FMTE9DQVRJT05fU1RBVFVTEAQSHgoaUVVFUllfVFlQRV9DSEVDS19MSVFVSURJVFkQBUILCglfcGFydHlfaWRCDgoMX2NvbnRyYWN0X2lkQhAKDl9pbnN0cnVtZW50X2lkQg0KC19wYXJhbWV0ZXJzIq4BChJTZXR0bGVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIUCgdtZXNzYWdlGAIgASgJSACIAQESKgoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIwCgxyZXNwb25kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9tZXNzYWdlQgcKBV9kYXRhIoEBChpHZXRQZW5kaW5nUHJvcG9zYWxzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAIgASgJEhIKBWxpbWl0GAMgASgNSACIAQFCCAoGX2xpbWl0InEKG0dldFBlbmRpbmdQcm9wb3NhbHNSZXNwb25zZRJDCglwcm9wb3NhbHMYASADKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRINCgV0b3RhbBgCIAEoDSJoChpHZXRTZXR0bGVtZW50U3RhdHVzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhUKDXNldHRsZW1lbnRfaWQYAiABKAkipwMKDUR2cFN0ZXBTdGF0dXMSEQoJc3RlcF9uYW1lGAEgASgJEjgKBnN0YXR1cxgCIAEoDjIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzRW51bRIYCgtjb250cmFjdF9pZBgDIAEoCUgAiAEBEhYKCXVwZGF0ZV9pZBgEIAEoCUgBiAEBEjMKCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgDiAEBEhkKDGNvbmZpcm1lZF9ieRgHIAEoCUgEiAEBEkUKEWNvbmZpcm1lZF9ieV9yb2xlGAggASgOMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZGVkQnlSb2xlSAWIAQFCDgoMX2NvbnRyYWN0X2lkQgwKCl91cGRhdGVfaWRCDQoLX3VwZGF0ZWRfYXRCEAoOX2Vycm9yX21lc3NhZ2VCDwoNX2NvbmZpcm1lZF9ieUIUChJfY29uZmlybWVkX2J5X3JvbGUimgoKG0dldFNldHRsZW1lbnRTdGF0dXNSZXNwb25zZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjUKBXN0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQESLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRgoYZHZwX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAogASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSRwoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgLIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEk0KH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDCABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJOCiBhbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgNIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEjkKC2R2cF9yZXF1ZXN0GA4gASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSOAoKZHZwX2FjY2VwdBgPIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEj4KEGFsbG9jYXRpb25fYnV5ZXIYECABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI/ChFhbGxvY2F0aW9uX3NlbGxlchgRIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEjgKCnNldHRsZW1lbnQYEiABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJIChp0cmFmZmljX2NvbXBlbnNhdGlvbl9idXllchgTIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkkKG3RyYWZmaWNfY29tcGVuc2F0aW9uX3NlbGxlchgUIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEj0KD3ByZWNvbmZpcm1hdGlvbhgVIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkMKFXByZWNvbmZpcm1hdGlvbl9idXllchgWIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkQKFnByZWNvbmZpcm1hdGlvbl9zZWxsZXIYFyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI8ChFidXllcl9uZXh0X2FjdGlvbhgYIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5OZXh0QWN0aW9uEj0KEnNlbGxlcl9uZXh0X2FjdGlvbhgZIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5OZXh0QWN0aW9uQhAKDl9lcnJvcl9tZXNzYWdlIpUBChxTdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSQAoIZGVjaXNpb24YAiABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb24ieQoYRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlEhMKC2NvbnRyYWN0X2lkGAEgASgJEhMKC3RlbXBsYXRlX2lkGAIgASgJEhoKEmNyZWF0ZWRfZXZlbnRfYmxvYhgDIAEoCRIXCg9zeW5jaHJvbml6ZXJfaWQYBCABKAkiqwEKHFNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRJBCghjb250cmFjdBgDIAEoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2UiQQodU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIoYBChxHZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSEgoFb3duZXIYAyABKAlIAIgBAUIICgZfb3duZXIiYwodR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVzcG9uc2USQgoJY29udHJhY3RzGAEgAygLMi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLkRpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZSLcAgoXUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYAyABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBCABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgFIAEoCRIUCgdkdnBfY2lkGAYgASgJSACIAQESIQoUYWxsb2NhdGlvbl9idXllcl9jaWQYByABKAlIAYgBARIiChVhbGxvY2F0aW9uX3NlbGxlcl9jaWQYCCABKAlIAogBAUIKCghfZHZwX2NpZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZCJTChhSZWNvcmRTZXR0bGVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAki1AkKGFJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhIKBXRva2VuGBsgASgJSAiIAQESGwoOcmV3YXJkc19hbW91bnQYDSABKAlICYgBARIaCg1yZXdhcmRzX3JvdW5kGA4gASgESAqIAQESHAoPdHJhZmZpY19yZXF1ZXN0GA8gASgESAuIAQESHQoQdHJhZmZpY19yZXNwb25zZRgQIAEoBEgMiAEBEhoKDXRyYWZmaWNfdG90YWwYESABKARIDYgBARIkChdhY3Rpdml0eV9tYXJrZXJfY3JlYXRlZBgSIAEoBEgOiAEBEjgKBnJlc3VsdBgTIAEoDjIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5UcmFuc2FjdGlvblJlc3VsdBIaCg1lcnJvcl9tZXNzYWdlGBQgASgJSA+IAQESLgoIbWV0YWRhdGEYFSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESLAoGdXBkYXRlGBYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgRiAEBEhgKEGRhbWxfdGVtcGxhdGVfaWQYFyABKAkSEwoLZGFtbF9jaG9pY2UYGCABKAkSMgoMZGFtbF9jaG9pY2VzGBkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgSiAEBQgwKCl91cGRhdGVfaWRCEAoOX3N1Ym1pc3Npb25faWRCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCDAoKX21hcmtldF9pZEIPCg1fY291bnRlcnBhcnR5Qg4KDF9jb250cmFjdF9pZEIOCgxfY2hvaWNlX25hbWVCCQoHX2Ftb3VudEIICgZfdG9rZW5CEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXMiVQoZUmVjb3JkVHJhbnNhY3Rpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAQikQMKHEdldFRyYW5zYWN0aW9uSGlzdG9yeVJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIZCgxzZW5kZXJfcGFydHkYAiABKAlIAIgBARI8Cgd0eF90eXBlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZUgBiAEBEiMKFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYBCABKAlIAogBARI9CgZyZXN1bHQYBSABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHRIA4gBARISCgVsaW1pdBgGIAEoDUgEiAEBEhMKBm9mZnNldBgHIAEoDUgFiAEBQg8KDV9zZW5kZXJfcGFydHlCCgoIX3R4X3R5cGVCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCCQoHX3Jlc3VsdEIICgZfbGltaXRCCQoHX29mZnNldCJ0Ch1HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZRJECgx0cmFuc2FjdGlvbnMYASADKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25IaXN0b3J5RW50cnkSDQoFdG90YWwYAiABKA0i2gkKF1RyYW5zYWN0aW9uSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgEEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhIKBXRva2VuGBsgASgJSAiIAQESGwoOcmV3YXJkc19hbW91bnQYDSABKAlICYgBARIaCg1yZXdhcmRzX3JvdW5kGA4gASgESAqIAQESHAoPdHJhZmZpY19yZXF1ZXN0GA8gASgESAuIAQESHQoQdHJhZmZpY19yZXNwb25zZRgQIAEoBEgMiAEBEhoKDXRyYWZmaWNfdG90YWwYESABKARIDYgBARIkChdhY3Rpdml0eV9tYXJrZXJfY3JlYXRlZBgSIAEoBEgOiAEBEjgKBnJlc3VsdBgTIAEoDjIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5UcmFuc2FjdGlvblJlc3VsdBIaCg1lcnJvcl9tZXNzYWdlGBQgASgJSA+IAQESLgoIbWV0YWRhdGEYFSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESLgoKY3JlYXRlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoGdXBkYXRlGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgRiAEBEhgKEGRhbWxfdGVtcGxhdGVfaWQYGCABKAkSEwoLZGFtbF9jaG9pY2UYGSABKAkSMgoMZGFtbF9jaG9pY2VzGBogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgSiAEBQgwKCl91cGRhdGVfaWRCEAoOX3N1Ym1pc3Npb25faWRCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCDAoKX21hcmtldF9pZEIPCg1fY291bnRlcnBhcnR5Qg4KDF9jb250cmFjdF9pZEIOCgxfY2hvaWNlX25hbWVCCQoHX2Ftb3VudEIICgZfdG9rZW5CEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXMizwQKHFJlY29yZFNldHRsZW1lbnRFdmVudFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRITCgtyZWNvcmRlZF9ieRgDIAEoCRI/ChByZWNvcmRlZF9ieV9yb2xlGAQgASgOMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZGVkQnlSb2xlEj4KCmV2ZW50X3R5cGUYBSABKA4yKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50VHlwZRIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSACIAQESFgoJdXBkYXRlX2lkGAcgASgJSAGIAQESGAoLY29udHJhY3RfaWQYCCABKAlIAogBARIYCgt0ZW1wbGF0ZV9pZBgJIAEoCUgDiAEBEjwKBnJlc3VsdBgKIAEoDjIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRSZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgLIAEoCUgEiAEBEi4KCG1ldGFkYXRhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBQhAKDl9zdWJtaXNzaW9uX2lkQgwKCl91cGRhdGVfaWRCDgoMX2NvbnRyYWN0X2lkQg4KDF90ZW1wbGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGEiUwodUmVjb3JkU2V0dGxlbWVudEV2ZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhAKCGV2ZW50X2lkGAMgASgEIscCChtHZXRTZXR0bGVtZW50SGlzdG9yeVJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRJDCgpldmVudF90eXBlGAMgASgOMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFR5cGVIAIgBARJBCgZyZXN1bHQYBCABKA4yLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50UmVzdWx0SAGIAQESEgoFbGltaXQYBSABKA1IAogBARITCgZvZmZzZXQYBiABKA1IA4gBAUINCgtfZXZlbnRfdHlwZUIJCgdfcmVzdWx0QggKBl9saW1pdEIJCgdfb2Zmc2V0ImwKHEdldFNldHRsZW1lbnRIaXN0b3J5UmVzcG9uc2USPQoGZXZlbnRzGAEgAygLMi0uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRIaXN0b3J5RW50cnkSDQoFdG90YWwYAiABKA0i0AQKFlNldHRsZW1lbnRIaXN0b3J5RW50cnkSCgoCaWQYASABKAQSEwoLcHJvcG9zYWxfaWQYAiABKAkSEwoLcmVjb3JkZWRfYnkYAyABKAkSPwoQcmVjb3JkZWRfYnlfcm9sZRgEIAEoDjIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRlZEJ5Um9sZRI+CgpldmVudF90eXBlGAUgASgOMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFR5cGUSGgoNc3VibWlzc2lvbl9pZBgGIAEoCUgAiAEBEhYKCXVwZGF0ZV9pZBgHIAEoCUgBiAEBEhgKC2NvbnRyYWN0X2lkGAggASgJSAKIAQESGAoLdGVtcGxhdGVfaWQYCSABKAlIA4gBARI8CgZyZXN1bHQYCiABKA4yLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50UmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYCyABKAlIBIgBARIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fc3VibWlzc2lvbl9pZEIMCgpfdXBkYXRlX2lkQg4KDF9jb250cmFjdF9pZEIOCgxfdGVtcGxhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2VCCwoJX21ldGFkYXRhItkCChtVcGRhdGVQcm9wb3NhbFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRJQCgpuZXdfc3RhdHVzGAMgASgOMjwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVxdWVzdC5OZXdTdGF0dXMSGgoNZXJyb3JfbWVzc2FnZRgEIAEoCUgAiAEBInAKCU5ld1N0YXR1cxIaChZORVdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFgoSTkVXX1NUQVRVU19TRVRUTEVEEAESGAoUTkVXX1NUQVRVU19DQU5DRUxMRUQQAhIVChFORVdfU1RBVFVTX0ZBSUxFRBADQhAKDl9lcnJvcl9tZXNzYWdlIkAKHFVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIogBCiBHZXRTZXR0bGVtZW50UHJvcG9zYWxCeUlkUmVxdWVzdBI/CgtjYW50b25fYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aEgAiAEBEhMKC3Byb3Bvc2FsX2lkGAMgASgJQg4KDF9jYW50b25fYXV0aCJ2CiFHZXRTZXR0bGVtZW50UHJvcG9zYWxCeUlkUmVzcG9uc2USDQoFZm91bmQYASABKAgSQgoIcHJvcG9zYWwYAiABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZSqFBAoPU2V0dGxlbWVudFN0YWdlEiAKHFNFVFRMRU1FTlRfU1RBR0VfVU5TUEVDSUZJRUQQABImCiJTRVRUTEVNRU5UX1NUQUdFX1BST1BPU0FMX1JFQ0VJVkVEEAESLAooU0VUVExFTUVOVF9TVEFHRV9QUkVDT05GSVJNQVRJT05fUEVORElORxACEiEKHVNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUVEEAMSKgomU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRJTkcQBBIpCiVTRVRUTEVNRU5UX1NUQUdFX0RWUF9QUk9QT1NBTF9DUkVBVEVEEAUSIgoeU0VUVExFTUVOVF9TVEFHRV9EVlBfQUNDRVBUSU5HEAYSIQodU0VUVExFTUVOVF9TVEFHRV9EVlBfQUNDRVBURUQQBxIfChtTRVRUTEVNRU5UX1NUQUdFX0FMTE9DQVRJTkcQCBIeChpTRVRUTEVNRU5UX1NUQUdFX0FMTE9DQVRFRBAJEh0KGVNFVFRMRU1FTlRfU1RBR0VfU0VUVExJTkcQChIcChhTRVRUTEVNRU5UX1NUQUdFX1NFVFRMRUQQCxIbChdTRVRUTEVNRU5UX1NUQUdFX0ZBSUxFRBAMEh4KGlNFVFRMRU1FTlRfU1RBR0VfQ0FOQ0VMTEVEEA0qjQEKF1ByZWNvbmZpcm1hdGlvblJlc3BvbnNlEigKJFBSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9VTlNQRUNJRklFRBAAEiMKH1BSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9BQ0NFUFQQARIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfUkVKRUNUEAIqbQoJUGFydHlSb2xlEhoKFlBBUlRZX1JPTEVfVU5TUEVDSUZJRUQQABIUChBQQVJUWV9ST0xFX0JVWUVSEAESFQoRUEFSVFlfUk9MRV9TRUxMRVIQAhIXChNQQVJUWV9ST0xFX09QRVJBVE9SEAMqmwQKD1RyYW5zYWN0aW9uVHlwZRIgChxUUkFOU0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASKQolVFJBTlNBQ1RJT05fVFlQRV9VU0VSX1NFUlZJQ0VfUkVRVUVTVBABEjAKLFRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX1JFUVVFU1RfQUNDRVBUEAISKAokVFJBTlNBQ1RJT05fVFlQRV9VU0VSX1NFUlZJQ0VfQ0FOQ0VMEAMSIAocVFJBTlNBQ1RJT05fVFlQRV9EVlBfUFJPUE9TRRAEEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX0FDQ0VQVBAFEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX0NBTkNFTBAGEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX1NFVFRMRRAHEh0KGVRSQU5TQUNUSU9OX1RZUEVfQUxMT0NBVEUQCBIkCiBUUkFOU0FDVElPTl9UWVBFX0FMTE9DQVRFX0NBTkNFTBAJEiEKHVRSQU5TQUNUSU9OX1RZUEVfRkVFX1RSQU5TRkVSEAoSGgoWVFJBTlNBQ1RJT05fVFlQRV9NRVJHRRALEhsKF1RSQU5TQUNUSU9OX1RZUEVfVU5MT0NLEAwSGgoWVFJBTlNBQ1RJT05fVFlQRV9PVEhFUhANEh0KGVRSQU5TQUNUSU9OX1RZUEVfVFJBTlNGRVIQDiqdAQoKU2VuZGVyVHlwZRIbChdTRU5ERVJfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNFTkRFUl9UWVBFX09QRVJBVE9SEAESFAoQU0VOREVSX1RZUEVfVVNFUhACEhUKEVNFTkRFUl9UWVBFX0JVWUVSEAMSFgoSU0VOREVSX1RZUEVfU0VMTEVSEAQSEwoPU0VOREVSX1RZUEVfQVBQEAUqlgEKEVRyYW5zYWN0aW9uUmVzdWx0EiIKHlRSQU5TQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9QRU5ESU5HEAESHgoaVFJBTlNBQ1RJT05fUkVTVUxUX1NVQ0NFU1MQAhIdChlUUkFOU0FDVElPTl9SRVNVTFRfRkFJTEVEEAMq8xMKE1NldHRsZW1lbnRFdmVudFR5cGUSJQohU0VUVExFTUVOVF9FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9CVVlFUl9TVUJNSVRURUQQARI8CjhTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1BST0NFU1NJTkdfRkVFX0JVWUVSX0NPTVBMRVRFRBACEjsKN1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQAxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfU1VCTUlUVEVEEAQSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX0NPTVBMRVRFRBAFEi8KK1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVRVUVTVF9XSVRORVNTRUQQBhIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfUkVKRUNURUQQBxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfQ0FOQ0VMTEVEEAgSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEAkSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfQ09NUExFVEVEEAoSPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfUkVDRUlWRUQQCxIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9TVUJNSVRURUQQDBIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9DT01QTEVURUQQDRIwCixTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVEVEX1dJVE5FU1NFRBAOEiYKIlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVKRUNURUQQDxInCiNTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1dJVEhEUkFXThAQEicKI1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfQ0FOQ0VMTEVEEBESQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfU1VCTUlUVEVEEBISQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfQ09NUExFVEVEEBMSQgo+U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQFBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9TVUJNSVRURUQQFRI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DT01QTEVURUQQFhI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRORVNTRUQQFxI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRIRFJBV04QGBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DQU5DRUxMRUQQGRJECkBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEBoSRApAU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfU0VMTEVSX0NPTVBMRVRFRBAbEkMKP1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX1NFTExFUl9SRUNFSVZFRBAcEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9TVUJNSVRURUQQHRI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ09NUExFVEVEEB4SNQoxU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fU0VMTEVSX1dJVE5FU1NFRBAfEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9XSVRIRFJBV04QIBI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ0FOQ0VMTEVEECESLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfU1VCTUlUVEVEECISLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfQ09NUExFVEVEECMSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfV0lUTkVTU0VEECQSPgo6U0VUVExFTUVOVF9FVkVOVF9UWVBFX1RSQUZGSUNfQ09NUEVOU0FUSU9OX0JVWUVSX1NVQk1JVFRFRBAlEj4KOlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9CVVlFUl9DT01QTEVURUQQJhI/CjtTRVRUTEVNRU5UX0VWRU5UX1RZUEVfVFJBRkZJQ19DT01QRU5TQVRJT05fU0VMTEVSX1NVQk1JVFRFRBAnEj8KO1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9TRUxMRVJfQ09NUExFVEVEECgSMwovU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9SRVFVRVNURUQQKRIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0JVWUVSECoSMAosU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9TRUxMRVIQKxIzCi9TRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0NBTkNFTExFRBAsEiEKHVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9USU1FT1VUEC0qpwEKDlJlY29yZGVkQnlSb2xlEiAKHFJFQ09SREVEX0JZX1JPTEVfVU5TUEVDSUZJRUQQABIaChZSRUNPUkRFRF9CWV9ST0xFX0JVWUVSEAESGwoXUkVDT1JERURfQllfUk9MRV9TRUxMRVIQAhIdChlSRUNPUkRFRF9CWV9ST0xFX09QRVJBVE9SEAMSGwoXUkVDT1JERURfQllfUk9MRV9TWVNURU0QBCriAQoKTmV4dEFjdGlvbhIUChBORVhUX0FDVElPTl9OT05FEAASGgoWTkVYVF9BQ1RJT05fUFJFQ09ORklSTRABEhsKF05FWFRfQUNUSU9OX1BBWV9EVlBfRkVFEAISGgoWTkVYVF9BQ1RJT05fQ1JFQVRFX0RWUBADEhoKFk5FWFRfQUNUSU9OX0FDQ0VQVF9EVlAQBBIdChlORVhUX0FDVElPTl9QQVlfQUxMT0NfRkVFEAUSGAoUTkVYVF9BQ1RJT05fQUxMT0NBVEUQBhIUChBORVhUX0FDVElPTl9XQUlUEAcqXAoMUmZxRGlyZWN0aW9uEh0KGVJGUV9ESVJFQ1RJT05fVU5TUEVDSUZJRUQQABIVChFSRlFfRElSRUNUSU9OX0JVWRABEhYKElJGUV9ESVJFQ1RJT05fU0VMTBACKs4CChJSZnFSZWplY3Rpb25SZWFzb24SJAogUkZRX1JFSkVDVElPTl9SRUFTT05fVU5TUEVDSUZJRUQQABItCilSRlFfUkVKRUNUSU9OX1JFQVNPTl9NQVJLRVRfTk9UX1NVUFBPUlRFRBABEikKJVJGUV9SRUpFQ1RJT05fUkVBU09OX0FNT1VOVF9UT09fTEFSR0UQAhIpCiVSRlFfUkVKRUNUSU9OX1JFQVNPTl9BTU9VTlRfVE9PX1NNQUxMEAMSLworUkZRX1JFSkVDVElPTl9SRUFTT05fSU5TVUZGSUNJRU5UX0lOVkVOVE9SWRAEEioKJlJGUV9SRUpFQ1RJT05fUkVBU09OX01BUktFVF9DT05ESVRJT05TEAUSMAosUkZRX1JFSkVDVElPTl9SRUFTT05fVEVNUE9SQVJJTFlfVU5BVkFJTEFCTEUQBirTAQoVU2V0dGxlbWVudEV2ZW50UmVzdWx0EicKI1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1VOU1BFQ0lGSUVEEAASIwofU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfUEVORElORxABEiMKH1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1NVQ0NFU1MQAhIiCh5TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9GQUlMRUQQAxIjCh9TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9USU1FT1VUEAQqwwIKEUR2cFN0ZXBTdGF0dXNFbnVtEh8KG0RWUF9TVEVQX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF0RWUF9TVEVQX1NUQVRVU19QRU5ESU5HEAESHQoZRFZQX1NURVBfU1RBVFVTX1NVQk1JVFRFRBACEh0KGURWUF9TVEVQX1NUQVRVU19DT01QTEVURUQQAxIdChlEVlBfU1RFUF9TVEFUVVNfQ09ORklSTUVEEAQSGgoWRFZQX1NURVBfU1RBVFVTX0ZBSUxFRBAFEhwKGERWUF9TVEVQX1NUQVRVU19SRUpFQ1RFRBAGEh0KGURWUF9TVEVQX1NUQVRVU19XSVRIRFJBV04QBxIdChlEVlBfU1RFUF9TVEFUVVNfQ0FOQ0VMTEVEEAgSGwoXRFZQX1NURVBfU1RBVFVTX1RJTUVPVVQQCTL9DAoRU2V0dGxlbWVudFNlcnZpY2UScgoQU2V0dGxlbWVudFN0cmVhbRIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ub1NlcnZlck1lc3NhZ2UaLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VydmVyVG9DYW50b25NZXNzYWdlKAEwARJ8ChNHZXRQZW5kaW5nUHJvcG9zYWxzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXNwb25zZRJ8ChNHZXRTZXR0bGVtZW50U3RhdHVzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXNwb25zZRJkChVTdWJtaXRQcmVjb25maXJtYXRpb24SMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRKCAQoVU2F2ZURpc2Nsb3NlZENvbnRyYWN0EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USggEKFUdldERpc2Nsb3NlZENvbnRyYWN0cxIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEnMKEFJlY29yZFNldHRsZW1lbnQSLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QaLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEnYKEVJlY29yZFRyYW5zYWN0aW9uEi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBowLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRUcmFuc2FjdGlvblJlc3BvbnNlEoIBChVHZXRUcmFuc2FjdGlvbkhpc3RvcnkSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZRKCAQoVUmVjb3JkU2V0dGxlbWVudEV2ZW50EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRFdmVudFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudEV2ZW50UmVzcG9uc2USfwoUR2V0U2V0dGxlbWVudEhpc3RvcnkSMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudEhpc3RvcnlSZXF1ZXN0GjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRIaXN0b3J5UmVzcG9uc2USfwoUVXBkYXRlUHJvcG9zYWxTdGF0dXMSMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXF1ZXN0GjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVzcG9uc2USjgEKGUdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWQSNy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlcXVlc3QaOC5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlc3BvbnNlQjVaM2dpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87c2V0dGxlbWVudGIGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * Canton node authentication (using Canton party JWT)
@@ -645,6 +645,13 @@ export type SettlementHandshake = Message<"silvana.settlement.v1.SettlementHands
645
645
  * @generated from field: optional google.protobuf.Struct capabilities = 5;
646
646
  */
647
647
  capabilities?: JsonObject;
648
+
649
+ /**
650
+ * If set, this agent is a liquidity provider
651
+ *
652
+ * @generated from field: optional string liquidity_provider_name = 6;
653
+ */
654
+ liquidityProviderName?: string;
648
655
  };
649
656
 
650
657
  /**
@@ -792,6 +799,232 @@ export type LiquidityProviderPong = Message<"silvana.settlement.v1.LiquidityProv
792
799
  export const LiquidityProviderPongSchema: GenMessage<LiquidityProviderPong> = /*@__PURE__*/
793
800
  messageDesc(file_proto_silvana_settlement_v1_settlement, 14);
794
801
 
802
+ /**
803
+ * RFQ request from server to LP agent (via stream) — anonymous: no requesting party
804
+ *
805
+ * @generated from message silvana.settlement.v1.RfqRequest
806
+ */
807
+ export type RfqRequest = Message<"silvana.settlement.v1.RfqRequest"> & {
808
+ /**
809
+ * UUIDv7 — unique per RFQ session
810
+ *
811
+ * @generated from field: string rfq_id = 1;
812
+ */
813
+ rfqId: string;
814
+
815
+ /**
816
+ * @generated from field: string market_id = 2;
817
+ */
818
+ marketId: string;
819
+
820
+ /**
821
+ * What the USER wants to do (buy/sell)
822
+ *
823
+ * @generated from field: silvana.settlement.v1.RfqDirection direction = 3;
824
+ */
825
+ direction: RfqDirection;
826
+
827
+ /**
828
+ * DECIMAL(38,10) as string — base instrument quantity
829
+ *
830
+ * @generated from field: string quantity = 4;
831
+ */
832
+ quantity: string;
833
+
834
+ /**
835
+ * Server-enforced deadline for LP response
836
+ *
837
+ * @generated from field: google.protobuf.Timestamp respond_by = 5;
838
+ */
839
+ respondBy?: Timestamp;
840
+
841
+ /**
842
+ * @generated from field: google.protobuf.Timestamp created_at = 6;
843
+ */
844
+ createdAt?: Timestamp;
845
+ };
846
+
847
+ /**
848
+ * Describes the message silvana.settlement.v1.RfqRequest.
849
+ * Use `create(RfqRequestSchema)` to create a new message.
850
+ */
851
+ export const RfqRequestSchema: GenMessage<RfqRequest> = /*@__PURE__*/
852
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 15);
853
+
854
+ /**
855
+ * RFQ quote response from LP agent to server (via stream)
856
+ *
857
+ * @generated from message silvana.settlement.v1.RfqQuote
858
+ */
859
+ export type RfqQuote = Message<"silvana.settlement.v1.RfqQuote"> & {
860
+ /**
861
+ * Must match RfqRequest.rfq_id
862
+ *
863
+ * @generated from field: string rfq_id = 1;
864
+ */
865
+ rfqId: string;
866
+
867
+ /**
868
+ * UUIDv7 — unique per quote
869
+ *
870
+ * @generated from field: string quote_id = 2;
871
+ */
872
+ quoteId: string;
873
+
874
+ /**
875
+ * @generated from field: string market_id = 3;
876
+ */
877
+ marketId: string;
878
+
879
+ /**
880
+ * Echoes the request direction
881
+ *
882
+ * @generated from field: silvana.settlement.v1.RfqDirection direction = 4;
883
+ */
884
+ direction: RfqDirection;
885
+
886
+ /**
887
+ * DECIMAL(38,10) as string — base quantity being quoted
888
+ *
889
+ * @generated from field: string quantity = 5;
890
+ */
891
+ quantity: string;
892
+
893
+ /**
894
+ * DECIMAL(38,10) as string — price per unit of base
895
+ *
896
+ * @generated from field: string price = 6;
897
+ */
898
+ price: string;
899
+
900
+ /**
901
+ * DECIMAL(38,10) as string — total quote instrument amount (price × quantity)
902
+ *
903
+ * @generated from field: string quote_quantity = 7;
904
+ */
905
+ quoteQuantity: string;
906
+
907
+ /**
908
+ * How many seconds this quote is valid
909
+ *
910
+ * @generated from field: uint32 valid_for_secs = 8;
911
+ */
912
+ validForSecs: number;
913
+
914
+ /**
915
+ * Absolute expiry
916
+ *
917
+ * @generated from field: google.protobuf.Timestamp valid_until = 9;
918
+ */
919
+ validUntil?: Timestamp;
920
+
921
+ /**
922
+ * LP's Canton party ID (the counterparty for DVP)
923
+ *
924
+ * @generated from field: string lp_party_id = 10;
925
+ */
926
+ lpPartyId: string;
927
+
928
+ /**
929
+ * LP display name
930
+ *
931
+ * @generated from field: string lp_name = 11;
932
+ */
933
+ lpName: string;
934
+
935
+ /**
936
+ * @generated from field: google.protobuf.Timestamp quoted_at = 12;
937
+ */
938
+ quotedAt?: Timestamp;
939
+
940
+ /**
941
+ * Seconds from DVP creation for allocation deadline
942
+ *
943
+ * @generated from field: optional uint32 allocate_before_secs = 13;
944
+ */
945
+ allocateBeforeSecs?: number;
946
+
947
+ /**
948
+ * Seconds from DVP creation for settlement deadline
949
+ *
950
+ * @generated from field: optional uint32 settle_before_secs = 14;
951
+ */
952
+ settleBeforeSecs?: number;
953
+ };
954
+
955
+ /**
956
+ * Describes the message silvana.settlement.v1.RfqQuote.
957
+ * Use `create(RfqQuoteSchema)` to create a new message.
958
+ */
959
+ export const RfqQuoteSchema: GenMessage<RfqQuote> = /*@__PURE__*/
960
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 16);
961
+
962
+ /**
963
+ * RFQ rejection from LP agent to server (via stream)
964
+ *
965
+ * @generated from message silvana.settlement.v1.RfqReject
966
+ */
967
+ export type RfqReject = Message<"silvana.settlement.v1.RfqReject"> & {
968
+ /**
969
+ * Must match RfqRequest.rfq_id
970
+ *
971
+ * @generated from field: string rfq_id = 1;
972
+ */
973
+ rfqId: string;
974
+
975
+ /**
976
+ * LP's Canton party ID
977
+ *
978
+ * @generated from field: string lp_party_id = 2;
979
+ */
980
+ lpPartyId: string;
981
+
982
+ /**
983
+ * LP display name
984
+ *
985
+ * @generated from field: string lp_name = 3;
986
+ */
987
+ lpName: string;
988
+
989
+ /**
990
+ * @generated from field: silvana.settlement.v1.RfqRejectionReason reason = 4;
991
+ */
992
+ reason: RfqRejectionReason;
993
+
994
+ /**
995
+ * Human-readable detail
996
+ *
997
+ * @generated from field: optional string reason_detail = 5;
998
+ */
999
+ reasonDetail?: string;
1000
+
1001
+ /**
1002
+ * @generated from field: google.protobuf.Timestamp rejected_at = 6;
1003
+ */
1004
+ rejectedAt?: Timestamp;
1005
+
1006
+ /**
1007
+ * LP's min acceptable quantity (set on AmountTooSmall/AmountTooLarge)
1008
+ *
1009
+ * @generated from field: optional string min_quantity = 7;
1010
+ */
1011
+ minQuantity?: string;
1012
+
1013
+ /**
1014
+ * LP's max acceptable quantity (set on AmountTooSmall/AmountTooLarge)
1015
+ *
1016
+ * @generated from field: optional string max_quantity = 8;
1017
+ */
1018
+ maxQuantity?: string;
1019
+ };
1020
+
1021
+ /**
1022
+ * Describes the message silvana.settlement.v1.RfqReject.
1023
+ * Use `create(RfqRejectSchema)` to create a new message.
1024
+ */
1025
+ export const RfqRejectSchema: GenMessage<RfqReject> = /*@__PURE__*/
1026
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 17);
1027
+
795
1028
  /**
796
1029
  * Stream message from server to Canton node
797
1030
  *
@@ -873,12 +1106,20 @@ export type ServerToCantonMessage = Message<"silvana.settlement.v1.ServerToCanto
873
1106
  case: "query";
874
1107
  } | {
875
1108
  /**
876
- * Pong acknowledgment for LP activity ping
1109
+ * Pong acknowledgment for LP activity ping (deprecated)
877
1110
  *
878
1111
  * @generated from field: silvana.settlement.v1.LiquidityProviderPong lp_pong = 14;
879
1112
  */
880
1113
  value: LiquidityProviderPong;
881
1114
  case: "lpPong";
1115
+ } | {
1116
+ /**
1117
+ * RFQ request to LP agent
1118
+ *
1119
+ * @generated from field: silvana.settlement.v1.RfqRequest rfq_request = 15;
1120
+ */
1121
+ value: RfqRequest;
1122
+ case: "rfqRequest";
882
1123
  } | { case: undefined; value?: undefined };
883
1124
 
884
1125
  /**
@@ -892,7 +1133,7 @@ export type ServerToCantonMessage = Message<"silvana.settlement.v1.ServerToCanto
892
1133
  * Use `create(ServerToCantonMessageSchema)` to create a new message.
893
1134
  */
894
1135
  export const ServerToCantonMessageSchema: GenMessage<ServerToCantonMessage> = /*@__PURE__*/
895
- messageDesc(file_proto_silvana_settlement_v1_settlement, 15);
1136
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 18);
896
1137
 
897
1138
  /**
898
1139
  * Stream message from Canton node to server
@@ -975,12 +1216,28 @@ export type CantonToServerMessage = Message<"silvana.settlement.v1.CantonToServe
975
1216
  case: "status";
976
1217
  } | {
977
1218
  /**
978
- * Ping from settlement agent for LP activity
1219
+ * Ping from settlement agent (deprecated)
979
1220
  *
980
1221
  * @generated from field: silvana.settlement.v1.LiquidityProviderPing lp_ping = 14;
981
1222
  */
982
1223
  value: LiquidityProviderPing;
983
1224
  case: "lpPing";
1225
+ } | {
1226
+ /**
1227
+ * LP quote response
1228
+ *
1229
+ * @generated from field: silvana.settlement.v1.RfqQuote rfq_quote = 15;
1230
+ */
1231
+ value: RfqQuote;
1232
+ case: "rfqQuote";
1233
+ } | {
1234
+ /**
1235
+ * LP rejection response
1236
+ *
1237
+ * @generated from field: silvana.settlement.v1.RfqReject rfq_reject = 16;
1238
+ */
1239
+ value: RfqReject;
1240
+ case: "rfqReject";
984
1241
  } | { case: undefined; value?: undefined };
985
1242
 
986
1243
  /**
@@ -994,7 +1251,7 @@ export type CantonToServerMessage = Message<"silvana.settlement.v1.CantonToServe
994
1251
  * Use `create(CantonToServerMessageSchema)` to create a new message.
995
1252
  */
996
1253
  export const CantonToServerMessageSchema: GenMessage<CantonToServerMessage> = /*@__PURE__*/
997
- messageDesc(file_proto_silvana_settlement_v1_settlement, 16);
1254
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 19);
998
1255
 
999
1256
  /**
1000
1257
  * Report DVP proposal creation
@@ -1045,7 +1302,7 @@ export type DvpCreationReport = Message<"silvana.settlement.v1.DvpCreationReport
1045
1302
  * Use `create(DvpCreationReportSchema)` to create a new message.
1046
1303
  */
1047
1304
  export const DvpCreationReportSchema: GenMessage<DvpCreationReport> = /*@__PURE__*/
1048
- messageDesc(file_proto_silvana_settlement_v1_settlement, 17);
1305
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 20);
1049
1306
 
1050
1307
  /**
1051
1308
  * Report DVP acceptance
@@ -1096,7 +1353,7 @@ export type DvpAcceptanceReport = Message<"silvana.settlement.v1.DvpAcceptanceRe
1096
1353
  * Use `create(DvpAcceptanceReportSchema)` to create a new message.
1097
1354
  */
1098
1355
  export const DvpAcceptanceReportSchema: GenMessage<DvpAcceptanceReport> = /*@__PURE__*/
1099
- messageDesc(file_proto_silvana_settlement_v1_settlement, 18);
1356
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 21);
1100
1357
 
1101
1358
  /**
1102
1359
  * Report allocation completion
@@ -1159,7 +1416,7 @@ export type AllocationReport = Message<"silvana.settlement.v1.AllocationReport">
1159
1416
  * Use `create(AllocationReportSchema)` to create a new message.
1160
1417
  */
1161
1418
  export const AllocationReportSchema: GenMessage<AllocationReport> = /*@__PURE__*/
1162
- messageDesc(file_proto_silvana_settlement_v1_settlement, 19);
1419
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 22);
1163
1420
 
1164
1421
  /**
1165
1422
  * Report settlement completion
@@ -1222,7 +1479,7 @@ export type SettlementReport = Message<"silvana.settlement.v1.SettlementReport">
1222
1479
  * Use `create(SettlementReportSchema)` to create a new message.
1223
1480
  */
1224
1481
  export const SettlementReportSchema: GenMessage<SettlementReport> = /*@__PURE__*/
1225
- messageDesc(file_proto_silvana_settlement_v1_settlement, 20);
1482
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 23);
1226
1483
 
1227
1484
  /**
1228
1485
  * Error report
@@ -1273,7 +1530,7 @@ export type ErrorReport = Message<"silvana.settlement.v1.ErrorReport"> & {
1273
1530
  * Use `create(ErrorReportSchema)` to create a new message.
1274
1531
  */
1275
1532
  export const ErrorReportSchema: GenMessage<ErrorReport> = /*@__PURE__*/
1276
- messageDesc(file_proto_silvana_settlement_v1_settlement, 21);
1533
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 24);
1277
1534
 
1278
1535
  /**
1279
1536
  * Status update
@@ -1321,7 +1578,7 @@ export type StatusUpdate = Message<"silvana.settlement.v1.StatusUpdate"> & {
1321
1578
  * Use `create(StatusUpdateSchema)` to create a new message.
1322
1579
  */
1323
1580
  export const StatusUpdateSchema: GenMessage<StatusUpdate> = /*@__PURE__*/
1324
- messageDesc(file_proto_silvana_settlement_v1_settlement, 22);
1581
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 25);
1325
1582
 
1326
1583
  /**
1327
1584
  * Command to Canton node
@@ -1364,7 +1621,7 @@ export type SettlementCommand = Message<"silvana.settlement.v1.SettlementCommand
1364
1621
  * Use `create(SettlementCommandSchema)` to create a new message.
1365
1622
  */
1366
1623
  export const SettlementCommandSchema: GenMessage<SettlementCommand> = /*@__PURE__*/
1367
- messageDesc(file_proto_silvana_settlement_v1_settlement, 23);
1624
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 26);
1368
1625
 
1369
1626
  /**
1370
1627
  * @generated from enum silvana.settlement.v1.SettlementCommand.CommandType
@@ -1410,7 +1667,7 @@ export enum SettlementCommand_CommandType {
1410
1667
  * Describes the enum silvana.settlement.v1.SettlementCommand.CommandType.
1411
1668
  */
1412
1669
  export const SettlementCommand_CommandTypeSchema: GenEnum<SettlementCommand_CommandType> = /*@__PURE__*/
1413
- enumDesc(file_proto_silvana_settlement_v1_settlement, 23, 0);
1670
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 26, 0);
1414
1671
 
1415
1672
  /**
1416
1673
  * Query to Canton node
@@ -1449,7 +1706,7 @@ export type SettlementQuery = Message<"silvana.settlement.v1.SettlementQuery"> &
1449
1706
  * Use `create(SettlementQuerySchema)` to create a new message.
1450
1707
  */
1451
1708
  export const SettlementQuerySchema: GenMessage<SettlementQuery> = /*@__PURE__*/
1452
- messageDesc(file_proto_silvana_settlement_v1_settlement, 24);
1709
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 27);
1453
1710
 
1454
1711
  /**
1455
1712
  * @generated from enum silvana.settlement.v1.SettlementQuery.QueryType
@@ -1490,7 +1747,7 @@ export enum SettlementQuery_QueryType {
1490
1747
  * Describes the enum silvana.settlement.v1.SettlementQuery.QueryType.
1491
1748
  */
1492
1749
  export const SettlementQuery_QueryTypeSchema: GenEnum<SettlementQuery_QueryType> = /*@__PURE__*/
1493
- enumDesc(file_proto_silvana_settlement_v1_settlement, 24, 0);
1750
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 27, 0);
1494
1751
 
1495
1752
  /**
1496
1753
  * Response to command or query
@@ -1524,7 +1781,7 @@ export type SettlementResponse = Message<"silvana.settlement.v1.SettlementRespon
1524
1781
  * Use `create(SettlementResponseSchema)` to create a new message.
1525
1782
  */
1526
1783
  export const SettlementResponseSchema: GenMessage<SettlementResponse> = /*@__PURE__*/
1527
- messageDesc(file_proto_silvana_settlement_v1_settlement, 25);
1784
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 28);
1528
1785
 
1529
1786
  /**
1530
1787
  * @generated from message silvana.settlement.v1.GetPendingProposalsRequest
@@ -1551,7 +1808,7 @@ export type GetPendingProposalsRequest = Message<"silvana.settlement.v1.GetPendi
1551
1808
  * Use `create(GetPendingProposalsRequestSchema)` to create a new message.
1552
1809
  */
1553
1810
  export const GetPendingProposalsRequestSchema: GenMessage<GetPendingProposalsRequest> = /*@__PURE__*/
1554
- messageDesc(file_proto_silvana_settlement_v1_settlement, 26);
1811
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 29);
1555
1812
 
1556
1813
  /**
1557
1814
  * @generated from message silvana.settlement.v1.GetPendingProposalsResponse
@@ -1573,7 +1830,7 @@ export type GetPendingProposalsResponse = Message<"silvana.settlement.v1.GetPend
1573
1830
  * Use `create(GetPendingProposalsResponseSchema)` to create a new message.
1574
1831
  */
1575
1832
  export const GetPendingProposalsResponseSchema: GenMessage<GetPendingProposalsResponse> = /*@__PURE__*/
1576
- messageDesc(file_proto_silvana_settlement_v1_settlement, 27);
1833
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 30);
1577
1834
 
1578
1835
  /**
1579
1836
  * @generated from message silvana.settlement.v1.GetSettlementStatusRequest
@@ -1595,7 +1852,7 @@ export type GetSettlementStatusRequest = Message<"silvana.settlement.v1.GetSettl
1595
1852
  * Use `create(GetSettlementStatusRequestSchema)` to create a new message.
1596
1853
  */
1597
1854
  export const GetSettlementStatusRequestSchema: GenMessage<GetSettlementStatusRequest> = /*@__PURE__*/
1598
- messageDesc(file_proto_silvana_settlement_v1_settlement, 28);
1855
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 31);
1599
1856
 
1600
1857
  /**
1601
1858
  * Status of a single step in the DVP flow with details
@@ -1665,7 +1922,7 @@ export type DvpStepStatus = Message<"silvana.settlement.v1.DvpStepStatus"> & {
1665
1922
  * Use `create(DvpStepStatusSchema)` to create a new message.
1666
1923
  */
1667
1924
  export const DvpStepStatusSchema: GenMessage<DvpStepStatus> = /*@__PURE__*/
1668
- messageDesc(file_proto_silvana_settlement_v1_settlement, 29);
1925
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 32);
1669
1926
 
1670
1927
  /**
1671
1928
  * Enhanced GetSettlementStatusResponse with detailed DVP flow progress
@@ -1808,7 +2065,7 @@ export type GetSettlementStatusResponse = Message<"silvana.settlement.v1.GetSett
1808
2065
  * Use `create(GetSettlementStatusResponseSchema)` to create a new message.
1809
2066
  */
1810
2067
  export const GetSettlementStatusResponseSchema: GenMessage<GetSettlementStatusResponse> = /*@__PURE__*/
1811
- messageDesc(file_proto_silvana_settlement_v1_settlement, 30);
2068
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 33);
1812
2069
 
1813
2070
  /**
1814
2071
  * @generated from message silvana.settlement.v1.SubmitPreconfirmationRequest
@@ -1830,7 +2087,7 @@ export type SubmitPreconfirmationRequest = Message<"silvana.settlement.v1.Submit
1830
2087
  * Use `create(SubmitPreconfirmationRequestSchema)` to create a new message.
1831
2088
  */
1832
2089
  export const SubmitPreconfirmationRequestSchema: GenMessage<SubmitPreconfirmationRequest> = /*@__PURE__*/
1833
- messageDesc(file_proto_silvana_settlement_v1_settlement, 31);
2090
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 34);
1834
2091
 
1835
2092
  /**
1836
2093
  * A disclosed contract for settlement
@@ -1873,7 +2130,7 @@ export type DisclosedContractMessage = Message<"silvana.settlement.v1.DisclosedC
1873
2130
  * Use `create(DisclosedContractMessageSchema)` to create a new message.
1874
2131
  */
1875
2132
  export const DisclosedContractMessageSchema: GenMessage<DisclosedContractMessage> = /*@__PURE__*/
1876
- messageDesc(file_proto_silvana_settlement_v1_settlement, 32);
2133
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
1877
2134
 
1878
2135
  /**
1879
2136
  * Save disclosed contract request (buyer/seller saves their contracts during allocation)
@@ -1906,7 +2163,7 @@ export type SaveDisclosedContractRequest = Message<"silvana.settlement.v1.SaveDi
1906
2163
  * Use `create(SaveDisclosedContractRequestSchema)` to create a new message.
1907
2164
  */
1908
2165
  export const SaveDisclosedContractRequestSchema: GenMessage<SaveDisclosedContractRequest> = /*@__PURE__*/
1909
- messageDesc(file_proto_silvana_settlement_v1_settlement, 33);
2166
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
1910
2167
 
1911
2168
  /**
1912
2169
  * Save disclosed contract response
@@ -1930,7 +2187,7 @@ export type SaveDisclosedContractResponse = Message<"silvana.settlement.v1.SaveD
1930
2187
  * Use `create(SaveDisclosedContractResponseSchema)` to create a new message.
1931
2188
  */
1932
2189
  export const SaveDisclosedContractResponseSchema: GenMessage<SaveDisclosedContractResponse> = /*@__PURE__*/
1933
- messageDesc(file_proto_silvana_settlement_v1_settlement, 34);
2190
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
1934
2191
 
1935
2192
  /**
1936
2193
  * Get disclosed contracts request
@@ -1963,7 +2220,7 @@ export type GetDisclosedContractsRequest = Message<"silvana.settlement.v1.GetDis
1963
2220
  * Use `create(GetDisclosedContractsRequestSchema)` to create a new message.
1964
2221
  */
1965
2222
  export const GetDisclosedContractsRequestSchema: GenMessage<GetDisclosedContractsRequest> = /*@__PURE__*/
1966
- messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
2223
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 38);
1967
2224
 
1968
2225
  /**
1969
2226
  * Get disclosed contracts response
@@ -1982,7 +2239,7 @@ export type GetDisclosedContractsResponse = Message<"silvana.settlement.v1.GetDi
1982
2239
  * Use `create(GetDisclosedContractsResponseSchema)` to create a new message.
1983
2240
  */
1984
2241
  export const GetDisclosedContractsResponseSchema: GenMessage<GetDisclosedContractsResponse> = /*@__PURE__*/
1985
- messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
2242
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 39);
1986
2243
 
1987
2244
  /**
1988
2245
  * Record a completed settlement request
@@ -2053,7 +2310,7 @@ export type RecordSettlementRequest = Message<"silvana.settlement.v1.RecordSettl
2053
2310
  * Use `create(RecordSettlementRequestSchema)` to create a new message.
2054
2311
  */
2055
2312
  export const RecordSettlementRequestSchema: GenMessage<RecordSettlementRequest> = /*@__PURE__*/
2056
- messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
2313
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 40);
2057
2314
 
2058
2315
  /**
2059
2316
  * Record settlement response
@@ -2084,7 +2341,7 @@ export type RecordSettlementResponse = Message<"silvana.settlement.v1.RecordSett
2084
2341
  * Use `create(RecordSettlementResponseSchema)` to create a new message.
2085
2342
  */
2086
2343
  export const RecordSettlementResponseSchema: GenMessage<RecordSettlementResponse> = /*@__PURE__*/
2087
- messageDesc(file_proto_silvana_settlement_v1_settlement, 38);
2344
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 41);
2088
2345
 
2089
2346
  /**
2090
2347
  * Record a transaction in history
@@ -2162,6 +2419,13 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
2162
2419
  */
2163
2420
  amount?: string;
2164
2421
 
2422
+ /**
2423
+ * instrument_id from instruments table
2424
+ *
2425
+ * @generated from field: optional string token = 27;
2426
+ */
2427
+ token?: string;
2428
+
2165
2429
  /**
2166
2430
  * @generated from field: optional string rewards_amount = 13;
2167
2431
  */
@@ -2245,7 +2509,7 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
2245
2509
  * Use `create(RecordTransactionRequestSchema)` to create a new message.
2246
2510
  */
2247
2511
  export const RecordTransactionRequestSchema: GenMessage<RecordTransactionRequest> = /*@__PURE__*/
2248
- messageDesc(file_proto_silvana_settlement_v1_settlement, 39);
2512
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 42);
2249
2513
 
2250
2514
  /**
2251
2515
  * @generated from message silvana.settlement.v1.RecordTransactionResponse
@@ -2274,7 +2538,7 @@ export type RecordTransactionResponse = Message<"silvana.settlement.v1.RecordTra
2274
2538
  * Use `create(RecordTransactionResponseSchema)` to create a new message.
2275
2539
  */
2276
2540
  export const RecordTransactionResponseSchema: GenMessage<RecordTransactionResponse> = /*@__PURE__*/
2277
- messageDesc(file_proto_silvana_settlement_v1_settlement, 40);
2541
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 43);
2278
2542
 
2279
2543
  /**
2280
2544
  * Get transaction history
@@ -2323,7 +2587,7 @@ export type GetTransactionHistoryRequest = Message<"silvana.settlement.v1.GetTra
2323
2587
  * Use `create(GetTransactionHistoryRequestSchema)` to create a new message.
2324
2588
  */
2325
2589
  export const GetTransactionHistoryRequestSchema: GenMessage<GetTransactionHistoryRequest> = /*@__PURE__*/
2326
- messageDesc(file_proto_silvana_settlement_v1_settlement, 41);
2590
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 44);
2327
2591
 
2328
2592
  /**
2329
2593
  * @generated from message silvana.settlement.v1.GetTransactionHistoryResponse
@@ -2345,7 +2609,7 @@ export type GetTransactionHistoryResponse = Message<"silvana.settlement.v1.GetTr
2345
2609
  * Use `create(GetTransactionHistoryResponseSchema)` to create a new message.
2346
2610
  */
2347
2611
  export const GetTransactionHistoryResponseSchema: GenMessage<GetTransactionHistoryResponse> = /*@__PURE__*/
2348
- messageDesc(file_proto_silvana_settlement_v1_settlement, 42);
2612
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 45);
2349
2613
 
2350
2614
  /**
2351
2615
  * @generated from message silvana.settlement.v1.TransactionHistoryEntry
@@ -2411,6 +2675,13 @@ export type TransactionHistoryEntry = Message<"silvana.settlement.v1.Transaction
2411
2675
  */
2412
2676
  amount?: string;
2413
2677
 
2678
+ /**
2679
+ * instrument_id from instruments table
2680
+ *
2681
+ * @generated from field: optional string token = 27;
2682
+ */
2683
+ token?: string;
2684
+
2414
2685
  /**
2415
2686
  * @generated from field: optional string rewards_amount = 13;
2416
2687
  */
@@ -2497,7 +2768,7 @@ export type TransactionHistoryEntry = Message<"silvana.settlement.v1.Transaction
2497
2768
  * Use `create(TransactionHistoryEntrySchema)` to create a new message.
2498
2769
  */
2499
2770
  export const TransactionHistoryEntrySchema: GenMessage<TransactionHistoryEntry> = /*@__PURE__*/
2500
- messageDesc(file_proto_silvana_settlement_v1_settlement, 43);
2771
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 46);
2501
2772
 
2502
2773
  /**
2503
2774
  * Record a settlement event (any party can record for their settlements)
@@ -2587,7 +2858,7 @@ export type RecordSettlementEventRequest = Message<"silvana.settlement.v1.Record
2587
2858
  * Use `create(RecordSettlementEventRequestSchema)` to create a new message.
2588
2859
  */
2589
2860
  export const RecordSettlementEventRequestSchema: GenMessage<RecordSettlementEventRequest> = /*@__PURE__*/
2590
- messageDesc(file_proto_silvana_settlement_v1_settlement, 44);
2861
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 47);
2591
2862
 
2592
2863
  /**
2593
2864
  * @generated from message silvana.settlement.v1.RecordSettlementEventResponse
@@ -2616,7 +2887,7 @@ export type RecordSettlementEventResponse = Message<"silvana.settlement.v1.Recor
2616
2887
  * Use `create(RecordSettlementEventResponseSchema)` to create a new message.
2617
2888
  */
2618
2889
  export const RecordSettlementEventResponseSchema: GenMessage<RecordSettlementEventResponse> = /*@__PURE__*/
2619
- messageDesc(file_proto_silvana_settlement_v1_settlement, 45);
2890
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 48);
2620
2891
 
2621
2892
  /**
2622
2893
  * Get settlement history (parties can only see their own settlements)
@@ -2666,7 +2937,7 @@ export type GetSettlementHistoryRequest = Message<"silvana.settlement.v1.GetSett
2666
2937
  * Use `create(GetSettlementHistoryRequestSchema)` to create a new message.
2667
2938
  */
2668
2939
  export const GetSettlementHistoryRequestSchema: GenMessage<GetSettlementHistoryRequest> = /*@__PURE__*/
2669
- messageDesc(file_proto_silvana_settlement_v1_settlement, 46);
2940
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 49);
2670
2941
 
2671
2942
  /**
2672
2943
  * @generated from message silvana.settlement.v1.GetSettlementHistoryResponse
@@ -2688,7 +2959,7 @@ export type GetSettlementHistoryResponse = Message<"silvana.settlement.v1.GetSet
2688
2959
  * Use `create(GetSettlementHistoryResponseSchema)` to create a new message.
2689
2960
  */
2690
2961
  export const GetSettlementHistoryResponseSchema: GenMessage<GetSettlementHistoryResponse> = /*@__PURE__*/
2691
- messageDesc(file_proto_silvana_settlement_v1_settlement, 47);
2962
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 50);
2692
2963
 
2693
2964
  /**
2694
2965
  * Settlement history entry (matches settlement_proposal_history table)
@@ -2771,7 +3042,7 @@ export type SettlementHistoryEntry = Message<"silvana.settlement.v1.SettlementHi
2771
3042
  * Use `create(SettlementHistoryEntrySchema)` to create a new message.
2772
3043
  */
2773
3044
  export const SettlementHistoryEntrySchema: GenMessage<SettlementHistoryEntry> = /*@__PURE__*/
2774
- messageDesc(file_proto_silvana_settlement_v1_settlement, 48);
3045
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 51);
2775
3046
 
2776
3047
  /**
2777
3048
  * Update proposal status (operator only)
@@ -2811,7 +3082,7 @@ export type UpdateProposalStatusRequest = Message<"silvana.settlement.v1.UpdateP
2811
3082
  * Use `create(UpdateProposalStatusRequestSchema)` to create a new message.
2812
3083
  */
2813
3084
  export const UpdateProposalStatusRequestSchema: GenMessage<UpdateProposalStatusRequest> = /*@__PURE__*/
2814
- messageDesc(file_proto_silvana_settlement_v1_settlement, 49);
3085
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 52);
2815
3086
 
2816
3087
  /**
2817
3088
  * @generated from enum silvana.settlement.v1.UpdateProposalStatusRequest.NewStatus
@@ -2842,7 +3113,7 @@ export enum UpdateProposalStatusRequest_NewStatus {
2842
3113
  * Describes the enum silvana.settlement.v1.UpdateProposalStatusRequest.NewStatus.
2843
3114
  */
2844
3115
  export const UpdateProposalStatusRequest_NewStatusSchema: GenEnum<UpdateProposalStatusRequest_NewStatus> = /*@__PURE__*/
2845
- enumDesc(file_proto_silvana_settlement_v1_settlement, 49, 0);
3116
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 52, 0);
2846
3117
 
2847
3118
  /**
2848
3119
  * @generated from message silvana.settlement.v1.UpdateProposalStatusResponse
@@ -2864,7 +3135,7 @@ export type UpdateProposalStatusResponse = Message<"silvana.settlement.v1.Update
2864
3135
  * Use `create(UpdateProposalStatusResponseSchema)` to create a new message.
2865
3136
  */
2866
3137
  export const UpdateProposalStatusResponseSchema: GenMessage<UpdateProposalStatusResponse> = /*@__PURE__*/
2867
- messageDesc(file_proto_silvana_settlement_v1_settlement, 50);
3138
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 53);
2868
3139
 
2869
3140
  /**
2870
3141
  * Get settlement proposal by ID request
@@ -2893,7 +3164,7 @@ export type GetSettlementProposalByIdRequest = Message<"silvana.settlement.v1.Ge
2893
3164
  * Use `create(GetSettlementProposalByIdRequestSchema)` to create a new message.
2894
3165
  */
2895
3166
  export const GetSettlementProposalByIdRequestSchema: GenMessage<GetSettlementProposalByIdRequest> = /*@__PURE__*/
2896
- messageDesc(file_proto_silvana_settlement_v1_settlement, 51);
3167
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 54);
2897
3168
 
2898
3169
  /**
2899
3170
  * Get settlement proposal by ID response
@@ -2917,7 +3188,7 @@ export type GetSettlementProposalByIdResponse = Message<"silvana.settlement.v1.G
2917
3188
  * Use `create(GetSettlementProposalByIdResponseSchema)` to create a new message.
2918
3189
  */
2919
3190
  export const GetSettlementProposalByIdResponseSchema: GenMessage<GetSettlementProposalByIdResponse> = /*@__PURE__*/
2920
- messageDesc(file_proto_silvana_settlement_v1_settlement, 52);
3191
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 55);
2921
3192
 
2922
3193
  /**
2923
3194
  * DVP settlement stage enumeration
@@ -3138,6 +3409,11 @@ export enum TransactionType {
3138
3409
  * @generated from enum value: TRANSACTION_TYPE_OTHER = 13;
3139
3410
  */
3140
3411
  OTHER = 13,
3412
+
3413
+ /**
3414
+ * @generated from enum value: TRANSACTION_TYPE_TRANSFER = 14;
3415
+ */
3416
+ TRANSFER = 14,
3141
3417
  }
3142
3418
 
3143
3419
  /**
@@ -3598,6 +3874,86 @@ export enum NextAction {
3598
3874
  export const NextActionSchema: GenEnum<NextAction> = /*@__PURE__*/
3599
3875
  enumDesc(file_proto_silvana_settlement_v1_settlement, 8);
3600
3876
 
3877
+ /**
3878
+ * Direction the user wants to trade
3879
+ *
3880
+ * @generated from enum silvana.settlement.v1.RfqDirection
3881
+ */
3882
+ export enum RfqDirection {
3883
+ /**
3884
+ * @generated from enum value: RFQ_DIRECTION_UNSPECIFIED = 0;
3885
+ */
3886
+ UNSPECIFIED = 0,
3887
+
3888
+ /**
3889
+ * User wants to buy base instrument
3890
+ *
3891
+ * @generated from enum value: RFQ_DIRECTION_BUY = 1;
3892
+ */
3893
+ BUY = 1,
3894
+
3895
+ /**
3896
+ * User wants to sell base instrument
3897
+ *
3898
+ * @generated from enum value: RFQ_DIRECTION_SELL = 2;
3899
+ */
3900
+ SELL = 2,
3901
+ }
3902
+
3903
+ /**
3904
+ * Describes the enum silvana.settlement.v1.RfqDirection.
3905
+ */
3906
+ export const RfqDirectionSchema: GenEnum<RfqDirection> = /*@__PURE__*/
3907
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 9);
3908
+
3909
+ /**
3910
+ * RFQ rejection reason
3911
+ *
3912
+ * @generated from enum silvana.settlement.v1.RfqRejectionReason
3913
+ */
3914
+ export enum RfqRejectionReason {
3915
+ /**
3916
+ * @generated from enum value: RFQ_REJECTION_REASON_UNSPECIFIED = 0;
3917
+ */
3918
+ UNSPECIFIED = 0,
3919
+
3920
+ /**
3921
+ * @generated from enum value: RFQ_REJECTION_REASON_MARKET_NOT_SUPPORTED = 1;
3922
+ */
3923
+ MARKET_NOT_SUPPORTED = 1,
3924
+
3925
+ /**
3926
+ * @generated from enum value: RFQ_REJECTION_REASON_AMOUNT_TOO_LARGE = 2;
3927
+ */
3928
+ AMOUNT_TOO_LARGE = 2,
3929
+
3930
+ /**
3931
+ * @generated from enum value: RFQ_REJECTION_REASON_AMOUNT_TOO_SMALL = 3;
3932
+ */
3933
+ AMOUNT_TOO_SMALL = 3,
3934
+
3935
+ /**
3936
+ * @generated from enum value: RFQ_REJECTION_REASON_INSUFFICIENT_INVENTORY = 4;
3937
+ */
3938
+ INSUFFICIENT_INVENTORY = 4,
3939
+
3940
+ /**
3941
+ * @generated from enum value: RFQ_REJECTION_REASON_MARKET_CONDITIONS = 5;
3942
+ */
3943
+ MARKET_CONDITIONS = 5,
3944
+
3945
+ /**
3946
+ * @generated from enum value: RFQ_REJECTION_REASON_TEMPORARILY_UNAVAILABLE = 6;
3947
+ */
3948
+ TEMPORARILY_UNAVAILABLE = 6,
3949
+ }
3950
+
3951
+ /**
3952
+ * Describes the enum silvana.settlement.v1.RfqRejectionReason.
3953
+ */
3954
+ export const RfqRejectionReasonSchema: GenEnum<RfqRejectionReason> = /*@__PURE__*/
3955
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 10);
3956
+
3601
3957
  /**
3602
3958
  * Result of a settlement event
3603
3959
  *
@@ -3634,7 +3990,7 @@ export enum SettlementEventResult {
3634
3990
  * Describes the enum silvana.settlement.v1.SettlementEventResult.
3635
3991
  */
3636
3992
  export const SettlementEventResultSchema: GenEnum<SettlementEventResult> = /*@__PURE__*/
3637
- enumDesc(file_proto_silvana_settlement_v1_settlement, 9);
3993
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 11);
3638
3994
 
3639
3995
  /**
3640
3996
  * Status of a single step in the DVP flow
@@ -3715,7 +4071,7 @@ export enum DvpStepStatusEnum {
3715
4071
  * Describes the enum silvana.settlement.v1.DvpStepStatusEnum.
3716
4072
  */
3717
4073
  export const DvpStepStatusEnumSchema: GenEnum<DvpStepStatusEnum> = /*@__PURE__*/
3718
- enumDesc(file_proto_silvana_settlement_v1_settlement, 10);
4074
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 12);
3719
4075
 
3720
4076
  /**
3721
4077
  * @generated from service silvana.settlement.v1.SettlementService