@openkaiden/opnshll-sdk 0.1.1 → 0.1.3

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.
@@ -8,7 +8,7 @@ import { file_sandbox } from "./sandbox_pb.js";
8
8
  /**
9
9
  * Describes the file openshell.proto.
10
10
  */
11
- export const file_openshell = /*@__PURE__*/ fileDesc("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCKZAgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIsIDCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAkikQQKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJIrMBCg9TYW5kYm94UmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EkQKDHNlcnZpY2VfdXJscxgCIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UuU2VydmljZVVybHNFbnRyeRoyChBTZXJ2aWNlVXJsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWgoVTGlzdFNhbmRib3hlc1Jlc3BvbnNlEigKCXNhbmRib3hlcxgBIAMoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJsChxMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIpEBCh1BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIYXR0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCKRAQodRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhAKCGRldGFjaGVkGAIgASgIEjYKB3JlY2VpcHQYAyABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQi3QEKF1Byb3ZpZGVyRGVzaXJlZElkZW50aXR5EhIKCnNhbmRib3hfaWQYASABKAkSDwoHc2FuZGJveBgCIAEoCRIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJEiEKGXByb3ZpZGVyX3Jlc291cmNlX3ZlcnNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEhcKD2NvbmZpZ19yZXZpc2lvbhgHIAEoBBITCgtwb2xpY3lfaGFzaBgIIAEoCSLGAQoWQ29uZmlnU25hcHNob3RSZXZpc2lvbhI9Cg5zYW5kYm94X2NvbmZpZxgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlnUmV2aXNpb25IABIeChRwcm92aWRlcl9lbnZpcm9ubWVudBgCIAEoBEgAEkAKD3Byb3ZpZGVyX3RhcmdldBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckRlc2lyZWRJZGVudGl0eUgAQgsKCWNvbXBvbmVudCK9AQoVU2FuZGJveENvbmZpZ1JldmlzaW9uEhcKD2NvbmZpZ19yZXZpc2lvbhgBIAEoBBIWCg5wb2xpY3lfdmVyc2lvbhgCIAEoDRI5Cg1wb2xpY3lfc291cmNlGAMgASgOMiIub3BlbnNoZWxsLnNhbmRib3gudjEuUG9saWN5U291cmNlEh0KFWdsb2JhbF9wb2xpY3lfdmVyc2lvbhgEIAEoDRIZChFzZXR0aW5nc19yZXZpc2lvbhgFIAEoBCKQBAoVQ29uZmlnVXBkYXRlT3BlcmF0aW9uEhQKDG9wZXJhdGlvbl9pZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEjAKCWNvbXBvbmVudBgDIAEoDjIdLm9wZW5zaGVsbC52MS5Db25maWdDb21wb25lbnQSPQoPdGFyZ2V0X3JldmlzaW9uGAQgASgLMiQub3BlbnNoZWxsLnYxLkNvbmZpZ1NuYXBzaG90UmV2aXNpb24SNwoFc3RhdGUYBSABKA4yKC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSMQoHb3V0Y29tZRgGIAEoDjIgLm9wZW5zaGVsbC52MS5Db25maWdBcHBseU91dGNvbWUSFwoPc2FuaXRpemVkX2Vycm9yGAcgASgJEjAKDGNyZWF0ZWRfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdXBkYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5jb21wbGV0ZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgIEAlKBAgJEApKBAgKEAtSDWNyZWF0ZWRfYXRfbXNSDXVwZGF0ZWRfYXRfbXNSD2NvbXBsZXRlZF9hdF9tcyKcAgoXUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEgoKcmVjZWlwdF9pZBgBIAEoCRITCgttdXRhdGlvbl9pZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgl3b3Jrc3BhY2UYBCABKAkSMAoEa2luZBgFIAEoDjIiLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uS2luZBI2CgdkZXNpcmVkGAYgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5EjIKDnBlcnNpc3RlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAcQCFIPcGVyc2lzdGVkX2F0X21zItsCChxQcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhIKCnNlc3Npb25faWQYASABKAkSEAoIc2VxdWVuY2UYAiABKAQSGAoQYXR0YWNobWVudF9lcG9jaBgDIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBCABKAQSFwoPY29uZmlnX3JldmlzaW9uGAUgASgEEhMKC3BvbGljeV9oYXNoGAYgASgJEh0KFWNyZWRlbnRpYWxzX2luc3RhbGxlZBgHIAEoCBIVCg1wb2xpY3lfYWN0aXZlGAggASgIEiQKHGxhdW5jaF9lbnZpcm9ubWVudF9pbnN0YWxsZWQYCSABKAgSGwoTcHJvY2Vzc19pbnN0YW5jZV9pZBgKIAEoCRI1CgZyZWFzb24YCyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24i5AMKF1Byb3ZpZGVyUmVhZGluZXNzU3RhdHVzEjYKB3JlY2VpcHQYASABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSMwoFc3RhdGUYAiABKA4yJC5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRI1CgZyZWFzb24YAyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SPAoIb2JzZXJ2ZWQYBCABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NPYnNlcnZhdGlvbhIbChNuZXR3b3JrX2luc3RhbmNlX2lkGAUgASgJEjEKDW9ic2VydmVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmV2YWx1YXRlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2CglvcGVyYXRpb24YCCABKAsyIy5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uSgQIBhAHSgQIBxAIUg5vYnNlcnZlZF9hdF9tc1IPZXZhbHVhdGVkX2F0X21zIpwBCh9HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRISCgpyZWNlaXB0X2lkGAMgASgJIlkKIEdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlEjUKBnN0YXR1cxgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXR1cyJ1Ch5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI/CgtvYnNlcnZhdGlvbhgCIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uIuIBCh9SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlEhkKEWFjY2VwdGVkX3NlcXVlbmNlGAEgASgEEjIKD3JlcG9ydF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIyCg9vYnNlcnZhdGlvbl90dGwYZyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANKBAgDEARSF3JlcG9ydF9pbnRlcnZhbF9zZWNvbmRzUhdvYnNlcnZhdGlvbl90dGxfc2Vjb25kcyJqChVEZWxldGVTYW5kYm94UmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWUSEgoKc2FuZGJveF9pZBgDIAEoCUoECAEQAlIHZGVsZXRlZCJuChdDcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAki7wEKGENyZWF0ZVNzaFNlc3Npb25SZXNwb25zZRISCgpzYW5kYm94X2lkGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEhQKDGdhdGV3YXlfaG9zdBgDIAEoCRIUCgxnYXRld2F5X3BvcnQYBCABKA0SFgoOZ2F0ZXdheV9zY2hlbWUYBSABKAkSHAoUaG9zdF9rZXlfZmluZ2VycHJpbnQYByABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCVINZXhwaXJlc19hdF9tcyKyAQoURXhwb3NlU2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEhMKC3RhcmdldF9wb3J0GAMgASgNEg4KBmRvbWFpbhgEIAEoCBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBiABKAkidgoRR2V0U2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEg8KB3NhbmRib3gYASABKAkikQEKE0xpc3RTZXJ2aWNlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCRIPCgdzYW5kYm94GAEgASgJImgKFExpc3RTZXJ2aWNlc1Jlc3BvbnNlEjcKCHNlcnZpY2VzGAEgAygLMiUub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludFJlc3BvbnNlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKkAQoURGVsZXRlU2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEg8KB3NhbmRib3gYASABKAkSFQoNYWxsb3dfbWlzc2luZxgEIAEoCBISCgpyZXF1ZXN0X2lkGAUgASgJIlYKFURlbGV0ZVNlcnZpY2VSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKfAQoPU2VydmljZUVuZHBvaW50EjQKCG1ldGFkYXRhGAEgASgLMiIub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5PYmplY3RNZXRhEhIKCnNhbmRib3hfaWQYAiABKAkSDwoHc2FuZGJveBgDIAEoCRIMCgRuYW1lGAQgASgJEhMKC3RhcmdldF9wb3J0GAUgASgNEg4KBmRvbWFpbhgGIAEoCCJXChdTZXJ2aWNlRW5kcG9pbnRSZXNwb25zZRIvCghlbmRwb2ludBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnQSCwoDdXJsGAIgASgJIkUKF1Jldm9rZVNzaFNlc3Npb25SZXF1ZXN0EhMKBXRva2VuGAEgASgJQgSItRgBEhUKDWFsbG93X21pc3NpbmcYAiABKAgiWQoYUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdyZXZva2VkIrgDChJFeGVjU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAwgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEg8KB2NvbW1hbmQYAiADKAkSDwoHd29ya2RpchgDIAEoCRJGCgtlbnZpcm9ubWVudBgEIAMoCzIxLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFJlcXVlc3QuRW52aXJvbm1lbnRFbnRyeRI0ChFleGVjdXRpb25fdGltZW91dBhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhINCgVzdGRpbhgGIAEoDBILCgN0dHkYByABKAgSDAoEY29scxgIIAEoDRIMCgRyb3dzGAkgASgNEhYKDm5vX2xvZ2luX3NoZWxsGAogASgIEhIKCnJlcXVlc3RfaWQYCyABKAkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBRAGUg90aW1lb3V0X3NlY29uZHMiIQoRRXhlY1NhbmRib3hTdGRvdXQSDAoEZGF0YRgBIAEoDCIhChFFeGVjU2FuZGJveFN0ZGVychIMCgRkYXRhGAEgASgMIiQKD0V4ZWNTYW5kYm94RXhpdBIRCglleGl0X2NvZGUYASABKAUisgEKEEV4ZWNTYW5kYm94RXZlbnQSMQoGc3Rkb3V0GAEgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3Rkb3V0SAASMQoGc3RkZXJyGAIgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3RkZXJySAASLQoEZXhpdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV4aXRIAEIJCgdwYXlsb2FkIs8BCg5UY3BGb3J3YXJkSW5pdBIPCgdzYW5kYm94GAEgASgJEhEKCXdvcmtzcGFjZRgDIAEoCRISCgpzZXJ2aWNlX2lkGAQgASgJEisKA3NzaBgFIAEoCzIcLm9wZW5zaGVsbC52MS5Tc2hSZWxheVRhcmdldEgAEisKA3RjcBgGIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BSZWxheVRhcmdldEgAEiEKE2F1dGhvcml6YXRpb25fdG9rZW4YByABKAlCBIi1GAFCCAoGdGFyZ2V0IloKD1RjcEZvcndhcmRGcmFtZRIsCgRpbml0GAEgASgLMhwub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQimgEKEEV4ZWNTYW5kYm94SW5wdXQSMQoFc3RhcnQYASABKAsyIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0SAASDwoFc3RkaW4YAiABKAxIABI3CgZyZXNpemUYAyABKAsyJS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hXaW5kb3dSZXNpemVIAEIJCgdwYXlsb2FkIjUKF0V4ZWNTYW5kYm94V2luZG93UmVzaXplEgwKBGNvbHMYASABKA0SDAoEcm93cxgCIAEoDSLGAQoKU3NoU2Vzc2lvbhI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEhMKBXRva2VuGAMgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHcmV2b2tlZBgFIAEoCEoECAQQBVINZXhwaXJlc19hdF9tcyKAAwoTV2F0Y2hTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYCyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSFQoNZm9sbG93X3N0YXR1cxgCIAEoCBITCgtmb2xsb3dfbG9ncxgDIAEoCBIVCg1mb2xsb3dfZXZlbnRzGAQgASgIEhYKDmxvZ190YWlsX2xpbmVzGAUgASgNEhIKCmV2ZW50X3RhaWwYBiABKA0SGAoQc3RvcF9vbl90ZXJtaW5hbBgHIAEoCBIuCgpzaW5jZV90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtsb2dfc291cmNlcxgJIAMoCRIVCg1sb2dfbWluX2xldmVsGAogASgJEhsKE3Jlc3VtZV9hZnRlcl9jdXJzb3IYDCABKAlKBAgIEAlSDGxvZ19zaW5jZV9tcyKrAgoSU2FuZGJveFN0cmVhbUV2ZW50EigKB3NhbmRib3gYASABKAsyFS5vcGVuc2hlbGwudjEuU2FuZGJveEgAEisKA2xvZxgCIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZUgAEiwKBWV2ZW50GAMgASgLMhsub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnRIABI1Cgd3YXJuaW5nGAQgASgLMiIub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1XYXJuaW5nSAASPgoTZHJhZnRfcG9saWN5X3VwZGF0ZRgFIAEoCzIfLm9wZW5zaGVsbC52MS5EcmFmdFBvbGljeVVwZGF0ZUgAEg4KBmN1cnNvchgGIAEoCUIJCgdwYXlsb2FkIpECCg5TYW5kYm94TG9nTGluZRISCgpzYW5kYm94X2lkGAEgASgJEi4KCmV2ZW50X3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWxldmVsGAMgASgJEg4KBnRhcmdldBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEg4KBnNvdXJjZRgGIAEoCRI4CgZmaWVsZHMYByADKAsyKC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAIQA1IMdGltZXN0YW1wX21zIicKFFNhbmRib3hTdHJlYW1XYXJuaW5nEg8KB21lc3NhZ2UYASABKAkiowEKFUNyZWF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchISCgpyZXF1ZXN0X2lkGAMgASgJImYKEkdldFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkigQEKFExpc3RQcm92aWRlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkitAMKFVVwZGF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchJnChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZiADKAsyQi5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0LkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRIoCiBjbGVhcl9jcmVkZW50aWFsX2V4cGlyYXRpb25fa2V5cxhnIAMoCRISCgpyZXF1ZXN0X2lkGAQgASgJGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4AUoECAIQA1IYY3JlZGVudGlhbF9leHBpcmVzX2F0X21zIpQBChVEZWxldGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYBCABKAgSEgoKcmVxdWVzdF9pZBgFIAEoCSKbAQoQUHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISPgoPdGFyZ2V0X3JlY2VpcHRzGAIgAygLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25SZWNlaXB0EhMKC211dGF0aW9uX2lkGAMgASgJImUKFUxpc3RQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKIAQobTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkiawoZR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgoKAmlkGAEgASgJIlsKGVByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUSDgoGc291cmNlGAIgASgJInEKGVByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDgoGc291cmNlGAEgASgJEhIKCnByb2ZpbGVfaWQYAiABKAkSDQoFZmllbGQYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIQCghzZXZlcml0eRgFIAEoCSJ6CixQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50QXVkaWVuY2VPdmVycmlkZRIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCRIQCghhdWRpZW5jZRgEIAEoCRIOCgZzY29wZXMYBSADKAkiagooUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFN1YmplY3RUb2tlbhIOCgZzb3VyY2UYASABKAkSEgoKY3JlZGVudGlhbBgCIAEoCRIaChJzdWJqZWN0X3Rva2VuX3R5cGUYAyABKAki4gMKHFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnQSFgoOdG9rZW5fZW5kcG9pbnQYASABKAkSEAoIYXVkaWVuY2UYAiABKAkSGQoRand0X3N2aWRfYXVkaWVuY2UYBiABKAkSDgoGc2NvcGVzGAMgAygJEiwKCWNhY2hlX3R0bBhoIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJWChJhdWRpZW5jZV9vdmVycmlkZXMYBSADKAsyOi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSHQoVY2xpZW50X2Fzc2VydGlvbl90eXBlGAcgASgJEkIKCmdyYW50X3R5cGUYCCABKA4yLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFR5cGUSTQoNc3ViamVjdF90b2tlbhgJIAEoCzI2Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50U3ViamVjdFRva2VuEhwKFHJlcXVlc3RlZF90b2tlbl90eXBlGAogASgJSgQIBBAFUhFjYWNoZV90dGxfc2Vjb25kcyKyAgoZUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGVudl92YXJzGAMgAygJEhAKCHJlcXVpcmVkGAQgASgIEhIKCmF1dGhfc3R5bGUYBSABKAkSEwoLaGVhZGVyX25hbWUYBiABKAkSEwoLcXVlcnlfcGFyYW0YByABKAkSOAoHcmVmcmVzaBgIIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEhUKDXBhdGhfdGVtcGxhdGUYCSABKAkSPwoLdG9rZW5fZ3JhbnQYCiABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudCJoCiFQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoTWF0ZXJpYWwSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCghyZXF1aXJlZBgDIAEoCBIOCgZzZWNyZXQYBCABKAgiRQofUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE91dHB1dBIOCgZvdXRwdXQYASABKAkSEgoKY3JlZGVudGlhbBgCIAEoCSKtAwoZUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaBJBCghzdHJhdGVneRgBIAEoDjIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSEQoJdG9rZW5fdXJsGAIgASgJEg4KBnNjb3BlcxgDIAMoCRIxCg5yZWZyZXNoX2JlZm9yZRhoIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIvCgxtYXhfbGlmZXRpbWUYaSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SQQoIbWF0ZXJpYWwYBiADKAsyLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE1hdGVyaWFsEkkKEmFkZGl0aW9uYWxfb3V0cHV0cxgHIAMoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0SgQIBBAFSgQIBRAGUhZyZWZyZXNoX2JlZm9yZV9zZWNvbmRzUhRtYXhfbGlmZXRpbWVfc2Vjb25kcyKGBQofUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cxIQCghwcm92aWRlchgBIAEoCRITCgtwcm92aWRlcl9pZBgCIAEoCRIWCg5jcmVkZW50aWFsX2tleRgDIAEoCRJBCghzdHJhdGVneRgEIAEoDjIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSDgoGc3RhdHVzGAUgASgJEjMKD2V4cGlyYXRpb25fdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoRbmV4dF9yZWZyZXNoX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKEWxhc3RfcmVmcmVzaF90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpsYXN0X2Vycm9yGAkgASgJEk4KD3JlY292ZXJ5X2FjdGlvbhgKIAEoDjI1Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoUmVjb3ZlcnlBY3Rpb24SFAoMZmFpbHVyZV9jb2RlGAsgASgJEh4KFnByb3ZpZGVyX2Vycm9yX3N1YnR5cGUYDCABKAkSMwoPbGFzdF9lcnJvcl90aW1lGHEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAYQB0oECAcQCEoECAgQCUoECA0QDlINZXhwaXJlc19hdF9tc1ISbmV4dF9yZWZyZXNoX2F0X21zUhJsYXN0X3JlZnJlc2hfYXRfbXNSEGxhc3RfZXJyb3JfYXRfbXMiLwoYUHJvdmlkZXJQcm9maWxlRGlzY292ZXJ5EhMKC2NyZWRlbnRpYWxzGAEgAygJIo8BCh9HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkiZgogR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVzcG9uc2USQgoLY3JlZGVudGlhbHMYASADKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyLUAwofQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYByABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEkEKCHN0cmF0ZWd5GAMgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRJTCghtYXRlcmlhbBgEIAMoCzI7Lm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Lk1hdGVyaWFsRW50cnlCBIi1GAESHAoUc2VjcmV0X21hdGVyaWFsX2tleXMYBSADKAkSMwoPZXhwaXJhdGlvbl90aW1lGGogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpyZXF1ZXN0X2lkGAggASgJGi8KDU1hdGVyaWFsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAYQB1INZXhwaXJlc19hdF9tcyJhCiBDb25maWd1cmVQcm92aWRlclJlZnJlc2hSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyKjAQofUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkiYQogUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVzcG9uc2USPQoGc3RhdHVzGAEgASgLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMitwEKHERlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCRIVCg1hbGxvd19taXNzaW5nGAUgASgIEhIKCnJlcXVlc3RfaWQYBiABKAkiXgodRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiuAQKD1Byb3ZpZGVyUHJvZmlsZRIKCgJpZBgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNwoIY2F0ZWdvcnkYBCABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ2F0ZWdvcnkSPAoLY3JlZGVudGlhbHMYBSADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbBI4CgllbmRwb2ludHMYBiADKAsyJS5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrRW5kcG9pbnQSNQoIYmluYXJpZXMYByADKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrQmluYXJ5EhkKEWluZmVyZW5jZV9jYXBhYmxlGAggASgIEjkKCWRpc2NvdmVyeRgJIAEoCzImLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaXNjb3ZlcnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgKIAEoBBJDCgthbm5vdGF0aW9ucxgLIAMoCzIuLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUuQW5ub3RhdGlvbnNFbnRyeRIOCgZzb3VyY2UYDCABKAkSDQoFc2NvcGUYDSABKAkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkkKF1Byb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlImgKHExpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USLwoIcHJvZmlsZXMYASADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKyAQodSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEhIKCnJlcXVlc3RfaWQYAyABKAkioQEKHkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi8KCHByb2ZpbGVzGAIgAygLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIQCghpbXBvcnRlZBgDIAEoCCLgAQodVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI4Cgdwcm9maWxlGAEgASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoBBIKCgJpZBgDIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIp8BCh5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIuCgdwcm9maWxlGAIgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIPCgd1cGRhdGVkGAMgASgIIpwBChtMaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtImsKHExpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxINCgV2YWxpZBgCIAEoCCJXChZEZWxldGVQcm92aWRlclJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIpkBChxEZWxldGVQcm92aWRlclByb2ZpbGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISCgoCaWQYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJIl4KHURlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkImcKJEdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEisKI3N1cHBvcnRzX3N0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAIgASgIIksKH1N0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkinAEKF1N0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEkAKCWVuZHBvaW50cxgBIAMoCzItLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsRW5kcG9pbnRCaW5kaW5nEhsKE2NyZWRlbnRpYWxfaWRlbnRpdHkYAiABKAkSIgoad29ya2xvYWRfY3JlZGVudGlhbF9oYW5kbGUYAyABKAkinQgKJUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2USXwoLZW52aXJvbm1lbnQYASADKAsyRC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5FbnZpcm9ubWVudEVudHJ5QgSItRgBEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgCIAEoBBJ3ChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZyADKAsyUi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSaAoTZHluYW1pY19jcmVkZW50aWFscxgEIAMoCzJLLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EnUKGnN0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAUgAygLMlEub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSIwobbm9uX3NlY3JldF9lbnZpcm9ubWVudF9rZXlzGAYgAygJEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYByABKAkSEwoLcG9saWN5X2hhc2gYCCABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgJIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhoyChBFbnZpcm9ubWVudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaXAoeQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6AjgBGmIKF0R5bmFtaWNDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsOgI4ARpmCh1TdGF0aWNDcmVkZW50aWFsQmluZGluZ3NFbnRyeRILCgNrZXkYASABKAkSNAoFdmFsdWUYAiABKAsyJS5vcGVuc2hlbGwudjEuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmc6AjgBSgQIAxAEUhhjcmVkZW50aWFsX2V4cGlyZXNfYXRfbXMihgEKI0V4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSIQoTc3VwZXJ2aXNvcl9qd3Rfc3ZpZBgEIAEoCUIEiLUYASKaAQokRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlc3BvbnNlEhoKDGFjY2Vzc190b2tlbhgBIAEoCUIEiLUYARIwCg1leHBpcmVzX2FmdGVyGGYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhIKCnRva2VuX3R5cGUYAyABKAlKBAgCEANSCmV4cGlyZXNfaW4iiQQKE1VwZGF0ZUNvbmZpZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAogASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIzCgZwb2xpY3kYAiABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EhMKC3NldHRpbmdfa2V5GAMgASgJEjkKDXNldHRpbmdfdmFsdWUYBCABKAsyIi5vcGVuc2hlbGwuc2FuZGJveC52MS5TZXR0aW5nVmFsdWUSFgoOZGVsZXRlX3NldHRpbmcYBSABKAgSDgoGZ2xvYmFsGAYgASgIEjwKEG1lcmdlX29wZXJhdGlvbnMYByADKAsyIi5vcGVuc2hlbGwudjEuUG9saWN5TWVyZ2VPcGVyYXRpb24SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgIIAEoBBJHCgthbm5vdGF0aW9ucxgJIAMoCzIyLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL3AgoUUG9saWN5TWVyZ2VPcGVyYXRpb24SMAoIYWRkX3J1bGUYASABKAsyHC5vcGVuc2hlbGwudjEuQWRkTmV0d29ya1J1bGVIABI+Cg9yZW1vdmVfZW5kcG9pbnQYAiABKAsyIy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0VuZHBvaW50SAASNgoLcmVtb3ZlX3J1bGUYAyABKAsyHy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya1J1bGVIABI0Cg5hZGRfZGVueV9ydWxlcxgEIAEoCzIaLm9wZW5zaGVsbC52MS5BZGREZW55UnVsZXNIABI2Cg9hZGRfYWxsb3dfcnVsZXMYBSABKAsyGy5vcGVuc2hlbGwudjEuQWRkQWxsb3dSdWxlc0gAEjoKDXJlbW92ZV9iaW5hcnkYBiABKAsyIS5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0JpbmFyeUgAQgsKCW9wZXJhdGlvbiJaCg5BZGROZXR3b3JrUnVsZRIRCglydWxlX25hbWUYASABKAkSNQoEcnVsZRgCIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlIkYKFVJlbW92ZU5ldHdvcmtFbmRwb2ludBIRCglydWxlX25hbWUYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNIiYKEVJlbW92ZU5ldHdvcmtSdWxlEhEKCXJ1bGVfbmFtZRgBIAEoCSKlAQoMTDdSdWxlVGFyZ2V0EhEKCXJ1bGVfbmFtZRgBIAEoCRIMCgRob3N0GAIgASgJEg0KBXBvcnRzGAMgAygNEhEKBHBhdGgYBCABKAlIAIgBARI1CghiaW5hcmllcxgFIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSEgoKYW55X2JpbmFyeRgGIAEoCEIHCgVfcGF0aCKIAQoMQWRkRGVueVJ1bGVzEjQKCmRlbnlfcnVsZXMYAyADKAsyIC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN0RlbnlSdWxlEioKBnRhcmdldBgEIAEoCzIaLm9wZW5zaGVsbC52MS5MN1J1bGVUYXJnZXRKBAgBEAJKBAgCEANSBGhvc3RSBHBvcnQigAEKDUFkZEFsbG93UnVsZXMSKwoFcnVsZXMYAyADKAsyHC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN1J1bGUSKgoGdGFyZ2V0GAQgASgLMhoub3BlbnNoZWxsLnYxLkw3UnVsZVRhcmdldEoECAEQAkoECAIQA1IEaG9zdFIEcG9ydCI9ChNSZW1vdmVOZXR3b3JrQmluYXJ5EhEKCXJ1bGVfbmFtZRgBIAEoCRITCgtiaW5hcnlfcGF0aBgCIAEoCSLmAQoUVXBkYXRlQ29uZmlnUmVzcG9uc2USDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIZChFzZXR0aW5nc19yZXZpc2lvbhgDIAEoBBIPCgdkZWxldGVkGAQgASgIEkgKC2Fubm90YXRpb25zGAUgAygLMjMub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1Jlc3BvbnNlLkFubm90YXRpb25zRW50cnkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpUBCh1HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3ZlcnNpb24YAiABKA0SDgoGZ2xvYmFsGAMgASgIEg8KB3NhbmRib3gYASABKAkibwoeR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlEjUKCHJldmlzaW9uGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIWCg5hY3RpdmVfdmVyc2lvbhgCIAEoDSKoAQoaTGlzdFNhbmRib3hQb2xpY2llc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCRIOCgZnbG9iYWwYBCABKAgSDwoHc2FuZGJveBgBIAEoCSJuChtMaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2USNgoJcmV2aXNpb25zGAEgAygLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkigAEKGVJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgd2ZXJzaW9uGAIgASgNEioKBnN0YXR1cxgDIAEoDjIaLm9wZW5zaGVsbC52MS5Qb2xpY3lTdGF0dXMSEgoKbG9hZF9lcnJvchgEIAEoCSIcChpSZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSLiAQodU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SEwoLaW5zdGFuY2VfaWQYASABKAkSOAoFc3RhdGUYAiABKA4yKS5vcGVuc2hlbGwudjEuQ29uZmlndXJhdGlvbkFkbWlzc2lvblN0YXRlEhYKDnBvbGljeV92ZXJzaW9uGAMgASgNEhMKC3BvbGljeV9oYXNoGAQgASgJEhcKD2NvbmZpZ19yZXZpc2lvbhgFIAEoBBIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBiABKAQSDQoFZXJyb3IYByABKAkilQEKIVJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEj4KCWFkbWlzc2lvbhgCIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIcChRleHBlY3RlZF9pbnN0YW5jZV9pZBgDIAEoCSIkCiJSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlc3BvbnNlIroDChVTYW5kYm94UG9saWN5UmV2aXNpb24SDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIqCgZzdGF0dXMYAyABKA4yGi5vcGVuc2hlbGwudjEuUG9saWN5U3RhdHVzEhIKCmxvYWRfZXJyb3IYBCABKAkSMAoMY3JlYXRlZF90aW1lGGkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtsb2FkZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRJHCgpwcm92ZW5hbmNlGAggAygLMjMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbi5Qcm92ZW5hbmNlRW50cnkaMQoPUHJvdmVuYW5jZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgFEAZKBAgGEAdSDWNyZWF0ZWRfYXRfbXNSDGxvYWRlZF9hdF9tcyLfAQoVR2V0U2FuZGJveExvZ3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRINCgVsaW5lcxgCIAEoDRIuCgpzaW5jZV90aW1lGGcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdzb3VyY2VzGAQgAygJEhEKCW1pbl9sZXZlbBgFIAEoCUoECAMQBFIIc2luY2VfbXMiWAoWUHVzaFNhbmRib3hMb2dzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEioKBGxvZ3MYAiADKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUiGQoXUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiWgoWR2V0U2FuZGJveExvZ3NSZXNwb25zZRIqCgRsb2dzGAEgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lEhQKDGJ1ZmZlcl90b3RhbBgCIAEoDSLzAQoRU3VwZXJ2aXNvck1lc3NhZ2USLgoFaGVsbG8YASABKAsyHS5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvckhlbGxvSAASNgoJaGVhcnRiZWF0GAIgASgLMiEub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWFydGJlYXRIABI6ChFyZWxheV9vcGVuX3Jlc3VsdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5SZWxheU9wZW5SZXN1bHRIABIvCgtyZWxheV9jbG9zZRgEIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSABCCQoHcGF5bG9hZCKmAgoOR2F0ZXdheU1lc3NhZ2USOQoQc2Vzc2lvbl9hY2NlcHRlZBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uQWNjZXB0ZWRIABI5ChBzZXNzaW9uX3JlamVjdGVkGAIgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25SZWplY3RlZEgAEjMKCWhlYXJ0YmVhdBgDIAEoCzIeLm9wZW5zaGVsbC52MS5HYXRld2F5SGVhcnRiZWF0SAASLQoKcmVsYXlfb3BlbhgEIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheU9wZW5IABIvCgtyZWxheV9jbG9zZRgFIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSABCCQoHcGF5bG9hZCJ5Cg9TdXBlcnZpc29ySGVsbG8SEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCRIYChBjb25uZWN0aW9uX2Vwb2NoGAMgASgEEiMKG3N1cHBvcnRzX3Byb3ZpZGVyX3JlYWRpbmVzcxgEIAEoCCJ7Cg9TZXNzaW9uQWNjZXB0ZWQSEgoKc2Vzc2lvbl9pZBgBIAEoCRI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYZiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANSF2hlYXJ0YmVhdF9pbnRlcnZhbF9zZWNzIiEKD1Nlc3Npb25SZWplY3RlZBIOCgZyZWFzb24YASABKAkiFQoTU3VwZXJ2aXNvckhlYXJ0YmVhdCISChBHYXRld2F5SGVhcnRiZWF0IloKHFJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCRIRCglleGl0X2NvZGUYAyABKAUiHwodUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiSQoeRmluYWxpemVNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLaW5zdGFuY2VfaWQYAiABKAkiIQofRmluYWxpemVNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSKXAQoJUmVsYXlPcGVuEhIKCmNoYW5uZWxfaWQYASABKAkSKwoDc3NoGAIgASgLMhwub3BlbnNoZWxsLnYxLlNzaFJlbGF5VGFyZ2V0SAASKwoDdGNwGAMgASgLMhwub3BlbnNoZWxsLnYxLlRjcFJlbGF5VGFyZ2V0SAASEgoKc2VydmljZV9pZBgFIAEoCUIICgZ0YXJnZXQiEAoOU3NoUmVsYXlUYXJnZXQiLAoOVGNwUmVsYXlUYXJnZXQSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNIh8KCVJlbGF5SW5pdBISCgpjaGFubmVsX2lkGAEgASgJIlAKClJlbGF5RnJhbWUSJwoEaW5pdBgBIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheUluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCJuCg1QZWVyUmVsYXlJbml0EhIKCnNhbmRib3hfaWQYASABKAkSKwoKcmVsYXlfb3BlbhgCIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheU9wZW4SHAoUcmVxdWVzdGVyX3JlcGxpY2FfaWQYAyABKAkiWAoOUGVlclJlbGF5RnJhbWUSKwoEaW5pdBgBIAEoCzIbLm9wZW5zaGVsbC52MS5QZWVyUmVsYXlJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQiRQoPUmVsYXlPcGVuUmVzdWx0EhIKCmNoYW5uZWxfaWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBINCgVlcnJvchgDIAEoCSIwCgpSZWxheUNsb3NlEhIKCmNoYW5uZWxfaWQYASABKAkSDgoGcmVhc29uGAIgASgJIlAKD0w3UmVxdWVzdFNhbXBsZRIOCgZtZXRob2QYASABKAkSDAoEcGF0aBgCIAEoCRIQCghkZWNpc2lvbhgDIAEoCRINCgVjb3VudBgEIAEoDSL6AwoNRGVuaWFsU3VtbWFyeRISCgpzYW5kYm94X2lkGAEgASgJEgwKBGhvc3QYAiABKAkSDAoEcG9ydBgDIAEoDRIOCgZiaW5hcnkYBCABKAkSEQoJYW5jZXN0b3JzGAUgAygJEhMKC2RlbnlfcmVhc29uGAYgASgJEjMKD2ZpcnN0X3NlZW5fdGltZRhrIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoObGFzdF9zZWVuX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWNvdW50GAkgASgNEhgKEHN1cHByZXNzZWRfY291bnQYCiABKA0SEwoLdG90YWxfY291bnQYCyABKA0SFwoPc2FtcGxlX2NtZGxpbmVzGAwgAygJEhUKDWJpbmFyeV9zaGEyNTYYDSABKAkSEgoKcGVyc2lzdGVudBgOIAEoCBIUCgxkZW5pYWxfc3RhZ2UYDyABKAkSOQoSbDdfcmVxdWVzdF9zYW1wbGVzGBAgAygLMh0ub3BlbnNoZWxsLnYxLkw3UmVxdWVzdFNhbXBsZRIcChRsN19pbnNwZWN0aW9uX2FjdGl2ZRgRIAEoCEoECAcQCEoECAgQCVINZmlyc3Rfc2Vlbl9tc1IMbGFzdF9zZWVuX21zIjwKEERlbmlhbEdyb3VwQ291bnQSEgoKZGVueV9ncm91cBgBIAEoCRIUCgxkZW5pZWRfY291bnQYAiABKA0ijwEKFk5ldHdvcmtBY3Rpdml0eVN1bW1hcnkSHgoWbmV0d29ya19hY3Rpdml0eV9jb3VudBgBIAEoDRIbChNkZW5pZWRfYWN0aW9uX2NvdW50GAIgASgNEjgKEGRlbmlhbHNfYnlfZ3JvdXAYAyADKAsyHi5vcGVuc2hlbGwudjEuRGVuaWFsR3JvdXBDb3VudCKMBwoLUG9saWN5Q2h1bmsSCgoCaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhEKCXJ1bGVfbmFtZRgDIAEoCRI+Cg1wcm9wb3NlZF9ydWxlGAQgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUSEQoJcmF0aW9uYWxlGAUgASgJEhYKDnNlY3VyaXR5X25vdGVzGAYgASgJEhIKCmNvbmZpZGVuY2UYByABKAISGgoSZGVuaWFsX3N1bW1hcnlfaWRzGAggAygJEjAKDGNyZWF0ZWRfdGltZRhtIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMZGVjaWRlZF90aW1lGG4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVzdGFnZRgLIAEoCRIbChNzdXBlcnNlZGVzX2NodW5rX2lkGAwgASgJEhEKCWhpdF9jb3VudBgNIAEoBRIzCg9maXJzdF9zZWVuX3RpbWUYciABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmxhc3Rfc2Vlbl90aW1lGHMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZiaW5hcnkYECABKAkSGQoRdmFsaWRhdGlvbl9yZXN1bHQYESABKAkSGAoQcmVqZWN0aW9uX3JlYXNvbhgSIAEoCRIZChFhcHBsaWNhdGlvbl9lcnJvchgTIAEoCRIUCgxyZXZpZXdfdG9rZW4YFCABKAkSJQodY3VycmVudF9lZmZlY3RpdmVfcG9saWN5X2hhc2gYFSABKAkSJwofY2FuZGlkYXRlX2VmZmVjdGl2ZV9wb2xpY3lfaGFzaBgWIAEoCRJFChhjdXJyZW50X2VmZmVjdGl2ZV9wb2xpY3kYFyABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EkcKGmNhbmRpZGF0ZV9lZmZlY3RpdmVfcG9saWN5GBggASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeUoECAkQCkoECAoQC0oECA4QD0oECA8QEFINY3JlYXRlZF9hdF9tc1INZGVjaWRlZF9hdF9tc1INZmlyc3Rfc2Vlbl9tc1IMbGFzdF9zZWVuX21zImYKEURyYWZ0UG9saWN5VXBkYXRlEhUKDWRyYWZ0X3ZlcnNpb24YASABKAQSEgoKbmV3X2NodW5rcxgCIAEoDRIVCg10b3RhbF9wZW5kaW5nGAMgASgNEg8KB3N1bW1hcnkYBCABKAkitAIKG1N1Ym1pdFBvbGljeUFuYWx5c2lzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEi4KCXN1bW1hcmllcxgBIAMoCzIbLm9wZW5zaGVsbC52MS5EZW5pYWxTdW1tYXJ5EjIKD3Byb3Bvc2VkX2NodW5rcxgCIAMoCzIZLm9wZW5zaGVsbC52MS5Qb2xpY3lDaHVuaxIVCg1hbmFseXNpc19tb2RlGAMgASgJEgwKBG5hbWUYBCABKAkSSAoabmV0d29ya19hY3Rpdml0eV9zdW1tYXJpZXMYBSADKAsyJC5vcGVuc2hlbGwudjEuTmV0d29ya0FjdGl2aXR5U3VtbWFyeSKHAQocU3VibWl0UG9saWN5QW5hbHlzaXNSZXNwb25zZRIXCg9hY2NlcHRlZF9jaHVua3MYASABKA0SFwoPcmVqZWN0ZWRfY2h1bmtzGAIgASgNEhkKEXJlamVjdGlvbl9yZWFzb25zGAMgAygJEhoKEmFjY2VwdGVkX2NodW5rX2lkcxgEIAMoCSKDAQoVR2V0RHJhZnRQb2xpY3lSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISFQoNc3RhdHVzX2ZpbHRlchgCIAEoCRIPCgdzYW5kYm94GAEgASgJIsYBChZHZXREcmFmdFBvbGljeVJlc3BvbnNlEikKBmNodW5rcxgBIAMoCzIZLm9wZW5zaGVsbC52MS5Qb2xpY3lDaHVuaxIXCg9yb2xsaW5nX3N1bW1hcnkYAiABKAkSFQoNZHJhZnRfdmVyc2lvbhgDIAEoBBI2ChJsYXN0X2FuYWx5emVkX3RpbWUYaCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBBAFUhNsYXN0X2FuYWx5emVkX2F0X21zIqsBChhBcHByb3ZlRHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIUCgxyZXZpZXdfdG9rZW4YBCABKAkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIkgKGUFwcHJvdmVEcmFmdENodW5rUmVzcG9uc2USFgoOcG9saWN5X3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkipAEKF1JlamVjdERyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSDgoGcmVhc29uGAMgASgJEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSIaChhSZWplY3REcmFmdENodW5rUmVzcG9uc2UiPAoSRHJhZnRDaHVua0FwcHJvdmFsEhAKCGNodW5rX2lkGAEgASgJEhQKDHJldmlld190b2tlbhgCIAEoCSLeAQocQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEiAKGGluY2x1ZGVfc2VjdXJpdHlfZmxhZ2dlZBgCIAEoCBIzCglhcHByb3ZhbHMYAyADKAsyIC5vcGVuc2hlbGwudjEuRHJhZnRDaHVua0FwcHJvdmFsEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSJ9Ch1BcHByb3ZlQWxsRHJhZnRDaHVua3NSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIXCg9jaHVua3NfYXBwcm92ZWQYAyABKA0SFgoOY2h1bmtzX3NraXBwZWQYBCABKA0i0gEKFUVkaXREcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEj4KDXByb3Bvc2VkX3J1bGUYAyABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiGAoWRWRpdERyYWZ0Q2h1bmtSZXNwb25zZSKSAQoVVW5kb0RyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAQgASgJIkUKFlVuZG9EcmFmdENodW5rUmVzcG9uc2USFgoOcG9saWN5X3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkiggEKF0NsZWFyRHJhZnRDaHVua3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJIjIKGENsZWFyRHJhZnRDaHVua3NSZXNwb25zZRIWCg5jaHVua3NfY2xlYXJlZBgBIAEoDSJtChZHZXREcmFmdEhpc3RvcnlSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCSKSAQoRRHJhZnRIaXN0b3J5RW50cnkSLgoKZXZlbnRfdGltZRhlIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKZXZlbnRfdHlwZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIQCghjaHVua19pZBgEIAEoCUoECAEQAlIMdGltZXN0YW1wX21zIksKF0dldERyYWZ0SGlzdG9yeVJlc3BvbnNlEjAKB2VudHJpZXMYASADKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRIaXN0b3J5RW50cnkiqwEKFkNyZWF0ZVdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRJACgZsYWJlbHMYAiADKAsyMC5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVxdWVzdC5MYWJlbHNFbnRyeRISCgpyZXF1ZXN0X2lkGAMgASgJGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiTwoXQ3JlYXRlV29ya3NwYWNlUmVzcG9uc2USNAoJd29ya3NwYWNlGAEgASgLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2UiIwoTR2V0V29ya3NwYWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJIkwKFEdldFdvcmtzcGFjZVJlc3BvbnNlEjQKCXdvcmtzcGFjZRgBIAEoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlIlYKFUxpc3RXb3Jrc3BhY2VzUmVxdWVzdBIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCRIWCg5sYWJlbF9zZWxlY3RvchgDIAEoCSJoChZMaXN0V29ya3NwYWNlc1Jlc3BvbnNlEjUKCndvcmtzcGFjZXMYASADKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiUQoWRGVsZXRlV29ya3NwYWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAiABKAgSEgoKcmVxdWVzdF9pZBgDIAEoCSJYChdEZWxldGVXb3Jrc3BhY2VSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKNAQoPV29ya3NwYWNlTWVtYmVyEjQKCG1ldGFkYXRhGAEgASgLMiIub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5PYmplY3RNZXRhEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEikKBHJvbGUYAyABKA4yGy5vcGVuc2hlbGwudjEuV29ya3NwYWNlUm9sZSK5AQoZQWRkV29ya3NwYWNlTWVtYmVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEikKBHJvbGUYAyABKA4yGy5vcGVuc2hlbGwudjEuV29ya3NwYWNlUm9sZRISCgpyZXF1ZXN0X2lkGAQgASgJIksKGkFkZFdvcmtzcGFjZU1lbWJlclJlc3BvbnNlEi0KBm1lbWJlchgBIAEoCzIdLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VNZW1iZXIiqAEKHFJlbW92ZVdvcmtzcGFjZU1lbWJlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAEgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIZChFwcmluY2lwYWxfc3ViamVjdBgCIAEoCRIVCg1hbGxvd19taXNzaW5nGAMgASgIEhIKCnJlcXVlc3RfaWQYBCABKAkiXgodUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB3JlbW92ZWQiiAEKG0xpc3RXb3Jrc3BhY2VNZW1iZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJImcKHExpc3RXb3Jrc3BhY2VNZW1iZXJzUmVzcG9uc2USLgoHbWVtYmVycxgBIAMoCzIdLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VNZW1iZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIpEBChpFeHRlbnNpb25TZXJ2aWNlQ3JlZGVudGlhbBIUCgxzZXJ2aWNlX25hbWUYASABKAkSEwoFdG9rZW4YAiABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAMQBFINZXhwaXJlc19hdF9tcyJYChNFbmRwb2ludE9ic2VydmF0aW9uEhMKC2VuZHBvaW50X2lkGAEgASgJEiwKBnJlc3VsdBgCIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdCL1AQobUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLcG9saWN5X2hhc2gYAiABKAkSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAMgASgEEjcKDG9ic2VydmF0aW9ucxgEIAMoCzIhLm9wZW5zaGVsbC52MS5FbmRwb2ludE9ic2VydmF0aW9uEh0KFW9ic2VydmVkX2VuZHBvaW50X2lkcxgFIAMoCRIdChVzdXBlcnZpc29yX3Nlc3Npb25faWQYBiABKAkSFwoPcmVwb3J0X3NlcXVlbmNlGAcgASgEIh4KHFJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2Ui0wEKDkVuZHBvaW50U3RhdHVzEhMKC2VuZHBvaW50X2lkGAEgASgJEgwKBGhvc3QYAiABKAkSDQoFcG9ydHMYAyADKA0SDAoEcGF0aBgEIAEoCRIxCgtsYXN0X3Jlc3VsdBgFIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdBI2ChJsYXN0X3JlcG9ydGVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBhAHUhBsYXN0X3JlcG9ydGVkX2F0IogEChNTYW5kYm94UHJvdmlzaW9uaW5nEhIKCmF0dGVtcHRfaWQYASABKAkSHwoXY29uZmlndXJhdGlvbl9jaGFuZ2VfaWQYAiABKAkSPQoZY29uZmlndXJhdGlvbl9jaGFuZ2VfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoUZmlyc3RfcmVqZWN0aW9uX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGRlYWRsaW5lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgx0aW1lb3V0X3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKFmNsZWFudXBfY29tcGxldGVkX3RpbWUYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWNsZWFudXBfZXJyb3IYCCABKAkSNgoSY2xlYW51cF9yZXRyeV90aW1lGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRhdHRhY2htZW50X2NoYW5nZV9pZBgKIAEoCRI6ChZhdHRhY2htZW50X2NoYW5nZV90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI+ChZTYW5kYm94U2VydmljZUV4cG9zdXJlEg8KB3NlcnZpY2UYASABKAkSEwoLdGFyZ2V0X3BvcnQYAiABKA0qygEKDUV4dGVuc2lvbktpbmQSHgoaRVhURU5TSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIhCh1FWFRFTlNJT05fS0lORF9DT01QVVRFX0RSSVZFUhABEiQKIEVYVEVOU0lPTl9LSU5EX0NSRURFTlRJQUxfRFJJVkVSEAISJgoiRVhURU5TSU9OX0tJTkRfR0FURVdBWV9JTlRFUkNFUFRPUhADEigKJEVYVEVOU0lPTl9LSU5EX1NVUEVSVklTT1JfTUlERExFV0FSRRAEKqYCCgxTYW5kYm94UGhhc2USHQoZU0FOREJPWF9QSEFTRV9VTlNQRUNJRklFRBAAEh4KGlNBTkRCT1hfUEhBU0VfUFJPVklTSU9OSU5HEAESFwoTU0FOREJPWF9QSEFTRV9SRUFEWRACEhcKE1NBTkRCT1hfUEhBU0VfRVJST1IQAxIaChZTQU5EQk9YX1BIQVNFX0RFTEVUSU5HEAQSGQoVU0FOREJPWF9QSEFTRV9VTktOT1dOEAUSGgoWU0FOREJPWF9QSEFTRV9TVE9QUElORxAGEhkKFVNBTkRCT1hfUEhBU0VfU1RPUFBFRBAHEhoKFlNBTkRCT1hfUEhBU0VfU1RBUlRJTkcQCBIbChdTQU5EQk9YX1BIQVNFX0NPTVBMRVRFRBAJKssBChRQcm92aWRlck11dGF0aW9uS2luZBImCiJQUk9WSURFUl9NVVRBVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9BVFRBQ0gQARIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX0RFVEFDSBACEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfVVBEQVRFEAMSIgoeUFJPVklERVJfTVVUQVRJT05fS0lORF9PQlNFUlZFEAQqzwIKFlByb3ZpZGVyUmVhZGluZXNzU3RhdGUSKAokUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1VOU1BFQ0lGSUVEEAASJgoiUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1BFUlNJU1RFRBABEiQKIFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9QRU5ESU5HEAISIgoeUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1JFQURZEAMSJQohUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1dJVEhIRUxEEAQSJAogUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1JFVk9LRUQQBRIjCh9QUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfRkFJTEVEEAYSJwojUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1NVUEVSU0VERUQQByraBgoXUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SKQolUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9VTlNQRUNJRklFRBAAEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfU1VQRVJWSVNPUhABEjUKMVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfQ1JFREVOVElBTFMQAhIwCixQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1BPTElDWRADEjEKLVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfUFJPQ0VTUxAEEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fVU5TVVBQT1JURURfU1VQRVJWSVNPUhAFEjIKLlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTFNfV0lUSEhFTEQQBhI3CjNQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxfSU5TVEFMTF9GQUlMRUQQBxI2CjJQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1BPTElDWV9BQ1RJVkFUSU9OX0ZBSUxFRBAIEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fUFJPQ0VTU19JTlNUQUxMX0ZBSUxFRBAJEjUKMVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU1VQRVJWSVNPUl9ESVNDT05ORUNURUQQChI2CjJQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NVUEVSVklTT1JfTEVBU0VfRVhQSVJFRBALEjMKL1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fREVTSVJFRF9TVEFURV9DSEFOR0VEEAwSMAosUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMX0VYUElSRUQQDRIqCiZQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0xPQ0FMX1BPTElDWRAOEi8KK1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU05BUFNIT1RfTUlTTUFUQ0gQDyqDAQoPQ29uZmlnQ29tcG9uZW50EiAKHENPTkZJR19DT01QT05FTlRfVU5TUEVDSUZJRUQQABIjCh9DT05GSUdfQ09NUE9ORU5UX1NBTkRCT1hfQ09ORklHEAESKQolQ09ORklHX0NPTVBPTkVOVF9QUk9WSURFUl9FTlZJUk9OTUVOVBACKo0DChJDb25maWdBcHBseU91dGNvbWUSJAogQ09ORklHX0FQUExZX09VVENPTUVfVU5TUEVDSUZJRUQQABIgChxDT05GSUdfQVBQTFlfT1VUQ09NRV9BUFBMSUVEEAESKgomQ09ORklHX0FQUExZX09VVENPTUVfSUdOT1JFRF9EVVBMSUNBVEUQAhImCiJDT05GSUdfQVBQTFlfT1VUQ09NRV9JR05PUkVEX1NUQUxFEAMSMAosQ09ORklHX0FQUExZX09VVENPTUVfUkVUQUlORURfTE9DQUxfT1ZFUlJJREUQBBIhCh1DT05GSUdfQVBQTFlfT1VUQ09NRV9ERUdSQURFRBAFEjgKNENPTkZJR19BUFBMWV9PVVRDT01FX0ZBSUxFRF9SRVRBSU5FRF9MQVNUX0tOT1dOX0dPT0QQBhImCiJDT05GSUdfQVBQTFlfT1VUQ09NRV9GQUlMRURfQ0xPU0VEEAcSJAogQ09ORklHX0FQUExZX09VVENPTUVfVU5TVVBQT1JURUQQCCrSAgoaQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSLQopQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIpCiVDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9QRU5ESU5HEAESKQolQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfQVBQTElFRBACEioKJkNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0lOQUNUSVZFEAMSKAokQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfRkFJTEVEEAQSLAooQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfU1VQRVJTRURFRBAFEisKJ0NPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0NBTkNFTExFRBAGKs4BCiBQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50VHlwZRI0CjBQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfVU5TUEVDSUZJRUQQABI7CjdQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfQ0xJRU5UX0NSRURFTlRJQUxTEAESNwozUFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX1RPS0VOX0VYQ0hBTkdFEAIqwwMKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRI0CjBQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIvCitQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfU1RBVElDEAESMQotUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0VYVEVSTkFMEAISPQo5UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9SRUZSRVNIX1RPS0VOEAMSQgo+UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9DTElFTlRfQ1JFREVOVElBTFMQBBJDCj9QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfR09PR0xFX1NFUlZJQ0VfQUNDT1VOVF9KV1QQBRI8CjhQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfQVdTX1NUU19BU1NVTUVfUk9MRRAGKtsCChdQcm92aWRlclByb2ZpbGVDYXRlZ29yeRIpCiVQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9PVEhFUhABEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfSU5GRVJFTkNFEAISIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9BR0VOVBADEiwKKFBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfU09VUkNFX0NPTlRST0wQBBInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX01FU1NBR0lORxAFEiIKHlBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfREFUQRAGEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfS05PV0xFREdFEAcqzwEKG0NvbmZpZ3VyYXRpb25BZG1pc3Npb25TdGF0ZRItCilDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9VTlNQRUNJRklFRBAAEikKJUNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1BFTkRJTkcQARIqCiZDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9BQ0NFUFRFRBACEioKJkNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1JFSkVDVEVEEAMqmgEKDFBvbGljeVN0YXR1cxIdChlQT0xJQ1lfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVUE9MSUNZX1NUQVRVU19QRU5ESU5HEAESGAoUUE9MSUNZX1NUQVRVU19MT0FERUQQAhIYChRQT0xJQ1lfU1RBVFVTX0ZBSUxFRBADEhwKGFBPTElDWV9TVEFUVVNfU1VQRVJTRURFRBAEKoYBCg1TZXJ2aWNlU3RhdHVzEh4KGlNFUlZJQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VSVklDRV9TVEFUVVNfSEVBTFRIWRABEhsKF1NFUlZJQ0VfU1RBVFVTX0RFR1JBREVEEAISHAoYU0VSVklDRV9TVEFUVVNfVU5IRUFMVEhZEAMqYgoNV29ya3NwYWNlUm9sZRIeChpXT1JLU1BBQ0VfUk9MRV9VTlNQRUNJRklFRBAAEhcKE1dPUktTUEFDRV9ST0xFX1VTRVIQARIYChRXT1JLU1BBQ0VfUk9MRV9BRE1JThACKtoCCidQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoUmVjb3ZlcnlBY3Rpb24SOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9VTlNQRUNJRklFRBAAEjUKMVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fUkVUUlkQARI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1JFQVVUSE9SSVpFEAISQQo9UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9GSVhfQ09ORklHVVJBVElPThADEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fSU5WRVNUSUdBVEUQBCqXAQoPRGVsZXRpb25PdXRjb21lEiAKHERFTEVUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIeChpERUxFVElPTl9PVVRDT01FX0NPTVBMRVRFRBABEh0KGURFTEVUSU9OX09VVENPTUVfQUNDRVBURUQQAhIjCh9ERUxFVElPTl9PVVRDT01FX0FMUkVBRFlfQUJTRU5UEAMqwwIKDkVuZHBvaW50UmVzdWx0Eh8KG0VORFBPSU5UX1JFU1VMVF9VTlNQRUNJRklFRBAAEigKJEVORFBPSU5UX1JFU1VMVF9OT19PQlNFUlZFRF9FWENIQU5HRRABEioKJkVORFBPSU5UX1JFU1VMVF9IVFRQX1JFU1BPTlNFX1JFQ0VJVkVEEAISIQodRU5EUE9JTlRfUkVTVUxUX1BPTElDWV9ERU5JRUQQAxIqCiZFTkRQT0lOVF9SRVNVTFRfQ1JFREVOVElBTF9VTkFWQUlMQUJMRRAEEh4KGkVORFBPSU5UX1JFU1VMVF9UTFNfRkFJTEVEEAUSJAogRU5EUE9JTlRfUkVTVUxUX1RSQU5TUE9SVF9GQUlMRUQQBhIlCiFFTkRQT0lOVF9SRVNVTFRfVVBTVFJFQU1fUkVKRUNURUQQBzKvVQoJT3BlblNoZWxsEloKBkhlYWx0aBIbLm9wZW5zaGVsbC52MS5IZWFsdGhSZXF1ZXN0Ghwub3BlbnNoZWxsLnYxLkhlYWx0aFJlc3BvbnNlIhWCtRgRCg91bmF1dGhlbnRpY2F0ZWQSaQoOR2V0Q3VycmVudFVzZXISIy5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiDIK1GAgKBmJlYXJlchKGAQoOR2V0R2F0ZXdheUluZm8SIy5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEdhdGV3YXlJbmZvUmVzcG9uc2UiKYK1GCUKBmJlYXJlchoOcGxhdGZvcm1fYWRtaW4iC2NvbmZpZzpyZWFkEnUKDUNyZWF0ZVNhbmRib3gSIi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFUJlZ2luUm9vdGZzVGFyU3RhZ2luZxIqLm9wZW5zaGVsbC52MS5CZWdpblJvb3Rmc1RhclN0YWdpbmdSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSbgoKR2V0U2FuZGJveBIfLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnoKDUxpc3RTYW5kYm94ZXMSIi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1JlcXVlc3QaIy5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKOAQoVQ3JlYXRlU2FuZGJveFRlbXBsYXRlEioub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIFYWRtaW4iDXNhbmRib3g6d3JpdGUShgEKEkdldFNhbmRib3hUZW1wbGF0ZRInLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKPAQoUTGlzdFNhbmRib3hUZW1wbGF0ZXMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94VGVtcGxhdGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpQBChVEZWxldGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKPAQoUTGlzdFNhbmRib3hQcm92aWRlcnMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpMBChVBdHRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuQXR0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpMBChVEZXRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpsBChhHZXRTYW5kYm94UHJvdmlkZXJTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSewoNRGVsZXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVxdWVzdBojLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJxCgtTdG9wU2FuZGJveBIgLm9wZW5zaGVsbC52MS5TdG9wU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUScwoMU3RhcnRTYW5kYm94EiEub3BlbnNoZWxsLnYxLlN0YXJ0U2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEENyZWF0ZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSfQoNRXhwb3NlU2VydmljZRIiLm9wZW5zaGVsbC52MS5FeHBvc2VTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnYKCkdldFNlcnZpY2USHy5vcGVuc2hlbGwudjEuR2V0U2VydmljZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEncKDExpc3RTZXJ2aWNlcxIhLm9wZW5zaGVsbC52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEoQBChBSZXZva2VTc2hTZXNzaW9uEiUub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXF1ZXN0GiYub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnQKC0V4ZWNTYW5kYm94EiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdBoeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV2ZW50IiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUwARJxCgpGb3J3YXJkVGNwEh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZRodLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkRnJhbWUiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESfwoWRXhlY1NhbmRib3hJbnRlcmFjdGl2ZRIeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveElucHV0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESegoOQ3JlYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuQ3JlYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEnIKC0dldFByb3ZpZGVyEiAub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSewoNTGlzdFByb3ZpZGVycxIiLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKQAQoUTGlzdFByb3ZpZGVyUHJvZmlsZXMSKS5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKHAQoSR2V0UHJvdmlkZXJQcm9maWxlEicub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUHJvZmlsZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKYAQoWSW1wb3J0UHJvdmlkZXJQcm9maWxlcxIrLm9wZW5zaGVsbC52MS5JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpgBChZVcGRhdGVQcm92aWRlclByb2ZpbGVzEisub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSkAEKFExpbnRQcm92aWRlclByb2ZpbGVzEikub3BlbnNoZWxsLnYxLkxpbnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaW50UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSegoOVXBkYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpwBChhHZXRQcm92aWRlclJlZnJlc2hTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEp4BChhDb25maWd1cmVQcm92aWRlclJlZnJlc2gSLS5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBouLm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSngEKGFJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbBItLm9wZW5zaGVsbC52MS5Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLlJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKVAQoVRGVsZXRlUHJvdmlkZXJSZWZyZXNoEioub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QaKy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEoABCg5EZWxldGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSlQEKFURlbGV0ZVByb3ZpZGVyUHJvZmlsZRIqLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclByb2ZpbGVSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKQAQoQR2V0U2FuZGJveENvbmZpZxItLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldFNhbmRib3hDb25maWdSZXF1ZXN0Gi4ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0U2FuZGJveENvbmZpZ1Jlc3BvbnNlIh2CtRgZCgRkdWFsEgR1c2VyIgtjb25maWc6cmVhZBKMAQoQR2V0R2F0ZXdheUNvbmZpZxItLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldEdhdGV3YXlDb25maWdSZXF1ZXN0Gi4ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0R2F0ZXdheUNvbmZpZ1Jlc3BvbnNlIhmCtRgVCgZiZWFyZXIiC2NvbmZpZzpyZWFkEnYKDFVwZGF0ZUNvbmZpZxIhLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1Jlc3BvbnNlIh+CtRgbCgRkdWFsEgVhZG1pbiIMY29uZmlnOndyaXRlEpUBChZHZXRTYW5kYm94UG9saWN5U3RhdHVzEisub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSjAEKE0xpc3RTYW5kYm94UG9saWNpZXMSKC5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQb2xpY2llc1JlcXVlc3QaKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQb2xpY2llc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ2ChJSZXBvcnRQb2xpY3lTdGF0dXMSJy5vcGVuc2hlbGwudjEuUmVwb3J0UG9saWN5U3RhdHVzUmVxdWVzdBooLm9wZW5zaGVsbC52MS5SZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBJ8ChRSZXBvcnRFbmRwb2ludFN0YXR1cxIpLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBKFAQoXUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3MSLC5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXF1ZXN0Gi0ub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSjgEKGlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uEi8ub3BlbnNoZWxsLnYxLlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVxdWVzdBowLm9wZW5zaGVsbC52MS5SZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EpcBCh1HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudBIyLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlcXVlc3QaMy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZSINgrUYCQoHc2FuZGJveBKUAQocRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlbhIxLm9wZW5zaGVsbC52MS5FeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuUmVxdWVzdBoyLm9wZW5zaGVsbC52MS5FeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSfQoOR2V0U2FuZGJveExvZ3MSIy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveExvZ3NSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldFNhbmRib3hMb2dzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEm8KD1B1c2hTYW5kYm94TG9ncxIkLm9wZW5zaGVsbC52MS5QdXNoU2FuZGJveExvZ3NSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlB1c2hTYW5kYm94TG9nc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94KAESZQoRQ29ubmVjdFN1cGVydmlzb3ISHy5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvck1lc3NhZ2UaHC5vcGVuc2hlbGwudjEuR2F0ZXdheU1lc3NhZ2UiDYK1GAkKB3NhbmRib3goATABEn8KFVJlcG9ydE1haW5Qcm9jZXNzRXhpdBIqLm9wZW5zaGVsbC52MS5SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLlJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EoUBChdGaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdBIsLm9wZW5zaGVsbC52MS5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlcXVlc3QaLS5vcGVuc2hlbGwudjEuRmluYWxpemVNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSINgrUYCQoHc2FuZGJveBJUCgtSZWxheVN0cmVhbRIYLm9wZW5zaGVsbC52MS5SZWxheUZyYW1lGhgub3BlbnNoZWxsLnYxLlJlbGF5RnJhbWUiDYK1GAkKB3NhbmRib3goATABElcKCVBlZXJSZWxheRIcLm9wZW5zaGVsbC52MS5QZWVyUmVsYXlGcmFtZRocLm9wZW5zaGVsbC52MS5QZWVyUmVsYXlGcmFtZSIKgrUYBgoEcGVlcigBMAEShgEKG1BlZXJSZXBvcnRQcm92aWRlclJlYWRpbmVzcxIsLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QaLS5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXNwb25zZSIKgrUYBgoEcGVlchJ9ChhQZWVyUmVwb3J0RW5kcG9pbnRTdGF0dXMSKS5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2UiCoK1GAYKBHBlZXISiQEKHFBlZXJHZXRTYW5kYm94UHJvdmlkZXJTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXNwb25zZSIKgrUYBgoEcGVlchJ3CgxXYXRjaFNhbmRib3gSIS5vcGVuc2hlbGwudjEuV2F0Y2hTYW5kYm94UmVxdWVzdBogLm9wZW5zaGVsbC52MS5TYW5kYm94U3RyZWFtRXZlbnQiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkMAESfAoUU3VibWl0UG9saWN5QW5hbHlzaXMSKS5vcGVuc2hlbGwudjEuU3VibWl0UG9saWN5QW5hbHlzaXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLlN1Ym1pdFBvbGljeUFuYWx5c2lzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSegoOR2V0RHJhZnRQb2xpY3kSIy5vcGVuc2hlbGwudjEuR2V0RHJhZnRQb2xpY3lSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldERyYWZ0UG9saWN5UmVzcG9uc2UiHYK1GBkKBGR1YWwSBHVzZXIiC2NvbmZpZzpyZWFkEocBChFBcHByb3ZlRHJhZnRDaHVuaxImLm9wZW5zaGVsbC52MS5BcHByb3ZlRHJhZnRDaHVua1JlcXVlc3QaJy5vcGVuc2hlbGwudjEuQXBwcm92ZURyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEoQBChBSZWplY3REcmFmdENodW5rEiUub3BlbnNoZWxsLnYxLlJlamVjdERyYWZ0Q2h1bmtSZXF1ZXN0GiYub3BlbnNoZWxsLnYxLlJlamVjdERyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEpMBChVBcHByb3ZlQWxsRHJhZnRDaHVua3MSKi5vcGVuc2hlbGwudjEuQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVxdWVzdBorLm9wZW5zaGVsbC52MS5BcHByb3ZlQWxsRHJhZnRDaHVua3NSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn4KDkVkaXREcmFmdENodW5rEiMub3BlbnNoZWxsLnYxLkVkaXREcmFmdENodW5rUmVxdWVzdBokLm9wZW5zaGVsbC52MS5FZGl0RHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfgoOVW5kb0RyYWZ0Q2h1bmsSIy5vcGVuc2hlbGwudjEuVW5kb0RyYWZ0Q2h1bmtSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLlVuZG9EcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKEAQoQQ2xlYXJEcmFmdENodW5rcxIlLm9wZW5zaGVsbC52MS5DbGVhckRyYWZ0Q2h1bmtzUmVxdWVzdBomLm9wZW5zaGVsbC52MS5DbGVhckRyYWZ0Q2h1bmtzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ/Cg9HZXREcmFmdEhpc3RvcnkSJC5vcGVuc2hlbGwudjEuR2V0RHJhZnRIaXN0b3J5UmVxdWVzdBolLm9wZW5zaGVsbC52MS5HZXREcmFmdEhpc3RvcnlSZXNwb25zZSIfgrUYGwoGYmVhcmVyEgR1c2VyIgtjb25maWc6cmVhZBJzChFJc3N1ZVNhbmRib3hUb2tlbhImLm9wZW5zaGVsbC52MS5Jc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QaJy5vcGVuc2hlbGwudjEuSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZSINgrUYCQoHc2FuZGJveBJ5ChNSZWZyZXNoU2FuZGJveFRva2VuEigub3BlbnNoZWxsLnYxLlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Gikub3BlbnNoZWxsLnYxLlJlZnJlc2hTYW5kYm94VG9rZW5SZXNwb25zZSINgrUYCQoHc2FuZGJveBKNAQoPQ3JlYXRlV29ya3NwYWNlEiQub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVzcG9uc2UiLYK1GCkKBmJlYXJlchoOcGxhdGZvcm1fYWRtaW4iD3dvcmtzcGFjZTp3cml0ZRJ5CgxHZXRXb3Jrc3BhY2USIS5vcGVuc2hlbGwudjEuR2V0V29ya3NwYWNlUmVxdWVzdBoiLm9wZW5zaGVsbC52MS5HZXRXb3Jrc3BhY2VSZXNwb25zZSIigrUYHgoGYmVhcmVyEgR1c2VyIg53b3Jrc3BhY2U6cmVhZBJ/Cg5MaXN0V29ya3NwYWNlcxIjLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlc1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZXNSZXNwb25zZSIigrUYHgoGYmVhcmVyEgR1c2VyIg53b3Jrc3BhY2U6cmVhZBKNAQoPRGVsZXRlV29ya3NwYWNlEiQub3BlbnNoZWxsLnYxLkRlbGV0ZVdvcmtzcGFjZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuRGVsZXRlV29ya3NwYWNlUmVzcG9uc2UiLYK1GCkKBmJlYXJlchoOcGxhdGZvcm1fYWRtaW4iD3dvcmtzcGFjZTp3cml0ZRKNAQoSQWRkV29ya3NwYWNlTWVtYmVyEicub3BlbnNoZWxsLnYxLkFkZFdvcmtzcGFjZU1lbWJlclJlcXVlc3QaKC5vcGVuc2hlbGwudjEuQWRkV29ya3NwYWNlTWVtYmVyUmVzcG9uc2UiJIK1GCAKBmJlYXJlchIFYWRtaW4iD3dvcmtzcGFjZTp3cml0ZRKWAQoVUmVtb3ZlV29ya3NwYWNlTWVtYmVyEioub3BlbnNoZWxsLnYxLlJlbW92ZVdvcmtzcGFjZU1lbWJlclJlcXVlc3QaKy5vcGVuc2hlbGwudjEuUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVzcG9uc2UiJIK1GCAKBmJlYXJlchIFYWRtaW4iD3dvcmtzcGFjZTp3cml0ZRKRAQoUTGlzdFdvcmtzcGFjZU1lbWJlcnMSKS5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VNZW1iZXJzUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWRiBnByb3RvMw", [file_datamodel, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_options, file_sandbox]);
11
+ export const file_openshell = /*@__PURE__*/ fileDesc("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCK3AgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzEhwKFGhvc3Rfa2V5X2ZpbmdlcnByaW50GAYgASgJElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIv4DCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkSOgoOcmVzdGFydF9wb2xpY3kYDyABKA4yIi5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3RhcnRQb2xpY3kaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAkingUKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nEhUKDXJlc3RhcnRfY291bnQYDiABKA0SNQoRbmV4dF9yZXN0YXJ0X3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KGW1haW5fcHJvY2Vzc19zdGFydGVkX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJIrMBCg9TYW5kYm94UmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EkQKDHNlcnZpY2VfdXJscxgCIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UuU2VydmljZVVybHNFbnRyeRoyChBTZXJ2aWNlVXJsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWgoVTGlzdFNhbmRib3hlc1Jlc3BvbnNlEigKCXNhbmRib3hlcxgBIAMoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJsChxMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIpEBCh1BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIYXR0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCKRAQodRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhAKCGRldGFjaGVkGAIgASgIEjYKB3JlY2VpcHQYAyABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQi3QEKF1Byb3ZpZGVyRGVzaXJlZElkZW50aXR5EhIKCnNhbmRib3hfaWQYASABKAkSDwoHc2FuZGJveBgCIAEoCRIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJEiEKGXByb3ZpZGVyX3Jlc291cmNlX3ZlcnNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEhcKD2NvbmZpZ19yZXZpc2lvbhgHIAEoBBITCgtwb2xpY3lfaGFzaBgIIAEoCSLGAQoWQ29uZmlnU25hcHNob3RSZXZpc2lvbhI9Cg5zYW5kYm94X2NvbmZpZxgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlnUmV2aXNpb25IABIeChRwcm92aWRlcl9lbnZpcm9ubWVudBgCIAEoBEgAEkAKD3Byb3ZpZGVyX3RhcmdldBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckRlc2lyZWRJZGVudGl0eUgAQgsKCWNvbXBvbmVudCK9AQoVU2FuZGJveENvbmZpZ1JldmlzaW9uEhcKD2NvbmZpZ19yZXZpc2lvbhgBIAEoBBIWCg5wb2xpY3lfdmVyc2lvbhgCIAEoDRI5Cg1wb2xpY3lfc291cmNlGAMgASgOMiIub3BlbnNoZWxsLnNhbmRib3gudjEuUG9saWN5U291cmNlEh0KFWdsb2JhbF9wb2xpY3lfdmVyc2lvbhgEIAEoDRIZChFzZXR0aW5nc19yZXZpc2lvbhgFIAEoBCKQBAoVQ29uZmlnVXBkYXRlT3BlcmF0aW9uEhQKDG9wZXJhdGlvbl9pZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEjAKCWNvbXBvbmVudBgDIAEoDjIdLm9wZW5zaGVsbC52MS5Db25maWdDb21wb25lbnQSPQoPdGFyZ2V0X3JldmlzaW9uGAQgASgLMiQub3BlbnNoZWxsLnYxLkNvbmZpZ1NuYXBzaG90UmV2aXNpb24SNwoFc3RhdGUYBSABKA4yKC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSMQoHb3V0Y29tZRgGIAEoDjIgLm9wZW5zaGVsbC52MS5Db25maWdBcHBseU91dGNvbWUSFwoPc2FuaXRpemVkX2Vycm9yGAcgASgJEjAKDGNyZWF0ZWRfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdXBkYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5jb21wbGV0ZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgIEAlKBAgJEApKBAgKEAtSDWNyZWF0ZWRfYXRfbXNSDXVwZGF0ZWRfYXRfbXNSD2NvbXBsZXRlZF9hdF9tcyKcAgoXUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEgoKcmVjZWlwdF9pZBgBIAEoCRITCgttdXRhdGlvbl9pZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgl3b3Jrc3BhY2UYBCABKAkSMAoEa2luZBgFIAEoDjIiLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uS2luZBI2CgdkZXNpcmVkGAYgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5EjIKDnBlcnNpc3RlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAcQCFIPcGVyc2lzdGVkX2F0X21zItsCChxQcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhIKCnNlc3Npb25faWQYASABKAkSEAoIc2VxdWVuY2UYAiABKAQSGAoQYXR0YWNobWVudF9lcG9jaBgDIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBCABKAQSFwoPY29uZmlnX3JldmlzaW9uGAUgASgEEhMKC3BvbGljeV9oYXNoGAYgASgJEh0KFWNyZWRlbnRpYWxzX2luc3RhbGxlZBgHIAEoCBIVCg1wb2xpY3lfYWN0aXZlGAggASgIEiQKHGxhdW5jaF9lbnZpcm9ubWVudF9pbnN0YWxsZWQYCSABKAgSGwoTcHJvY2Vzc19pbnN0YW5jZV9pZBgKIAEoCRI1CgZyZWFzb24YCyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24i5AMKF1Byb3ZpZGVyUmVhZGluZXNzU3RhdHVzEjYKB3JlY2VpcHQYASABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSMwoFc3RhdGUYAiABKA4yJC5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRI1CgZyZWFzb24YAyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SPAoIb2JzZXJ2ZWQYBCABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NPYnNlcnZhdGlvbhIbChNuZXR3b3JrX2luc3RhbmNlX2lkGAUgASgJEjEKDW9ic2VydmVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmV2YWx1YXRlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2CglvcGVyYXRpb24YCCABKAsyIy5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uSgQIBhAHSgQIBxAIUg5vYnNlcnZlZF9hdF9tc1IPZXZhbHVhdGVkX2F0X21zIpwBCh9HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRISCgpyZWNlaXB0X2lkGAMgASgJIlkKIEdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlEjUKBnN0YXR1cxgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXR1cyJ1Ch5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI/CgtvYnNlcnZhdGlvbhgCIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uIuIBCh9SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlEhkKEWFjY2VwdGVkX3NlcXVlbmNlGAEgASgEEjIKD3JlcG9ydF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIyCg9vYnNlcnZhdGlvbl90dGwYZyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANKBAgDEARSF3JlcG9ydF9pbnRlcnZhbF9zZWNvbmRzUhdvYnNlcnZhdGlvbl90dGxfc2Vjb25kcyJqChVEZWxldGVTYW5kYm94UmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWUSEgoKc2FuZGJveF9pZBgDIAEoCUoECAEQAlIHZGVsZXRlZCJuChdDcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAki7wEKGENyZWF0ZVNzaFNlc3Npb25SZXNwb25zZRISCgpzYW5kYm94X2lkGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEhQKDGdhdGV3YXlfaG9zdBgDIAEoCRIUCgxnYXRld2F5X3BvcnQYBCABKA0SFgoOZ2F0ZXdheV9zY2hlbWUYBSABKAkSHAoUaG9zdF9rZXlfZmluZ2VycHJpbnQYByABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCVINZXhwaXJlc19hdF9tcyL2AQoURXhwb3NlU2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEhMKC3RhcmdldF9wb3J0GAMgASgNEg4KBmRvbWFpbhgEIAEoCBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBiABKAkSQgoSYXV0aG9yaXphdGlvbl9tb2RlGAcgASgOMiYub3BlbnNoZWxsLnYxLlNlcnZpY2VBdXRob3JpemF0aW9uTW9kZSJ2ChFHZXRTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCSKRAQoTTGlzdFNlcnZpY2VzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJEg8KB3NhbmRib3gYASABKAkiaAoUTGlzdFNlcnZpY2VzUmVzcG9uc2USNwoIc2VydmljZXMYASADKAsyJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIqQBChREZWxldGVTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAQgASgIEhIKCnJlcXVlc3RfaWQYBSABKAkiVgoVRGVsZXRlU2VydmljZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIuMBCg9TZXJ2aWNlRW5kcG9pbnQSNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRIPCgdzYW5kYm94GAMgASgJEgwKBG5hbWUYBCABKAkSEwoLdGFyZ2V0X3BvcnQYBSABKA0SDgoGZG9tYWluGAYgASgIEkIKEmF1dGhvcml6YXRpb25fbW9kZRgHIAEoDjImLm9wZW5zaGVsbC52MS5TZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUiVwoXU2VydmljZUVuZHBvaW50UmVzcG9uc2USLwoIZW5kcG9pbnQYASABKAsyHS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50EgsKA3VybBgCIAEoCSJFChdSZXZva2VTc2hTZXNzaW9uUmVxdWVzdBITCgV0b2tlbhgBIAEoCUIEiLUYARIVCg1hbGxvd19taXNzaW5nGAIgASgIIlkKGFJldm9rZVNzaFNlc3Npb25SZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmV2b2tlZCK4AwoSRXhlY1NhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgMIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIPCgdjb21tYW5kGAIgAygJEg8KB3dvcmtkaXIYAyABKAkSRgoLZW52aXJvbm1lbnQYBCADKAsyMS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0LkVudmlyb25tZW50RW50cnkSNAoRZXhlY3V0aW9uX3RpbWVvdXQYaSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SDQoFc3RkaW4YBiABKAwSCwoDdHR5GAcgASgIEgwKBGNvbHMYCCABKA0SDAoEcm93cxgJIAEoDRIWCg5ub19sb2dpbl9zaGVsbBgKIAEoCBISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIPdGltZW91dF9zZWNvbmRzIiEKEUV4ZWNTYW5kYm94U3Rkb3V0EgwKBGRhdGEYASABKAwiIQoRRXhlY1NhbmRib3hTdGRlcnISDAoEZGF0YRgBIAEoDCIkCg9FeGVjU2FuZGJveEV4aXQSEQoJZXhpdF9jb2RlGAEgASgFIrIBChBFeGVjU2FuZGJveEV2ZW50EjEKBnN0ZG91dBgBIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZG91dEgAEjEKBnN0ZGVychgCIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZGVyckgAEi0KBGV4aXQYAyABKAsyHS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFeGl0SABCCQoHcGF5bG9hZCLPAQoOVGNwRm9yd2FyZEluaXQSDwoHc2FuZGJveBgBIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkSEgoKc2VydmljZV9pZBgEIAEoCRIrCgNzc2gYBSABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYBiABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABIhChNhdXRob3JpemF0aW9uX3Rva2VuGAcgASgJQgSItRgBQggKBnRhcmdldCJaCg9UY3BGb3J3YXJkRnJhbWUSLAoEaW5pdBgBIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkSW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIpoBChBFeGVjU2FuZGJveElucHV0EjEKBXN0YXJ0GAEgASgLMiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdEgAEg8KBXN0ZGluGAIgASgMSAASNwoGcmVzaXplGAMgASgLMiUub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94V2luZG93UmVzaXplSABCCQoHcGF5bG9hZCI1ChdFeGVjU2FuZGJveFdpbmRvd1Jlc2l6ZRIMCgRjb2xzGAEgASgNEgwKBHJvd3MYAiABKA0ixgEKClNzaFNlc3Npb24SNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRITCgV0b2tlbhgDIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYaCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3Jldm9rZWQYBSABKAhKBAgEEAVSDWV4cGlyZXNfYXRfbXMigAMKE1dhdGNoU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAsgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhUKDWZvbGxvd19zdGF0dXMYAiABKAgSEwoLZm9sbG93X2xvZ3MYAyABKAgSFQoNZm9sbG93X2V2ZW50cxgEIAEoCBIWCg5sb2dfdGFpbF9saW5lcxgFIAEoDRISCgpldmVudF90YWlsGAYgASgNEhgKEHN0b3Bfb25fdGVybWluYWwYByABKAgSLgoKc2luY2VfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLbG9nX3NvdXJjZXMYCSADKAkSFQoNbG9nX21pbl9sZXZlbBgKIAEoCRIbChNyZXN1bWVfYWZ0ZXJfY3Vyc29yGAwgASgJSgQICBAJUgxsb2dfc2luY2VfbXMiqwIKElNhbmRib3hTdHJlYW1FdmVudBIoCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3hIABIrCgNsb2cYAiABKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmVIABIsCgVldmVudBgDIAEoCzIbLm9wZW5zaGVsbC52MS5QbGF0Zm9ybUV2ZW50SAASNQoHd2FybmluZxgEIAEoCzIiLm9wZW5zaGVsbC52MS5TYW5kYm94U3RyZWFtV2FybmluZ0gAEj4KE2RyYWZ0X3BvbGljeV91cGRhdGUYBSABKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRQb2xpY3lVcGRhdGVIABIOCgZjdXJzb3IYBiABKAlCCQoHcGF5bG9hZCKRAgoOU2FuZGJveExvZ0xpbmUSEgoKc2FuZGJveF9pZBgBIAEoCRIuCgpldmVudF90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVsZXZlbBgDIAEoCRIOCgZ0YXJnZXQYBCABKAkSDwoHbWVzc2FnZRgFIAEoCRIOCgZzb3VyY2UYBiABKAkSOAoGZmllbGRzGAcgAygLMigub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgCEANSDHRpbWVzdGFtcF9tcyInChRTYW5kYm94U3RyZWFtV2FybmluZxIPCgdtZXNzYWdlGAEgASgJIqMBChVDcmVhdGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISEgoKcmVxdWVzdF9pZBgDIAEoCSJmChJHZXRQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJIoEBChRMaXN0UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJIrQDChVVcGRhdGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISZwobY3JlZGVudGlhbF9leHBpcmF0aW9uX3RpbWVzGGYgAygLMkIub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUmVxdWVzdC5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSKAogY2xlYXJfY3JlZGVudGlhbF9leHBpcmF0aW9uX2tleXMYZyADKAkSEgoKcmVxdWVzdF9pZBgEIAEoCRpcCh5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSCwoDa2V5GAEgASgJEikKBXZhbHVlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcDoCOAFKBAgCEANSGGNyZWRlbnRpYWxfZXhwaXJlc19hdF9tcyKUAQoVRGVsZXRlUHJvdmlkZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAQgASgIEhIKCnJlcXVlc3RfaWQYBSABKAkimwEKEFByb3ZpZGVyUmVzcG9uc2USMgoIcHJvdmlkZXIYASABKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEj4KD3RhcmdldF9yZWNlaXB0cxgCIAMoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdBITCgttdXRhdGlvbl9pZBgDIAEoCSJlChVMaXN0UHJvdmlkZXJzUmVzcG9uc2USMwoJcHJvdmlkZXJzGAEgAygLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiiAEKG0xpc3RQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJImsKGUdldFByb3ZpZGVyUHJvZmlsZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIKCgJpZBgBIAEoCSJbChlQcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEg4KBnNvdXJjZRgCIAEoCSJxChlQcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEg4KBnNvdXJjZRgBIAEoCRISCgpwcm9maWxlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEg8KB21lc3NhZ2UYBCABKAkSEAoIc2V2ZXJpdHkYBSABKAkiegosUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkSEAoIYXVkaWVuY2UYBCABKAkSDgoGc2NvcGVzGAUgAygJImoKKFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRTdWJqZWN0VG9rZW4SDgoGc291cmNlGAEgASgJEhIKCmNyZWRlbnRpYWwYAiABKAkSGgoSc3ViamVjdF90b2tlbl90eXBlGAMgASgJIuIDChxQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50EhYKDnRva2VuX2VuZHBvaW50GAEgASgJEhAKCGF1ZGllbmNlGAIgASgJEhkKEWp3dF9zdmlkX2F1ZGllbmNlGAYgASgJEg4KBnNjb3BlcxgDIAMoCRIsCgljYWNoZV90dGwYaCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SVgoSYXVkaWVuY2Vfb3ZlcnJpZGVzGAUgAygLMjoub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRBdWRpZW5jZU92ZXJyaWRlEh0KFWNsaWVudF9hc3NlcnRpb25fdHlwZRgHIAEoCRJCCgpncmFudF90eXBlGAggASgOMi4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRUeXBlEk0KDXN1YmplY3RfdG9rZW4YCSABKAsyNi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFN1YmplY3RUb2tlbhIcChRyZXF1ZXN0ZWRfdG9rZW5fdHlwZRgKIAEoCUoECAQQBVIRY2FjaGVfdHRsX3NlY29uZHMizgIKGVByb3ZpZGVyUHJvZmlsZUNyZWRlbnRpYWwSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCghlbnZfdmFycxgDIAMoCRIQCghyZXF1aXJlZBgEIAEoCBISCgphdXRoX3N0eWxlGAUgASgJEhMKC2hlYWRlcl9uYW1lGAYgASgJEhMKC3F1ZXJ5X3BhcmFtGAcgASgJEjgKB3JlZnJlc2gYCCABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaBIVCg1wYXRoX3RlbXBsYXRlGAkgASgJEj8KC3Rva2VuX2dyYW50GAogASgLMioub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnQSGgoSdG9rZW5fZ3JhbnRfb3duZXJzGAsgAygJImgKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEg4KBnNlY3JldBgEIAEoCCJFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0Eg4KBm91dHB1dBgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJIq0DChlQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEkEKCHN0cmF0ZWd5GAEgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIRCgl0b2tlbl91cmwYAiABKAkSDgoGc2NvcGVzGAMgAygJEjEKDnJlZnJlc2hfYmVmb3JlGGggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi8KDG1heF9saWZldGltZRhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJBCghtYXRlcmlhbBgGIAMoCzIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoTWF0ZXJpYWwSSQoSYWRkaXRpb25hbF9vdXRwdXRzGAcgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hPdXRwdXRKBAgEEAVKBAgFEAZSFnJlZnJlc2hfYmVmb3JlX3NlY29uZHNSFG1heF9saWZldGltZV9zZWNvbmRzIoYFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzEhAKCHByb3ZpZGVyGAEgASgJEhMKC3Byb3ZpZGVyX2lkGAIgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAMgASgJEkEKCHN0cmF0ZWd5GAQgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIOCgZzdGF0dXMYBSABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChFuZXh0X3JlZnJlc2hfdGltZRhrIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoRbGFzdF9yZWZyZXNoX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxhc3RfZXJyb3IYCSABKAkSTgoPcmVjb3ZlcnlfYWN0aW9uGAogASgOMjUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhIUCgxmYWlsdXJlX2NvZGUYCyABKAkSHgoWcHJvdmlkZXJfZXJyb3Jfc3VidHlwZRgMIAEoCRIzCg9sYXN0X2Vycm9yX3RpbWUYcSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBhAHSgQIBxAISgQICBAJSgQIDRAOUg1leHBpcmVzX2F0X21zUhJuZXh0X3JlZnJlc2hfYXRfbXNSEmxhc3RfcmVmcmVzaF9hdF9tc1IQbGFzdF9lcnJvcl9hdF9tcyIvChhQcm92aWRlclByb2ZpbGVEaXNjb3ZlcnkSEwoLY3JlZGVudGlhbHMYASADKAkijwEKH0dldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCSJmCiBHZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXNwb25zZRJCCgtjcmVkZW50aWFscxgBIAMoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzItQDCh9Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgHIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSQQoIc3RyYXRlZ3kYAyABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5ElMKCG1hdGVyaWFsGAQgAygLMjsub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QuTWF0ZXJpYWxFbnRyeUIEiLUYARIcChRzZWNyZXRfbWF0ZXJpYWxfa2V5cxgFIAMoCRIzCg9leHBpcmF0aW9uX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYCCABKAkaLwoNTWF0ZXJpYWxFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBhAHUg1leHBpcmVzX2F0X21zImEKIENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlEj0KBnN0YXR1cxgBIAEoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzIqMBCh9Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSEgoKcmVxdWVzdF9pZBgEIAEoCSJhCiBSb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyK3AQocRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhUKDWFsbG93X21pc3NpbmcYBSABKAgSEgoKcmVxdWVzdF9pZBgGIAEoCSJeCh1EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCLqBAoPUHJvdmlkZXJQcm9maWxlEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRI3CghjYXRlZ29yeRgEIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDYXRlZ29yeRI8CgtjcmVkZW50aWFscxgFIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEjgKCWVuZHBvaW50cxgGIAMoCzIlLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtFbmRwb2ludBI1CghiaW5hcmllcxgHIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSGQoRaW5mZXJlbmNlX2NhcGFibGUYCCABKAgSOQoJZGlzY292ZXJ5GAkgASgLMiYub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpc2NvdmVyeRIYChByZXNvdXJjZV92ZXJzaW9uGAogASgEEkMKC2Fubm90YXRpb25zGAsgAygLMi4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZS5Bbm5vdGF0aW9uc0VudHJ5Eg4KBnNvdXJjZRgMIAEoCRINCgVzY29wZRgNIAEoCRIwCgVmaWxlcxgOIAMoCzIhLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVGaWxlGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJFChNQcm92aWRlclByb2ZpbGVGaWxlEgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgdlbnZfdmFyGAMgASgJIkkKF1Byb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlImgKHExpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USLwoIcHJvZmlsZXMYASADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKyAQodSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEhIKCnJlcXVlc3RfaWQYAyABKAkioQEKHkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi8KCHByb2ZpbGVzGAIgAygLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIQCghpbXBvcnRlZBgDIAEoCCLgAQodVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI4Cgdwcm9maWxlGAEgASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoBBIKCgJpZBgDIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIp8BCh5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIuCgdwcm9maWxlGAIgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIPCgd1cGRhdGVkGAMgASgIIpwBChtMaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtImsKHExpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxINCgV2YWxpZBgCIAEoCCJXChZEZWxldGVQcm92aWRlclJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIpkBChxEZWxldGVQcm92aWRlclByb2ZpbGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISCgoCaWQYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJIl4KHURlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkImcKJEdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEisKI3N1cHBvcnRzX3N0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAIgASgIIksKH1N0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkinAEKF1N0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEkAKCWVuZHBvaW50cxgBIAMoCzItLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsRW5kcG9pbnRCaW5kaW5nEhsKE2NyZWRlbnRpYWxfaWRlbnRpdHkYAiABKAkSIgoad29ya2xvYWRfY3JlZGVudGlhbF9oYW5kbGUYAyABKAkimgkKJUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2USXwoLZW52aXJvbm1lbnQYASADKAsyRC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5FbnZpcm9ubWVudEVudHJ5QgSItRgBEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgCIAEoBBJ3ChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZyADKAsyUi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSaAoTZHluYW1pY19jcmVkZW50aWFscxgEIAMoCzJLLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EnUKGnN0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAUgAygLMlEub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSIwobbm9uX3NlY3JldF9lbnZpcm9ubWVudF9rZXlzGAYgAygJEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYByABKAkSEwoLcG9saWN5X2hhc2gYCCABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgJIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhJNCgVmaWxlcxgKIAMoCzI+Lm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkZpbGVzRW50cnkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4ARpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaZgodU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nOgI4ARosCgpGaWxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgDEARSGGNyZWRlbnRpYWxfZXhwaXJlc19hdF9tcyKGAQojRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5jcmVkZW50aWFsX2tleRgDIAEoCRIhChNzdXBlcnZpc29yX2p3dF9zdmlkGAQgASgJQgSItRgBIpoBCiRFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuUmVzcG9uc2USGgoMYWNjZXNzX3Rva2VuGAEgASgJQgSItRgBEjAKDWV4cGlyZXNfYWZ0ZXIYZiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEgoKdG9rZW5fdHlwZRgDIAEoCUoECAIQA1IKZXhwaXJlc19pbiKJBAoTVXBkYXRlQ29uZmlnUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYCiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjMKBnBvbGljeRgCIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSEwoLc2V0dGluZ19rZXkYAyABKAkSOQoNc2V0dGluZ192YWx1ZRgEIAEoCzIiLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNldHRpbmdWYWx1ZRIWCg5kZWxldGVfc2V0dGluZxgFIAEoCBIOCgZnbG9iYWwYBiABKAgSPAoQbWVyZ2Vfb3BlcmF0aW9ucxgHIAMoCzIiLm9wZW5zaGVsbC52MS5Qb2xpY3lNZXJnZU9wZXJhdGlvbhIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAggASgEEkcKC2Fubm90YXRpb25zGAkgAygLMjIub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1JlcXVlc3QuQW5ub3RhdGlvbnNFbnRyeRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYCyABKAkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvcCChRQb2xpY3lNZXJnZU9wZXJhdGlvbhIwCghhZGRfcnVsZRgBIAEoCzIcLm9wZW5zaGVsbC52MS5BZGROZXR3b3JrUnVsZUgAEj4KD3JlbW92ZV9lbmRwb2ludBgCIAEoCzIjLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrRW5kcG9pbnRIABI2CgtyZW1vdmVfcnVsZRgDIAEoCzIfLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrUnVsZUgAEjQKDmFkZF9kZW55X3J1bGVzGAQgASgLMhoub3BlbnNoZWxsLnYxLkFkZERlbnlSdWxlc0gAEjYKD2FkZF9hbGxvd19ydWxlcxgFIAEoCzIbLm9wZW5zaGVsbC52MS5BZGRBbGxvd1J1bGVzSAASOgoNcmVtb3ZlX2JpbmFyeRgGIAEoCzIhLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrQmluYXJ5SABCCwoJb3BlcmF0aW9uIloKDkFkZE5ldHdvcmtSdWxlEhEKCXJ1bGVfbmFtZRgBIAEoCRI1CgRydWxlGAIgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUiRgoVUmVtb3ZlTmV0d29ya0VuZHBvaW50EhEKCXJ1bGVfbmFtZRgBIAEoCRIMCgRob3N0GAIgASgJEgwKBHBvcnQYAyABKA0iJgoRUmVtb3ZlTmV0d29ya1J1bGUSEQoJcnVsZV9uYW1lGAEgASgJIqUBCgxMN1J1bGVUYXJnZXQSEQoJcnVsZV9uYW1lGAEgASgJEgwKBGhvc3QYAiABKAkSDQoFcG9ydHMYAyADKA0SEQoEcGF0aBgEIAEoCUgAiAEBEjUKCGJpbmFyaWVzGAUgAygLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0JpbmFyeRISCgphbnlfYmluYXJ5GAYgASgIQgcKBV9wYXRoIogBCgxBZGREZW55UnVsZXMSNAoKZGVueV9ydWxlcxgDIAMoCzIgLm9wZW5zaGVsbC5zYW5kYm94LnYxLkw3RGVueVJ1bGUSKgoGdGFyZ2V0GAQgASgLMhoub3BlbnNoZWxsLnYxLkw3UnVsZVRhcmdldEoECAEQAkoECAIQA1IEaG9zdFIEcG9ydCKAAQoNQWRkQWxsb3dSdWxlcxIrCgVydWxlcxgDIAMoCzIcLm9wZW5zaGVsbC5zYW5kYm94LnYxLkw3UnVsZRIqCgZ0YXJnZXQYBCABKAsyGi5vcGVuc2hlbGwudjEuTDdSdWxlVGFyZ2V0SgQIARACSgQIAhADUgRob3N0UgRwb3J0Ij0KE1JlbW92ZU5ldHdvcmtCaW5hcnkSEQoJcnVsZV9uYW1lGAEgASgJEhMKC2JpbmFyeV9wYXRoGAIgASgJIuYBChRVcGRhdGVDb25maWdSZXNwb25zZRIPCgd2ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEhkKEXNldHRpbmdzX3JldmlzaW9uGAMgASgEEg8KB2RlbGV0ZWQYBCABKAgSSAoLYW5ub3RhdGlvbnMYBSADKAsyMy5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVzcG9uc2UuQW5ub3RhdGlvbnNFbnRyeRoyChBBbm5vdGF0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEilQEKHUdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHdmVyc2lvbhgCIAEoDRIOCgZnbG9iYWwYAyABKAgSDwoHc2FuZGJveBgBIAEoCSJvCh5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVzcG9uc2USNQoIcmV2aXNpb24YASABKAsyIy5vcGVuc2hlbGwudjEuU2FuZGJveFBvbGljeVJldmlzaW9uEhYKDmFjdGl2ZV92ZXJzaW9uGAIgASgNIqgBChpMaXN0U2FuZGJveFBvbGljaWVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBSABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJEg4KBmdsb2JhbBgEIAEoCBIPCgdzYW5kYm94GAEgASgJIm4KG0xpc3RTYW5kYm94UG9saWNpZXNSZXNwb25zZRI2CglyZXZpc2lvbnMYASADKAsyIy5vcGVuc2hlbGwudjEuU2FuZGJveFBvbGljeVJldmlzaW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKAAQoZUmVwb3J0UG9saWN5U3RhdHVzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEg8KB3ZlcnNpb24YAiABKA0SKgoGc3RhdHVzGAMgASgOMhoub3BlbnNoZWxsLnYxLlBvbGljeVN0YXR1cxISCgpsb2FkX2Vycm9yGAQgASgJIhwKGlJlcG9ydFBvbGljeVN0YXR1c1Jlc3BvbnNlIuIBCh1TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhITCgtpbnN0YW5jZV9pZBgBIAEoCRI4CgVzdGF0ZRgCIAEoDjIpLm9wZW5zaGVsbC52MS5Db25maWd1cmF0aW9uQWRtaXNzaW9uU3RhdGUSFgoOcG9saWN5X3ZlcnNpb24YAyABKA0SEwoLcG9saWN5X2hhc2gYBCABKAkSFwoPY29uZmlnX3JldmlzaW9uGAUgASgEEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgGIAEoBBINCgVlcnJvchgHIAEoCSKVAQohUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSPgoJYWRtaXNzaW9uGAIgASgLMisub3BlbnNoZWxsLnYxLlNhbmRib3hDb25maWd1cmF0aW9uQWRtaXNzaW9uEhwKFGV4cGVjdGVkX2luc3RhbmNlX2lkGAMgASgJIiQKIlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVzcG9uc2UiugMKFVNhbmRib3hQb2xpY3lSZXZpc2lvbhIPCgd2ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEioKBnN0YXR1cxgDIAEoDjIaLm9wZW5zaGVsbC52MS5Qb2xpY3lTdGF0dXMSEgoKbG9hZF9lcnJvchgEIAEoCRIwCgxjcmVhdGVkX3RpbWUYaSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2xvYWRlZF90aW1lGGogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgZwb2xpY3kYByABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EkcKCnByb3ZlbmFuY2UYCCADKAsyMy5vcGVuc2hlbGwudjEuU2FuZGJveFBvbGljeVJldmlzaW9uLlByb3ZlbmFuY2VFbnRyeRoxCg9Qcm92ZW5hbmNlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBkoECAYQB1INY3JlYXRlZF9hdF9tc1IMbG9hZGVkX2F0X21zIt8BChVHZXRTYW5kYm94TG9nc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAYgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEg0KBWxpbmVzGAIgASgNEi4KCnNpbmNlX3RpbWUYZyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3NvdXJjZXMYBCADKAkSEQoJbWluX2xldmVsGAUgASgJSgQIAxAEUghzaW5jZV9tcyJYChZQdXNoU2FuZGJveExvZ3NSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSKgoEbG9ncxgCIAMoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZSIZChdQdXNoU2FuZGJveExvZ3NSZXNwb25zZSJaChZHZXRTYW5kYm94TG9nc1Jlc3BvbnNlEioKBGxvZ3MYASADKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUSFAoMYnVmZmVyX3RvdGFsGAIgASgNIvMBChFTdXBlcnZpc29yTWVzc2FnZRIuCgVoZWxsbxgBIAEoCzIdLm9wZW5zaGVsbC52MS5TdXBlcnZpc29ySGVsbG9IABI2CgloZWFydGJlYXQYAiABKAsyIS5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvckhlYXJ0YmVhdEgAEjoKEXJlbGF5X29wZW5fcmVzdWx0GAMgASgLMh0ub3BlbnNoZWxsLnYxLlJlbGF5T3BlblJlc3VsdEgAEi8KC3JlbGF5X2Nsb3NlGAQgASgLMhgub3BlbnNoZWxsLnYxLlJlbGF5Q2xvc2VIAEIJCgdwYXlsb2FkIuECCg5HYXRld2F5TWVzc2FnZRI5ChBzZXNzaW9uX2FjY2VwdGVkGAEgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25BY2NlcHRlZEgAEjkKEHNlc3Npb25fcmVqZWN0ZWQYAiABKAsyHS5vcGVuc2hlbGwudjEuU2Vzc2lvblJlamVjdGVkSAASMwoJaGVhcnRiZWF0GAMgASgLMh4ub3BlbnNoZWxsLnYxLkdhdGV3YXlIZWFydGJlYXRIABItCgpyZWxheV9vcGVuGAQgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5T3BlbkgAEi8KC3JlbGF5X2Nsb3NlGAUgASgLMhgub3BlbnNoZWxsLnYxLlJlbGF5Q2xvc2VIABI5ChBzZXNzaW9uX3JlZGlyZWN0GAYgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25SZWRpcmVjdEgAQgkKB3BheWxvYWQisAEKD1N1cGVydmlzb3JIZWxsbxISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhgKEGNvbm5lY3Rpb25fZXBvY2gYAyABKAQSIwobc3VwcG9ydHNfcHJvdmlkZXJfcmVhZGluZXNzGAQgASgIEhIKCnJlZGlyZWN0ZWQYBSABKAgSIQoZc3VwcG9ydHNfc2Vzc2lvbl9yZWRpcmVjdBgGIAEoCCJ7Cg9TZXNzaW9uQWNjZXB0ZWQSEgoKc2Vzc2lvbl9pZBgBIAEoCRI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYZiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANSF2hlYXJ0YmVhdF9pbnRlcnZhbF9zZWNzIiEKD1Nlc3Npb25SZWplY3RlZBIOCgZyZWFzb24YASABKAkiQgoPU2Vzc2lvblJlZGlyZWN0EhUKDXBlZXJfZW5kcG9pbnQYASABKAkSGAoQb3duZXJfcmVwbGljYV9pZBgCIAEoCSIVChNTdXBlcnZpc29ySGVhcnRiZWF0IhIKEEdhdGV3YXlIZWFydGJlYXQiWgocUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhEKCWV4aXRfY29kZRgDIAEoBSIfCh1SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSJJCh5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCSIhCh9GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIpcBCglSZWxheU9wZW4SEgoKY2hhbm5lbF9pZBgBIAEoCRIrCgNzc2gYAiABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYAyABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABISCgpzZXJ2aWNlX2lkGAUgASgJQggKBnRhcmdldCIQCg5Tc2hSZWxheVRhcmdldCIsCg5UY3BSZWxheVRhcmdldBIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0iHwoJUmVsYXlJbml0EhIKCmNoYW5uZWxfaWQYASABKAkiUAoKUmVsYXlGcmFtZRInCgRpbml0GAEgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5SW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIm4KDVBlZXJSZWxheUluaXQSEgoKc2FuZGJveF9pZBgBIAEoCRIrCgpyZWxheV9vcGVuGAIgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5T3BlbhIcChRyZXF1ZXN0ZXJfcmVwbGljYV9pZBgDIAEoCSJYCg5QZWVyUmVsYXlGcmFtZRIrCgRpbml0GAEgASgLMhsub3BlbnNoZWxsLnYxLlBlZXJSZWxheUluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCJFCg9SZWxheU9wZW5SZXN1bHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEg0KBWVycm9yGAMgASgJIjAKClJlbGF5Q2xvc2USEgoKY2hhbm5lbF9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiUAoPTDdSZXF1ZXN0U2FtcGxlEg4KBm1ldGhvZBgBIAEoCRIMCgRwYXRoGAIgASgJEhAKCGRlY2lzaW9uGAMgASgJEg0KBWNvdW50GAQgASgNIvoDCg1EZW5pYWxTdW1tYXJ5EhIKCnNhbmRib3hfaWQYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNEg4KBmJpbmFyeRgEIAEoCRIRCglhbmNlc3RvcnMYBSADKAkSEwoLZGVueV9yZWFzb24YBiABKAkSMwoPZmlyc3Rfc2Vlbl90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5sYXN0X3NlZW5fdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFY291bnQYCSABKA0SGAoQc3VwcHJlc3NlZF9jb3VudBgKIAEoDRITCgt0b3RhbF9jb3VudBgLIAEoDRIXCg9zYW1wbGVfY21kbGluZXMYDCADKAkSFQoNYmluYXJ5X3NoYTI1NhgNIAEoCRISCgpwZXJzaXN0ZW50GA4gASgIEhQKDGRlbmlhbF9zdGFnZRgPIAEoCRI5ChJsN19yZXF1ZXN0X3NhbXBsZXMYECADKAsyHS5vcGVuc2hlbGwudjEuTDdSZXF1ZXN0U2FtcGxlEhwKFGw3X2luc3BlY3Rpb25fYWN0aXZlGBEgASgISgQIBxAISgQICBAJUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiPAoQRGVuaWFsR3JvdXBDb3VudBISCgpkZW55X2dyb3VwGAEgASgJEhQKDGRlbmllZF9jb3VudBgCIAEoDSKPAQoWTmV0d29ya0FjdGl2aXR5U3VtbWFyeRIeChZuZXR3b3JrX2FjdGl2aXR5X2NvdW50GAEgASgNEhsKE2RlbmllZF9hY3Rpb25fY291bnQYAiABKA0SOAoQZGVuaWFsc19ieV9ncm91cBgDIAMoCzIeLm9wZW5zaGVsbC52MS5EZW5pYWxHcm91cENvdW50IowHCgtQb2xpY3lDaHVuaxIKCgJpZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSEQoJcnVsZV9uYW1lGAMgASgJEj4KDXByb3Bvc2VkX3J1bGUYBCABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZRIRCglyYXRpb25hbGUYBSABKAkSFgoOc2VjdXJpdHlfbm90ZXMYBiABKAkSEgoKY29uZmlkZW5jZRgHIAEoAhIaChJkZW5pYWxfc3VtbWFyeV9pZHMYCCADKAkSMAoMY3JlYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxkZWNpZGVkX3RpbWUYbiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXN0YWdlGAsgASgJEhsKE3N1cGVyc2VkZXNfY2h1bmtfaWQYDCABKAkSEQoJaGl0X2NvdW50GA0gASgFEjMKD2ZpcnN0X3NlZW5fdGltZRhyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoObGFzdF9zZWVuX3RpbWUYcyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmJpbmFyeRgQIAEoCRIZChF2YWxpZGF0aW9uX3Jlc3VsdBgRIAEoCRIYChByZWplY3Rpb25fcmVhc29uGBIgASgJEhkKEWFwcGxpY2F0aW9uX2Vycm9yGBMgASgJEhQKDHJldmlld190b2tlbhgUIAEoCRIlCh1jdXJyZW50X2VmZmVjdGl2ZV9wb2xpY3lfaGFzaBgVIAEoCRInCh9jYW5kaWRhdGVfZWZmZWN0aXZlX3BvbGljeV9oYXNoGBYgASgJEkUKGGN1cnJlbnRfZWZmZWN0aXZlX3BvbGljeRgXIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoaY2FuZGlkYXRlX2VmZmVjdGl2ZV9wb2xpY3kYGCABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5SgQICRAKSgQIChALSgQIDhAPSgQIDxAQUg1jcmVhdGVkX2F0X21zUg1kZWNpZGVkX2F0X21zUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiZgoRRHJhZnRQb2xpY3lVcGRhdGUSFQoNZHJhZnRfdmVyc2lvbhgBIAEoBBISCgpuZXdfY2h1bmtzGAIgASgNEhUKDXRvdGFsX3BlbmRpbmcYAyABKA0SDwoHc3VtbWFyeRgEIAEoCSK0AgobU3VibWl0UG9saWN5QW5hbHlzaXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISLgoJc3VtbWFyaWVzGAEgAygLMhsub3BlbnNoZWxsLnYxLkRlbmlhbFN1bW1hcnkSMgoPcHJvcG9zZWRfY2h1bmtzGAIgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhUKDWFuYWx5c2lzX21vZGUYAyABKAkSDAoEbmFtZRgEIAEoCRJIChpuZXR3b3JrX2FjdGl2aXR5X3N1bW1hcmllcxgFIAMoCzIkLm9wZW5zaGVsbC52MS5OZXR3b3JrQWN0aXZpdHlTdW1tYXJ5IocBChxTdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlEhcKD2FjY2VwdGVkX2NodW5rcxgBIAEoDRIXCg9yZWplY3RlZF9jaHVua3MYAiABKA0SGQoRcmVqZWN0aW9uX3JlYXNvbnMYAyADKAkSGgoSYWNjZXB0ZWRfY2h1bmtfaWRzGAQgAygJIoMBChVHZXREcmFmdFBvbGljeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIVCg1zdGF0dXNfZmlsdGVyGAIgASgJEg8KB3NhbmRib3gYASABKAkixgEKFkdldERyYWZ0UG9saWN5UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhcKD3JvbGxpbmdfc3VtbWFyeRgCIAEoCRIVCg1kcmFmdF92ZXJzaW9uGAMgASgEEjYKEmxhc3RfYW5hbHl6ZWRfdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgEEAVSE2xhc3RfYW5hbHl6ZWRfYXRfbXMiqwEKGEFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEhQKDHJldmlld190b2tlbhgEIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiSAoZQXBwcm92ZURyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKkAQoXUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIhoKGFJlamVjdERyYWZ0Q2h1bmtSZXNwb25zZSI8ChJEcmFmdENodW5rQXBwcm92YWwSEAoIY2h1bmtfaWQYASABKAkSFAoMcmV2aWV3X3Rva2VuGAIgASgJIt4BChxBcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISIAoYaW5jbHVkZV9zZWN1cml0eV9mbGFnZ2VkGAIgASgIEjMKCWFwcHJvdmFscxgDIAMoCzIgLm9wZW5zaGVsbC52MS5EcmFmdENodW5rQXBwcm92YWwSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIn0KHUFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEhcKD2NodW5rc19hcHByb3ZlZBgDIAEoDRIWCg5jaHVua3Nfc2tpcHBlZBgEIAEoDSLSAQoVRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSPgoNcHJvcG9zZWRfcnVsZRgDIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSIYChZFZGl0RHJhZnRDaHVua1Jlc3BvbnNlIpIBChVVbmRvRHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkiRQoWVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKCAQoXQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkiMgoYQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlEhYKDmNodW5rc19jbGVhcmVkGAEgASgNIm0KFkdldERyYWZ0SGlzdG9yeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJIpIBChFEcmFmdEhpc3RvcnlFbnRyeRIuCgpldmVudF90aW1lGGUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpldmVudF90eXBlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCGNodW5rX2lkGAQgASgJSgQIARACUgx0aW1lc3RhbXBfbXMiSwoXR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2USMAoHZW50cmllcxgBIAMoCzIfLm9wZW5zaGVsbC52MS5EcmFmdEhpc3RvcnlFbnRyeSKrAQoWQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJEkAKBmxhYmVscxgCIAMoCzIwLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0LkxhYmVsc0VudHJ5EhIKCnJlcXVlc3RfaWQYAyABKAkaLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJPChdDcmVhdGVXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSIjChNHZXRXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkiTAoUR2V0V29ya3NwYWNlUmVzcG9uc2USNAoJd29ya3NwYWNlGAEgASgLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2UiVgoVTGlzdFdvcmtzcGFjZXNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJEhYKDmxhYmVsX3NlbGVjdG9yGAMgASgJImgKFkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2USNQoKd29ya3NwYWNlcxgBIAMoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJRChZEZWxldGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgCIAEoCBISCgpyZXF1ZXN0X2lkGAMgASgJIlgKF0RlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIo0BCg9Xb3Jrc3BhY2VNZW1iZXISNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlIrkBChlBZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlEhIKCnJlcXVlc3RfaWQYBCABKAkiSwoaQWRkV29ya3NwYWNlTWVtYmVyUmVzcG9uc2USLQoGbWVtYmVyGAEgASgLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlciKoAQocUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJeCh1SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmVtb3ZlZCKIAQobTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkiZwocTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZRIuCgdtZW1iZXJzGAEgAygLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkikQEKGkV4dGVuc2lvblNlcnZpY2VDcmVkZW50aWFsEhQKDHNlcnZpY2VfbmFtZRgBIAEoCRITCgV0b2tlbhgCIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAxAEUg1leHBpcmVzX2F0X21zIlgKE0VuZHBvaW50T2JzZXJ2YXRpb24SEwoLZW5kcG9pbnRfaWQYASABKAkSLAoGcmVzdWx0GAIgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0IvUBChtSZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtwb2xpY3lfaGFzaBgCIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YAyABKAQSNwoMb2JzZXJ2YXRpb25zGAQgAygLMiEub3BlbnNoZWxsLnYxLkVuZHBvaW50T2JzZXJ2YXRpb24SHQoVb2JzZXJ2ZWRfZW5kcG9pbnRfaWRzGAUgAygJEh0KFXN1cGVydmlzb3Jfc2Vzc2lvbl9pZBgGIAEoCRIXCg9yZXBvcnRfc2VxdWVuY2UYByABKAQiHgocUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSLTAQoORW5kcG9pbnRTdGF0dXMSEwoLZW5kcG9pbnRfaWQYASABKAkSDAoEaG9zdBgCIAEoCRINCgVwb3J0cxgDIAMoDRIMCgRwYXRoGAQgASgJEjEKC2xhc3RfcmVzdWx0GAUgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0EjYKEmxhc3RfcmVwb3J0ZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgGEAdSEGxhc3RfcmVwb3J0ZWRfYXQiuwUKE1NhbmRib3hQcm92aXNpb25pbmcSEgoKYXR0ZW1wdF9pZBgBIAEoCRIfChdjb25maWd1cmF0aW9uX2NoYW5nZV9pZBgCIAEoCRI9Chljb25maWd1cmF0aW9uX2NoYW5nZV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRmaXJzdF9yZWplY3Rpb25fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZGVhZGxpbmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHRpbWVvdXRfdGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoWY2xlYW51cF9jb21wbGV0ZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNY2xlYW51cF9lcnJvchgIIAEoCRI2ChJjbGVhbnVwX3JldHJ5X3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFGF0dGFjaG1lbnRfY2hhbmdlX2lkGAogASgJEjoKFmF0dGFjaG1lbnRfY2hhbmdlX3RpbWUYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFHByZXBhcmF0aW9uX2RlYWRsaW5lGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRhZG1pc3Npb25fc3RhcnRfdGltZRgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoYZHJpdmVyX29wZXJhdGlvbl9wZW5kaW5nGA4gASgIEhsKE2RyaXZlcl9vcGVyYXRpb25faWQYDyABKAkiggEKFlNhbmRib3hTZXJ2aWNlRXhwb3N1cmUSDwoHc2VydmljZRgBIAEoCRITCgt0YXJnZXRfcG9ydBgCIAEoDRJCChJhdXRob3JpemF0aW9uX21vZGUYAyABKA4yJi5vcGVuc2hlbGwudjEuU2VydmljZUF1dGhvcml6YXRpb25Nb2RlKsoBCg1FeHRlbnNpb25LaW5kEh4KGkVYVEVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodRVhURU5TSU9OX0tJTkRfQ09NUFVURV9EUklWRVIQARIkCiBFWFRFTlNJT05fS0lORF9DUkVERU5USUFMX0RSSVZFUhACEiYKIkVYVEVOU0lPTl9LSU5EX0dBVEVXQVlfSU5URVJDRVBUT1IQAxIoCiRFWFRFTlNJT05fS0lORF9TVVBFUlZJU09SX01JRERMRVdBUkUQBCrGAgoMU2FuZGJveFBoYXNlEh0KGVNBTkRCT1hfUEhBU0VfVU5TUEVDSUZJRUQQABIeChpTQU5EQk9YX1BIQVNFX1BST1ZJU0lPTklORxABEhcKE1NBTkRCT1hfUEhBU0VfUkVBRFkQAhIXChNTQU5EQk9YX1BIQVNFX0VSUk9SEAMSGgoWU0FOREJPWF9QSEFTRV9ERUxFVElORxAEEhkKFVNBTkRCT1hfUEhBU0VfVU5LTk9XThAFEhoKFlNBTkRCT1hfUEhBU0VfU1RPUFBJTkcQBhIZChVTQU5EQk9YX1BIQVNFX1NUT1BQRUQQBxIaChZTQU5EQk9YX1BIQVNFX1NUQVJUSU5HEAgSGwoXU0FOREJPWF9QSEFTRV9DT01QTEVURUQQCSIECAoQCioYU0FOREJPWF9QSEFTRV9SRVNUQVJUSU5HKssBChRQcm92aWRlck11dGF0aW9uS2luZBImCiJQUk9WSURFUl9NVVRBVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9BVFRBQ0gQARIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX0RFVEFDSBACEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfVVBEQVRFEAMSIgoeUFJPVklERVJfTVVUQVRJT05fS0lORF9PQlNFUlZFEAQqzwIKFlByb3ZpZGVyUmVhZGluZXNzU3RhdGUSKAokUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1VOU1BFQ0lGSUVEEAASJgoiUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1BFUlNJU1RFRBABEiQKIFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9QRU5ESU5HEAISIgoeUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1JFQURZEAMSJQohUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1dJVEhIRUxEEAQSJAogUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1JFVk9LRUQQBRIjCh9QUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfRkFJTEVEEAYSJwojUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1NVUEVSU0VERUQQByraBgoXUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SKQolUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9VTlNQRUNJRklFRBAAEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfU1VQRVJWSVNPUhABEjUKMVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfQ1JFREVOVElBTFMQAhIwCixQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1BPTElDWRADEjEKLVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfUFJPQ0VTUxAEEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fVU5TVVBQT1JURURfU1VQRVJWSVNPUhAFEjIKLlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTFNfV0lUSEhFTEQQBhI3CjNQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxfSU5TVEFMTF9GQUlMRUQQBxI2CjJQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1BPTElDWV9BQ1RJVkFUSU9OX0ZBSUxFRBAIEjQKMFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fUFJPQ0VTU19JTlNUQUxMX0ZBSUxFRBAJEjUKMVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU1VQRVJWSVNPUl9ESVNDT05ORUNURUQQChI2CjJQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NVUEVSVklTT1JfTEVBU0VfRVhQSVJFRBALEjMKL1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fREVTSVJFRF9TVEFURV9DSEFOR0VEEAwSMAosUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMX0VYUElSRUQQDRIqCiZQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0xPQ0FMX1BPTElDWRAOEi8KK1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU05BUFNIT1RfTUlTTUFUQ0gQDyqDAQoPQ29uZmlnQ29tcG9uZW50EiAKHENPTkZJR19DT01QT05FTlRfVU5TUEVDSUZJRUQQABIjCh9DT05GSUdfQ09NUE9ORU5UX1NBTkRCT1hfQ09ORklHEAESKQolQ09ORklHX0NPTVBPTkVOVF9QUk9WSURFUl9FTlZJUk9OTUVOVBACKo0DChJDb25maWdBcHBseU91dGNvbWUSJAogQ09ORklHX0FQUExZX09VVENPTUVfVU5TUEVDSUZJRUQQABIgChxDT05GSUdfQVBQTFlfT1VUQ09NRV9BUFBMSUVEEAESKgomQ09ORklHX0FQUExZX09VVENPTUVfSUdOT1JFRF9EVVBMSUNBVEUQAhImCiJDT05GSUdfQVBQTFlfT1VUQ09NRV9JR05PUkVEX1NUQUxFEAMSMAosQ09ORklHX0FQUExZX09VVENPTUVfUkVUQUlORURfTE9DQUxfT1ZFUlJJREUQBBIhCh1DT05GSUdfQVBQTFlfT1VUQ09NRV9ERUdSQURFRBAFEjgKNENPTkZJR19BUFBMWV9PVVRDT01FX0ZBSUxFRF9SRVRBSU5FRF9MQVNUX0tOT1dOX0dPT0QQBhImCiJDT05GSUdfQVBQTFlfT1VUQ09NRV9GQUlMRURfQ0xPU0VEEAcSJAogQ09ORklHX0FQUExZX09VVENPTUVfVU5TVVBQT1JURUQQCCrSAgoaQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSLQopQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIpCiVDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9QRU5ESU5HEAESKQolQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfQVBQTElFRBACEioKJkNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0lOQUNUSVZFEAMSKAokQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfRkFJTEVEEAQSLAooQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfU1VQRVJTRURFRBAFEisKJ0NPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0NBTkNFTExFRBAGKs4BCiBQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50VHlwZRI0CjBQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfVU5TUEVDSUZJRUQQABI7CjdQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfQ0xJRU5UX0NSRURFTlRJQUxTEAESNwozUFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX1RPS0VOX0VYQ0hBTkdFEAIqwwMKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRI0CjBQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIvCitQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfU1RBVElDEAESMQotUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0VYVEVSTkFMEAISPQo5UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9SRUZSRVNIX1RPS0VOEAMSQgo+UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9DTElFTlRfQ1JFREVOVElBTFMQBBJDCj9QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfR09PR0xFX1NFUlZJQ0VfQUNDT1VOVF9KV1QQBRI8CjhQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfQVdTX1NUU19BU1NVTUVfUk9MRRAGKtsCChdQcm92aWRlclByb2ZpbGVDYXRlZ29yeRIpCiVQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9PVEhFUhABEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfSU5GRVJFTkNFEAISIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9BR0VOVBADEiwKKFBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfU09VUkNFX0NPTlRST0wQBBInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX01FU1NBR0lORxAFEiIKHlBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfREFUQRAGEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfS05PV0xFREdFEAcqzwEKG0NvbmZpZ3VyYXRpb25BZG1pc3Npb25TdGF0ZRItCilDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9VTlNQRUNJRklFRBAAEikKJUNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1BFTkRJTkcQARIqCiZDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9BQ0NFUFRFRBACEioKJkNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1JFSkVDVEVEEAMqmgEKDFBvbGljeVN0YXR1cxIdChlQT0xJQ1lfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVUE9MSUNZX1NUQVRVU19QRU5ESU5HEAESGAoUUE9MSUNZX1NUQVRVU19MT0FERUQQAhIYChRQT0xJQ1lfU1RBVFVTX0ZBSUxFRBADEhwKGFBPTElDWV9TVEFUVVNfU1VQRVJTRURFRBAEKoYBCg1TZXJ2aWNlU3RhdHVzEh4KGlNFUlZJQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VSVklDRV9TVEFUVVNfSEVBTFRIWRABEhsKF1NFUlZJQ0VfU1RBVFVTX0RFR1JBREVEEAISHAoYU0VSVklDRV9TVEFUVVNfVU5IRUFMVEhZEAMqYgoNV29ya3NwYWNlUm9sZRIeChpXT1JLU1BBQ0VfUk9MRV9VTlNQRUNJRklFRBAAEhcKE1dPUktTUEFDRV9ST0xFX1VTRVIQARIYChRXT1JLU1BBQ0VfUk9MRV9BRE1JThACKtoCCidQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoUmVjb3ZlcnlBY3Rpb24SOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9VTlNQRUNJRklFRBAAEjUKMVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fUkVUUlkQARI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1JFQVVUSE9SSVpFEAISQQo9UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9GSVhfQ09ORklHVVJBVElPThADEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fSU5WRVNUSUdBVEUQBCqqAQoUU2FuZGJveFJlc3RhcnRQb2xpY3kSJgoiU0FOREJPWF9SRVNUQVJUX1BPTElDWV9VTlNQRUNJRklFRBAAEiAKHFNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfTkVWRVIQARIlCiFTQU5EQk9YX1JFU1RBUlRfUE9MSUNZX09OX0ZBSUxVUkUQAhIhCh1TQU5EQk9YX1JFU1RBUlRfUE9MSUNZX0FMV0FZUxADKpcBCg9EZWxldGlvbk91dGNvbWUSIAocREVMRVRJT05fT1VUQ09NRV9VTlNQRUNJRklFRBAAEh4KGkRFTEVUSU9OX09VVENPTUVfQ09NUExFVEVEEAESHQoZREVMRVRJT05fT1VUQ09NRV9BQ0NFUFRFRBACEiMKH0RFTEVUSU9OX09VVENPTUVfQUxSRUFEWV9BQlNFTlQQAyrDAgoORW5kcG9pbnRSZXN1bHQSHwobRU5EUE9JTlRfUkVTVUxUX1VOU1BFQ0lGSUVEEAASKAokRU5EUE9JTlRfUkVTVUxUX05PX09CU0VSVkVEX0VYQ0hBTkdFEAESKgomRU5EUE9JTlRfUkVTVUxUX0hUVFBfUkVTUE9OU0VfUkVDRUlWRUQQAhIhCh1FTkRQT0lOVF9SRVNVTFRfUE9MSUNZX0RFTklFRBADEioKJkVORFBPSU5UX1JFU1VMVF9DUkVERU5USUFMX1VOQVZBSUxBQkxFEAQSHgoaRU5EUE9JTlRfUkVTVUxUX1RMU19GQUlMRUQQBRIkCiBFTkRQT0lOVF9SRVNVTFRfVFJBTlNQT1JUX0ZBSUxFRBAGEiUKIUVORFBPSU5UX1JFU1VMVF9VUFNUUkVBTV9SRUpFQ1RFRBAHKp8BChhTZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUSKgomU0VSVklDRV9BVVRIT1JJWkFUSU9OX01PREVfVU5TUEVDSUZJRUQQABIkCiBTRVJWSUNFX0FVVEhPUklaQVRJT05fTU9ERV9TVFJJUBABEjEKLVNFUlZJQ0VfQVVUSE9SSVpBVElPTl9NT0RFX0JFQVJFUl9QQVNTVEhST1VHSBACMq9VCglPcGVuU2hlbGwSWgoGSGVhbHRoEhsub3BlbnNoZWxsLnYxLkhlYWx0aFJlcXVlc3QaHC5vcGVuc2hlbGwudjEuSGVhbHRoUmVzcG9uc2UiFYK1GBEKD3VuYXV0aGVudGljYXRlZBJpCg5HZXRDdXJyZW50VXNlchIjLm9wZW5zaGVsbC52MS5HZXRDdXJyZW50VXNlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSIMgrUYCAoGYmVhcmVyEoYBCg5HZXRHYXRld2F5SW5mbxIjLm9wZW5zaGVsbC52MS5HZXRHYXRld2F5SW5mb1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXNwb25zZSIpgrUYJQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiILY29uZmlnOnJlYWQSdQoNQ3JlYXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKTAQoVQmVnaW5Sb290ZnNUYXJTdGFnaW5nEioub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJuCgpHZXRTYW5kYm94Eh8ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSegoNTGlzdFNhbmRib3hlcxIiLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo4BChVDcmVhdGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKGAQoSR2V0U2FuZGJveFRlbXBsYXRlEicub3BlbnNoZWxsLnYxLkdldFNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo8BChRMaXN0U2FuZGJveFRlbXBsYXRlcxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFRlbXBsYXRlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSlAEKFURlbGV0ZVNhbmRib3hUZW1wbGF0ZRIqLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBWFkbWluIg1zYW5kYm94OndyaXRlEo8BChRMaXN0U2FuZGJveFByb3ZpZGVycxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSkwEKFUF0dGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFURldGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRldGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSmwEKGEdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTYW5kYm94EiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnEKC1N0b3BTYW5kYm94EiAub3BlbnNoZWxsLnYxLlN0b3BTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJzCgxTdGFydFNhbmRib3gSIS5vcGVuc2hlbGwudjEuU3RhcnRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKEAQoQQ3JlYXRlU3NoU2Vzc2lvbhIlLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBomLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJ9Cg1FeHBvc2VTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkV4cG9zZVNlcnZpY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdgoKR2V0U2VydmljZRIfLm9wZW5zaGVsbC52MS5HZXRTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSdwoMTGlzdFNlcnZpY2VzEiEub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuTGlzdFNlcnZpY2VzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnsKDURlbGV0ZVNlcnZpY2USIi5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlcXVlc3QaIy5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEFJldm9rZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdAoLRXhlY1NhbmRib3gSIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZTABEnEKCkZvcndhcmRUY3ASHS5vcGVuc2hlbGwudjEuVGNwRm9yd2FyZEZyYW1lGh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ/ChZFeGVjU2FuZGJveEludGVyYWN0aXZlEh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94SW5wdXQaHi5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFdmVudCIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ6Cg5DcmVhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5DcmVhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUScgoLR2V0UHJvdmlkZXISIC5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBJ7Cg1MaXN0UHJvdmlkZXJzEiIub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpABChRMaXN0UHJvdmlkZXJQcm9maWxlcxIpLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEocBChJHZXRQcm92aWRlclByb2ZpbGUSJy5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpgBChZJbXBvcnRQcm92aWRlclByb2ZpbGVzEisub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSmAEKFlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXMSKy5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKQAQoUTGludFByb3ZpZGVyUHJvZmlsZXMSKS5vcGVuc2hlbGwudjEuTGludFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBJ6Cg5VcGRhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSnAEKGEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSngEKGENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaBItLm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKeAQoYUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsEi0ub3BlbnNoZWxsLnYxLlJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlcXVlc3QaLi5vcGVuc2hlbGwudjEuUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpUBChVEZWxldGVQcm92aWRlclJlZnJlc2gSKi5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSgAEKDkRlbGV0ZVByb3ZpZGVyEiMub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVxdWVzdBokLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKVAQoVRGVsZXRlUHJvdmlkZXJQcm9maWxlEioub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QaKy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpABChBHZXRTYW5kYm94Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0U2FuZGJveENvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRTYW5kYm94Q29uZmlnUmVzcG9uc2UiHYK1GBkKBGR1YWwSBHVzZXIiC2NvbmZpZzpyZWFkEowBChBHZXRHYXRld2F5Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0R2F0ZXdheUNvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRHYXRld2F5Q29uZmlnUmVzcG9uc2UiGYK1GBUKBmJlYXJlciILY29uZmlnOnJlYWQSdgoMVXBkYXRlQ29uZmlnEiEub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVzcG9uc2UiH4K1GBsKBGR1YWwSBWFkbWluIgxjb25maWc6d3JpdGUSlQEKFkdldFNhbmRib3hQb2xpY3lTdGF0dXMSKy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKMAQoTTGlzdFNhbmRib3hQb2xpY2llcxIoLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVxdWVzdBopLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnYKElJlcG9ydFBvbGljeVN0YXR1cxInLm9wZW5zaGVsbC52MS5SZXBvcnRQb2xpY3lTdGF0dXNSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLlJlcG9ydFBvbGljeVN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnwKFFJlcG9ydEVuZHBvaW50U3RhdHVzEikub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EoUBChdSZXBvcnRQcm92aWRlclJlYWRpbmVzcxIsLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QaLS5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXNwb25zZSINgrUYCQoHc2FuZGJveBKOAQoaUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb24SLy5vcGVuc2hlbGwudjEuUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXF1ZXN0GjAub3BlbnNoZWxsLnYxLlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSlwEKHUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50EjIub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBozLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EpQBChxFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuEjEub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0GjIub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXNwb25zZSINgrUYCQoHc2FuZGJveBJ9Cg5HZXRTYW5kYm94TG9ncxIjLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94TG9nc1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveExvZ3NSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSbwoPUHVzaFNhbmRib3hMb2dzEiQub3BlbnNoZWxsLnYxLlB1c2hTYW5kYm94TG9nc1JlcXVlc3QaJS5vcGVuc2hlbGwudjEuUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3goARJlChFDb25uZWN0U3VwZXJ2aXNvchIfLm9wZW5zaGVsbC52MS5TdXBlcnZpc29yTWVzc2FnZRocLm9wZW5zaGVsbC52MS5HYXRld2F5TWVzc2FnZSINgrUYCQoHc2FuZGJveCgBMAESfwoVUmVwb3J0TWFpblByb2Nlc3NFeGl0Eioub3BlbnNoZWxsLnYxLlJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlcXVlc3QaKy5vcGVuc2hlbGwudjEuUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gShQEKF0ZpbmFsaXplTWFpblByb2Nlc3NFeGl0Eiwub3BlbnNoZWxsLnYxLkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVxdWVzdBotLm9wZW5zaGVsbC52MS5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94ElQKC1JlbGF5U3RyZWFtEhgub3BlbnNoZWxsLnYxLlJlbGF5RnJhbWUaGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZSINgrUYCQoHc2FuZGJveCgBMAESVwoJUGVlclJlbGF5Ehwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lGhwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lIgqCtRgGCgRwZWVyKAEwARKGAQobUGVlclJlcG9ydFByb3ZpZGVyUmVhZGluZXNzEiwub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBotLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlIgqCtRgGCgRwZWVyEn0KGFBlZXJSZXBvcnRFbmRwb2ludFN0YXR1cxIpLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSIKgrUYBgoEcGVlchKJAQocUGVlckdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIgqCtRgGCgRwZWVyEncKDFdhdGNoU2FuZGJveBIhLm9wZW5zaGVsbC52MS5XYXRjaFNhbmRib3hSZXF1ZXN0GiAub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1FdmVudCIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQwARJ8ChRTdWJtaXRQb2xpY3lBbmFseXNpcxIpLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuU3VibWl0UG9saWN5QW5hbHlzaXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBJ6Cg5HZXREcmFmdFBvbGljeRIjLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0RHJhZnRQb2xpY3lSZXNwb25zZSIdgrUYGQoEZHVhbBIEdXNlciILY29uZmlnOnJlYWQShwEKEUFwcHJvdmVEcmFmdENodW5rEiYub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBonLm9wZW5zaGVsbC52MS5BcHByb3ZlRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEFJlamVjdERyYWZ0Q2h1bmsSJS5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSkwEKFUFwcHJvdmVBbGxEcmFmdENodW5rcxIqLm9wZW5zaGVsbC52MS5BcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfgoORWRpdERyYWZ0Q2h1bmsSIy5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkVkaXREcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5VbmRvRHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEoQBChBDbGVhckRyYWZ0Q2h1bmtzEiUub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXF1ZXN0GiYub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn8KD0dldERyYWZ0SGlzdG9yeRIkLm9wZW5zaGVsbC52MS5HZXREcmFmdEhpc3RvcnlSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlc3BvbnNlIh+CtRgbCgZiZWFyZXISBHVzZXIiC2NvbmZpZzpyZWFkEnMKEUlzc3VlU2FuZGJveFRva2VuEiYub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVxdWVzdBonLm9wZW5zaGVsbC52MS5Jc3N1ZVNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnkKE1JlZnJlc2hTYW5kYm94VG9rZW4SKC5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlcXVlc3QaKS5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94Eo0BCg9DcmVhdGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEnkKDEdldFdvcmtzcGFjZRIhLm9wZW5zaGVsbC52MS5HZXRXb3Jrc3BhY2VSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEn8KDkxpc3RXb3Jrc3BhY2VzEiMub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVxdWVzdBokLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEo0BCg9EZWxldGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuRGVsZXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEo0BChJBZGRXb3Jrc3BhY2VNZW1iZXISJy5vcGVuc2hlbGwudjEuQWRkV29ya3NwYWNlTWVtYmVyUmVxdWVzdBooLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpYBChVSZW1vdmVXb3Jrc3BhY2VNZW1iZXISKi5vcGVuc2hlbGwudjEuUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpEBChRMaXN0V29ya3NwYWNlTWVtYmVycxIpLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZSIigrUYHgoGYmVhcmVyEgR1c2VyIg53b3Jrc3BhY2U6cmVhZGIGcHJvdG8z", [file_datamodel, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_options, file_sandbox]);
12
12
  /**
13
13
  * Describes the message openshell.v1.IssueSandboxTokenRequest.
14
14
  * Use `create(IssueSandboxTokenRequestSchema)` to create a new message.
@@ -619,551 +619,561 @@ export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(fil
619
619
  * Use `create(ProviderProfileSchema)` to create a new message.
620
620
  */
621
621
  export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 121);
622
+ /**
623
+ * Describes the message openshell.v1.ProviderProfileFile.
624
+ * Use `create(ProviderProfileFileSchema)` to create a new message.
625
+ */
626
+ export const ProviderProfileFileSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
622
627
  /**
623
628
  * Describes the message openshell.v1.ProviderProfileResponse.
624
629
  * Use `create(ProviderProfileResponseSchema)` to create a new message.
625
630
  */
626
- export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
631
+ export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
627
632
  /**
628
633
  * Describes the message openshell.v1.ListProviderProfilesResponse.
629
634
  * Use `create(ListProviderProfilesResponseSchema)` to create a new message.
630
635
  */
631
- export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
636
+ export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
632
637
  /**
633
638
  * Describes the message openshell.v1.ImportProviderProfilesRequest.
634
639
  * Use `create(ImportProviderProfilesRequestSchema)` to create a new message.
635
640
  */
636
- export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
641
+ export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
637
642
  /**
638
643
  * Describes the message openshell.v1.ImportProviderProfilesResponse.
639
644
  * Use `create(ImportProviderProfilesResponseSchema)` to create a new message.
640
645
  */
641
- export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
646
+ export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
642
647
  /**
643
648
  * Describes the message openshell.v1.UpdateProviderProfilesRequest.
644
649
  * Use `create(UpdateProviderProfilesRequestSchema)` to create a new message.
645
650
  */
646
- export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
651
+ export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
647
652
  /**
648
653
  * Describes the message openshell.v1.UpdateProviderProfilesResponse.
649
654
  * Use `create(UpdateProviderProfilesResponseSchema)` to create a new message.
650
655
  */
651
- export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
656
+ export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
652
657
  /**
653
658
  * Describes the message openshell.v1.LintProviderProfilesRequest.
654
659
  * Use `create(LintProviderProfilesRequestSchema)` to create a new message.
655
660
  */
656
- export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
661
+ export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
657
662
  /**
658
663
  * Describes the message openshell.v1.LintProviderProfilesResponse.
659
664
  * Use `create(LintProviderProfilesResponseSchema)` to create a new message.
660
665
  */
661
- export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
666
+ export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
662
667
  /**
663
668
  * Describes the message openshell.v1.DeleteProviderResponse.
664
669
  * Use `create(DeleteProviderResponseSchema)` to create a new message.
665
670
  */
666
- export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
671
+ export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
667
672
  /**
668
673
  * Describes the message openshell.v1.DeleteProviderProfileRequest.
669
674
  * Use `create(DeleteProviderProfileRequestSchema)` to create a new message.
670
675
  */
671
- export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
676
+ export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
672
677
  /**
673
678
  * Describes the message openshell.v1.DeleteProviderProfileResponse.
674
679
  * Use `create(DeleteProviderProfileResponseSchema)` to create a new message.
675
680
  */
676
- export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
681
+ export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
677
682
  /**
678
683
  * Describes the message openshell.v1.GetSandboxProviderEnvironmentRequest.
679
684
  * Use `create(GetSandboxProviderEnvironmentRequestSchema)` to create a new message.
680
685
  */
681
- export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
686
+ export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
682
687
  /**
683
688
  * Describes the message openshell.v1.StaticCredentialEndpointBinding.
684
689
  * Use `create(StaticCredentialEndpointBindingSchema)` to create a new message.
685
690
  */
686
- export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
691
+ export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
687
692
  /**
688
693
  * Describes the message openshell.v1.StaticCredentialBinding.
689
694
  * Use `create(StaticCredentialBindingSchema)` to create a new message.
690
695
  */
691
- export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
696
+ export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
692
697
  /**
693
698
  * Describes the message openshell.v1.GetSandboxProviderEnvironmentResponse.
694
699
  * Use `create(GetSandboxProviderEnvironmentResponseSchema)` to create a new message.
695
700
  */
696
- export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
701
+ export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
697
702
  /**
698
703
  * Describes the message openshell.v1.ExchangeProviderSubjectTokenRequest.
699
704
  * Use `create(ExchangeProviderSubjectTokenRequestSchema)` to create a new message.
700
705
  */
701
- export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
706
+ export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
702
707
  /**
703
708
  * Describes the message openshell.v1.ExchangeProviderSubjectTokenResponse.
704
709
  * Use `create(ExchangeProviderSubjectTokenResponseSchema)` to create a new message.
705
710
  */
706
- export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
711
+ export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
707
712
  /**
708
713
  * Describes the message openshell.v1.UpdateConfigRequest.
709
714
  * Use `create(UpdateConfigRequestSchema)` to create a new message.
710
715
  */
711
- export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
716
+ export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
712
717
  /**
713
718
  * Describes the message openshell.v1.PolicyMergeOperation.
714
719
  * Use `create(PolicyMergeOperationSchema)` to create a new message.
715
720
  */
716
- export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
721
+ export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
717
722
  /**
718
723
  * Describes the message openshell.v1.AddNetworkRule.
719
724
  * Use `create(AddNetworkRuleSchema)` to create a new message.
720
725
  */
721
- export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
726
+ export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
722
727
  /**
723
728
  * Describes the message openshell.v1.RemoveNetworkEndpoint.
724
729
  * Use `create(RemoveNetworkEndpointSchema)` to create a new message.
725
730
  */
726
- export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
731
+ export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
727
732
  /**
728
733
  * Describes the message openshell.v1.RemoveNetworkRule.
729
734
  * Use `create(RemoveNetworkRuleSchema)` to create a new message.
730
735
  */
731
- export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
736
+ export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
732
737
  /**
733
738
  * Describes the message openshell.v1.L7RuleTarget.
734
739
  * Use `create(L7RuleTargetSchema)` to create a new message.
735
740
  */
736
- export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
741
+ export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
737
742
  /**
738
743
  * Describes the message openshell.v1.AddDenyRules.
739
744
  * Use `create(AddDenyRulesSchema)` to create a new message.
740
745
  */
741
- export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
746
+ export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
742
747
  /**
743
748
  * Describes the message openshell.v1.AddAllowRules.
744
749
  * Use `create(AddAllowRulesSchema)` to create a new message.
745
750
  */
746
- export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
751
+ export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
747
752
  /**
748
753
  * Describes the message openshell.v1.RemoveNetworkBinary.
749
754
  * Use `create(RemoveNetworkBinarySchema)` to create a new message.
750
755
  */
751
- export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
756
+ export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
752
757
  /**
753
758
  * Describes the message openshell.v1.UpdateConfigResponse.
754
759
  * Use `create(UpdateConfigResponseSchema)` to create a new message.
755
760
  */
756
- export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
761
+ export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
757
762
  /**
758
763
  * Describes the message openshell.v1.GetSandboxPolicyStatusRequest.
759
764
  * Use `create(GetSandboxPolicyStatusRequestSchema)` to create a new message.
760
765
  */
761
- export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
766
+ export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
762
767
  /**
763
768
  * Describes the message openshell.v1.GetSandboxPolicyStatusResponse.
764
769
  * Use `create(GetSandboxPolicyStatusResponseSchema)` to create a new message.
765
770
  */
766
- export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
771
+ export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
767
772
  /**
768
773
  * Describes the message openshell.v1.ListSandboxPoliciesRequest.
769
774
  * Use `create(ListSandboxPoliciesRequestSchema)` to create a new message.
770
775
  */
771
- export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
776
+ export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
772
777
  /**
773
778
  * Describes the message openshell.v1.ListSandboxPoliciesResponse.
774
779
  * Use `create(ListSandboxPoliciesResponseSchema)` to create a new message.
775
780
  */
776
- export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
781
+ export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
777
782
  /**
778
783
  * Describes the message openshell.v1.ReportPolicyStatusRequest.
779
784
  * Use `create(ReportPolicyStatusRequestSchema)` to create a new message.
780
785
  */
781
- export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
786
+ export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
782
787
  /**
783
788
  * Describes the message openshell.v1.ReportPolicyStatusResponse.
784
789
  * Use `create(ReportPolicyStatusResponseSchema)` to create a new message.
785
790
  */
786
- export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
791
+ export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
787
792
  /**
788
793
  * Describes the message openshell.v1.SandboxConfigurationAdmission.
789
794
  * Use `create(SandboxConfigurationAdmissionSchema)` to create a new message.
790
795
  */
791
- export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
796
+ export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
792
797
  /**
793
798
  * Describes the message openshell.v1.ReportSandboxConfigurationRequest.
794
799
  * Use `create(ReportSandboxConfigurationRequestSchema)` to create a new message.
795
800
  */
796
- export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
801
+ export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
797
802
  /**
798
803
  * Describes the message openshell.v1.ReportSandboxConfigurationResponse.
799
804
  * Use `create(ReportSandboxConfigurationResponseSchema)` to create a new message.
800
805
  */
801
- export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
806
+ export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
802
807
  /**
803
808
  * Describes the message openshell.v1.SandboxPolicyRevision.
804
809
  * Use `create(SandboxPolicyRevisionSchema)` to create a new message.
805
810
  */
806
- export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
811
+ export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
807
812
  /**
808
813
  * Describes the message openshell.v1.GetSandboxLogsRequest.
809
814
  * Use `create(GetSandboxLogsRequestSchema)` to create a new message.
810
815
  */
811
- export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
816
+ export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
812
817
  /**
813
818
  * Describes the message openshell.v1.PushSandboxLogsRequest.
814
819
  * Use `create(PushSandboxLogsRequestSchema)` to create a new message.
815
820
  */
816
- export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
821
+ export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
817
822
  /**
818
823
  * Describes the message openshell.v1.PushSandboxLogsResponse.
819
824
  * Use `create(PushSandboxLogsResponseSchema)` to create a new message.
820
825
  */
821
- export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
826
+ export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
822
827
  /**
823
828
  * Describes the message openshell.v1.GetSandboxLogsResponse.
824
829
  * Use `create(GetSandboxLogsResponseSchema)` to create a new message.
825
830
  */
826
- export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
831
+ export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
827
832
  /**
828
833
  * Describes the message openshell.v1.SupervisorMessage.
829
834
  * Use `create(SupervisorMessageSchema)` to create a new message.
830
835
  */
831
- export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
836
+ export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
832
837
  /**
833
838
  * Describes the message openshell.v1.GatewayMessage.
834
839
  * Use `create(GatewayMessageSchema)` to create a new message.
835
840
  */
836
- export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
841
+ export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
837
842
  /**
838
843
  * Describes the message openshell.v1.SupervisorHello.
839
844
  * Use `create(SupervisorHelloSchema)` to create a new message.
840
845
  */
841
- export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
846
+ export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
842
847
  /**
843
848
  * Describes the message openshell.v1.SessionAccepted.
844
849
  * Use `create(SessionAcceptedSchema)` to create a new message.
845
850
  */
846
- export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
851
+ export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
847
852
  /**
848
853
  * Describes the message openshell.v1.SessionRejected.
849
854
  * Use `create(SessionRejectedSchema)` to create a new message.
850
855
  */
851
- export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
856
+ export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
857
+ /**
858
+ * Describes the message openshell.v1.SessionRedirect.
859
+ * Use `create(SessionRedirectSchema)` to create a new message.
860
+ */
861
+ export const SessionRedirectSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
852
862
  /**
853
863
  * Describes the message openshell.v1.SupervisorHeartbeat.
854
864
  * Use `create(SupervisorHeartbeatSchema)` to create a new message.
855
865
  */
856
- export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
866
+ export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
857
867
  /**
858
868
  * Describes the message openshell.v1.GatewayHeartbeat.
859
869
  * Use `create(GatewayHeartbeatSchema)` to create a new message.
860
870
  */
861
- export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
871
+ export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
862
872
  /**
863
873
  * Describes the message openshell.v1.ReportMainProcessExitRequest.
864
874
  * Use `create(ReportMainProcessExitRequestSchema)` to create a new message.
865
875
  */
866
- export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
876
+ export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
867
877
  /**
868
878
  * Describes the message openshell.v1.ReportMainProcessExitResponse.
869
879
  * Use `create(ReportMainProcessExitResponseSchema)` to create a new message.
870
880
  */
871
- export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
881
+ export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
872
882
  /**
873
883
  * Describes the message openshell.v1.FinalizeMainProcessExitRequest.
874
884
  * Use `create(FinalizeMainProcessExitRequestSchema)` to create a new message.
875
885
  */
876
- export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
886
+ export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
877
887
  /**
878
888
  * Describes the message openshell.v1.FinalizeMainProcessExitResponse.
879
889
  * Use `create(FinalizeMainProcessExitResponseSchema)` to create a new message.
880
890
  */
881
- export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
891
+ export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
882
892
  /**
883
893
  * Describes the message openshell.v1.RelayOpen.
884
894
  * Use `create(RelayOpenSchema)` to create a new message.
885
895
  */
886
- export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
896
+ export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
887
897
  /**
888
898
  * Describes the message openshell.v1.SshRelayTarget.
889
899
  * Use `create(SshRelayTargetSchema)` to create a new message.
890
900
  */
891
- export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
901
+ export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
892
902
  /**
893
903
  * Describes the message openshell.v1.TcpRelayTarget.
894
904
  * Use `create(TcpRelayTargetSchema)` to create a new message.
895
905
  */
896
- export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
906
+ export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
897
907
  /**
898
908
  * Describes the message openshell.v1.RelayInit.
899
909
  * Use `create(RelayInitSchema)` to create a new message.
900
910
  */
901
- export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
911
+ export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
902
912
  /**
903
913
  * Describes the message openshell.v1.RelayFrame.
904
914
  * Use `create(RelayFrameSchema)` to create a new message.
905
915
  */
906
- export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
916
+ export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
907
917
  /**
908
918
  * Describes the message openshell.v1.PeerRelayInit.
909
919
  * Use `create(PeerRelayInitSchema)` to create a new message.
910
920
  */
911
- export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
921
+ export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
912
922
  /**
913
923
  * Describes the message openshell.v1.PeerRelayFrame.
914
924
  * Use `create(PeerRelayFrameSchema)` to create a new message.
915
925
  */
916
- export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
926
+ export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
917
927
  /**
918
928
  * Describes the message openshell.v1.RelayOpenResult.
919
929
  * Use `create(RelayOpenResultSchema)` to create a new message.
920
930
  */
921
- export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
931
+ export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
922
932
  /**
923
933
  * Describes the message openshell.v1.RelayClose.
924
934
  * Use `create(RelayCloseSchema)` to create a new message.
925
935
  */
926
- export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
936
+ export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
927
937
  /**
928
938
  * Describes the message openshell.v1.L7RequestSample.
929
939
  * Use `create(L7RequestSampleSchema)` to create a new message.
930
940
  */
931
- export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
941
+ export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
932
942
  /**
933
943
  * Describes the message openshell.v1.DenialSummary.
934
944
  * Use `create(DenialSummarySchema)` to create a new message.
935
945
  */
936
- export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
946
+ export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 186);
937
947
  /**
938
948
  * Describes the message openshell.v1.DenialGroupCount.
939
949
  * Use `create(DenialGroupCountSchema)` to create a new message.
940
950
  */
941
- export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
951
+ export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 187);
942
952
  /**
943
953
  * Describes the message openshell.v1.NetworkActivitySummary.
944
954
  * Use `create(NetworkActivitySummarySchema)` to create a new message.
945
955
  */
946
- export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 186);
956
+ export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 188);
947
957
  /**
948
958
  * Describes the message openshell.v1.PolicyChunk.
949
959
  * Use `create(PolicyChunkSchema)` to create a new message.
950
960
  */
951
- export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 187);
961
+ export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 189);
952
962
  /**
953
963
  * Describes the message openshell.v1.DraftPolicyUpdate.
954
964
  * Use `create(DraftPolicyUpdateSchema)` to create a new message.
955
965
  */
956
- export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 188);
966
+ export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 190);
957
967
  /**
958
968
  * Describes the message openshell.v1.SubmitPolicyAnalysisRequest.
959
969
  * Use `create(SubmitPolicyAnalysisRequestSchema)` to create a new message.
960
970
  */
961
- export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 189);
971
+ export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 191);
962
972
  /**
963
973
  * Describes the message openshell.v1.SubmitPolicyAnalysisResponse.
964
974
  * Use `create(SubmitPolicyAnalysisResponseSchema)` to create a new message.
965
975
  */
966
- export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 190);
976
+ export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 192);
967
977
  /**
968
978
  * Describes the message openshell.v1.GetDraftPolicyRequest.
969
979
  * Use `create(GetDraftPolicyRequestSchema)` to create a new message.
970
980
  */
971
- export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 191);
981
+ export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 193);
972
982
  /**
973
983
  * Describes the message openshell.v1.GetDraftPolicyResponse.
974
984
  * Use `create(GetDraftPolicyResponseSchema)` to create a new message.
975
985
  */
976
- export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 192);
986
+ export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 194);
977
987
  /**
978
988
  * Describes the message openshell.v1.ApproveDraftChunkRequest.
979
989
  * Use `create(ApproveDraftChunkRequestSchema)` to create a new message.
980
990
  */
981
- export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 193);
991
+ export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 195);
982
992
  /**
983
993
  * Describes the message openshell.v1.ApproveDraftChunkResponse.
984
994
  * Use `create(ApproveDraftChunkResponseSchema)` to create a new message.
985
995
  */
986
- export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 194);
996
+ export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 196);
987
997
  /**
988
998
  * Describes the message openshell.v1.RejectDraftChunkRequest.
989
999
  * Use `create(RejectDraftChunkRequestSchema)` to create a new message.
990
1000
  */
991
- export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 195);
1001
+ export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 197);
992
1002
  /**
993
1003
  * Describes the message openshell.v1.RejectDraftChunkResponse.
994
1004
  * Use `create(RejectDraftChunkResponseSchema)` to create a new message.
995
1005
  */
996
- export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 196);
1006
+ export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 198);
997
1007
  /**
998
1008
  * Describes the message openshell.v1.DraftChunkApproval.
999
1009
  * Use `create(DraftChunkApprovalSchema)` to create a new message.
1000
1010
  */
1001
- export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell, 197);
1011
+ export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell, 199);
1002
1012
  /**
1003
1013
  * Describes the message openshell.v1.ApproveAllDraftChunksRequest.
1004
1014
  * Use `create(ApproveAllDraftChunksRequestSchema)` to create a new message.
1005
1015
  */
1006
- export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 198);
1016
+ export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 200);
1007
1017
  /**
1008
1018
  * Describes the message openshell.v1.ApproveAllDraftChunksResponse.
1009
1019
  * Use `create(ApproveAllDraftChunksResponseSchema)` to create a new message.
1010
1020
  */
1011
- export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 199);
1021
+ export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 201);
1012
1022
  /**
1013
1023
  * Describes the message openshell.v1.EditDraftChunkRequest.
1014
1024
  * Use `create(EditDraftChunkRequestSchema)` to create a new message.
1015
1025
  */
1016
- export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 200);
1026
+ export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 202);
1017
1027
  /**
1018
1028
  * Describes the message openshell.v1.EditDraftChunkResponse.
1019
1029
  * Use `create(EditDraftChunkResponseSchema)` to create a new message.
1020
1030
  */
1021
- export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 201);
1031
+ export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 203);
1022
1032
  /**
1023
1033
  * Describes the message openshell.v1.UndoDraftChunkRequest.
1024
1034
  * Use `create(UndoDraftChunkRequestSchema)` to create a new message.
1025
1035
  */
1026
- export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 202);
1036
+ export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 204);
1027
1037
  /**
1028
1038
  * Describes the message openshell.v1.UndoDraftChunkResponse.
1029
1039
  * Use `create(UndoDraftChunkResponseSchema)` to create a new message.
1030
1040
  */
1031
- export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 203);
1041
+ export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 205);
1032
1042
  /**
1033
1043
  * Describes the message openshell.v1.ClearDraftChunksRequest.
1034
1044
  * Use `create(ClearDraftChunksRequestSchema)` to create a new message.
1035
1045
  */
1036
- export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 204);
1046
+ export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 206);
1037
1047
  /**
1038
1048
  * Describes the message openshell.v1.ClearDraftChunksResponse.
1039
1049
  * Use `create(ClearDraftChunksResponseSchema)` to create a new message.
1040
1050
  */
1041
- export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 205);
1051
+ export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 207);
1042
1052
  /**
1043
1053
  * Describes the message openshell.v1.GetDraftHistoryRequest.
1044
1054
  * Use `create(GetDraftHistoryRequestSchema)` to create a new message.
1045
1055
  */
1046
- export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 206);
1056
+ export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 208);
1047
1057
  /**
1048
1058
  * Describes the message openshell.v1.DraftHistoryEntry.
1049
1059
  * Use `create(DraftHistoryEntrySchema)` to create a new message.
1050
1060
  */
1051
- export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 207);
1061
+ export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 209);
1052
1062
  /**
1053
1063
  * Describes the message openshell.v1.GetDraftHistoryResponse.
1054
1064
  * Use `create(GetDraftHistoryResponseSchema)` to create a new message.
1055
1065
  */
1056
- export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 208);
1066
+ export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 210);
1057
1067
  /**
1058
1068
  * Describes the message openshell.v1.CreateWorkspaceRequest.
1059
1069
  * Use `create(CreateWorkspaceRequestSchema)` to create a new message.
1060
1070
  */
1061
- export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 209);
1071
+ export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 211);
1062
1072
  /**
1063
1073
  * Describes the message openshell.v1.CreateWorkspaceResponse.
1064
1074
  * Use `create(CreateWorkspaceResponseSchema)` to create a new message.
1065
1075
  */
1066
- export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 210);
1076
+ export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 212);
1067
1077
  /**
1068
1078
  * Describes the message openshell.v1.GetWorkspaceRequest.
1069
1079
  * Use `create(GetWorkspaceRequestSchema)` to create a new message.
1070
1080
  */
1071
- export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 211);
1081
+ export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 213);
1072
1082
  /**
1073
1083
  * Describes the message openshell.v1.GetWorkspaceResponse.
1074
1084
  * Use `create(GetWorkspaceResponseSchema)` to create a new message.
1075
1085
  */
1076
- export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 212);
1086
+ export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 214);
1077
1087
  /**
1078
1088
  * Describes the message openshell.v1.ListWorkspacesRequest.
1079
1089
  * Use `create(ListWorkspacesRequestSchema)` to create a new message.
1080
1090
  */
1081
- export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 213);
1091
+ export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 215);
1082
1092
  /**
1083
1093
  * Describes the message openshell.v1.ListWorkspacesResponse.
1084
1094
  * Use `create(ListWorkspacesResponseSchema)` to create a new message.
1085
1095
  */
1086
- export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 214);
1096
+ export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 216);
1087
1097
  /**
1088
1098
  * Describes the message openshell.v1.DeleteWorkspaceRequest.
1089
1099
  * Use `create(DeleteWorkspaceRequestSchema)` to create a new message.
1090
1100
  */
1091
- export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 215);
1101
+ export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 217);
1092
1102
  /**
1093
1103
  * Describes the message openshell.v1.DeleteWorkspaceResponse.
1094
1104
  * Use `create(DeleteWorkspaceResponseSchema)` to create a new message.
1095
1105
  */
1096
- export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 216);
1106
+ export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 218);
1097
1107
  /**
1098
1108
  * Describes the message openshell.v1.WorkspaceMember.
1099
1109
  * Use `create(WorkspaceMemberSchema)` to create a new message.
1100
1110
  */
1101
- export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 217);
1111
+ export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 219);
1102
1112
  /**
1103
1113
  * Describes the message openshell.v1.AddWorkspaceMemberRequest.
1104
1114
  * Use `create(AddWorkspaceMemberRequestSchema)` to create a new message.
1105
1115
  */
1106
- export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 218);
1116
+ export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 220);
1107
1117
  /**
1108
1118
  * Describes the message openshell.v1.AddWorkspaceMemberResponse.
1109
1119
  * Use `create(AddWorkspaceMemberResponseSchema)` to create a new message.
1110
1120
  */
1111
- export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 219);
1121
+ export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 221);
1112
1122
  /**
1113
1123
  * Describes the message openshell.v1.RemoveWorkspaceMemberRequest.
1114
1124
  * Use `create(RemoveWorkspaceMemberRequestSchema)` to create a new message.
1115
1125
  */
1116
- export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 220);
1126
+ export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 222);
1117
1127
  /**
1118
1128
  * Describes the message openshell.v1.RemoveWorkspaceMemberResponse.
1119
1129
  * Use `create(RemoveWorkspaceMemberResponseSchema)` to create a new message.
1120
1130
  */
1121
- export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 221);
1131
+ export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 223);
1122
1132
  /**
1123
1133
  * Describes the message openshell.v1.ListWorkspaceMembersRequest.
1124
1134
  * Use `create(ListWorkspaceMembersRequestSchema)` to create a new message.
1125
1135
  */
1126
- export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 222);
1136
+ export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 224);
1127
1137
  /**
1128
1138
  * Describes the message openshell.v1.ListWorkspaceMembersResponse.
1129
1139
  * Use `create(ListWorkspaceMembersResponseSchema)` to create a new message.
1130
1140
  */
1131
- export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 223);
1141
+ export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 225);
1132
1142
  /**
1133
1143
  * Describes the message openshell.v1.ExtensionServiceCredential.
1134
1144
  * Use `create(ExtensionServiceCredentialSchema)` to create a new message.
1135
1145
  */
1136
- export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 224);
1146
+ export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 226);
1137
1147
  /**
1138
1148
  * Describes the message openshell.v1.EndpointObservation.
1139
1149
  * Use `create(EndpointObservationSchema)` to create a new message.
1140
1150
  */
1141
- export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 225);
1151
+ export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 227);
1142
1152
  /**
1143
1153
  * Describes the message openshell.v1.ReportEndpointStatusRequest.
1144
1154
  * Use `create(ReportEndpointStatusRequestSchema)` to create a new message.
1145
1155
  */
1146
- export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 226);
1156
+ export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 228);
1147
1157
  /**
1148
1158
  * Describes the message openshell.v1.ReportEndpointStatusResponse.
1149
1159
  * Use `create(ReportEndpointStatusResponseSchema)` to create a new message.
1150
1160
  */
1151
- export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 227);
1161
+ export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 229);
1152
1162
  /**
1153
1163
  * Describes the message openshell.v1.EndpointStatus.
1154
1164
  * Use `create(EndpointStatusSchema)` to create a new message.
1155
1165
  */
1156
- export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 228);
1166
+ export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 230);
1157
1167
  /**
1158
1168
  * Describes the message openshell.v1.SandboxProvisioning.
1159
1169
  * Use `create(SandboxProvisioningSchema)` to create a new message.
1160
1170
  */
1161
- export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell, 229);
1171
+ export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell, 231);
1162
1172
  /**
1163
1173
  * Describes the message openshell.v1.SandboxServiceExposure.
1164
1174
  * Use `create(SandboxServiceExposureSchema)` to create a new message.
1165
1175
  */
1166
- export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell, 230);
1176
+ export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell, 232);
1167
1177
  /**
1168
1178
  * @generated from enum openshell.v1.ExtensionKind
1169
1179
  */
@@ -1780,6 +1790,36 @@ export var ProviderCredentialRefreshRecoveryAction;
1780
1790
  * Describes the enum openshell.v1.ProviderCredentialRefreshRecoveryAction.
1781
1791
  */
1782
1792
  export const ProviderCredentialRefreshRecoveryActionSchema = /*@__PURE__*/ enumDesc(file_openshell, 15);
1793
+ /**
1794
+ * Policy applied when the canonical main process exits outside an intentional
1795
+ * stop or delete operation. Kept after existing enums so generated enum
1796
+ * descriptors remain stable.
1797
+ *
1798
+ * @generated from enum openshell.v1.SandboxRestartPolicy
1799
+ */
1800
+ export var SandboxRestartPolicy;
1801
+ (function (SandboxRestartPolicy) {
1802
+ /**
1803
+ * @generated from enum value: SANDBOX_RESTART_POLICY_UNSPECIFIED = 0;
1804
+ */
1805
+ SandboxRestartPolicy[SandboxRestartPolicy["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1806
+ /**
1807
+ * @generated from enum value: SANDBOX_RESTART_POLICY_NEVER = 1;
1808
+ */
1809
+ SandboxRestartPolicy[SandboxRestartPolicy["NEVER"] = 1] = "NEVER";
1810
+ /**
1811
+ * @generated from enum value: SANDBOX_RESTART_POLICY_ON_FAILURE = 2;
1812
+ */
1813
+ SandboxRestartPolicy[SandboxRestartPolicy["ON_FAILURE"] = 2] = "ON_FAILURE";
1814
+ /**
1815
+ * @generated from enum value: SANDBOX_RESTART_POLICY_ALWAYS = 3;
1816
+ */
1817
+ SandboxRestartPolicy[SandboxRestartPolicy["ALWAYS"] = 3] = "ALWAYS";
1818
+ })(SandboxRestartPolicy || (SandboxRestartPolicy = {}));
1819
+ /**
1820
+ * Describes the enum openshell.v1.SandboxRestartPolicy.
1821
+ */
1822
+ export const SandboxRestartPolicySchema = /*@__PURE__*/ enumDesc(file_openshell, 16);
1783
1823
  /**
1784
1824
  * Result of a public delete, membership removal, or session revocation.
1785
1825
  * Default requests return NOT_FOUND for a missing target. With allow_missing,
@@ -1821,7 +1861,7 @@ export var DeletionOutcome;
1821
1861
  /**
1822
1862
  * Describes the enum openshell.v1.DeletionOutcome.
1823
1863
  */
1824
- export const DeletionOutcomeSchema = /*@__PURE__*/ enumDesc(file_openshell, 16);
1864
+ export const DeletionOutcomeSchema = /*@__PURE__*/ enumDesc(file_openshell, 17);
1825
1865
  /**
1826
1866
  * Last observed network result for a configured external tool endpoint.
1827
1867
  * Results describe accepted traffic observations, not present availability.
@@ -1881,7 +1921,38 @@ export var EndpointResult;
1881
1921
  /**
1882
1922
  * Describes the enum openshell.v1.EndpointResult.
1883
1923
  */
1884
- export const EndpointResultSchema = /*@__PURE__*/ enumDesc(file_openshell, 17);
1924
+ export const EndpointResultSchema = /*@__PURE__*/ enumDesc(file_openshell, 18);
1925
+ /**
1926
+ * Controls whether an exposed service receives the request's application
1927
+ * Authorization header.
1928
+ *
1929
+ * @generated from enum openshell.v1.ServiceAuthorizationMode
1930
+ */
1931
+ export var ServiceAuthorizationMode;
1932
+ (function (ServiceAuthorizationMode) {
1933
+ /**
1934
+ * Omission preserves the secure legacy behavior and resolves to STRIP.
1935
+ *
1936
+ * @generated from enum value: SERVICE_AUTHORIZATION_MODE_UNSPECIFIED = 0;
1937
+ */
1938
+ ServiceAuthorizationMode[ServiceAuthorizationMode["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1939
+ /**
1940
+ * Remove Authorization before forwarding to the sandbox service.
1941
+ *
1942
+ * @generated from enum value: SERVICE_AUTHORIZATION_MODE_STRIP = 1;
1943
+ */
1944
+ ServiceAuthorizationMode[ServiceAuthorizationMode["STRIP"] = 1] = "STRIP";
1945
+ /**
1946
+ * Forward one syntactically valid bearer Authorization header unchanged.
1947
+ *
1948
+ * @generated from enum value: SERVICE_AUTHORIZATION_MODE_BEARER_PASSTHROUGH = 2;
1949
+ */
1950
+ ServiceAuthorizationMode[ServiceAuthorizationMode["BEARER_PASSTHROUGH"] = 2] = "BEARER_PASSTHROUGH";
1951
+ })(ServiceAuthorizationMode || (ServiceAuthorizationMode = {}));
1952
+ /**
1953
+ * Describes the enum openshell.v1.ServiceAuthorizationMode.
1954
+ */
1955
+ export const ServiceAuthorizationModeSchema = /*@__PURE__*/ enumDesc(file_openshell, 19);
1885
1956
  /**
1886
1957
  * OpenShell service provides sandbox, provider, and runtime management capabilities.
1887
1958
  *