@silvana-one/orderbook 1.1.27 → 1.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/index.cjs +181 -253
- package/dist/node/orderbook.d.ts +7 -4
- package/dist/node/orderbook.js +52 -119
- package/dist/node/orderbook.js.map +1 -1
- package/dist/node/proto/silvana/news/v1/news_pb.js +1 -1
- package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +72 -298
- package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +77 -87
- package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
- package/dist/node/proto/silvana/pricing/v1/pricing_pb.js +1 -1
- package/dist/node/proto/silvana/settlement/v1/settlement_pb.d.ts +12 -70
- package/dist/node/proto/silvana/settlement/v1/settlement_pb.js +61 -62
- package/dist/node/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
- package/dist/node/settlement.js +1 -1
- package/dist/node/settlement.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.web.tsbuildinfo +1 -1
- package/dist/web/orderbook.d.ts +7 -4
- package/dist/web/orderbook.js +52 -119
- package/dist/web/orderbook.js.map +1 -1
- package/dist/web/proto/silvana/news/v1/news_pb.js +1 -1
- package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +72 -298
- package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +77 -87
- package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
- package/dist/web/proto/silvana/pricing/v1/pricing_pb.js +1 -1
- package/dist/web/proto/silvana/settlement/v1/settlement_pb.d.ts +12 -70
- package/dist/web/proto/silvana/settlement/v1/settlement_pb.js +61 -62
- package/dist/web/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
- package/dist/web/settlement.js +1 -1
- package/dist/web/settlement.js.map +1 -1
- package/package.json +1 -1
- package/src/orderbook.ts +56 -121
- package/src/proto/silvana/news/v1/news_pb.ts +1 -1
- package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +150 -431
- package/src/proto/silvana/pricing/v1/pricing_pb.ts +1 -1
- package/src/proto/silvana/settlement/v1/settlement_pb.ts +69 -131
- package/src/settlement.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.11.0 with parameter "target=ts,js_import_style=module"
|
|
2
2
|
// @generated from file proto/silvana/settlement/v1/settlement.proto (package silvana.settlement.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
@@ -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("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiQQoMRXh0ZXJuYWxBdXRoEgsKA2p3dBgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRISCgpwdWJsaWNfa2V5GAMgASgJIp4BChRTZXR0bGVtZW50SW5zdHJ1bWVudBIVCg1pbnN0cnVtZW50X2lkGAEgASgJEg4KBnN5bWJvbBgCIAEoCRIQCghyZWdpc3RyeRgDIAEoCRIQCghxdWFudGl0eRgEIAEoCRIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUILCglfbWV0YWRhdGEimQUKGVNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIRCgltYXJrZXRfaWQYAyABKAkSEwoLYnV5ZXJfcGFydHkYBCABKAkSFAoMc2VsbGVyX3BhcnR5GAUgASgJEkQKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCzIrLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SW5zdHJ1bWVudBJFChBxdW90ZV9pbnN0cnVtZW50GAcgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EhgKEHNldHRsZW1lbnRfcHJpY2UYCCABKAkSMwoPYWxsb2NhdGVfYmVmb3JlGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1zZXR0bGVfYmVmb3JlGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIgChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDSABKAkSIQoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgOIAEoCRInCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGA8gASgJEigKIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGBAgASgJQgsKCV9tZXRhZGF0YSKJAgoWUHJlY29uZmlybWF0aW9uUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEkIKCHByb3Bvc2FsGAMgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USGAoQcmVxdWVzdGluZ19wYXJ0eRgEIAEoCRIuCgpyZXNwb25kX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgV0ZXJtcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfdGVybXMivwIKF1ByZWNvbmZpcm1hdGlvbkRlY2lzaW9uEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQAoIcmVzcG9uc2UYAyABKA4yLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVzcG9uc2USHQoQcmVqZWN0aW9uX3JlYXNvbhgEIAEoCUgAiAEBEjAKCmNvbmRpdGlvbnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESEQoJc2lnbmVkX2J5GAYgASgJEi4KCmRlY2lkZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9yZWplY3Rpb25fcmVhc29uQg0KC19jb25kaXRpb25zItgBChJEdnBDb250cmFjdENyZWF0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIYChBkdnBfcHJvcG9zYWxfY2lkGAMgASgJEh4KFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBCABKAkSFgoOcHJvcG9zZXJfcGFydHkYBSABKAkSFAoMY291bnRlcnBhcnR5GAYgASgJEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8BChNEdnBDb250cmFjdEFjY2VwdGVkEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIVCg1kdnBfdXBkYXRlX2lkGAQgASgJEhMKC2FjY2VwdGVkX2J5GAUgASgJEi8KC2FjY2VwdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLbAgoQQWxsb2NhdGlvblN0YXR1cxITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEhAKCHBhcnR5X2lkGAQgASgJEhYKDmFsbG9jYXRpb25fY2lkGAUgASgJEhwKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJEhUKDWluc3RydW1lbnRfaWQYByABKAkSEAoIcXVhbnRpdHkYCCABKAkSFAoMaXNfYWxsb2NhdGVkGAkgASgIEhoKDWVycm9yX21lc3NhZ2UYCiABKAlIAIgBARIwCgxhbGxvY2F0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIqoCChlTZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYBCABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCRIVCg1pc19zdWNjZXNzZnVsGAcgASgIEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAIgBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSKKAQoPVXNlclNlcnZpY2VJbmZvEhAKCHBhcnR5X2lkGAEgASgJEhgKEHVzZXJfc2VydmljZV9jaWQYAiABKAkSGwoTb3BlcmF0b3JfY29uZmlnX2NpZBgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoTU2V0dGxlbWVudEhhbmRzaGFrZRIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhEKCXBhcnR5X2lkcxgCIAMoCRI9Cg11c2VyX3NlcnZpY2VzGAMgAygLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVzZXJTZXJ2aWNlSW5mbxIWCg5vcGVyYXRvcl9wYXJ0eRgEIAEoCRIyCgxjYXBhYmlsaXRpZXMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX2NhcGFiaWxpdGllcyK4AQoMSGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEh0KEHJlamVjdGlvbl9yZWFzb24YAiABKAlIAIgBARISCgpzZXNzaW9uX2lkGAMgASgJEh0KFXN1cHBvcnRlZF9pbnN0cnVtZW50cxgEIAMoCRIvCgtzZXJ2ZXJfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb24iZwoJSGVhcnRiZWF0EhIKCnNlc3Npb25faWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQiZwoVTGlxdWlkaXR5UHJvdmlkZXJQaW5nEh8KF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGAEgASgJEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqAEKFUxpcXVpZGl0eVByb3ZpZGVyUG9uZxIfChdsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZRgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBARIvCgtzZXJ2ZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX2Vycm9yX21lc3NhZ2Ui2wYKFVNlcnZlclRvQ2FudG9uTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI8Cg1oYW5kc2hha2VfYWNrGAMgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhhbmRzaGFrZUFja0gAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJECghwcm9wb3NhbBgFIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlSAASUAoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYBiABKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVxdWVzdEgAEkAKC2R2cF9jcmVhdGVkGAcgASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0Q3JlYXRlZEgAEkIKDGR2cF9hY2NlcHRlZBgIIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdEFjY2VwdGVkSAASRAoRYWxsb2NhdGlvbl9zdGF0dXMYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblN0YXR1c0gAEk0KEXNldHRsZW1lbnRfc3RhdHVzGAogASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXNIABI7Cgdjb21tYW5kGAsgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kSAASNwoFcXVlcnkYDCABKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5SAASPwoHbHBfcG9uZxgOIAEoCzIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5MaXF1aWRpdHlQcm92aWRlclBvbmdIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIrEGChVDYW50b25Ub1NlcnZlck1lc3NhZ2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9zZXF1ZW5jZV9udW1iZXIYAiABKAQSPwoJaGFuZHNoYWtlGAMgASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRIYW5kc2hha2VIABI1CgloZWFydGJlYXQYBCABKAsyIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuSGVhcnRiZWF0SAASSQoPcHJlY29uZmlybWF0aW9uGAUgASgLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvbkRlY2lzaW9uSAASQAoMZHZwX2NyZWF0aW9uGAYgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENyZWF0aW9uUmVwb3J0SAASRAoOZHZwX2FjY2VwdGFuY2UYByABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQWNjZXB0YW5jZVJlcG9ydEgAEj0KCmFsbG9jYXRpb24YCCABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblJlcG9ydEgAEj0KCnNldHRsZW1lbnQYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFJlcG9ydEgAEj0KCHJlc3BvbnNlGAogASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRSZXNwb25zZUgAEjMKBWVycm9yGAsgASgLMiIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkVycm9yUmVwb3J0SAASNQoGc3RhdHVzGAwgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlN0YXR1c1VwZGF0ZUgAEj8KB2xwX3BpbmcYDiABKAsyLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuTGlxdWlkaXR5UHJvdmlkZXJQaW5nSAASKwoHc2VudF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHbWVzc2FnZSKiAgoRRHZwQ3JlYXRpb25SZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIjChZkdnBfcHJvcG9zYWxfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9kdnBfcHJvcG9zYWxfY2lkQhkKF19kdnBfcHJvcG9zYWxfdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIoECChNEdnBBY2NlcHRhbmNlUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIUCgdkdnBfY2lkGAQgASgJSACIAQESGgoNZHZwX3VwZGF0ZV9pZBgFIAEoCUgBiAEBEhoKDWVycm9yX21lc3NhZ2UYBiABKAlIAogBARIvCgthY2NlcHRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2R2cF9jaWRCEAoOX2R2cF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2Ui5wIKEEFsbG9jYXRpb25SZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI0CgpwYXJ0eV9yb2xlGAMgASgOMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlBhcnR5Um9sZRIPCgdzdWNjZXNzGAQgASgIEhsKDmFsbG9jYXRpb25fY2lkGAUgASgJSACIAQESIQoUYWxsb2NhdGlvbl91cGRhdGVfaWQYBiABKAlIAYgBARIUCgxob2xkaW5nX2NpZHMYByADKAkSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgCiAEBEjAKDGFsbG9jYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEQoPX2FsbG9jYXRpb25fY2lkQhcKFV9hbGxvY2F0aW9uX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSL+AgoQU2V0dGxlbWVudFJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHAoPc2V0dGxlZF9kdnBfY2lkGAQgASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAlIAYgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GAYgASgJSAKIAQESFQoNYXJjaGl2ZWRfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAOIAQESLgoKc2V0dGxlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEgoQX3NldHRsZWRfZHZwX2NpZEIXChVfc2V0dGxlbWVudF91cGRhdGVfaWRCHwodX3NldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXRCEAoOX2Vycm9yX21lc3NhZ2UihwIKC0Vycm9yUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNQoFc3RhZ2UYAyABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlEhIKCmVycm9yX2NvZGUYBCABKAkSFQoNZXJyb3JfbWVzc2FnZRgFIAEoCRItCgdkZXRhaWxzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi8KC29jY3VycmVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZGV0YWlscyKGAgoMU3RhdHVzVXBkYXRlEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSPQoNY3VycmVudF9zdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USFAoHbWVzc2FnZRgEIAEoCUgAiAEBEi0KB21ldHJpY3MYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX21lc3NhZ2VCCgoIX21ldHJpY3Mi0gMKEVNldHRsZW1lbnRDb21tYW5kEkoKDGNvbW1hbmRfdHlwZRgBIAEoDjI0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50Q29tbWFuZC5Db21tYW5kVHlwZRITCgtwcm9wb3NhbF9pZBgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJEjAKCnBhcmFtZXRlcnMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLgoKZXhlY3V0ZV9ieRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi0wEKC0NvbW1hbmRUeXBlEhwKGENPTU1BTkRfVFlQRV9VTlNQRUNJRklFRBAAEiQKIENPTU1BTkRfVFlQRV9DUkVBVEVfRFZQX1BST1BPU0FMEAESGwoXQ09NTUFORF9UWVBFX0FDQ0VQVF9EVlAQAhIZChVDT01NQU5EX1RZUEVfQUxMT0NBVEUQAxIXChNDT01NQU5EX1RZUEVfU0VUVExFEAQSFwoTQ09NTUFORF9UWVBFX0NBTkNFTBAFEhYKEkNPTU1BTkRfVFlQRV9SRVRSWRAGQg0KC19wYXJhbWV0ZXJzIt8DCg9TZXR0bGVtZW50UXVlcnkSRAoKcXVlcnlfdHlwZRgBIAEoDjIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UXVlcnkuUXVlcnlUeXBlEhUKCHBhcnR5X2lkGAIgASgJSACIAQESGAoLY29udHJhY3RfaWQYAyABKAlIAYgBARIaCg1pbnN0cnVtZW50X2lkGAQgASgJSAKIAQESMAoKcGFyYW1ldGVycxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBASLIAQoJUXVlcnlUeXBlEhoKFlFVRVJZX1RZUEVfVU5TUEVDSUZJRUQQABIbChdRVUVSWV9UWVBFX0dFVF9IT0xESU5HUxABEh8KG1FVRVJZX1RZUEVfR0VUX1VTRVJfU0VSVklDRRACEhsKF1FVRVJZX1RZUEVfR0VUX0NPTlRSQUNUEAMSJAogUVVFUllfVFlQRV9HRVRfQUxMT0NBVElPTl9TVEFUVVMQBBIeChpRVUVSWV9UWVBFX0NIRUNLX0xJUVVJRElUWRAFQgsKCV9wYXJ0eV9pZEIOCgxfY29udHJhY3RfaWRCEAoOX2luc3RydW1lbnRfaWRCDQoLX3BhcmFtZXRlcnMirgEKElNldHRsZW1lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhQKB21lc3NhZ2UYAiABKAlIAIgBARIqCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEjAKDHJlc3BvbmRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX21lc3NhZ2VCBwoFX2RhdGEigQEKGkdldFBlbmRpbmdQcm9wb3NhbHNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEAoIcGFydHlfaWQYAiABKAkSEgoFbGltaXQYAyABKA1IAIgBAUIICgZfbGltaXQicQobR2V0UGVuZGluZ1Byb3Bvc2Fsc1Jlc3BvbnNlEkMKCXByb3Bvc2FscxgBIAMoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlEg0KBXRvdGFsGAIgASgNImgKGkdldFNldHRsZW1lbnRTdGF0dXNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSFQoNc2V0dGxlbWVudF9pZBgCIAEoCSKnAwoNRHZwU3RlcFN0YXR1cxIRCglzdGVwX25hbWUYASABKAkSOAoGc3RhdHVzGAIgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXNFbnVtEhgKC2NvbnRyYWN0X2lkGAMgASgJSACIAQESFgoJdXBkYXRlX2lkGAQgASgJSAGIAQESMwoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAOIAQESGQoMY29uZmlybWVkX2J5GAcgASgJSASIAQESRQoRY29uZmlybWVkX2J5X3JvbGUYCCABKA4yJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkZWRCeVJvbGVIBYgBAUIOCgxfY29udHJhY3RfaWRCDAoKX3VwZGF0ZV9pZEINCgtfdXBkYXRlZF9hdEIQCg5fZXJyb3JfbWVzc2FnZUIPCg1fY29uZmlybWVkX2J5QhQKEl9jb25maXJtZWRfYnlfcm9sZSKSCAobR2V0U2V0dGxlbWVudFN0YXR1c1Jlc3BvbnNlEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNQoFc3RhZ2UYAyABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlEhoKDWVycm9yX21lc3NhZ2UYBCABKAlIAIgBARIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJGChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYCiABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJHChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGAsgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSTQofYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9idXllchgMIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEk4KIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA0gASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSOQoLZHZwX3JlcXVlc3QYDiABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI4CgpkdnBfYWNjZXB0GA8gASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSPgoQYWxsb2NhdGlvbl9idXllchgQIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEj8KEWFsbG9jYXRpb25fc2VsbGVyGBEgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSOAoKc2V0dGxlbWVudBgSIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkgKGnRyYWZmaWNfY29tcGVuc2F0aW9uX2J1eWVyGBMgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSSQobdHJhZmZpY19jb21wZW5zYXRpb25fc2VsbGVyGBQgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSPQoPcHJlY29uZmlybWF0aW9uGBUgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXNCEAoOX2Vycm9yX21lc3NhZ2UilQEKHFN1Ym1pdFByZWNvbmZpcm1hdGlvblJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBJACghkZWNpc2lvbhgCIAEoCzIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25EZWNpc2lvbiJ5ChhEaXNjbG9zZWRDb250cmFjdE1lc3NhZ2USEwoLY29udHJhY3RfaWQYASABKAkSEwoLdGVtcGxhdGVfaWQYAiABKAkSGgoSY3JlYXRlZF9ldmVudF9ibG9iGAMgASgJEhcKD3N5bmNocm9uaXplcl9pZBgEIAEoCSL+AQocU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEkEKCGNvbnRyYWN0GAMgASgLMi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLkRpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZRI/Cg1leHRlcm5hbF9hdXRoGAogASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkV4dGVybmFsQXV0aEgAiAEBQhAKDl9leHRlcm5hbF9hdXRoIkEKHVNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGAQocR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhIKBW93bmVyGAMgASgJSACIAQFCCAoGX293bmVyImMKHUdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEkIKCWNvbnRyYWN0cxgBIAMoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2Ui3AIKF1JlY29yZFNldHRsZW1lbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSFwoPc2V0dGxlZF9kdnBfY2lkGAMgASgJEhwKFHNldHRsZW1lbnRfdXBkYXRlX2lkGAQgASgJEiQKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBSABKAkSFAoHZHZwX2NpZBgGIAEoCUgAiAEBEiEKFGFsbG9jYXRpb25fYnV5ZXJfY2lkGAcgASgJSAGIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAggASgJSAKIAQFCCgoIX2R2cF9jaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWQiUwoYUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJIokKChhSZWNvcmRUcmFuc2FjdGlvblJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIsCgZ1cGRhdGUYFiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESGAoQZGFtbF90ZW1wbGF0ZV9pZBgXIAEoCRITCgtkYW1sX2Nob2ljZRgYIAEoCRIyCgxkYW1sX2Nob2ljZXMYGSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQESPwoNZXh0ZXJuYWxfYXV0aBgeIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5FeHRlcm5hbEF1dGhIEogBAUIMCgpfdXBkYXRlX2lkQhAKDl9zdWJtaXNzaW9uX2lkQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgwKCl9tYXJrZXRfaWRCDwoNX2NvdW50ZXJwYXJ0eUIOCgxfY29udHJhY3RfaWRCDgoMX2Nob2ljZV9uYW1lQgkKB19hbW91bnRCEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXNCEAoOX2V4dGVybmFsX2F1dGgiVQoZUmVjb3JkVHJhbnNhY3Rpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAQikQMKHEdldFRyYW5zYWN0aW9uSGlzdG9yeVJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIZCgxzZW5kZXJfcGFydHkYAiABKAlIAIgBARI8Cgd0eF90eXBlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZUgBiAEBEiMKFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYBCABKAlIAogBARI9CgZyZXN1bHQYBSABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHRIA4gBARISCgVsaW1pdBgGIAEoDUgEiAEBEhMKBm9mZnNldBgHIAEoDUgFiAEBQg8KDV9zZW5kZXJfcGFydHlCCgoIX3R4X3R5cGVCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCCQoHX3Jlc3VsdEIICgZfbGltaXRCCQoHX29mZnNldCJ0Ch1HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZRJECgx0cmFuc2FjdGlvbnMYASADKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25IaXN0b3J5RW50cnkSDQoFdG90YWwYAiABKA0ivAkKF1RyYW5zYWN0aW9uSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgEEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhsKDnJld2FyZHNfYW1vdW50GA0gASgJSAiIAQESGgoNcmV3YXJkc19yb3VuZBgOIAEoBEgJiAEBEhwKD3RyYWZmaWNfcmVxdWVzdBgPIAEoBEgKiAEBEh0KEHRyYWZmaWNfcmVzcG9uc2UYECABKARIC4gBARIaCg10cmFmZmljX3RvdGFsGBEgASgESAyIAQESJAoXYWN0aXZpdHlfbWFya2VyX2NyZWF0ZWQYEiABKARIDYgBARI4CgZyZXN1bHQYEyABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgUIAEoCUgOiAEBEi4KCG1ldGFkYXRhGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBEi4KCmNyZWF0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKBnVwZGF0ZRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEIgBARIYChBkYW1sX3RlbXBsYXRlX2lkGBggASgJEhMKC2RhbWxfY2hvaWNlGBkgASgJEjIKDGRhbWxfY2hvaWNlcxgaIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEYgBAUIMCgpfdXBkYXRlX2lkQhAKDl9zdWJtaXNzaW9uX2lkQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgwKCl9tYXJrZXRfaWRCDwoNX2NvdW50ZXJwYXJ0eUIOCgxfY29udHJhY3RfaWRCDgoMX2Nob2ljZV9uYW1lQgkKB19hbW91bnRCEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXMiogUKHFJlY29yZFNldHRsZW1lbnRFdmVudFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRITCgtyZWNvcmRlZF9ieRgDIAEoCRI/ChByZWNvcmRlZF9ieV9yb2xlGAQgASgOMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZGVkQnlSb2xlEj4KCmV2ZW50X3R5cGUYBSABKA4yKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50VHlwZRIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSACIAQESFgoJdXBkYXRlX2lkGAcgASgJSAGIAQESGAoLY29udHJhY3RfaWQYCCABKAlIAogBARIYCgt0ZW1wbGF0ZV9pZBgJIAEoCUgDiAEBEjwKBnJlc3VsdBgKIAEoDjIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRSZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgLIAEoCUgEiAEBEi4KCG1ldGFkYXRhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEj8KDWV4dGVybmFsX2F1dGgYFCABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuRXh0ZXJuYWxBdXRoSAaIAQFCEAoOX3N1Ym1pc3Npb25faWRCDAoKX3VwZGF0ZV9pZEIOCgxfY29udHJhY3RfaWRCDgoMX3RlbXBsYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIQCg5fZXh0ZXJuYWxfYXV0aCJTCh1SZWNvcmRTZXR0bGVtZW50RXZlbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSEAoIZXZlbnRfaWQYAyABKAQixwIKG0dldFNldHRsZW1lbnRIaXN0b3J5UmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEkMKCmV2ZW50X3R5cGUYAyABKA4yKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50VHlwZUgAiAEBEkEKBnJlc3VsdBgEIAEoDjIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRSZXN1bHRIAYgBARISCgVsaW1pdBgFIAEoDUgCiAEBEhMKBm9mZnNldBgGIAEoDUgDiAEBQg0KC19ldmVudF90eXBlQgkKB19yZXN1bHRCCAoGX2xpbWl0QgkKB19vZmZzZXQibAocR2V0U2V0dGxlbWVudEhpc3RvcnlSZXNwb25zZRI9CgZldmVudHMYASADKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEhpc3RvcnlFbnRyeRINCgV0b3RhbBgCIAEoDSLQBAoWU2V0dGxlbWVudEhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoBBITCgtwcm9wb3NhbF9pZBgCIAEoCRITCgtyZWNvcmRlZF9ieRgDIAEoCRI/ChByZWNvcmRlZF9ieV9yb2xlGAQgASgOMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZGVkQnlSb2xlEj4KCmV2ZW50X3R5cGUYBSABKA4yKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50VHlwZRIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSACIAQESFgoJdXBkYXRlX2lkGAcgASgJSAGIAQESGAoLY29udHJhY3RfaWQYCCABKAlIAogBARIYCgt0ZW1wbGF0ZV9pZBgJIAEoCUgDiAEBEjwKBnJlc3VsdBgKIAEoDjIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRSZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgLIAEoCUgEiAEBEi4KCG1ldGFkYXRhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCmNyZWF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9zdWJtaXNzaW9uX2lkQgwKCl91cGRhdGVfaWRCDgoMX2NvbnRyYWN0X2lkQg4KDF90ZW1wbGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGEi2QIKG1VwZGF0ZVByb3Bvc2FsU3RhdHVzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJElAKCm5ld19zdGF0dXMYAyABKA4yPC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXF1ZXN0Lk5ld1N0YXR1cxIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQEicAoJTmV3U3RhdHVzEhoKFk5FV19TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJORVdfU1RBVFVTX1NFVFRMRUQQARIYChRORVdfU1RBVFVTX0NBTkNFTExFRBACEhUKEU5FV19TVEFUVVNfRkFJTEVEEANCEAoOX2Vycm9yX21lc3NhZ2UiQAocVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiuwEKIEdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXF1ZXN0EjwKC2NhbnRvbl9hdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoSAASPAoNZXh0ZXJuYWxfYXV0aBgCIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5FeHRlcm5hbEF1dGhIABITCgtwcm9wb3NhbF9pZBgDIAEoCUIGCgRhdXRoInYKIUdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXNwb25zZRINCgVmb3VuZBgBIAEoCBJCCghwcm9wb3NhbBgCIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlKoUECg9TZXR0bGVtZW50U3RhZ2USIAocU0VUVExFTUVOVF9TVEFHRV9VTlNQRUNJRklFRBAAEiYKIlNFVFRMRU1FTlRfU1RBR0VfUFJPUE9TQUxfUkVDRUlWRUQQARIsCihTRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1BVElPTl9QRU5ESU5HEAISIQodU0VUVExFTUVOVF9TVEFHRV9QUkVDT05GSVJNRUQQAxIqCiZTRVRUTEVNRU5UX1NUQUdFX0RWUF9QUk9QT1NBTF9DUkVBVElORxAEEikKJVNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFURUQQBRIiCh5TRVRUTEVNRU5UX1NUQUdFX0RWUF9BQ0NFUFRJTkcQBhIhCh1TRVRUTEVNRU5UX1NUQUdFX0RWUF9BQ0NFUFRFRBAHEh8KG1NFVFRMRU1FTlRfU1RBR0VfQUxMT0NBVElORxAIEh4KGlNFVFRMRU1FTlRfU1RBR0VfQUxMT0NBVEVEEAkSHQoZU0VUVExFTUVOVF9TVEFHRV9TRVRUTElORxAKEhwKGFNFVFRMRU1FTlRfU1RBR0VfU0VUVExFRBALEhsKF1NFVFRMRU1FTlRfU1RBR0VfRkFJTEVEEAwSHgoaU0VUVExFTUVOVF9TVEFHRV9DQU5DRUxMRUQQDSqNAQoXUHJlY29uZmlybWF0aW9uUmVzcG9uc2USKAokUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1VOU1BFQ0lGSUVEEAASIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX0FDQ0VQVBABEiMKH1BSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9SRUpFQ1QQAiptCglQYXJ0eVJvbGUSGgoWUEFSVFlfUk9MRV9VTlNQRUNJRklFRBAAEhQKEFBBUlRZX1JPTEVfQlVZRVIQARIVChFQQVJUWV9ST0xFX1NFTExFUhACEhcKE1BBUlRZX1JPTEVfT1BFUkFUT1IQAyr8AwoPVHJhbnNhY3Rpb25UeXBlEiAKHFRSQU5TQUNUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIpCiVUUkFOU0FDVElPTl9UWVBFX1VTRVJfU0VSVklDRV9SRVFVRVNUEAESMAosVFJBTlNBQ1RJT05fVFlQRV9VU0VSX1NFUlZJQ0VfUkVRVUVTVF9BQ0NFUFQQAhIoCiRUUkFOU0FDVElPTl9UWVBFX1VTRVJfU0VSVklDRV9DQU5DRUwQAxIgChxUUkFOU0FDVElPTl9UWVBFX0RWUF9QUk9QT1NFEAQSHwobVFJBTlNBQ1RJT05fVFlQRV9EVlBfQUNDRVBUEAUSHwobVFJBTlNBQ1RJT05fVFlQRV9EVlBfQ0FOQ0VMEAYSHwobVFJBTlNBQ1RJT05fVFlQRV9EVlBfU0VUVExFEAcSHQoZVFJBTlNBQ1RJT05fVFlQRV9BTExPQ0FURRAIEiQKIFRSQU5TQUNUSU9OX1RZUEVfQUxMT0NBVEVfQ0FOQ0VMEAkSIQodVFJBTlNBQ1RJT05fVFlQRV9GRUVfVFJBTlNGRVIQChIaChZUUkFOU0FDVElPTl9UWVBFX01FUkdFEAsSGwoXVFJBTlNBQ1RJT05fVFlQRV9VTkxPQ0sQDBIaChZUUkFOU0FDVElPTl9UWVBFX09USEVSEA0qiAEKClNlbmRlclR5cGUSGwoXU0VOREVSX1RZUEVfVU5TUEVDSUZJRUQQABIYChRTRU5ERVJfVFlQRV9PUEVSQVRPUhABEhQKEFNFTkRFUl9UWVBFX1VTRVIQAhIVChFTRU5ERVJfVFlQRV9CVVlFUhADEhYKElNFTkRFUl9UWVBFX1NFTExFUhAEKpYBChFUcmFuc2FjdGlvblJlc3VsdBIiCh5UUkFOU0FDVElPTl9SRVNVTFRfVU5TUEVDSUZJRUQQABIeChpUUkFOU0FDVElPTl9SRVNVTFRfUEVORElORxABEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9TVUNDRVNTEAISHQoZVFJBTlNBQ1RJT05fUkVTVUxUX0ZBSUxFRBADKvMTChNTZXR0bGVtZW50RXZlbnRUeXBlEiUKIVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjwKOFNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfQlVZRVJfU1VCTUlUVEVEEAESPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9CVVlFUl9DT01QTEVURUQQAhI7CjdTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1BST0NFU1NJTkdfRkVFX0JVWUVSX1JFQ0VJVkVEEAMSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX1NVQk1JVFRFRBAEEi8KK1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVRVUVTVF9DT01QTEVURUQQBRIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfV0lUTkVTU0VEEAYSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX1JFSkVDVEVEEAcSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX0NBTkNFTExFRBAIEj0KOVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfU0VMTEVSX1NVQk1JVFRFRBAJEj0KOVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfU0VMTEVSX0NPTVBMRVRFRBAKEjwKOFNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfU0VMTEVSX1JFQ0VJVkVEEAsSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9BQ0NFUFRfU1VCTUlUVEVEEAwSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9BQ0NFUFRfQ09NUExFVEVEEA0SMAosU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9BQ0NFUFRFRF9XSVRORVNTRUQQDhImCiJTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFSkVDVEVEEA8SJwojU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9XSVRIRFJBV04QEBInCiNTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0NBTkNFTExFRBAREkMKP1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX0JVWUVSX1NVQk1JVFRFRBASEkMKP1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX0JVWUVSX0NPTVBMRVRFRBATEkIKPlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX0JVWUVSX1JFQ0VJVkVEEBQSNAowU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fQlVZRVJfU1VCTUlUVEVEEBUSNAowU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fQlVZRVJfQ09NUExFVEVEEBYSNAowU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fQlVZRVJfV0lUTkVTU0VEEBcSNAowU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fQlVZRVJfV0lUSERSQVdOEBgSNAowU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fQlVZRVJfQ0FOQ0VMTEVEEBkSRApAU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfU0VMTEVSX1NVQk1JVFRFRBAaEkQKQFNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX1NFTExFUl9DT01QTEVURUQQGxJDCj9TRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfUkVDRUlWRUQQHBI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfU1VCTUlUVEVEEB0SNQoxU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fU0VMTEVSX0NPTVBMRVRFRBAeEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9XSVRORVNTRUQQHxI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfV0lUSERSQVdOECASNQoxU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fU0VMTEVSX0NBTkNFTExFRBAhEi4KKlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9TRVRUTEVNRU5UX1NVQk1JVFRFRBAiEi4KKlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9TRVRUTEVNRU5UX0NPTVBMRVRFRBAjEi4KKlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9TRVRUTEVNRU5UX1dJVE5FU1NFRBAkEj4KOlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9CVVlFUl9TVUJNSVRURUQQJRI+CjpTRVRUTEVNRU5UX0VWRU5UX1RZUEVfVFJBRkZJQ19DT01QRU5TQVRJT05fQlVZRVJfQ09NUExFVEVEECYSPwo7U0VUVExFTUVOVF9FVkVOVF9UWVBFX1RSQUZGSUNfQ09NUEVOU0FUSU9OX1NFTExFUl9TVUJNSVRURUQQJxI/CjtTRVRUTEVNRU5UX0VWRU5UX1RZUEVfVFJBRkZJQ19DT01QRU5TQVRJT05fU0VMTEVSX0NPTVBMRVRFRBAoEjMKL1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9QUkVDT05GSVJNQVRJT05fUkVRVUVTVEVEECkSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9CVVlFUhAqEjAKLFNFVFRMRU1FTlRfRVZFTlRfVFlQRV9QUkVDT05GSVJNQVRJT05fU0VMTEVSECsSMwovU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9DQU5DRUxMRUQQLBIhCh1TRVRUTEVNRU5UX0VWRU5UX1RZUEVfVElNRU9VVBAtKqcBCg5SZWNvcmRlZEJ5Um9sZRIgChxSRUNPUkRFRF9CWV9ST0xFX1VOU1BFQ0lGSUVEEAASGgoWUkVDT1JERURfQllfUk9MRV9CVVlFUhABEhsKF1JFQ09SREVEX0JZX1JPTEVfU0VMTEVSEAISHQoZUkVDT1JERURfQllfUk9MRV9PUEVSQVRPUhADEhsKF1JFQ09SREVEX0JZX1JPTEVfU1lTVEVNEAQq0wEKFVNldHRsZW1lbnRFdmVudFJlc3VsdBInCiNTRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9VTlNQRUNJRklFRBAAEiMKH1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1BFTkRJTkcQARIjCh9TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9TVUNDRVNTEAISIgoeU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfRkFJTEVEEAMSIwofU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfVElNRU9VVBAEKsMCChFEdnBTdGVwU3RhdHVzRW51bRIfChtEVlBfU1RFUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIbChdEVlBfU1RFUF9TVEFUVVNfUEVORElORxABEh0KGURWUF9TVEVQX1NUQVRVU19TVUJNSVRURUQQAhIdChlEVlBfU1RFUF9TVEFUVVNfQ09NUExFVEVEEAMSHQoZRFZQX1NURVBfU1RBVFVTX0NPTkZJUk1FRBAEEhoKFkRWUF9TVEVQX1NUQVRVU19GQUlMRUQQBRIcChhEVlBfU1RFUF9TVEFUVVNfUkVKRUNURUQQBhIdChlEVlBfU1RFUF9TVEFUVVNfV0lUSERSQVdOEAcSHQoZRFZQX1NURVBfU1RBVFVTX0NBTkNFTExFRBAIEhsKF0RWUF9TVEVQX1NUQVRVU19USU1FT1VUEAky/QwKEVNldHRsZW1lbnRTZXJ2aWNlEnIKEFNldHRsZW1lbnRTdHJlYW0SLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlGiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNlcnZlclRvQ2FudG9uTWVzc2FnZSgBMAESfAoTR2V0UGVuZGluZ1Byb3Bvc2FscxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USfAoTR2V0U2V0dGxlbWVudFN0YXR1cxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USZAoVU3VibWl0UHJlY29uZmlybWF0aW9uEjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlN1Ym1pdFByZWNvbmZpcm1hdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSggEKFVNhdmVEaXNjbG9zZWRDb250cmFjdBIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEoIBChVHZXREaXNjbG9zZWRDb250cmFjdHMSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXNwb25zZRJzChBSZWNvcmRTZXR0bGVtZW50Ei4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXF1ZXN0Gi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRSZXNwb25zZRJ2ChFSZWNvcmRUcmFuc2FjdGlvbhIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRUcmFuc2FjdGlvblJlcXVlc3QaMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkVHJhbnNhY3Rpb25SZXNwb25zZRKCAQoVR2V0VHJhbnNhY3Rpb25IaXN0b3J5EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFRyYW5zYWN0aW9uSGlzdG9yeVJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVzcG9uc2USggEKFVJlY29yZFNldHRsZW1lbnRFdmVudBIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRTZXR0bGVtZW50RXZlbnRSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRFdmVudFJlc3BvbnNlEn8KFEdldFNldHRsZW1lbnRIaXN0b3J5EjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRIaXN0b3J5UmVxdWVzdBozLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50SGlzdG9yeVJlc3BvbnNlEn8KFFVwZGF0ZVByb3Bvc2FsU3RhdHVzEjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVxdWVzdBozLnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVQcm9wb3NhbFN0YXR1c1Jlc3BvbnNlEo4BChlHZXRTZXR0bGVtZW50UHJvcG9zYWxCeUlkEjcuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXF1ZXN0Gjguc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWRSZXNwb25zZUI1WjNnaXRodWIuY29tL1NpbHZhbmFPbmUvY2FudG9uLWFnZW50L3Byb3RvO3NldHRsZW1lbnRiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
|
|
15
|
+
fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKZBQoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgNIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA4gASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDyABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYECABKAlCCwoJX21ldGFkYXRhIokCChZQcmVjb25maXJtYXRpb25SZXF1ZXN0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQgoIcHJvcG9zYWwYAyABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRIYChByZXF1ZXN0aW5nX3BhcnR5GAQgASgJEi4KCnJlc3BvbmRfYnkYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKBXRlcm1zGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl90ZXJtcyK/AgoXUHJlY29uZmlybWF0aW9uRGVjaXNpb24SEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRJACghyZXNwb25zZRgDIAEoDjIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25SZXNwb25zZRIdChByZWplY3Rpb25fcmVhc29uGAQgASgJSACIAQESMAoKY29uZGl0aW9ucxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIRCglzaWduZWRfYnkYBiABKAkSLgoKZGVjaWRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb25CDQoLX2NvbmRpdGlvbnMi2AEKEkR2cENvbnRyYWN0Q3JlYXRlZBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhgKEGR2cF9wcm9wb3NhbF9jaWQYAyABKAkSHgoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgEIAEoCRIWCg5wcm9wb3Nlcl9wYXJ0eRgFIAEoCRIUCgxjb3VudGVycGFydHkYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAirwEKE0R2cENvbnRyYWN0QWNjZXB0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhUKDWR2cF91cGRhdGVfaWQYBCABKAkSEwoLYWNjZXB0ZWRfYnkYBSABKAkSLwoLYWNjZXB0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItsCChBBbGxvY2F0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNAoKcGFydHlfcm9sZRgDIAEoDjIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QYXJ0eVJvbGUSEAoIcGFydHlfaWQYBCABKAkSFgoOYWxsb2NhdGlvbl9jaWQYBSABKAkSHAoUYWxsb2NhdGlvbl91cGRhdGVfaWQYBiABKAkSFQoNaW5zdHJ1bWVudF9pZBgHIAEoCRIQCghxdWFudGl0eRgIIAEoCRIUCgxpc19hbGxvY2F0ZWQYCSABKAgSGgoNZXJyb3JfbWVzc2FnZRgKIAEoCUgAiAEBEjAKDGFsbG9jYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX2Vycm9yX21lc3NhZ2UiqgIKGVNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXMSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdkdnBfY2lkGAMgASgJEhcKD3NldHRsZWRfZHZwX2NpZBgEIAEoCRIcChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCRIkChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GAYgASgJEhUKDWlzX3N1Y2Nlc3NmdWwYByABKAgSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgAiAEBEi4KCnNldHRsZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIooBCg9Vc2VyU2VydmljZUluZm8SEAoIcGFydHlfaWQYASABKAkSGAoQdXNlcl9zZXJ2aWNlX2NpZBgCIAEoCRIbChNvcGVyYXRvcl9jb25maWdfY2lkGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIvkBChNTZXR0bGVtZW50SGFuZHNoYWtlEjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEQoJcGFydHlfaWRzGAIgAygJEj0KDXVzZXJfc2VydmljZXMYAyADKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXNlclNlcnZpY2VJbmZvEhYKDm9wZXJhdG9yX3BhcnR5GAQgASgJEjIKDGNhcGFiaWxpdGllcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIPCg1fY2FwYWJpbGl0aWVzIrgBCgxIYW5kc2hha2VBY2sSEAoIYWNjZXB0ZWQYASABKAgSHQoQcmVqZWN0aW9uX3JlYXNvbhgCIAEoCUgAiAEBEhIKCnNlc3Npb25faWQYAyABKAkSHQoVc3VwcG9ydGVkX2luc3RydW1lbnRzGAQgAygJEi8KC3NlcnZlcl90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfcmVqZWN0aW9uX3JlYXNvbiJnCglIZWFydGJlYXQSEgoKc2Vzc2lvbl9pZBgBIAEoCRItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgDIAEoBCJnChVMaXF1aWRpdHlQcm92aWRlclBpbmcSHwoXbGlxdWlkaXR5X3Byb3ZpZGVyX25hbWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKoAQoVTGlxdWlkaXR5UHJvdmlkZXJQb25nEh8KF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgAiAEBEi8KC3NlcnZlcl90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSLbBgoVU2VydmVyVG9DYW50b25NZXNzYWdlEhIKCnNlc3Npb25faWQYASABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAIgASgEEjwKDWhhbmRzaGFrZV9hY2sYAyABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuSGFuZHNoYWtlQWNrSAASNQoJaGVhcnRiZWF0GAQgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhlYXJ0YmVhdEgAEkQKCHByb3Bvc2FsGAUgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2VIABJQChdwcmVjb25maXJtYXRpb25fcmVxdWVzdBgGIAEoCzItLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25SZXF1ZXN0SAASQAoLZHZwX2NyZWF0ZWQYByABKAsyKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ29udHJhY3RDcmVhdGVkSAASQgoMZHZwX2FjY2VwdGVkGAggASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0QWNjZXB0ZWRIABJEChFhbGxvY2F0aW9uX3N0YXR1cxgJIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5BbGxvY2F0aW9uU3RhdHVzSAASTQoRc2V0dGxlbWVudF9zdGF0dXMYCiABKAsyMC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV4ZWN1dGlvblN0YXR1c0gAEjsKB2NvbW1hbmQYCyABKAsyKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudENvbW1hbmRIABI3CgVxdWVyeRgMIAEoCzImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UXVlcnlIABI/CgdscF9wb25nGA4gASgLMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkxpcXVpZGl0eVByb3ZpZGVyUG9uZ0gAEisKB3NlbnRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB21lc3NhZ2UisQYKFUNhbnRvblRvU2VydmVyTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI/CgloYW5kc2hha2UYAyABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEhhbmRzaGFrZUgAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJJCg9wcmVjb25maXJtYXRpb24YBSABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb25IABJACgxkdnBfY3JlYXRpb24YBiABKAsyKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQ3JlYXRpb25SZXBvcnRIABJECg5kdnBfYWNjZXB0YW5jZRgHIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBBY2NlcHRhbmNlUmVwb3J0SAASPQoKYWxsb2NhdGlvbhgIIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5BbGxvY2F0aW9uUmVwb3J0SAASPQoKc2V0dGxlbWVudBgJIAEoCzInLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVwb3J0SAASPQoIcmVzcG9uc2UYCiABKAsyKS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFJlc3BvbnNlSAASMwoFZXJyb3IYCyABKAsyIi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRXJyb3JSZXBvcnRIABI1CgZzdGF0dXMYDCABKAsyIy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3RhdHVzVXBkYXRlSAASPwoHbHBfcGluZxgOIAEoCzIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5MaXF1aWRpdHlQcm92aWRlclBpbmdIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIqICChFEdnBDcmVhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2UigQIKE0R2cEFjY2VwdGFuY2VSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhQKB2R2cF9jaWQYBCABKAlIAIgBARIaCg1kdnBfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSLnAgoQQWxsb2NhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEg8KB3N1Y2Nlc3MYBCABKAgSGwoOYWxsb2NhdGlvbl9jaWQYBSABKAlIAIgBARIhChRhbGxvY2F0aW9uX3VwZGF0ZV9pZBgGIAEoCUgBiAEBEhQKDGhvbGRpbmdfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAKIAQESMAoMYWxsb2NhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYWxsb2NhdGlvbl9jaWRCFwoVX2FsbG9jYXRpb25fdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIv4CChBTZXR0bGVtZW50UmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIcCg9zZXR0bGVkX2R2cF9jaWQYBCABKAlIAIgBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCUgBiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBiABKAlIAogBARIVCg1hcmNoaXZlZF9jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIA4gBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIQCg5fZXJyb3JfbWVzc2FnZSKHAgoLRXJyb3JSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USEgoKZXJyb3JfY29kZRgEIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAUgASgJEi0KB2RldGFpbHMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kZXRhaWxzIoYCCgxTdGF0dXNVcGRhdGUSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI9Cg1jdXJyZW50X3N0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIUCgdtZXNzYWdlGAQgASgJSACIAQESLQoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIKCghfbWV0cmljcyLSAwoRU2V0dGxlbWVudENvbW1hbmQSSgoMY29tbWFuZF90eXBlGAEgASgOMjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kLkNvbW1hbmRUeXBlEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkSMAoKcGFyYW1ldGVycxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpleGVjdXRlX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLTAQoLQ29tbWFuZFR5cGUSHAoYQ09NTUFORF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQ09NTUFORF9UWVBFX0NSRUFURV9EVlBfUFJPUE9TQUwQARIbChdDT01NQU5EX1RZUEVfQUNDRVBUX0RWUBACEhkKFUNPTU1BTkRfVFlQRV9BTExPQ0FURRADEhcKE0NPTU1BTkRfVFlQRV9TRVRUTEUQBBIXChNDT01NQU5EX1RZUEVfQ0FOQ0VMEAUSFgoSQ09NTUFORF9UWVBFX1JFVFJZEAZCDQoLX3BhcmFtZXRlcnMi3wMKD1NldHRsZW1lbnRRdWVyeRJECgpxdWVyeV90eXBlGAEgASgOMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeS5RdWVyeVR5cGUSFQoIcGFydHlfaWQYAiABKAlIAIgBARIYCgtjb250cmFjdF9pZBgDIAEoCUgBiAEBEhoKDWluc3RydW1lbnRfaWQYBCABKAlIAogBARIwCgpwYXJhbWV0ZXJzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBIsgBCglRdWVyeVR5cGUSGgoWUVVFUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1FVRVJZX1RZUEVfR0VUX0hPTERJTkdTEAESHwobUVVFUllfVFlQRV9HRVRfVVNFUl9TRVJWSUNFEAISGwoXUVVFUllfVFlQRV9HRVRfQ09OVFJBQ1QQAxIkCiBRVUVSWV9UWVBFX0dFVF9BTExPQ0FUSU9OX1NUQVRVUxAEEh4KGlFVRVJZX1RZUEVfQ0hFQ0tfTElRVUlESVRZEAVCCwoJX3BhcnR5X2lkQg4KDF9jb250cmFjdF9pZEIQCg5faW5zdHJ1bWVudF9pZEINCgtfcGFyYW1ldGVycyKuAQoSU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEioKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESMAoMcmVzcG9uZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIHCgVfZGF0YSKBAQoaR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBQggKBl9saW1pdCJxChtHZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USQwoJcHJvcG9zYWxzGAEgAygLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USDQoFdG90YWwYAiABKA0iaAoaR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIVCg1zZXR0bGVtZW50X2lkGAIgASgJIqcDCg1EdnBTdGVwU3RhdHVzEhEKCXN0ZXBfbmFtZRgBIAEoCRI4CgZzdGF0dXMYAiABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1c0VudW0SGAoLY29udHJhY3RfaWQYAyABKAlIAIgBARIWCgl1cGRhdGVfaWQYBCABKAlIAYgBARIzCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhoKDWVycm9yX21lc3NhZ2UYBiABKAlIA4gBARIZCgxjb25maXJtZWRfYnkYByABKAlIBIgBARJFChFjb25maXJtZWRfYnlfcm9sZRgIIAEoDjIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRlZEJ5Um9sZUgFiAEBQg4KDF9jb250cmFjdF9pZEIMCgpfdXBkYXRlX2lkQg0KC191cGRhdGVkX2F0QhAKDl9lcnJvcl9tZXNzYWdlQg8KDV9jb25maXJtZWRfYnlCFAoSX2NvbmZpcm1lZF9ieV9yb2xlIpIIChtHZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USGgoNZXJyb3JfbWVzc2FnZRgEIAEoCUgAiAEBEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkYKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgKIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEkcKGWR2cF9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYCyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJNCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSTgogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDSABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI5CgtkdnBfcmVxdWVzdBgOIAEoCzIkLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBTdGVwU3RhdHVzEjgKCmR2cF9hY2NlcHQYDyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI+ChBhbGxvY2F0aW9uX2J1eWVyGBAgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSPwoRYWxsb2NhdGlvbl9zZWxsZXIYESABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI4CgpzZXR0bGVtZW50GBIgASgLMiQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cFN0ZXBTdGF0dXMSSAoadHJhZmZpY19jb21wZW5zYXRpb25fYnV5ZXIYEyABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxJJCht0cmFmZmljX2NvbXBlbnNhdGlvbl9zZWxsZXIYFCABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1cxI9Cg9wcmVjb25maXJtYXRpb24YFSABKAsyJC5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwU3RlcFN0YXR1c0IQCg5fZXJyb3JfbWVzc2FnZSKVAQocU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEkAKCGRlY2lzaW9uGAIgASgLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvbkRlY2lzaW9uInkKGERpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZRITCgtjb250cmFjdF9pZBgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgCIAEoCRIaChJjcmVhdGVkX2V2ZW50X2Jsb2IYAyABKAkSFwoPc3luY2hyb25pemVyX2lkGAQgASgJIqsBChxTYXZlRGlzY2xvc2VkQ29udHJhY3RSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSQQoIY29udHJhY3QYAyABKAsyLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlIkEKHVNhdmVEaXNjbG9zZWRDb250cmFjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGAQocR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhIKBW93bmVyGAMgASgJSACIAQFCCAoGX293bmVyImMKHUdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEkIKCWNvbnRyYWN0cxgBIAMoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2Ui3AIKF1JlY29yZFNldHRsZW1lbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSFwoPc2V0dGxlZF9kdnBfY2lkGAMgASgJEhwKFHNldHRsZW1lbnRfdXBkYXRlX2lkGAQgASgJEiQKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBSABKAkSFAoHZHZwX2NpZBgGIAEoCUgAiAEBEiEKFGFsbG9jYXRpb25fYnV5ZXJfY2lkGAcgASgJSAGIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAggASgJSAKIAQFCCgoIX2R2cF9jaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWQiUwoYUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJIrYJChhSZWNvcmRUcmFuc2FjdGlvblJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIsCgZ1cGRhdGUYFiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESGAoQZGFtbF90ZW1wbGF0ZV9pZBgXIAEoCRITCgtkYW1sX2Nob2ljZRgYIAEoCRIyCgxkYW1sX2Nob2ljZXMYGSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQFCDAoKX3VwZGF0ZV9pZEIQCg5fc3VibWlzc2lvbl9pZEIZChdfc2V0dGxlbWVudF9wcm9wb3NhbF9pZEIMCgpfbWFya2V0X2lkQg8KDV9jb3VudGVycGFydHlCDgoMX2NvbnRyYWN0X2lkQg4KDF9jaG9pY2VfbmFtZUIJCgdfYW1vdW50QhEKD19yZXdhcmRzX2Ftb3VudEIQCg5fcmV3YXJkc19yb3VuZEISChBfdHJhZmZpY19yZXF1ZXN0QhMKEV90cmFmZmljX3Jlc3BvbnNlQhAKDl90cmFmZmljX3RvdGFsQhoKGF9hY3Rpdml0eV9tYXJrZXJfY3JlYXRlZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCCQoHX3VwZGF0ZUIPCg1fZGFtbF9jaG9pY2VzIlUKGVJlY29yZFRyYW5zYWN0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgEIpEDChxHZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSGQoMc2VuZGVyX3BhcnR5GAIgASgJSACIAQESPAoHdHhfdHlwZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5UcmFuc2FjdGlvblR5cGVIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAQgASgJSAKIAQESPQoGcmVzdWx0GAUgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0SAOIAQESEgoFbGltaXQYBiABKA1IBIgBARITCgZvZmZzZXQYByABKA1IBYgBAUIPCg1fc2VuZGVyX3BhcnR5QgoKCF90eF90eXBlQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgkKB19yZXN1bHRCCAoGX2xpbWl0QgkKB19vZmZzZXQidAodR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVzcG9uc2USRAoMdHJhbnNhY3Rpb25zGAEgAygLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uSGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAIgASgNIrwJChdUcmFuc2FjdGlvbkhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoBBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIuCgpjcmVhdGVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgZ1cGRhdGUYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESGAoQZGFtbF90ZW1wbGF0ZV9pZBgYIAEoCRITCgtkYW1sX2Nob2ljZRgZIAEoCRIyCgxkYW1sX2Nob2ljZXMYGiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQFCDAoKX3VwZGF0ZV9pZEIQCg5fc3VibWlzc2lvbl9pZEIZChdfc2V0dGxlbWVudF9wcm9wb3NhbF9pZEIMCgpfbWFya2V0X2lkQg8KDV9jb3VudGVycGFydHlCDgoMX2NvbnRyYWN0X2lkQg4KDF9jaG9pY2VfbmFtZUIJCgdfYW1vdW50QhEKD19yZXdhcmRzX2Ftb3VudEIQCg5fcmV3YXJkc19yb3VuZEISChBfdHJhZmZpY19yZXF1ZXN0QhMKEV90cmFmZmljX3Jlc3BvbnNlQhAKDl90cmFmZmljX3RvdGFsQhoKGF9hY3Rpdml0eV9tYXJrZXJfY3JlYXRlZEIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCCQoHX3VwZGF0ZUIPCg1fZGFtbF9jaG9pY2VzIs8EChxSZWNvcmRTZXR0bGVtZW50RXZlbnRSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSEwoLcmVjb3JkZWRfYnkYAyABKAkSPwoQcmVjb3JkZWRfYnlfcm9sZRgEIAEoDjIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRlZEJ5Um9sZRI+CgpldmVudF90eXBlGAUgASgOMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFR5cGUSGgoNc3VibWlzc2lvbl9pZBgGIAEoCUgAiAEBEhYKCXVwZGF0ZV9pZBgHIAEoCUgBiAEBEhgKC2NvbnRyYWN0X2lkGAggASgJSAKIAQESGAoLdGVtcGxhdGVfaWQYCSABKAlIA4gBARI8CgZyZXN1bHQYCiABKA4yLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEV2ZW50UmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYCyABKAlIBIgBARIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBAUIQCg5fc3VibWlzc2lvbl9pZEIMCgpfdXBkYXRlX2lkQg4KDF9jb250cmFjdF9pZEIOCgxfdGVtcGxhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2VCCwoJX21ldGFkYXRhIlMKHVJlY29yZFNldHRsZW1lbnRFdmVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIQCghldmVudF9pZBgDIAEoBCLHAgobR2V0U2V0dGxlbWVudEhpc3RvcnlSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSQwoKZXZlbnRfdHlwZRgDIAEoDjIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRUeXBlSACIAQESQQoGcmVzdWx0GAQgASgOMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFJlc3VsdEgBiAEBEhIKBWxpbWl0GAUgASgNSAKIAQESEwoGb2Zmc2V0GAYgASgNSAOIAQFCDQoLX2V2ZW50X3R5cGVCCQoHX3Jlc3VsdEIICgZfbGltaXRCCQoHX29mZnNldCJsChxHZXRTZXR0bGVtZW50SGlzdG9yeVJlc3BvbnNlEj0KBmV2ZW50cxgBIAMoCzItLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAIgASgNItAEChZTZXR0bGVtZW50SGlzdG9yeUVudHJ5EgoKAmlkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhMKC3JlY29yZGVkX2J5GAMgASgJEj8KEHJlY29yZGVkX2J5X3JvbGUYBCABKA4yJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkZWRCeVJvbGUSPgoKZXZlbnRfdHlwZRgFIAEoDjIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50RXZlbnRUeXBlEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAIgBARIWCgl1cGRhdGVfaWQYByABKAlIAYgBARIYCgtjb250cmFjdF9pZBgIIAEoCUgCiAEBEhgKC3RlbXBsYXRlX2lkGAkgASgJSAOIAQESPAoGcmVzdWx0GAogASgOMiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFdmVudFJlc3VsdBIaCg1lcnJvcl9tZXNzYWdlGAsgASgJSASIAQESLgoIbWV0YWRhdGEYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX3N1Ym1pc3Npb25faWRCDAoKX3VwZGF0ZV9pZEIOCgxfY29udHJhY3RfaWRCDgoMX3RlbXBsYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSLZAgobVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSUAoKbmV3X3N0YXR1cxgDIAEoDjI8LnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVQcm9wb3NhbFN0YXR1c1JlcXVlc3QuTmV3U3RhdHVzEhoKDWVycm9yX21lc3NhZ2UYBCABKAlIAIgBASJwCglOZXdTdGF0dXMSGgoWTkVXX1NUQVRVU19VTlNQRUNJRklFRBAAEhYKEk5FV19TVEFUVVNfU0VUVExFRBABEhgKFE5FV19TVEFUVVNfQ0FOQ0VMTEVEEAISFQoRTkVXX1NUQVRVU19GQUlMRUQQA0IQCg5fZXJyb3JfbWVzc2FnZSJAChxVcGRhdGVQcm9wb3NhbFN0YXR1c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKIAQogR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlcXVlc3QSPwoLY2FudG9uX2F1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGhIAIgBARITCgtwcm9wb3NhbF9pZBgDIAEoCUIOCgxfY2FudG9uX2F1dGgidgohR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlc3BvbnNlEg0KBWZvdW5kGAEgASgIEkIKCHByb3Bvc2FsGAIgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2UqhQQKD1NldHRsZW1lbnRTdGFnZRIgChxTRVRUTEVNRU5UX1NUQUdFX1VOU1BFQ0lGSUVEEAASJgoiU0VUVExFTUVOVF9TVEFHRV9QUk9QT1NBTF9SRUNFSVZFRBABEiwKKFNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUFUSU9OX1BFTkRJTkcQAhIhCh1TRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1FRBADEioKJlNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFUSU5HEAQSKQolU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRFRBAFEiIKHlNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVElORxAGEiEKHVNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVEVEEAcSHwobU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FUSU5HEAgSHgoaU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FURUQQCRIdChlTRVRUTEVNRU5UX1NUQUdFX1NFVFRMSU5HEAoSHAoYU0VUVExFTUVOVF9TVEFHRV9TRVRUTEVEEAsSGwoXU0VUVExFTUVOVF9TVEFHRV9GQUlMRUQQDBIeChpTRVRUTEVNRU5UX1NUQUdFX0NBTkNFTExFRBANKo0BChdQcmVjb25maXJtYXRpb25SZXNwb25zZRIoCiRQUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfVU5TUEVDSUZJRUQQABIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfQUNDRVBUEAESIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1JFSkVDVBACKm0KCVBhcnR5Um9sZRIaChZQQVJUWV9ST0xFX1VOU1BFQ0lGSUVEEAASFAoQUEFSVFlfUk9MRV9CVVlFUhABEhUKEVBBUlRZX1JPTEVfU0VMTEVSEAISFwoTUEFSVFlfUk9MRV9PUEVSQVRPUhADKvwDCg9UcmFuc2FjdGlvblR5cGUSIAocVFJBTlNBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEikKJVRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX1JFUVVFU1QQARIwCixUUkFOU0FDVElPTl9UWVBFX1VTRVJfU0VSVklDRV9SRVFVRVNUX0FDQ0VQVBACEigKJFRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX0NBTkNFTBADEiAKHFRSQU5TQUNUSU9OX1RZUEVfRFZQX1BST1BPU0UQBBIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9BQ0NFUFQQBRIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9DQU5DRUwQBhIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9TRVRUTEUQBxIdChlUUkFOU0FDVElPTl9UWVBFX0FMTE9DQVRFEAgSJAogVFJBTlNBQ1RJT05fVFlQRV9BTExPQ0FURV9DQU5DRUwQCRIhCh1UUkFOU0FDVElPTl9UWVBFX0ZFRV9UUkFOU0ZFUhAKEhoKFlRSQU5TQUNUSU9OX1RZUEVfTUVSR0UQCxIbChdUUkFOU0FDVElPTl9UWVBFX1VOTE9DSxAMEhoKFlRSQU5TQUNUSU9OX1RZUEVfT1RIRVIQDSqdAQoKU2VuZGVyVHlwZRIbChdTRU5ERVJfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNFTkRFUl9UWVBFX09QRVJBVE9SEAESFAoQU0VOREVSX1RZUEVfVVNFUhACEhUKEVNFTkRFUl9UWVBFX0JVWUVSEAMSFgoSU0VOREVSX1RZUEVfU0VMTEVSEAQSEwoPU0VOREVSX1RZUEVfQVBQEAUqlgEKEVRyYW5zYWN0aW9uUmVzdWx0EiIKHlRSQU5TQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9QRU5ESU5HEAESHgoaVFJBTlNBQ1RJT05fUkVTVUxUX1NVQ0NFU1MQAhIdChlUUkFOU0FDVElPTl9SRVNVTFRfRkFJTEVEEAMq8xMKE1NldHRsZW1lbnRFdmVudFR5cGUSJQohU0VUVExFTUVOVF9FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9CVVlFUl9TVUJNSVRURUQQARI8CjhTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1BST0NFU1NJTkdfRkVFX0JVWUVSX0NPTVBMRVRFRBACEjsKN1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQAxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfU1VCTUlUVEVEEAQSLworU0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9SRVFVRVNUX0NPTVBMRVRFRBAFEi8KK1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVRVUVTVF9XSVRORVNTRUQQBhIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfUkVKRUNURUQQBxIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1JFUVVFU1RfQ0FOQ0VMTEVEEAgSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEAkSPQo5U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfQ09NUExFVEVEEAoSPAo4U0VUVExFTUVOVF9FVkVOVF9UWVBFX0RWUF9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfUkVDRUlWRUQQCxIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9TVUJNSVRURUQQDBIuCipTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVF9DT01QTEVURUQQDRIwCixTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX0FDQ0VQVEVEX1dJVE5FU1NFRBAOEiYKIlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfUkVKRUNURUQQDxInCiNTRVRUTEVNRU5UX0VWRU5UX1RZUEVfRFZQX1dJVEhEUkFXThAQEicKI1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9EVlBfQ0FOQ0VMTEVEEBESQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfU1VCTUlUVEVEEBISQwo/U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfQ09NUExFVEVEEBMSQgo+U0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfQlVZRVJfUkVDRUlWRUQQFBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9TVUJNSVRURUQQFRI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DT01QTEVURUQQFhI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRORVNTRUQQFxI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9XSVRIRFJBV04QGBI0CjBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9CVVlFUl9DQU5DRUxMRUQQGRJECkBTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9QUk9DRVNTSU5HX0ZFRV9TRUxMRVJfU1VCTUlUVEVEEBoSRApAU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fUFJPQ0VTU0lOR19GRUVfU0VMTEVSX0NPTVBMRVRFRBAbEkMKP1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1BST0NFU1NJTkdfRkVFX1NFTExFUl9SRUNFSVZFRBAcEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9TVUJNSVRURUQQHRI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ09NUExFVEVEEB4SNQoxU0VUVExFTUVOVF9FVkVOVF9UWVBFX0FMTE9DQVRJT05fU0VMTEVSX1dJVE5FU1NFRBAfEjUKMVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9BTExPQ0FUSU9OX1NFTExFUl9XSVRIRFJBV04QIBI1CjFTRVRUTEVNRU5UX0VWRU5UX1RZUEVfQUxMT0NBVElPTl9TRUxMRVJfQ0FOQ0VMTEVEECESLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfU1VCTUlUVEVEECISLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfQ09NUExFVEVEECMSLgoqU0VUVExFTUVOVF9FVkVOVF9UWVBFX1NFVFRMRU1FTlRfV0lUTkVTU0VEECQSPgo6U0VUVExFTUVOVF9FVkVOVF9UWVBFX1RSQUZGSUNfQ09NUEVOU0FUSU9OX0JVWUVSX1NVQk1JVFRFRBAlEj4KOlNFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9CVVlFUl9DT01QTEVURUQQJhI/CjtTRVRUTEVNRU5UX0VWRU5UX1RZUEVfVFJBRkZJQ19DT01QRU5TQVRJT05fU0VMTEVSX1NVQk1JVFRFRBAnEj8KO1NFVFRMRU1FTlRfRVZFTlRfVFlQRV9UUkFGRklDX0NPTVBFTlNBVElPTl9TRUxMRVJfQ09NUExFVEVEECgSMwovU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9SRVFVRVNURUQQKRIvCitTRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0JVWUVSECoSMAosU0VUVExFTUVOVF9FVkVOVF9UWVBFX1BSRUNPTkZJUk1BVElPTl9TRUxMRVIQKxIzCi9TRVRUTEVNRU5UX0VWRU5UX1RZUEVfUFJFQ09ORklSTUFUSU9OX0NBTkNFTExFRBAsEiEKHVNFVFRMRU1FTlRfRVZFTlRfVFlQRV9USU1FT1VUEC0qpwEKDlJlY29yZGVkQnlSb2xlEiAKHFJFQ09SREVEX0JZX1JPTEVfVU5TUEVDSUZJRUQQABIaChZSRUNPUkRFRF9CWV9ST0xFX0JVWUVSEAESGwoXUkVDT1JERURfQllfUk9MRV9TRUxMRVIQAhIdChlSRUNPUkRFRF9CWV9ST0xFX09QRVJBVE9SEAMSGwoXUkVDT1JERURfQllfUk9MRV9TWVNURU0QBCrTAQoVU2V0dGxlbWVudEV2ZW50UmVzdWx0EicKI1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1VOU1BFQ0lGSUVEEAASIwofU0VUVExFTUVOVF9FVkVOVF9SRVNVTFRfUEVORElORxABEiMKH1NFVFRMRU1FTlRfRVZFTlRfUkVTVUxUX1NVQ0NFU1MQAhIiCh5TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9GQUlMRUQQAxIjCh9TRVRUTEVNRU5UX0VWRU5UX1JFU1VMVF9USU1FT1VUEAQqwwIKEUR2cFN0ZXBTdGF0dXNFbnVtEh8KG0RWUF9TVEVQX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF0RWUF9TVEVQX1NUQVRVU19QRU5ESU5HEAESHQoZRFZQX1NURVBfU1RBVFVTX1NVQk1JVFRFRBACEh0KGURWUF9TVEVQX1NUQVRVU19DT01QTEVURUQQAxIdChlEVlBfU1RFUF9TVEFUVVNfQ09ORklSTUVEEAQSGgoWRFZQX1NURVBfU1RBVFVTX0ZBSUxFRBAFEhwKGERWUF9TVEVQX1NUQVRVU19SRUpFQ1RFRBAGEh0KGURWUF9TVEVQX1NUQVRVU19XSVRIRFJBV04QBxIdChlEVlBfU1RFUF9TVEFUVVNfQ0FOQ0VMTEVEEAgSGwoXRFZQX1NURVBfU1RBVFVTX1RJTUVPVVQQCTL9DAoRU2V0dGxlbWVudFNlcnZpY2UScgoQU2V0dGxlbWVudFN0cmVhbRIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ub1NlcnZlck1lc3NhZ2UaLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VydmVyVG9DYW50b25NZXNzYWdlKAEwARJ8ChNHZXRQZW5kaW5nUHJvcG9zYWxzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFBlbmRpbmdQcm9wb3NhbHNSZXNwb25zZRJ8ChNHZXRTZXR0bGVtZW50U3RhdHVzEjEuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXF1ZXN0GjIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRTdGF0dXNSZXNwb25zZRJkChVTdWJtaXRQcmVjb25maXJtYXRpb24SMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRKCAQoVU2F2ZURpc2Nsb3NlZENvbnRyYWN0EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USggEKFUdldERpc2Nsb3NlZENvbnRyYWN0cxIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEnMKEFJlY29yZFNldHRsZW1lbnQSLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QaLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEnYKEVJlY29yZFRyYW5zYWN0aW9uEi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBowLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRUcmFuc2FjdGlvblJlc3BvbnNlEoIBChVHZXRUcmFuc2FjdGlvbkhpc3RvcnkSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZRKCAQoVUmVjb3JkU2V0dGxlbWVudEV2ZW50EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFNldHRsZW1lbnRFdmVudFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudEV2ZW50UmVzcG9uc2USfwoUR2V0U2V0dGxlbWVudEhpc3RvcnkSMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudEhpc3RvcnlSZXF1ZXN0GjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFNldHRsZW1lbnRIaXN0b3J5UmVzcG9uc2USfwoUVXBkYXRlUHJvcG9zYWxTdGF0dXMSMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlUHJvcG9zYWxTdGF0dXNSZXF1ZXN0GjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVByb3Bvc2FsU3RhdHVzUmVzcG9uc2USjgEKGUdldFNldHRsZW1lbnRQcm9wb3NhbEJ5SWQSNy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlcXVlc3QaOC5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFByb3Bvc2FsQnlJZFJlc3BvbnNlQjVaM2dpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87c2V0dGxlbWVudGIGcHJvdG8z", [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)
|
|
@@ -54,45 +54,6 @@ export type CantonNodeAuth = Message<"silvana.settlement.v1.CantonNodeAuth"> & {
|
|
|
54
54
|
export const CantonNodeAuthSchema: GenMessage<CantonNodeAuth> = /*@__PURE__*/
|
|
55
55
|
messageDesc(file_proto_silvana_settlement_v1_settlement, 0);
|
|
56
56
|
|
|
57
|
-
/**
|
|
58
|
-
* External account authentication (using Ed25519 signed JWT)
|
|
59
|
-
* For external parties that sign JWTs with their own private keys
|
|
60
|
-
* Public key is verified against party_id fingerprint:
|
|
61
|
-
* fingerprint = SHA256(0x0000000C || public_key_bytes)
|
|
62
|
-
* party_id format: "identifier::1220{fingerprint}"
|
|
63
|
-
*
|
|
64
|
-
* @generated from message silvana.settlement.v1.ExternalAuth
|
|
65
|
-
*/
|
|
66
|
-
export type ExternalAuth = Message<"silvana.settlement.v1.ExternalAuth"> & {
|
|
67
|
-
/**
|
|
68
|
-
* JWT signed with external account's Ed25519 private key
|
|
69
|
-
*
|
|
70
|
-
* @generated from field: string jwt = 1;
|
|
71
|
-
*/
|
|
72
|
-
jwt: string;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Canton party ID of the external account
|
|
76
|
-
*
|
|
77
|
-
* @generated from field: string party_id = 2;
|
|
78
|
-
*/
|
|
79
|
-
partyId: string;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Ed25519 public key (hex) - verified against party_id fingerprint
|
|
83
|
-
*
|
|
84
|
-
* @generated from field: string public_key = 3;
|
|
85
|
-
*/
|
|
86
|
-
publicKey: string;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Describes the message silvana.settlement.v1.ExternalAuth.
|
|
91
|
-
* Use `create(ExternalAuthSchema)` to create a new message.
|
|
92
|
-
*/
|
|
93
|
-
export const ExternalAuthSchema: GenMessage<ExternalAuth> = /*@__PURE__*/
|
|
94
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement, 1);
|
|
95
|
-
|
|
96
57
|
/**
|
|
97
58
|
* Instrument details for settlement
|
|
98
59
|
*
|
|
@@ -134,7 +95,7 @@ export type SettlementInstrument = Message<"silvana.settlement.v1.SettlementInst
|
|
|
134
95
|
* Use `create(SettlementInstrumentSchema)` to create a new message.
|
|
135
96
|
*/
|
|
136
97
|
export const SettlementInstrumentSchema: GenMessage<SettlementInstrument> = /*@__PURE__*/
|
|
137
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
98
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 1);
|
|
138
99
|
|
|
139
100
|
/**
|
|
140
101
|
* Settlement proposal from orderbook
|
|
@@ -244,7 +205,7 @@ export type SettlementProposalMessage = Message<"silvana.settlement.v1.Settlemen
|
|
|
244
205
|
* Use `create(SettlementProposalMessageSchema)` to create a new message.
|
|
245
206
|
*/
|
|
246
207
|
export const SettlementProposalMessageSchema: GenMessage<SettlementProposalMessage> = /*@__PURE__*/
|
|
247
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
208
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 2);
|
|
248
209
|
|
|
249
210
|
/**
|
|
250
211
|
* Preconfirmation request
|
|
@@ -296,7 +257,7 @@ export type PreconfirmationRequest = Message<"silvana.settlement.v1.Preconfirmat
|
|
|
296
257
|
* Use `create(PreconfirmationRequestSchema)` to create a new message.
|
|
297
258
|
*/
|
|
298
259
|
export const PreconfirmationRequestSchema: GenMessage<PreconfirmationRequest> = /*@__PURE__*/
|
|
299
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
260
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 3);
|
|
300
261
|
|
|
301
262
|
/**
|
|
302
263
|
* Preconfirmation decision from Canton node
|
|
@@ -351,7 +312,7 @@ export type PreconfirmationDecision = Message<"silvana.settlement.v1.Preconfirma
|
|
|
351
312
|
* Use `create(PreconfirmationDecisionSchema)` to create a new message.
|
|
352
313
|
*/
|
|
353
314
|
export const PreconfirmationDecisionSchema: GenMessage<PreconfirmationDecision> = /*@__PURE__*/
|
|
354
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
315
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 4);
|
|
355
316
|
|
|
356
317
|
/**
|
|
357
318
|
* DVP contract creation notification
|
|
@@ -410,7 +371,7 @@ export type DvpContractCreated = Message<"silvana.settlement.v1.DvpContractCreat
|
|
|
410
371
|
* Use `create(DvpContractCreatedSchema)` to create a new message.
|
|
411
372
|
*/
|
|
412
373
|
export const DvpContractCreatedSchema: GenMessage<DvpContractCreated> = /*@__PURE__*/
|
|
413
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
374
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 5);
|
|
414
375
|
|
|
415
376
|
/**
|
|
416
377
|
* DVP acceptance notification
|
|
@@ -462,7 +423,7 @@ export type DvpContractAccepted = Message<"silvana.settlement.v1.DvpContractAcce
|
|
|
462
423
|
* Use `create(DvpContractAcceptedSchema)` to create a new message.
|
|
463
424
|
*/
|
|
464
425
|
export const DvpContractAcceptedSchema: GenMessage<DvpContractAccepted> = /*@__PURE__*/
|
|
465
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
426
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 6);
|
|
466
427
|
|
|
467
428
|
/**
|
|
468
429
|
* Allocation status update
|
|
@@ -539,7 +500,7 @@ export type AllocationStatus = Message<"silvana.settlement.v1.AllocationStatus">
|
|
|
539
500
|
* Use `create(AllocationStatusSchema)` to create a new message.
|
|
540
501
|
*/
|
|
541
502
|
export const AllocationStatusSchema: GenMessage<AllocationStatus> = /*@__PURE__*/
|
|
542
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
503
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 7);
|
|
543
504
|
|
|
544
505
|
/**
|
|
545
506
|
* Settlement execution status
|
|
@@ -606,7 +567,7 @@ export type SettlementExecutionStatus = Message<"silvana.settlement.v1.Settlemen
|
|
|
606
567
|
* Use `create(SettlementExecutionStatusSchema)` to create a new message.
|
|
607
568
|
*/
|
|
608
569
|
export const SettlementExecutionStatusSchema: GenMessage<SettlementExecutionStatus> = /*@__PURE__*/
|
|
609
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
570
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 8);
|
|
610
571
|
|
|
611
572
|
/**
|
|
612
573
|
* User service contract info (for DVP operations)
|
|
@@ -644,7 +605,7 @@ export type UserServiceInfo = Message<"silvana.settlement.v1.UserServiceInfo"> &
|
|
|
644
605
|
* Use `create(UserServiceInfoSchema)` to create a new message.
|
|
645
606
|
*/
|
|
646
607
|
export const UserServiceInfoSchema: GenMessage<UserServiceInfo> = /*@__PURE__*/
|
|
647
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
608
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 9);
|
|
648
609
|
|
|
649
610
|
/**
|
|
650
611
|
* Initial handshake from Canton node to server
|
|
@@ -691,7 +652,7 @@ export type SettlementHandshake = Message<"silvana.settlement.v1.SettlementHands
|
|
|
691
652
|
* Use `create(SettlementHandshakeSchema)` to create a new message.
|
|
692
653
|
*/
|
|
693
654
|
export const SettlementHandshakeSchema: GenMessage<SettlementHandshake> = /*@__PURE__*/
|
|
694
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
655
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 10);
|
|
695
656
|
|
|
696
657
|
/**
|
|
697
658
|
* Handshake acknowledgment from server
|
|
@@ -732,7 +693,7 @@ export type HandshakeAck = Message<"silvana.settlement.v1.HandshakeAck"> & {
|
|
|
732
693
|
* Use `create(HandshakeAckSchema)` to create a new message.
|
|
733
694
|
*/
|
|
734
695
|
export const HandshakeAckSchema: GenMessage<HandshakeAck> = /*@__PURE__*/
|
|
735
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
696
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 11);
|
|
736
697
|
|
|
737
698
|
/**
|
|
738
699
|
* Heartbeat message (bidirectional)
|
|
@@ -761,7 +722,7 @@ export type Heartbeat = Message<"silvana.settlement.v1.Heartbeat"> & {
|
|
|
761
722
|
* Use `create(HeartbeatSchema)` to create a new message.
|
|
762
723
|
*/
|
|
763
724
|
export const HeartbeatSchema: GenMessage<Heartbeat> = /*@__PURE__*/
|
|
764
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
725
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 12);
|
|
765
726
|
|
|
766
727
|
/**
|
|
767
728
|
* Liquidity provider ping message (Canton node to server)
|
|
@@ -788,7 +749,7 @@ export type LiquidityProviderPing = Message<"silvana.settlement.v1.LiquidityProv
|
|
|
788
749
|
* Use `create(LiquidityProviderPingSchema)` to create a new message.
|
|
789
750
|
*/
|
|
790
751
|
export const LiquidityProviderPingSchema: GenMessage<LiquidityProviderPing> = /*@__PURE__*/
|
|
791
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
752
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 13);
|
|
792
753
|
|
|
793
754
|
/**
|
|
794
755
|
* Liquidity provider pong message (server to Canton node)
|
|
@@ -829,7 +790,7 @@ export type LiquidityProviderPong = Message<"silvana.settlement.v1.LiquidityProv
|
|
|
829
790
|
* Use `create(LiquidityProviderPongSchema)` to create a new message.
|
|
830
791
|
*/
|
|
831
792
|
export const LiquidityProviderPongSchema: GenMessage<LiquidityProviderPong> = /*@__PURE__*/
|
|
832
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
793
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 14);
|
|
833
794
|
|
|
834
795
|
/**
|
|
835
796
|
* Stream message from server to Canton node
|
|
@@ -931,7 +892,7 @@ export type ServerToCantonMessage = Message<"silvana.settlement.v1.ServerToCanto
|
|
|
931
892
|
* Use `create(ServerToCantonMessageSchema)` to create a new message.
|
|
932
893
|
*/
|
|
933
894
|
export const ServerToCantonMessageSchema: GenMessage<ServerToCantonMessage> = /*@__PURE__*/
|
|
934
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
895
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 15);
|
|
935
896
|
|
|
936
897
|
/**
|
|
937
898
|
* Stream message from Canton node to server
|
|
@@ -1033,7 +994,7 @@ export type CantonToServerMessage = Message<"silvana.settlement.v1.CantonToServe
|
|
|
1033
994
|
* Use `create(CantonToServerMessageSchema)` to create a new message.
|
|
1034
995
|
*/
|
|
1035
996
|
export const CantonToServerMessageSchema: GenMessage<CantonToServerMessage> = /*@__PURE__*/
|
|
1036
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
997
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 16);
|
|
1037
998
|
|
|
1038
999
|
/**
|
|
1039
1000
|
* Report DVP proposal creation
|
|
@@ -1084,7 +1045,7 @@ export type DvpCreationReport = Message<"silvana.settlement.v1.DvpCreationReport
|
|
|
1084
1045
|
* Use `create(DvpCreationReportSchema)` to create a new message.
|
|
1085
1046
|
*/
|
|
1086
1047
|
export const DvpCreationReportSchema: GenMessage<DvpCreationReport> = /*@__PURE__*/
|
|
1087
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1048
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 17);
|
|
1088
1049
|
|
|
1089
1050
|
/**
|
|
1090
1051
|
* Report DVP acceptance
|
|
@@ -1135,7 +1096,7 @@ export type DvpAcceptanceReport = Message<"silvana.settlement.v1.DvpAcceptanceRe
|
|
|
1135
1096
|
* Use `create(DvpAcceptanceReportSchema)` to create a new message.
|
|
1136
1097
|
*/
|
|
1137
1098
|
export const DvpAcceptanceReportSchema: GenMessage<DvpAcceptanceReport> = /*@__PURE__*/
|
|
1138
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1099
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 18);
|
|
1139
1100
|
|
|
1140
1101
|
/**
|
|
1141
1102
|
* Report allocation completion
|
|
@@ -1198,7 +1159,7 @@ export type AllocationReport = Message<"silvana.settlement.v1.AllocationReport">
|
|
|
1198
1159
|
* Use `create(AllocationReportSchema)` to create a new message.
|
|
1199
1160
|
*/
|
|
1200
1161
|
export const AllocationReportSchema: GenMessage<AllocationReport> = /*@__PURE__*/
|
|
1201
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1162
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 19);
|
|
1202
1163
|
|
|
1203
1164
|
/**
|
|
1204
1165
|
* Report settlement completion
|
|
@@ -1261,7 +1222,7 @@ export type SettlementReport = Message<"silvana.settlement.v1.SettlementReport">
|
|
|
1261
1222
|
* Use `create(SettlementReportSchema)` to create a new message.
|
|
1262
1223
|
*/
|
|
1263
1224
|
export const SettlementReportSchema: GenMessage<SettlementReport> = /*@__PURE__*/
|
|
1264
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1225
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 20);
|
|
1265
1226
|
|
|
1266
1227
|
/**
|
|
1267
1228
|
* Error report
|
|
@@ -1312,7 +1273,7 @@ export type ErrorReport = Message<"silvana.settlement.v1.ErrorReport"> & {
|
|
|
1312
1273
|
* Use `create(ErrorReportSchema)` to create a new message.
|
|
1313
1274
|
*/
|
|
1314
1275
|
export const ErrorReportSchema: GenMessage<ErrorReport> = /*@__PURE__*/
|
|
1315
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1276
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 21);
|
|
1316
1277
|
|
|
1317
1278
|
/**
|
|
1318
1279
|
* Status update
|
|
@@ -1360,7 +1321,7 @@ export type StatusUpdate = Message<"silvana.settlement.v1.StatusUpdate"> & {
|
|
|
1360
1321
|
* Use `create(StatusUpdateSchema)` to create a new message.
|
|
1361
1322
|
*/
|
|
1362
1323
|
export const StatusUpdateSchema: GenMessage<StatusUpdate> = /*@__PURE__*/
|
|
1363
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1324
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 22);
|
|
1364
1325
|
|
|
1365
1326
|
/**
|
|
1366
1327
|
* Command to Canton node
|
|
@@ -1403,7 +1364,7 @@ export type SettlementCommand = Message<"silvana.settlement.v1.SettlementCommand
|
|
|
1403
1364
|
* Use `create(SettlementCommandSchema)` to create a new message.
|
|
1404
1365
|
*/
|
|
1405
1366
|
export const SettlementCommandSchema: GenMessage<SettlementCommand> = /*@__PURE__*/
|
|
1406
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1367
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 23);
|
|
1407
1368
|
|
|
1408
1369
|
/**
|
|
1409
1370
|
* @generated from enum silvana.settlement.v1.SettlementCommand.CommandType
|
|
@@ -1449,7 +1410,7 @@ export enum SettlementCommand_CommandType {
|
|
|
1449
1410
|
* Describes the enum silvana.settlement.v1.SettlementCommand.CommandType.
|
|
1450
1411
|
*/
|
|
1451
1412
|
export const SettlementCommand_CommandTypeSchema: GenEnum<SettlementCommand_CommandType> = /*@__PURE__*/
|
|
1452
|
-
enumDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1413
|
+
enumDesc(file_proto_silvana_settlement_v1_settlement, 23, 0);
|
|
1453
1414
|
|
|
1454
1415
|
/**
|
|
1455
1416
|
* Query to Canton node
|
|
@@ -1488,7 +1449,7 @@ export type SettlementQuery = Message<"silvana.settlement.v1.SettlementQuery"> &
|
|
|
1488
1449
|
* Use `create(SettlementQuerySchema)` to create a new message.
|
|
1489
1450
|
*/
|
|
1490
1451
|
export const SettlementQuerySchema: GenMessage<SettlementQuery> = /*@__PURE__*/
|
|
1491
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1452
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 24);
|
|
1492
1453
|
|
|
1493
1454
|
/**
|
|
1494
1455
|
* @generated from enum silvana.settlement.v1.SettlementQuery.QueryType
|
|
@@ -1529,7 +1490,7 @@ export enum SettlementQuery_QueryType {
|
|
|
1529
1490
|
* Describes the enum silvana.settlement.v1.SettlementQuery.QueryType.
|
|
1530
1491
|
*/
|
|
1531
1492
|
export const SettlementQuery_QueryTypeSchema: GenEnum<SettlementQuery_QueryType> = /*@__PURE__*/
|
|
1532
|
-
enumDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1493
|
+
enumDesc(file_proto_silvana_settlement_v1_settlement, 24, 0);
|
|
1533
1494
|
|
|
1534
1495
|
/**
|
|
1535
1496
|
* Response to command or query
|
|
@@ -1563,7 +1524,7 @@ export type SettlementResponse = Message<"silvana.settlement.v1.SettlementRespon
|
|
|
1563
1524
|
* Use `create(SettlementResponseSchema)` to create a new message.
|
|
1564
1525
|
*/
|
|
1565
1526
|
export const SettlementResponseSchema: GenMessage<SettlementResponse> = /*@__PURE__*/
|
|
1566
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1527
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 25);
|
|
1567
1528
|
|
|
1568
1529
|
/**
|
|
1569
1530
|
* @generated from message silvana.settlement.v1.GetPendingProposalsRequest
|
|
@@ -1590,7 +1551,7 @@ export type GetPendingProposalsRequest = Message<"silvana.settlement.v1.GetPendi
|
|
|
1590
1551
|
* Use `create(GetPendingProposalsRequestSchema)` to create a new message.
|
|
1591
1552
|
*/
|
|
1592
1553
|
export const GetPendingProposalsRequestSchema: GenMessage<GetPendingProposalsRequest> = /*@__PURE__*/
|
|
1593
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1554
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 26);
|
|
1594
1555
|
|
|
1595
1556
|
/**
|
|
1596
1557
|
* @generated from message silvana.settlement.v1.GetPendingProposalsResponse
|
|
@@ -1612,7 +1573,7 @@ export type GetPendingProposalsResponse = Message<"silvana.settlement.v1.GetPend
|
|
|
1612
1573
|
* Use `create(GetPendingProposalsResponseSchema)` to create a new message.
|
|
1613
1574
|
*/
|
|
1614
1575
|
export const GetPendingProposalsResponseSchema: GenMessage<GetPendingProposalsResponse> = /*@__PURE__*/
|
|
1615
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1576
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 27);
|
|
1616
1577
|
|
|
1617
1578
|
/**
|
|
1618
1579
|
* @generated from message silvana.settlement.v1.GetSettlementStatusRequest
|
|
@@ -1634,7 +1595,7 @@ export type GetSettlementStatusRequest = Message<"silvana.settlement.v1.GetSettl
|
|
|
1634
1595
|
* Use `create(GetSettlementStatusRequestSchema)` to create a new message.
|
|
1635
1596
|
*/
|
|
1636
1597
|
export const GetSettlementStatusRequestSchema: GenMessage<GetSettlementStatusRequest> = /*@__PURE__*/
|
|
1637
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1598
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 28);
|
|
1638
1599
|
|
|
1639
1600
|
/**
|
|
1640
1601
|
* Status of a single step in the DVP flow with details
|
|
@@ -1704,7 +1665,7 @@ export type DvpStepStatus = Message<"silvana.settlement.v1.DvpStepStatus"> & {
|
|
|
1704
1665
|
* Use `create(DvpStepStatusSchema)` to create a new message.
|
|
1705
1666
|
*/
|
|
1706
1667
|
export const DvpStepStatusSchema: GenMessage<DvpStepStatus> = /*@__PURE__*/
|
|
1707
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1668
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 29);
|
|
1708
1669
|
|
|
1709
1670
|
/**
|
|
1710
1671
|
* Enhanced GetSettlementStatusResponse with detailed DVP flow progress
|
|
@@ -1823,7 +1784,7 @@ export type GetSettlementStatusResponse = Message<"silvana.settlement.v1.GetSett
|
|
|
1823
1784
|
* Use `create(GetSettlementStatusResponseSchema)` to create a new message.
|
|
1824
1785
|
*/
|
|
1825
1786
|
export const GetSettlementStatusResponseSchema: GenMessage<GetSettlementStatusResponse> = /*@__PURE__*/
|
|
1826
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1787
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 30);
|
|
1827
1788
|
|
|
1828
1789
|
/**
|
|
1829
1790
|
* @generated from message silvana.settlement.v1.SubmitPreconfirmationRequest
|
|
@@ -1845,7 +1806,7 @@ export type SubmitPreconfirmationRequest = Message<"silvana.settlement.v1.Submit
|
|
|
1845
1806
|
* Use `create(SubmitPreconfirmationRequestSchema)` to create a new message.
|
|
1846
1807
|
*/
|
|
1847
1808
|
export const SubmitPreconfirmationRequestSchema: GenMessage<SubmitPreconfirmationRequest> = /*@__PURE__*/
|
|
1848
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1809
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 31);
|
|
1849
1810
|
|
|
1850
1811
|
/**
|
|
1851
1812
|
* A disclosed contract for settlement
|
|
@@ -1888,7 +1849,7 @@ export type DisclosedContractMessage = Message<"silvana.settlement.v1.DisclosedC
|
|
|
1888
1849
|
* Use `create(DisclosedContractMessageSchema)` to create a new message.
|
|
1889
1850
|
*/
|
|
1890
1851
|
export const DisclosedContractMessageSchema: GenMessage<DisclosedContractMessage> = /*@__PURE__*/
|
|
1891
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1852
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 32);
|
|
1892
1853
|
|
|
1893
1854
|
/**
|
|
1894
1855
|
* Save disclosed contract request (buyer/seller saves their contracts during allocation)
|
|
@@ -1909,16 +1870,11 @@ export type SaveDisclosedContractRequest = Message<"silvana.settlement.v1.SaveDi
|
|
|
1909
1870
|
proposalId: string;
|
|
1910
1871
|
|
|
1911
1872
|
/**
|
|
1873
|
+
* Auth for external parties via gRPC metadata: authorization: Bearer <token>
|
|
1874
|
+
*
|
|
1912
1875
|
* @generated from field: silvana.settlement.v1.DisclosedContractMessage contract = 3;
|
|
1913
1876
|
*/
|
|
1914
1877
|
contract?: DisclosedContractMessage;
|
|
1915
|
-
|
|
1916
|
-
/**
|
|
1917
|
-
* Alternative auth for external parties
|
|
1918
|
-
*
|
|
1919
|
-
* @generated from field: optional silvana.settlement.v1.ExternalAuth external_auth = 10;
|
|
1920
|
-
*/
|
|
1921
|
-
externalAuth?: ExternalAuth;
|
|
1922
1878
|
};
|
|
1923
1879
|
|
|
1924
1880
|
/**
|
|
@@ -1926,7 +1882,7 @@ export type SaveDisclosedContractRequest = Message<"silvana.settlement.v1.SaveDi
|
|
|
1926
1882
|
* Use `create(SaveDisclosedContractRequestSchema)` to create a new message.
|
|
1927
1883
|
*/
|
|
1928
1884
|
export const SaveDisclosedContractRequestSchema: GenMessage<SaveDisclosedContractRequest> = /*@__PURE__*/
|
|
1929
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1885
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 33);
|
|
1930
1886
|
|
|
1931
1887
|
/**
|
|
1932
1888
|
* Save disclosed contract response
|
|
@@ -1950,7 +1906,7 @@ export type SaveDisclosedContractResponse = Message<"silvana.settlement.v1.SaveD
|
|
|
1950
1906
|
* Use `create(SaveDisclosedContractResponseSchema)` to create a new message.
|
|
1951
1907
|
*/
|
|
1952
1908
|
export const SaveDisclosedContractResponseSchema: GenMessage<SaveDisclosedContractResponse> = /*@__PURE__*/
|
|
1953
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1909
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 34);
|
|
1954
1910
|
|
|
1955
1911
|
/**
|
|
1956
1912
|
* Get disclosed contracts request
|
|
@@ -1983,7 +1939,7 @@ export type GetDisclosedContractsRequest = Message<"silvana.settlement.v1.GetDis
|
|
|
1983
1939
|
* Use `create(GetDisclosedContractsRequestSchema)` to create a new message.
|
|
1984
1940
|
*/
|
|
1985
1941
|
export const GetDisclosedContractsRequestSchema: GenMessage<GetDisclosedContractsRequest> = /*@__PURE__*/
|
|
1986
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1942
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
|
|
1987
1943
|
|
|
1988
1944
|
/**
|
|
1989
1945
|
* Get disclosed contracts response
|
|
@@ -2002,7 +1958,7 @@ export type GetDisclosedContractsResponse = Message<"silvana.settlement.v1.GetDi
|
|
|
2002
1958
|
* Use `create(GetDisclosedContractsResponseSchema)` to create a new message.
|
|
2003
1959
|
*/
|
|
2004
1960
|
export const GetDisclosedContractsResponseSchema: GenMessage<GetDisclosedContractsResponse> = /*@__PURE__*/
|
|
2005
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
1961
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
|
|
2006
1962
|
|
|
2007
1963
|
/**
|
|
2008
1964
|
* Record a completed settlement request
|
|
@@ -2073,7 +2029,7 @@ export type RecordSettlementRequest = Message<"silvana.settlement.v1.RecordSettl
|
|
|
2073
2029
|
* Use `create(RecordSettlementRequestSchema)` to create a new message.
|
|
2074
2030
|
*/
|
|
2075
2031
|
export const RecordSettlementRequestSchema: GenMessage<RecordSettlementRequest> = /*@__PURE__*/
|
|
2076
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2032
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
|
|
2077
2033
|
|
|
2078
2034
|
/**
|
|
2079
2035
|
* Record settlement response
|
|
@@ -2104,7 +2060,7 @@ export type RecordSettlementResponse = Message<"silvana.settlement.v1.RecordSett
|
|
|
2104
2060
|
* Use `create(RecordSettlementResponseSchema)` to create a new message.
|
|
2105
2061
|
*/
|
|
2106
2062
|
export const RecordSettlementResponseSchema: GenMessage<RecordSettlementResponse> = /*@__PURE__*/
|
|
2107
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2063
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 38);
|
|
2108
2064
|
|
|
2109
2065
|
/**
|
|
2110
2066
|
* Record a transaction in history
|
|
@@ -2258,13 +2214,6 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
|
|
|
2258
2214
|
* @generated from field: optional google.protobuf.Struct daml_choices = 25;
|
|
2259
2215
|
*/
|
|
2260
2216
|
damlChoices?: JsonObject;
|
|
2261
|
-
|
|
2262
|
-
/**
|
|
2263
|
-
* Alternative auth for external parties
|
|
2264
|
-
*
|
|
2265
|
-
* @generated from field: optional silvana.settlement.v1.ExternalAuth external_auth = 30;
|
|
2266
|
-
*/
|
|
2267
|
-
externalAuth?: ExternalAuth;
|
|
2268
2217
|
};
|
|
2269
2218
|
|
|
2270
2219
|
/**
|
|
@@ -2272,7 +2221,7 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
|
|
|
2272
2221
|
* Use `create(RecordTransactionRequestSchema)` to create a new message.
|
|
2273
2222
|
*/
|
|
2274
2223
|
export const RecordTransactionRequestSchema: GenMessage<RecordTransactionRequest> = /*@__PURE__*/
|
|
2275
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2224
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 39);
|
|
2276
2225
|
|
|
2277
2226
|
/**
|
|
2278
2227
|
* @generated from message silvana.settlement.v1.RecordTransactionResponse
|
|
@@ -2301,7 +2250,7 @@ export type RecordTransactionResponse = Message<"silvana.settlement.v1.RecordTra
|
|
|
2301
2250
|
* Use `create(RecordTransactionResponseSchema)` to create a new message.
|
|
2302
2251
|
*/
|
|
2303
2252
|
export const RecordTransactionResponseSchema: GenMessage<RecordTransactionResponse> = /*@__PURE__*/
|
|
2304
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2253
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 40);
|
|
2305
2254
|
|
|
2306
2255
|
/**
|
|
2307
2256
|
* Get transaction history
|
|
@@ -2350,7 +2299,7 @@ export type GetTransactionHistoryRequest = Message<"silvana.settlement.v1.GetTra
|
|
|
2350
2299
|
* Use `create(GetTransactionHistoryRequestSchema)` to create a new message.
|
|
2351
2300
|
*/
|
|
2352
2301
|
export const GetTransactionHistoryRequestSchema: GenMessage<GetTransactionHistoryRequest> = /*@__PURE__*/
|
|
2353
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2302
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 41);
|
|
2354
2303
|
|
|
2355
2304
|
/**
|
|
2356
2305
|
* @generated from message silvana.settlement.v1.GetTransactionHistoryResponse
|
|
@@ -2372,7 +2321,7 @@ export type GetTransactionHistoryResponse = Message<"silvana.settlement.v1.GetTr
|
|
|
2372
2321
|
* Use `create(GetTransactionHistoryResponseSchema)` to create a new message.
|
|
2373
2322
|
*/
|
|
2374
2323
|
export const GetTransactionHistoryResponseSchema: GenMessage<GetTransactionHistoryResponse> = /*@__PURE__*/
|
|
2375
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2324
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 42);
|
|
2376
2325
|
|
|
2377
2326
|
/**
|
|
2378
2327
|
* @generated from message silvana.settlement.v1.TransactionHistoryEntry
|
|
@@ -2524,7 +2473,7 @@ export type TransactionHistoryEntry = Message<"silvana.settlement.v1.Transaction
|
|
|
2524
2473
|
* Use `create(TransactionHistoryEntrySchema)` to create a new message.
|
|
2525
2474
|
*/
|
|
2526
2475
|
export const TransactionHistoryEntrySchema: GenMessage<TransactionHistoryEntry> = /*@__PURE__*/
|
|
2527
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2476
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 43);
|
|
2528
2477
|
|
|
2529
2478
|
/**
|
|
2530
2479
|
* Record a settlement event (any party can record for their settlements)
|
|
@@ -2607,13 +2556,6 @@ export type RecordSettlementEventRequest = Message<"silvana.settlement.v1.Record
|
|
|
2607
2556
|
* @generated from field: optional google.protobuf.Struct metadata = 12;
|
|
2608
2557
|
*/
|
|
2609
2558
|
metadata?: JsonObject;
|
|
2610
|
-
|
|
2611
|
-
/**
|
|
2612
|
-
* Alternative auth for external parties
|
|
2613
|
-
*
|
|
2614
|
-
* @generated from field: optional silvana.settlement.v1.ExternalAuth external_auth = 20;
|
|
2615
|
-
*/
|
|
2616
|
-
externalAuth?: ExternalAuth;
|
|
2617
2559
|
};
|
|
2618
2560
|
|
|
2619
2561
|
/**
|
|
@@ -2621,7 +2563,7 @@ export type RecordSettlementEventRequest = Message<"silvana.settlement.v1.Record
|
|
|
2621
2563
|
* Use `create(RecordSettlementEventRequestSchema)` to create a new message.
|
|
2622
2564
|
*/
|
|
2623
2565
|
export const RecordSettlementEventRequestSchema: GenMessage<RecordSettlementEventRequest> = /*@__PURE__*/
|
|
2624
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2566
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 44);
|
|
2625
2567
|
|
|
2626
2568
|
/**
|
|
2627
2569
|
* @generated from message silvana.settlement.v1.RecordSettlementEventResponse
|
|
@@ -2650,7 +2592,7 @@ export type RecordSettlementEventResponse = Message<"silvana.settlement.v1.Recor
|
|
|
2650
2592
|
* Use `create(RecordSettlementEventResponseSchema)` to create a new message.
|
|
2651
2593
|
*/
|
|
2652
2594
|
export const RecordSettlementEventResponseSchema: GenMessage<RecordSettlementEventResponse> = /*@__PURE__*/
|
|
2653
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2595
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 45);
|
|
2654
2596
|
|
|
2655
2597
|
/**
|
|
2656
2598
|
* Get settlement history (parties can only see their own settlements)
|
|
@@ -2700,7 +2642,7 @@ export type GetSettlementHistoryRequest = Message<"silvana.settlement.v1.GetSett
|
|
|
2700
2642
|
* Use `create(GetSettlementHistoryRequestSchema)` to create a new message.
|
|
2701
2643
|
*/
|
|
2702
2644
|
export const GetSettlementHistoryRequestSchema: GenMessage<GetSettlementHistoryRequest> = /*@__PURE__*/
|
|
2703
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2645
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 46);
|
|
2704
2646
|
|
|
2705
2647
|
/**
|
|
2706
2648
|
* @generated from message silvana.settlement.v1.GetSettlementHistoryResponse
|
|
@@ -2722,7 +2664,7 @@ export type GetSettlementHistoryResponse = Message<"silvana.settlement.v1.GetSet
|
|
|
2722
2664
|
* Use `create(GetSettlementHistoryResponseSchema)` to create a new message.
|
|
2723
2665
|
*/
|
|
2724
2666
|
export const GetSettlementHistoryResponseSchema: GenMessage<GetSettlementHistoryResponse> = /*@__PURE__*/
|
|
2725
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2667
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 47);
|
|
2726
2668
|
|
|
2727
2669
|
/**
|
|
2728
2670
|
* Settlement history entry (matches settlement_proposal_history table)
|
|
@@ -2805,7 +2747,7 @@ export type SettlementHistoryEntry = Message<"silvana.settlement.v1.SettlementHi
|
|
|
2805
2747
|
* Use `create(SettlementHistoryEntrySchema)` to create a new message.
|
|
2806
2748
|
*/
|
|
2807
2749
|
export const SettlementHistoryEntrySchema: GenMessage<SettlementHistoryEntry> = /*@__PURE__*/
|
|
2808
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2750
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 48);
|
|
2809
2751
|
|
|
2810
2752
|
/**
|
|
2811
2753
|
* Update proposal status (operator only)
|
|
@@ -2845,7 +2787,7 @@ export type UpdateProposalStatusRequest = Message<"silvana.settlement.v1.UpdateP
|
|
|
2845
2787
|
* Use `create(UpdateProposalStatusRequestSchema)` to create a new message.
|
|
2846
2788
|
*/
|
|
2847
2789
|
export const UpdateProposalStatusRequestSchema: GenMessage<UpdateProposalStatusRequest> = /*@__PURE__*/
|
|
2848
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2790
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 49);
|
|
2849
2791
|
|
|
2850
2792
|
/**
|
|
2851
2793
|
* @generated from enum silvana.settlement.v1.UpdateProposalStatusRequest.NewStatus
|
|
@@ -2876,7 +2818,7 @@ export enum UpdateProposalStatusRequest_NewStatus {
|
|
|
2876
2818
|
* Describes the enum silvana.settlement.v1.UpdateProposalStatusRequest.NewStatus.
|
|
2877
2819
|
*/
|
|
2878
2820
|
export const UpdateProposalStatusRequest_NewStatusSchema: GenEnum<UpdateProposalStatusRequest_NewStatus> = /*@__PURE__*/
|
|
2879
|
-
enumDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2821
|
+
enumDesc(file_proto_silvana_settlement_v1_settlement, 49, 0);
|
|
2880
2822
|
|
|
2881
2823
|
/**
|
|
2882
2824
|
* @generated from message silvana.settlement.v1.UpdateProposalStatusResponse
|
|
@@ -2898,7 +2840,7 @@ export type UpdateProposalStatusResponse = Message<"silvana.settlement.v1.Update
|
|
|
2898
2840
|
* Use `create(UpdateProposalStatusResponseSchema)` to create a new message.
|
|
2899
2841
|
*/
|
|
2900
2842
|
export const UpdateProposalStatusResponseSchema: GenMessage<UpdateProposalStatusResponse> = /*@__PURE__*/
|
|
2901
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2843
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 50);
|
|
2902
2844
|
|
|
2903
2845
|
/**
|
|
2904
2846
|
* Get settlement proposal by ID request
|
|
@@ -2907,21 +2849,12 @@ export const UpdateProposalStatusResponseSchema: GenMessage<UpdateProposalStatus
|
|
|
2907
2849
|
*/
|
|
2908
2850
|
export type GetSettlementProposalByIdRequest = Message<"silvana.settlement.v1.GetSettlementProposalByIdRequest"> & {
|
|
2909
2851
|
/**
|
|
2910
|
-
*
|
|
2852
|
+
* Auth for external parties via gRPC metadata: authorization: Bearer <token>
|
|
2853
|
+
* For internal Canton agents, use canton_auth field
|
|
2854
|
+
*
|
|
2855
|
+
* @generated from field: optional silvana.settlement.v1.CantonNodeAuth canton_auth = 1;
|
|
2911
2856
|
*/
|
|
2912
|
-
|
|
2913
|
-
/**
|
|
2914
|
-
* @generated from field: silvana.settlement.v1.CantonNodeAuth canton_auth = 1;
|
|
2915
|
-
*/
|
|
2916
|
-
value: CantonNodeAuth;
|
|
2917
|
-
case: "cantonAuth";
|
|
2918
|
-
} | {
|
|
2919
|
-
/**
|
|
2920
|
-
* @generated from field: silvana.settlement.v1.ExternalAuth external_auth = 2;
|
|
2921
|
-
*/
|
|
2922
|
-
value: ExternalAuth;
|
|
2923
|
-
case: "externalAuth";
|
|
2924
|
-
} | { case: undefined; value?: undefined };
|
|
2857
|
+
cantonAuth?: CantonNodeAuth;
|
|
2925
2858
|
|
|
2926
2859
|
/**
|
|
2927
2860
|
* UUID v7
|
|
@@ -2936,7 +2869,7 @@ export type GetSettlementProposalByIdRequest = Message<"silvana.settlement.v1.Ge
|
|
|
2936
2869
|
* Use `create(GetSettlementProposalByIdRequestSchema)` to create a new message.
|
|
2937
2870
|
*/
|
|
2938
2871
|
export const GetSettlementProposalByIdRequestSchema: GenMessage<GetSettlementProposalByIdRequest> = /*@__PURE__*/
|
|
2939
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2872
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 51);
|
|
2940
2873
|
|
|
2941
2874
|
/**
|
|
2942
2875
|
* Get settlement proposal by ID response
|
|
@@ -2960,7 +2893,7 @@ export type GetSettlementProposalByIdResponse = Message<"silvana.settlement.v1.G
|
|
|
2960
2893
|
* Use `create(GetSettlementProposalByIdResponseSchema)` to create a new message.
|
|
2961
2894
|
*/
|
|
2962
2895
|
export const GetSettlementProposalByIdResponseSchema: GenMessage<GetSettlementProposalByIdResponse> = /*@__PURE__*/
|
|
2963
|
-
messageDesc(file_proto_silvana_settlement_v1_settlement,
|
|
2896
|
+
messageDesc(file_proto_silvana_settlement_v1_settlement, 52);
|
|
2964
2897
|
|
|
2965
2898
|
/**
|
|
2966
2899
|
* DVP settlement stage enumeration
|
|
@@ -3219,6 +3152,11 @@ export enum SenderType {
|
|
|
3219
3152
|
* @generated from enum value: SENDER_TYPE_SELLER = 4;
|
|
3220
3153
|
*/
|
|
3221
3154
|
SELLER = 4,
|
|
3155
|
+
|
|
3156
|
+
/**
|
|
3157
|
+
* @generated from enum value: SENDER_TYPE_APP = 5;
|
|
3158
|
+
*/
|
|
3159
|
+
APP = 5,
|
|
3222
3160
|
}
|
|
3223
3161
|
|
|
3224
3162
|
/**
|