@evalops/sdk-ts 0.1.100 → 0.1.102

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.
@@ -11,7 +11,7 @@ import { file_objectives_v1_objectives } from "../../objectives/v1/objectives_pb
11
11
  /**
12
12
  * Describes the file agentruntime/v1/runtime.proto.
13
13
  */
14
- export const file_agentruntime_v1_runtime = /*@__PURE__*/ fileDesc("Ch1hZ2VudHJ1bnRpbWUvdjEvcnVudGltZS5wcm90bxIPYWdlbnRydW50aW1lLnYxIqMDChVSdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEAoIYWN0b3JfaWQYBiABKAkSEQoJcGVybWFsaW5rGAcgASgJEkoKCmF0dHJpYnV0ZXMYCCADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0LkF0dHJpYnV0ZXNFbnRyeRIYChBhY3Rvcl9jaGFubmVsX2lkGAkgASgJEhcKD2FjdG9yX2VudGl0eV9pZBgKIAEoCRIUCgxwcmluY2lwYWxfaWQYCyABKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijQIKE1J1bnRpbWVXb3JrRW52ZWxvcGUSEwoCaWQYASABKAlCB7pIBHICEAESQAoEa2luZBgCIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlS2luZEIIukgFggECEAESDwoHcm9vdF9pZBgDIAEoCRIRCglwYXJlbnRfaWQYBCABKAkSSAoKYXR0cmlidXRlcxgFIAMoCzI0LmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKKAQoQUnVudGltZVJlZGFjdGlvbhI9CgRraW5kGAEgASgOMiUuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb25LaW5kQgi6SAWCAQIQARISCgpmaWVsZF9wYXRoGAIgASgJEhMKC3JlcGxhY2VtZW50GAMgASgJEg4KBnJlYXNvbhgEIAEoCSK1AwoZUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YRJACgVsZXZlbBgBIAEoDjInLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eUxldmVsQgi6SAWCAQIQARJCCglhdWRpZW5jZXMYAiADKA4yIC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUF1ZGllbmNlQg26SAqSAQciBYIBAhABEkIKC3NlbnNpdGl2aXR5GAMgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESFAoMc2FmZV9zdW1tYXJ5GAQgASgJEjUKCnJlZGFjdGlvbnMYBSADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbhJOCgphdHRyaWJ1dGVzGAYgAygLMjouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGEuQXR0cmlidXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqADChJDaGFubmVsQWN0aW9uQWN0b3ISQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEQoJYWN0aW9uX2lkGAYgASgJEhMKC2NhbGxiYWNrX2lkGAcgASgJEhgKEGFjdG9yX2NoYW5uZWxfaWQYCCABKAkSFwoPYWN0b3JfZW50aXR5X2lkGAkgASgJEhQKDHByaW5jaXBhbF9pZBgKIAEoCRJHCgphdHRyaWJ1dGVzGAsgAygLMjMuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BY3Rvci5BdHRyaWJ1dGVzRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi0QcKFENoYW5uZWxBY3Rpb25SZWNlaXB0EgoKAmlkGAEgASgJEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIgCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlCB7pIBHICEAESFAoMcmVxdWVzdF9oYXNoGAQgASgJEjIKDHN1cmZhY2VfdHlwZRgFIAEoDjISLmNvbW1vbi52MS5TdXJmYWNlQgi6SAWCAQIQARJBCgthY3Rpb25fa2luZBgGIAEoDjIiLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uS2luZEIIukgFggECEAESRwoLdGFyZ2V0X2tpbmQYByABKA4yKC5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblRhcmdldEtpbmRCCLpIBYIBAhABEhEKCXRhcmdldF9pZBgIIAEoCRIOCgZydW5faWQYCSABKAkSDwoHd2FpdF9pZBgKIAEoCRIbChNhcHByb3ZhbF9yZXF1ZXN0X2lkGAsgASgJEhQKDG9iamVjdGl2ZV9pZBgMIAEoCRIyCgVhY3RvchgNIAEoCzIjLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uQWN0b3ISKAoHcGF5bG9hZBgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSWwoVYXV0aG9yaXphdGlvbl9vdXRjb21lGA8gASgOMjIuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BdXRob3JpemF0aW9uT3V0Y29tZUIIukgFggECEAESUwoRZXhlY3V0aW9uX291dGNvbWUYECABKA4yLi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkV4ZWN1dGlvbk91dGNvbWVCCLpIBYIBAhABElEKEGRlbGl2ZXJ5X291dGNvbWUYESABKA4yLS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkRlbGl2ZXJ5T3V0Y29tZUIIukgFggECEAESDgoGcmVhc29uGBIgASgJEhQKDGVycm9yX3JlYXNvbhgTIAEoCRIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJGChpjb2RleF9pbnRlcmFjdGlvbl9kZWNpc2lvbhgWIAEoCzIiLmNvZGV4LnYxLkNvZGV4SW50ZXJhY3Rpb25EZWNpc2lvbiL8BAoRTm9ybWFsaXplZFRyaWdnZXISHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhkKCGFnZW50X2lkGAIgASgJQge6SARyAhABEhMKB3N1cmZhY2UYAyABKAlCAhgBEhIKCmNoYW5uZWxfaWQYBCABKAkSIAoPaWRlbXBvdGVuY3lfa2V5GAUgASgJQge6SARyAhABEhcKD3NvdXJjZV9ldmVudF9pZBgGIAEoCRIdChFzb3VyY2VfZXZlbnRfdHlwZRgHIAEoCUICGAESEAoIYWN0b3JfaWQYCCABKAkSFgoOY29ycmVsYXRpb25faWQYCSABKAkSKAoHcGF5bG9hZBgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLwoLcmVjZWl2ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDHN1cmZhY2VfdHlwZRgMIAEoDjISLmNvbW1vbi52MS5TdXJmYWNlQgi6SAWCAQIQARI/Cg9jaGFubmVsX2NvbnRleHQYDSABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0EkMKDHRyaWdnZXJfa2luZBgOIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVHJpZ2dlcktpbmRCCLpIBYIBAhABEjsKDXdvcmtfZW52ZWxvcGUYDyABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVdvcmtFbnZlbG9wZRIuCgpjb2RleF93b3JrGBAgASgLMhouY29kZXgudjEuQ29kZXhXb3JrUmVxdWVzdCL+AQoOUnVudGltZUNvbnRleHQSOAoMZGVwZW5kZW5jaWVzGAEgAygLMiIuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVEZXBlbmRlbmN5EkMKCmF0dHJpYnV0ZXMYAiADKAsyLy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNvbnRleHQuQXR0cmlidXRlc0VudHJ5EjoKDXZpcnR1YWxfZmlsZXMYAyADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvsBChJSdW50aW1lVmlydHVhbEZpbGUSFQoEcGF0aBgBIAEoCUIHukgEcgIQARISCgptZWRpYV90eXBlGAIgASgJEg8KB2NvbnRlbnQYAyABKAkSFgoOc291cmNlX3NlcnZpY2UYBCABKAkSGwoTc291cmNlX3JlZmVyZW5jZV9pZBgFIAEoCRJDCghtZXRhZGF0YRgGIAMoCzIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi3wQKF1J1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5EgwKBHBhdGgYASABKAkSEgoKbWVkaWFfdHlwZRgCIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgDIAEoCRIbChNzb3VyY2VfcmVmZXJlbmNlX2lkGAQgASgJEkgKCG1ldGFkYXRhGAUgAygLMjYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5Lk1ldGFkYXRhRW50cnkSGwoKc2l6ZV9ieXRlcxgGIAEoA0IHukgEIgIoABIWCg5jb250ZW50X3NoYTI1NhgHIAEoCRIZChFjb250ZW50X3RydW5jYXRlZBgIIAEoCBINCgVtb3VudBgJIAEoCRIMCgRraW5kGAogASgJEhMKC3Blcm1pc3Npb25zGAsgASgJEgwKBHZpZXcYDCABKAkSEwoLcmV2aXNpb25faWQYDSABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGA4gASgJEhMKC3Byb3ZpZGVyX2lkGA8gASgJEhUKDWNvbm5lY3Rpb25faWQYECABKAkSFAoMY2FjaGVfcG9saWN5GBEgASgJEg4KBnBvbGljeRgSIAEoCRIMCgRsYXp5GBMgASgIEiEKEHNlY3JldF9yZWZfY291bnQYFCABKAVCB7pIBBoCKAASFQoNY2VyZWJyb19pbmRleBgVIAEoCRIXCg9jb250ZW50X2FkZHJlc3MYFiABKAkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIn0KF1J1bnRpbWVWaXJ0dWFsRmlsZU1hdGNoEgwKBHBhdGgYASABKAkSHAoLbGluZV9udW1iZXIYAiABKAVCB7pIBBoCKAASDwoHc25pcHBldBgDIAEoCRINCgVtb3VudBgEIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgFIAEoCSLDAQoRUnVudGltZURlcGVuZGVuY3kSGAoHc2VydmljZRgBIAEoCUIHukgEcgIQARIPCgdwdXJwb3NlGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEhIKBnN0YXR1cxgEIAEoCUICGAESFAoMcmVmZXJlbmNlX2lkGAUgASgJEkcKC3N0YXR1c190eXBlGAYgASgOMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVEZXBlbmRlbmN5U3RhdHVzQgi6SAWCAQIQASJfCg9BZ2VudFJ1bkxpbmthZ2USDgoGcnVuX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIQCghhZ2VudF9pZBgDIAEoCRIUCgxvYmplY3RpdmVfaWQYBCABKAkieQoTUnVudGltZVRyYWNlQ29udGV4dBIQCgh0cmFjZV9pZBgBIAEoCRIPCgdzcGFuX2lkGAIgASgJEhYKDnBhcmVudF9zcGFuX2lkGAMgASgJEhMKC3RyYWNlcGFyZW50GAQgASgJEhIKCnRyYWNlc3RhdGUYBSABKAkiiQsKCEFnZW50UnVuEgoKAmlkGAEgASgJEjMKB3RyaWdnZXIYAiABKAsyIi5hZ2VudHJ1bnRpbWUudjEuTm9ybWFsaXplZFRyaWdnZXISLQoFc3RhdGUYAyABKA4yHi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGF0ZRIfCgVhZ2VudBgEIAEoCzIQLmFnZW50cy52MS5BZ2VudBIsCgxhZ2VudF9jb25maWcYBSABKAsyFi5hZ2VudHMudjEuQWdlbnRDb25maWcSKwoJb2JqZWN0aXZlGAYgASgLMhgub2JqZWN0aXZlcy52MS5PYmplY3RpdmUSMAoHY29udGV4dBgHIAEoCzIfLmFnZW50cnVudGltZS52MS5SdW50aW1lQ29udGV4dBIUCgx3b3JrZXJfcXVldWUYCCABKAkSFQoNZXJyb3JfbWVzc2FnZRgJIAEoCRIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgdsaW5rYWdlGAwgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdhdHRlbXB0GA8gASgFEhQKDG1heF9hdHRlbXB0cxgQIAEoBRItCgVsZWFzZRgRIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxlYXNlEj4KEWxhdGVzdF9jaGVja3BvaW50GBIgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVzdGVwcxgTIAMoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXASLAoFd2FpdHMYFCADKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0EjQKCWFydGlmYWN0cxgVIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EiwKBWNvc3RzGBYgAygLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ29zdBI9Cg5zdHJlYW1fY3Vyc29ycxgXIAMoCzIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0cmVhbUN1cnNvchItCglxdWV1ZWRfYXQYGCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYGSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCndhaXRpbmdfYXQYGiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgbIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY2FuY2VsbGVkX2F0GBwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1uZXh0X3JldHJ5X2F0GB0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBkZWFkX2xldHRlcmVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIbChNjYW5jZWxsYXRpb25fcmVhc29uGB8gASgJEhoKEmRlYWRfbGV0dGVyX3JlYXNvbhggIAEoCRI4CgtjaGVja3BvaW50cxghIAMoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSOwoNdHJhY2VfY29udGV4dBgiIAEoCzIkLmFnZW50cnVudGltZS52MS5SdW50aW1lVHJhY2VDb250ZXh0IqkCCg1BZ2VudFJ1bkxlYXNlEgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEhEKCXdvcmtlcl9pZBgGIAEoCRINCgV0b2tlbhgHIAEoCRIUCgx3b3JrZXJfcXVldWUYCCABKAkSDwoHYXR0ZW1wdBgJIAEoBRIuCgpjbGFpbWVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxoZWFydGJlYXRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIr8ECgxBZ2VudFJ1blN0ZXASCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDAoEbmFtZRgGIAEoCRIQCgRraW5kGAcgASgJQgIYARIxCgVzdGF0ZRgIIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXBTdGF0ZRIPCgdhdHRlbXB0GAkgASgFEiYKBWlucHV0GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgZvdXRwdXQYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKDWVycm9yX21lc3NhZ2UYDCABKAkSFQoNY2hlY2twb2ludF9pZBgNIAEoCRIuCgpzdGFydGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPgoJc3RlcF9raW5kGBAgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RlcEtpbmRCCLpIBYIBAhABEjIKDmNvZGV4X3Byb2dyZXNzGBEgASgLMhouY29kZXgudjEuQ29kZXhSdW5Qcm9ncmVzcxI7Cg10cmFjZV9jb250ZXh0GBIgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmFjZUNvbnRleHQi5gEKEkFnZW50UnVuQ2hlY2twb2ludBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEhAKCHNlcXVlbmNlGAcgASgDEhQKDHJlc3VtZV90b2tlbhgIIAEoCRIoCgdwYXlsb2FkGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK+BAoMQWdlbnRSdW5XYWl0EgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB3N0ZXBfaWQYBiABKAkSLwoEdHlwZRgHIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlEhQKDGV4dGVybmFsX3JlZhgIIAEoCRIOCgZyZWFzb24YCSABKAkSKAoHcGF5bG9hZBgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMcmVzdW1lX2FmdGVyGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtyZXNvbHZlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUcmVzb2x2ZWRfYnlfZXZlbnRfaWQYDyABKAkSPgoKdmlzaWJpbGl0eRgQIAEoCzIqLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eU1ldGFkYXRhEjwKEWNvZGV4X2ludGVyYWN0aW9uGBEgASgLMiEuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvblJlcXVlc3QihgMKEEFnZW50UnVuQXJ0aWZhY3QSCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHc3RlcF9pZBgGIAEoCRIZCg1hcnRpZmFjdF90eXBlGAcgASgJQgIYARILCgN1cmkYCCABKAkSFAoMY29udGVudF90eXBlGAkgASgJEg4KBmRpZ2VzdBgKIAEoCRIpCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRgoNYXJ0aWZhY3Rfa2luZBgQIAEoDjIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0S2luZEIIukgFggECEAESMQoMY29kZXhfb3V0cHV0GBEgASgLMhsuY29kZXgudjEuQ29kZXhPdXRwdXRUYXJnZXQitwIKDEFnZW50UnVuQ29zdBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEhEKCW1ldGVyX3JlZhgHIAEoCRIQCghwcm92aWRlchgIIAEoCRINCgVtb2RlbBgJIAEoCRIUCgxpbnB1dF90b2tlbnMYCiABKAMSFQoNb3V0cHV0X3Rva2VucxgLIAEoAxIUCgx0b3RhbF90b2tlbnMYDCABKAMSEAoIY3VycmVuY3kYDSABKAkSHQoVZXN0aW1hdGVkX2Nvc3RfbWljcm9zGA4gASgDEi8KC3JlY29yZGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKuAQoUQWdlbnRSdW5TdHJlYW1DdXJzb3ISCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USEAoIY29uc3VtZXIYBCABKAkSFQoNbmV4dF9zZXF1ZW5jZRgFIAEoAxIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKSBQoMUnVudGltZUV2ZW50EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIQCghzZXF1ZW5jZRgDIAEoAxIvCgR0eXBlGAQgASgOMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudFR5cGUSDwoHbWVzc2FnZRgFIAEoCRIrCgphdHRyaWJ1dGVzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIvCgtvY2N1cnJlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc3RlcF9pZBgLIAEoCRIVCg1jaGVja3BvaW50X2lkGAwgASgJEhMKC2FydGlmYWN0X2lkGA0gASgJEg8KB2Nvc3RfaWQYDiABKAkSDwoHd2FpdF9pZBgPIAEoCRIxCgdsaW5rYWdlGBAgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRI+Cgp2aXNpYmlsaXR5GBEgASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGESMgoOY29kZXhfcHJvZ3Jlc3MYEiABKAsyGi5jb2RleC52MS5Db2RleFJ1blByb2dyZXNzEjwKEWNvZGV4X2ludGVyYWN0aW9uGBMgASgLMiEuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvblJlcXVlc3QSMwoNY29kZXhfb3V0Y29tZRgUIAEoCzIcLmNvZGV4LnYxLkNvZGV4T3V0Y29tZVNpZ25hbBI7Cg10cmFjZV9jb250ZXh0GBUgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmFjZUNvbnRleHQiUwoUSGFuZGxlVHJpZ2dlclJlcXVlc3QSOwoHdHJpZ2dlchgBIAEoCzIiLmFnZW50cnVudGltZS52MS5Ob3JtYWxpemVkVHJpZ2dlckIGukgDyAEBIokBChVIYW5kbGVUcmlnZ2VyUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBmV2ZW50cxgCIAMoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQSGQoRaWRlbXBvdGVudF9yZXBsYXkYAyABKAgiZwoTQ2xhaW1OZXh0UnVuUmVxdWVzdBIaCgl3b3JrZXJfaWQYASABKAlCB7pIBHICEAESFAoMd29ya2VyX3F1ZXVlGAIgASgJEh4KDWxlYXNlX3NlY29uZHMYAyABKAVCB7pIBBoCKAAinAEKFENsYWltTmV4dFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhItCgVsZWFzZRgCIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxlYXNlEi0KBmV2ZW50cxgDIAMoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQibQoTSGVhcnRiZWF0UnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHwoOZXh0ZW5kX3NlY29uZHMYAyABKAVCB7pIBBoCKAAimwEKFEhlYXJ0YmVhdFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhItCgVsZWFzZRgCIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxlYXNlEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKCAQoUUmVjb3JkUnVuU3RlcFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBHN0ZXAYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwQga6SAPIAQEimgEKFVJlY29yZFJ1blN0ZXBSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEc3RlcBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXASLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IpQBChpSZWNvcmRSdW5DaGVja3BvaW50UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESPwoKY2hlY2twb2ludBgDIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnRCBrpIA8gBASKsAQobUmVjb3JkUnVuQ2hlY2twb2ludFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI3CgpjaGVja3BvaW50GAIgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQijgEKGFJlY29yZFJ1bkFydGlmYWN0UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESOwoIYXJ0aWZhY3QYAyABKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdEIGukgDyAEBIqYBChlSZWNvcmRSdW5BcnRpZmFjdFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIzCghhcnRpZmFjdBgCIAEoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKCAQoUUmVjb3JkUnVuQ29zdFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBGNvc3QYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5Db3N0Qga6SAPIAQEimgEKFVJlY29yZFJ1bkNvc3RSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEY29zdBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3QSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50InYKHFJlY29yZFJ1blN0cmVhbUN1cnNvclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEj0KBmN1cnNvchgCIAEoCzIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0cmVhbUN1cnNvckIGukgDyAEBIqwBCh1SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNQoGY3Vyc29yGAIgASgLMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RyZWFtQ3Vyc29yEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLRAgoVUmVjb3JkUnVuRXZlbnRSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI5CgR0eXBlGAIgASgOMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudFR5cGVCCLpIBYIBAhABEhgKB21lc3NhZ2UYAyABKAlCB7pIBHICEAESKwoKYXR0cmlidXRlcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHc3RlcF9pZBgFIAEoCRIVCg1jaGVja3BvaW50X2lkGAYgASgJEhMKC2FydGlmYWN0X2lkGAcgASgJEg8KB2Nvc3RfaWQYCCABKAkSDwoHd2FpdF9pZBgJIAEoCRI+Cgp2aXNpYmlsaXR5GAogASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGEibgoWUmVjb3JkUnVuRXZlbnRSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IrUBCg5XYWl0UnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESMwoEd2FpdBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRCBrpIA8gBARI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCLNAQoPV2FpdFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIrCgR3YWl0GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBI3CgpjaGVja3BvaW50GAMgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi0AEKEFJlc3VtZVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhgKB3dhaXRfaWQYAiABKAlCB7pIBHICEAESFwoPcmVzdW1lX2V2ZW50X2lkGAMgASgJEigKB3BheWxvYWQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkYKGmNvZGV4X2ludGVyYWN0aW9uX2RlY2lzaW9uGAUgASgLMiIuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvbkRlY2lzaW9uImkKEVJlc3VtZVJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQirQEKEkNvbXBsZXRlUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESJwoGcmVzdWx0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCKkAQoTQ29tcGxldGVSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNwoKY2hlY2twb2ludBgCIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IqABCg5GYWlsUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHgoNZXJyb3JfbWVzc2FnZRgDIAEoCUIHukgEcgIQARIRCglyZXRyeWFibGUYBCABKAgSJAoTcmV0cnlfZGVsYXlfc2Vjb25kcxgFIAEoBUIHukgEGgIoACJnCg9GYWlsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI7ChBDYW5jZWxSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIOCgZyZWFzb24YAiABKAkiaQoRQ2FuY2VsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJgCg9SZXRyeVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEiQKE3JldHJ5X2RlbGF5X3NlY29uZHMYAiABKAVCB7pIBBoCKAASDgoGcmVhc29uGAMgASgJImgKEFJldHJ5UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI/ChREZWFkTGV0dGVyUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIm0KFURlYWRMZXR0ZXJSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IiQKDUdldFJ1blJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEiOAoOR2V0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuIjcKHEdldFRlYW1tYXRlV29ya0xlZGdlclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABIo4BCh1HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXNwb25zZRIzCgZsZWRnZXIYASABKAsyIy5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyEjgKC2xlZGdlcl9maWxlGAIgASgLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZSLoBwoSVGVhbW1hdGVXb3JrTGVkZ2VyEhYKDnNjaGVtYV92ZXJzaW9uGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIxCgdsaW5rYWdlGAMgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRItCgVzdGF0ZRgEIAEoDjIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0YXRlEhcKD29iamVjdGl2ZV90aXRsZRgFIAEoCRIUCgx3b3JrZXJfcXVldWUYBiABKAkSGAoHYXR0ZW1wdBgHIAEoBUIHukgEGgIoABIYChB3b3JrX2VudmVsb3BlX2lkGAggASgJEhoKEndvcmtfZW52ZWxvcGVfa2luZBgJIAEoCRIVCg13b3Jrc3RyZWFtX2lkGAogASgJEhMKC25leHRfYWN0aW9uGAsgASgJEjwKCGJsb2NrZXJzGAwgAygLMiouYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckJsb2NrZXISTAoQY29ubmVjdG9yX2FjY2VzcxgNIAMoCzIyLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDb25uZWN0b3JBY2Nlc3MSSwoQbWVtb3J5X2NpdGF0aW9ucxgOIAMoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJNZW1vcnlDaXRhdGlvbhJCCgt2ZnNfc3VtbWFyeRgPIAEoCzItLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJWZnNTdW1tYXJ5EkoKD2NlcmVicm9fY29udGV4dBgQIAEoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDZXJlYnJvQ29udGV4dBJMChBwcm9hY3RpdmVfcG9saWN5GBEgASgLMjIuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlclByb2FjdGl2ZVBvbGljeRJICg5jaGFubmVsX3N0YXR1cxgSIAEoCzIwLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDaGFubmVsU3RhdHVzEhYKDmV2aWRlbmNlX3BhdGhzGBMgAygJEhYKDmhhbmRvZmZfcG9saWN5GBQgASgJEh4KFnJlc3VtZV9jaGVja3BvaW50X3BhdGgYFSABKAkSLgoKdXBkYXRlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoLZXZlbnRfY291bnQYFyABKAVCB7pIBBoCKAAioQIKGVRlYW1tYXRlV29ya0xlZGdlckJsb2NrZXISDwoHd2FpdF9pZBgBIAEoCRIvCgR0eXBlGAIgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGUSDgoGcmVhc29uGAMgASgJEhQKDGV4dGVybmFsX3JlZhgEIAEoCRIwCgxyZXN1bWVfYWZ0ZXIYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKEnZpc2liaWxpdHlfc3VtbWFyeRgGIAEoCRJOCg9yZXN1bWVfY29udHJhY3QYByABKAsyNS5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyV2FpdFJlc3VtZUNvbnRyYWN0IsMCCiRUZWFtbWF0ZVdvcmtMZWRnZXJXYWl0UmVzdW1lQ29udHJhY3QSFgoOc2NoZW1hX3ZlcnNpb24YASABKAkSEgoKcmVzdW1lX3JwYxgCIAEoCRISCgpsb29rdXBfcnBjGAMgASgJEiEKGWxvb2t1cF9leHRlcm5hbF9yZWZfZmllbGQYBCABKAkSHgoWcmVxdWlyZWRfcmVzdW1lX2ZpZWxkcxgFIAMoCRIZChFhbGxvd2VkX2RlY2lzaW9ucxgGIAMoCRIjChtjaGFubmVsX2FjdGlvbl92YWx1ZV9maWVsZHMYByADKAkSHAoUaWRlbXBvdGVuY3lfam9pbl9rZXkYCCABKAkSGwoTYXBwcm92YWxfcmVxdWVzdF9pZBgJIAEoCRIdChVyZXF1aXJlc19zYWZlX3N1bW1hcnkYCiABKAgipAIKIVRlYW1tYXRlV29ya0xlZGdlckNvbm5lY3RvckFjY2VzcxISCgptb3VudF9wYXRoGAEgASgJEhMKC3Byb3ZpZGVyX2lkGAIgASgJEhUKDWNvbm5lY3Rpb25faWQYAyABKAkSFAoMY2FwYWJpbGl0aWVzGAQgAygJEhYKDmdyYW50X3JlcXVpcmVkGAUgASgIEhQKDGxlYXNlX3BvbGljeRgGIAEoCRIVCg1pZGVudGl0eV9tb2RlGAcgASgJEiMKG2NyZWRlbnRpYWxfdmVyc2lvbl9zdHJhdGVneRgIIAEoCRIhChBzZWNyZXRfcmVmX2NvdW50GAkgASgFQge6SAQaAigAEhwKFGNyZWRlbnRpYWxfcmVmX25hbWVzGAogAygJIvIBCiBUZWFtbWF0ZVdvcmtMZWRnZXJNZW1vcnlDaXRhdGlvbhIRCgltZW1vcnlfaWQYASABKAkSEwoLbWVtb3J5X3R5cGUYAiABKAkSDgoGc291cmNlGAMgASgJEhMKC3NvdXJjZV91cmlzGAQgAygJEhwKFHN1cGVyc2VkZXNfbWVtb3J5X2lkGAUgASgJEh8KF3N1cGVyc2VkZWRfYnlfbWVtb3J5X2lkGAYgASgJEhUKDXJldmlld19zdGF0dXMYByABKAkSEgoKZW50aXR5X2lkcxgIIAMoCRIXCg9jb250ZW50X3ByZXZpZXcYCSABKAkingIKHFRlYW1tYXRlV29ya0xlZGdlclZmc1N1bW1hcnkSGwoKZmlsZV9jb3VudBgBIAEoBUIHukgEGgIoABIcCgttb3VudF9jb3VudBgCIAEoBUIHukgEGgIoABImChVjb25uZWN0b3JfbW91bnRfY291bnQYAyABKAVCB7pIBBoCKAASJAoTbWVtb3J5X3JlY29yZF9jb3VudBgEIAEoBUIHukgEGgIoABIiChF0cmFuc2FjdGlvbl9jb3VudBgFIAEoBUIHukgEGgIoABIyCiFjZXJlYnJvX2luZGV4X2VsaWdpYmxlX2ZpbGVfY291bnQYBiABKAVCB7pIBBoCKAASHQoVaGFzX3Jlc3VtZV9jaGVja3BvaW50GAcgASgIIqEBCiBUZWFtbWF0ZVdvcmtMZWRnZXJDZXJlYnJvQ29udGV4dBIQCghwcm92aWRlchgBIAEoCRINCgVxdWVyeRgCIAEoCRIRCgl0aGluZ19pZHMYAyADKAkSEAoIZmFjdF9pZHMYBCADKAkSEQoJZXZlbnRfaWRzGAUgAygJEiQKE2VsaWdpYmxlX2ZpbGVfY291bnQYBiABKAVCB7pIBBoCKAAipgEKIVRlYW1tYXRlV29ya0xlZGdlclByb2FjdGl2ZVBvbGljeRIPCgdlbmFibGVkGAEgASgIEhUKDXRyaWdnZXJfa2luZHMYAiADKAkSIAoYcHJvZ3Jlc3NfdXBkYXRlX3RyaWdnZXJzGAMgAygJEhcKD3ByZXNlbmNlX3BvbGljeRgEIAEoCRIeCg11cGRhdGVfYnVkZ2V0GAUgASgFQge6SAQaAigAIpsBCh9UZWFtbWF0ZVdvcmtMZWRnZXJDaGFubmVsU3RhdHVzEhQKDGNoYW5uZWxfa2luZBgBIAEoCRISCgpjaGFubmVsX2lkGAIgASgJEhEKCXRocmVhZF9pZBgDIAEoCRIdChVsYXN0X3Zpc2libGVfZXZlbnRfaWQYBCABKAkSHAoUbGFzdF92aXNpYmxlX3N1bW1hcnkYBSABKAkieQodTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEiEKEHdvcmtfZW52ZWxvcGVfaWQYAiABKAlCB7pIBHICEAESFgoFbGltaXQYAyABKAVCB7pIBBoCKAAiSQoeTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlc3BvbnNlEicKBHJ1bnMYASADKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4i/gIKE0xpc3RSdW5XYWl0c1JlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEg4KBnJ1bl9pZBgCIAEoCRIQCghhZ2VudF9pZBgDIAEoCRIUCgxvYmplY3RpdmVfaWQYBCABKAkSGAoQd29ya19lbnZlbG9wZV9pZBgFIAEoCRI7CgVzdGF0ZRgGIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRTdGF0ZUIIukgFggECEAESOQoEdHlwZRgHIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlQgi6SAWCAQIQARI8CghhdWRpZW5jZRgIIAEoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCCLpIBYIBAhABEhYKBWxpbWl0GAkgASgFQge6SAQaAigAEhIKCnBhZ2VfdG9rZW4YCiABKAkSFAoMZXh0ZXJuYWxfcmVmGAsgASgJItgFChNBZ2VudFJ1bldhaXRTdW1tYXJ5Eg4KBnJ1bl9pZBgBIAEoCRIPCgd3YWl0X2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIQCghhZ2VudF9pZBgEIAEoCRIUCgxvYmplY3RpdmVfaWQYBSABKAkSDwoHc3RlcF9pZBgGIAEoCRIvCgR0eXBlGAcgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGUSMQoFc3RhdGUYCCABKA4yIi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0U3RhdGUSFAoMZXh0ZXJuYWxfcmVmGAkgASgJEg4KBnJlYXNvbhgKIAEoCRIoCgdwYXlsb2FkGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxyZXN1bWVfYWZ0ZXIYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3Jlc29sdmVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRyZXNvbHZlZF9ieV9ldmVudF9pZBgQIAEoCRI+Cgp2aXNpYmlsaXR5GBEgASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGESPwoPY2hhbm5lbF9jb250ZXh0GBIgASgLMiYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsQ29udGV4dBI7Cg13b3JrX2VudmVsb3BlGBMgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVXb3JrRW52ZWxvcGUiZAoUTGlzdFJ1bldhaXRzUmVzcG9uc2USMwoFd2FpdHMYASADKAsyJC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiYwohUmVjb3JkQ2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0Ej4KB3JlY2VpcHQYASABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHRCBrpIA8gBASJ3CiJSZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEjYKB3JlY2VpcHQYASABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHQSGQoRaWRlbXBvdGVudF9yZXBsYXkYAiABKAgiNQoeR2V0Q2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIlkKH0dldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVzcG9uc2USNgoHcmVjZWlwdBgBIAEoCzIlLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uUmVjZWlwdCLtAwogTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1JlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhcKD2lkZW1wb3RlbmN5X2tleRgCIAEoCRIXCg9hY3Rvcl9lbnRpdHlfaWQYAyABKAkSRwoLdGFyZ2V0X2tpbmQYBCABKA4yKC5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblRhcmdldEtpbmRCCLpIBYIBAhABEhEKCXRhcmdldF9pZBgFIAEoCRIOCgZydW5faWQYBiABKAkSDwoHd2FpdF9pZBgHIAEoCRIbChNhcHByb3ZhbF9yZXF1ZXN0X2lkGAggASgJEhQKDG9iamVjdGl2ZV9pZBgJIAEoCRJDCgxjaGFubmVsX2tpbmQYCiABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYCyABKAkSEgoKY2hhbm5lbF9pZBgMIAEoCRIRCgl0aHJlYWRfaWQYDSABKAkSEgoKbWVzc2FnZV9pZBgOIAEoCRIRCglhY3Rpb25faWQYDyABKAkSFgoFbGltaXQYECABKAVCB7pIBBoCKAAiXAohTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1Jlc3BvbnNlEjcKCHJlY2VpcHRzGAEgAygLMiUuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25SZWNlaXB0Im0KFExpc3RSdW5FdmVudHNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI8CghhdWRpZW5jZRgCIAEoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCCLpIBYIBAhABIkYKFUxpc3RSdW5FdmVudHNSZXNwb25zZRItCgZldmVudHMYASADKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50ImIKGkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARITCgtwYXRoX3ByZWZpeBgCIAEoCRIWCgVsaW1pdBgDIAEoBUIHukgEGgIoACJYChtMaXN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2USOQoHZW50cmllcxgBIAMoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeSJ8ChlSZWFkUnVuVmlydHVhbEZpbGVSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIVCgRwYXRoGAIgASgJQge6SARyAhABEhcKBm9mZnNldBgDIAEoBUIHukgEGgIoABIWCgVsaW1pdBgEIAEoBUIHukgEGgIoACKYAQoaUmVhZFJ1blZpcnR1YWxGaWxlUmVzcG9uc2USNwoFZW50cnkYASABKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkSDwoHY29udGVudBgCIAEoCRIOCgZvZmZzZXQYAyABKAUSEwoLbmV4dF9vZmZzZXQYBCABKAUSCwoDZW9mGAUgASgIInwKHFNlYXJjaFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhYKBXF1ZXJ5GAIgASgJQge6SARyAhABEhMKC3BhdGhfcHJlZml4GAMgASgJEhYKBWxpbWl0GAQgASgFQge6SAQaAigAIloKHVNlYXJjaFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEjkKB21hdGNoZXMYASADKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlTWF0Y2gixwIKI1JlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIVCgRwYXRoGAMgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYBCABKAkSDwoHY29udGVudBgFIAEoCRIVCg1wcm9wb3NhbF9raW5kGAYgASgJEg8KB3N0ZXBfaWQYByABKAkSVAoIbWV0YWRhdGEYCCADKAsyQi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbFJlcXVlc3QuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi5AEKJFJlY29yZFJ1blZpcnR1YWxGaWxlUHJvcG9zYWxSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SMwoIYXJ0aWZhY3QYAiABKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIxCgRmaWxlGAMgASgLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi+gEKGFJ1bnRpbWVWaXJ0dWFsRmlsZUNoYW5nZRIVCgRwYXRoGAEgASgJQge6SARyAhABEhIKCm1lZGlhX3R5cGUYAiABKAkSDwoHY29udGVudBgDIAEoCRIVCg1wcm9wb3NhbF9raW5kGAQgASgJEg8KB3N0ZXBfaWQYBSABKAkSSQoIbWV0YWRhdGEYBiADKAsyNy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlQ2hhbmdlLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvICCiZSZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESFgoOdHJhbnNhY3Rpb25faWQYAyABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGAQgASgJEjoKB2NoYW5nZXMYBSADKAsyKS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlQ2hhbmdlElcKCG1ldGFkYXRhGAYgAygLMkUuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0Lk1ldGFkYXRhRW50cnkSFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLpAQonUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYAiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IsYCCidQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEh8KDnRyYW5zYWN0aW9uX2lkGAMgASgJQge6SARyAhABEiMKG2V4cGVjdGVkX3BhcmVudF9yZXZpc2lvbl9pZBgEIAEoCRITCgthcHByb3Zlcl9pZBgFIAEoCRJYCghtZXRhZGF0YRgGIAMoCzJGLmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi6gEKKFByb21vdGVSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgCIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAMgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi4wIKIUh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESFgoFbW91bnQYAyABKAlCB7pIBHICEAESEwoLcHJvdmlkZXJfaWQYBCABKAkSFQoNY29ubmVjdGlvbl9pZBgFIAEoCRINCgVxdWVyeRgGIAEoCRIWCgVsaW1pdBgHIAEoBUIHukgEGgIoABJSCghtZXRhZGF0YRgIIAMoCzJALmFnZW50cnVudGltZS52MS5IeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlcXVlc3QuTWV0YWRhdGFFbnRyeRIXCg9pZGVtcG90ZW5jeV9rZXkYCSABKAkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuQBCiJIeWRyYXRlUnVuVmlydHVhbEZpbGVNb3VudFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYAiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IjgKHUluc3BlY3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQASLmAwoiUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yU3VtbWFyeRIbCgpmaWxlX2NvdW50GAEgASgFQge6SAQaAigAEhwKC21vdW50X2NvdW50GAIgASgFQge6SAQaAigAEiIKEXRyYW5zYWN0aW9uX2NvdW50GAMgASgFQge6SAQaAigAEiEKEGxhenlfbW91bnRfY291bnQYBCABKAVCB7pIBBoCKAASJAoTaHlkcmF0ZWRfZmlsZV9jb3VudBgFIAEoBUIHukgEGgIoABIoChdjZXJlYnJvX2NhbmRpZGF0ZV9jb3VudBgGIAEoBUIHukgEGgIoABIkChNjZXJlYnJvX3JlYWR5X2NvdW50GAcgASgFQge6SAQaAigAEiQKE2FjY2VwdGVkX2ZpbGVfY291bnQYCCABKAVCB7pIBBoCKAASJgoVY29udGVudF9hZGRyZXNzX2NvdW50GAkgASgFQge6SAQaAigAEioKGWh5ZHJhdGlvbl9jYWNoZV9oaXRfY291bnQYCiABKAVCB7pIBBoCKAASKAoXc3RhbGVfdHJhbnNhY3Rpb25fY291bnQYCyABKAVCB7pIBBoCKAASJAoTc2hhZG93ZWRfZmlsZV9jb3VudBgMIAEoBUIHukgEGgIoACKdAgogUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yTW91bnQSDAoEcGF0aBgBIAEoCRIbCgpmaWxlX2NvdW50GAIgASgFQge6SAQaAigAEhsKCnNpemVfYnl0ZXMYAyABKANCB7pIBCICKAASDAoEbGF6eRgEIAEoCBITCgtwcm92aWRlcl9pZBgFIAEoCRIVCg1jb25uZWN0aW9uX2lkGAYgASgJEhQKDGNhY2hlX3BvbGljeRgHIAEoCRIOCgZwb2xpY3kYCCABKAkSFQoNY2VyZWJyb19pbmRleBgJIAEoCRIhChBzZWNyZXRfcmVmX2NvdW50GAogASgFQge6SAQaAigAEhcKD3NvdXJjZV9zZXJ2aWNlcxgLIAMoCSLJAQomUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yVHJhbnNhY3Rpb24SFgoOdHJhbnNhY3Rpb25faWQYASABKAkSDAoEdmlldxgCIAEoCRIaChJwYXJlbnRfcmV2aXNpb25faWQYAyABKAkSGwoKZmlsZV9jb3VudBgEIAEoBUIHukgEGgIoABIOCgZwb2xpY3kYBSABKAkSFQoNY2VyZWJyb19pbmRleBgGIAEoCRIZChFjb250ZW50X2FkZHJlc3NlcxgHIAMoCSKzAgoeSW5zcGVjdFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEkQKB3N1bW1hcnkYASABKAsyMy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yU3VtbWFyeRJBCgZtb3VudHMYAiADKAsyMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yTW91bnQSTQoMdHJhbnNhY3Rpb25zGAMgAygLMjcuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclRyYW5zYWN0aW9uEjkKB2VudHJpZXMYBCADKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkqvwIKDUFnZW50UnVuU3RhdGUSHwobQUdFTlRfUlVOX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYQUdFTlRfUlVOX1NUQVRFX0FDQ0VQVEVEEAESGgoWQUdFTlRfUlVOX1NUQVRFX1FVRVVFRBACEhsKF0FHRU5UX1JVTl9TVEFURV9SVU5OSU5HEAMSGwoXQUdFTlRfUlVOX1NUQVRFX1dBSVRJTkcQBBIdChlBR0VOVF9SVU5fU1RBVEVfU1VDQ0VFREVEEAUSGgoWQUdFTlRfUlVOX1NUQVRFX0ZBSUxFRBAGEh0KGUFHRU5UX1JVTl9TVEFURV9DQU5DRUxMRUQQBxIcChhBR0VOVF9SVU5fU1RBVEVfUkVUUllJTkcQCBIhCh1BR0VOVF9SVU5fU1RBVEVfREVBRF9MRVRURVJFRBAJKqoCChFBZ2VudFJ1blN0ZXBTdGF0ZRIkCiBBR0VOVF9SVU5fU1RFUF9TVEFURV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1BFTkRJTkcQARIgChxBR0VOVF9SVU5fU1RFUF9TVEFURV9SVU5OSU5HEAISIAocQUdFTlRfUlVOX1NURVBfU1RBVEVfV0FJVElORxADEiIKHkFHRU5UX1JVTl9TVEVQX1NUQVRFX1NVQ0NFRURFRBAEEh8KG0FHRU5UX1JVTl9TVEVQX1NUQVRFX0ZBSUxFRBAFEiIKHkFHRU5UX1JVTl9TVEVQX1NUQVRFX0NBTkNFTExFRBAGEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1NLSVBQRUQQByrnAwoQQWdlbnRSdW5TdGVwS2luZBIjCh9BR0VOVF9SVU5fU1RFUF9LSU5EX1VOU1BFQ0lGSUVEEAASIgoeQUdFTlRfUlVOX1NURVBfS0lORF9NT0RFTF9DQUxMEAESKAokQUdFTlRfUlVOX1NURVBfS0lORF9UT09MX0NBTExfSU5URU5UEAISIwofQUdFTlRfUlVOX1NURVBfS0lORF9UT09MX1JFU1VMVBADEiUKIUFHRU5UX1JVTl9TVEVQX0tJTkRfQVBQUk9WQUxfV0FJVBAEEh0KGUFHRU5UX1JVTl9TVEVQX0tJTkRfRVJST1IQBRIeChpBR0VOVF9SVU5fU1RFUF9LSU5EX1NZU1RFTRAGEioKJkFHRU5UX1JVTl9TVEVQX0tJTkRfQ09OVEVYVF9FTlJJQ0hNRU5UEAcSHAoYQUdFTlRfUlVOX1NURVBfS0lORF9QTEFOEAgSHQoZQUdFTlRfUlVOX1NURVBfS0lORF9QQVRDSBAJEhwKGEFHRU5UX1JVTl9TVEVQX0tJTkRfVEVTVBAKEikKJUFHRU5UX1JVTl9TVEVQX0tJTkRfUFVMTF9SRVFVRVNUX1NZTkMQCxIjCh9BR0VOVF9SVU5fU1RFUF9LSU5EX1JFVklFV19TWU5DEAwqtgEKEEFnZW50UnVuV2FpdFR5cGUSIwofQUdFTlRfUlVOX1dBSVRfVFlQRV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX1JVTl9XQUlUX1RZUEVfQVBQUk9WQUwQARIdChlBR0VOVF9SVU5fV0FJVF9UWVBFX0lOUFVUEAISHQoZQUdFTlRfUlVOX1dBSVRfVFlQRV9FVkVOVBADEh0KGUFHRU5UX1JVTl9XQUlUX1RZUEVfVElNRVIQBCrEAQoRQWdlbnRSdW5XYWl0U3RhdGUSJAogQUdFTlRfUlVOX1dBSVRfU1RBVEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9SVU5fV0FJVF9TVEFURV9QRU5ESU5HEAESIQodQUdFTlRfUlVOX1dBSVRfU1RBVEVfUkVTT0xWRUQQAhIgChxBR0VOVF9SVU5fV0FJVF9TVEFURV9FWFBJUkVEEAMSIgoeQUdFTlRfUlVOX1dBSVRfU1RBVEVfQ0FOQ0VMTEVEEAQqxQQKFEFnZW50UnVuQXJ0aWZhY3RLaW5kEicKI0FHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1VOU1BFQ0lGSUVEEAASJwojQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfVE9PTF9SRVNVTFQQARIhCh1BR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9DSEFSVBACEiIKHkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1JFUE9SVBADEiAKHEFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0ZJTEUQBBImCiJBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9UUkFOU0NSSVBUEAUSKQolQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfQVBQUk9WQUxfUExBThAGEiIKHkFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1NZU1RFTRAHEiEKHUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1BBVENIEAgSKAokQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUFVMTF9SRVFVRVNUEAkSMAosQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUFVMTF9SRVFVRVNUX0NPTU1FTlQQChIlCiFBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9DSV9TVEFUVVMQCxIlCiFBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9SVU5fUEFORUwQDBIuCipBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9FVkFMVUFUSU9OX0VYQU1QTEUQDSqFCwoQUnVudGltZUV2ZW50VHlwZRIiCh5SVU5USU1FX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABInCiNSVU5USU1FX0VWRU5UX1RZUEVfVFJJR0dFUl9BQ0NFUFRFRBABEiwKKFJVTlRJTUVfRVZFTlRfVFlQRV9BR0VOVF9DT05GSUdfUkVTT0xWRUQQAhIpCiVSVU5USU1FX0VWRU5UX1RZUEVfT0JKRUNUSVZFX1JFU09MVkVEEAMSJAogUlVOVElNRV9FVkVOVF9UWVBFX0NPTlRFWFRfQlVJTFQQBBIoCiRSVU5USU1FX0VWRU5UX1RZUEVfV09SS0VSX0RJU1BBVENIRUQQBRIhCh1SVU5USU1FX0VWRU5UX1RZUEVfUlVOX0ZBSUxFRBAGEiEKHVJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fUVVFVUVEEAcSIgoeUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9DTEFJTUVEEAgSJgoiUlVOVElNRV9FVkVOVF9UWVBFX0xFQVNFX0hFQVJUQkVBVBAJEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9TVEVQX1JFQ09SREVEEAoSKgomUlVOVElNRV9FVkVOVF9UWVBFX0NIRUNLUE9JTlRfUkVDT1JERUQQCxIoCiRSVU5USU1FX0VWRU5UX1RZUEVfQVJUSUZBQ1RfUkVDT1JERUQQDBIkCiBSVU5USU1FX0VWRU5UX1RZUEVfQ09TVF9SRUNPUkRFRBANEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fV0FJVElORxAOEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fUkVTVU1FRBAPEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fU1VDQ0VFREVEEBASJAogUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9DQU5DRUxMRUQQERIqCiZSVU5USU1FX0VWRU5UX1RZUEVfUlVOX1JFVFJZX1NDSEVEVUxFRBASEigKJFJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fREVBRF9MRVRURVJFRBATEi0KKVJVTlRJTUVfRVZFTlRfVFlQRV9TVFJFQU1fQ1VSU09SX1JFQ09SREVEEBQSMgouUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX0lOVEVSQUNUSU9OX1JFUVVFU1RFRBAVEjEKLVJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9JTlRFUkFDVElPTl9SRVNPTFZFRBAWEi4KKlJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9QUk9HUkVTU19SRUNPUkRFRBAXEioKJlJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9PVVRQVVRfU1lOQ0VEEBgSLQopUlVOVElNRV9FVkVOVF9UWVBFX0NPREVYX09VVENPTUVfT0JTRVJWRUQQGRIvCitSVU5USU1FX0VWRU5UX1RZUEVfQ0hBTk5FTF9NRVNTQUdFX1JFQ09SREVEEBoSLgoqUlVOVElNRV9FVkVOVF9UWVBFX01PREVMX1JFU1BPTlNFX1JFQ09SREVEEBsSKQolUlVOVElNRV9FVkVOVF9UWVBFX1RPT0xfQ0FMTF9SRUNPUkRFRBAcEisKJ1JVTlRJTUVfRVZFTlRfVFlQRV9UT09MX1JFU1VMVF9SRUNPUkRFRBAdEikKJVJVTlRJTUVfRVZFTlRfVFlQRV9BUFBST1ZBTF9SRVFVRVNURUQQHhIoCiRSVU5USU1FX0VWRU5UX1RZUEVfQVBQUk9WQUxfUkVTT0xWRUQQHxIuCipSVU5USU1FX0VWRU5UX1RZUEVfQUdFTlRfUFJPR1JFU1NfUkVDT1JERUQQICrpAQoXUnVudGltZURlcGVuZGVuY3lTdGF0dXMSKQolUlVOVElNRV9ERVBFTkRFTkNZX1NUQVRVU19VTlNQRUNJRklFRBAAEiYKIlJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfUkVTT0xWRUQQARInCiNSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX05PVF9GT1VORBACEiwKKFJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfTk9UX0NPTkZJR1VSRUQQAxIkCiBSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX0xPQURFRBAEKoQDChdSdW50aW1lV29ya0VudmVsb3BlS2luZBIqCiZSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9VTlNQRUNJRklFRBAAEjIKLlJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX0NPTlZFUlNBVElPTl9USFJFQUQQARIyCi5SVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9ESVJFQ1RfQ09OVkVSU0FUSU9OEAISJQohUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfVElDS0VUEAMSLQopUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfQ0FMRU5EQVJfRVZFTlQQBBIrCidSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9QVUxMX1JFUVVFU1QQBRInCiNSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9JTkNJREVOVBAGEikKJVJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX1JFUE9TSVRPUlkQByqvAwoSUnVudGltZUNoYW5uZWxLaW5kEiQKIFJVTlRJTUVfQ0hBTk5FTF9LSU5EX1VOU1BFQ0lGSUVEEAASHgoaUlVOVElNRV9DSEFOTkVMX0tJTkRfU0xBQ0sQARIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9XRUIQAhIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9BUEkQAxIeChpSVU5USU1FX0NIQU5ORUxfS0lORF9FTUFJTBAEEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0dJVEhVQhAFEh8KG1JVTlRJTUVfQ0hBTk5FTF9LSU5EX0xJTkVBUhAGEh0KGVJVTlRJTUVfQ0hBTk5FTF9LSU5EX0pJUkEQBxIcChhSVU5USU1FX0NIQU5ORUxfS0lORF9JREUQCBIjCh9SVU5USU1FX0NIQU5ORUxfS0lORF9NT05JVE9SSU5HEAkSKgomUlVOVElNRV9DSEFOTkVMX0tJTkRfQlJPV1NFUl9FWFRFTlNJT04QChInCiNSVU5USU1FX0NIQU5ORUxfS0lORF9ERVNLVE9QX0hFTFBFUhALKqcHChJSdW50aW1lVHJpZ2dlcktpbmQSJAogUlVOVElNRV9UUklHR0VSX0tJTkRfVU5TUEVDSUZJRUQQABIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BUFBfTUVOVElPThABEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0RJUkVDVF9NRVNTQUdFEAISLAooUlVOVElNRV9UUklHR0VSX0tJTkRfU0xBQ0tfU0xBU0hfQ09NTUFORBADEiUKIVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FDVElPThAEEjIKLlJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX1RIUkVBRF9DT05USU5VQVRJT04QBRIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19FVkVOVBAGEi0KKVJVTlRJTUVfVFJJR0dFUl9LSU5EX0VOU0VNQkxFX1dFQl9NRVNTQUdFEAcSLworUlVOVElNRV9UUklHR0VSX0tJTkRfRU5TRU1CTEVfV0VCSE9PS19FVkVOVBAIEiEKHVJVTlRJTUVfVFJJR0dFUl9LSU5EX1NDSEVEVUxFEAkSHgoaUlVOVElNRV9UUklHR0VSX0tJTkRfRU1BSUwQChIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9BUEkQCxIcChhSVU5USU1FX1RSSUdHRVJfS0lORF9XRUIQDBItCilSVU5USU1FX1RSSUdHRVJfS0lORF9HSVRIVUJfSVNTVUVfQ09NTUVOVBANEjQKMFJVTlRJTUVfVFJJR0dFUl9LSU5EX0dJVEhVQl9QVUxMX1JFUVVFU1RfQ09NTUVOVBAOEiYKIlJVTlRJTUVfVFJJR0dFUl9LSU5EX0xJTkVBUl9BQ1RJT04QDxIkCiBSVU5USU1FX1RSSUdHRVJfS0lORF9JREVfQ09NTUFORBAQEikKJVJVTlRJTUVfVFJJR0dFUl9LSU5EX01PTklUT1JJTkdfQUxFUlQQERIqCiZSVU5USU1FX1RSSUdHRVJfS0lORF9QUk9BQ1RJVkVfUEFUVEVSThASEjcKM1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfU1RBUlRFRBATEj8KO1JVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX0FTU0lTVEFOVF9USFJFQURfQ09OVEVYVF9DSEFOR0VEEBQqmQIKFlJ1bnRpbWVWaXNpYmlsaXR5TGV2ZWwSKAokUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX1VOU1BFQ0lGSUVEEAASJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FHRU5UX09OTFkQARIpCiVSVU5USU1FX1ZJU0lCSUxJVFlfTEVWRUxfVVNFUl9WSVNJQkxFEAISLAooUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0NIQU5ORUxfVklTSUJMRRADEioKJlJVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9BRE1JTl9WSVNJQkxFEAQSJwojUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX0FVRElUX09OTFkQBSrxAQoPUnVudGltZUF1ZGllbmNlEiAKHFJVTlRJTUVfQVVESUVOQ0VfVU5TUEVDSUZJRUQQABIaChZSVU5USU1FX0FVRElFTkNFX0FHRU5UEAESIgoeUlVOVElNRV9BVURJRU5DRV9UUklHR0VSX0FDVE9SEAISHAoYUlVOVElNRV9BVURJRU5DRV9DSEFOTkVMEAMSJQohUlVOVElNRV9BVURJRU5DRV9XT1JLU1BBQ0VfQURNSU5TEAQSGgoWUlVOVElNRV9BVURJRU5DRV9BVURJVBAFEhsKF1JVTlRJTUVfQVVESUVOQ0VfU1lTVEVNEAYqnwMKEUNoYW5uZWxBY3Rpb25LaW5kEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0FQUFJPVkFMX0RFQ0lTSU9OEAESIwofQ0hBTk5FTF9BQ1RJT05fS0lORF9XQUlUX1JFU1VNRRACEikKJUNIQU5ORUxfQUNUSU9OX0tJTkRfT0JKRUNUSVZFX0NPTlRST0wQAxInCiNDSEFOTkVMX0FDVElPTl9LSU5EX01FTU9SWV9ERUNJU0lPThAEEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfT1BTX0NPTU1BTkQQBRIfChtDSEFOTkVMX0FDVElPTl9LSU5EX0dFTkVSSUMQBhIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX0NPREVYX0lOVEVSQUNUSU9OEAcSJwojQ0hBTk5FTF9BQ1RJT05fS0lORF9CUk9XU0VSX0NPTlRST0wQCBInCiNDSEFOTkVMX0FDVElPTl9LSU5EX0RFU0tUT1BfQ09OVFJPTBAJKqsFChdDaGFubmVsQWN0aW9uVGFyZ2V0S2luZBIqCiZDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9VTlNQRUNJRklFRBAAEiIKHkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1JVThABEiMKH0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1dBSVQQAhInCiNDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9BUFBST1ZBTBADEigKJENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX09CSkVDVElWRRAEEicKI0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0FSVElGQUNUEAUSLworQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfTUVNT1JZX0NBTkRJREFURRAGEi0KKUNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1RPT0xfRVhFQ1VUSU9OEAcSLAooQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQ09ERVhfU0VTU0lPThAIEiQKIENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1BBVENIEAkSKwonQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfUFVMTF9SRVFVRVNUEAoSLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9TRVNTSU9OEAsSKgomQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9UQUIQDBIyCi5DSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9CUk9XU0VSX05BVElWRV9IT1NUEA0SLgoqQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfREVTS1RPUF9TRVNTSU9OEA4qkAMKIUNoYW5uZWxBY3Rpb25BdXRob3JpemF0aW9uT3V0Y29tZRI0CjBDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfQUxMT1dFRBABEi8KK0NIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9ERU5JRUQQAhI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfVU5NQVBQRURfQUNUT1IQAxI3CjNDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfV1JPTkdfQVBQUk9WRVIQBBIwCixDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfRVhQSVJFRBAFEi4KKkNIQU5ORUxfQUNUSU9OX0FVVEhPUklaQVRJT05fT1VUQ09NRV9TVEFMRRAGKocECh1DaGFubmVsQWN0aW9uRXhlY3V0aW9uT3V0Y29tZRIwCixDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9VTlNQRUNJRklFRBAAEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1BFTkRJTkcQARIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVUNDRUVERUQQAhIrCidDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9GQUlMRUQQAxIuCipDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9EVVBMSUNBVEUQBBI1CjFDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9UQVJHRVRfTk9UX0ZPVU5EEAUSNQoxQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfQUxSRUFEWV9SRVNPTFZFRBAGEjEKLUNIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX1VOQVVUSE9SSVpFRBAHEiwKKENIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX0VYUElSRUQQCBIqCiZDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9TVEFMRRAJKogCChxDaGFubmVsQWN0aW9uRGVsaXZlcnlPdXRjb21lEi8KK0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfVU5TUEVDSUZJRUQQABIxCi1DSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX05PVF9BVFRFTVBURUQQARIrCidDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX1VQREFURUQQAhIqCiZDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX0ZBSUxFRBADEisKJ0NIQU5ORUxfQUNUSU9OX0RFTElWRVJZX09VVENPTUVfU0tJUFBFRBAEKsUBChJSdW50aW1lU2Vuc2l0aXZpdHkSIwofUlVOVElNRV9TRU5TSVRJVklUWV9VTlNQRUNJRklFRBAAEh4KGlJVTlRJTUVfU0VOU0lUSVZJVFlfUFVCTElDEAESIAocUlVOVElNRV9TRU5TSVRJVklUWV9JTlRFUk5BTBACEiQKIFJVTlRJTUVfU0VOU0lUSVZJVFlfQ09ORklERU5USUFMEAMSIgoeUlVOVElNRV9TRU5TSVRJVklUWV9SRVNUUklDVEVEEAQqggIKFFJ1bnRpbWVSZWRhY3Rpb25LaW5kEiYKIlJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIeChpSVU5USU1FX1JFREFDVElPTl9LSU5EX1BJSRABEiUKIVJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfQ1JFREVOVElBTBACEiQKIFJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfVE9PTF9BUkdTEAMSKAokUlVOVElNRV9SRURBQ1RJT05fS0lORF9QT0xJQ1lfREVUQUlMEAQSKwonUlVOVElNRV9SRURBQ1RJT05fS0lORF9JTlRFUk5BTF9DT05URVhUEAUymBsKE0FnZW50UnVudGltZVNlcnZpY2USXgoNSGFuZGxlVHJpZ2dlchIlLmFnZW50cnVudGltZS52MS5IYW5kbGVUcmlnZ2VyUmVxdWVzdBomLmFnZW50cnVudGltZS52MS5IYW5kbGVUcmlnZ2VyUmVzcG9uc2USWwoMQ2xhaW1OZXh0UnVuEiQuYWdlbnRydW50aW1lLnYxLkNsYWltTmV4dFJ1blJlcXVlc3QaJS5hZ2VudHJ1bnRpbWUudjEuQ2xhaW1OZXh0UnVuUmVzcG9uc2USWwoMSGVhcnRiZWF0UnVuEiQuYWdlbnRydW50aW1lLnYxLkhlYXJ0YmVhdFJ1blJlcXVlc3QaJS5hZ2VudHJ1bnRpbWUudjEuSGVhcnRiZWF0UnVuUmVzcG9uc2USXgoNUmVjb3JkUnVuU3RlcBIlLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5TdGVwUmVxdWVzdBomLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5TdGVwUmVzcG9uc2UScAoTUmVjb3JkUnVuQ2hlY2twb2ludBIrLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5DaGVja3BvaW50UmVxdWVzdBosLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5DaGVja3BvaW50UmVzcG9uc2USagoRUmVjb3JkUnVuQXJ0aWZhY3QSKS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQXJ0aWZhY3RSZXF1ZXN0GiouYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkFydGlmYWN0UmVzcG9uc2USXgoNUmVjb3JkUnVuQ29zdBIlLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5Db3N0UmVxdWVzdBomLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5Db3N0UmVzcG9uc2USdgoVUmVjb3JkUnVuU3RyZWFtQ3Vyc29yEi0uYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blN0cmVhbUN1cnNvclJlcXVlc3QaLi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RyZWFtQ3Vyc29yUmVzcG9uc2USYQoOUmVjb3JkUnVuRXZlbnQSJi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuRXZlbnRSZXF1ZXN0GicuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkV2ZW50UmVzcG9uc2USTAoHV2FpdFJ1bhIfLmFnZW50cnVudGltZS52MS5XYWl0UnVuUmVxdWVzdBogLmFnZW50cnVudGltZS52MS5XYWl0UnVuUmVzcG9uc2USUgoJUmVzdW1lUnVuEiEuYWdlbnRydW50aW1lLnYxLlJlc3VtZVJ1blJlcXVlc3QaIi5hZ2VudHJ1bnRpbWUudjEuUmVzdW1lUnVuUmVzcG9uc2USWAoLQ29tcGxldGVSdW4SIy5hZ2VudHJ1bnRpbWUudjEuQ29tcGxldGVSdW5SZXF1ZXN0GiQuYWdlbnRydW50aW1lLnYxLkNvbXBsZXRlUnVuUmVzcG9uc2USTAoHRmFpbFJ1bhIfLmFnZW50cnVudGltZS52MS5GYWlsUnVuUmVxdWVzdBogLmFnZW50cnVudGltZS52MS5GYWlsUnVuUmVzcG9uc2USUgoJQ2FuY2VsUnVuEiEuYWdlbnRydW50aW1lLnYxLkNhbmNlbFJ1blJlcXVlc3QaIi5hZ2VudHJ1bnRpbWUudjEuQ2FuY2VsUnVuUmVzcG9uc2USTwoIUmV0cnlSdW4SIC5hZ2VudHJ1bnRpbWUudjEuUmV0cnlSdW5SZXF1ZXN0GiEuYWdlbnRydW50aW1lLnYxLlJldHJ5UnVuUmVzcG9uc2USXgoNRGVhZExldHRlclJ1bhIlLmFnZW50cnVudGltZS52MS5EZWFkTGV0dGVyUnVuUmVxdWVzdBomLmFnZW50cnVudGltZS52MS5EZWFkTGV0dGVyUnVuUmVzcG9uc2USSQoGR2V0UnVuEh4uYWdlbnRydW50aW1lLnYxLkdldFJ1blJlcXVlc3QaHy5hZ2VudHJ1bnRpbWUudjEuR2V0UnVuUmVzcG9uc2USdgoVR2V0VGVhbW1hdGVXb3JrTGVkZ2VyEi0uYWdlbnRydW50aW1lLnYxLkdldFRlYW1tYXRlV29ya0xlZGdlclJlcXVlc3QaLi5hZ2VudHJ1bnRpbWUudjEuR2V0VGVhbW1hdGVXb3JrTGVkZ2VyUmVzcG9uc2USeQoWTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZRIuLmFnZW50cnVudGltZS52MS5MaXN0UnVuc0J5V29ya0VudmVsb3BlUmVxdWVzdBovLmFnZW50cnVudGltZS52MS5MaXN0UnVuc0J5V29ya0VudmVsb3BlUmVzcG9uc2USWwoMTGlzdFJ1bldhaXRzEiQuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5XYWl0c1JlcXVlc3QaJS5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldhaXRzUmVzcG9uc2UShQEKGlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0EjIuYWdlbnRydW50aW1lLnYxLlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBozLmFnZW50cnVudGltZS52MS5SZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEnwKF0dldENoYW5uZWxBY3Rpb25SZWNlaXB0Ei8uYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBowLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEoIBChlMaXN0Q2hhbm5lbEFjdGlvblJlY2VpcHRzEjEuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXF1ZXN0GjIuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXNwb25zZRJeCg1MaXN0UnVuRXZlbnRzEiUuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXNwb25zZRJwChNMaXN0UnVuVmlydHVhbEZpbGVzEisuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0GiwuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRJtChJSZWFkUnVuVmlydHVhbEZpbGUSKi5hZ2VudHJ1bnRpbWUudjEuUmVhZFJ1blZpcnR1YWxGaWxlUmVxdWVzdBorLmFnZW50cnVudGltZS52MS5SZWFkUnVuVmlydHVhbEZpbGVSZXNwb25zZRJ2ChVTZWFyY2hSdW5WaXJ0dWFsRmlsZXMSLS5hZ2VudHJ1bnRpbWUudjEuU2VhcmNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBouLmFnZW50cnVudGltZS52MS5TZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRKLAQocUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbBI0LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVxdWVzdBo1LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVzcG9uc2USlAEKH1JlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOC5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEpcBCiBQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI4LmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOS5hZ2VudHJ1bnRpbWUudjEuUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKFAQoaSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnQSMi5hZ2VudHJ1bnRpbWUudjEuSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLkh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVzcG9uc2USeQoWSW5zcGVjdFJ1blZpcnR1YWxGaWxlcxIuLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVxdWVzdBovLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2VCQ1pBZ2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9hZ2VudHJ1bnRpbWUvdjE7YWdlbnRydW50aW1ldjFiBnByb3RvMw", [file_agents_v1_agents, file_buf_validate_validate, file_codex_v1_codex, file_common_v1_surface, file_google_protobuf_struct, file_google_protobuf_timestamp, file_objectives_v1_objectives]);
14
+ export const file_agentruntime_v1_runtime = /*@__PURE__*/ fileDesc("Ch1hZ2VudHJ1bnRpbWUvdjEvcnVudGltZS5wcm90bxIPYWdlbnRydW50aW1lLnYxIqMDChVSdW50aW1lQ2hhbm5lbENvbnRleHQSQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEAoIYWN0b3JfaWQYBiABKAkSEQoJcGVybWFsaW5rGAcgASgJEkoKCmF0dHJpYnV0ZXMYCCADKAsyNi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0LkF0dHJpYnV0ZXNFbnRyeRIYChBhY3Rvcl9jaGFubmVsX2lkGAkgASgJEhcKD2FjdG9yX2VudGl0eV9pZBgKIAEoCRIUCgxwcmluY2lwYWxfaWQYCyABKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijQIKE1J1bnRpbWVXb3JrRW52ZWxvcGUSEwoCaWQYASABKAlCB7pIBHICEAESQAoEa2luZBgCIAEoDjIoLmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlS2luZEIIukgFggECEAESDwoHcm9vdF9pZBgDIAEoCRIRCglwYXJlbnRfaWQYBCABKAkSSAoKYXR0cmlidXRlcxgFIAMoCzI0LmFnZW50cnVudGltZS52MS5SdW50aW1lV29ya0VudmVsb3BlLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKKAQoQUnVudGltZVJlZGFjdGlvbhI9CgRraW5kGAEgASgOMiUuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVSZWRhY3Rpb25LaW5kQgi6SAWCAQIQARISCgpmaWVsZF9wYXRoGAIgASgJEhMKC3JlcGxhY2VtZW50GAMgASgJEg4KBnJlYXNvbhgEIAEoCSK1AwoZUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YRJACgVsZXZlbBgBIAEoDjInLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlzaWJpbGl0eUxldmVsQgi6SAWCAQIQARJCCglhdWRpZW5jZXMYAiADKA4yIC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUF1ZGllbmNlQg26SAqSAQciBYIBAhABEkIKC3NlbnNpdGl2aXR5GAMgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVTZW5zaXRpdml0eUIIukgFggECEAESFAoMc2FmZV9zdW1tYXJ5GAQgASgJEjUKCnJlZGFjdGlvbnMYBSADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbhJOCgphdHRyaWJ1dGVzGAYgAygLMjouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGEuQXR0cmlidXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqADChJDaGFubmVsQWN0aW9uQWN0b3ISQwoMY2hhbm5lbF9raW5kGAEgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAIgASgJEhIKCmNoYW5uZWxfaWQYAyABKAkSEQoJdGhyZWFkX2lkGAQgASgJEhIKCm1lc3NhZ2VfaWQYBSABKAkSEQoJYWN0aW9uX2lkGAYgASgJEhMKC2NhbGxiYWNrX2lkGAcgASgJEhgKEGFjdG9yX2NoYW5uZWxfaWQYCCABKAkSFwoPYWN0b3JfZW50aXR5X2lkGAkgASgJEhQKDHByaW5jaXBhbF9pZBgKIAEoCRJHCgphdHRyaWJ1dGVzGAsgAygLMjMuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BY3Rvci5BdHRyaWJ1dGVzRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi0QcKFENoYW5uZWxBY3Rpb25SZWNlaXB0EgoKAmlkGAEgASgJEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIgCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlCB7pIBHICEAESFAoMcmVxdWVzdF9oYXNoGAQgASgJEjIKDHN1cmZhY2VfdHlwZRgFIAEoDjISLmNvbW1vbi52MS5TdXJmYWNlQgi6SAWCAQIQARJBCgthY3Rpb25fa2luZBgGIAEoDjIiLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uS2luZEIIukgFggECEAESRwoLdGFyZ2V0X2tpbmQYByABKA4yKC5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblRhcmdldEtpbmRCCLpIBYIBAhABEhEKCXRhcmdldF9pZBgIIAEoCRIOCgZydW5faWQYCSABKAkSDwoHd2FpdF9pZBgKIAEoCRIbChNhcHByb3ZhbF9yZXF1ZXN0X2lkGAsgASgJEhQKDG9iamVjdGl2ZV9pZBgMIAEoCRIyCgVhY3RvchgNIAEoCzIjLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uQWN0b3ISKAoHcGF5bG9hZBgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSWwoVYXV0aG9yaXphdGlvbl9vdXRjb21lGA8gASgOMjIuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25BdXRob3JpemF0aW9uT3V0Y29tZUIIukgFggECEAESUwoRZXhlY3V0aW9uX291dGNvbWUYECABKA4yLi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkV4ZWN1dGlvbk91dGNvbWVCCLpIBYIBAhABElEKEGRlbGl2ZXJ5X291dGNvbWUYESABKA4yLS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvbkRlbGl2ZXJ5T3V0Y29tZUIIukgFggECEAESDgoGcmVhc29uGBIgASgJEhQKDGVycm9yX3JlYXNvbhgTIAEoCRIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJGChpjb2RleF9pbnRlcmFjdGlvbl9kZWNpc2lvbhgWIAEoCzIiLmNvZGV4LnYxLkNvZGV4SW50ZXJhY3Rpb25EZWNpc2lvbiL8BAoRTm9ybWFsaXplZFRyaWdnZXISHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhkKCGFnZW50X2lkGAIgASgJQge6SARyAhABEhMKB3N1cmZhY2UYAyABKAlCAhgBEhIKCmNoYW5uZWxfaWQYBCABKAkSIAoPaWRlbXBvdGVuY3lfa2V5GAUgASgJQge6SARyAhABEhcKD3NvdXJjZV9ldmVudF9pZBgGIAEoCRIdChFzb3VyY2VfZXZlbnRfdHlwZRgHIAEoCUICGAESEAoIYWN0b3JfaWQYCCABKAkSFgoOY29ycmVsYXRpb25faWQYCSABKAkSKAoHcGF5bG9hZBgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLwoLcmVjZWl2ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDHN1cmZhY2VfdHlwZRgMIAEoDjISLmNvbW1vbi52MS5TdXJmYWNlQgi6SAWCAQIQARI/Cg9jaGFubmVsX2NvbnRleHQYDSABKAsyJi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxDb250ZXh0EkMKDHRyaWdnZXJfa2luZBgOIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVHJpZ2dlcktpbmRCCLpIBYIBAhABEjsKDXdvcmtfZW52ZWxvcGUYDyABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVdvcmtFbnZlbG9wZRIuCgpjb2RleF93b3JrGBAgASgLMhouY29kZXgudjEuQ29kZXhXb3JrUmVxdWVzdCL+AQoOUnVudGltZUNvbnRleHQSOAoMZGVwZW5kZW5jaWVzGAEgAygLMiIuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVEZXBlbmRlbmN5EkMKCmF0dHJpYnV0ZXMYAiADKAsyLy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNvbnRleHQuQXR0cmlidXRlc0VudHJ5EjoKDXZpcnR1YWxfZmlsZXMYAyADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIo8EChJSdW50aW1lVmlydHVhbEZpbGUSFQoEcGF0aBgBIAEoCUIHukgEcgIQARISCgptZWRpYV90eXBlGAIgASgJEg8KB2NvbnRlbnQYAyABKAkSFgoOc291cmNlX3NlcnZpY2UYBCABKAkSGwoTc291cmNlX3JlZmVyZW5jZV9pZBgFIAEoCRJDCghtZXRhZGF0YRgGIAMoCzIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUuTWV0YWRhdGFFbnRyeRJBCgpwcm92ZW5hbmNlGAcgASgLMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVByb3ZlbmFuY2USQgoLc2Vuc2l0aXZpdHkYCCABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVNlbnNpdGl2aXR5Qgi6SAWCAQIQARJUCg9yZWRhY3Rpb25fc3RhdGUYCSABKA4yMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVkYWN0aW9uU3RhdGVCCLpIBYIBAhABEjUKCnJlZGFjdGlvbnMYCiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbhovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEikAMKHFJ1bnRpbWVWaXJ0dWFsRmlsZVByb3ZlbmFuY2USGAoQcHJvZHVjZXJfc2VydmljZRgBIAEoCRIVCg1wcm9kdWNlcl9raW5kGAIgASgJEhsKE3NvdXJjZV9yZWZlcmVuY2VfaWQYAyABKAkSGAoQcnVudGltZV9ldmVudF9pZBgEIAEoCRITCgthcnRpZmFjdF9pZBgFIAEoCRIPCgdzdGVwX2lkGAYgASgJEhkKEXRvb2xfZXhlY3V0aW9uX2lkGAcgASgJEhQKDGh5ZHJhdGlvbl9pZBgIIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgJIAEoCRIUCgxwcm9tb3Rpb25faWQYCiABKAkSFwoPZXZpZGVuY2VfaGFuZGxlGAsgASgJEhAKCHRyYWNlX2lkGAwgASgJEg8KB3NwYW5faWQYDSABKAkSGwoTcGFyZW50X3JldmlzaW9uX2lkcxgOIAMoCRITCgtwcm92aWRlcl9pZBgPIAEoCRIVCg1jb25uZWN0aW9uX2lkGBAgASgJIvwIChdSdW50aW1lVmlydHVhbEZpbGVFbnRyeRIMCgRwYXRoGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoOc291cmNlX3NlcnZpY2UYAyABKAkSGwoTc291cmNlX3JlZmVyZW5jZV9pZBgEIAEoCRJICghtZXRhZGF0YRgFIAMoCzI2LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVFbnRyeS5NZXRhZGF0YUVudHJ5EhsKCnNpemVfYnl0ZXMYBiABKANCB7pIBCICKAASFgoOY29udGVudF9zaGEyNTYYByABKAkSGQoRY29udGVudF90cnVuY2F0ZWQYCCABKAgSDQoFbW91bnQYCSABKAkSDAoEa2luZBgKIAEoCRITCgtwZXJtaXNzaW9ucxgLIAEoCRIMCgR2aWV3GAwgASgJEhMKC3JldmlzaW9uX2lkGA0gASgJEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgOIAEoCRITCgtwcm92aWRlcl9pZBgPIAEoCRIVCg1jb25uZWN0aW9uX2lkGBAgASgJEhQKDGNhY2hlX3BvbGljeRgRIAEoCRIOCgZwb2xpY3kYEiABKAkSDAoEbGF6eRgTIAEoCBIhChBzZWNyZXRfcmVmX2NvdW50GBQgASgFQge6SAQaAigAEhUKDWNlcmVicm9faW5kZXgYFSABKAkSFwoPY29udGVudF9hZGRyZXNzGBYgASgJEkEKCnByb3ZlbmFuY2UYFyABKAsyLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUHJvdmVuYW5jZRJCCgtzZW5zaXRpdml0eRgYIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lU2Vuc2l0aXZpdHlCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgZIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgaIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uEkkKCW9wZXJhdGlvbhgbIAEoDjIsLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVPcGVyYXRpb25CCLpIBYIBAhABEhEKCXRvbWJzdG9uZRgcIAEoCBITCgtyZW5hbWVfZnJvbRgdIAEoCRIRCglyZW5hbWVfdG8YHiABKAkSFAoMY2FwYWJpbGl0aWVzGB8gAygJEhAKCHdyaXRhYmxlGCAgASgIEhEKCXJlYWRfb25seRghIAEoCBIRCglnZW5lcmF0ZWQYIiABKAgSFwoPZXZpZGVuY2VfYmFja2VkGCMgASgIEhoKEmV4dGVybmFsbHlfaW5kZXhlZBgkIAEoCBovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwIKF1J1bnRpbWVWaXJ0dWFsRmlsZU1hdGNoEgwKBHBhdGgYASABKAkSHAoLbGluZV9udW1iZXIYAiABKAVCB7pIBBoCKAASDwoHc25pcHBldBgDIAEoCRINCgVtb3VudBgEIAEoCRIWCg5zb3VyY2Vfc2VydmljZRgFIAEoCRIWCg5iZWZvcmVfY29udGV4dBgGIAMoCRIVCg1hZnRlcl9jb250ZXh0GAcgAygJEhYKBXNjb3JlGAggASgFQge6SAQaAigAEhUKDW1hdGNoX3JlYXNvbnMYCSADKAkSDAoEdmlldxgKIAEoCRIMCgRraW5kGAsgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAwgASgJIsMBChFSdW50aW1lRGVwZW5kZW5jeRIYCgdzZXJ2aWNlGAEgASgJQge6SARyAhABEg8KB3B1cnBvc2UYAiABKAkSEAoIcmVxdWlyZWQYAyABKAgSEgoGc3RhdHVzGAQgASgJQgIYARIUCgxyZWZlcmVuY2VfaWQYBSABKAkSRwoLc3RhdHVzX3R5cGUYBiABKA4yKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZURlcGVuZGVuY3lTdGF0dXNCCLpIBYIBAhABIl8KD0FnZW50UnVuTGlua2FnZRIOCgZydW5faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhAKCGFnZW50X2lkGAMgASgJEhQKDG9iamVjdGl2ZV9pZBgEIAEoCSJ5ChNSdW50aW1lVHJhY2VDb250ZXh0EhAKCHRyYWNlX2lkGAEgASgJEg8KB3NwYW5faWQYAiABKAkSFgoOcGFyZW50X3NwYW5faWQYAyABKAkSEwoLdHJhY2VwYXJlbnQYBCABKAkSEgoKdHJhY2VzdGF0ZRgFIAEoCSKJCwoIQWdlbnRSdW4SCgoCaWQYASABKAkSMwoHdHJpZ2dlchgCIAEoCzIiLmFnZW50cnVudGltZS52MS5Ob3JtYWxpemVkVHJpZ2dlchItCgVzdGF0ZRgDIAEoDjIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0YXRlEh8KBWFnZW50GAQgASgLMhAuYWdlbnRzLnYxLkFnZW50EiwKDGFnZW50X2NvbmZpZxgFIAEoCzIWLmFnZW50cy52MS5BZ2VudENvbmZpZxIrCglvYmplY3RpdmUYBiABKAsyGC5vYmplY3RpdmVzLnYxLk9iamVjdGl2ZRIwCgdjb250ZXh0GAcgASgLMh8uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDb250ZXh0EhQKDHdvcmtlcl9xdWV1ZRgIIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAkgASgJEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKB2xpbmthZ2UYDCABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB2F0dGVtcHQYDyABKAUSFAoMbWF4X2F0dGVtcHRzGBAgASgFEi0KBWxlYXNlGBEgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USPgoRbGF0ZXN0X2NoZWNrcG9pbnQYEiABKAsyIy5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5DaGVja3BvaW50EiwKBXN0ZXBzGBMgAygLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RlcBIsCgV3YWl0cxgUIAMoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXQSNAoJYXJ0aWZhY3RzGBUgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSLAoFY29zdHMYFiADKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5Db3N0Ej0KDnN0cmVhbV9jdXJzb3JzGBcgAygLMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RyZWFtQ3Vyc29yEi0KCXF1ZXVlZF9hdBgYIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgZIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKd2FpdGluZ19hdBgaIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GBsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjYW5jZWxsZWRfYXQYHCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDW5leHRfcmV0cnlfYXQYHSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKEGRlYWRfbGV0dGVyZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKE2NhbmNlbGxhdGlvbl9yZWFzb24YHyABKAkSGgoSZGVhZF9sZXR0ZXJfcmVhc29uGCAgASgJEjgKC2NoZWNrcG9pbnRzGCEgAygLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBI7Cg10cmFjZV9jb250ZXh0GCIgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVUcmFjZUNvbnRleHQiqQIKDUFnZW50UnVuTGVhc2USCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USEQoJd29ya2VyX2lkGAYgASgJEg0KBXRva2VuGAcgASgJEhQKDHdvcmtlcl9xdWV1ZRgIIAEoCRIPCgdhdHRlbXB0GAkgASgFEi4KCmNsYWltZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGhlYXJ0YmVhdF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAivwQKDEFnZW50UnVuU3RlcBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIMCgRuYW1lGAYgASgJEhAKBGtpbmQYByABKAlCAhgBEjEKBXN0YXRlGAggASgOMiIuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RlcFN0YXRlEg8KB2F0dGVtcHQYCSABKAUSJgoFaW5wdXQYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBm91dHB1dBgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFQoNZXJyb3JfbWVzc2FnZRgMIAEoCRIVCg1jaGVja3BvaW50X2lkGA0gASgJEi4KCnN0YXJ0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI+CglzdGVwX2tpbmQYECABKA4yIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwS2luZEIIukgFggECEAESMgoOY29kZXhfcHJvZ3Jlc3MYESABKAsyGi5jb2RleC52MS5Db2RleFJ1blByb2dyZXNzEjsKDXRyYWNlX2NvbnRleHQYEiABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVRyYWNlQ29udGV4dCLmAQoSQWdlbnRSdW5DaGVja3BvaW50EgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB3N0ZXBfaWQYBiABKAkSEAoIc2VxdWVuY2UYByABKAMSFAoMcmVzdW1lX3Rva2VuGAggASgJEigKB3BheWxvYWQYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIr4ECgxBZ2VudFJ1bldhaXQSCgoCaWQYASABKAkSMQoHbGlua2FnZRgCIAEoCzIgLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxpbmthZ2USDwoHc3RlcF9pZBgGIAEoCRIvCgR0eXBlGAcgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGUSFAoMZXh0ZXJuYWxfcmVmGAggASgJEg4KBnJlYXNvbhgJIAEoCRIoCgdwYXlsb2FkGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxyZXN1bWVfYWZ0ZXIYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3Jlc29sdmVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRyZXNvbHZlZF9ieV9ldmVudF9pZBgPIAEoCRI+Cgp2aXNpYmlsaXR5GBAgASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGESPAoRY29kZXhfaW50ZXJhY3Rpb24YESABKAsyIS5jb2RleC52MS5Db2RleEludGVyYWN0aW9uUmVxdWVzdCKGAwoQQWdlbnRSdW5BcnRpZmFjdBIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIPCgdzdGVwX2lkGAYgASgJEhkKDWFydGlmYWN0X3R5cGUYByABKAlCAhgBEgsKA3VyaRgIIAEoCRIUCgxjb250ZW50X3R5cGUYCSABKAkSDgoGZGlnZXN0GAogASgJEikKCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJGCg1hcnRpZmFjdF9raW5kGBAgASgOMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3RLaW5kQgi6SAWCAQIQARIxCgxjb2RleF9vdXRwdXQYESABKAsyGy5jb2RleC52MS5Db2RleE91dHB1dFRhcmdldCK3AgoMQWdlbnRSdW5Db3N0EgoKAmlkGAEgASgJEjEKB2xpbmthZ2UYAiABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEg8KB3N0ZXBfaWQYBiABKAkSEQoJbWV0ZXJfcmVmGAcgASgJEhAKCHByb3ZpZGVyGAggASgJEg0KBW1vZGVsGAkgASgJEhQKDGlucHV0X3Rva2VucxgKIAEoAxIVCg1vdXRwdXRfdG9rZW5zGAsgASgDEhQKDHRvdGFsX3Rva2VucxgMIAEoAxIQCghjdXJyZW5jeRgNIAEoCRIdChVlc3RpbWF0ZWRfY29zdF9taWNyb3MYDiABKAMSLwoLcmVjb3JkZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq4BChRBZ2VudFJ1blN0cmVhbUN1cnNvchIKCgJpZBgBIAEoCRIxCgdsaW5rYWdlGAIgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRIQCghjb25zdW1lchgEIAEoCRIVCg1uZXh0X3NlcXVlbmNlGAUgASgDEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpIFCgxSdW50aW1lRXZlbnQSCgoCaWQYASABKAkSDgoGcnVuX2lkGAIgASgJEhAKCHNlcXVlbmNlGAMgASgDEi8KBHR5cGUYBCABKA4yIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50VHlwZRIPCgdtZXNzYWdlGAUgASgJEisKCmF0dHJpYnV0ZXMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KC29jY3VycmVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdzdGVwX2lkGAsgASgJEhUKDWNoZWNrcG9pbnRfaWQYDCABKAkSEwoLYXJ0aWZhY3RfaWQYDSABKAkSDwoHY29zdF9pZBgOIAEoCRIPCgd3YWl0X2lkGA8gASgJEjEKB2xpbmthZ2UYECABKAsyIC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5MaW5rYWdlEj4KCnZpc2liaWxpdHkYESABKAsyKi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpc2liaWxpdHlNZXRhZGF0YRIyCg5jb2RleF9wcm9ncmVzcxgSIAEoCzIaLmNvZGV4LnYxLkNvZGV4UnVuUHJvZ3Jlc3MSPAoRY29kZXhfaW50ZXJhY3Rpb24YEyABKAsyIS5jb2RleC52MS5Db2RleEludGVyYWN0aW9uUmVxdWVzdBIzCg1jb2RleF9vdXRjb21lGBQgASgLMhwuY29kZXgudjEuQ29kZXhPdXRjb21lU2lnbmFsEjsKDXRyYWNlX2NvbnRleHQYFSABKAsyJC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVRyYWNlQ29udGV4dCJTChRIYW5kbGVUcmlnZ2VyUmVxdWVzdBI7Cgd0cmlnZ2VyGAEgASgLMiIuYWdlbnRydW50aW1lLnYxLk5vcm1hbGl6ZWRUcmlnZ2VyQga6SAPIAQEiiQEKFUhhbmRsZVRyaWdnZXJSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLQoGZXZlbnRzGAIgAygLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudBIZChFpZGVtcG90ZW50X3JlcGxheRgDIAEoCCJnChNDbGFpbU5leHRSdW5SZXF1ZXN0EhoKCXdvcmtlcl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3JrZXJfcXVldWUYAiABKAkSHgoNbGVhc2Vfc2Vjb25kcxgDIAEoBUIHukgEGgIoACKcAQoUQ2xhaW1OZXh0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBWxlYXNlGAIgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USLQoGZXZlbnRzGAMgAygLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJtChNIZWFydGJlYXRSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg5leHRlbmRfc2Vjb25kcxgDIAEoBUIHukgEGgIoACKbAQoUSGVhcnRiZWF0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEi0KBWxlYXNlGAIgASgLMh4uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGVhc2USLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50Im4KFFJlbmV3UnVuTGVhc2VSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg5leHRlbmRfc2Vjb25kcxgDIAEoBUIHukgEGgIoACK6AQoVUmVuZXdSdW5MZWFzZVJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhItCgVsZWFzZRgCIAEoCzIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkxlYXNlEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudBIcChRyZW5ld2VkX2FmdGVyX2V4cGlyeRgEIAEoCCKCAQoUUmVjb3JkUnVuU3RlcFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBHN0ZXAYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5TdGVwQga6SAPIAQEimgEKFVJlY29yZFJ1blN0ZXBSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEc3RlcBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0ZXASLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IpQBChpSZWNvcmRSdW5DaGVja3BvaW50UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESPwoKY2hlY2twb2ludBgDIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnRCBrpIA8gBASKsAQobUmVjb3JkUnVuQ2hlY2twb2ludFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI3CgpjaGVja3BvaW50GAIgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQijgEKGFJlY29yZFJ1bkFydGlmYWN0UmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESOwoIYXJ0aWZhY3QYAyABKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdEIGukgDyAEBIqYBChlSZWNvcmRSdW5BcnRpZmFjdFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIzCghhcnRpZmFjdBgCIAEoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKCAQoUUmVjb3JkUnVuQ29zdFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEjMKBGNvc3QYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5Db3N0Qga6SAPIAQEimgEKFVJlY29yZFJ1bkNvc3RSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SKwoEY29zdBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNvc3QSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50InYKHFJlY29yZFJ1blN0cmVhbUN1cnNvclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEj0KBmN1cnNvchgCIAEoCzIlLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0cmVhbUN1cnNvckIGukgDyAEBIqwBCh1SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNQoGY3Vyc29yGAIgASgLMiUuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuU3RyZWFtQ3Vyc29yEiwKBWV2ZW50GAMgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLRAgoVUmVjb3JkUnVuRXZlbnRSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI5CgR0eXBlGAIgASgOMiEuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudFR5cGVCCLpIBYIBAhABEhgKB21lc3NhZ2UYAyABKAlCB7pIBHICEAESKwoKYXR0cmlidXRlcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHc3RlcF9pZBgFIAEoCRIVCg1jaGVja3BvaW50X2lkGAYgASgJEhMKC2FydGlmYWN0X2lkGAcgASgJEg8KB2Nvc3RfaWQYCCABKAkSDwoHd2FpdF9pZBgJIAEoCRI+Cgp2aXNpYmlsaXR5GAogASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGEibgoWUmVjb3JkUnVuRXZlbnRSZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IrUBCg5XYWl0UnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESMwoEd2FpdBgDIAEoCzIdLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRCBrpIA8gBARI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCLNAQoPV2FpdFJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIrCgR3YWl0GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdBI3CgpjaGVja3BvaW50GAMgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludBIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQi0AEKEFJlc3VtZVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhgKB3dhaXRfaWQYAiABKAlCB7pIBHICEAESFwoPcmVzdW1lX2V2ZW50X2lkGAMgASgJEigKB3BheWxvYWQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkYKGmNvZGV4X2ludGVyYWN0aW9uX2RlY2lzaW9uGAUgASgLMiIuY29kZXgudjEuQ29kZXhJbnRlcmFjdGlvbkRlY2lzaW9uImkKEVJlc3VtZVJ1blJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIsCgVldmVudBgCIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQirQEKEkNvbXBsZXRlUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESJwoGcmVzdWx0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI3CgpjaGVja3BvaW50GAQgASgLMiMuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQ2hlY2twb2ludCKkAQoTQ29tcGxldGVSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNwoKY2hlY2twb2ludBgCIAEoCzIjLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkNoZWNrcG9pbnQSLAoFZXZlbnQYAyABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IqABCg5GYWlsUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHgoNZXJyb3JfbWVzc2FnZRgDIAEoCUIHukgEcgIQARIRCglyZXRyeWFibGUYBCABKAgSJAoTcmV0cnlfZGVsYXlfc2Vjb25kcxgFIAEoBUIHukgEGgIoACJnCg9GYWlsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI7ChBDYW5jZWxSdW5SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIOCgZyZWFzb24YAiABKAkiaQoRQ2FuY2VsUnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCJgCg9SZXRyeVJ1blJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEiQKE3JldHJ5X2RlbGF5X3NlY29uZHMYAiABKAVCB7pIBBoCKAASDgoGcmVhc29uGAMgASgJImgKEFJldHJ5UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEiwKBWV2ZW50GAIgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCI/ChREZWFkTGV0dGVyUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIm0KFURlYWRMZXR0ZXJSdW5SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SLAoFZXZlbnQYAiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IiQKDUdldFJ1blJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEiOAoOR2V0UnVuUmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuIjcKHEdldFRlYW1tYXRlV29ya0xlZGdlclJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABIo4BCh1HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXNwb25zZRIzCgZsZWRnZXIYASABKAsyIy5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyEjgKC2xlZGdlcl9maWxlGAIgASgLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZSLoBwoSVGVhbW1hdGVXb3JrTGVkZ2VyEhYKDnNjaGVtYV92ZXJzaW9uGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIxCgdsaW5rYWdlGAMgASgLMiAuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuTGlua2FnZRItCgVzdGF0ZRgEIAEoDjIeLmFnZW50cnVudGltZS52MS5BZ2VudFJ1blN0YXRlEhcKD29iamVjdGl2ZV90aXRsZRgFIAEoCRIUCgx3b3JrZXJfcXVldWUYBiABKAkSGAoHYXR0ZW1wdBgHIAEoBUIHukgEGgIoABIYChB3b3JrX2VudmVsb3BlX2lkGAggASgJEhoKEndvcmtfZW52ZWxvcGVfa2luZBgJIAEoCRIVCg13b3Jrc3RyZWFtX2lkGAogASgJEhMKC25leHRfYWN0aW9uGAsgASgJEjwKCGJsb2NrZXJzGAwgAygLMiouYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlckJsb2NrZXISTAoQY29ubmVjdG9yX2FjY2VzcxgNIAMoCzIyLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDb25uZWN0b3JBY2Nlc3MSSwoQbWVtb3J5X2NpdGF0aW9ucxgOIAMoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJNZW1vcnlDaXRhdGlvbhJCCgt2ZnNfc3VtbWFyeRgPIAEoCzItLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJWZnNTdW1tYXJ5EkoKD2NlcmVicm9fY29udGV4dBgQIAEoCzIxLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDZXJlYnJvQ29udGV4dBJMChBwcm9hY3RpdmVfcG9saWN5GBEgASgLMjIuYWdlbnRydW50aW1lLnYxLlRlYW1tYXRlV29ya0xlZGdlclByb2FjdGl2ZVBvbGljeRJICg5jaGFubmVsX3N0YXR1cxgSIAEoCzIwLmFnZW50cnVudGltZS52MS5UZWFtbWF0ZVdvcmtMZWRnZXJDaGFubmVsU3RhdHVzEhYKDmV2aWRlbmNlX3BhdGhzGBMgAygJEhYKDmhhbmRvZmZfcG9saWN5GBQgASgJEh4KFnJlc3VtZV9jaGVja3BvaW50X3BhdGgYFSABKAkSLgoKdXBkYXRlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoLZXZlbnRfY291bnQYFyABKAVCB7pIBBoCKAAioQIKGVRlYW1tYXRlV29ya0xlZGdlckJsb2NrZXISDwoHd2FpdF9pZBgBIAEoCRIvCgR0eXBlGAIgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGUSDgoGcmVhc29uGAMgASgJEhQKDGV4dGVybmFsX3JlZhgEIAEoCRIwCgxyZXN1bWVfYWZ0ZXIYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKEnZpc2liaWxpdHlfc3VtbWFyeRgGIAEoCRJOCg9yZXN1bWVfY29udHJhY3QYByABKAsyNS5hZ2VudHJ1bnRpbWUudjEuVGVhbW1hdGVXb3JrTGVkZ2VyV2FpdFJlc3VtZUNvbnRyYWN0IsMCCiRUZWFtbWF0ZVdvcmtMZWRnZXJXYWl0UmVzdW1lQ29udHJhY3QSFgoOc2NoZW1hX3ZlcnNpb24YASABKAkSEgoKcmVzdW1lX3JwYxgCIAEoCRISCgpsb29rdXBfcnBjGAMgASgJEiEKGWxvb2t1cF9leHRlcm5hbF9yZWZfZmllbGQYBCABKAkSHgoWcmVxdWlyZWRfcmVzdW1lX2ZpZWxkcxgFIAMoCRIZChFhbGxvd2VkX2RlY2lzaW9ucxgGIAMoCRIjChtjaGFubmVsX2FjdGlvbl92YWx1ZV9maWVsZHMYByADKAkSHAoUaWRlbXBvdGVuY3lfam9pbl9rZXkYCCABKAkSGwoTYXBwcm92YWxfcmVxdWVzdF9pZBgJIAEoCRIdChVyZXF1aXJlc19zYWZlX3N1bW1hcnkYCiABKAgipAIKIVRlYW1tYXRlV29ya0xlZGdlckNvbm5lY3RvckFjY2VzcxISCgptb3VudF9wYXRoGAEgASgJEhMKC3Byb3ZpZGVyX2lkGAIgASgJEhUKDWNvbm5lY3Rpb25faWQYAyABKAkSFAoMY2FwYWJpbGl0aWVzGAQgAygJEhYKDmdyYW50X3JlcXVpcmVkGAUgASgIEhQKDGxlYXNlX3BvbGljeRgGIAEoCRIVCg1pZGVudGl0eV9tb2RlGAcgASgJEiMKG2NyZWRlbnRpYWxfdmVyc2lvbl9zdHJhdGVneRgIIAEoCRIhChBzZWNyZXRfcmVmX2NvdW50GAkgASgFQge6SAQaAigAEhwKFGNyZWRlbnRpYWxfcmVmX25hbWVzGAogAygJIvIBCiBUZWFtbWF0ZVdvcmtMZWRnZXJNZW1vcnlDaXRhdGlvbhIRCgltZW1vcnlfaWQYASABKAkSEwoLbWVtb3J5X3R5cGUYAiABKAkSDgoGc291cmNlGAMgASgJEhMKC3NvdXJjZV91cmlzGAQgAygJEhwKFHN1cGVyc2VkZXNfbWVtb3J5X2lkGAUgASgJEh8KF3N1cGVyc2VkZWRfYnlfbWVtb3J5X2lkGAYgASgJEhUKDXJldmlld19zdGF0dXMYByABKAkSEgoKZW50aXR5X2lkcxgIIAMoCRIXCg9jb250ZW50X3ByZXZpZXcYCSABKAkingIKHFRlYW1tYXRlV29ya0xlZGdlclZmc1N1bW1hcnkSGwoKZmlsZV9jb3VudBgBIAEoBUIHukgEGgIoABIcCgttb3VudF9jb3VudBgCIAEoBUIHukgEGgIoABImChVjb25uZWN0b3JfbW91bnRfY291bnQYAyABKAVCB7pIBBoCKAASJAoTbWVtb3J5X3JlY29yZF9jb3VudBgEIAEoBUIHukgEGgIoABIiChF0cmFuc2FjdGlvbl9jb3VudBgFIAEoBUIHukgEGgIoABIyCiFjZXJlYnJvX2luZGV4X2VsaWdpYmxlX2ZpbGVfY291bnQYBiABKAVCB7pIBBoCKAASHQoVaGFzX3Jlc3VtZV9jaGVja3BvaW50GAcgASgIIqEBCiBUZWFtbWF0ZVdvcmtMZWRnZXJDZXJlYnJvQ29udGV4dBIQCghwcm92aWRlchgBIAEoCRINCgVxdWVyeRgCIAEoCRIRCgl0aGluZ19pZHMYAyADKAkSEAoIZmFjdF9pZHMYBCADKAkSEQoJZXZlbnRfaWRzGAUgAygJEiQKE2VsaWdpYmxlX2ZpbGVfY291bnQYBiABKAVCB7pIBBoCKAAipgEKIVRlYW1tYXRlV29ya0xlZGdlclByb2FjdGl2ZVBvbGljeRIPCgdlbmFibGVkGAEgASgIEhUKDXRyaWdnZXJfa2luZHMYAiADKAkSIAoYcHJvZ3Jlc3NfdXBkYXRlX3RyaWdnZXJzGAMgAygJEhcKD3ByZXNlbmNlX3BvbGljeRgEIAEoCRIeCg11cGRhdGVfYnVkZ2V0GAUgASgFQge6SAQaAigAIpsBCh9UZWFtbWF0ZVdvcmtMZWRnZXJDaGFubmVsU3RhdHVzEhQKDGNoYW5uZWxfa2luZBgBIAEoCRISCgpjaGFubmVsX2lkGAIgASgJEhEKCXRocmVhZF9pZBgDIAEoCRIdChVsYXN0X3Zpc2libGVfZXZlbnRfaWQYBCABKAkSHAoUbGFzdF92aXNpYmxlX3N1bW1hcnkYBSABKAkieQodTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEiEKEHdvcmtfZW52ZWxvcGVfaWQYAiABKAlCB7pIBHICEAESFgoFbGltaXQYAyABKAVCB7pIBBoCKAAiSQoeTGlzdFJ1bnNCeVdvcmtFbnZlbG9wZVJlc3BvbnNlEicKBHJ1bnMYASADKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4i9AUKFUNoYW5uZWxUaHJlYWRBZG9wdGlvbhIKCgJpZBgBIAEoCRIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESGQoIYWdlbnRfaWQYAyABKAlCB7pIBHICEAESQwoMY2hhbm5lbF9raW5kGAQgASgOMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsS2luZEIIukgFggECEAESHQoVcHJvdmlkZXJfd29ya3NwYWNlX2lkGAUgASgJEhsKCmNoYW5uZWxfaWQYBiABKAlCB7pIBHICEAESGgoJdGhyZWFkX2lkGAcgASgJQge6SARyAhABEhgKEHdvcmtfZW52ZWxvcGVfaWQYCCABKAkSHAoUZmlyc3RfYWRvcHRlZF9ydW5faWQYCSABKAkSEwoLbGFzdF9ydW5faWQYCiABKAkSNAoQZmlyc3RfYWRvcHRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPbGFzdF9tZXNzYWdlX2lkGA4gASgJEhwKFGxhc3Rfc291cmNlX2V2ZW50X2lkGA8gASgJEhwKFGxhc3RfYWRvcHRpb25fcmVhc29uGBAgASgJEhcKD2Fkb3B0aW9uX3BvbGljeRgRIAEoCRIpCghtZXRhZGF0YRgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSPwoPY2hhbm5lbF9jb250ZXh0GBMgASgLMiYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsQ29udGV4dBI7Cg13b3JrX2VudmVsb3BlGBQgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVXb3JrRW52ZWxvcGUikQIKH0dldENoYW5uZWxUaHJlYWRBZG9wdGlvblJlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhkKCGFnZW50X2lkGAIgASgJQge6SARyAhABEkMKDGNoYW5uZWxfa2luZBgDIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbEtpbmRCCLpIBYIBAhABEh0KFXByb3ZpZGVyX3dvcmtzcGFjZV9pZBgEIAEoCRIbCgpjaGFubmVsX2lkGAUgASgJQge6SARyAhABEhoKCXRocmVhZF9pZBgGIAEoCUIHukgEcgIQARIXCg9pbmNsdWRlX2V4cGlyZWQYByABKAgiXAogR2V0Q2hhbm5lbFRocmVhZEFkb3B0aW9uUmVzcG9uc2USOAoIYWRvcHRpb24YASABKAsyJi5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbFRocmVhZEFkb3B0aW9uIqoCCiFMaXN0Q2hhbm5lbFRocmVhZEFkb3B0aW9uc1JlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhAKCGFnZW50X2lkGAIgASgJEkMKDGNoYW5uZWxfa2luZBgDIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lQ2hhbm5lbEtpbmRCCLpIBYIBAhABEh0KFXByb3ZpZGVyX3dvcmtzcGFjZV9pZBgEIAEoCRISCgpjaGFubmVsX2lkGAUgASgJEhEKCXRocmVhZF9pZBgGIAEoCRIYChB3b3JrX2VudmVsb3BlX2lkGAcgASgJEhcKD2luY2x1ZGVfZXhwaXJlZBgIIAEoCBIWCgVsaW1pdBgJIAEoBUIHukgEGgIoACJfCiJMaXN0Q2hhbm5lbFRocmVhZEFkb3B0aW9uc1Jlc3BvbnNlEjkKCWFkb3B0aW9ucxgBIAMoCzImLmFnZW50cnVudGltZS52MS5DaGFubmVsVGhyZWFkQWRvcHRpb24i/gIKE0xpc3RSdW5XYWl0c1JlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEg4KBnJ1bl9pZBgCIAEoCRIQCghhZ2VudF9pZBgDIAEoCRIUCgxvYmplY3RpdmVfaWQYBCABKAkSGAoQd29ya19lbnZlbG9wZV9pZBgFIAEoCRI7CgVzdGF0ZRgGIAEoDjIiLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRTdGF0ZUIIukgFggECEAESOQoEdHlwZRgHIAEoDjIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bldhaXRUeXBlQgi6SAWCAQIQARI8CghhdWRpZW5jZRgIIAEoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCCLpIBYIBAhABEhYKBWxpbWl0GAkgASgFQge6SAQaAigAEhIKCnBhZ2VfdG9rZW4YCiABKAkSFAoMZXh0ZXJuYWxfcmVmGAsgASgJItgFChNBZ2VudFJ1bldhaXRTdW1tYXJ5Eg4KBnJ1bl9pZBgBIAEoCRIPCgd3YWl0X2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIQCghhZ2VudF9pZBgEIAEoCRIUCgxvYmplY3RpdmVfaWQYBSABKAkSDwoHc3RlcF9pZBgGIAEoCRIvCgR0eXBlGAcgASgOMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuV2FpdFR5cGUSMQoFc3RhdGUYCCABKA4yIi5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0U3RhdGUSFAoMZXh0ZXJuYWxfcmVmGAkgASgJEg4KBnJlYXNvbhgKIAEoCRIoCgdwYXlsb2FkGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxyZXN1bWVfYWZ0ZXIYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3Jlc29sdmVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRyZXNvbHZlZF9ieV9ldmVudF9pZBgQIAEoCRI+Cgp2aXNpYmlsaXR5GBEgASgLMiouYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXNpYmlsaXR5TWV0YWRhdGESPwoPY2hhbm5lbF9jb250ZXh0GBIgASgLMiYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVDaGFubmVsQ29udGV4dBI7Cg13b3JrX2VudmVsb3BlGBMgASgLMiQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVXb3JrRW52ZWxvcGUiZAoUTGlzdFJ1bldhaXRzUmVzcG9uc2USMwoFd2FpdHMYASADKAsyJC5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5XYWl0U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiYwohUmVjb3JkQ2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0Ej4KB3JlY2VpcHQYASABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHRCBrpIA8gBASJ3CiJSZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEjYKB3JlY2VpcHQYASABKAsyJS5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblJlY2VpcHQSGQoRaWRlbXBvdGVudF9yZXBsYXkYAiABKAgiNQoeR2V0Q2hhbm5lbEFjdGlvblJlY2VpcHRSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIlkKH0dldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVzcG9uc2USNgoHcmVjZWlwdBgBIAEoCzIlLmFnZW50cnVudGltZS52MS5DaGFubmVsQWN0aW9uUmVjZWlwdCLtAwogTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1JlcXVlc3QSHQoMd29ya3NwYWNlX2lkGAEgASgJQge6SARyAhABEhcKD2lkZW1wb3RlbmN5X2tleRgCIAEoCRIXCg9hY3Rvcl9lbnRpdHlfaWQYAyABKAkSRwoLdGFyZ2V0X2tpbmQYBCABKA4yKC5hZ2VudHJ1bnRpbWUudjEuQ2hhbm5lbEFjdGlvblRhcmdldEtpbmRCCLpIBYIBAhABEhEKCXRhcmdldF9pZBgFIAEoCRIOCgZydW5faWQYBiABKAkSDwoHd2FpdF9pZBgHIAEoCRIbChNhcHByb3ZhbF9yZXF1ZXN0X2lkGAggASgJEhQKDG9iamVjdGl2ZV9pZBgJIAEoCRJDCgxjaGFubmVsX2tpbmQYCiABKA4yIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUNoYW5uZWxLaW5kQgi6SAWCAQIQARIdChVwcm92aWRlcl93b3Jrc3BhY2VfaWQYCyABKAkSEgoKY2hhbm5lbF9pZBgMIAEoCRIRCgl0aHJlYWRfaWQYDSABKAkSEgoKbWVzc2FnZV9pZBgOIAEoCRIRCglhY3Rpb25faWQYDyABKAkSFgoFbGltaXQYECABKAVCB7pIBBoCKAAiXAohTGlzdENoYW5uZWxBY3Rpb25SZWNlaXB0c1Jlc3BvbnNlEjcKCHJlY2VpcHRzGAEgAygLMiUuYWdlbnRydW50aW1lLnYxLkNoYW5uZWxBY3Rpb25SZWNlaXB0Im0KFExpc3RSdW5FdmVudHNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARI8CghhdWRpZW5jZRgCIAEoDjIgLmFnZW50cnVudGltZS52MS5SdW50aW1lQXVkaWVuY2VCCLpIBYIBAhABIkYKFUxpc3RSdW5FdmVudHNSZXNwb25zZRItCgZldmVudHMYASADKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50In4KGkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARITCgtwYXRoX3ByZWZpeBgCIAEoCRIWCgVsaW1pdBgDIAEoBUIHukgEGgIoABIaChJpbmNsdWRlX3RvbWJzdG9uZXMYBCABKAgiWAobTGlzdFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEjkKB2VudHJpZXMYASADKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkimAEKGVJlYWRSdW5WaXJ0dWFsRmlsZVJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhUKBHBhdGgYAiABKAlCB7pIBHICEAESFwoGb2Zmc2V0GAMgASgFQge6SAQaAigAEhYKBWxpbWl0GAQgASgFQge6SAQaAigAEhoKEmluY2x1ZGVfdG9tYnN0b25lcxgFIAEoCCKlAgoaUmVhZFJ1blZpcnR1YWxGaWxlUmVzcG9uc2USNwoFZW50cnkYASABKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkSDwoHY29udGVudBgCIAEoCRIOCgZvZmZzZXQYAyABKAUSEwoLbmV4dF9vZmZzZXQYBCABKAUSCwoDZW9mGAUgASgIElQKD3JlZGFjdGlvbl9zdGF0ZRgGIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgHIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uImcKGVN0YXRSdW5WaXJ0dWFsRmlsZVJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhUKBHBhdGgYAiABKAlCB7pIBHICEAESGgoSaW5jbHVkZV90b21ic3RvbmVzGAMgASgIIlUKGlN0YXRSdW5WaXJ0dWFsRmlsZVJlc3BvbnNlEjcKBWVudHJ5GAEgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5IrMBChtXYXRjaFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhQKDHNpbmNlX2N1cnNvchgCIAEoCRIWCgVsaW1pdBgDIAEoBUIHukgEGgIoABIOCgZmb2xsb3cYBCABKAgSPQoIc2VsZWN0b3IYBSABKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlU2VsZWN0b3IiXAocV2F0Y2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRI8CgVldmVudBgBIAEoCzItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVXYXRjaEV2ZW50Iu8DChxSdW50aW1lVmlydHVhbEZpbGVXYXRjaEV2ZW50Eg4KBmN1cnNvchgBIAEoCRIRCglvcGVyYXRpb24YAiABKAkSDAoEcGF0aBgDIAEoCRITCgtyZXZpc2lvbl9pZBgEIAEoCRIaChJwYXJlbnRfcmV2aXNpb25faWQYBSABKAkSFgoOdHJhbnNhY3Rpb25faWQYBiABKAkSDAoEdmlldxgHIAEoCRIPCgdzcGFuX2lkGAggASgJEhcKD2V2aWRlbmNlX2hhbmRsZRgJIAEoCRIYChBydW50aW1lX2V2ZW50X2lkGAogASgJEhMKC2FydGlmYWN0X2lkGAsgASgJEhAKCHRyYWNlX2lkGAwgASgJEhQKDGh5ZHJhdGlvbl9pZBgNIAEoCRIUCgxwcm9tb3Rpb25faWQYDiABKAkSGAoQcHJvZHVjZXJfc2VydmljZRgPIAEoCRIVCg1wcm9kdWNlcl9raW5kGBAgASgJEi8KC29jY3VycmVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1jaGVja3BvaW50X2lkGBIgASgJEjcKBWVudHJ5GBMgASgLMiguYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUVudHJ5IucBChpSdW50aW1lVmlydHVhbEZpbGVTZWxlY3RvchINCgVwYXRocxgBIAMoCRITCgtwYXRoX3ByZWZpeBgCIAEoCRINCgV2aWV3cxgDIAMoCRINCgVraW5kcxgEIAMoCRIOCgZtb3VudHMYBSADKAkSFwoPdHJhbnNhY3Rpb25faWRzGAYgAygJEhAKCHBvbGljaWVzGAcgAygJEhcKD3NvdXJjZV9zZXJ2aWNlcxgIIAMoCRIXCg9jZXJlYnJvX2luZGV4ZXMYCSADKAkSGgoSaW5jbHVkZV90b21ic3RvbmVzGAogASgIIvkDChxSdW50aW1lVmlydHVhbEZpbGVSZWFkUmVzdWx0EgwKBHBhdGgYASABKAkSNwoFZW50cnkYAiABKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkSDwoHY29udGVudBgDIAEoCRIXCgZvZmZzZXQYBCABKAVCB7pIBBoCKAASHAoLbmV4dF9vZmZzZXQYBSABKAVCB7pIBBoCKAASCwoDZW9mGAYgASgIEg8KB3NraXBwZWQYByABKAgSEwoLc2tpcF9yZWFzb24YCCABKAkSEAoIY2l0YXRpb24YCSABKAkSFQoEcmFuaxgKIAEoBUIHukgEGgIoABITCgtyYW5rX3JlYXNvbhgLIAEoCRJMCgtyZWFzb25fY29kZRgMIAEoDjItLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWFzb25Db2RlQgi6SAWCAQIQARJUCg9yZWRhY3Rpb25fc3RhdGUYDSABKA4yMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVkYWN0aW9uU3RhdGVCCLpIBYIBAhABEjUKCnJlZGFjdGlvbnMYDiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVJlZGFjdGlvbiLQAQofQmF0Y2hSZWFkUnVuVmlydHVhbEZpbGVzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESPQoIc2VsZWN0b3IYAiABKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlU2VsZWN0b3ISHwoOcGVyX2ZpbGVfbGltaXQYAyABKAVCB7pIBBoCKAASHAoLdG90YWxfbGltaXQYBCABKAVCB7pIBBoCKAASFgoFbGltaXQYBSABKAVCB7pIBBoCKAAiwAEKIEJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEjwKBWZpbGVzGAEgAygLMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlYWRSZXN1bHQSJAoTdG90YWxfY29udGVudF9ieXRlcxgCIAEoBUIHukgEGgIoABIYChBidWRnZXRfZXhoYXVzdGVkGAMgASgIEh4KDXNraXBwZWRfY291bnQYBCABKAVCB7pIBBoCKAAi+QEKJUJ1aWxkUnVuVmlydHVhbEZpbGVDb250ZXh0UGFja1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEg0KBXF1ZXJ5GAIgASgJEj0KCHNlbGVjdG9yGAMgASgLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVNlbGVjdG9yEhIKCnNlZWRfcGF0aHMYBCADKAkSHwoOcGVyX2ZpbGVfbGltaXQYBSABKAVCB7pIBBoCKAASHAoLdG90YWxfbGltaXQYBiABKAVCB7pIBBoCKAASFgoFbGltaXQYByABKAVCB7pIBBoCKAAi4AEKJkJ1aWxkUnVuVmlydHVhbEZpbGVDb250ZXh0UGFja1Jlc3BvbnNlEj8KCHNuaXBwZXRzGAEgAygLMi0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVJlYWRSZXN1bHQSJAoTdG90YWxfY29udGVudF9ieXRlcxgCIAEoBUIHukgEGgIoABIYChBidWRnZXRfZXhoYXVzdGVkGAMgASgIEh4KDXNraXBwZWRfY291bnQYBCABKAVCB7pIBBoCKAASFQoNc2tpcHBlZF9wYXRocxgFIAMoCSKCAgocU2VhcmNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFgoFcXVlcnkYAiABKAlCB7pIBHICEAESEwoLcGF0aF9wcmVmaXgYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASPQoIc2VsZWN0b3IYBSABKAsyKy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlU2VsZWN0b3ISDQoFcmVnZXgYBiABKAgSHgoNY29udGV4dF9saW5lcxgHIAEoBUIHukgEGgIoABIWCg5jYXNlX3NlbnNpdGl2ZRgIIAEoCCKTAQodU2VhcmNoUnVuVmlydHVhbEZpbGVzUmVzcG9uc2USOQoHbWF0Y2hlcxgBIAMoCzIoLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVNYXRjaBIeCg10b3RhbF9tYXRjaGVzGAIgASgFQge6SAQaAigAEhcKD2xpbWl0X2V4aGF1c3RlZBgDIAEoCCKxBAojUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbFJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEhUKBHBhdGgYAyABKAlCB7pIBHICEAESEgoKbWVkaWFfdHlwZRgEIAEoCRIPCgdjb250ZW50GAUgASgJEhUKDXByb3Bvc2FsX2tpbmQYBiABKAkSDwoHc3RlcF9pZBgHIAEoCRJUCghtZXRhZGF0YRgIIAMoCzJCLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVxdWVzdC5NZXRhZGF0YUVudHJ5EhcKD2lkZW1wb3RlbmN5X2tleRgJIAEoCRJCCgtzZW5zaXRpdml0eRgKIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lU2Vuc2l0aXZpdHlCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgLIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgMIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLkAQokUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbFJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhIzCghhcnRpZmFjdBgCIAEoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjEKBGZpbGUYAyABKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAQgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCKrBAoYUnVudGltZVZpcnR1YWxGaWxlQ2hhbmdlEhUKBHBhdGgYASABKAlCB7pIBHICEAESEgoKbWVkaWFfdHlwZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEhUKDXByb3Bvc2FsX2tpbmQYBCABKAkSDwoHc3RlcF9pZBgFIAEoCRJJCghtZXRhZGF0YRgGIAMoCzI3LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVDaGFuZ2UuTWV0YWRhdGFFbnRyeRJCCgtzZW5zaXRpdml0eRgHIAEoDjIjLmFnZW50cnVudGltZS52MS5SdW50aW1lU2Vuc2l0aXZpdHlCCLpIBYIBAhABElQKD3JlZGFjdGlvbl9zdGF0ZRgIIAEoDjIxLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZUIIukgFggECEAESNQoKcmVkYWN0aW9ucxgJIAMoCzIhLmFnZW50cnVudGltZS52MS5SdW50aW1lUmVkYWN0aW9uEkkKCW9wZXJhdGlvbhgKIAEoDjIsLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVPcGVyYXRpb25CCLpIBYIBAhABEhMKC3JlbmFtZV9mcm9tGAsgASgJGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLyAgomUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEhwKC2xlYXNlX3Rva2VuGAIgASgJQge6SARyAhABEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgJEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgEIAEoCRI6CgdjaGFuZ2VzGAUgAygLMikuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUNoYW5nZRJXCghtZXRhZGF0YRgGIAMoCzJFLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdC5NZXRhZGF0YUVudHJ5EhcKD2lkZW1wb3RlbmN5X2tleRgHIAEoCRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi6QEKJ1JlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRImCgNydW4YASABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNAoJYXJ0aWZhY3RzGAIgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMgoFZmlsZXMYAyADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAQgASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLGAgonUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIfCg50cmFuc2FjdGlvbl9pZBgDIAEoCUIHukgEcgIQARIjChtleHBlY3RlZF9wYXJlbnRfcmV2aXNpb25faWQYBCABKAkSEwoLYXBwcm92ZXJfaWQYBSABKAkSWAoIbWV0YWRhdGEYBiADKAsyRi5hZ2VudHJ1bnRpbWUudjEuUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuoBCihQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEiYKA3J1bhgBIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYAiADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgDIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBCABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IsYBChpSdW50aW1lVmlydHVhbEZpbGVEaWZmSHVuaxIfCg5vbGRfc3RhcnRfbGluZRgBIAEoBUIHukgEGgIoABIfCg5vbGRfbGluZV9jb3VudBgCIAEoBUIHukgEGgIoABIfCg5uZXdfc3RhcnRfbGluZRgDIAEoBUIHukgEGgIoABIfCg5uZXdfbGluZV9jb3VudBgEIAEoBUIHukgEGgIoABIOCgZoZWFkZXIYBSABKAkSFAoMdW5pZmllZF9kaWZmGAYgASgJIv8ECiVSdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkZpbGVEaWZmEgwKBHBhdGgYASABKAkSSQoJb3BlcmF0aW9uGAIgASgOMiwuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZU9wZXJhdGlvbkIIukgFggECEAESWQoMYXBwbHlfc3RhdHVzGAMgASgOMjkuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQXBwbHlTdGF0dXNCCLpIBYIBAhABEhoKEnBhcmVudF9yZXZpc2lvbl9pZBgEIAEoCRIYChBiYXNlX3JldmlzaW9uX2lkGAUgASgJEhsKE2N1cnJlbnRfcmV2aXNpb25faWQYBiABKAkSHAoUcHJvcG9zZWRfcmV2aXNpb25faWQYByABKAkSGwoTYmFzZV9jb250ZW50X3NoYTI1NhgIIAEoCRIeChZjdXJyZW50X2NvbnRlbnRfc2hhMjU2GAkgASgJEh8KF3Byb3Bvc2VkX2NvbnRlbnRfc2hhMjU2GAogASgJEhoKCWFkZGl0aW9ucxgLIAEoBUIHukgEGgIoABIaCglkZWxldGlvbnMYDCABKAVCB7pIBBoCKAASDgoGYmluYXJ5GA0gASgIEhEKCXRvbWJzdG9uZRgOIAEoCBITCgtyZW5hbWVfZnJvbRgPIAEoCRIRCglyZW5hbWVfdG8YECABKAkSFAoMdW5pZmllZF9kaWZmGBEgASgJEjoKBWh1bmtzGBIgAygLMisuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZURpZmZIdW5rIpwDCiVSdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkNvbmZsaWN0EgwKBHBhdGgYASABKAkSTAoLcmVhc29uX2NvZGUYAiABKA4yLS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlUmVhc29uQ29kZUIIukgFggECEAESWQoMYXBwbHlfc3RhdHVzGAMgASgOMjkuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uQXBwbHlTdGF0dXNCCLpIBYIBAhABEg8KB21lc3NhZ2UYBCABKAkSGgoScGFyZW50X3JldmlzaW9uX2lkGAUgASgJEhgKEGJhc2VfcmV2aXNpb25faWQYBiABKAkSGwoTY3VycmVudF9yZXZpc2lvbl9pZBgHIAEoCRIcChRwcm9wb3NlZF9yZXZpc2lvbl9pZBgIIAEoCRI6CgVodW5rcxgJIAMoCzIrLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVEaWZmSHVuayK+AwohUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25EaWZmEhYKDnRyYW5zYWN0aW9uX2lkGAEgASgJEkUKBWZpbGVzGAIgAygLMjYuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRmlsZURpZmYSFAoMdW5pZmllZF9kaWZmGAMgASgJEhsKCmZpbGVfY291bnQYBCABKAVCB7pIBBoCKAASIwoSY2hhbmdlZF9maWxlX2NvdW50GAUgASgFQge6SAQaAigAEhoKCWFkZGl0aW9ucxgGIAEoBUIHukgEGgIoABIaCglkZWxldGlvbnMYByABKAVCB7pIBBoCKAASDQoFc3RhbGUYCCABKAgSUAoHb3V0Y29tZRgJIAEoDjI1LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbk91dGNvbWVCCLpIBYIBAhABEkkKCWNvbmZsaWN0cxgKIAMoCzI2LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkNvbmZsaWN0IoABCiREaWZmUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABEh8KDnRyYW5zYWN0aW9uX2lkGAIgASgJQge6SARyAhABEh4KDWNvbnRleHRfbGluZXMYAyABKAVCB7pIBBoCKAAiaQolRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRJACgRkaWZmGAEgASgLMjIuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRGlmZiLiAgolQXBwbHlSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESHwoOdHJhbnNhY3Rpb25faWQYAyABKAlCB7pIBHICEAESIwobZXhwZWN0ZWRfcGFyZW50X3JldmlzaW9uX2lkGAQgASgJEhMKC2FwcHJvdmVyX2lkGAUgASgJElYKCG1ldGFkYXRhGAYgAygLMkQuYWdlbnRydW50aW1lLnYxLkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QuTWV0YWRhdGFFbnRyeRIeCg1jb250ZXh0X2xpbmVzGAcgASgFQge6SAQaAigAGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL8AgomQXBwbHlSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USUAoHb3V0Y29tZRgBIAEoDjI1LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbk91dGNvbWVCCLpIBYIBAhABEkAKBGRpZmYYAiABKAsyMi5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlVHJhbnNhY3Rpb25EaWZmEiYKA3J1bhgDIAEoCzIZLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bhI0CglhcnRpZmFjdHMYBCADKAsyIS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW5BcnRpZmFjdBIyCgVmaWxlcxgFIAMoCzIjLmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGUSLAoFZXZlbnQYBiABKAsyHS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZUV2ZW50IuICCiZSZWJhc2VSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESHAoLbGVhc2VfdG9rZW4YAiABKAlCB7pIBHICEAESJgoVc291cmNlX3RyYW5zYWN0aW9uX2lkGAMgASgJQge6SARyAhABEhYKDnRyYW5zYWN0aW9uX2lkGAQgASgJElcKCG1ldGFkYXRhGAUgAygLMkUuYWdlbnRydW50aW1lLnYxLlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0Lk1ldGFkYXRhRW50cnkSFwoPaWRlbXBvdGVuY3lfa2V5GAYgASgJEh4KDWNvbnRleHRfbGluZXMYByABKAVCB7pIBBoCKAAaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIrQDCidSZWJhc2VSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USUAoHb3V0Y29tZRgBIAEoDjI1LmFnZW50cnVudGltZS52MS5SdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbk91dGNvbWVCCLpIBYIBAhABEh0KFXNvdXJjZV90cmFuc2FjdGlvbl9pZBgCIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgDIAEoCRJACgRkaWZmGAQgASgLMjIuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uRGlmZhImCgNydW4YBSABKAsyGS5hZ2VudHJ1bnRpbWUudjEuQWdlbnRSdW4SNAoJYXJ0aWZhY3RzGAYgAygLMiEuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuQXJ0aWZhY3QSMgoFZmlsZXMYByADKAsyIy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlEiwKBWV2ZW50GAggASgLMh0uYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVFdmVudCLjAgohSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXF1ZXN0EhcKBnJ1bl9pZBgBIAEoCUIHukgEcgIQARIcCgtsZWFzZV90b2tlbhgCIAEoCUIHukgEcgIQARIWCgVtb3VudBgDIAEoCUIHukgEcgIQARITCgtwcm92aWRlcl9pZBgEIAEoCRIVCg1jb25uZWN0aW9uX2lkGAUgASgJEg0KBXF1ZXJ5GAYgASgJEhYKBWxpbWl0GAcgASgFQge6SAQaAigAElIKCG1ldGFkYXRhGAggAygLMkAuYWdlbnRydW50aW1lLnYxLkh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5EhcKD2lkZW1wb3RlbmN5X2tleRgJIAEoCRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi5AEKIkh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVzcG9uc2USJgoDcnVuGAEgASgLMhkuYWdlbnRydW50aW1lLnYxLkFnZW50UnVuEjQKCWFydGlmYWN0cxgCIAMoCzIhLmFnZW50cnVudGltZS52MS5BZ2VudFJ1bkFydGlmYWN0EjIKBWZpbGVzGAMgAygLMiMuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZRIsCgVldmVudBgEIAEoCzIdLmFnZW50cnVudGltZS52MS5SdW50aW1lRXZlbnQiOAodSW5zcGVjdFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QSFwoGcnVuX2lkGAEgASgJQge6SARyAhABIuwFCiJSdW50aW1lVmlydHVhbEZpbGVJbnNwZWN0b3JTdW1tYXJ5EhsKCmZpbGVfY291bnQYASABKAVCB7pIBBoCKAASHAoLbW91bnRfY291bnQYAiABKAVCB7pIBBoCKAASIgoRdHJhbnNhY3Rpb25fY291bnQYAyABKAVCB7pIBBoCKAASIQoQbGF6eV9tb3VudF9jb3VudBgEIAEoBUIHukgEGgIoABIkChNoeWRyYXRlZF9maWxlX2NvdW50GAUgASgFQge6SAQaAigAEigKF2NlcmVicm9fY2FuZGlkYXRlX2NvdW50GAYgASgFQge6SAQaAigAEiQKE2NlcmVicm9fcmVhZHlfY291bnQYByABKAVCB7pIBBoCKAASJAoTYWNjZXB0ZWRfZmlsZV9jb3VudBgIIAEoBUIHukgEGgIoABImChVjb250ZW50X2FkZHJlc3NfY291bnQYCSABKAVCB7pIBBoCKAASKgoZaHlkcmF0aW9uX2NhY2hlX2hpdF9jb3VudBgKIAEoBUIHukgEGgIoABIoChdzdGFsZV90cmFuc2FjdGlvbl9jb3VudBgLIAEoBUIHukgEGgIoABIkChNzaGFkb3dlZF9maWxlX2NvdW50GAwgASgFQge6SAQaAigAEh8KDnByb2R1Y2VyX2NvdW50GA0gASgFQge6SAQaAigAEigKF3ByZXZpZXdfb25seV9maWxlX2NvdW50GA4gASgFQge6SAQaAigAEiIKEWRlbmllZF9maWxlX2NvdW50GA8gASgFQge6SAQaAigAEiYKFXJlc3RyaWN0ZWRfZmlsZV9jb3VudBgQIAEoBUIHukgEGgIoABIlChR0b21ic3RvbmVfZmlsZV9jb3VudBgRIAEoBUIHukgEGgIoABIiChFkZWxldGVfZmlsZV9jb3VudBgSIAEoBUIHukgEGgIoABIiChFyZW5hbWVfZmlsZV9jb3VudBgTIAEoBUIHukgEGgIoACKWBAogUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yTW91bnQSDAoEcGF0aBgBIAEoCRIbCgpmaWxlX2NvdW50GAIgASgFQge6SAQaAigAEhsKCnNpemVfYnl0ZXMYAyABKANCB7pIBCICKAASDAoEbGF6eRgEIAEoCBITCgtwcm92aWRlcl9pZBgFIAEoCRIVCg1jb25uZWN0aW9uX2lkGAYgASgJEhQKDGNhY2hlX3BvbGljeRgHIAEoCRIOCgZwb2xpY3kYCCABKAkSFQoNY2VyZWJyb19pbmRleBgJIAEoCRIhChBzZWNyZXRfcmVmX2NvdW50GAogASgFQge6SAQaAigAEhcKD3NvdXJjZV9zZXJ2aWNlcxgLIAMoCRIoChdwcmV2aWV3X29ubHlfZmlsZV9jb3VudBgMIAEoBUIHukgEGgIoABIiChFkZW5pZWRfZmlsZV9jb3VudBgNIAEoBUIHukgEGgIoABImChVyZXN0cmljdGVkX2ZpbGVfY291bnQYDiABKAVCB7pIBBoCKAASFAoMY2FwYWJpbGl0aWVzGA8gAygJEhAKCHdyaXRhYmxlGBAgASgIEhEKCXJlYWRfb25seRgRIAEoCBIRCglnZW5lcmF0ZWQYEiABKAgSFwoPZXZpZGVuY2VfYmFja2VkGBMgASgIEhoKEmV4dGVybmFsbHlfaW5kZXhlZBgUIAEoCCK4AgomUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yVHJhbnNhY3Rpb24SFgoOdHJhbnNhY3Rpb25faWQYASABKAkSDAoEdmlldxgCIAEoCRIaChJwYXJlbnRfcmV2aXNpb25faWQYAyABKAkSGwoKZmlsZV9jb3VudBgEIAEoBUIHukgEGgIoABIOCgZwb2xpY3kYBSABKAkSFQoNY2VyZWJyb19pbmRleBgGIAEoCRIZChFjb250ZW50X2FkZHJlc3NlcxgHIAMoCRIlChR0b21ic3RvbmVfZmlsZV9jb3VudBgIIAEoBUIHukgEGgIoABIiChFkZWxldGVfZmlsZV9jb3VudBgJIAEoBUIHukgEGgIoABIiChFyZW5hbWVfZmlsZV9jb3VudBgKIAEoBUIHukgEGgIoACLTAgojUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yUHJvZHVjZXISGAoQcHJvZHVjZXJfc2VydmljZRgBIAEoCRIVCg1wcm9kdWNlcl9raW5kGAIgASgJEhsKCmZpbGVfY291bnQYAyABKAVCB7pIBBoCKAASHwoOcmV2aXNpb25fY291bnQYBCABKAVCB7pIBBoCKAASGQoRcnVudGltZV9ldmVudF9pZHMYBSADKAkSFAoMYXJ0aWZhY3RfaWRzGAYgAygJEhAKCHN0ZXBfaWRzGAcgAygJEhoKEnRvb2xfZXhlY3V0aW9uX2lkcxgIIAMoCRIRCgl0cmFjZV9pZHMYCSADKAkSFQoNaHlkcmF0aW9uX2lkcxgKIAMoCRIXCg90cmFuc2FjdGlvbl9pZHMYCyADKAkSGwoTcGFyZW50X3JldmlzaW9uX2lkcxgMIAMoCSL8AgoeSW5zcGVjdFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEkQKB3N1bW1hcnkYASABKAsyMy5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yU3VtbWFyeRJBCgZtb3VudHMYAiADKAsyMS5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlSW5zcGVjdG9yTW91bnQSTQoMdHJhbnNhY3Rpb25zGAMgAygLMjcuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclRyYW5zYWN0aW9uEjkKB2VudHJpZXMYBCADKAsyKC5hZ2VudHJ1bnRpbWUudjEuUnVudGltZVZpcnR1YWxGaWxlRW50cnkSRwoJcHJvZHVjZXJzGAUgAygLMjQuYWdlbnRydW50aW1lLnYxLlJ1bnRpbWVWaXJ0dWFsRmlsZUluc3BlY3RvclByb2R1Y2VyKr8CCg1BZ2VudFJ1blN0YXRlEh8KG0FHRU5UX1JVTl9TVEFURV9VTlNQRUNJRklFRBAAEhwKGEFHRU5UX1JVTl9TVEFURV9BQ0NFUFRFRBABEhoKFkFHRU5UX1JVTl9TVEFURV9RVUVVRUQQAhIbChdBR0VOVF9SVU5fU1RBVEVfUlVOTklORxADEhsKF0FHRU5UX1JVTl9TVEFURV9XQUlUSU5HEAQSHQoZQUdFTlRfUlVOX1NUQVRFX1NVQ0NFRURFRBAFEhoKFkFHRU5UX1JVTl9TVEFURV9GQUlMRUQQBhIdChlBR0VOVF9SVU5fU1RBVEVfQ0FOQ0VMTEVEEAcSHAoYQUdFTlRfUlVOX1NUQVRFX1JFVFJZSU5HEAgSIQodQUdFTlRfUlVOX1NUQVRFX0RFQURfTEVUVEVSRUQQCSqqAgoRQWdlbnRSdW5TdGVwU3RhdGUSJAogQUdFTlRfUlVOX1NURVBfU1RBVEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9SVU5fU1RFUF9TVEFURV9QRU5ESU5HEAESIAocQUdFTlRfUlVOX1NURVBfU1RBVEVfUlVOTklORxACEiAKHEFHRU5UX1JVTl9TVEVQX1NUQVRFX1dBSVRJTkcQAxIiCh5BR0VOVF9SVU5fU1RFUF9TVEFURV9TVUNDRUVERUQQBBIfChtBR0VOVF9SVU5fU1RFUF9TVEFURV9GQUlMRUQQBRIiCh5BR0VOVF9SVU5fU1RFUF9TVEFURV9DQU5DRUxMRUQQBhIgChxBR0VOVF9SVU5fU1RFUF9TVEFURV9TS0lQUEVEEAcq5wMKEEFnZW50UnVuU3RlcEtpbmQSIwofQUdFTlRfUlVOX1NURVBfS0lORF9VTlNQRUNJRklFRBAAEiIKHkFHRU5UX1JVTl9TVEVQX0tJTkRfTU9ERUxfQ0FMTBABEigKJEFHRU5UX1JVTl9TVEVQX0tJTkRfVE9PTF9DQUxMX0lOVEVOVBACEiMKH0FHRU5UX1JVTl9TVEVQX0tJTkRfVE9PTF9SRVNVTFQQAxIlCiFBR0VOVF9SVU5fU1RFUF9LSU5EX0FQUFJPVkFMX1dBSVQQBBIdChlBR0VOVF9SVU5fU1RFUF9LSU5EX0VSUk9SEAUSHgoaQUdFTlRfUlVOX1NURVBfS0lORF9TWVNURU0QBhIqCiZBR0VOVF9SVU5fU1RFUF9LSU5EX0NPTlRFWFRfRU5SSUNITUVOVBAHEhwKGEFHRU5UX1JVTl9TVEVQX0tJTkRfUExBThAIEh0KGUFHRU5UX1JVTl9TVEVQX0tJTkRfUEFUQ0gQCRIcChhBR0VOVF9SVU5fU1RFUF9LSU5EX1RFU1QQChIpCiVBR0VOVF9SVU5fU1RFUF9LSU5EX1BVTExfUkVRVUVTVF9TWU5DEAsSIwofQUdFTlRfUlVOX1NURVBfS0lORF9SRVZJRVdfU1lOQxAMKrYBChBBZ2VudFJ1bldhaXRUeXBlEiMKH0FHRU5UX1JVTl9XQUlUX1RZUEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9SVU5fV0FJVF9UWVBFX0FQUFJPVkFMEAESHQoZQUdFTlRfUlVOX1dBSVRfVFlQRV9JTlBVVBACEh0KGUFHRU5UX1JVTl9XQUlUX1RZUEVfRVZFTlQQAxIdChlBR0VOVF9SVU5fV0FJVF9UWVBFX1RJTUVSEAQqxAEKEUFnZW50UnVuV2FpdFN0YXRlEiQKIEFHRU5UX1JVTl9XQUlUX1NUQVRFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfUlVOX1dBSVRfU1RBVEVfUEVORElORxABEiEKHUFHRU5UX1JVTl9XQUlUX1NUQVRFX1JFU09MVkVEEAISIAocQUdFTlRfUlVOX1dBSVRfU1RBVEVfRVhQSVJFRBADEiIKHkFHRU5UX1JVTl9XQUlUX1NUQVRFX0NBTkNFTExFRBAEKsUEChRBZ2VudFJ1bkFydGlmYWN0S2luZBInCiNBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9VTlNQRUNJRklFRBAAEicKI0FHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1RPT0xfUkVTVUxUEAESIQodQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfQ0hBUlQQAhIiCh5BR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9SRVBPUlQQAxIgChxBR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9GSUxFEAQSJgoiQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfVFJBTlNDUklQVBAFEikKJUFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX0FQUFJPVkFMX1BMQU4QBhIiCh5BR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9TWVNURU0QBxIhCh1BR0VOVF9SVU5fQVJUSUZBQ1RfS0lORF9QQVRDSBAIEigKJEFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1BVTExfUkVRVUVTVBAJEjAKLEFHRU5UX1JVTl9BUlRJRkFDVF9LSU5EX1BVTExfUkVRVUVTVF9DT01NRU5UEAoSJQohQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfQ0lfU1RBVFVTEAsSJQohQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfUlVOX1BBTkVMEAwSLgoqQUdFTlRfUlVOX0FSVElGQUNUX0tJTkRfRVZBTFVBVElPTl9FWEFNUExFEA0qhQsKEFJ1bnRpbWVFdmVudFR5cGUSIgoeUlVOVElNRV9FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASJwojUlVOVElNRV9FVkVOVF9UWVBFX1RSSUdHRVJfQUNDRVBURUQQARIsCihSVU5USU1FX0VWRU5UX1RZUEVfQUdFTlRfQ09ORklHX1JFU09MVkVEEAISKQolUlVOVElNRV9FVkVOVF9UWVBFX09CSkVDVElWRV9SRVNPTFZFRBADEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9DT05URVhUX0JVSUxUEAQSKAokUlVOVElNRV9FVkVOVF9UWVBFX1dPUktFUl9ESVNQQVRDSEVEEAUSIQodUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9GQUlMRUQQBhIhCh1SVU5USU1FX0VWRU5UX1RZUEVfUlVOX1FVRVVFRBAHEiIKHlJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fQ0xBSU1FRBAIEiYKIlJVTlRJTUVfRVZFTlRfVFlQRV9MRUFTRV9IRUFSVEJFQVQQCRIkCiBSVU5USU1FX0VWRU5UX1RZUEVfU1RFUF9SRUNPUkRFRBAKEioKJlJVTlRJTUVfRVZFTlRfVFlQRV9DSEVDS1BPSU5UX1JFQ09SREVEEAsSKAokUlVOVElNRV9FVkVOVF9UWVBFX0FSVElGQUNUX1JFQ09SREVEEAwSJAogUlVOVElNRV9FVkVOVF9UWVBFX0NPU1RfUkVDT1JERUQQDRIiCh5SVU5USU1FX0VWRU5UX1RZUEVfUlVOX1dBSVRJTkcQDhIiCh5SVU5USU1FX0VWRU5UX1RZUEVfUlVOX1JFU1VNRUQQDxIkCiBSVU5USU1FX0VWRU5UX1RZUEVfUlVOX1NVQ0NFRURFRBAQEiQKIFJVTlRJTUVfRVZFTlRfVFlQRV9SVU5fQ0FOQ0VMTEVEEBESKgomUlVOVElNRV9FVkVOVF9UWVBFX1JVTl9SRVRSWV9TQ0hFRFVMRUQQEhIoCiRSVU5USU1FX0VWRU5UX1RZUEVfUlVOX0RFQURfTEVUVEVSRUQQExItCilSVU5USU1FX0VWRU5UX1RZUEVfU1RSRUFNX0NVUlNPUl9SRUNPUkRFRBAUEjIKLlJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9JTlRFUkFDVElPTl9SRVFVRVNURUQQFRIxCi1SVU5USU1FX0VWRU5UX1RZUEVfQ09ERVhfSU5URVJBQ1RJT05fUkVTT0xWRUQQFhIuCipSVU5USU1FX0VWRU5UX1RZUEVfQ09ERVhfUFJPR1JFU1NfUkVDT1JERUQQFxIqCiZSVU5USU1FX0VWRU5UX1RZUEVfQ09ERVhfT1VUUFVUX1NZTkNFRBAYEi0KKVJVTlRJTUVfRVZFTlRfVFlQRV9DT0RFWF9PVVRDT01FX09CU0VSVkVEEBkSLworUlVOVElNRV9FVkVOVF9UWVBFX0NIQU5ORUxfTUVTU0FHRV9SRUNPUkRFRBAaEi4KKlJVTlRJTUVfRVZFTlRfVFlQRV9NT0RFTF9SRVNQT05TRV9SRUNPUkRFRBAbEikKJVJVTlRJTUVfRVZFTlRfVFlQRV9UT09MX0NBTExfUkVDT1JERUQQHBIrCidSVU5USU1FX0VWRU5UX1RZUEVfVE9PTF9SRVNVTFRfUkVDT1JERUQQHRIpCiVSVU5USU1FX0VWRU5UX1RZUEVfQVBQUk9WQUxfUkVRVUVTVEVEEB4SKAokUlVOVElNRV9FVkVOVF9UWVBFX0FQUFJPVkFMX1JFU09MVkVEEB8SLgoqUlVOVElNRV9FVkVOVF9UWVBFX0FHRU5UX1BST0dSRVNTX1JFQ09SREVEECAq6QEKF1J1bnRpbWVEZXBlbmRlbmN5U3RhdHVzEikKJVJVTlRJTUVfREVQRU5ERU5DWV9TVEFUVVNfVU5TUEVDSUZJRUQQABImCiJSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX1JFU09MVkVEEAESJwojUlVOVElNRV9ERVBFTkRFTkNZX1NUQVRVU19OT1RfRk9VTkQQAhIsCihSVU5USU1FX0RFUEVOREVOQ1lfU1RBVFVTX05PVF9DT05GSUdVUkVEEAMSJAogUlVOVElNRV9ERVBFTkRFTkNZX1NUQVRVU19MT0FERUQQBCqEAwoXUnVudGltZVdvcmtFbnZlbG9wZUtpbmQSKgomUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfVU5TUEVDSUZJRUQQABIyCi5SVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9DT05WRVJTQVRJT05fVEhSRUFEEAESMgouUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfRElSRUNUX0NPTlZFUlNBVElPThACEiUKIVJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX1RJQ0tFVBADEi0KKVJVTlRJTUVfV09SS19FTlZFTE9QRV9LSU5EX0NBTEVOREFSX0VWRU5UEAQSKwonUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfUFVMTF9SRVFVRVNUEAUSJwojUlVOVElNRV9XT1JLX0VOVkVMT1BFX0tJTkRfSU5DSURFTlQQBhIpCiVSVU5USU1FX1dPUktfRU5WRUxPUEVfS0lORF9SRVBPU0lUT1JZEAcqrwMKElJ1bnRpbWVDaGFubmVsS2luZBIkCiBSVU5USU1FX0NIQU5ORUxfS0lORF9VTlNQRUNJRklFRBAAEh4KGlJVTlRJTUVfQ0hBTk5FTF9LSU5EX1NMQUNLEAESHAoYUlVOVElNRV9DSEFOTkVMX0tJTkRfV0VCEAISHAoYUlVOVElNRV9DSEFOTkVMX0tJTkRfQVBJEAMSHgoaUlVOVElNRV9DSEFOTkVMX0tJTkRfRU1BSUwQBBIfChtSVU5USU1FX0NIQU5ORUxfS0lORF9HSVRIVUIQBRIfChtSVU5USU1FX0NIQU5ORUxfS0lORF9MSU5FQVIQBhIdChlSVU5USU1FX0NIQU5ORUxfS0lORF9KSVJBEAcSHAoYUlVOVElNRV9DSEFOTkVMX0tJTkRfSURFEAgSIwofUlVOVElNRV9DSEFOTkVMX0tJTkRfTU9OSVRPUklORxAJEioKJlJVTlRJTUVfQ0hBTk5FTF9LSU5EX0JST1dTRVJfRVhURU5TSU9OEAoSJwojUlVOVElNRV9DSEFOTkVMX0tJTkRfREVTS1RPUF9IRUxQRVIQCyqnBwoSUnVudGltZVRyaWdnZXJLaW5kEiQKIFJVTlRJTUVfVFJJR0dFUl9LSU5EX1VOU1BFQ0lGSUVEEAASKgomUlVOVElNRV9UUklHR0VSX0tJTkRfU0xBQ0tfQVBQX01FTlRJT04QARItCilSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19ESVJFQ1RfTUVTU0FHRRACEiwKKFJVTlRJTUVfVFJJR0dFUl9LSU5EX1NMQUNLX1NMQVNIX0NPTU1BTkQQAxIlCiFSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BQ1RJT04QBBIyCi5SVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19USFJFQURfQ09OVElOVUFUSU9OEAUSJAogUlVOVElNRV9UUklHR0VSX0tJTkRfU0xBQ0tfRVZFTlQQBhItCilSVU5USU1FX1RSSUdHRVJfS0lORF9FTlNFTUJMRV9XRUJfTUVTU0FHRRAHEi8KK1JVTlRJTUVfVFJJR0dFUl9LSU5EX0VOU0VNQkxFX1dFQkhPT0tfRVZFTlQQCBIhCh1SVU5USU1FX1RSSUdHRVJfS0lORF9TQ0hFRFVMRRAJEh4KGlJVTlRJTUVfVFJJR0dFUl9LSU5EX0VNQUlMEAoSHAoYUlVOVElNRV9UUklHR0VSX0tJTkRfQVBJEAsSHAoYUlVOVElNRV9UUklHR0VSX0tJTkRfV0VCEAwSLQopUlVOVElNRV9UUklHR0VSX0tJTkRfR0lUSFVCX0lTU1VFX0NPTU1FTlQQDRI0CjBSVU5USU1FX1RSSUdHRVJfS0lORF9HSVRIVUJfUFVMTF9SRVFVRVNUX0NPTU1FTlQQDhImCiJSVU5USU1FX1RSSUdHRVJfS0lORF9MSU5FQVJfQUNUSU9OEA8SJAogUlVOVElNRV9UUklHR0VSX0tJTkRfSURFX0NPTU1BTkQQEBIpCiVSVU5USU1FX1RSSUdHRVJfS0lORF9NT05JVE9SSU5HX0FMRVJUEBESKgomUlVOVElNRV9UUklHR0VSX0tJTkRfUFJPQUNUSVZFX1BBVFRFUk4QEhI3CjNSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BU1NJU1RBTlRfVEhSRUFEX1NUQVJURUQQExI/CjtSVU5USU1FX1RSSUdHRVJfS0lORF9TTEFDS19BU1NJU1RBTlRfVEhSRUFEX0NPTlRFWFRfQ0hBTkdFRBAUKpkCChZSdW50aW1lVmlzaWJpbGl0eUxldmVsEigKJFJVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9VTlNQRUNJRklFRBAAEicKI1JVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9BR0VOVF9PTkxZEAESKQolUlVOVElNRV9WSVNJQklMSVRZX0xFVkVMX1VTRVJfVklTSUJMRRACEiwKKFJVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9DSEFOTkVMX1ZJU0lCTEUQAxIqCiZSVU5USU1FX1ZJU0lCSUxJVFlfTEVWRUxfQURNSU5fVklTSUJMRRAEEicKI1JVTlRJTUVfVklTSUJJTElUWV9MRVZFTF9BVURJVF9PTkxZEAUq8QEKD1J1bnRpbWVBdWRpZW5jZRIgChxSVU5USU1FX0FVRElFTkNFX1VOU1BFQ0lGSUVEEAASGgoWUlVOVElNRV9BVURJRU5DRV9BR0VOVBABEiIKHlJVTlRJTUVfQVVESUVOQ0VfVFJJR0dFUl9BQ1RPUhACEhwKGFJVTlRJTUVfQVVESUVOQ0VfQ0hBTk5FTBADEiUKIVJVTlRJTUVfQVVESUVOQ0VfV09SS1NQQUNFX0FETUlOUxAEEhoKFlJVTlRJTUVfQVVESUVOQ0VfQVVESVQQBRIbChdSVU5USU1FX0FVRElFTkNFX1NZU1RFTRAGKp8DChFDaGFubmVsQWN0aW9uS2luZBIjCh9DSEFOTkVMX0FDVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASKQolQ0hBTk5FTF9BQ1RJT05fS0lORF9BUFBST1ZBTF9ERUNJU0lPThABEiMKH0NIQU5ORUxfQUNUSU9OX0tJTkRfV0FJVF9SRVNVTUUQAhIpCiVDSEFOTkVMX0FDVElPTl9LSU5EX09CSkVDVElWRV9DT05UUk9MEAMSJwojQ0hBTk5FTF9BQ1RJT05fS0lORF9NRU1PUllfREVDSVNJT04QBBIjCh9DSEFOTkVMX0FDVElPTl9LSU5EX09QU19DT01NQU5EEAUSHwobQ0hBTk5FTF9BQ1RJT05fS0lORF9HRU5FUklDEAYSKQolQ0hBTk5FTF9BQ1RJT05fS0lORF9DT0RFWF9JTlRFUkFDVElPThAHEicKI0NIQU5ORUxfQUNUSU9OX0tJTkRfQlJPV1NFUl9DT05UUk9MEAgSJwojQ0hBTk5FTF9BQ1RJT05fS0lORF9ERVNLVE9QX0NPTlRST0wQCSqrBQoXQ2hhbm5lbEFjdGlvblRhcmdldEtpbmQSKgomQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfVU5TUEVDSUZJRUQQABIiCh5DSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9SVU4QARIjCh9DSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9XQUlUEAISJwojQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQVBQUk9WQUwQAxIoCiRDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9PQkpFQ1RJVkUQBBInCiNDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9BUlRJRkFDVBAFEi8KK0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX01FTU9SWV9DQU5ESURBVEUQBhItCilDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9UT09MX0VYRUNVVElPThAHEiwKKENIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0NPREVYX1NFU1NJT04QCBIkCiBDSEFOTkVMX0FDVElPTl9UQVJHRVRfS0lORF9QQVRDSBAJEisKJ0NIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX1BVTExfUkVRVUVTVBAKEi4KKkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0JST1dTRVJfU0VTU0lPThALEioKJkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0JST1dTRVJfVEFCEAwSMgouQ0hBTk5FTF9BQ1RJT05fVEFSR0VUX0tJTkRfQlJPV1NFUl9OQVRJVkVfSE9TVBANEi4KKkNIQU5ORUxfQUNUSU9OX1RBUkdFVF9LSU5EX0RFU0tUT1BfU0VTU0lPThAOKpADCiFDaGFubmVsQWN0aW9uQXV0aG9yaXphdGlvbk91dGNvbWUSNAowQ0hBTk5FTF9BQ1RJT05fQVVUSE9SSVpBVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASMAosQ0hBTk5FTF9BQ1RJT05fQVVUSE9SSVpBVElPTl9PVVRDT01FX0FMTE9XRUQQARIvCitDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfREVOSUVEEAISNwozQ0hBTk5FTF9BQ1RJT05fQVVUSE9SSVpBVElPTl9PVVRDT01FX1VOTUFQUEVEX0FDVE9SEAMSNwozQ0hBTk5FTF9BQ1RJT05fQVVUSE9SSVpBVElPTl9PVVRDT01FX1dST05HX0FQUFJPVkVSEAQSMAosQ0hBTk5FTF9BQ1RJT05fQVVUSE9SSVpBVElPTl9PVVRDT01FX0VYUElSRUQQBRIuCipDSEFOTkVMX0FDVElPTl9BVVRIT1JJWkFUSU9OX09VVENPTUVfU1RBTEUQBiqHBAodQ2hhbm5lbEFjdGlvbkV4ZWN1dGlvbk91dGNvbWUSMAosQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIsCihDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9QRU5ESU5HEAESLgoqQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfU1VDQ0VFREVEEAISKwonQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfRkFJTEVEEAMSLgoqQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfRFVQTElDQVRFEAQSNQoxQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfVEFSR0VUX05PVF9GT1VORBAFEjUKMUNIQU5ORUxfQUNUSU9OX0VYRUNVVElPTl9PVVRDT01FX0FMUkVBRFlfUkVTT0xWRUQQBhIxCi1DSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9VTkFVVEhPUklaRUQQBxIsCihDSEFOTkVMX0FDVElPTl9FWEVDVVRJT05fT1VUQ09NRV9FWFBJUkVEEAgSKgomQ0hBTk5FTF9BQ1RJT05fRVhFQ1VUSU9OX09VVENPTUVfU1RBTEUQCSqIAgocQ2hhbm5lbEFjdGlvbkRlbGl2ZXJ5T3V0Y29tZRIvCitDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASMQotQ0hBTk5FTF9BQ1RJT05fREVMSVZFUllfT1VUQ09NRV9OT1RfQVRURU1QVEVEEAESKwonQ0hBTk5FTF9BQ1RJT05fREVMSVZFUllfT1VUQ09NRV9VUERBVEVEEAISKgomQ0hBTk5FTF9BQ1RJT05fREVMSVZFUllfT1VUQ09NRV9GQUlMRUQQAxIrCidDSEFOTkVMX0FDVElPTl9ERUxJVkVSWV9PVVRDT01FX1NLSVBQRUQQBCrFAQoSUnVudGltZVNlbnNpdGl2aXR5EiMKH1JVTlRJTUVfU0VOU0lUSVZJVFlfVU5TUEVDSUZJRUQQABIeChpSVU5USU1FX1NFTlNJVElWSVRZX1BVQkxJQxABEiAKHFJVTlRJTUVfU0VOU0lUSVZJVFlfSU5URVJOQUwQAhIkCiBSVU5USU1FX1NFTlNJVElWSVRZX0NPTkZJREVOVElBTBADEiIKHlJVTlRJTUVfU0VOU0lUSVZJVFlfUkVTVFJJQ1RFRBAEKoICChRSdW50aW1lUmVkYWN0aW9uS2luZBImCiJSVU5USU1FX1JFREFDVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASHgoaUlVOVElNRV9SRURBQ1RJT05fS0lORF9QSUkQARIlCiFSVU5USU1FX1JFREFDVElPTl9LSU5EX0NSRURFTlRJQUwQAhIkCiBSVU5USU1FX1JFREFDVElPTl9LSU5EX1RPT0xfQVJHUxADEigKJFJVTlRJTUVfUkVEQUNUSU9OX0tJTkRfUE9MSUNZX0RFVEFJTBAEEisKJ1JVTlRJTUVfUkVEQUNUSU9OX0tJTkRfSU5URVJOQUxfQ09OVEVYVBAFKqECCiBSdW50aW1lVmlydHVhbEZpbGVSZWRhY3Rpb25TdGF0ZRI0CjBSVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIsCihSVU5USU1FX1ZJUlRVQUxfRklMRV9SRURBQ1RJT05fU1RBVEVfUkFXEAESMQotUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVEQUNUSU9OX1NUQVRFX1JFREFDVEVEEAISNQoxUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVEQUNUSU9OX1NUQVRFX1BSRVZJRVdfT05MWRADEi8KK1JVTlRJTUVfVklSVFVBTF9GSUxFX1JFREFDVElPTl9TVEFURV9ERU5JRUQQBCrNAQobUnVudGltZVZpcnR1YWxGaWxlT3BlcmF0aW9uEi4KKlJVTlRJTUVfVklSVFVBTF9GSUxFX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEigKJFJVTlRJTUVfVklSVFVBTF9GSUxFX09QRVJBVElPTl9XUklURRABEikKJVJVTlRJTUVfVklSVFVBTF9GSUxFX09QRVJBVElPTl9ERUxFVEUQAhIpCiVSVU5USU1FX1ZJUlRVQUxfRklMRV9PUEVSQVRJT05fUkVOQU1FEAMqhQQKHFJ1bnRpbWVWaXJ0dWFsRmlsZVJlYXNvbkNvZGUSMAosUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVBU09OX0NPREVfVU5TUEVDSUZJRUQQABIuCipSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9OT1RfRk9VTkQQARIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9GSUxURVJFRF9PVVQQAhI7CjdSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9UT1RBTF9CVURHRVRfRVhIQVVTVEVEEAMSMQotUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVBU09OX0NPREVfUEFUSF9JTlZBTElEEAQSNgoyUlVOVElNRV9WSVJUVUFMX0ZJTEVfUkVBU09OX0NPREVfQ0FQQUJJTElUWV9ERU5JRUQQBRI2CjJSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9SRVZJU0lPTl9DT05GTElDVBAGEjIKLlJVTlRJTUVfVklSVFVBTF9GSUxFX1JFQVNPTl9DT0RFX0NVUlNPUl9MQUdHRUQQBxI8CjhSVU5USU1FX1ZJUlRVQUxfRklMRV9SRUFTT05fQ09ERV9URU1QT1JBUklMWV9VTkFWQUlMQUJMRRAIKp0DCihSdW50aW1lVmlydHVhbEZpbGVUcmFuc2FjdGlvbkFwcGx5U3RhdHVzEj0KOVJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19VTlNQRUNJRklFRBAAEjcKM1JVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19DTEVBThABEjsKN1JVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX0FQUExZX1NUQVRVU19JREVOVElDQUwQAhI6CjZSVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9BUFBMWV9TVEFUVVNfQ09ORkxJQ1QQAxI+CjpSVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9BUFBMWV9TVEFUVVNfTUlTU0lOR19CQVNFEAQSQAo8UlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fQVBQTFlfU1RBVFVTX01JU1NJTkdfVEFSR0VUEAUq6gIKJFJ1bnRpbWVWaXJ0dWFsRmlsZVRyYW5zYWN0aW9uT3V0Y29tZRI4CjRSVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASMgouUlVOVElNRV9WSVJUVUFMX0ZJTEVfVFJBTlNBQ1RJT05fT1VUQ09NRV9DTEVBThABEjQKMFJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfQVBQTElFRBACEjQKMFJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfUkVCQVNFRBADEjUKMVJVTlRJTUVfVklSVFVBTF9GSUxFX1RSQU5TQUNUSU9OX09VVENPTUVfQ09ORkxJQ1QQBBIxCi1SVU5USU1FX1ZJUlRVQUxfRklMRV9UUkFOU0FDVElPTl9PVVRDT01FX05PT1AQBTK4JQoTQWdlbnRSdW50aW1lU2VydmljZRJeCg1IYW5kbGVUcmlnZ2VyEiUuYWdlbnRydW50aW1lLnYxLkhhbmRsZVRyaWdnZXJSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLkhhbmRsZVRyaWdnZXJSZXNwb25zZRJbCgxDbGFpbU5leHRSdW4SJC5hZ2VudHJ1bnRpbWUudjEuQ2xhaW1OZXh0UnVuUmVxdWVzdBolLmFnZW50cnVudGltZS52MS5DbGFpbU5leHRSdW5SZXNwb25zZRJbCgxIZWFydGJlYXRSdW4SJC5hZ2VudHJ1bnRpbWUudjEuSGVhcnRiZWF0UnVuUmVxdWVzdBolLmFnZW50cnVudGltZS52MS5IZWFydGJlYXRSdW5SZXNwb25zZRJeCg1SZW5ld1J1bkxlYXNlEiUuYWdlbnRydW50aW1lLnYxLlJlbmV3UnVuTGVhc2VSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLlJlbmV3UnVuTGVhc2VSZXNwb25zZRJeCg1SZWNvcmRSdW5TdGVwEiUuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blN0ZXBSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1blN0ZXBSZXNwb25zZRJwChNSZWNvcmRSdW5DaGVja3BvaW50EisuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkNoZWNrcG9pbnRSZXF1ZXN0GiwuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkNoZWNrcG9pbnRSZXNwb25zZRJqChFSZWNvcmRSdW5BcnRpZmFjdBIpLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5BcnRpZmFjdFJlcXVlc3QaKi5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuQXJ0aWZhY3RSZXNwb25zZRJeCg1SZWNvcmRSdW5Db3N0EiUuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkNvc3RSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLlJlY29yZFJ1bkNvc3RSZXNwb25zZRJ2ChVSZWNvcmRSdW5TdHJlYW1DdXJzb3ISLS5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuU3RyZWFtQ3Vyc29yUmVxdWVzdBouLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5TdHJlYW1DdXJzb3JSZXNwb25zZRJhCg5SZWNvcmRSdW5FdmVudBImLmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5FdmVudFJlcXVlc3QaJy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuRXZlbnRSZXNwb25zZRJMCgdXYWl0UnVuEh8uYWdlbnRydW50aW1lLnYxLldhaXRSdW5SZXF1ZXN0GiAuYWdlbnRydW50aW1lLnYxLldhaXRSdW5SZXNwb25zZRJSCglSZXN1bWVSdW4SIS5hZ2VudHJ1bnRpbWUudjEuUmVzdW1lUnVuUmVxdWVzdBoiLmFnZW50cnVudGltZS52MS5SZXN1bWVSdW5SZXNwb25zZRJYCgtDb21wbGV0ZVJ1bhIjLmFnZW50cnVudGltZS52MS5Db21wbGV0ZVJ1blJlcXVlc3QaJC5hZ2VudHJ1bnRpbWUudjEuQ29tcGxldGVSdW5SZXNwb25zZRJMCgdGYWlsUnVuEh8uYWdlbnRydW50aW1lLnYxLkZhaWxSdW5SZXF1ZXN0GiAuYWdlbnRydW50aW1lLnYxLkZhaWxSdW5SZXNwb25zZRJSCglDYW5jZWxSdW4SIS5hZ2VudHJ1bnRpbWUudjEuQ2FuY2VsUnVuUmVxdWVzdBoiLmFnZW50cnVudGltZS52MS5DYW5jZWxSdW5SZXNwb25zZRJPCghSZXRyeVJ1bhIgLmFnZW50cnVudGltZS52MS5SZXRyeVJ1blJlcXVlc3QaIS5hZ2VudHJ1bnRpbWUudjEuUmV0cnlSdW5SZXNwb25zZRJeCg1EZWFkTGV0dGVyUnVuEiUuYWdlbnRydW50aW1lLnYxLkRlYWRMZXR0ZXJSdW5SZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLkRlYWRMZXR0ZXJSdW5SZXNwb25zZRJJCgZHZXRSdW4SHi5hZ2VudHJ1bnRpbWUudjEuR2V0UnVuUmVxdWVzdBofLmFnZW50cnVudGltZS52MS5HZXRSdW5SZXNwb25zZRJ2ChVHZXRUZWFtbWF0ZVdvcmtMZWRnZXISLS5hZ2VudHJ1bnRpbWUudjEuR2V0VGVhbW1hdGVXb3JrTGVkZ2VyUmVxdWVzdBouLmFnZW50cnVudGltZS52MS5HZXRUZWFtbWF0ZVdvcmtMZWRnZXJSZXNwb25zZRJ5ChZMaXN0UnVuc0J5V29ya0VudmVsb3BlEi4uYWdlbnRydW50aW1lLnYxLkxpc3RSdW5zQnlXb3JrRW52ZWxvcGVSZXF1ZXN0Gi8uYWdlbnRydW50aW1lLnYxLkxpc3RSdW5zQnlXb3JrRW52ZWxvcGVSZXNwb25zZRJ/ChhHZXRDaGFubmVsVGhyZWFkQWRvcHRpb24SMC5hZ2VudHJ1bnRpbWUudjEuR2V0Q2hhbm5lbFRocmVhZEFkb3B0aW9uUmVxdWVzdBoxLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsVGhyZWFkQWRvcHRpb25SZXNwb25zZRKFAQoaTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnMSMi5hZ2VudHJ1bnRpbWUudjEuTGlzdENoYW5uZWxUaHJlYWRBZG9wdGlvbnNSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsVGhyZWFkQWRvcHRpb25zUmVzcG9uc2USWwoMTGlzdFJ1bldhaXRzEiQuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5XYWl0c1JlcXVlc3QaJS5hZ2VudHJ1bnRpbWUudjEuTGlzdFJ1bldhaXRzUmVzcG9uc2UShQEKGlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0EjIuYWdlbnRydW50aW1lLnYxLlJlY29yZENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBozLmFnZW50cnVudGltZS52MS5SZWNvcmRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEnwKF0dldENoYW5uZWxBY3Rpb25SZWNlaXB0Ei8uYWdlbnRydW50aW1lLnYxLkdldENoYW5uZWxBY3Rpb25SZWNlaXB0UmVxdWVzdBowLmFnZW50cnVudGltZS52MS5HZXRDaGFubmVsQWN0aW9uUmVjZWlwdFJlc3BvbnNlEoIBChlMaXN0Q2hhbm5lbEFjdGlvblJlY2VpcHRzEjEuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXF1ZXN0GjIuYWdlbnRydW50aW1lLnYxLkxpc3RDaGFubmVsQWN0aW9uUmVjZWlwdHNSZXNwb25zZRJeCg1MaXN0UnVuRXZlbnRzEiUuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXF1ZXN0GiYuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5FdmVudHNSZXNwb25zZRJwChNMaXN0UnVuVmlydHVhbEZpbGVzEisuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0GiwuYWdlbnRydW50aW1lLnYxLkxpc3RSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRJtChJSZWFkUnVuVmlydHVhbEZpbGUSKi5hZ2VudHJ1bnRpbWUudjEuUmVhZFJ1blZpcnR1YWxGaWxlUmVxdWVzdBorLmFnZW50cnVudGltZS52MS5SZWFkUnVuVmlydHVhbEZpbGVSZXNwb25zZRJtChJTdGF0UnVuVmlydHVhbEZpbGUSKi5hZ2VudHJ1bnRpbWUudjEuU3RhdFJ1blZpcnR1YWxGaWxlUmVxdWVzdBorLmFnZW50cnVudGltZS52MS5TdGF0UnVuVmlydHVhbEZpbGVSZXNwb25zZRJ1ChRXYXRjaFJ1blZpcnR1YWxGaWxlcxIsLmFnZW50cnVudGltZS52MS5XYXRjaFJ1blZpcnR1YWxGaWxlc1JlcXVlc3QaLS5hZ2VudHJ1bnRpbWUudjEuV2F0Y2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZTABEn8KGEJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlcxIwLmFnZW50cnVudGltZS52MS5CYXRjaFJlYWRSdW5WaXJ0dWFsRmlsZXNSZXF1ZXN0GjEuYWdlbnRydW50aW1lLnYxLkJhdGNoUmVhZFJ1blZpcnR1YWxGaWxlc1Jlc3BvbnNlEpEBCh5CdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2sSNi5hZ2VudHJ1bnRpbWUudjEuQnVpbGRSdW5WaXJ0dWFsRmlsZUNvbnRleHRQYWNrUmVxdWVzdBo3LmFnZW50cnVudGltZS52MS5CdWlsZFJ1blZpcnR1YWxGaWxlQ29udGV4dFBhY2tSZXNwb25zZRJ2ChVTZWFyY2hSdW5WaXJ0dWFsRmlsZXMSLS5hZ2VudHJ1bnRpbWUudjEuU2VhcmNoUnVuVmlydHVhbEZpbGVzUmVxdWVzdBouLmFnZW50cnVudGltZS52MS5TZWFyY2hSdW5WaXJ0dWFsRmlsZXNSZXNwb25zZRKLAQocUmVjb3JkUnVuVmlydHVhbEZpbGVQcm9wb3NhbBI0LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVxdWVzdBo1LmFnZW50cnVudGltZS52MS5SZWNvcmRSdW5WaXJ0dWFsRmlsZVByb3Bvc2FsUmVzcG9uc2USlAEKH1JlY29yZFJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNy5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOC5hZ2VudHJ1bnRpbWUudjEuUmVjb3JkUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEpcBCiBQcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI4LmFnZW50cnVudGltZS52MS5Qcm9tb3RlUnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlcXVlc3QaOS5hZ2VudHJ1bnRpbWUudjEuUHJvbW90ZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKOAQodRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb24SNS5hZ2VudHJ1bnRpbWUudjEuRGlmZlJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjYuYWdlbnRydW50aW1lLnYxLkRpZmZSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uUmVzcG9uc2USkQEKHkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvbhI2LmFnZW50cnVudGltZS52MS5BcHBseVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjcuYWdlbnRydW50aW1lLnYxLkFwcGx5UnVuVmlydHVhbEZpbGVUcmFuc2FjdGlvblJlc3BvbnNlEpQBCh9SZWJhc2VSdW5WaXJ0dWFsRmlsZVRyYW5zYWN0aW9uEjcuYWdlbnRydW50aW1lLnYxLlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXF1ZXN0GjguYWdlbnRydW50aW1lLnYxLlJlYmFzZVJ1blZpcnR1YWxGaWxlVHJhbnNhY3Rpb25SZXNwb25zZRKFAQoaSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnQSMi5hZ2VudHJ1bnRpbWUudjEuSHlkcmF0ZVJ1blZpcnR1YWxGaWxlTW91bnRSZXF1ZXN0GjMuYWdlbnRydW50aW1lLnYxLkh5ZHJhdGVSdW5WaXJ0dWFsRmlsZU1vdW50UmVzcG9uc2USeQoWSW5zcGVjdFJ1blZpcnR1YWxGaWxlcxIuLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVxdWVzdBovLmFnZW50cnVudGltZS52MS5JbnNwZWN0UnVuVmlydHVhbEZpbGVzUmVzcG9uc2VCQ1pBZ2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9hZ2VudHJ1bnRpbWUvdjE7YWdlbnRydW50aW1ldjFiBnByb3RvMw", [file_agents_v1_agents, file_buf_validate_validate, file_codex_v1_codex, file_common_v1_surface, file_google_protobuf_struct, file_google_protobuf_timestamp, file_objectives_v1_objectives]);
15
15
  /**
16
16
  * Describes the message agentruntime.v1.RuntimeChannelContext.
17
17
  * Use `create(RuntimeChannelContextSchema)` to create a new message.
@@ -57,466 +57,616 @@ export const RuntimeContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_
57
57
  * Use `create(RuntimeVirtualFileSchema)` to create a new message.
58
58
  */
59
59
  export const RuntimeVirtualFileSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 8);
60
+ /**
61
+ * Describes the message agentruntime.v1.RuntimeVirtualFileProvenance.
62
+ * Use `create(RuntimeVirtualFileProvenanceSchema)` to create a new message.
63
+ */
64
+ export const RuntimeVirtualFileProvenanceSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 9);
60
65
  /**
61
66
  * Describes the message agentruntime.v1.RuntimeVirtualFileEntry.
62
67
  * Use `create(RuntimeVirtualFileEntrySchema)` to create a new message.
63
68
  */
64
- export const RuntimeVirtualFileEntrySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 9);
69
+ export const RuntimeVirtualFileEntrySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 10);
65
70
  /**
66
71
  * Describes the message agentruntime.v1.RuntimeVirtualFileMatch.
67
72
  * Use `create(RuntimeVirtualFileMatchSchema)` to create a new message.
68
73
  */
69
- export const RuntimeVirtualFileMatchSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 10);
74
+ export const RuntimeVirtualFileMatchSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 11);
70
75
  /**
71
76
  * Describes the message agentruntime.v1.RuntimeDependency.
72
77
  * Use `create(RuntimeDependencySchema)` to create a new message.
73
78
  */
74
- export const RuntimeDependencySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 11);
79
+ export const RuntimeDependencySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 12);
75
80
  /**
76
81
  * Describes the message agentruntime.v1.AgentRunLinkage.
77
82
  * Use `create(AgentRunLinkageSchema)` to create a new message.
78
83
  */
79
- export const AgentRunLinkageSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 12);
84
+ export const AgentRunLinkageSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 13);
80
85
  /**
81
86
  * Describes the message agentruntime.v1.RuntimeTraceContext.
82
87
  * Use `create(RuntimeTraceContextSchema)` to create a new message.
83
88
  */
84
- export const RuntimeTraceContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 13);
89
+ export const RuntimeTraceContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 14);
85
90
  /**
86
91
  * Describes the message agentruntime.v1.AgentRun.
87
92
  * Use `create(AgentRunSchema)` to create a new message.
88
93
  */
89
- export const AgentRunSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 14);
94
+ export const AgentRunSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 15);
90
95
  /**
91
96
  * Describes the message agentruntime.v1.AgentRunLease.
92
97
  * Use `create(AgentRunLeaseSchema)` to create a new message.
93
98
  */
94
- export const AgentRunLeaseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 15);
99
+ export const AgentRunLeaseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 16);
95
100
  /**
96
101
  * Describes the message agentruntime.v1.AgentRunStep.
97
102
  * Use `create(AgentRunStepSchema)` to create a new message.
98
103
  */
99
- export const AgentRunStepSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 16);
104
+ export const AgentRunStepSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 17);
100
105
  /**
101
106
  * Describes the message agentruntime.v1.AgentRunCheckpoint.
102
107
  * Use `create(AgentRunCheckpointSchema)` to create a new message.
103
108
  */
104
- export const AgentRunCheckpointSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 17);
109
+ export const AgentRunCheckpointSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 18);
105
110
  /**
106
111
  * Describes the message agentruntime.v1.AgentRunWait.
107
112
  * Use `create(AgentRunWaitSchema)` to create a new message.
108
113
  */
109
- export const AgentRunWaitSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 18);
114
+ export const AgentRunWaitSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 19);
110
115
  /**
111
116
  * Describes the message agentruntime.v1.AgentRunArtifact.
112
117
  * Use `create(AgentRunArtifactSchema)` to create a new message.
113
118
  */
114
- export const AgentRunArtifactSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 19);
119
+ export const AgentRunArtifactSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 20);
115
120
  /**
116
121
  * Describes the message agentruntime.v1.AgentRunCost.
117
122
  * Use `create(AgentRunCostSchema)` to create a new message.
118
123
  */
119
- export const AgentRunCostSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 20);
124
+ export const AgentRunCostSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 21);
120
125
  /**
121
126
  * Describes the message agentruntime.v1.AgentRunStreamCursor.
122
127
  * Use `create(AgentRunStreamCursorSchema)` to create a new message.
123
128
  */
124
- export const AgentRunStreamCursorSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 21);
129
+ export const AgentRunStreamCursorSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 22);
125
130
  /**
126
131
  * Describes the message agentruntime.v1.RuntimeEvent.
127
132
  * Use `create(RuntimeEventSchema)` to create a new message.
128
133
  */
129
- export const RuntimeEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 22);
134
+ export const RuntimeEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 23);
130
135
  /**
131
136
  * Describes the message agentruntime.v1.HandleTriggerRequest.
132
137
  * Use `create(HandleTriggerRequestSchema)` to create a new message.
133
138
  */
134
- export const HandleTriggerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 23);
139
+ export const HandleTriggerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 24);
135
140
  /**
136
141
  * Describes the message agentruntime.v1.HandleTriggerResponse.
137
142
  * Use `create(HandleTriggerResponseSchema)` to create a new message.
138
143
  */
139
- export const HandleTriggerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 24);
144
+ export const HandleTriggerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 25);
140
145
  /**
141
146
  * Describes the message agentruntime.v1.ClaimNextRunRequest.
142
147
  * Use `create(ClaimNextRunRequestSchema)` to create a new message.
143
148
  */
144
- export const ClaimNextRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 25);
149
+ export const ClaimNextRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 26);
145
150
  /**
146
151
  * Describes the message agentruntime.v1.ClaimNextRunResponse.
147
152
  * Use `create(ClaimNextRunResponseSchema)` to create a new message.
148
153
  */
149
- export const ClaimNextRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 26);
154
+ export const ClaimNextRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 27);
150
155
  /**
151
156
  * Describes the message agentruntime.v1.HeartbeatRunRequest.
152
157
  * Use `create(HeartbeatRunRequestSchema)` to create a new message.
153
158
  */
154
- export const HeartbeatRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 27);
159
+ export const HeartbeatRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 28);
155
160
  /**
156
161
  * Describes the message agentruntime.v1.HeartbeatRunResponse.
157
162
  * Use `create(HeartbeatRunResponseSchema)` to create a new message.
158
163
  */
159
- export const HeartbeatRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 28);
164
+ export const HeartbeatRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 29);
165
+ /**
166
+ * Describes the message agentruntime.v1.RenewRunLeaseRequest.
167
+ * Use `create(RenewRunLeaseRequestSchema)` to create a new message.
168
+ */
169
+ export const RenewRunLeaseRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 30);
170
+ /**
171
+ * Describes the message agentruntime.v1.RenewRunLeaseResponse.
172
+ * Use `create(RenewRunLeaseResponseSchema)` to create a new message.
173
+ */
174
+ export const RenewRunLeaseResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 31);
160
175
  /**
161
176
  * Describes the message agentruntime.v1.RecordRunStepRequest.
162
177
  * Use `create(RecordRunStepRequestSchema)` to create a new message.
163
178
  */
164
- export const RecordRunStepRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 29);
179
+ export const RecordRunStepRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 32);
165
180
  /**
166
181
  * Describes the message agentruntime.v1.RecordRunStepResponse.
167
182
  * Use `create(RecordRunStepResponseSchema)` to create a new message.
168
183
  */
169
- export const RecordRunStepResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 30);
184
+ export const RecordRunStepResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 33);
170
185
  /**
171
186
  * Describes the message agentruntime.v1.RecordRunCheckpointRequest.
172
187
  * Use `create(RecordRunCheckpointRequestSchema)` to create a new message.
173
188
  */
174
- export const RecordRunCheckpointRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 31);
189
+ export const RecordRunCheckpointRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 34);
175
190
  /**
176
191
  * Describes the message agentruntime.v1.RecordRunCheckpointResponse.
177
192
  * Use `create(RecordRunCheckpointResponseSchema)` to create a new message.
178
193
  */
179
- export const RecordRunCheckpointResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 32);
194
+ export const RecordRunCheckpointResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 35);
180
195
  /**
181
196
  * Describes the message agentruntime.v1.RecordRunArtifactRequest.
182
197
  * Use `create(RecordRunArtifactRequestSchema)` to create a new message.
183
198
  */
184
- export const RecordRunArtifactRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 33);
199
+ export const RecordRunArtifactRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 36);
185
200
  /**
186
201
  * Describes the message agentruntime.v1.RecordRunArtifactResponse.
187
202
  * Use `create(RecordRunArtifactResponseSchema)` to create a new message.
188
203
  */
189
- export const RecordRunArtifactResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 34);
204
+ export const RecordRunArtifactResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 37);
190
205
  /**
191
206
  * Describes the message agentruntime.v1.RecordRunCostRequest.
192
207
  * Use `create(RecordRunCostRequestSchema)` to create a new message.
193
208
  */
194
- export const RecordRunCostRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 35);
209
+ export const RecordRunCostRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 38);
195
210
  /**
196
211
  * Describes the message agentruntime.v1.RecordRunCostResponse.
197
212
  * Use `create(RecordRunCostResponseSchema)` to create a new message.
198
213
  */
199
- export const RecordRunCostResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 36);
214
+ export const RecordRunCostResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 39);
200
215
  /**
201
216
  * Describes the message agentruntime.v1.RecordRunStreamCursorRequest.
202
217
  * Use `create(RecordRunStreamCursorRequestSchema)` to create a new message.
203
218
  */
204
- export const RecordRunStreamCursorRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 37);
219
+ export const RecordRunStreamCursorRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 40);
205
220
  /**
206
221
  * Describes the message agentruntime.v1.RecordRunStreamCursorResponse.
207
222
  * Use `create(RecordRunStreamCursorResponseSchema)` to create a new message.
208
223
  */
209
- export const RecordRunStreamCursorResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 38);
224
+ export const RecordRunStreamCursorResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 41);
210
225
  /**
211
226
  * Describes the message agentruntime.v1.RecordRunEventRequest.
212
227
  * Use `create(RecordRunEventRequestSchema)` to create a new message.
213
228
  */
214
- export const RecordRunEventRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 39);
229
+ export const RecordRunEventRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 42);
215
230
  /**
216
231
  * Describes the message agentruntime.v1.RecordRunEventResponse.
217
232
  * Use `create(RecordRunEventResponseSchema)` to create a new message.
218
233
  */
219
- export const RecordRunEventResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 40);
234
+ export const RecordRunEventResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 43);
220
235
  /**
221
236
  * Describes the message agentruntime.v1.WaitRunRequest.
222
237
  * Use `create(WaitRunRequestSchema)` to create a new message.
223
238
  */
224
- export const WaitRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 41);
239
+ export const WaitRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 44);
225
240
  /**
226
241
  * Describes the message agentruntime.v1.WaitRunResponse.
227
242
  * Use `create(WaitRunResponseSchema)` to create a new message.
228
243
  */
229
- export const WaitRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 42);
244
+ export const WaitRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 45);
230
245
  /**
231
246
  * Describes the message agentruntime.v1.ResumeRunRequest.
232
247
  * Use `create(ResumeRunRequestSchema)` to create a new message.
233
248
  */
234
- export const ResumeRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 43);
249
+ export const ResumeRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 46);
235
250
  /**
236
251
  * Describes the message agentruntime.v1.ResumeRunResponse.
237
252
  * Use `create(ResumeRunResponseSchema)` to create a new message.
238
253
  */
239
- export const ResumeRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 44);
254
+ export const ResumeRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 47);
240
255
  /**
241
256
  * Describes the message agentruntime.v1.CompleteRunRequest.
242
257
  * Use `create(CompleteRunRequestSchema)` to create a new message.
243
258
  */
244
- export const CompleteRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 45);
259
+ export const CompleteRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 48);
245
260
  /**
246
261
  * Describes the message agentruntime.v1.CompleteRunResponse.
247
262
  * Use `create(CompleteRunResponseSchema)` to create a new message.
248
263
  */
249
- export const CompleteRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 46);
264
+ export const CompleteRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 49);
250
265
  /**
251
266
  * Describes the message agentruntime.v1.FailRunRequest.
252
267
  * Use `create(FailRunRequestSchema)` to create a new message.
253
268
  */
254
- export const FailRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 47);
269
+ export const FailRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 50);
255
270
  /**
256
271
  * Describes the message agentruntime.v1.FailRunResponse.
257
272
  * Use `create(FailRunResponseSchema)` to create a new message.
258
273
  */
259
- export const FailRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 48);
274
+ export const FailRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 51);
260
275
  /**
261
276
  * Describes the message agentruntime.v1.CancelRunRequest.
262
277
  * Use `create(CancelRunRequestSchema)` to create a new message.
263
278
  */
264
- export const CancelRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 49);
279
+ export const CancelRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 52);
265
280
  /**
266
281
  * Describes the message agentruntime.v1.CancelRunResponse.
267
282
  * Use `create(CancelRunResponseSchema)` to create a new message.
268
283
  */
269
- export const CancelRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 50);
284
+ export const CancelRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 53);
270
285
  /**
271
286
  * Describes the message agentruntime.v1.RetryRunRequest.
272
287
  * Use `create(RetryRunRequestSchema)` to create a new message.
273
288
  */
274
- export const RetryRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 51);
289
+ export const RetryRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 54);
275
290
  /**
276
291
  * Describes the message agentruntime.v1.RetryRunResponse.
277
292
  * Use `create(RetryRunResponseSchema)` to create a new message.
278
293
  */
279
- export const RetryRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 52);
294
+ export const RetryRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 55);
280
295
  /**
281
296
  * Describes the message agentruntime.v1.DeadLetterRunRequest.
282
297
  * Use `create(DeadLetterRunRequestSchema)` to create a new message.
283
298
  */
284
- export const DeadLetterRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 53);
299
+ export const DeadLetterRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 56);
285
300
  /**
286
301
  * Describes the message agentruntime.v1.DeadLetterRunResponse.
287
302
  * Use `create(DeadLetterRunResponseSchema)` to create a new message.
288
303
  */
289
- export const DeadLetterRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 54);
304
+ export const DeadLetterRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 57);
290
305
  /**
291
306
  * Describes the message agentruntime.v1.GetRunRequest.
292
307
  * Use `create(GetRunRequestSchema)` to create a new message.
293
308
  */
294
- export const GetRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 55);
309
+ export const GetRunRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 58);
295
310
  /**
296
311
  * Describes the message agentruntime.v1.GetRunResponse.
297
312
  * Use `create(GetRunResponseSchema)` to create a new message.
298
313
  */
299
- export const GetRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 56);
314
+ export const GetRunResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 59);
300
315
  /**
301
316
  * Describes the message agentruntime.v1.GetTeammateWorkLedgerRequest.
302
317
  * Use `create(GetTeammateWorkLedgerRequestSchema)` to create a new message.
303
318
  */
304
- export const GetTeammateWorkLedgerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 57);
319
+ export const GetTeammateWorkLedgerRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 60);
305
320
  /**
306
321
  * Describes the message agentruntime.v1.GetTeammateWorkLedgerResponse.
307
322
  * Use `create(GetTeammateWorkLedgerResponseSchema)` to create a new message.
308
323
  */
309
- export const GetTeammateWorkLedgerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 58);
324
+ export const GetTeammateWorkLedgerResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 61);
310
325
  /**
311
326
  * Describes the message agentruntime.v1.TeammateWorkLedger.
312
327
  * Use `create(TeammateWorkLedgerSchema)` to create a new message.
313
328
  */
314
- export const TeammateWorkLedgerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 59);
329
+ export const TeammateWorkLedgerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 62);
315
330
  /**
316
331
  * Describes the message agentruntime.v1.TeammateWorkLedgerBlocker.
317
332
  * Use `create(TeammateWorkLedgerBlockerSchema)` to create a new message.
318
333
  */
319
- export const TeammateWorkLedgerBlockerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 60);
334
+ export const TeammateWorkLedgerBlockerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 63);
320
335
  /**
321
336
  * Describes the message agentruntime.v1.TeammateWorkLedgerWaitResumeContract.
322
337
  * Use `create(TeammateWorkLedgerWaitResumeContractSchema)` to create a new message.
323
338
  */
324
- export const TeammateWorkLedgerWaitResumeContractSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 61);
339
+ export const TeammateWorkLedgerWaitResumeContractSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 64);
325
340
  /**
326
341
  * Describes the message agentruntime.v1.TeammateWorkLedgerConnectorAccess.
327
342
  * Use `create(TeammateWorkLedgerConnectorAccessSchema)` to create a new message.
328
343
  */
329
- export const TeammateWorkLedgerConnectorAccessSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 62);
344
+ export const TeammateWorkLedgerConnectorAccessSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 65);
330
345
  /**
331
346
  * Describes the message agentruntime.v1.TeammateWorkLedgerMemoryCitation.
332
347
  * Use `create(TeammateWorkLedgerMemoryCitationSchema)` to create a new message.
333
348
  */
334
- export const TeammateWorkLedgerMemoryCitationSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 63);
349
+ export const TeammateWorkLedgerMemoryCitationSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 66);
335
350
  /**
336
351
  * Describes the message agentruntime.v1.TeammateWorkLedgerVfsSummary.
337
352
  * Use `create(TeammateWorkLedgerVfsSummarySchema)` to create a new message.
338
353
  */
339
- export const TeammateWorkLedgerVfsSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 64);
354
+ export const TeammateWorkLedgerVfsSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 67);
340
355
  /**
341
356
  * Describes the message agentruntime.v1.TeammateWorkLedgerCerebroContext.
342
357
  * Use `create(TeammateWorkLedgerCerebroContextSchema)` to create a new message.
343
358
  */
344
- export const TeammateWorkLedgerCerebroContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 65);
359
+ export const TeammateWorkLedgerCerebroContextSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 68);
345
360
  /**
346
361
  * Describes the message agentruntime.v1.TeammateWorkLedgerProactivePolicy.
347
362
  * Use `create(TeammateWorkLedgerProactivePolicySchema)` to create a new message.
348
363
  */
349
- export const TeammateWorkLedgerProactivePolicySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 66);
364
+ export const TeammateWorkLedgerProactivePolicySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 69);
350
365
  /**
351
366
  * Describes the message agentruntime.v1.TeammateWorkLedgerChannelStatus.
352
367
  * Use `create(TeammateWorkLedgerChannelStatusSchema)` to create a new message.
353
368
  */
354
- export const TeammateWorkLedgerChannelStatusSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 67);
369
+ export const TeammateWorkLedgerChannelStatusSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 70);
355
370
  /**
356
371
  * Describes the message agentruntime.v1.ListRunsByWorkEnvelopeRequest.
357
372
  * Use `create(ListRunsByWorkEnvelopeRequestSchema)` to create a new message.
358
373
  */
359
- export const ListRunsByWorkEnvelopeRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 68);
374
+ export const ListRunsByWorkEnvelopeRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 71);
360
375
  /**
361
376
  * Describes the message agentruntime.v1.ListRunsByWorkEnvelopeResponse.
362
377
  * Use `create(ListRunsByWorkEnvelopeResponseSchema)` to create a new message.
363
378
  */
364
- export const ListRunsByWorkEnvelopeResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 69);
379
+ export const ListRunsByWorkEnvelopeResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 72);
380
+ /**
381
+ * Describes the message agentruntime.v1.ChannelThreadAdoption.
382
+ * Use `create(ChannelThreadAdoptionSchema)` to create a new message.
383
+ */
384
+ export const ChannelThreadAdoptionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 73);
385
+ /**
386
+ * Describes the message agentruntime.v1.GetChannelThreadAdoptionRequest.
387
+ * Use `create(GetChannelThreadAdoptionRequestSchema)` to create a new message.
388
+ */
389
+ export const GetChannelThreadAdoptionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 74);
390
+ /**
391
+ * Describes the message agentruntime.v1.GetChannelThreadAdoptionResponse.
392
+ * Use `create(GetChannelThreadAdoptionResponseSchema)` to create a new message.
393
+ */
394
+ export const GetChannelThreadAdoptionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 75);
395
+ /**
396
+ * Describes the message agentruntime.v1.ListChannelThreadAdoptionsRequest.
397
+ * Use `create(ListChannelThreadAdoptionsRequestSchema)` to create a new message.
398
+ */
399
+ export const ListChannelThreadAdoptionsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 76);
400
+ /**
401
+ * Describes the message agentruntime.v1.ListChannelThreadAdoptionsResponse.
402
+ * Use `create(ListChannelThreadAdoptionsResponseSchema)` to create a new message.
403
+ */
404
+ export const ListChannelThreadAdoptionsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 77);
365
405
  /**
366
406
  * Describes the message agentruntime.v1.ListRunWaitsRequest.
367
407
  * Use `create(ListRunWaitsRequestSchema)` to create a new message.
368
408
  */
369
- export const ListRunWaitsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 70);
409
+ export const ListRunWaitsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 78);
370
410
  /**
371
411
  * Describes the message agentruntime.v1.AgentRunWaitSummary.
372
412
  * Use `create(AgentRunWaitSummarySchema)` to create a new message.
373
413
  */
374
- export const AgentRunWaitSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 71);
414
+ export const AgentRunWaitSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 79);
375
415
  /**
376
416
  * Describes the message agentruntime.v1.ListRunWaitsResponse.
377
417
  * Use `create(ListRunWaitsResponseSchema)` to create a new message.
378
418
  */
379
- export const ListRunWaitsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 72);
419
+ export const ListRunWaitsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 80);
380
420
  /**
381
421
  * Describes the message agentruntime.v1.RecordChannelActionReceiptRequest.
382
422
  * Use `create(RecordChannelActionReceiptRequestSchema)` to create a new message.
383
423
  */
384
- export const RecordChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 73);
424
+ export const RecordChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 81);
385
425
  /**
386
426
  * Describes the message agentruntime.v1.RecordChannelActionReceiptResponse.
387
427
  * Use `create(RecordChannelActionReceiptResponseSchema)` to create a new message.
388
428
  */
389
- export const RecordChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 74);
429
+ export const RecordChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 82);
390
430
  /**
391
431
  * Describes the message agentruntime.v1.GetChannelActionReceiptRequest.
392
432
  * Use `create(GetChannelActionReceiptRequestSchema)` to create a new message.
393
433
  */
394
- export const GetChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 75);
434
+ export const GetChannelActionReceiptRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 83);
395
435
  /**
396
436
  * Describes the message agentruntime.v1.GetChannelActionReceiptResponse.
397
437
  * Use `create(GetChannelActionReceiptResponseSchema)` to create a new message.
398
438
  */
399
- export const GetChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 76);
439
+ export const GetChannelActionReceiptResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 84);
400
440
  /**
401
441
  * Describes the message agentruntime.v1.ListChannelActionReceiptsRequest.
402
442
  * Use `create(ListChannelActionReceiptsRequestSchema)` to create a new message.
403
443
  */
404
- export const ListChannelActionReceiptsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 77);
444
+ export const ListChannelActionReceiptsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 85);
405
445
  /**
406
446
  * Describes the message agentruntime.v1.ListChannelActionReceiptsResponse.
407
447
  * Use `create(ListChannelActionReceiptsResponseSchema)` to create a new message.
408
448
  */
409
- export const ListChannelActionReceiptsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 78);
449
+ export const ListChannelActionReceiptsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 86);
410
450
  /**
411
451
  * Describes the message agentruntime.v1.ListRunEventsRequest.
412
452
  * Use `create(ListRunEventsRequestSchema)` to create a new message.
413
453
  */
414
- export const ListRunEventsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 79);
454
+ export const ListRunEventsRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 87);
415
455
  /**
416
456
  * Describes the message agentruntime.v1.ListRunEventsResponse.
417
457
  * Use `create(ListRunEventsResponseSchema)` to create a new message.
418
458
  */
419
- export const ListRunEventsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 80);
459
+ export const ListRunEventsResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 88);
420
460
  /**
421
461
  * Describes the message agentruntime.v1.ListRunVirtualFilesRequest.
422
462
  * Use `create(ListRunVirtualFilesRequestSchema)` to create a new message.
423
463
  */
424
- export const ListRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 81);
464
+ export const ListRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 89);
425
465
  /**
426
466
  * Describes the message agentruntime.v1.ListRunVirtualFilesResponse.
427
467
  * Use `create(ListRunVirtualFilesResponseSchema)` to create a new message.
428
468
  */
429
- export const ListRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 82);
469
+ export const ListRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 90);
430
470
  /**
431
471
  * Describes the message agentruntime.v1.ReadRunVirtualFileRequest.
432
472
  * Use `create(ReadRunVirtualFileRequestSchema)` to create a new message.
433
473
  */
434
- export const ReadRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 83);
474
+ export const ReadRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 91);
435
475
  /**
436
476
  * Describes the message agentruntime.v1.ReadRunVirtualFileResponse.
437
477
  * Use `create(ReadRunVirtualFileResponseSchema)` to create a new message.
438
478
  */
439
- export const ReadRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 84);
479
+ export const ReadRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 92);
480
+ /**
481
+ * Describes the message agentruntime.v1.StatRunVirtualFileRequest.
482
+ * Use `create(StatRunVirtualFileRequestSchema)` to create a new message.
483
+ */
484
+ export const StatRunVirtualFileRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 93);
485
+ /**
486
+ * Describes the message agentruntime.v1.StatRunVirtualFileResponse.
487
+ * Use `create(StatRunVirtualFileResponseSchema)` to create a new message.
488
+ */
489
+ export const StatRunVirtualFileResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 94);
490
+ /**
491
+ * Describes the message agentruntime.v1.WatchRunVirtualFilesRequest.
492
+ * Use `create(WatchRunVirtualFilesRequestSchema)` to create a new message.
493
+ */
494
+ export const WatchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 95);
495
+ /**
496
+ * Describes the message agentruntime.v1.WatchRunVirtualFilesResponse.
497
+ * Use `create(WatchRunVirtualFilesResponseSchema)` to create a new message.
498
+ */
499
+ export const WatchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 96);
500
+ /**
501
+ * Describes the message agentruntime.v1.RuntimeVirtualFileWatchEvent.
502
+ * Use `create(RuntimeVirtualFileWatchEventSchema)` to create a new message.
503
+ */
504
+ export const RuntimeVirtualFileWatchEventSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 97);
505
+ /**
506
+ * Describes the message agentruntime.v1.RuntimeVirtualFileSelector.
507
+ * Use `create(RuntimeVirtualFileSelectorSchema)` to create a new message.
508
+ */
509
+ export const RuntimeVirtualFileSelectorSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 98);
510
+ /**
511
+ * Describes the message agentruntime.v1.RuntimeVirtualFileReadResult.
512
+ * Use `create(RuntimeVirtualFileReadResultSchema)` to create a new message.
513
+ */
514
+ export const RuntimeVirtualFileReadResultSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 99);
515
+ /**
516
+ * Describes the message agentruntime.v1.BatchReadRunVirtualFilesRequest.
517
+ * Use `create(BatchReadRunVirtualFilesRequestSchema)` to create a new message.
518
+ */
519
+ export const BatchReadRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 100);
520
+ /**
521
+ * Describes the message agentruntime.v1.BatchReadRunVirtualFilesResponse.
522
+ * Use `create(BatchReadRunVirtualFilesResponseSchema)` to create a new message.
523
+ */
524
+ export const BatchReadRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 101);
525
+ /**
526
+ * Describes the message agentruntime.v1.BuildRunVirtualFileContextPackRequest.
527
+ * Use `create(BuildRunVirtualFileContextPackRequestSchema)` to create a new message.
528
+ */
529
+ export const BuildRunVirtualFileContextPackRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 102);
530
+ /**
531
+ * Describes the message agentruntime.v1.BuildRunVirtualFileContextPackResponse.
532
+ * Use `create(BuildRunVirtualFileContextPackResponseSchema)` to create a new message.
533
+ */
534
+ export const BuildRunVirtualFileContextPackResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 103);
440
535
  /**
441
536
  * Describes the message agentruntime.v1.SearchRunVirtualFilesRequest.
442
537
  * Use `create(SearchRunVirtualFilesRequestSchema)` to create a new message.
443
538
  */
444
- export const SearchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 85);
539
+ export const SearchRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 104);
445
540
  /**
446
541
  * Describes the message agentruntime.v1.SearchRunVirtualFilesResponse.
447
542
  * Use `create(SearchRunVirtualFilesResponseSchema)` to create a new message.
448
543
  */
449
- export const SearchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 86);
544
+ export const SearchRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 105);
450
545
  /**
451
546
  * Describes the message agentruntime.v1.RecordRunVirtualFileProposalRequest.
452
547
  * Use `create(RecordRunVirtualFileProposalRequestSchema)` to create a new message.
453
548
  */
454
- export const RecordRunVirtualFileProposalRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 87);
549
+ export const RecordRunVirtualFileProposalRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 106);
455
550
  /**
456
551
  * Describes the message agentruntime.v1.RecordRunVirtualFileProposalResponse.
457
552
  * Use `create(RecordRunVirtualFileProposalResponseSchema)` to create a new message.
458
553
  */
459
- export const RecordRunVirtualFileProposalResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 88);
554
+ export const RecordRunVirtualFileProposalResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 107);
460
555
  /**
461
556
  * Describes the message agentruntime.v1.RuntimeVirtualFileChange.
462
557
  * Use `create(RuntimeVirtualFileChangeSchema)` to create a new message.
463
558
  */
464
- export const RuntimeVirtualFileChangeSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 89);
559
+ export const RuntimeVirtualFileChangeSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 108);
465
560
  /**
466
561
  * Describes the message agentruntime.v1.RecordRunVirtualFileTransactionRequest.
467
562
  * Use `create(RecordRunVirtualFileTransactionRequestSchema)` to create a new message.
468
563
  */
469
- export const RecordRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 90);
564
+ export const RecordRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 109);
470
565
  /**
471
566
  * Describes the message agentruntime.v1.RecordRunVirtualFileTransactionResponse.
472
567
  * Use `create(RecordRunVirtualFileTransactionResponseSchema)` to create a new message.
473
568
  */
474
- export const RecordRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 91);
569
+ export const RecordRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 110);
475
570
  /**
476
571
  * Describes the message agentruntime.v1.PromoteRunVirtualFileTransactionRequest.
477
572
  * Use `create(PromoteRunVirtualFileTransactionRequestSchema)` to create a new message.
478
573
  */
479
- export const PromoteRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 92);
574
+ export const PromoteRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 111);
480
575
  /**
481
576
  * Describes the message agentruntime.v1.PromoteRunVirtualFileTransactionResponse.
482
577
  * Use `create(PromoteRunVirtualFileTransactionResponseSchema)` to create a new message.
483
578
  */
484
- export const PromoteRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 93);
579
+ export const PromoteRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 112);
580
+ /**
581
+ * Describes the message agentruntime.v1.RuntimeVirtualFileDiffHunk.
582
+ * Use `create(RuntimeVirtualFileDiffHunkSchema)` to create a new message.
583
+ */
584
+ export const RuntimeVirtualFileDiffHunkSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 113);
585
+ /**
586
+ * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionFileDiff.
587
+ * Use `create(RuntimeVirtualFileTransactionFileDiffSchema)` to create a new message.
588
+ */
589
+ export const RuntimeVirtualFileTransactionFileDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 114);
590
+ /**
591
+ * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionConflict.
592
+ * Use `create(RuntimeVirtualFileTransactionConflictSchema)` to create a new message.
593
+ */
594
+ export const RuntimeVirtualFileTransactionConflictSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 115);
595
+ /**
596
+ * Describes the message agentruntime.v1.RuntimeVirtualFileTransactionDiff.
597
+ * Use `create(RuntimeVirtualFileTransactionDiffSchema)` to create a new message.
598
+ */
599
+ export const RuntimeVirtualFileTransactionDiffSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 116);
600
+ /**
601
+ * Describes the message agentruntime.v1.DiffRunVirtualFileTransactionRequest.
602
+ * Use `create(DiffRunVirtualFileTransactionRequestSchema)` to create a new message.
603
+ */
604
+ export const DiffRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 117);
605
+ /**
606
+ * Describes the message agentruntime.v1.DiffRunVirtualFileTransactionResponse.
607
+ * Use `create(DiffRunVirtualFileTransactionResponseSchema)` to create a new message.
608
+ */
609
+ export const DiffRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 118);
610
+ /**
611
+ * Describes the message agentruntime.v1.ApplyRunVirtualFileTransactionRequest.
612
+ * Use `create(ApplyRunVirtualFileTransactionRequestSchema)` to create a new message.
613
+ */
614
+ export const ApplyRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 119);
615
+ /**
616
+ * Describes the message agentruntime.v1.ApplyRunVirtualFileTransactionResponse.
617
+ * Use `create(ApplyRunVirtualFileTransactionResponseSchema)` to create a new message.
618
+ */
619
+ export const ApplyRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 120);
620
+ /**
621
+ * Describes the message agentruntime.v1.RebaseRunVirtualFileTransactionRequest.
622
+ * Use `create(RebaseRunVirtualFileTransactionRequestSchema)` to create a new message.
623
+ */
624
+ export const RebaseRunVirtualFileTransactionRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 121);
625
+ /**
626
+ * Describes the message agentruntime.v1.RebaseRunVirtualFileTransactionResponse.
627
+ * Use `create(RebaseRunVirtualFileTransactionResponseSchema)` to create a new message.
628
+ */
629
+ export const RebaseRunVirtualFileTransactionResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 122);
485
630
  /**
486
631
  * Describes the message agentruntime.v1.HydrateRunVirtualFileMountRequest.
487
632
  * Use `create(HydrateRunVirtualFileMountRequestSchema)` to create a new message.
488
633
  */
489
- export const HydrateRunVirtualFileMountRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 94);
634
+ export const HydrateRunVirtualFileMountRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 123);
490
635
  /**
491
636
  * Describes the message agentruntime.v1.HydrateRunVirtualFileMountResponse.
492
637
  * Use `create(HydrateRunVirtualFileMountResponseSchema)` to create a new message.
493
638
  */
494
- export const HydrateRunVirtualFileMountResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 95);
639
+ export const HydrateRunVirtualFileMountResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 124);
495
640
  /**
496
641
  * Describes the message agentruntime.v1.InspectRunVirtualFilesRequest.
497
642
  * Use `create(InspectRunVirtualFilesRequestSchema)` to create a new message.
498
643
  */
499
- export const InspectRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 96);
644
+ export const InspectRunVirtualFilesRequestSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 125);
500
645
  /**
501
646
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorSummary.
502
647
  * Use `create(RuntimeVirtualFileInspectorSummarySchema)` to create a new message.
503
648
  */
504
- export const RuntimeVirtualFileInspectorSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 97);
649
+ export const RuntimeVirtualFileInspectorSummarySchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 126);
505
650
  /**
506
651
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorMount.
507
652
  * Use `create(RuntimeVirtualFileInspectorMountSchema)` to create a new message.
508
653
  */
509
- export const RuntimeVirtualFileInspectorMountSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 98);
654
+ export const RuntimeVirtualFileInspectorMountSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 127);
510
655
  /**
511
656
  * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorTransaction.
512
657
  * Use `create(RuntimeVirtualFileInspectorTransactionSchema)` to create a new message.
513
658
  */
514
- export const RuntimeVirtualFileInspectorTransactionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 99);
659
+ export const RuntimeVirtualFileInspectorTransactionSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 128);
660
+ /**
661
+ * Describes the message agentruntime.v1.RuntimeVirtualFileInspectorProducer.
662
+ * Use `create(RuntimeVirtualFileInspectorProducerSchema)` to create a new message.
663
+ */
664
+ export const RuntimeVirtualFileInspectorProducerSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 129);
515
665
  /**
516
666
  * Describes the message agentruntime.v1.InspectRunVirtualFilesResponse.
517
667
  * Use `create(InspectRunVirtualFilesResponseSchema)` to create a new message.
518
668
  */
519
- export const InspectRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 100);
669
+ export const InspectRunVirtualFilesResponseSchema = /*@__PURE__*/ messageDesc(file_agentruntime_v1_runtime, 130);
520
670
  /**
521
671
  * AgentRunState describes the runtime lifecycle of one durable attempt.
522
672
  *
@@ -1594,6 +1744,184 @@ export var RuntimeRedactionKind;
1594
1744
  * Describes the enum agentruntime.v1.RuntimeRedactionKind.
1595
1745
  */
1596
1746
  export const RuntimeRedactionKindSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 19);
1747
+ /**
1748
+ * RuntimeVirtualFileRedactionState mirrors the workspace VFS byte plane's
1749
+ * redaction contract so Runtime VFS callers can discover whether content is
1750
+ * safe to read, preview-only, already redacted, or denied.
1751
+ *
1752
+ * @generated from enum agentruntime.v1.RuntimeVirtualFileRedactionState
1753
+ */
1754
+ export var RuntimeVirtualFileRedactionState;
1755
+ (function (RuntimeVirtualFileRedactionState) {
1756
+ /**
1757
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REDACTION_STATE_UNSPECIFIED = 0;
1758
+ */
1759
+ RuntimeVirtualFileRedactionState[RuntimeVirtualFileRedactionState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1760
+ /**
1761
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REDACTION_STATE_RAW = 1;
1762
+ */
1763
+ RuntimeVirtualFileRedactionState[RuntimeVirtualFileRedactionState["RAW"] = 1] = "RAW";
1764
+ /**
1765
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REDACTION_STATE_REDACTED = 2;
1766
+ */
1767
+ RuntimeVirtualFileRedactionState[RuntimeVirtualFileRedactionState["REDACTED"] = 2] = "REDACTED";
1768
+ /**
1769
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REDACTION_STATE_PREVIEW_ONLY = 3;
1770
+ */
1771
+ RuntimeVirtualFileRedactionState[RuntimeVirtualFileRedactionState["PREVIEW_ONLY"] = 3] = "PREVIEW_ONLY";
1772
+ /**
1773
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REDACTION_STATE_DENIED = 4;
1774
+ */
1775
+ RuntimeVirtualFileRedactionState[RuntimeVirtualFileRedactionState["DENIED"] = 4] = "DENIED";
1776
+ })(RuntimeVirtualFileRedactionState || (RuntimeVirtualFileRedactionState = {}));
1777
+ /**
1778
+ * Describes the enum agentruntime.v1.RuntimeVirtualFileRedactionState.
1779
+ */
1780
+ export const RuntimeVirtualFileRedactionStateSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 20);
1781
+ /**
1782
+ * @generated from enum agentruntime.v1.RuntimeVirtualFileOperation
1783
+ */
1784
+ export var RuntimeVirtualFileOperation;
1785
+ (function (RuntimeVirtualFileOperation) {
1786
+ /**
1787
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_OPERATION_UNSPECIFIED = 0;
1788
+ */
1789
+ RuntimeVirtualFileOperation[RuntimeVirtualFileOperation["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1790
+ /**
1791
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_OPERATION_WRITE = 1;
1792
+ */
1793
+ RuntimeVirtualFileOperation[RuntimeVirtualFileOperation["WRITE"] = 1] = "WRITE";
1794
+ /**
1795
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_OPERATION_DELETE = 2;
1796
+ */
1797
+ RuntimeVirtualFileOperation[RuntimeVirtualFileOperation["DELETE"] = 2] = "DELETE";
1798
+ /**
1799
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_OPERATION_RENAME = 3;
1800
+ */
1801
+ RuntimeVirtualFileOperation[RuntimeVirtualFileOperation["RENAME"] = 3] = "RENAME";
1802
+ })(RuntimeVirtualFileOperation || (RuntimeVirtualFileOperation = {}));
1803
+ /**
1804
+ * Describes the enum agentruntime.v1.RuntimeVirtualFileOperation.
1805
+ */
1806
+ export const RuntimeVirtualFileOperationSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 21);
1807
+ /**
1808
+ * RuntimeVirtualFileReasonCode is a stable, machine-readable reason taxonomy
1809
+ * for VFS skips and precondition failures. Human strings may evolve; clients
1810
+ * should branch on this enum.
1811
+ *
1812
+ * @generated from enum agentruntime.v1.RuntimeVirtualFileReasonCode
1813
+ */
1814
+ export var RuntimeVirtualFileReasonCode;
1815
+ (function (RuntimeVirtualFileReasonCode) {
1816
+ /**
1817
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_UNSPECIFIED = 0;
1818
+ */
1819
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1820
+ /**
1821
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_NOT_FOUND = 1;
1822
+ */
1823
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["NOT_FOUND"] = 1] = "NOT_FOUND";
1824
+ /**
1825
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_FILTERED_OUT = 2;
1826
+ */
1827
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["FILTERED_OUT"] = 2] = "FILTERED_OUT";
1828
+ /**
1829
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_TOTAL_BUDGET_EXHAUSTED = 3;
1830
+ */
1831
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["TOTAL_BUDGET_EXHAUSTED"] = 3] = "TOTAL_BUDGET_EXHAUSTED";
1832
+ /**
1833
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_PATH_INVALID = 4;
1834
+ */
1835
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["PATH_INVALID"] = 4] = "PATH_INVALID";
1836
+ /**
1837
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_CAPABILITY_DENIED = 5;
1838
+ */
1839
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["CAPABILITY_DENIED"] = 5] = "CAPABILITY_DENIED";
1840
+ /**
1841
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_REVISION_CONFLICT = 6;
1842
+ */
1843
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["REVISION_CONFLICT"] = 6] = "REVISION_CONFLICT";
1844
+ /**
1845
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_CURSOR_LAGGED = 7;
1846
+ */
1847
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["CURSOR_LAGGED"] = 7] = "CURSOR_LAGGED";
1848
+ /**
1849
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_REASON_CODE_TEMPORARILY_UNAVAILABLE = 8;
1850
+ */
1851
+ RuntimeVirtualFileReasonCode[RuntimeVirtualFileReasonCode["TEMPORARILY_UNAVAILABLE"] = 8] = "TEMPORARILY_UNAVAILABLE";
1852
+ })(RuntimeVirtualFileReasonCode || (RuntimeVirtualFileReasonCode = {}));
1853
+ /**
1854
+ * Describes the enum agentruntime.v1.RuntimeVirtualFileReasonCode.
1855
+ */
1856
+ export const RuntimeVirtualFileReasonCodeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 22);
1857
+ /**
1858
+ * @generated from enum agentruntime.v1.RuntimeVirtualFileTransactionApplyStatus
1859
+ */
1860
+ export var RuntimeVirtualFileTransactionApplyStatus;
1861
+ (function (RuntimeVirtualFileTransactionApplyStatus) {
1862
+ /**
1863
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_UNSPECIFIED = 0;
1864
+ */
1865
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1866
+ /**
1867
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_CLEAN = 1;
1868
+ */
1869
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["CLEAN"] = 1] = "CLEAN";
1870
+ /**
1871
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_IDENTICAL = 2;
1872
+ */
1873
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["IDENTICAL"] = 2] = "IDENTICAL";
1874
+ /**
1875
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_CONFLICT = 3;
1876
+ */
1877
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["CONFLICT"] = 3] = "CONFLICT";
1878
+ /**
1879
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_MISSING_BASE = 4;
1880
+ */
1881
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["MISSING_BASE"] = 4] = "MISSING_BASE";
1882
+ /**
1883
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_APPLY_STATUS_MISSING_TARGET = 5;
1884
+ */
1885
+ RuntimeVirtualFileTransactionApplyStatus[RuntimeVirtualFileTransactionApplyStatus["MISSING_TARGET"] = 5] = "MISSING_TARGET";
1886
+ })(RuntimeVirtualFileTransactionApplyStatus || (RuntimeVirtualFileTransactionApplyStatus = {}));
1887
+ /**
1888
+ * Describes the enum agentruntime.v1.RuntimeVirtualFileTransactionApplyStatus.
1889
+ */
1890
+ export const RuntimeVirtualFileTransactionApplyStatusSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 23);
1891
+ /**
1892
+ * @generated from enum agentruntime.v1.RuntimeVirtualFileTransactionOutcome
1893
+ */
1894
+ export var RuntimeVirtualFileTransactionOutcome;
1895
+ (function (RuntimeVirtualFileTransactionOutcome) {
1896
+ /**
1897
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_UNSPECIFIED = 0;
1898
+ */
1899
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1900
+ /**
1901
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_CLEAN = 1;
1902
+ */
1903
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["CLEAN"] = 1] = "CLEAN";
1904
+ /**
1905
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_APPLIED = 2;
1906
+ */
1907
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["APPLIED"] = 2] = "APPLIED";
1908
+ /**
1909
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_REBASED = 3;
1910
+ */
1911
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["REBASED"] = 3] = "REBASED";
1912
+ /**
1913
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_CONFLICT = 4;
1914
+ */
1915
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["CONFLICT"] = 4] = "CONFLICT";
1916
+ /**
1917
+ * @generated from enum value: RUNTIME_VIRTUAL_FILE_TRANSACTION_OUTCOME_NOOP = 5;
1918
+ */
1919
+ RuntimeVirtualFileTransactionOutcome[RuntimeVirtualFileTransactionOutcome["NOOP"] = 5] = "NOOP";
1920
+ })(RuntimeVirtualFileTransactionOutcome || (RuntimeVirtualFileTransactionOutcome = {}));
1921
+ /**
1922
+ * Describes the enum agentruntime.v1.RuntimeVirtualFileTransactionOutcome.
1923
+ */
1924
+ export const RuntimeVirtualFileTransactionOutcomeSchema = /*@__PURE__*/ enumDesc(file_agentruntime_v1_runtime, 24);
1597
1925
  /**
1598
1926
  * AgentRuntimeService accepts normalized triggers and manages durable
1599
1927
  * AgentRun execution attempts. Workers claim runs by lease, checkpoint their