@valon-technologies/gestalt 0.0.1-alpha.36 → 0.0.1-alpha.37

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.
@@ -6,7 +6,7 @@ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobu
6
6
  import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
7
  import type { Timestamp, Value } from "@bufbuild/protobuf/wkt";
8
8
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
9
- import type { AgentToolRef, OperationAnnotations, SubjectContext } from "./app_pb";
9
+ import type { AgentToolRef, OperationAnnotations, RequestContext, SubjectContext } from "./app_pb";
10
10
  import { file_v1_app } from "./app_pb";
11
11
  import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
 
@@ -14,7 +14,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
14
14
  * Describes the file v1/agent.proto.
15
15
  */
16
16
  export const file_v1_agent: GenFile = /*@__PURE__*/
17
- fileDesc("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJgCg5BZ2VudFdvcmtzcGFjZRJBCgljaGVja291dHMYASADKAsyLi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50V29ya3NwYWNlR2l0Q2hlY2tvdXQSCwoDY3dkGAIgASgJIkMKGUFnZW50V29ya3NwYWNlR2l0Q2hlY2tvdXQSCwoDdXJsGAEgASgJEgsKA3JlZhgCIAEoCRIMCgRwYXRoGAMgASgJIjMKFlByZXBhcmVkQWdlbnRXb3Jrc3BhY2USDAoEcm9vdBgBIAEoCRILCgNjd2QYAiABKAkihAEKEVJlc29sdmVkQWdlbnRUb29sEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSMgoRcGFyYW1ldGVyc19zY2hlbWEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIBBAFUgZ0YXJnZXQi5QIKGUFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXMSFgoOc3RyZWFtaW5nX3RleHQYASABKAgSEgoKdG9vbF9jYWxscxgCIAEoCBIbChNwYXJhbGxlbF90b29sX2NhbGxzGAMgASgIEhQKDGludGVyYWN0aW9ucxgFIAEoCBIXCg9yZXN1bWFibGVfdHVybnMYBiABKAgSGwoTcmVhc29uaW5nX3N1bW1hcmllcxgHIAEoCBIeChZib3VuZGVkX2xpc3RfaHlkcmF0aW9uGAkgASgIEkgKFnN1cHBvcnRlZF90b29sX3NvdXJjZXMYCiADKA4yKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFNvdXJjZU1vZGUSHgoWc3VwcG9ydHNfc2Vzc2lvbl9zdGFydBgLIAEoCBIjChtzdXBwb3J0c19wcmVwYXJlZF93b3Jrc3BhY2UYDCABKAhKBAgIEAkiJQojR2V0QWdlbnRQcm92aWRlckNhcGFiaWxpdGllc1JlcXVlc3QijgMKEEFnZW50SW50ZXJhY3Rpb24SCgoCaWQYASABKAkSNwoEdHlwZRgCIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvblR5cGUSOQoFc3RhdGUYAyABKA4yKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb25TdGF0ZRINCgV0aXRsZRgEIAEoCRIOCgZwcm9tcHQYBSABKAkSKAoHcmVxdWVzdBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoKcmVzb2x1dGlvbhgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLcmVzb2x2ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3R1cm5faWQYCiABKAkSEgoKc2Vzc2lvbl9pZBgLIAEoCSLnAgoMQWdlbnRTZXNzaW9uEgoKAmlkGAEgASgJEhUKDXByb3ZpZGVyX25hbWUYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRI1CgVzdGF0ZRgFIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh0KFWNyZWF0ZWRfYnlfc3ViamVjdF9pZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3R1cm5fYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq0ECiFDcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAcgASgJEjQKB3N1YmplY3QYCCABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EkMKDXNlc3Npb25fc3RhcnQYCSABKAsyLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0Q29uZmlnEkcKEnByZXBhcmVkX3dvcmtzcGFjZRgKIAEoCzIrLmdlc3RhbHQucHJvdmlkZXIudjEuUHJlcGFyZWRBZ2VudFdvcmtzcGFjZRIVCg1wcm92aWRlcl9uYW1lGAsgASgJEhgKEGludm9jYXRpb25fdG9rZW4YDCABKAkSNgoJd29ya3NwYWNlGA0gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFdvcmtzcGFjZRIpCgh3b3JrZmxvdxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgGEAdSEHByb3ZpZGVyX29wdGlvbnMiVAoXQWdlbnRTZXNzaW9uU3RhcnRDb25maWcSOQoFaG9va3MYASADKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9vayKQAgoVQWdlbnRTZXNzaW9uU3RhcnRIb29rEgoKAmlkGAEgASgJEgwKBHR5cGUYAiABKAkSDwoHY29tbWFuZBgDIAMoCRILCgNjd2QYBCABKAkSDwoHdGltZW91dBgFIAEoCRJACgNlbnYYBiADKAsyMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9vay5FbnZFbnRyeRJACgZvdXRwdXQYByABKAsyMC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9va091dHB1dBoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIksKG0FnZW50U2Vzc2lvblN0YXJ0SG9va091dHB1dBIaChJhZGRpdGlvbmFsX2NvbnRleHQYASABKAgSEAoIbWV0YWRhdGEYAiABKAgirwEKHkdldEFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUCCiBMaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBI0CgdzdWJqZWN0GAEgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBITCgtzZXNzaW9uX2lkcxgCIAMoCRI1CgVzdGF0ZRgDIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSDQoFbGltaXQYBCABKAUSFAoMc3VtbWFyeV9vbmx5GAUgASgIEhUKDXByb3ZpZGVyX25hbWUYBiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgHIAEoCRIpCgh3b3JrZmxvdxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiWAohTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEjMKCHNlc3Npb25zGAEgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24iqAIKIVVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEhIKCmNsaWVudF9yZWYYAiABKAkSNQoFc3RhdGUYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0CgdzdWJqZWN0GAUgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAYgASgJEikKCHdvcmtmbG93GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKrBAoJQWdlbnRUdXJuEgoKAmlkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFQoNcHJvdmlkZXJfbmFtZRgDIAEoCRINCgVtb2RlbBgEIAEoCRI5CgZzdGF0dXMYBSABKA4yKS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzEjMKCG1lc3NhZ2VzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USFgoOc3RhdHVzX21lc3NhZ2UYCSABKAkSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAogASgJEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNZXhlY3V0aW9uX3JlZhgOIAEoCRI4CgR0ZXh0GBQgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm5UZXh0T3V0cHV0SAASRAoKc3RydWN0dXJlZBgVIAEoCzIuLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuU3RydWN0dXJlZE91dHB1dEgAQggKBm91dHB1dCIjChNBZ2VudFR1cm5UZXh0T3V0cHV0EgwKBHRleHQYASABKAkiUQoZQWdlbnRUdXJuU3RydWN0dXJlZE91dHB1dBIMCgR0ZXh0GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAgoQQWdlbnRUdXJuRGlzcGxheRIMCgRraW5kGAEgASgJEg0KBXBoYXNlGAIgASgJEgwKBHRleHQYAyABKAkSDQoFbGFiZWwYBCABKAkSCwoDcmVmGAUgASgJEhIKCnBhcmVudF9yZWYYBiABKAkSJQoFaW5wdXQYByABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJgoGb3V0cHV0GAggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiUKBWVycm9yGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg4KBmFjdGlvbhgKIAEoCRIOCgZmb3JtYXQYCyABKAkSEAoIbGFuZ3VhZ2UYDCABKAki+QUKHkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAMgASgJEg0KBW1vZGVsGAQgASgJEjMKCG1lc3NhZ2VzGAUgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USNQoFdG9vbHMYBiADKAsyJi5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRUb29sEikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYCiABKAkSFQoNZXhlY3V0aW9uX3JlZhgLIAEoCRI0Cgl0b29sX3JlZnMYDCADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhI9Cgt0b29sX3NvdXJjZRgNIAEoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRI0CgdzdWJqZWN0GA4gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIuCg1tb2RlbF9vcHRpb25zGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCglydW5fZ3JhbnQYESABKAkSFwoPdGltZW91dF9zZWNvbmRzGBIgASgFEhgKEGludm9jYXRpb25fdG9rZW4YEyABKAkSFQoNdG9vbF9yZWZzX3NldBgUIAEoCBIwCgZvdXRwdXQYFSABKAsyIC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50T3V0cHV0EikKCHdvcmtmbG93GBYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEoECAkQCkoECA8QEFIQcHJvdmlkZXJfb3B0aW9uc1IKdG9vbF9ncmFudCIRCg9BZ2VudFRleHRPdXRwdXQiQAoVQWdlbnRTdHJ1Y3R1cmVkT3V0cHV0EicKBnNjaGVtYRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QijQEKC0FnZW50T3V0cHV0EjQKBHRleHQYASABKAsyJC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VGV4dE91dHB1dEgAEkAKCnN0cnVjdHVyZWQYAiABKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3RydWN0dXJlZE91dHB1dEgAQgYKBGtpbmQiqQEKG0dldEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqACCh1MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhAKCHR1cm5faWRzGAMgAygJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgIEhgKEGludm9jYXRpb25fdG9rZW4YByABKAkSKQoId29ya2Zsb3cYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ik8KHkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuIrwBCh5DYW5jZWxBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkSNAoHc3ViamVjdBgDIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuU3ViamVjdENvbnRleHQSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRIpCgh3b3JrZmxvdxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi+wEKDkFnZW50VHVybkV2ZW50EgoKAmlkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSCwoDc2VxGAMgASgDEgwKBHR5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEhIKCnZpc2liaWxpdHkYBiABKAkSJQoEZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoHZGlzcGxheRgJIAEoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRGlzcGxheSLSAQoiTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxINCgVsaW1pdBgDIAEoBRI0CgdzdWJqZWN0GAQgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAUgASgJEikKCHdvcmtmbG93GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJaCiNMaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50IowBCiJHZXRBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0EhYKDmludGVyYWN0aW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkisgEKJExpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0ImQKJUxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIvkBCiZSZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRIrCgpyZXNvbHV0aW9uGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0CgdzdWJqZWN0GAMgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAQgASgJEg8KB3R1cm5faWQYBSABKAkSKQoId29ya2Zsb3cYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Is8BChdFeGVjdXRlQWdlbnRUb29sUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEg8KB3Rvb2xfaWQYBCABKAkSKgoJYXJndW1lbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSEQoJcnVuX2dyYW50GAggASgJSgQIBhAHUgp0b29sX2dyYW50IjgKGEV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRIOCgZzdGF0dXMYASABKAUSDAoEYm9keRgCIAEoCSKTAgoPTGlzdGVkQWdlbnRUb29sEgoKAmlkGAEgASgJEhAKCG1jcF9uYW1lGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhQKDGlucHV0X3NjaGVtYRgFIAEoCRIVCg1vdXRwdXRfc2NoZW1hGAYgASgJEj4KC2Fubm90YXRpb25zGAcgASgLMikuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25Bbm5vdGF0aW9ucxIuCgNyZWYYCCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhIMCgR0YWdzGAkgAygJEhMKC3NlYXJjaF90ZXh0GAogASgJIpcBChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJEhEKCXJ1bl9ncmFudBgGIAEoCRINCgVxdWVyeRgHIAEoCUoECAUQBlIKdG9vbF9ncmFudCJmChZMaXN0QWdlbnRUb29sc1Jlc3BvbnNlEjMKBXRvb2xzGAEgAygLMiQuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0ZWRBZ2VudFRvb2wSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIn0KHVJlc29sdmVBZ2VudENvbm5lY3Rpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEhEKCXJ1bl9ncmFudBgFIAEoCSKJAwoXUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24SFQoNY29ubmVjdGlvbl9pZBgBIAEoCRISCgpjb25uZWN0aW9uGAIgASgJEhAKCGluc3RhbmNlGAMgASgJEgwKBG1vZGUYBCABKAkSSgoHaGVhZGVycxgFIAMoCzI5Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uSGVhZGVyc0VudHJ5EkgKBnBhcmFtcxgGIAMoCzI4Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uUGFyYW1zRW50cnkSLgoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLQoLUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASr6AQoUQWdlbnRNZXNzYWdlUGFydFR5cGUSJwojQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9URVhUEAESIAocQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfSlNPThACEiUKIUFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1RPT0xfQ0FMTBADEicKI0FHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1RPT0xfUkVTVUxUEAQSJQohQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfSU1BR0VfUkVGEAUqjAEKE0FnZW50VG9vbFNvdXJjZU1vZGUSJgoiQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9VTlNQRUNJRklFRBAAEiYKIkFHRU5UX1RPT0xfU09VUkNFX01PREVfTUNQX0NBVEFMT0cQAhIfChtBR0VOVF9UT09MX1NPVVJDRV9NT0RFX05PTkUQAyIECAEQASqiAgoUQWdlbnRFeGVjdXRpb25TdGF0dXMSJgoiQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUEVORElORxABEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUlVOTklORxACEiQKIEFHRU5UX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VFREVEEAMSIQodQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19GQUlMRUQQBBIjCh9BR0VOVF9FWEVDVVRJT05fU1RBVFVTX0NBTkNFTEVEEAUSLAooQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKnoKEUFnZW50U2Vzc2lvblN0YXRlEiMKH0FHRU5UX1NFU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIeChpBR0VOVF9TRVNTSU9OX1NUQVRFX0FDVElWRRABEiAKHEFHRU5UX1NFU1NJT05fU1RBVEVfQVJDSElWRUQQAiqvAQoUQWdlbnRJbnRlcmFjdGlvblR5cGUSJgoiQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1RZUEVfQVBQUk9WQUwQARIoCiRBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0NMQVJJRklDQVRJT04QAhIgChxBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0lOUFVUEAMqsQEKFUFnZW50SW50ZXJhY3Rpb25TdGF0ZRInCiNBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1BFTkRJTkcQARIkCiBBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9SRVNPTFZFRBACEiQKIEFHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX0NBTkNFTEVEEAMy4AsKDUFnZW50UHJvdmlkZXISagoNQ3JlYXRlU2Vzc2lvbhI2Lmdlc3RhbHQucHJvdmlkZXIudjEuQ3JlYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SZAoKR2V0U2Vzc2lvbhIzLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SfQoMTGlzdFNlc3Npb25zEjUuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBo2Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEmoKDVVwZGF0ZVNlc3Npb24SNi5nZXN0YWx0LnByb3ZpZGVyLnYxLlVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmEKCkNyZWF0ZVR1cm4SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuElsKB0dldFR1cm4SMC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEnQKCUxpc3RUdXJucxIyLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QaMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRJhCgpDYW5jZWxUdXJuEjMuZ2VzdGFsdC5wcm92aWRlci52MS5DYW5jZWxBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhKDAQoOTGlzdFR1cm5FdmVudHMSNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QaOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1Jlc3BvbnNlEnAKDkdldEludGVyYWN0aW9uEjcuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uEokBChBMaXN0SW50ZXJhY3Rpb25zEjkuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QaOi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USeAoSUmVzb2x2ZUludGVyYWN0aW9uEjsuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBolLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbhJ7Cg9HZXRDYXBhYmlsaXRpZXMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXNSZXF1ZXN0Gi4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzMtQCCglBZ2VudEhvc3QSZAoJTGlzdFRvb2xzEiouZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRUb29sc1JlcXVlc3QaKy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFRvb2xzUmVzcG9uc2USagoLRXhlY3V0ZVRvb2wSLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4ZWN1dGVBZ2VudFRvb2xSZXF1ZXN0Gi0uZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlQWdlbnRUb29sUmVzcG9uc2USdQoRUmVzb2x2ZUNvbm5lY3Rpb24SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVBZ2VudENvbm5lY3Rpb25SZXF1ZXN0GiwuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlZEFnZW50Q29ubmVjdGlvbmIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_app]);
17
+ fileDesc("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJgCg5BZ2VudFdvcmtzcGFjZRJBCgljaGVja291dHMYASADKAsyLi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50V29ya3NwYWNlR2l0Q2hlY2tvdXQSCwoDY3dkGAIgASgJIkMKGUFnZW50V29ya3NwYWNlR2l0Q2hlY2tvdXQSCwoDdXJsGAEgASgJEgsKA3JlZhgCIAEoCRIMCgRwYXRoGAMgASgJIjMKFlByZXBhcmVkQWdlbnRXb3Jrc3BhY2USDAoEcm9vdBgBIAEoCRILCgNjd2QYAiABKAkihAEKEVJlc29sdmVkQWdlbnRUb29sEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSMgoRcGFyYW1ldGVyc19zY2hlbWEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIBBAFUgZ0YXJnZXQi5QIKGUFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXMSFgoOc3RyZWFtaW5nX3RleHQYASABKAgSEgoKdG9vbF9jYWxscxgCIAEoCBIbChNwYXJhbGxlbF90b29sX2NhbGxzGAMgASgIEhQKDGludGVyYWN0aW9ucxgFIAEoCBIXCg9yZXN1bWFibGVfdHVybnMYBiABKAgSGwoTcmVhc29uaW5nX3N1bW1hcmllcxgHIAEoCBIeChZib3VuZGVkX2xpc3RfaHlkcmF0aW9uGAkgASgIEkgKFnN1cHBvcnRlZF90b29sX3NvdXJjZXMYCiADKA4yKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFNvdXJjZU1vZGUSHgoWc3VwcG9ydHNfc2Vzc2lvbl9zdGFydBgLIAEoCBIjChtzdXBwb3J0c19wcmVwYXJlZF93b3Jrc3BhY2UYDCABKAhKBAgIEAkiJQojR2V0QWdlbnRQcm92aWRlckNhcGFiaWxpdGllc1JlcXVlc3QijgMKEEFnZW50SW50ZXJhY3Rpb24SCgoCaWQYASABKAkSNwoEdHlwZRgCIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvblR5cGUSOQoFc3RhdGUYAyABKA4yKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb25TdGF0ZRINCgV0aXRsZRgEIAEoCRIOCgZwcm9tcHQYBSABKAkSKAoHcmVxdWVzdBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoKcmVzb2x1dGlvbhgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLcmVzb2x2ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3R1cm5faWQYCiABKAkSEgoKc2Vzc2lvbl9pZBgLIAEoCSLnAgoMQWdlbnRTZXNzaW9uEgoKAmlkGAEgASgJEhUKDXByb3ZpZGVyX25hbWUYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRI1CgVzdGF0ZRgFIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh0KFWNyZWF0ZWRfYnlfc3ViamVjdF9pZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3R1cm5fYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIuMECiFDcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAcgASgJEjQKB3N1YmplY3QYCCABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EkMKDXNlc3Npb25fc3RhcnQYCSABKAsyLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0Q29uZmlnEkcKEnByZXBhcmVkX3dvcmtzcGFjZRgKIAEoCzIrLmdlc3RhbHQucHJvdmlkZXIudjEuUHJlcGFyZWRBZ2VudFdvcmtzcGFjZRIVCg1wcm92aWRlcl9uYW1lGAsgASgJEhgKEGludm9jYXRpb25fdG9rZW4YDCABKAkSNgoJd29ya3NwYWNlGA0gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFdvcmtzcGFjZRIpCgh3b3JrZmxvdxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNAoHY29udGV4dBgPIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHRKBAgGEAdSEHByb3ZpZGVyX29wdGlvbnMiVAoXQWdlbnRTZXNzaW9uU3RhcnRDb25maWcSOQoFaG9va3MYASADKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9vayKQAgoVQWdlbnRTZXNzaW9uU3RhcnRIb29rEgoKAmlkGAEgASgJEgwKBHR5cGUYAiABKAkSDwoHY29tbWFuZBgDIAMoCRILCgNjd2QYBCABKAkSDwoHdGltZW91dBgFIAEoCRJACgNlbnYYBiADKAsyMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9vay5FbnZFbnRyeRJACgZvdXRwdXQYByABKAsyMC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0SG9va091dHB1dBoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIksKG0FnZW50U2Vzc2lvblN0YXJ0SG9va091dHB1dBIaChJhZGRpdGlvbmFsX2NvbnRleHQYASABKAgSEAoIbWV0YWRhdGEYAiABKAgi5QEKHkdldEFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKB2NvbnRleHQYBSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0ItsCCiBMaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBI0CgdzdWJqZWN0GAEgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBITCgtzZXNzaW9uX2lkcxgCIAMoCRI1CgVzdGF0ZRgDIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSDQoFbGltaXQYBCABKAUSFAoMc3VtbWFyeV9vbmx5GAUgASgIEhUKDXByb3ZpZGVyX25hbWUYBiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgHIAEoCRIpCgh3b3JrZmxvdxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNAoHY29udGV4dBgJIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQiWAohTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEjMKCHNlc3Npb25zGAEgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24i3gIKIVVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEhIKCmNsaWVudF9yZWYYAiABKAkSNQoFc3RhdGUYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0CgdzdWJqZWN0GAUgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAYgASgJEikKCHdvcmtmbG93GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0Cgdjb250ZXh0GAggASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dCKrBAoJQWdlbnRUdXJuEgoKAmlkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFQoNcHJvdmlkZXJfbmFtZRgDIAEoCRINCgVtb2RlbBgEIAEoCRI5CgZzdGF0dXMYBSABKA4yKS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzEjMKCG1lc3NhZ2VzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USFgoOc3RhdHVzX21lc3NhZ2UYCSABKAkSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAogASgJEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNZXhlY3V0aW9uX3JlZhgOIAEoCRI4CgR0ZXh0GBQgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm5UZXh0T3V0cHV0SAASRAoKc3RydWN0dXJlZBgVIAEoCzIuLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuU3RydWN0dXJlZE91dHB1dEgAQggKBm91dHB1dCIjChNBZ2VudFR1cm5UZXh0T3V0cHV0EgwKBHRleHQYASABKAkiUQoZQWdlbnRUdXJuU3RydWN0dXJlZE91dHB1dBIMCgR0ZXh0GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAgoQQWdlbnRUdXJuRGlzcGxheRIMCgRraW5kGAEgASgJEg0KBXBoYXNlGAIgASgJEgwKBHRleHQYAyABKAkSDQoFbGFiZWwYBCABKAkSCwoDcmVmGAUgASgJEhIKCnBhcmVudF9yZWYYBiABKAkSJQoFaW5wdXQYByABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJgoGb3V0cHV0GAggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiUKBWVycm9yGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg4KBmFjdGlvbhgKIAEoCRIOCgZmb3JtYXQYCyABKAkSEAoIbGFuZ3VhZ2UYDCABKAkirwYKHkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAMgASgJEg0KBW1vZGVsGAQgASgJEjMKCG1lc3NhZ2VzGAUgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USNQoFdG9vbHMYBiADKAsyJi5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRUb29sEikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYCiABKAkSFQoNZXhlY3V0aW9uX3JlZhgLIAEoCRI0Cgl0b29sX3JlZnMYDCADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhI9Cgt0b29sX3NvdXJjZRgNIAEoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRI0CgdzdWJqZWN0GA4gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIuCg1tb2RlbF9vcHRpb25zGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCglydW5fZ3JhbnQYESABKAkSFwoPdGltZW91dF9zZWNvbmRzGBIgASgFEhgKEGludm9jYXRpb25fdG9rZW4YEyABKAkSFQoNdG9vbF9yZWZzX3NldBgUIAEoCBIwCgZvdXRwdXQYFSABKAsyIC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50T3V0cHV0EikKCHdvcmtmbG93GBYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0Cgdjb250ZXh0GBcgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dEoECAkQCkoECA8QEFIQcHJvdmlkZXJfb3B0aW9uc1IKdG9vbF9ncmFudCIRCg9BZ2VudFRleHRPdXRwdXQiQAoVQWdlbnRTdHJ1Y3R1cmVkT3V0cHV0EicKBnNjaGVtYRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QijQEKC0FnZW50T3V0cHV0EjQKBHRleHQYASABKAsyJC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VGV4dE91dHB1dEgAEkAKCnN0cnVjdHVyZWQYAiABKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3RydWN0dXJlZE91dHB1dEgAQgYKBGtpbmQi3wEKG0dldEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKB2NvbnRleHQYBSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0ItYCCh1MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhAKCHR1cm5faWRzGAMgAygJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgIEhgKEGludm9jYXRpb25fdG9rZW4YByABKAkSKQoId29ya2Zsb3cYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKB2NvbnRleHQYCSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0Ik8KHkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuIvIBCh5DYW5jZWxBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkSNAoHc3ViamVjdBgDIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuU3ViamVjdENvbnRleHQSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRIpCgh3b3JrZmxvdxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNAoHY29udGV4dBgGIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQi+wEKDkFnZW50VHVybkV2ZW50EgoKAmlkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSCwoDc2VxGAMgASgDEgwKBHR5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEhIKCnZpc2liaWxpdHkYBiABKAkSJQoEZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoHZGlzcGxheRgJIAEoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRGlzcGxheSKIAgoiTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxINCgVsaW1pdBgDIAEoBRI0CgdzdWJqZWN0GAQgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAUgASgJEikKCHdvcmtmbG93GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0Cgdjb250ZXh0GAcgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dCJaCiNMaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50IsIBCiJHZXRBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0EhYKDmludGVyYWN0aW9uX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSNAoHY29udGV4dBgEIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQi6AEKJExpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEjQKB3N1YmplY3QYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKB2NvbnRleHQYBSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0ImQKJUxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIq8CCiZSZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRIrCgpyZXNvbHV0aW9uGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0CgdzdWJqZWN0GAMgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAQgASgJEg8KB3R1cm5faWQYBSABKAkSKQoId29ya2Zsb3cYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKB2NvbnRleHQYByABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0IoUCChdFeGVjdXRlQWdlbnRUb29sUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEg8KB3Rvb2xfaWQYBCABKAkSKgoJYXJndW1lbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSEQoJcnVuX2dyYW50GAggASgJEjQKB2NvbnRleHQYCSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0SgQIBhAHUgp0b29sX2dyYW50IjgKGEV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRIOCgZzdGF0dXMYASABKAUSDAoEYm9keRgCIAEoCSKTAgoPTGlzdGVkQWdlbnRUb29sEgoKAmlkGAEgASgJEhAKCG1jcF9uYW1lGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhQKDGlucHV0X3NjaGVtYRgFIAEoCRIVCg1vdXRwdXRfc2NoZW1hGAYgASgJEj4KC2Fubm90YXRpb25zGAcgASgLMikuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25Bbm5vdGF0aW9ucxIuCgNyZWYYCCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhIMCgR0YWdzGAkgAygJEhMKC3NlYXJjaF90ZXh0GAogASgJIs0BChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJEhEKCXJ1bl9ncmFudBgGIAEoCRINCgVxdWVyeRgHIAEoCRI0Cgdjb250ZXh0GAggASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dEoECAUQBlIKdG9vbF9ncmFudCJmChZMaXN0QWdlbnRUb29sc1Jlc3BvbnNlEjMKBXRvb2xzGAEgAygLMiQuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0ZWRBZ2VudFRvb2wSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIrMBCh1SZXNvbHZlQWdlbnRDb25uZWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSEgoKY29ubmVjdGlvbhgDIAEoCRIQCghpbnN0YW5jZRgEIAEoCRIRCglydW5fZ3JhbnQYBSABKAkSNAoHY29udGV4dBgGIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQiiQMKF1Jlc29sdmVkQWdlbnRDb25uZWN0aW9uEhUKDWNvbm5lY3Rpb25faWQYASABKAkSEgoKY29ubmVjdGlvbhgCIAEoCRIQCghpbnN0YW5jZRgDIAEoCRIMCgRtb2RlGAQgASgJEkoKB2hlYWRlcnMYBSADKAsyOS5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRDb25uZWN0aW9uLkhlYWRlcnNFbnRyeRJICgZwYXJhbXMYBiADKAsyOC5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRDb25uZWN0aW9uLlBhcmFtc0VudHJ5Ei4KCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi0KC1BhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEq+gEKFEFnZW50TWVzc2FnZVBhcnRUeXBlEicKI0FHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVEVYVBABEiAKHEFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0pTT04QAhIlCiFBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX0NBTEwQAxInCiNBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX1JFU1VMVBAEEiUKIUFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0lNQUdFX1JFRhAFKowBChNBZ2VudFRvb2xTb3VyY2VNb2RlEiYKIkFHRU5UX1RPT0xfU09VUkNFX01PREVfVU5TUEVDSUZJRUQQABImCiJBR0VOVF9UT09MX1NPVVJDRV9NT0RFX01DUF9DQVRBTE9HEAISHwobQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9OT05FEAMiBAgBEAEqogIKFEFnZW50RXhlY3V0aW9uU3RhdHVzEiYKIkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5BR0VOVF9FWEVDVVRJT05fU1RBVFVTX1BFTkRJTkcQARIiCh5BR0VOVF9FWEVDVVRJT05fU1RBVFVTX1JVTk5JTkcQAhIkCiBBR0VOVF9FWEVDVVRJT05fU1RBVFVTX1NVQ0NFRURFRBADEiEKHUFHRU5UX0VYRUNVVElPTl9TVEFUVVNfRkFJTEVEEAQSIwofQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19DQU5DRUxFRBAFEiwKKEFHRU5UX0VYRUNVVElPTl9TVEFUVVNfV0FJVElOR19GT1JfSU5QVVQQBip6ChFBZ2VudFNlc3Npb25TdGF0ZRIjCh9BR0VOVF9TRVNTSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASHgoaQUdFTlRfU0VTU0lPTl9TVEFURV9BQ1RJVkUQARIgChxBR0VOVF9TRVNTSU9OX1NUQVRFX0FSQ0hJVkVEEAIqrwEKFEFnZW50SW50ZXJhY3Rpb25UeXBlEiYKIkFHRU5UX0lOVEVSQUNUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIjCh9BR0VOVF9JTlRFUkFDVElPTl9UWVBFX0FQUFJPVkFMEAESKAokQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9DTEFSSUZJQ0FUSU9OEAISIAocQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9JTlBVVBADKrEBChVBZ2VudEludGVyYWN0aW9uU3RhdGUSJwojQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIjCh9BR0VOVF9JTlRFUkFDVElPTl9TVEFURV9QRU5ESU5HEAESJAogQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfUkVTT0xWRUQQAhIkCiBBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9DQU5DRUxFRBADMuALCg1BZ2VudFByb3ZpZGVyEmoKDUNyZWF0ZVNlc3Npb24SNi5nZXN0YWx0LnByb3ZpZGVyLnYxLkNyZWF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmQKCkdldFNlc3Npb24SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEn0KDExpc3RTZXNzaW9ucxI1Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1JlcXVlc3QaNi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyU2Vzc2lvbnNSZXNwb25zZRJqCg1VcGRhdGVTZXNzaW9uEjYuZ2VzdGFsdC5wcm92aWRlci52MS5VcGRhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJhCgpDcmVhdGVUdXJuEjMuZ2VzdGFsdC5wcm92aWRlci52MS5DcmVhdGVBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhJbCgdHZXRUdXJuEjAuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhJ0CglMaXN0VHVybnMSMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXF1ZXN0GjMuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVzcG9uc2USYQoKQ2FuY2VsVHVybhIzLmdlc3RhbHQucHJvdmlkZXIudjEuQ2FuY2VsQWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SgwEKDkxpc3RUdXJuRXZlbnRzEjcuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXF1ZXN0GjguZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRJwCg5HZXRJbnRlcmFjdGlvbhI3Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBolLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbhKJAQoQTGlzdEludGVyYWN0aW9ucxI5Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvbnNSZXF1ZXN0GjouZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1Jlc3BvbnNlEngKElJlc29sdmVJbnRlcmFjdGlvbhI7Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb24SewoPR2V0Q2FwYWJpbGl0aWVzEjguZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzUmVxdWVzdBouLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRQcm92aWRlckNhcGFiaWxpdGllczLUAgoJQWdlbnRIb3N0EmQKCUxpc3RUb29scxIqLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50VG9vbHNSZXF1ZXN0GisuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRUb29sc1Jlc3BvbnNlEmoKC0V4ZWN1dGVUb29sEiwuZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlQWdlbnRUb29sUmVxdWVzdBotLmdlc3RhbHQucHJvdmlkZXIudjEuRXhlY3V0ZUFnZW50VG9vbFJlc3BvbnNlEnUKEVJlc29sdmVDb25uZWN0aW9uEjIuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlQWdlbnRDb25uZWN0aW9uUmVxdWVzdBosLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb25iBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_app]);
18
18
 
19
19
  /**
20
20
  * @generated from message gestalt.provider.v1.AgentMessage
@@ -550,6 +550,11 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
550
550
  * @generated from field: google.protobuf.Struct workflow = 14;
551
551
  */
552
552
  workflow?: JsonObject | undefined;
553
+
554
+ /**
555
+ * @generated from field: gestalt.provider.v1.RequestContext context = 15;
556
+ */
557
+ context?: RequestContext | undefined;
553
558
  };
554
559
 
555
560
  /**
@@ -668,6 +673,11 @@ export type GetAgentProviderSessionRequest = Message<"gestalt.provider.v1.GetAge
668
673
  * @generated from field: google.protobuf.Struct workflow = 4;
669
674
  */
670
675
  workflow?: JsonObject | undefined;
676
+
677
+ /**
678
+ * @generated from field: gestalt.provider.v1.RequestContext context = 5;
679
+ */
680
+ context?: RequestContext | undefined;
671
681
  };
672
682
 
673
683
  /**
@@ -726,6 +736,11 @@ export type ListAgentProviderSessionsRequest = Message<"gestalt.provider.v1.List
726
736
  * @generated from field: google.protobuf.Struct workflow = 8;
727
737
  */
728
738
  workflow?: JsonObject | undefined;
739
+
740
+ /**
741
+ * @generated from field: gestalt.provider.v1.RequestContext context = 9;
742
+ */
743
+ context?: RequestContext | undefined;
729
744
  };
730
745
 
731
746
  /**
@@ -790,6 +805,11 @@ export type UpdateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Upd
790
805
  * @generated from field: google.protobuf.Struct workflow = 7;
791
806
  */
792
807
  workflow?: JsonObject | undefined;
808
+
809
+ /**
810
+ * @generated from field: gestalt.provider.v1.RequestContext context = 8;
811
+ */
812
+ context?: RequestContext | undefined;
793
813
  };
794
814
 
795
815
  /**
@@ -1101,6 +1121,11 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
1101
1121
  * @generated from field: google.protobuf.Struct workflow = 22;
1102
1122
  */
1103
1123
  workflow?: JsonObject | undefined;
1124
+
1125
+ /**
1126
+ * @generated from field: gestalt.provider.v1.RequestContext context = 23;
1127
+ */
1128
+ context?: RequestContext | undefined;
1104
1129
  };
1105
1130
 
1106
1131
  /**
@@ -1192,6 +1217,11 @@ export type GetAgentProviderTurnRequest = Message<"gestalt.provider.v1.GetAgentP
1192
1217
  * @generated from field: google.protobuf.Struct workflow = 4;
1193
1218
  */
1194
1219
  workflow?: JsonObject | undefined;
1220
+
1221
+ /**
1222
+ * @generated from field: gestalt.provider.v1.RequestContext context = 5;
1223
+ */
1224
+ context?: RequestContext | undefined;
1195
1225
  };
1196
1226
 
1197
1227
  /**
@@ -1251,6 +1281,11 @@ export type ListAgentProviderTurnsRequest = Message<"gestalt.provider.v1.ListAge
1251
1281
  * @generated from field: google.protobuf.Struct workflow = 8;
1252
1282
  */
1253
1283
  workflow?: JsonObject | undefined;
1284
+
1285
+ /**
1286
+ * @generated from field: gestalt.provider.v1.RequestContext context = 9;
1287
+ */
1288
+ context?: RequestContext | undefined;
1254
1289
  };
1255
1290
 
1256
1291
  /**
@@ -1305,6 +1340,11 @@ export type CancelAgentProviderTurnRequest = Message<"gestalt.provider.v1.Cancel
1305
1340
  * @generated from field: google.protobuf.Struct workflow = 5;
1306
1341
  */
1307
1342
  workflow?: JsonObject | undefined;
1343
+
1344
+ /**
1345
+ * @generated from field: gestalt.provider.v1.RequestContext context = 6;
1346
+ */
1347
+ context?: RequestContext | undefined;
1308
1348
  };
1309
1349
 
1310
1350
  /**
@@ -1404,6 +1444,11 @@ export type ListAgentProviderTurnEventsRequest = Message<"gestalt.provider.v1.Li
1404
1444
  * @generated from field: google.protobuf.Struct workflow = 6;
1405
1445
  */
1406
1446
  workflow?: JsonObject | undefined;
1447
+
1448
+ /**
1449
+ * @generated from field: gestalt.provider.v1.RequestContext context = 7;
1450
+ */
1451
+ context?: RequestContext | undefined;
1407
1452
  };
1408
1453
 
1409
1454
  /**
@@ -1448,6 +1493,11 @@ export type GetAgentProviderInteractionRequest = Message<"gestalt.provider.v1.Ge
1448
1493
  * @generated from field: string invocation_token = 3;
1449
1494
  */
1450
1495
  invocationToken: string;
1496
+
1497
+ /**
1498
+ * @generated from field: gestalt.provider.v1.RequestContext context = 4;
1499
+ */
1500
+ context?: RequestContext | undefined;
1451
1501
  };
1452
1502
 
1453
1503
  /**
@@ -1480,6 +1530,11 @@ export type ListAgentProviderInteractionsRequest = Message<"gestalt.provider.v1.
1480
1530
  * @generated from field: google.protobuf.Struct workflow = 4;
1481
1531
  */
1482
1532
  workflow?: JsonObject | undefined;
1533
+
1534
+ /**
1535
+ * @generated from field: gestalt.provider.v1.RequestContext context = 5;
1536
+ */
1537
+ context?: RequestContext | undefined;
1483
1538
  };
1484
1539
 
1485
1540
  /**
@@ -1539,6 +1594,11 @@ export type ResolveAgentProviderInteractionRequest = Message<"gestalt.provider.v
1539
1594
  * @generated from field: google.protobuf.Struct workflow = 6;
1540
1595
  */
1541
1596
  workflow?: JsonObject | undefined;
1597
+
1598
+ /**
1599
+ * @generated from field: gestalt.provider.v1.RequestContext context = 7;
1600
+ */
1601
+ context?: RequestContext | undefined;
1542
1602
  };
1543
1603
 
1544
1604
  /**
@@ -1586,6 +1646,11 @@ export type ExecuteAgentToolRequest = Message<"gestalt.provider.v1.ExecuteAgentT
1586
1646
  * @generated from field: string run_grant = 8;
1587
1647
  */
1588
1648
  runGrant: string;
1649
+
1650
+ /**
1651
+ * @generated from field: gestalt.provider.v1.RequestContext context = 9;
1652
+ */
1653
+ context?: RequestContext | undefined;
1589
1654
  };
1590
1655
 
1591
1656
  /**
@@ -1712,6 +1777,11 @@ export type ListAgentToolsRequest = Message<"gestalt.provider.v1.ListAgentToolsR
1712
1777
  * @generated from field: string query = 7;
1713
1778
  */
1714
1779
  query: string;
1780
+
1781
+ /**
1782
+ * @generated from field: gestalt.provider.v1.RequestContext context = 8;
1783
+ */
1784
+ context?: RequestContext | undefined;
1715
1785
  };
1716
1786
 
1717
1787
  /**
@@ -1771,6 +1841,11 @@ export type ResolveAgentConnectionRequest = Message<"gestalt.provider.v1.Resolve
1771
1841
  * @generated from field: string run_grant = 5;
1772
1842
  */
1773
1843
  runGrant: string;
1844
+
1845
+ /**
1846
+ * @generated from field: gestalt.provider.v1.RequestContext context = 6;
1847
+ */
1848
+ context?: RequestContext | undefined;
1774
1849
  };
1775
1850
 
1776
1851
  /**
@@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
  * Describes the file v1/app.proto.
13
13
  */
14
14
  export const file_v1_app: GenFile = /*@__PURE__*/
15
- fileDesc("Cgx2MS9hcHAucHJvdG8SE2dlc3RhbHQucHJvdmlkZXIudjEifgoQQ2F0YWxvZ1BhcmFtZXRlchIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIcmVxdWlyZWQYBCABKAgSJwoHZGVmYXVsdBgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSLeAQoUT3BlcmF0aW9uQW5ub3RhdGlvbnMSGwoOcmVhZF9vbmx5X2hpbnQYASABKAhIAIgBARIcCg9pZGVtcG90ZW50X2hpbnQYAiABKAhIAYgBARIdChBkZXN0cnVjdGl2ZV9oaW50GAMgASgISAKIAQESHAoPb3Blbl93b3JsZF9oaW50GAQgASgISAOIAQFCEQoPX3JlYWRfb25seV9oaW50QhIKEF9pZGVtcG90ZW50X2hpbnRCEwoRX2Rlc3RydWN0aXZlX2hpbnRCEgoQX29wZW5fd29ybGRfaGludCKAAwoQQ2F0YWxvZ09wZXJhdGlvbhIKCgJpZBgBIAEoCRIOCgZtZXRob2QYAiABKAkSDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSFAoMaW5wdXRfc2NoZW1hGAUgASgJEhUKDW91dHB1dF9zY2hlbWEYBiABKAkSPgoLYW5ub3RhdGlvbnMYByABKAsyKS5nZXN0YWx0LnByb3ZpZGVyLnYxLk9wZXJhdGlvbkFubm90YXRpb25zEjkKCnBhcmFtZXRlcnMYCCADKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkNhdGFsb2dQYXJhbWV0ZXISFwoPcmVxdWlyZWRfc2NvcGVzGAkgAygJEgwKBHRhZ3MYCiADKAkSEQoJcmVhZF9vbmx5GAsgASgIEhQKB3Zpc2libGUYDCABKAhIAIgBARIRCgl0cmFuc3BvcnQYDSABKAkSFQoNYWxsb3dlZF9yb2xlcxgOIAMoCUIKCghfdmlzaWJsZSKPAQoHQ2F0YWxvZxIMCgRuYW1lGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIQCghpY29uX3N2ZxgEIAEoCRI5CgpvcGVyYXRpb25zGAUgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5DYXRhbG9nT3BlcmF0aW9uIm8KEkNvbm5lY3Rpb25QYXJhbURlZhIQCghyZXF1aXJlZBgBIAEoCBITCgtkZXNjcmlwdGlvbhgCIAEoCRIVCg1kZWZhdWx0X3ZhbHVlGAMgASgJEgwKBGZyb20YBCABKAkSDQoFZmllbGQYBSABKAki6wMKEFByb3ZpZGVyTWV0YWRhdGESDAoEbmFtZRgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSPAoPY29ubmVjdGlvbl9tb2RlGAQgASgOMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Db25uZWN0aW9uTW9kZRISCgphdXRoX3R5cGVzGAUgAygJElYKEWNvbm5lY3Rpb25fcGFyYW1zGAYgAygLMjsuZ2VzdGFsdC5wcm92aWRlci52MS5Qcm92aWRlck1ldGFkYXRhLkNvbm5lY3Rpb25QYXJhbXNFbnRyeRI0Cg5zdGF0aWNfY2F0YWxvZxgHIAEoCzIcLmdlc3RhbHQucHJvdmlkZXIudjEuQ2F0YWxvZxIgChhzdXBwb3J0c19zZXNzaW9uX2NhdGFsb2cYCCABKAgSHAoUbWluX3Byb3RvY29sX3ZlcnNpb24YCyABKAUSHAoUbWF4X3Byb3RvY29sX3ZlcnNpb24YDCABKAUaYAoVQ29ubmVjdGlvblBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuQ29ubmVjdGlvblBhcmFtRGVmOgI4ASLEAQoPT3BlcmF0aW9uUmVzdWx0Eg4KBnN0YXR1cxgBIAEoBRIMCgRib2R5GAIgASgJEkIKB2hlYWRlcnMYAyADKAsyMS5nZXN0YWx0LnByb3ZpZGVyLnYxLk9wZXJhdGlvblJlc3VsdC5IZWFkZXJzRW50cnkaTwoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuU3RyaW5nTGlzdDoCOAEiXwoSQXBwSW52b2NhdGlvbkdyYW50EgsKA2FwcBgBIAEoCRISCgpvcGVyYXRpb25zGAIgAygJEhAKCHN1cmZhY2VzGAMgAygJEhYKDmFsbF9vcGVyYXRpb25zGAQgASgIIo8BCh5FeGNoYW5nZUludm9jYXRpb25Ub2tlblJlcXVlc3QSHwoXcGFyZW50X2ludm9jYXRpb25fdG9rZW4YASABKAkSNwoGZ3JhbnRzGAIgAygLMicuZ2VzdGFsdC5wcm92aWRlci52MS5BcHBJbnZvY2F0aW9uR3JhbnQSEwoLdHRsX3NlY29uZHMYAyABKAMiOwofRXhjaGFuZ2VJbnZvY2F0aW9uVG9rZW5SZXNwb25zZRIYChBpbnZvY2F0aW9uX3Rva2VuGAEgASgJIvgBChBBcHBJbnZva2VSZXF1ZXN0EgsKA2FwcBgCIAEoCRIRCglvcGVyYXRpb24YAyABKAkSJwoGcGFyYW1zGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgpjb25uZWN0aW9uGAUgASgJEhAKCGluc3RhbmNlGAYgASgJEhgKEGludm9jYXRpb25fdG9rZW4YByABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAggASgJEhcKD2NyZWRlbnRpYWxfbW9kZRgJIAEoCRIpCgh3b3JrZmxvdxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QivQEKF0FwcEludm9rZUdyYXBoUUxSZXF1ZXN0EgsKA2FwcBgBIAEoCRIQCghkb2N1bWVudBgCIAEoCRIqCgl2YXJpYWJsZXMYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCmNvbm5lY3Rpb24YBCABKAkSEAoIaW5zdGFuY2UYBSABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgGIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkiSgoOU3ViamVjdENvbnRleHQSCgoCaWQYASABKAkSHQoVY3JlZGVudGlhbF9zdWJqZWN0X2lkGAIgASgJEg0KBWVtYWlsGAMgASgJIr0BCgxBZ2VudFRvb2xSZWYSCwoDYXBwGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg4KBnN5c3RlbRgIIAEoCRIzCgZydW5fYXMYCSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0IhwKClN0cmluZ0xpc3QSDgoGdmFsdWVzGAEgAygJIlsKEUNyZWRlbnRpYWxDb250ZXh0EgwKBG1vZGUYASABKAkSEgoKc3ViamVjdF9pZBgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJIi0KDUFjY2Vzc0NvbnRleHQSDgoGcG9saWN5GAEgASgJEgwKBHJvbGUYAiABKAkiJgoLSG9zdENvbnRleHQSFwoPcHVibGljX2Jhc2VfdXJsGAEgASgJIpoDCg5SZXF1ZXN0Q29udGV4dBI0CgdzdWJqZWN0GAEgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBI6CgpjcmVkZW50aWFsGAIgASgLMiYuZ2VzdGFsdC5wcm92aWRlci52MS5DcmVkZW50aWFsQ29udGV4dBIyCgZhY2Nlc3MYAyABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFjY2Vzc0NvbnRleHQSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KBGhvc3QYBSABKAsyIC5nZXN0YWx0LnByb3ZpZGVyLnYxLkhvc3RDb250ZXh0EjoKDWFnZW50X3N1YmplY3QYBiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EjQKCXRvb2xfcmVmcxgJIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sUmVmEhUKDXRvb2xfcmVmc19zZXQYCiABKAgi/gQKEkhUVFBTdWJqZWN0UmVxdWVzdBIPCgdiaW5kaW5nGAEgASgJEg4KBm1ldGhvZBgCIAEoCRIMCgRwYXRoGAMgASgJEhQKDGNvbnRlbnRfdHlwZRgEIAEoCRJFCgdoZWFkZXJzGAUgAygLMjQuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QuSGVhZGVyc0VudHJ5EkEKBXF1ZXJ5GAYgAygLMjIuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QuUXVlcnlFbnRyeRInCgZwYXJhbXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhAKCHJhd19ib2R5GAggASgMEhcKD3NlY3VyaXR5X3NjaGVtZRgJIAEoCRIYChB2ZXJpZmllZF9zdWJqZWN0GAogASgJElQKD3ZlcmlmaWVkX2NsYWltcxgLIAMoCzI7Lmdlc3RhbHQucHJvdmlkZXIudjEuSFRUUFN1YmplY3RSZXF1ZXN0LlZlcmlmaWVkQ2xhaW1zRW50cnkaTwoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuU3RyaW5nTGlzdDoCOAEaTQoKUXVlcnlFbnRyeRILCgNrZXkYASABKAkSLgoFdmFsdWUYAiABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN0cmluZ0xpc3Q6AjgBGjUKE1ZlcmlmaWVkQ2xhaW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKLAQoZUmVzb2x2ZUhUVFBTdWJqZWN0UmVxdWVzdBI4CgdyZXF1ZXN0GAEgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QSNAoHY29udGV4dBgCIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQigQEKGlJlc29sdmVIVFRQU3ViamVjdFJlc3BvbnNlEjQKB3N1YmplY3QYASABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhUKDXJlamVjdF9zdGF0dXMYAiABKAUSFgoOcmVqZWN0X21lc3NhZ2UYAyABKAki6gIKDkV4ZWN1dGVSZXF1ZXN0EhEKCW9wZXJhdGlvbhgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg0KBXRva2VuGAMgASgJElQKEWNvbm5lY3Rpb25fcGFyYW1zGAQgAygLMjkuZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlUmVxdWVzdC5Db25uZWN0aW9uUGFyYW1zRW50cnkSFQoNaW52b2NhdGlvbl9pZBgFIAEoCRI0Cgdjb250ZXh0GAYgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAggASgJEhcKD2lkZW1wb3RlbmN5X2tleRgJIAEoCRo3ChVDb25uZWN0aW9uUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKPAgoYR2V0U2Vzc2lvbkNhdGFsb2dSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEl4KEWNvbm5lY3Rpb25fcGFyYW1zGAIgAygLMkMuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRTZXNzaW9uQ2F0YWxvZ1JlcXVlc3QuQ29ubmVjdGlvblBhcmFtc0VudHJ5EhUKDWludm9jYXRpb25faWQYAyABKAkSNAoHY29udGV4dBgEIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQaNwoVQ29ubmVjdGlvblBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSgoZR2V0U2Vzc2lvbkNhdGFsb2dSZXNwb25zZRItCgdjYXRhbG9nGAEgASgLMhwuZ2VzdGFsdC5wcm92aWRlci52MS5DYXRhbG9nImcKFFN0YXJ0UHJvdmlkZXJSZXF1ZXN0EgwKBG5hbWUYASABKAkSJwoGY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYChBwcm90b2NvbF92ZXJzaW9uGAQgASgFIjEKFVN0YXJ0UHJvdmlkZXJSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgFKmgKDkNvbm5lY3Rpb25Nb2RlEh8KG0NPTk5FQ1RJT05fTU9ERV9VTlNQRUNJRklFRBAAEhgKFENPTk5FQ1RJT05fTU9ERV9OT05FEAESGwoXQ09OTkVDVElPTl9NT0RFX1NVQkpFQ1QQAjKEBAoLQXBwUHJvdmlkZXISTAoLR2V0TWV0YWRhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLlByb3ZpZGVyTWV0YWRhdGESZgoNU3RhcnRQcm92aWRlchIpLmdlc3RhbHQucHJvdmlkZXIudjEuU3RhcnRQcm92aWRlclJlcXVlc3QaKi5nZXN0YWx0LnByb3ZpZGVyLnYxLlN0YXJ0UHJvdmlkZXJSZXNwb25zZRJUCgdFeGVjdXRlEiMuZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlUmVxdWVzdBokLmdlc3RhbHQucHJvdmlkZXIudjEuT3BlcmF0aW9uUmVzdWx0EnUKElJlc29sdmVIVFRQU3ViamVjdBIuLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUhUVFBTdWJqZWN0UmVxdWVzdBovLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUhUVFBTdWJqZWN0UmVzcG9uc2UScgoRR2V0U2Vzc2lvbkNhdGFsb2cSLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFNlc3Npb25DYXRhbG9nUmVxdWVzdBouLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0U2Vzc2lvbkNhdGFsb2dSZXNwb25zZTLIAgoDQXBwEoQBChdFeGNoYW5nZUludm9jYXRpb25Ub2tlbhIzLmdlc3RhbHQucHJvdmlkZXIudjEuRXhjaGFuZ2VJbnZvY2F0aW9uVG9rZW5SZXF1ZXN0GjQuZ2VzdGFsdC5wcm92aWRlci52MS5FeGNoYW5nZUludm9jYXRpb25Ub2tlblJlc3BvbnNlElUKBkludm9rZRIlLmdlc3RhbHQucHJvdmlkZXIudjEuQXBwSW52b2tlUmVxdWVzdBokLmdlc3RhbHQucHJvdmlkZXIudjEuT3BlcmF0aW9uUmVzdWx0EmMKDUludm9rZUdyYXBoUUwSLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFwcEludm9rZUdyYXBoUUxSZXF1ZXN0GiQuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25SZXN1bHRiBnByb3RvMw", [file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cgx2MS9hcHAucHJvdG8SE2dlc3RhbHQucHJvdmlkZXIudjEifgoQQ2F0YWxvZ1BhcmFtZXRlchIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIcmVxdWlyZWQYBCABKAgSJwoHZGVmYXVsdBgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSLeAQoUT3BlcmF0aW9uQW5ub3RhdGlvbnMSGwoOcmVhZF9vbmx5X2hpbnQYASABKAhIAIgBARIcCg9pZGVtcG90ZW50X2hpbnQYAiABKAhIAYgBARIdChBkZXN0cnVjdGl2ZV9oaW50GAMgASgISAKIAQESHAoPb3Blbl93b3JsZF9oaW50GAQgASgISAOIAQFCEQoPX3JlYWRfb25seV9oaW50QhIKEF9pZGVtcG90ZW50X2hpbnRCEwoRX2Rlc3RydWN0aXZlX2hpbnRCEgoQX29wZW5fd29ybGRfaGludCKAAwoQQ2F0YWxvZ09wZXJhdGlvbhIKCgJpZBgBIAEoCRIOCgZtZXRob2QYAiABKAkSDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSFAoMaW5wdXRfc2NoZW1hGAUgASgJEhUKDW91dHB1dF9zY2hlbWEYBiABKAkSPgoLYW5ub3RhdGlvbnMYByABKAsyKS5nZXN0YWx0LnByb3ZpZGVyLnYxLk9wZXJhdGlvbkFubm90YXRpb25zEjkKCnBhcmFtZXRlcnMYCCADKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkNhdGFsb2dQYXJhbWV0ZXISFwoPcmVxdWlyZWRfc2NvcGVzGAkgAygJEgwKBHRhZ3MYCiADKAkSEQoJcmVhZF9vbmx5GAsgASgIEhQKB3Zpc2libGUYDCABKAhIAIgBARIRCgl0cmFuc3BvcnQYDSABKAkSFQoNYWxsb3dlZF9yb2xlcxgOIAMoCUIKCghfdmlzaWJsZSKPAQoHQ2F0YWxvZxIMCgRuYW1lGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIQCghpY29uX3N2ZxgEIAEoCRI5CgpvcGVyYXRpb25zGAUgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5DYXRhbG9nT3BlcmF0aW9uIm8KEkNvbm5lY3Rpb25QYXJhbURlZhIQCghyZXF1aXJlZBgBIAEoCBITCgtkZXNjcmlwdGlvbhgCIAEoCRIVCg1kZWZhdWx0X3ZhbHVlGAMgASgJEgwKBGZyb20YBCABKAkSDQoFZmllbGQYBSABKAki6wMKEFByb3ZpZGVyTWV0YWRhdGESDAoEbmFtZRgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSPAoPY29ubmVjdGlvbl9tb2RlGAQgASgOMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Db25uZWN0aW9uTW9kZRISCgphdXRoX3R5cGVzGAUgAygJElYKEWNvbm5lY3Rpb25fcGFyYW1zGAYgAygLMjsuZ2VzdGFsdC5wcm92aWRlci52MS5Qcm92aWRlck1ldGFkYXRhLkNvbm5lY3Rpb25QYXJhbXNFbnRyeRI0Cg5zdGF0aWNfY2F0YWxvZxgHIAEoCzIcLmdlc3RhbHQucHJvdmlkZXIudjEuQ2F0YWxvZxIgChhzdXBwb3J0c19zZXNzaW9uX2NhdGFsb2cYCCABKAgSHAoUbWluX3Byb3RvY29sX3ZlcnNpb24YCyABKAUSHAoUbWF4X3Byb3RvY29sX3ZlcnNpb24YDCABKAUaYAoVQ29ubmVjdGlvblBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuQ29ubmVjdGlvblBhcmFtRGVmOgI4ASLEAQoPT3BlcmF0aW9uUmVzdWx0Eg4KBnN0YXR1cxgBIAEoBRIMCgRib2R5GAIgASgJEkIKB2hlYWRlcnMYAyADKAsyMS5nZXN0YWx0LnByb3ZpZGVyLnYxLk9wZXJhdGlvblJlc3VsdC5IZWFkZXJzRW50cnkaTwoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuU3RyaW5nTGlzdDoCOAEiXwoSQXBwSW52b2NhdGlvbkdyYW50EgsKA2FwcBgBIAEoCRISCgpvcGVyYXRpb25zGAIgAygJEhAKCHN1cmZhY2VzGAMgAygJEhYKDmFsbF9vcGVyYXRpb25zGAQgASgIIo8BCh5FeGNoYW5nZUludm9jYXRpb25Ub2tlblJlcXVlc3QSHwoXcGFyZW50X2ludm9jYXRpb25fdG9rZW4YASABKAkSNwoGZ3JhbnRzGAIgAygLMicuZ2VzdGFsdC5wcm92aWRlci52MS5BcHBJbnZvY2F0aW9uR3JhbnQSEwoLdHRsX3NlY29uZHMYAyABKAMiOwofRXhjaGFuZ2VJbnZvY2F0aW9uVG9rZW5SZXNwb25zZRIYChBpbnZvY2F0aW9uX3Rva2VuGAEgASgJIq4CChBBcHBJbnZva2VSZXF1ZXN0EgsKA2FwcBgCIAEoCRIRCglvcGVyYXRpb24YAyABKAkSJwoGcGFyYW1zGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgpjb25uZWN0aW9uGAUgASgJEhAKCGluc3RhbmNlGAYgASgJEhgKEGludm9jYXRpb25fdG9rZW4YByABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAggASgJEhcKD2NyZWRlbnRpYWxfbW9kZRgJIAEoCRIpCgh3b3JrZmxvdxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNAoHY29udGV4dBgLIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQi8wEKF0FwcEludm9rZUdyYXBoUUxSZXF1ZXN0EgsKA2FwcBgBIAEoCRIQCghkb2N1bWVudBgCIAEoCRIqCgl2YXJpYWJsZXMYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCmNvbm5lY3Rpb24YBCABKAkSEAoIaW5zdGFuY2UYBSABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgGIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSNAoHY29udGV4dBgIIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQitAEKDlN1YmplY3RDb250ZXh0EgoKAmlkGAEgASgJEh0KFWNyZWRlbnRpYWxfc3ViamVjdF9pZBgCIAEoCRINCgVlbWFpbBgDIAEoCRIUCgxkaXNwbGF5X25hbWUYBCABKAkSDgoGc2NvcGVzGAUgAygJEkIKC3Blcm1pc3Npb25zGAYgAygLMi0uZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0UGVybWlzc2lvbkNvbnRleHQiUwoYU3ViamVjdFBlcm1pc3Npb25Db250ZXh0EgsKA2FwcBgBIAEoCRISCgpvcGVyYXRpb25zGAIgAygJEhYKDmFsbF9vcGVyYXRpb25zGAMgASgIIr0BCgxBZ2VudFRvb2xSZWYSCwoDYXBwGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg4KBnN5c3RlbRgIIAEoCRIzCgZydW5fYXMYCSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0IhwKClN0cmluZ0xpc3QSDgoGdmFsdWVzGAEgAygJIlsKEUNyZWRlbnRpYWxDb250ZXh0EgwKBG1vZGUYASABKAkSEgoKc3ViamVjdF9pZBgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJIi0KDUFjY2Vzc0NvbnRleHQSDgoGcG9saWN5GAEgASgJEgwKBHJvbGUYAiABKAkiJgoLSG9zdENvbnRleHQSFwoPcHVibGljX2Jhc2VfdXJsGAEgASgJIi0KD1Byb3ZpZGVyQ29udGV4dBIMCgRraW5kGAEgASgJEgwKBG5hbWUYAiABKAkikwEKEUludm9jYXRpb25Db250ZXh0EhIKCnJlcXVlc3RfaWQYASABKAkSDQoFZGVwdGgYAiABKAUSEgoKY2FsbF9jaGFpbhgDIAMoCRIPCgdzdXJmYWNlGAQgASgJEiIKGmludGVybmFsX2Nvbm5lY3Rpb25fYWNjZXNzGAUgASgIEhIKCmNvbm5lY3Rpb24YBiABKAkiUAoSUmVxdWVzdE1ldGFDb250ZXh0EhEKCWNsaWVudF9pcBgBIAEoCRITCgtyZW1vdGVfYWRkchgCIAEoCRISCgp1c2VyX2FnZW50GAMgASgJIssECg5SZXF1ZXN0Q29udGV4dBI0CgdzdWJqZWN0GAEgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBI6CgpjcmVkZW50aWFsGAIgASgLMiYuZ2VzdGFsdC5wcm92aWRlci52MS5DcmVkZW50aWFsQ29udGV4dBIyCgZhY2Nlc3MYAyABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFjY2Vzc0NvbnRleHQSKQoId29ya2Zsb3cYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KBGhvc3QYBSABKAsyIC5nZXN0YWx0LnByb3ZpZGVyLnYxLkhvc3RDb250ZXh0EjoKDWFnZW50X3N1YmplY3QYBiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EjQKBmNhbGxlchgHIAEoCzIkLmdlc3RhbHQucHJvdmlkZXIudjEuUHJvdmlkZXJDb250ZXh0EjoKCmludm9jYXRpb24YCCABKAsyJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkludm9jYXRpb25Db250ZXh0EjQKCXRvb2xfcmVmcxgJIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sUmVmEhUKDXRvb2xfcmVmc19zZXQYCiABKAgSPQoMcmVxdWVzdF9tZXRhGAsgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0TWV0YUNvbnRleHQi/gQKEkhUVFBTdWJqZWN0UmVxdWVzdBIPCgdiaW5kaW5nGAEgASgJEg4KBm1ldGhvZBgCIAEoCRIMCgRwYXRoGAMgASgJEhQKDGNvbnRlbnRfdHlwZRgEIAEoCRJFCgdoZWFkZXJzGAUgAygLMjQuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QuSGVhZGVyc0VudHJ5EkEKBXF1ZXJ5GAYgAygLMjIuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QuUXVlcnlFbnRyeRInCgZwYXJhbXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhAKCHJhd19ib2R5GAggASgMEhcKD3NlY3VyaXR5X3NjaGVtZRgJIAEoCRIYChB2ZXJpZmllZF9zdWJqZWN0GAogASgJElQKD3ZlcmlmaWVkX2NsYWltcxgLIAMoCzI7Lmdlc3RhbHQucHJvdmlkZXIudjEuSFRUUFN1YmplY3RSZXF1ZXN0LlZlcmlmaWVkQ2xhaW1zRW50cnkaTwoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuU3RyaW5nTGlzdDoCOAEaTQoKUXVlcnlFbnRyeRILCgNrZXkYASABKAkSLgoFdmFsdWUYAiABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN0cmluZ0xpc3Q6AjgBGjUKE1ZlcmlmaWVkQ2xhaW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKLAQoZUmVzb2x2ZUhUVFBTdWJqZWN0UmVxdWVzdBI4CgdyZXF1ZXN0GAEgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5IVFRQU3ViamVjdFJlcXVlc3QSNAoHY29udGV4dBgCIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQigQEKGlJlc29sdmVIVFRQU3ViamVjdFJlc3BvbnNlEjQKB3N1YmplY3QYASABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EhUKDXJlamVjdF9zdGF0dXMYAiABKAUSFgoOcmVqZWN0X21lc3NhZ2UYAyABKAki6gIKDkV4ZWN1dGVSZXF1ZXN0EhEKCW9wZXJhdGlvbhgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg0KBXRva2VuGAMgASgJElQKEWNvbm5lY3Rpb25fcGFyYW1zGAQgAygLMjkuZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlUmVxdWVzdC5Db25uZWN0aW9uUGFyYW1zRW50cnkSFQoNaW52b2NhdGlvbl9pZBgFIAEoCRI0Cgdjb250ZXh0GAYgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dBIYChBpbnZvY2F0aW9uX3Rva2VuGAggASgJEhcKD2lkZW1wb3RlbmN5X2tleRgJIAEoCRo3ChVDb25uZWN0aW9uUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKPAgoYR2V0U2Vzc2lvbkNhdGFsb2dSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEl4KEWNvbm5lY3Rpb25fcGFyYW1zGAIgAygLMkMuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRTZXNzaW9uQ2F0YWxvZ1JlcXVlc3QuQ29ubmVjdGlvblBhcmFtc0VudHJ5EhUKDWludm9jYXRpb25faWQYAyABKAkSNAoHY29udGV4dBgEIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQaNwoVQ29ubmVjdGlvblBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSgoZR2V0U2Vzc2lvbkNhdGFsb2dSZXNwb25zZRItCgdjYXRhbG9nGAEgASgLMhwuZ2VzdGFsdC5wcm92aWRlci52MS5DYXRhbG9nImcKFFN0YXJ0UHJvdmlkZXJSZXF1ZXN0EgwKBG5hbWUYASABKAkSJwoGY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYChBwcm90b2NvbF92ZXJzaW9uGAQgASgFIjEKFVN0YXJ0UHJvdmlkZXJSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgFKmgKDkNvbm5lY3Rpb25Nb2RlEh8KG0NPTk5FQ1RJT05fTU9ERV9VTlNQRUNJRklFRBAAEhgKFENPTk5FQ1RJT05fTU9ERV9OT05FEAESGwoXQ09OTkVDVElPTl9NT0RFX1NVQkpFQ1QQAjKEBAoLQXBwUHJvdmlkZXISTAoLR2V0TWV0YWRhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLlByb3ZpZGVyTWV0YWRhdGESZgoNU3RhcnRQcm92aWRlchIpLmdlc3RhbHQucHJvdmlkZXIudjEuU3RhcnRQcm92aWRlclJlcXVlc3QaKi5nZXN0YWx0LnByb3ZpZGVyLnYxLlN0YXJ0UHJvdmlkZXJSZXNwb25zZRJUCgdFeGVjdXRlEiMuZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlUmVxdWVzdBokLmdlc3RhbHQucHJvdmlkZXIudjEuT3BlcmF0aW9uUmVzdWx0EnUKElJlc29sdmVIVFRQU3ViamVjdBIuLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUhUVFBTdWJqZWN0UmVxdWVzdBovLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUhUVFBTdWJqZWN0UmVzcG9uc2UScgoRR2V0U2Vzc2lvbkNhdGFsb2cSLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFNlc3Npb25DYXRhbG9nUmVxdWVzdBouLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0U2Vzc2lvbkNhdGFsb2dSZXNwb25zZTLIAgoDQXBwElUKBkludm9rZRIlLmdlc3RhbHQucHJvdmlkZXIudjEuQXBwSW52b2tlUmVxdWVzdBokLmdlc3RhbHQucHJvdmlkZXIudjEuT3BlcmF0aW9uUmVzdWx0EmMKDUludm9rZUdyYXBoUUwSLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFwcEludm9rZUdyYXBoUUxSZXF1ZXN0GiQuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25SZXN1bHQShAEKF0V4Y2hhbmdlSW52b2NhdGlvblRva2VuEjMuZ2VzdGFsdC5wcm92aWRlci52MS5FeGNoYW5nZUludm9jYXRpb25Ub2tlblJlcXVlc3QaNC5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4Y2hhbmdlSW52b2NhdGlvblRva2VuUmVzcG9uc2ViBnByb3RvMw", [file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * CatalogParameter describes one input parameter surfaced in the generated
@@ -480,6 +480,11 @@ export type AppInvokeRequest = Message<"gestalt.provider.v1.AppInvokeRequest"> &
480
480
  * @generated from field: google.protobuf.Struct workflow = 10;
481
481
  */
482
482
  workflow?: JsonObject | undefined;
483
+
484
+ /**
485
+ * @generated from field: gestalt.provider.v1.RequestContext context = 11;
486
+ */
487
+ context?: RequestContext | undefined;
483
488
  };
484
489
 
485
490
  /**
@@ -530,6 +535,11 @@ export type AppInvokeGraphQLRequest = Message<"gestalt.provider.v1.AppInvokeGrap
530
535
  * @generated from field: string idempotency_key = 7;
531
536
  */
532
537
  idempotencyKey: string;
538
+
539
+ /**
540
+ * @generated from field: gestalt.provider.v1.RequestContext context = 8;
541
+ */
542
+ context?: RequestContext | undefined;
533
543
  };
534
544
 
535
545
  /**
@@ -559,6 +569,21 @@ export type SubjectContext = Message<"gestalt.provider.v1.SubjectContext"> & {
559
569
  * @generated from field: string email = 3;
560
570
  */
561
571
  email: string;
572
+
573
+ /**
574
+ * @generated from field: string display_name = 4;
575
+ */
576
+ displayName: string;
577
+
578
+ /**
579
+ * @generated from field: repeated string scopes = 5;
580
+ */
581
+ scopes: string[];
582
+
583
+ /**
584
+ * @generated from field: repeated gestalt.provider.v1.SubjectPermissionContext permissions = 6;
585
+ */
586
+ permissions: SubjectPermissionContext[];
562
587
  };
563
588
 
564
589
  /**
@@ -568,6 +593,33 @@ export type SubjectContext = Message<"gestalt.provider.v1.SubjectContext"> & {
568
593
  export const SubjectContextSchema: GenMessage<SubjectContext> = /*@__PURE__*/
569
594
  messageDesc(file_v1_app, 12);
570
595
 
596
+ /**
597
+ * @generated from message gestalt.provider.v1.SubjectPermissionContext
598
+ */
599
+ export type SubjectPermissionContext = Message<"gestalt.provider.v1.SubjectPermissionContext"> & {
600
+ /**
601
+ * @generated from field: string app = 1;
602
+ */
603
+ app: string;
604
+
605
+ /**
606
+ * @generated from field: repeated string operations = 2;
607
+ */
608
+ operations: string[];
609
+
610
+ /**
611
+ * @generated from field: bool all_operations = 3;
612
+ */
613
+ allOperations: boolean;
614
+ };
615
+
616
+ /**
617
+ * Describes the message gestalt.provider.v1.SubjectPermissionContext.
618
+ * Use `create(SubjectPermissionContextSchema)` to create a new message.
619
+ */
620
+ export const SubjectPermissionContextSchema: GenMessage<SubjectPermissionContext> = /*@__PURE__*/
621
+ messageDesc(file_v1_app, 13);
622
+
571
623
  /**
572
624
  * @generated from message gestalt.provider.v1.AgentToolRef
573
625
  */
@@ -618,7 +670,7 @@ export type AgentToolRef = Message<"gestalt.provider.v1.AgentToolRef"> & {
618
670
  * Use `create(AgentToolRefSchema)` to create a new message.
619
671
  */
620
672
  export const AgentToolRefSchema: GenMessage<AgentToolRef> = /*@__PURE__*/
621
- messageDesc(file_v1_app, 13);
673
+ messageDesc(file_v1_app, 14);
622
674
 
623
675
  /**
624
676
  * StringList is a helper map value for repeated HTTP header and query values.
@@ -637,7 +689,7 @@ export type StringList = Message<"gestalt.provider.v1.StringList"> & {
637
689
  * Use `create(StringListSchema)` to create a new message.
638
690
  */
639
691
  export const StringListSchema: GenMessage<StringList> = /*@__PURE__*/
640
- messageDesc(file_v1_app, 14);
692
+ messageDesc(file_v1_app, 15);
641
693
 
642
694
  /**
643
695
  * CredentialContext describes the resolved credential used for an operation.
@@ -671,7 +723,7 @@ export type CredentialContext = Message<"gestalt.provider.v1.CredentialContext">
671
723
  * Use `create(CredentialContextSchema)` to create a new message.
672
724
  */
673
725
  export const CredentialContextSchema: GenMessage<CredentialContext> = /*@__PURE__*/
674
- messageDesc(file_v1_app, 15);
726
+ messageDesc(file_v1_app, 16);
675
727
 
676
728
  /**
677
729
  * AccessContext describes the host-side access decision for an operation.
@@ -695,7 +747,7 @@ export type AccessContext = Message<"gestalt.provider.v1.AccessContext"> & {
695
747
  * Use `create(AccessContextSchema)` to create a new message.
696
748
  */
697
749
  export const AccessContextSchema: GenMessage<AccessContext> = /*@__PURE__*/
698
- messageDesc(file_v1_app, 16);
750
+ messageDesc(file_v1_app, 17);
699
751
 
700
752
  /**
701
753
  * HostContext describes stable public host metadata available to provider code.
@@ -714,7 +766,101 @@ export type HostContext = Message<"gestalt.provider.v1.HostContext"> & {
714
766
  * Use `create(HostContextSchema)` to create a new message.
715
767
  */
716
768
  export const HostContextSchema: GenMessage<HostContext> = /*@__PURE__*/
717
- messageDesc(file_v1_app, 17);
769
+ messageDesc(file_v1_app, 18);
770
+
771
+ /**
772
+ * ProviderContext identifies the provider process that received the request
773
+ * context from the host and is trusted to propagate it back to host services.
774
+ *
775
+ * @generated from message gestalt.provider.v1.ProviderContext
776
+ */
777
+ export type ProviderContext = Message<"gestalt.provider.v1.ProviderContext"> & {
778
+ /**
779
+ * @generated from field: string kind = 1;
780
+ */
781
+ kind: string;
782
+
783
+ /**
784
+ * @generated from field: string name = 2;
785
+ */
786
+ name: string;
787
+ };
788
+
789
+ /**
790
+ * Describes the message gestalt.provider.v1.ProviderContext.
791
+ * Use `create(ProviderContextSchema)` to create a new message.
792
+ */
793
+ export const ProviderContextSchema: GenMessage<ProviderContext> = /*@__PURE__*/
794
+ messageDesc(file_v1_app, 19);
795
+
796
+ /**
797
+ * @generated from message gestalt.provider.v1.InvocationContext
798
+ */
799
+ export type InvocationContext = Message<"gestalt.provider.v1.InvocationContext"> & {
800
+ /**
801
+ * @generated from field: string request_id = 1;
802
+ */
803
+ requestId: string;
804
+
805
+ /**
806
+ * @generated from field: int32 depth = 2;
807
+ */
808
+ depth: number;
809
+
810
+ /**
811
+ * @generated from field: repeated string call_chain = 3;
812
+ */
813
+ callChain: string[];
814
+
815
+ /**
816
+ * @generated from field: string surface = 4;
817
+ */
818
+ surface: string;
819
+
820
+ /**
821
+ * @generated from field: bool internal_connection_access = 5;
822
+ */
823
+ internalConnectionAccess: boolean;
824
+
825
+ /**
826
+ * @generated from field: string connection = 6;
827
+ */
828
+ connection: string;
829
+ };
830
+
831
+ /**
832
+ * Describes the message gestalt.provider.v1.InvocationContext.
833
+ * Use `create(InvocationContextSchema)` to create a new message.
834
+ */
835
+ export const InvocationContextSchema: GenMessage<InvocationContext> = /*@__PURE__*/
836
+ messageDesc(file_v1_app, 20);
837
+
838
+ /**
839
+ * @generated from message gestalt.provider.v1.RequestMetaContext
840
+ */
841
+ export type RequestMetaContext = Message<"gestalt.provider.v1.RequestMetaContext"> & {
842
+ /**
843
+ * @generated from field: string client_ip = 1;
844
+ */
845
+ clientIp: string;
846
+
847
+ /**
848
+ * @generated from field: string remote_addr = 2;
849
+ */
850
+ remoteAddr: string;
851
+
852
+ /**
853
+ * @generated from field: string user_agent = 3;
854
+ */
855
+ userAgent: string;
856
+ };
857
+
858
+ /**
859
+ * Describes the message gestalt.provider.v1.RequestMetaContext.
860
+ * Use `create(RequestMetaContextSchema)` to create a new message.
861
+ */
862
+ export const RequestMetaContextSchema: GenMessage<RequestMetaContext> = /*@__PURE__*/
863
+ messageDesc(file_v1_app, 21);
718
864
 
719
865
  /**
720
866
  * RequestContext bundles the caller, credential, access, and host metadata for
@@ -755,6 +901,16 @@ export type RequestContext = Message<"gestalt.provider.v1.RequestContext"> & {
755
901
  */
756
902
  agentSubject?: SubjectContext | undefined;
757
903
 
904
+ /**
905
+ * @generated from field: gestalt.provider.v1.ProviderContext caller = 7;
906
+ */
907
+ caller?: ProviderContext | undefined;
908
+
909
+ /**
910
+ * @generated from field: gestalt.provider.v1.InvocationContext invocation = 8;
911
+ */
912
+ invocation?: InvocationContext | undefined;
913
+
758
914
  /**
759
915
  * Agent tool refs granted to the operation request, when the request is
760
916
  * executing as an agent tool.
@@ -770,6 +926,11 @@ export type RequestContext = Message<"gestalt.provider.v1.RequestContext"> & {
770
926
  * @generated from field: bool tool_refs_set = 10;
771
927
  */
772
928
  toolRefsSet: boolean;
929
+
930
+ /**
931
+ * @generated from field: gestalt.provider.v1.RequestMetaContext request_meta = 11;
932
+ */
933
+ requestMeta?: RequestMetaContext | undefined;
773
934
  };
774
935
 
775
936
  /**
@@ -777,7 +938,7 @@ export type RequestContext = Message<"gestalt.provider.v1.RequestContext"> & {
777
938
  * Use `create(RequestContextSchema)` to create a new message.
778
939
  */
779
940
  export const RequestContextSchema: GenMessage<RequestContext> = /*@__PURE__*/
780
- messageDesc(file_v1_app, 18);
941
+ messageDesc(file_v1_app, 22);
781
942
 
782
943
  /**
783
944
  * HTTPSubjectRequest carries one verified hosted HTTP request into an optional
@@ -847,7 +1008,7 @@ export type HTTPSubjectRequest = Message<"gestalt.provider.v1.HTTPSubjectRequest
847
1008
  * Use `create(HTTPSubjectRequestSchema)` to create a new message.
848
1009
  */
849
1010
  export const HTTPSubjectRequestSchema: GenMessage<HTTPSubjectRequest> = /*@__PURE__*/
850
- messageDesc(file_v1_app, 19);
1011
+ messageDesc(file_v1_app, 23);
851
1012
 
852
1013
  /**
853
1014
  * ResolveHTTPSubjectRequest asks a provider to map a verified hosted HTTP
@@ -873,7 +1034,7 @@ export type ResolveHTTPSubjectRequest = Message<"gestalt.provider.v1.ResolveHTTP
873
1034
  * Use `create(ResolveHTTPSubjectRequestSchema)` to create a new message.
874
1035
  */
875
1036
  export const ResolveHTTPSubjectRequestSchema: GenMessage<ResolveHTTPSubjectRequest> = /*@__PURE__*/
876
- messageDesc(file_v1_app, 20);
1037
+ messageDesc(file_v1_app, 24);
877
1038
 
878
1039
  /**
879
1040
  * ResolveHTTPSubjectResponse returns the concrete Gestalt subject a hosted HTTP
@@ -905,7 +1066,7 @@ export type ResolveHTTPSubjectResponse = Message<"gestalt.provider.v1.ResolveHTT
905
1066
  * Use `create(ResolveHTTPSubjectResponseSchema)` to create a new message.
906
1067
  */
907
1068
  export const ResolveHTTPSubjectResponseSchema: GenMessage<ResolveHTTPSubjectResponse> = /*@__PURE__*/
908
- messageDesc(file_v1_app, 21);
1069
+ messageDesc(file_v1_app, 25);
909
1070
 
910
1071
  /**
911
1072
  * ExecuteRequest invokes one executable operation.
@@ -959,7 +1120,7 @@ export type ExecuteRequest = Message<"gestalt.provider.v1.ExecuteRequest"> & {
959
1120
  * Use `create(ExecuteRequestSchema)` to create a new message.
960
1121
  */
961
1122
  export const ExecuteRequestSchema: GenMessage<ExecuteRequest> = /*@__PURE__*/
962
- messageDesc(file_v1_app, 22);
1123
+ messageDesc(file_v1_app, 26);
963
1124
 
964
1125
  /**
965
1126
  * GetSessionCatalogRequest asks a provider for request-scoped catalog
@@ -994,7 +1155,7 @@ export type GetSessionCatalogRequest = Message<"gestalt.provider.v1.GetSessionCa
994
1155
  * Use `create(GetSessionCatalogRequestSchema)` to create a new message.
995
1156
  */
996
1157
  export const GetSessionCatalogRequestSchema: GenMessage<GetSessionCatalogRequest> = /*@__PURE__*/
997
- messageDesc(file_v1_app, 23);
1158
+ messageDesc(file_v1_app, 27);
998
1159
 
999
1160
  /**
1000
1161
  * GetSessionCatalogResponse returns request-scoped catalog extensions.
@@ -1013,7 +1174,7 @@ export type GetSessionCatalogResponse = Message<"gestalt.provider.v1.GetSessionC
1013
1174
  * Use `create(GetSessionCatalogResponseSchema)` to create a new message.
1014
1175
  */
1015
1176
  export const GetSessionCatalogResponseSchema: GenMessage<GetSessionCatalogResponse> = /*@__PURE__*/
1016
- messageDesc(file_v1_app, 24);
1177
+ messageDesc(file_v1_app, 28);
1017
1178
 
1018
1179
  /**
1019
1180
  * StartProviderRequest configures an integration provider for one runtime
@@ -1043,7 +1204,7 @@ export type StartProviderRequest = Message<"gestalt.provider.v1.StartProviderReq
1043
1204
  * Use `create(StartProviderRequestSchema)` to create a new message.
1044
1205
  */
1045
1206
  export const StartProviderRequestSchema: GenMessage<StartProviderRequest> = /*@__PURE__*/
1046
- messageDesc(file_v1_app, 25);
1207
+ messageDesc(file_v1_app, 29);
1047
1208
 
1048
1209
  /**
1049
1210
  * StartProviderResponse confirms the protocol version the provider is serving.
@@ -1062,7 +1223,7 @@ export type StartProviderResponse = Message<"gestalt.provider.v1.StartProviderRe
1062
1223
  * Use `create(StartProviderResponseSchema)` to create a new message.
1063
1224
  */
1064
1225
  export const StartProviderResponseSchema: GenMessage<StartProviderResponse> = /*@__PURE__*/
1065
- messageDesc(file_v1_app, 26);
1226
+ messageDesc(file_v1_app, 30);
1066
1227
 
1067
1228
  /**
1068
1229
  * ConnectionMode describes which credential sources a provider accepts.
@@ -1145,14 +1306,6 @@ export const AppProvider: GenService<{
1145
1306
  * @generated from service gestalt.provider.v1.App
1146
1307
  */
1147
1308
  export const App: GenService<{
1148
- /**
1149
- * @generated from rpc gestalt.provider.v1.App.ExchangeInvocationToken
1150
- */
1151
- exchangeInvocationToken: {
1152
- methodKind: "unary";
1153
- input: typeof ExchangeInvocationTokenRequestSchema;
1154
- output: typeof ExchangeInvocationTokenResponseSchema;
1155
- },
1156
1309
  /**
1157
1310
  * @generated from rpc gestalt.provider.v1.App.Invoke
1158
1311
  */
@@ -1169,6 +1322,14 @@ export const App: GenService<{
1169
1322
  input: typeof AppInvokeGraphQLRequestSchema;
1170
1323
  output: typeof OperationResultSchema;
1171
1324
  },
1325
+ /**
1326
+ * @generated from rpc gestalt.provider.v1.App.ExchangeInvocationToken
1327
+ */
1328
+ exchangeInvocationToken: {
1329
+ methodKind: "unary";
1330
+ input: typeof ExchangeInvocationTokenRequestSchema;
1331
+ output: typeof ExchangeInvocationTokenResponseSchema;
1332
+ },
1172
1333
  }> = /*@__PURE__*/
1173
1334
  serviceDesc(file_v1_app, 1);
1174
1335