@openkaiden/opnshll-sdk 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +23 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +46 -14
- package/dist/client.js.map +1 -1
- package/dist/gen/openshell_pb.d.ts +209 -1
- package/dist/gen/openshell_pb.d.ts.map +1 -1
- package/dist/gen/openshell_pb.js +262 -217
- package/dist/gen/openshell_pb.js.map +1 -1
- package/dist/gen/sandbox_pb.d.ts +121 -0
- package/dist/gen/sandbox_pb.d.ts.map +1 -1
- package/dist/gen/sandbox_pb.js +72 -2
- package/dist/gen/sandbox_pb.js.map +1 -1
- package/dist/raw.js +1 -1
- package/dist/raw.js.map +1 -1
- package/dist/routing.d.ts +11 -0
- package/dist/routing.d.ts.map +1 -0
- package/dist/routing.js +57 -0
- package/dist/routing.js.map +1 -0
- package/package.json +3 -3
package/dist/gen/openshell_pb.js
CHANGED
|
@@ -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("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCK3AgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzEhwKFGhvc3Rfa2V5X2ZpbmdlcnByaW50GAYgASgJElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIv4DCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkSOgoOcmVzdGFydF9wb2xpY3kYDyABKA4yIi5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3RhcnRQb2xpY3kaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAki7AUKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nEhUKDXJlc3RhcnRfY291bnQYDiABKA0SNQoRbmV4dF9yZXN0YXJ0X3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KGW1haW5fcHJvY2Vzc19zdGFydGVkX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkwKGGxhc3RfdG9rZW5fZ3JhbnRfZmFpbHVyZRgRIAEoCzIqLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50RmFpbHVyZU9ic2VydmF0aW9uQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJIrMBCg9TYW5kYm94UmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EkQKDHNlcnZpY2VfdXJscxgCIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UuU2VydmljZVVybHNFbnRyeRoyChBTZXJ2aWNlVXJsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWgoVTGlzdFNhbmRib3hlc1Jlc3BvbnNlEigKCXNhbmRib3hlcxgBIAMoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJsChxMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIpEBCh1BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIYXR0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCKRAQodRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhAKCGRldGFjaGVkGAIgASgIEjYKB3JlY2VpcHQYAyABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQi3QEKF1Byb3ZpZGVyRGVzaXJlZElkZW50aXR5EhIKCnNhbmRib3hfaWQYASABKAkSDwoHc2FuZGJveBgCIAEoCRIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJEiEKGXByb3ZpZGVyX3Jlc291cmNlX3ZlcnNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEhcKD2NvbmZpZ19yZXZpc2lvbhgHIAEoBBITCgtwb2xpY3lfaGFzaBgIIAEoCSLGAQoWQ29uZmlnU25hcHNob3RSZXZpc2lvbhI9Cg5zYW5kYm94X2NvbmZpZxgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlnUmV2aXNpb25IABIeChRwcm92aWRlcl9lbnZpcm9ubWVudBgCIAEoBEgAEkAKD3Byb3ZpZGVyX3RhcmdldBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckRlc2lyZWRJZGVudGl0eUgAQgsKCWNvbXBvbmVudCK9AQoVU2FuZGJveENvbmZpZ1JldmlzaW9uEhcKD2NvbmZpZ19yZXZpc2lvbhgBIAEoBBIWCg5wb2xpY3lfdmVyc2lvbhgCIAEoDRI5Cg1wb2xpY3lfc291cmNlGAMgASgOMiIub3BlbnNoZWxsLnNhbmRib3gudjEuUG9saWN5U291cmNlEh0KFWdsb2JhbF9wb2xpY3lfdmVyc2lvbhgEIAEoDRIZChFzZXR0aW5nc19yZXZpc2lvbhgFIAEoBCKQBAoVQ29uZmlnVXBkYXRlT3BlcmF0aW9uEhQKDG9wZXJhdGlvbl9pZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEjAKCWNvbXBvbmVudBgDIAEoDjIdLm9wZW5zaGVsbC52MS5Db25maWdDb21wb25lbnQSPQoPdGFyZ2V0X3JldmlzaW9uGAQgASgLMiQub3BlbnNoZWxsLnYxLkNvbmZpZ1NuYXBzaG90UmV2aXNpb24SNwoFc3RhdGUYBSABKA4yKC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSMQoHb3V0Y29tZRgGIAEoDjIgLm9wZW5zaGVsbC52MS5Db25maWdBcHBseU91dGNvbWUSFwoPc2FuaXRpemVkX2Vycm9yGAcgASgJEjAKDGNyZWF0ZWRfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdXBkYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5jb21wbGV0ZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgIEAlKBAgJEApKBAgKEAtSDWNyZWF0ZWRfYXRfbXNSDXVwZGF0ZWRfYXRfbXNSD2NvbXBsZXRlZF9hdF9tcyKcAgoXUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEgoKcmVjZWlwdF9pZBgBIAEoCRITCgttdXRhdGlvbl9pZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgl3b3Jrc3BhY2UYBCABKAkSMAoEa2luZBgFIAEoDjIiLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uS2luZBI2CgdkZXNpcmVkGAYgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5EjIKDnBlcnNpc3RlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAcQCFIPcGVyc2lzdGVkX2F0X21zItsCChxQcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhIKCnNlc3Npb25faWQYASABKAkSEAoIc2VxdWVuY2UYAiABKAQSGAoQYXR0YWNobWVudF9lcG9jaBgDIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBCABKAQSFwoPY29uZmlnX3JldmlzaW9uGAUgASgEEhMKC3BvbGljeV9oYXNoGAYgASgJEh0KFWNyZWRlbnRpYWxzX2luc3RhbGxlZBgHIAEoCBIVCg1wb2xpY3lfYWN0aXZlGAggASgIEiQKHGxhdW5jaF9lbnZpcm9ubWVudF9pbnN0YWxsZWQYCSABKAgSGwoTcHJvY2Vzc19pbnN0YW5jZV9pZBgKIAEoCRI1CgZyZWFzb24YCyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24i5AMKF1Byb3ZpZGVyUmVhZGluZXNzU3RhdHVzEjYKB3JlY2VpcHQYASABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSMwoFc3RhdGUYAiABKA4yJC5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRI1CgZyZWFzb24YAyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SPAoIb2JzZXJ2ZWQYBCABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NPYnNlcnZhdGlvbhIbChNuZXR3b3JrX2luc3RhbmNlX2lkGAUgASgJEjEKDW9ic2VydmVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmV2YWx1YXRlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2CglvcGVyYXRpb24YCCABKAsyIy5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uSgQIBhAHSgQIBxAIUg5vYnNlcnZlZF9hdF9tc1IPZXZhbHVhdGVkX2F0X21zIpwBCh9HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRISCgpyZWNlaXB0X2lkGAMgASgJIlkKIEdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlEjUKBnN0YXR1cxgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXR1cyJ1Ch5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI/CgtvYnNlcnZhdGlvbhgCIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uIuIBCh9SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlEhkKEWFjY2VwdGVkX3NlcXVlbmNlGAEgASgEEjIKD3JlcG9ydF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIyCg9vYnNlcnZhdGlvbl90dGwYZyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANKBAgDEARSF3JlcG9ydF9pbnRlcnZhbF9zZWNvbmRzUhdvYnNlcnZhdGlvbl90dGxfc2Vjb25kcyJqChVEZWxldGVTYW5kYm94UmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWUSEgoKc2FuZGJveF9pZBgDIAEoCUoECAEQAlIHZGVsZXRlZCJuChdDcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAki7wEKGENyZWF0ZVNzaFNlc3Npb25SZXNwb25zZRISCgpzYW5kYm94X2lkGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEhQKDGdhdGV3YXlfaG9zdBgDIAEoCRIUCgxnYXRld2F5X3BvcnQYBCABKA0SFgoOZ2F0ZXdheV9zY2hlbWUYBSABKAkSHAoUaG9zdF9rZXlfZmluZ2VycHJpbnQYByABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCVINZXhwaXJlc19hdF9tcyL2AQoURXhwb3NlU2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEhMKC3RhcmdldF9wb3J0GAMgASgNEg4KBmRvbWFpbhgEIAEoCBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBiABKAkSQgoSYXV0aG9yaXphdGlvbl9tb2RlGAcgASgOMiYub3BlbnNoZWxsLnYxLlNlcnZpY2VBdXRob3JpemF0aW9uTW9kZSJ2ChFHZXRTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCSKRAQoTTGlzdFNlcnZpY2VzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJEg8KB3NhbmRib3gYASABKAkiaAoUTGlzdFNlcnZpY2VzUmVzcG9uc2USNwoIc2VydmljZXMYASADKAsyJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIqQBChREZWxldGVTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAQgASgIEhIKCnJlcXVlc3RfaWQYBSABKAkiVgoVRGVsZXRlU2VydmljZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIuMBCg9TZXJ2aWNlRW5kcG9pbnQSNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRIPCgdzYW5kYm94GAMgASgJEgwKBG5hbWUYBCABKAkSEwoLdGFyZ2V0X3BvcnQYBSABKA0SDgoGZG9tYWluGAYgASgIEkIKEmF1dGhvcml6YXRpb25fbW9kZRgHIAEoDjImLm9wZW5zaGVsbC52MS5TZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUiVwoXU2VydmljZUVuZHBvaW50UmVzcG9uc2USLwoIZW5kcG9pbnQYASABKAsyHS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50EgsKA3VybBgCIAEoCSJFChdSZXZva2VTc2hTZXNzaW9uUmVxdWVzdBITCgV0b2tlbhgBIAEoCUIEiLUYARIVCg1hbGxvd19taXNzaW5nGAIgASgIIlkKGFJldm9rZVNzaFNlc3Npb25SZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmV2b2tlZCK4AwoSRXhlY1NhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgMIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIPCgdjb21tYW5kGAIgAygJEg8KB3dvcmtkaXIYAyABKAkSRgoLZW52aXJvbm1lbnQYBCADKAsyMS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0LkVudmlyb25tZW50RW50cnkSNAoRZXhlY3V0aW9uX3RpbWVvdXQYaSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SDQoFc3RkaW4YBiABKAwSCwoDdHR5GAcgASgIEgwKBGNvbHMYCCABKA0SDAoEcm93cxgJIAEoDRIWCg5ub19sb2dpbl9zaGVsbBgKIAEoCBISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIPdGltZW91dF9zZWNvbmRzIiEKEUV4ZWNTYW5kYm94U3Rkb3V0EgwKBGRhdGEYASABKAwiIQoRRXhlY1NhbmRib3hTdGRlcnISDAoEZGF0YRgBIAEoDCIkCg9FeGVjU2FuZGJveEV4aXQSEQoJZXhpdF9jb2RlGAEgASgFIrIBChBFeGVjU2FuZGJveEV2ZW50EjEKBnN0ZG91dBgBIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZG91dEgAEjEKBnN0ZGVychgCIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZGVyckgAEi0KBGV4aXQYAyABKAsyHS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFeGl0SABCCQoHcGF5bG9hZCLPAQoOVGNwRm9yd2FyZEluaXQSDwoHc2FuZGJveBgBIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkSEgoKc2VydmljZV9pZBgEIAEoCRIrCgNzc2gYBSABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYBiABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABIhChNhdXRob3JpemF0aW9uX3Rva2VuGAcgASgJQgSItRgBQggKBnRhcmdldCJaCg9UY3BGb3J3YXJkRnJhbWUSLAoEaW5pdBgBIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkSW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIpoBChBFeGVjU2FuZGJveElucHV0EjEKBXN0YXJ0GAEgASgLMiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdEgAEg8KBXN0ZGluGAIgASgMSAASNwoGcmVzaXplGAMgASgLMiUub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94V2luZG93UmVzaXplSABCCQoHcGF5bG9hZCI1ChdFeGVjU2FuZGJveFdpbmRvd1Jlc2l6ZRIMCgRjb2xzGAEgASgNEgwKBHJvd3MYAiABKA0ixgEKClNzaFNlc3Npb24SNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRITCgV0b2tlbhgDIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYaCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3Jldm9rZWQYBSABKAhKBAgEEAVSDWV4cGlyZXNfYXRfbXMigAMKE1dhdGNoU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAsgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhUKDWZvbGxvd19zdGF0dXMYAiABKAgSEwoLZm9sbG93X2xvZ3MYAyABKAgSFQoNZm9sbG93X2V2ZW50cxgEIAEoCBIWCg5sb2dfdGFpbF9saW5lcxgFIAEoDRISCgpldmVudF90YWlsGAYgASgNEhgKEHN0b3Bfb25fdGVybWluYWwYByABKAgSLgoKc2luY2VfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLbG9nX3NvdXJjZXMYCSADKAkSFQoNbG9nX21pbl9sZXZlbBgKIAEoCRIbChNyZXN1bWVfYWZ0ZXJfY3Vyc29yGAwgASgJSgQICBAJUgxsb2dfc2luY2VfbXMiqwIKElNhbmRib3hTdHJlYW1FdmVudBIoCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3hIABIrCgNsb2cYAiABKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmVIABIsCgVldmVudBgDIAEoCzIbLm9wZW5zaGVsbC52MS5QbGF0Zm9ybUV2ZW50SAASNQoHd2FybmluZxgEIAEoCzIiLm9wZW5zaGVsbC52MS5TYW5kYm94U3RyZWFtV2FybmluZ0gAEj4KE2RyYWZ0X3BvbGljeV91cGRhdGUYBSABKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRQb2xpY3lVcGRhdGVIABIOCgZjdXJzb3IYBiABKAlCCQoHcGF5bG9hZCKRAgoOU2FuZGJveExvZ0xpbmUSEgoKc2FuZGJveF9pZBgBIAEoCRIuCgpldmVudF90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVsZXZlbBgDIAEoCRIOCgZ0YXJnZXQYBCABKAkSDwoHbWVzc2FnZRgFIAEoCRIOCgZzb3VyY2UYBiABKAkSOAoGZmllbGRzGAcgAygLMigub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgCEANSDHRpbWVzdGFtcF9tcyInChRTYW5kYm94U3RyZWFtV2FybmluZxIPCgdtZXNzYWdlGAEgASgJIqMBChVDcmVhdGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISEgoKcmVxdWVzdF9pZBgDIAEoCSJmChJHZXRQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJIskBCh1HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSFwoPY3JlZGVudGlhbF9rZXlzGAMgAygJEj0KGm1pbmltdW1fcmVtYWluaW5nX2xpZmV0aW1lGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uImMKF1Byb3ZpZGVyQ3JlZGVudGlhbFZhbHVlEhMKBXZhbHVlGAEgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizwEKHkdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXNwb25zZRJSCgtjcmVkZW50aWFscxgBIAMoCzI9Lm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVzcG9uc2UuQ3JlZGVudGlhbHNFbnRyeRpZChBDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI0CgV2YWx1ZRgCIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxWYWx1ZToCOAEimQEKFExpc3RQcm92aWRlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYBCABKAkitAMKFVVwZGF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchJnChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZiADKAsyQi5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0LkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRIoCiBjbGVhcl9jcmVkZW50aWFsX2V4cGlyYXRpb25fa2V5cxhnIAMoCRISCgpyZXF1ZXN0X2lkGAQgASgJGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4AUoECAIQA1IYY3JlZGVudGlhbF9leHBpcmVzX2F0X21zIpQBChVEZWxldGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYBCABKAgSEgoKcmVxdWVzdF9pZBgFIAEoCSKbAQoQUHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISPgoPdGFyZ2V0X3JlY2VpcHRzGAIgAygLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25SZWNlaXB0EhMKC211dGF0aW9uX2lkGAMgASgJImUKFUxpc3RQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKIAQobTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkiawoZR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgoKAmlkGAEgASgJIlsKGVByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUSDgoGc291cmNlGAIgASgJInEKGVByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDgoGc291cmNlGAEgASgJEhIKCnByb2ZpbGVfaWQYAiABKAkSDQoFZmllbGQYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIQCghzZXZlcml0eRgFIAEoCSJ6CixQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50QXVkaWVuY2VPdmVycmlkZRIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCRIQCghhdWRpZW5jZRgEIAEoCRIOCgZzY29wZXMYBSADKAkiagooUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFN1YmplY3RUb2tlbhIOCgZzb3VyY2UYASABKAkSEgoKY3JlZGVudGlhbBgCIAEoCRIaChJzdWJqZWN0X3Rva2VuX3R5cGUYAyABKAki4gMKHFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnQSFgoOdG9rZW5fZW5kcG9pbnQYASABKAkSEAoIYXVkaWVuY2UYAiABKAkSGQoRand0X3N2aWRfYXVkaWVuY2UYBiABKAkSDgoGc2NvcGVzGAMgAygJEiwKCWNhY2hlX3R0bBhoIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJWChJhdWRpZW5jZV9vdmVycmlkZXMYBSADKAsyOi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSHQoVY2xpZW50X2Fzc2VydGlvbl90eXBlGAcgASgJEkIKCmdyYW50X3R5cGUYCCABKA4yLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFR5cGUSTQoNc3ViamVjdF90b2tlbhgJIAEoCzI2Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50U3ViamVjdFRva2VuEhwKFHJlcXVlc3RlZF90b2tlbl90eXBlGAogASgJSgQIBBAFUhFjYWNoZV90dGxfc2Vjb25kcyLqAgoZUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGVudl92YXJzGAMgAygJEhAKCHJlcXVpcmVkGAQgASgIEhIKCmF1dGhfc3R5bGUYBSABKAkSEwoLaGVhZGVyX25hbWUYBiABKAkSEwoLcXVlcnlfcGFyYW0YByABKAkSOAoHcmVmcmVzaBgIIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEhUKDXBhdGhfdGVtcGxhdGUYCSABKAkSPwoLdG9rZW5fZ3JhbnQYCiABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudBIaChJ0b2tlbl9ncmFudF9vd25lcnMYCyADKAkSGgoSc3RhYmxlX3BsYWNlaG9sZGVyGAwgASgIImgKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEg4KBnNlY3JldBgEIAEoCCJFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0Eg4KBm91dHB1dBgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJIq0DChlQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEkEKCHN0cmF0ZWd5GAEgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIRCgl0b2tlbl91cmwYAiABKAkSDgoGc2NvcGVzGAMgAygJEjEKDnJlZnJlc2hfYmVmb3JlGGggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi8KDG1heF9saWZldGltZRhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJBCghtYXRlcmlhbBgGIAMoCzIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoTWF0ZXJpYWwSSQoSYWRkaXRpb25hbF9vdXRwdXRzGAcgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hPdXRwdXRKBAgEEAVKBAgFEAZSFnJlZnJlc2hfYmVmb3JlX3NlY29uZHNSFG1heF9saWZldGltZV9zZWNvbmRzIoYFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzEhAKCHByb3ZpZGVyGAEgASgJEhMKC3Byb3ZpZGVyX2lkGAIgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAMgASgJEkEKCHN0cmF0ZWd5GAQgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIOCgZzdGF0dXMYBSABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChFuZXh0X3JlZnJlc2hfdGltZRhrIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoRbGFzdF9yZWZyZXNoX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxhc3RfZXJyb3IYCSABKAkSTgoPcmVjb3ZlcnlfYWN0aW9uGAogASgOMjUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhIUCgxmYWlsdXJlX2NvZGUYCyABKAkSHgoWcHJvdmlkZXJfZXJyb3Jfc3VidHlwZRgMIAEoCRIzCg9sYXN0X2Vycm9yX3RpbWUYcSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBhAHSgQIBxAISgQICBAJSgQIDRAOUg1leHBpcmVzX2F0X21zUhJuZXh0X3JlZnJlc2hfYXRfbXNSEmxhc3RfcmVmcmVzaF9hdF9tc1IQbGFzdF9lcnJvcl9hdF9tcyIvChhQcm92aWRlclByb2ZpbGVEaXNjb3ZlcnkSEwoLY3JlZGVudGlhbHMYASADKAkijwEKH0dldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCSJmCiBHZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXNwb25zZRJCCgtjcmVkZW50aWFscxgBIAMoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzItQDCh9Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgHIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSQQoIc3RyYXRlZ3kYAyABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5ElMKCG1hdGVyaWFsGAQgAygLMjsub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QuTWF0ZXJpYWxFbnRyeUIEiLUYARIcChRzZWNyZXRfbWF0ZXJpYWxfa2V5cxgFIAMoCRIzCg9leHBpcmF0aW9uX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYCCABKAkaLwoNTWF0ZXJpYWxFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBhAHUg1leHBpcmVzX2F0X21zImEKIENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlEj0KBnN0YXR1cxgBIAEoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzIqMBCh9Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSEgoKcmVxdWVzdF9pZBgEIAEoCSJhCiBSb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyK3AQocRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhUKDWFsbG93X21pc3NpbmcYBSABKAgSEgoKcmVxdWVzdF9pZBgGIAEoCSJeCh1EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCLqBAoPUHJvdmlkZXJQcm9maWxlEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRI3CghjYXRlZ29yeRgEIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDYXRlZ29yeRI8CgtjcmVkZW50aWFscxgFIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEjgKCWVuZHBvaW50cxgGIAMoCzIlLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtFbmRwb2ludBI1CghiaW5hcmllcxgHIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSGQoRaW5mZXJlbmNlX2NhcGFibGUYCCABKAgSOQoJZGlzY292ZXJ5GAkgASgLMiYub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpc2NvdmVyeRIYChByZXNvdXJjZV92ZXJzaW9uGAogASgEEkMKC2Fubm90YXRpb25zGAsgAygLMi4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZS5Bbm5vdGF0aW9uc0VudHJ5Eg4KBnNvdXJjZRgMIAEoCRINCgVzY29wZRgNIAEoCRIwCgVmaWxlcxgOIAMoCzIhLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVGaWxlGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJFChNQcm92aWRlclByb2ZpbGVGaWxlEgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgdlbnZfdmFyGAMgASgJIkkKF1Byb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlImgKHExpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USLwoIcHJvZmlsZXMYASADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKyAQodSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEhIKCnJlcXVlc3RfaWQYAyABKAkioQEKHkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi8KCHByb2ZpbGVzGAIgAygLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIQCghpbXBvcnRlZBgDIAEoCCLgAQodVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI4Cgdwcm9maWxlGAEgASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoBBIKCgJpZBgDIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIp8BCh5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIuCgdwcm9maWxlGAIgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIPCgd1cGRhdGVkGAMgASgIIpwBChtMaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtIpABChxMaW50UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlEjwKC2RpYWdub3N0aWNzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDQoFdmFsaWQYAiABKAgSIwobc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyGAMgASgIIlcKFkRlbGV0ZVByb3ZpZGVyUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQimQEKHERlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIKCgJpZBgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAMgASgIEhIKCnJlcXVlc3RfaWQYBCABKAkiXgodRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQinQEKJEdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEisKI3N1cHBvcnRzX3N0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAIgASgIEjQKLHN1cHBvcnRzX3N0YWJsZV9wbGFjZWhvbGRlcl9lbnZpcm9ubWVudF9rZXlzGAMgASgIIksKH1N0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkinAEKF1N0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEkAKCWVuZHBvaW50cxgBIAMoCzItLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsRW5kcG9pbnRCaW5kaW5nEhsKE2NyZWRlbnRpYWxfaWRlbnRpdHkYAiABKAkSIgoad29ya2xvYWRfY3JlZGVudGlhbF9oYW5kbGUYAyABKAki/QkKJUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2USXwoLZW52aXJvbm1lbnQYASADKAsyRC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5FbnZpcm9ubWVudEVudHJ5QgSItRgBEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgCIAEoBBJ3ChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZyADKAsyUi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSaAoTZHluYW1pY19jcmVkZW50aWFscxgEIAMoCzJLLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EnUKGnN0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAUgAygLMlEub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSIwobbm9uX3NlY3JldF9lbnZpcm9ubWVudF9rZXlzGAYgAygJEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYByABKAkSEwoLcG9saWN5X2hhc2gYCCABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgJIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhJNCgVmaWxlcxgKIAMoCzI+Lm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkZpbGVzRW50cnkSKwojc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYCyADKAkSNAosc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYDCABKAgaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4ARpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaZgodU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nOgI4ARosCgpGaWxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgDEARSGGNyZWRlbnRpYWxfZXhwaXJlc19hdF9tcyKmAgoYUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlEgwKBG5hbWUYASABKAkSEwoFdmFsdWUYAiABKAlCBIi1GAESTAoOY2xhc3NpZmljYXRpb24YBCABKA4yNC5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlQ2xhc3NpZmljYXRpb24SSAoZc3RhdGljX2NyZWRlbnRpYWxfYmluZGluZxgFIAEoCzIlLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsQmluZGluZxIzCg9leHBpcmF0aW9uX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKEnN0YWJsZV9wbGFjZWhvbGRlchgGIAEoCCKkBAobUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90Eh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgBIAEoBBI2CgZ2YWx1ZXMYAiADKAsyJi5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlEl4KE2R5bmFtaWNfY3JlZGVudGlhbHMYAyADKAsyQS5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90LkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYBCABKAkSEwoLcG9saWN5X2hhc2gYBSABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgGIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhJDCgVmaWxlcxgHIAMoCzI0Lm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50U25hcHNob3QuRmlsZXNFbnRyeRpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaLAoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoYBCiNFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAMgASgJEiEKE3N1cGVydmlzb3Jfand0X3N2aWQYBCABKAlCBIi1GAEimgEKJEV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXNwb25zZRIaCgxhY2Nlc3NfdG9rZW4YASABKAlCBIi1GAESMAoNZXhwaXJlc19hZnRlchhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhISCgp0b2tlbl90eXBlGAMgASgJSgQIAhADUgpleHBpcmVzX2luIokEChNVcGRhdGVDb25maWdSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgKIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISMwoGcG9saWN5GAIgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRITCgtzZXR0aW5nX2tleRgDIAEoCRI5Cg1zZXR0aW5nX3ZhbHVlGAQgASgLMiIub3BlbnNoZWxsLnNhbmRib3gudjEuU2V0dGluZ1ZhbHVlEhYKDmRlbGV0ZV9zZXR0aW5nGAUgASgIEg4KBmdsb2JhbBgGIAEoCBI8ChBtZXJnZV9vcGVyYXRpb25zGAcgAygLMiIub3BlbnNoZWxsLnYxLlBvbGljeU1lcmdlT3BlcmF0aW9uEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YCCABKAQSRwoLYW5ub3RhdGlvbnMYCSADKAsyMi5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVxdWVzdC5Bbm5vdGF0aW9uc0VudHJ5Eg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgLIAEoCRoyChBBbm5vdGF0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi9wIKFFBvbGljeU1lcmdlT3BlcmF0aW9uEjAKCGFkZF9ydWxlGAEgASgLMhwub3BlbnNoZWxsLnYxLkFkZE5ldHdvcmtSdWxlSAASPgoPcmVtb3ZlX2VuZHBvaW50GAIgASgLMiMub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtFbmRwb2ludEgAEjYKC3JlbW92ZV9ydWxlGAMgASgLMh8ub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtSdWxlSAASNAoOYWRkX2RlbnlfcnVsZXMYBCABKAsyGi5vcGVuc2hlbGwudjEuQWRkRGVueVJ1bGVzSAASNgoPYWRkX2FsbG93X3J1bGVzGAUgASgLMhsub3BlbnNoZWxsLnYxLkFkZEFsbG93UnVsZXNIABI6Cg1yZW1vdmVfYmluYXJ5GAYgASgLMiEub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtCaW5hcnlIAEILCglvcGVyYXRpb24iWgoOQWRkTmV0d29ya1J1bGUSEQoJcnVsZV9uYW1lGAEgASgJEjUKBHJ1bGUYAiABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZSJGChVSZW1vdmVOZXR3b3JrRW5kcG9pbnQSEQoJcnVsZV9uYW1lGAEgASgJEgwKBGhvc3QYAiABKAkSDAoEcG9ydBgDIAEoDSImChFSZW1vdmVOZXR3b3JrUnVsZRIRCglydWxlX25hbWUYASABKAkipQEKDEw3UnVsZVRhcmdldBIRCglydWxlX25hbWUYASABKAkSDAoEaG9zdBgCIAEoCRINCgVwb3J0cxgDIAMoDRIRCgRwYXRoGAQgASgJSACIAQESNQoIYmluYXJpZXMYBSADKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrQmluYXJ5EhIKCmFueV9iaW5hcnkYBiABKAhCBwoFX3BhdGgiiAEKDEFkZERlbnlSdWxlcxI0CgpkZW55X3J1bGVzGAMgAygLMiAub3BlbnNoZWxsLnNhbmRib3gudjEuTDdEZW55UnVsZRIqCgZ0YXJnZXQYBCABKAsyGi5vcGVuc2hlbGwudjEuTDdSdWxlVGFyZ2V0SgQIARACSgQIAhADUgRob3N0UgRwb3J0IoABCg1BZGRBbGxvd1J1bGVzEisKBXJ1bGVzGAMgAygLMhwub3BlbnNoZWxsLnNhbmRib3gudjEuTDdSdWxlEioKBnRhcmdldBgEIAEoCzIaLm9wZW5zaGVsbC52MS5MN1J1bGVUYXJnZXRKBAgBEAJKBAgCEANSBGhvc3RSBHBvcnQiPQoTUmVtb3ZlTmV0d29ya0JpbmFyeRIRCglydWxlX25hbWUYASABKAkSEwoLYmluYXJ5X3BhdGgYAiABKAki5gEKFFVwZGF0ZUNvbmZpZ1Jlc3BvbnNlEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSGQoRc2V0dGluZ3NfcmV2aXNpb24YAyABKAQSDwoHZGVsZXRlZBgEIAEoCBJICgthbm5vdGF0aW9ucxgFIAMoCzIzLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXNwb25zZS5Bbm5vdGF0aW9uc0VudHJ5GjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKVAQodR2V0U2FuZGJveFBvbGljeVN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgd2ZXJzaW9uGAIgASgNEg4KBmdsb2JhbBgDIAEoCBIPCgdzYW5kYm94GAEgASgJIm8KHkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXNwb25zZRI1CghyZXZpc2lvbhgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24SFgoOYWN0aXZlX3ZlcnNpb24YAiABKA0iqAEKGkxpc3RTYW5kYm94UG9saWNpZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgFIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkSDgoGZ2xvYmFsGAQgASgIEg8KB3NhbmRib3gYASABKAkibgobTGlzdFNhbmRib3hQb2xpY2llc1Jlc3BvbnNlEjYKCXJldmlzaW9ucxgBIAMoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIoABChlSZXBvcnRQb2xpY3lTdGF0dXNSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoDRIqCgZzdGF0dXMYAyABKA4yGi5vcGVuc2hlbGwudjEuUG9saWN5U3RhdHVzEhIKCmxvYWRfZXJyb3IYBCABKAkiHAoaUmVwb3J0UG9saWN5U3RhdHVzUmVzcG9uc2Ui4gEKHVNhbmRib3hDb25maWd1cmF0aW9uQWRtaXNzaW9uEhMKC2luc3RhbmNlX2lkGAEgASgJEjgKBXN0YXRlGAIgASgOMikub3BlbnNoZWxsLnYxLkNvbmZpZ3VyYXRpb25BZG1pc3Npb25TdGF0ZRIWCg5wb2xpY3lfdmVyc2lvbhgDIAEoDRITCgtwb2xpY3lfaGFzaBgEIAEoCRIXCg9jb25maWdfcmV2aXNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEg0KBWVycm9yGAcgASgJIpUBCiFSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI+CglhZG1pc3Npb24YAiABKAsyKy5vcGVuc2hlbGwudjEuU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SHAoUZXhwZWN0ZWRfaW5zdGFuY2VfaWQYAyABKAkiJAoiUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXNwb25zZSK6AwoVU2FuZGJveFBvbGljeVJldmlzaW9uEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSKgoGc3RhdHVzGAMgASgOMhoub3BlbnNoZWxsLnYxLlBvbGljeVN0YXR1cxISCgpsb2FkX2Vycm9yGAQgASgJEjAKDGNyZWF0ZWRfdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLbG9hZGVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKBnBvbGljeRgHIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoKcHJvdmVuYW5jZRgIIAMoCzIzLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24uUHJvdmVuYW5jZUVudHJ5GjEKD1Byb3ZlbmFuY2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBRAGSgQIBhAHUg1jcmVhdGVkX2F0X21zUgxsb2FkZWRfYXRfbXMi3wEKFUdldFNhbmRib3hMb2dzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSDQoFbGluZXMYAiABKA0SLgoKc2luY2VfdGltZRhnIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc291cmNlcxgEIAMoCRIRCgltaW5fbGV2ZWwYBSABKAlKBAgDEARSCHNpbmNlX21zIlgKFlB1c2hTYW5kYm94TG9nc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIqCgRsb2dzGAIgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lIhkKF1B1c2hTYW5kYm94TG9nc1Jlc3BvbnNlIloKFkdldFNhbmRib3hMb2dzUmVzcG9uc2USKgoEbG9ncxgBIAMoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZRIUCgxidWZmZXJfdG90YWwYAiABKA0itQIKEVN1cGVydmlzb3JNZXNzYWdlEi4KBWhlbGxvGAEgASgLMh0ub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWxsb0gAEjYKCWhlYXJ0YmVhdBgCIAEoCzIhLm9wZW5zaGVsbC52MS5TdXBlcnZpc29ySGVhcnRiZWF0SAASOgoRcmVsYXlfb3Blbl9yZXN1bHQYAyABKAsyHS5vcGVuc2hlbGwudjEuUmVsYXlPcGVuUmVzdWx0SAASLwoLcmVsYXlfY2xvc2UYBCABKAsyGC5vcGVuc2hlbGwudjEuUmVsYXlDbG9zZUgAEkAKFGNvbmZpZ191cGRhdGVfcmVzdWx0GAUgASgLMiAub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZVJlc3VsdEgAQgkKB3BheWxvYWQilgMKDkdhdGV3YXlNZXNzYWdlEjkKEHNlc3Npb25fYWNjZXB0ZWQYASABKAsyHS5vcGVuc2hlbGwudjEuU2Vzc2lvbkFjY2VwdGVkSAASOQoQc2Vzc2lvbl9yZWplY3RlZBgCIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uUmVqZWN0ZWRIABIzCgloZWFydGJlYXQYAyABKAsyHi5vcGVuc2hlbGwudjEuR2F0ZXdheUhlYXJ0YmVhdEgAEi0KCnJlbGF5X29wZW4YBCABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlPcGVuSAASLwoLcmVsYXlfY2xvc2UYBSABKAsyGC5vcGVuc2hlbGwudjEuUmVsYXlDbG9zZUgAEjkKEHNlc3Npb25fcmVkaXJlY3QYBiABKAsyHS5vcGVuc2hlbGwudjEuU2Vzc2lvblJlZGlyZWN0SAASMwoNY29uZmlnX3VwZGF0ZRgHIAEoCzIaLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVIAEIJCgdwYXlsb2FkIs4BCg9TdXBlcnZpc29ySGVsbG8SEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCRIYChBjb25uZWN0aW9uX2Vwb2NoGAMgASgEEiMKG3N1cHBvcnRzX3Byb3ZpZGVyX3JlYWRpbmVzcxgEIAEoCBISCgpyZWRpcmVjdGVkGAUgASgIEiEKGXN1cHBvcnRzX3Nlc3Npb25fcmVkaXJlY3QYBiABKAgSHAoUc3VwcG9ydHNfY29uZmlnX3B1c2gYByABKAgixwEKD1Nlc3Npb25BY2NlcHRlZBISCgpzZXNzaW9uX2lkGAEgASgJEi0KCWJvb3RzdHJhcBgDIAEoCzIaLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGUSGwoTY29uZmlnX3B1c2hfZW5hYmxlZBgEIAEoCBI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYZiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANSF2hlYXJ0YmVhdF9pbnRlcnZhbF9zZWNzIq8BCgxDb25maWdVcGRhdGUSEQoJdXBkYXRlX2lkGAEgASgJEkMKDnNhbmRib3hfY29uZmlnGAIgASgLMisub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveENvbmZpZ1NuYXBzaG90EkcKFHByb3ZpZGVyX2Vudmlyb25tZW50GAMgASgLMikub3BlbnNoZWxsLnYxLlByb3ZpZGVyRW52aXJvbm1lbnRTbmFwc2hvdCJGChJDb25maWdBcHBseUZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCCKCAgoSQ29uZmlnVXBkYXRlUmVzdWx0EhEKCXVwZGF0ZV9pZBgBIAEoCRIxCgdvdXRjb21lGAIgASgOMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5T3V0Y29tZRIxCgdmYWlsdXJlGAMgASgLMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5RmFpbHVyZRI+CglhZG1pc3Npb24YBCABKAsyKy5vcGVuc2hlbGwudjEuU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SMwoLcG9saWN5X2xvYWQYBSABKAsyHi5vcGVuc2hlbGwudjEuUG9saWN5TG9hZFJlc3VsdCJCChBQb2xpY3lMb2FkUmVzdWx0Eg8KB3ZlcnNpb24YASABKA0SDgoGbG9hZGVkGAIgASgIEg0KBWVycm9yGAMgASgJIiEKD1Nlc3Npb25SZWplY3RlZBIOCgZyZWFzb24YASABKAkiQgoPU2Vzc2lvblJlZGlyZWN0EhUKDXBlZXJfZW5kcG9pbnQYASABKAkSGAoQb3duZXJfcmVwbGljYV9pZBgCIAEoCSIVChNTdXBlcnZpc29ySGVhcnRiZWF0IhIKEEdhdGV3YXlIZWFydGJlYXQiWgocUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhEKCWV4aXRfY29kZRgDIAEoBSIfCh1SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSJJCh5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCSIhCh9GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIpcBCglSZWxheU9wZW4SEgoKY2hhbm5lbF9pZBgBIAEoCRIrCgNzc2gYAiABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYAyABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABISCgpzZXJ2aWNlX2lkGAUgASgJQggKBnRhcmdldCIQCg5Tc2hSZWxheVRhcmdldCIsCg5UY3BSZWxheVRhcmdldBIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0iHwoJUmVsYXlJbml0EhIKCmNoYW5uZWxfaWQYASABKAkiUAoKUmVsYXlGcmFtZRInCgRpbml0GAEgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5SW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIm4KDVBlZXJSZWxheUluaXQSEgoKc2FuZGJveF9pZBgBIAEoCRIrCgpyZWxheV9vcGVuGAIgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5T3BlbhIcChRyZXF1ZXN0ZXJfcmVwbGljYV9pZBgDIAEoCSJYCg5QZWVyUmVsYXlGcmFtZRIrCgRpbml0GAEgASgLMhsub3BlbnNoZWxsLnYxLlBlZXJSZWxheUluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCJBChdQZWVyQ29uZmlnU2FuZGJveFRhcmdldBISCgpzYW5kYm94X2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkiOwoYUGVlckNvbmZpZ1Byb3ZpZGVyVGFyZ2V0EhEKCXdvcmtzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJIswBCh1QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVxdWVzdBI4CgdzYW5kYm94GAEgASgLMiUub3BlbnNoZWxsLnYxLlBlZXJDb25maWdTYW5kYm94VGFyZ2V0SAASEwoJd29ya3NwYWNlGAIgASgJSAASFwoNYWxsX2Nvbm5lY3RlZBgDIAEoCEgAEjoKCHByb3ZpZGVyGAQgASgLMiYub3BlbnNoZWxsLnYxLlBlZXJDb25maWdQcm92aWRlclRhcmdldEgAQgcKBXNjb3BlIjUKHlBlZXJOb3RpZnlDb25maWdVcGRhdGVSZXNwb25zZRITCgtzdGFsZV9vd25lchgBIAEoCCJFCg9SZWxheU9wZW5SZXN1bHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEg0KBWVycm9yGAMgASgJIjAKClJlbGF5Q2xvc2USEgoKY2hhbm5lbF9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiUAoPTDdSZXF1ZXN0U2FtcGxlEg4KBm1ldGhvZBgBIAEoCRIMCgRwYXRoGAIgASgJEhAKCGRlY2lzaW9uGAMgASgJEg0KBWNvdW50GAQgASgNIvoDCg1EZW5pYWxTdW1tYXJ5EhIKCnNhbmRib3hfaWQYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNEg4KBmJpbmFyeRgEIAEoCRIRCglhbmNlc3RvcnMYBSADKAkSEwoLZGVueV9yZWFzb24YBiABKAkSMwoPZmlyc3Rfc2Vlbl90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5sYXN0X3NlZW5fdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFY291bnQYCSABKA0SGAoQc3VwcHJlc3NlZF9jb3VudBgKIAEoDRITCgt0b3RhbF9jb3VudBgLIAEoDRIXCg9zYW1wbGVfY21kbGluZXMYDCADKAkSFQoNYmluYXJ5X3NoYTI1NhgNIAEoCRISCgpwZXJzaXN0ZW50GA4gASgIEhQKDGRlbmlhbF9zdGFnZRgPIAEoCRI5ChJsN19yZXF1ZXN0X3NhbXBsZXMYECADKAsyHS5vcGVuc2hlbGwudjEuTDdSZXF1ZXN0U2FtcGxlEhwKFGw3X2luc3BlY3Rpb25fYWN0aXZlGBEgASgISgQIBxAISgQICBAJUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiPAoQRGVuaWFsR3JvdXBDb3VudBISCgpkZW55X2dyb3VwGAEgASgJEhQKDGRlbmllZF9jb3VudBgCIAEoDSKPAQoWTmV0d29ya0FjdGl2aXR5U3VtbWFyeRIeChZuZXR3b3JrX2FjdGl2aXR5X2NvdW50GAEgASgNEhsKE2RlbmllZF9hY3Rpb25fY291bnQYAiABKA0SOAoQZGVuaWFsc19ieV9ncm91cBgDIAMoCzIeLm9wZW5zaGVsbC52MS5EZW5pYWxHcm91cENvdW50IowHCgtQb2xpY3lDaHVuaxIKCgJpZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSEQoJcnVsZV9uYW1lGAMgASgJEj4KDXByb3Bvc2VkX3J1bGUYBCABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZRIRCglyYXRpb25hbGUYBSABKAkSFgoOc2VjdXJpdHlfbm90ZXMYBiABKAkSEgoKY29uZmlkZW5jZRgHIAEoAhIaChJkZW5pYWxfc3VtbWFyeV9pZHMYCCADKAkSMAoMY3JlYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxkZWNpZGVkX3RpbWUYbiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXN0YWdlGAsgASgJEhsKE3N1cGVyc2VkZXNfY2h1bmtfaWQYDCABKAkSEQoJaGl0X2NvdW50GA0gASgFEjMKD2ZpcnN0X3NlZW5fdGltZRhyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoObGFzdF9zZWVuX3RpbWUYcyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmJpbmFyeRgQIAEoCRIZChF2YWxpZGF0aW9uX3Jlc3VsdBgRIAEoCRIYChByZWplY3Rpb25fcmVhc29uGBIgASgJEhkKEWFwcGxpY2F0aW9uX2Vycm9yGBMgASgJEhQKDHJldmlld190b2tlbhgUIAEoCRIlCh1jdXJyZW50X2VmZmVjdGl2ZV9wb2xpY3lfaGFzaBgVIAEoCRInCh9jYW5kaWRhdGVfZWZmZWN0aXZlX3BvbGljeV9oYXNoGBYgASgJEkUKGGN1cnJlbnRfZWZmZWN0aXZlX3BvbGljeRgXIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoaY2FuZGlkYXRlX2VmZmVjdGl2ZV9wb2xpY3kYGCABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5SgQICRAKSgQIChALSgQIDhAPSgQIDxAQUg1jcmVhdGVkX2F0X21zUg1kZWNpZGVkX2F0X21zUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiZgoRRHJhZnRQb2xpY3lVcGRhdGUSFQoNZHJhZnRfdmVyc2lvbhgBIAEoBBISCgpuZXdfY2h1bmtzGAIgASgNEhUKDXRvdGFsX3BlbmRpbmcYAyABKA0SDwoHc3VtbWFyeRgEIAEoCSK0AgobU3VibWl0UG9saWN5QW5hbHlzaXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISLgoJc3VtbWFyaWVzGAEgAygLMhsub3BlbnNoZWxsLnYxLkRlbmlhbFN1bW1hcnkSMgoPcHJvcG9zZWRfY2h1bmtzGAIgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhUKDWFuYWx5c2lzX21vZGUYAyABKAkSDAoEbmFtZRgEIAEoCRJIChpuZXR3b3JrX2FjdGl2aXR5X3N1bW1hcmllcxgFIAMoCzIkLm9wZW5zaGVsbC52MS5OZXR3b3JrQWN0aXZpdHlTdW1tYXJ5IocBChxTdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlEhcKD2FjY2VwdGVkX2NodW5rcxgBIAEoDRIXCg9yZWplY3RlZF9jaHVua3MYAiABKA0SGQoRcmVqZWN0aW9uX3JlYXNvbnMYAyADKAkSGgoSYWNjZXB0ZWRfY2h1bmtfaWRzGAQgAygJIoMBChVHZXREcmFmdFBvbGljeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIVCg1zdGF0dXNfZmlsdGVyGAIgASgJEg8KB3NhbmRib3gYASABKAkixgEKFkdldERyYWZ0UG9saWN5UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhcKD3JvbGxpbmdfc3VtbWFyeRgCIAEoCRIVCg1kcmFmdF92ZXJzaW9uGAMgASgEEjYKEmxhc3RfYW5hbHl6ZWRfdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgEEAVSE2xhc3RfYW5hbHl6ZWRfYXRfbXMiqwEKGEFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEhQKDHJldmlld190b2tlbhgEIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiSAoZQXBwcm92ZURyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKkAQoXUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIhoKGFJlamVjdERyYWZ0Q2h1bmtSZXNwb25zZSI8ChJEcmFmdENodW5rQXBwcm92YWwSEAoIY2h1bmtfaWQYASABKAkSFAoMcmV2aWV3X3Rva2VuGAIgASgJIt4BChxBcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISIAoYaW5jbHVkZV9zZWN1cml0eV9mbGFnZ2VkGAIgASgIEjMKCWFwcHJvdmFscxgDIAMoCzIgLm9wZW5zaGVsbC52MS5EcmFmdENodW5rQXBwcm92YWwSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIn0KHUFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEhcKD2NodW5rc19hcHByb3ZlZBgDIAEoDRIWCg5jaHVua3Nfc2tpcHBlZBgEIAEoDSLSAQoVRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSPgoNcHJvcG9zZWRfcnVsZRgDIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSIYChZFZGl0RHJhZnRDaHVua1Jlc3BvbnNlIpIBChVVbmRvRHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkiRQoWVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKCAQoXQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkiMgoYQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlEhYKDmNodW5rc19jbGVhcmVkGAEgASgNIm0KFkdldERyYWZ0SGlzdG9yeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJIpIBChFEcmFmdEhpc3RvcnlFbnRyeRIuCgpldmVudF90aW1lGGUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpldmVudF90eXBlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCGNodW5rX2lkGAQgASgJSgQIARACUgx0aW1lc3RhbXBfbXMiSwoXR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2USMAoHZW50cmllcxgBIAMoCzIfLm9wZW5zaGVsbC52MS5EcmFmdEhpc3RvcnlFbnRyeSKrAQoWQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJEkAKBmxhYmVscxgCIAMoCzIwLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0LkxhYmVsc0VudHJ5EhIKCnJlcXVlc3RfaWQYAyABKAkaLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJPChdDcmVhdGVXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSIjChNHZXRXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkiTAoUR2V0V29ya3NwYWNlUmVzcG9uc2USNAoJd29ya3NwYWNlGAEgASgLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2UiVgoVTGlzdFdvcmtzcGFjZXNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJEhYKDmxhYmVsX3NlbGVjdG9yGAMgASgJImgKFkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2USNQoKd29ya3NwYWNlcxgBIAMoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJRChZEZWxldGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgCIAEoCBISCgpyZXF1ZXN0X2lkGAMgASgJIlgKF0RlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIo0BCg9Xb3Jrc3BhY2VNZW1iZXISNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlIrkBChlBZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlEhIKCnJlcXVlc3RfaWQYBCABKAkiSwoaQWRkV29ya3NwYWNlTWVtYmVyUmVzcG9uc2USLQoGbWVtYmVyGAEgASgLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlciKoAQocUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJeCh1SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmVtb3ZlZCKIAQobTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkiZwocTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZRIuCgdtZW1iZXJzGAEgAygLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkikQEKGkV4dGVuc2lvblNlcnZpY2VDcmVkZW50aWFsEhQKDHNlcnZpY2VfbmFtZRgBIAEoCRITCgV0b2tlbhgCIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAxAEUg1leHBpcmVzX2F0X21zIogBChNFbmRwb2ludE9ic2VydmF0aW9uEhMKC2VuZHBvaW50X2lkGAEgASgJEiwKBnJlc3VsdBgCIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdBIuCgdmYWlsdXJlGAMgASgLMh0ub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZSKxAgobUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLcG9saWN5X2hhc2gYAiABKAkSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAMgASgEEjcKDG9ic2VydmF0aW9ucxgEIAMoCzIhLm9wZW5zaGVsbC52MS5FbmRwb2ludE9ic2VydmF0aW9uEh0KFW9ic2VydmVkX2VuZHBvaW50X2lkcxgFIAMoCRIdChVzdXBlcnZpc29yX3Nlc3Npb25faWQYBiABKAkSFwoPcmVwb3J0X3NlcXVlbmNlGAcgASgEEjoKEnRva2VuX2dyYW50X3N0YXR1cxgIIAEoCzIeLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50U3RhdHVzIlQKEFRva2VuR3JhbnRTdGF0dXMSQAoMbGFzdF9mYWlsdXJlGAEgASgLMioub3BlbnNoZWxsLnYxLlRva2VuR3JhbnRGYWlsdXJlT2JzZXJ2YXRpb24iggEKHFRva2VuR3JhbnRGYWlsdXJlT2JzZXJ2YXRpb24SGAoQZGVzdGluYXRpb25faG9zdBgBIAEoCRIYChBkZXN0aW5hdGlvbl9wb3J0GAIgASgNEi4KB2ZhaWx1cmUYAyABKAsyHS5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlIh4KHFJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2UiiAIKDkVuZHBvaW50U3RhdHVzEhMKC2VuZHBvaW50X2lkGAEgASgJEgwKBGhvc3QYAiABKAkSDQoFcG9ydHMYAyADKA0SDAoEcGF0aBgEIAEoCRIxCgtsYXN0X3Jlc3VsdBgFIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdBI2ChJsYXN0X3JlcG9ydGVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKDGxhc3RfZmFpbHVyZRgHIAEoCzIdLm9wZW5zaGVsbC52MS5FbmRwb2ludEZhaWx1cmVKBAgGEAdSEGxhc3RfcmVwb3J0ZWRfYXQiuwUKE1NhbmRib3hQcm92aXNpb25pbmcSEgoKYXR0ZW1wdF9pZBgBIAEoCRIfChdjb25maWd1cmF0aW9uX2NoYW5nZV9pZBgCIAEoCRI9Chljb25maWd1cmF0aW9uX2NoYW5nZV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRmaXJzdF9yZWplY3Rpb25fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZGVhZGxpbmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHRpbWVvdXRfdGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoWY2xlYW51cF9jb21wbGV0ZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNY2xlYW51cF9lcnJvchgIIAEoCRI2ChJjbGVhbnVwX3JldHJ5X3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFGF0dGFjaG1lbnRfY2hhbmdlX2lkGAogASgJEjoKFmF0dGFjaG1lbnRfY2hhbmdlX3RpbWUYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFHByZXBhcmF0aW9uX2RlYWRsaW5lGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRhZG1pc3Npb25fc3RhcnRfdGltZRgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoYZHJpdmVyX29wZXJhdGlvbl9wZW5kaW5nGA4gASgIEhsKE2RyaXZlcl9vcGVyYXRpb25faWQYDyABKAkiggEKFlNhbmRib3hTZXJ2aWNlRXhwb3N1cmUSDwoHc2VydmljZRgBIAEoCRITCgt0YXJnZXRfcG9ydBgCIAEoDRJCChJhdXRob3JpemF0aW9uX21vZGUYAyABKA4yJi5vcGVuc2hlbGwudjEuU2VydmljZUF1dGhvcml6YXRpb25Nb2RlIq0CCg9FbmRwb2ludEZhaWx1cmUSMwoGZG9tYWluGAEgASgOMiMub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZURvbWFpbhIMCgRjb2RlGAIgASgJEk4KD3JlY292ZXJ5X2FjdGlvbhgDIAEoDjI1Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoUmVjb3ZlcnlBY3Rpb24SEAoIcHJvdmlkZXIYBCABKAkSFgoOY3JlZGVudGlhbF9rZXkYBSABKAkSDQoFc3RhZ2UYBiABKAkSIQoUdXBzdHJlYW1faHR0cF9zdGF0dXMYByABKA1IAIgBARISCgpyZXF1ZXN0X2lkGAggASgJQhcKFV91cHN0cmVhbV9odHRwX3N0YXR1cyrKAQoNRXh0ZW5zaW9uS2luZBIeChpFWFRFTlNJT05fS0lORF9VTlNQRUNJRklFRBAAEiEKHUVYVEVOU0lPTl9LSU5EX0NPTVBVVEVfRFJJVkVSEAESJAogRVhURU5TSU9OX0tJTkRfQ1JFREVOVElBTF9EUklWRVIQAhImCiJFWFRFTlNJT05fS0lORF9HQVRFV0FZX0lOVEVSQ0VQVE9SEAMSKAokRVhURU5TSU9OX0tJTkRfU1VQRVJWSVNPUl9NSURETEVXQVJFEAQqxgIKDFNhbmRib3hQaGFzZRIdChlTQU5EQk9YX1BIQVNFX1VOU1BFQ0lGSUVEEAASHgoaU0FOREJPWF9QSEFTRV9QUk9WSVNJT05JTkcQARIXChNTQU5EQk9YX1BIQVNFX1JFQURZEAISFwoTU0FOREJPWF9QSEFTRV9FUlJPUhADEhoKFlNBTkRCT1hfUEhBU0VfREVMRVRJTkcQBBIZChVTQU5EQk9YX1BIQVNFX1VOS05PV04QBRIaChZTQU5EQk9YX1BIQVNFX1NUT1BQSU5HEAYSGQoVU0FOREJPWF9QSEFTRV9TVE9QUEVEEAcSGgoWU0FOREJPWF9QSEFTRV9TVEFSVElORxAIEhsKF1NBTkRCT1hfUEhBU0VfQ09NUExFVEVEEAkiBAgKEAoqGFNBTkRCT1hfUEhBU0VfUkVTVEFSVElORyrLAQoUUHJvdmlkZXJNdXRhdGlvbktpbmQSJgoiUFJPVklERVJfTVVUQVRJT05fS0lORF9VTlNQRUNJRklFRBAAEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfQVRUQUNIEAESIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9ERVRBQ0gQAhIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX1VQREFURRADEiIKHlBST1ZJREVSX01VVEFUSU9OX0tJTkRfT0JTRVJWRRAEKs8CChZQcm92aWRlclJlYWRpbmVzc1N0YXRlEigKJFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9VTlNQRUNJRklFRBAAEiYKIlBST1ZJREVSX1JFQURJTkVTU19TVEFURV9QRVJTSVNURUQQARIkCiBQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUEVORElORxACEiIKHlBST1ZJREVSX1JFQURJTkVTU19TVEFURV9SRUFEWRADEiUKIVBST1ZJREVSX1JFQURJTkVTU19TVEFURV9XSVRISEVMRBAEEiQKIFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9SRVZPS0VEEAUSIwofUFJPVklERVJfUkVBRElORVNTX1NUQVRFX0ZBSUxFRBAGEicKI1BST1ZJREVSX1JFQURJTkVTU19TVEFURV9TVVBFUlNFREVEEAcq2gYKF1Byb3ZpZGVyUmVhZGluZXNzUmVhc29uEikKJVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fVU5TUEVDSUZJRUQQABI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1NVUEVSVklTT1IQARI1CjFQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX0NSRURFTlRJQUxTEAISMAosUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9QT0xJQ1kQAxIxCi1QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1BST0NFU1MQBBI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1VOU1VQUE9SVEVEX1NVUEVSVklTT1IQBRIyCi5QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxTX1dJVEhIRUxEEAYSNwozUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMX0lOU1RBTExfRkFJTEVEEAcSNgoyUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9QT0xJQ1lfQUNUSVZBVElPTl9GQUlMRUQQCBI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1BST0NFU1NfSU5TVEFMTF9GQUlMRUQQCRI1CjFQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NVUEVSVklTT1JfRElTQ09OTkVDVEVEEAoSNgoyUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TVVBFUlZJU09SX0xFQVNFX0VYUElSRUQQCxIzCi9QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0RFU0lSRURfU1RBVEVfQ0hBTkdFRBAMEjAKLFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTF9FWFBJUkVEEA0SKgomUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9MT0NBTF9QT0xJQ1kQDhIvCitQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NOQVBTSE9UX01JU01BVENIEA8qgwEKD0NvbmZpZ0NvbXBvbmVudBIgChxDT05GSUdfQ09NUE9ORU5UX1VOU1BFQ0lGSUVEEAASIwofQ09ORklHX0NPTVBPTkVOVF9TQU5EQk9YX0NPTkZJRxABEikKJUNPTkZJR19DT01QT05FTlRfUFJPVklERVJfRU5WSVJPTk1FTlQQAiqNAwoSQ29uZmlnQXBwbHlPdXRjb21lEiQKIENPTkZJR19BUFBMWV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASIAocQ09ORklHX0FQUExZX09VVENPTUVfQVBQTElFRBABEioKJkNPTkZJR19BUFBMWV9PVVRDT01FX0lHTk9SRURfRFVQTElDQVRFEAISJgoiQ09ORklHX0FQUExZX09VVENPTUVfSUdOT1JFRF9TVEFMRRADEjAKLENPTkZJR19BUFBMWV9PVVRDT01FX1JFVEFJTkVEX0xPQ0FMX09WRVJSSURFEAQSIQodQ09ORklHX0FQUExZX09VVENPTUVfREVHUkFERUQQBRI4CjRDT05GSUdfQVBQTFlfT1VUQ09NRV9GQUlMRURfUkVUQUlORURfTEFTVF9LTk9XTl9HT09EEAYSJgoiQ09ORklHX0FQUExZX09VVENPTUVfRkFJTEVEX0NMT1NFRBAHEiQKIENPTkZJR19BUFBMWV9PVVRDT01FX1VOU1VQUE9SVEVEEAgq0gIKGkNvbmZpZ1VwZGF0ZU9wZXJhdGlvblN0YXRlEi0KKUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASKQolQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfUEVORElORxABEikKJUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0FQUExJRUQQAhIqCiZDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9JTkFDVElWRRADEigKJENPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAEEiwKKENPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1NVUEVSU0VERUQQBRIrCidDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9DQU5DRUxMRUQQBirOAQogUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFR5cGUSNAowUFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX1VOU1BFQ0lGSUVEEAASOwo3UFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX0NMSUVOVF9DUkVERU5USUFMUxABEjcKM1BST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9UT0tFTl9FWENIQU5HRRACKsMDCiFQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSNAowUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASLworUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX1NUQVRJQxABEjEKLVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9FWFRFUk5BTBACEj0KOVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9PQVVUSDJfUkVGUkVTSF9UT0tFThADEkIKPlBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9PQVVUSDJfQ0xJRU5UX0NSRURFTlRJQUxTEAQSQwo/UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0dPT0dMRV9TRVJWSUNFX0FDQ09VTlRfSldUEAUSPAo4UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0FXU19TVFNfQVNTVU1FX1JPTEUQBirbAgoXUHJvdmlkZXJQcm9maWxlQ2F0ZWdvcnkSKQolUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9VTlNQRUNJRklFRBAAEiMKH1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfT1RIRVIQARInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0lORkVSRU5DRRACEiMKH1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfQUdFTlQQAxIsCihQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX1NPVVJDRV9DT05UUk9MEAQSJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9NRVNTQUdJTkcQBRIiCh5QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0RBVEEQBhInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0tOT1dMRURHRRAHKt4BCiZQcm92aWRlckVudmlyb25tZW50VmFsdWVDbGFzc2lmaWNhdGlvbhI5CjVQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9VTlNQRUNJRklFRBAAEjgKNFBST1ZJREVSX0VOVklST05NRU5UX1ZBTFVFX0NMQVNTSUZJQ0FUSU9OX05PTl9TRUNSRVQQARI/CjtQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9TVEFUSUNfQ1JFREVOVElBTBACKs8BChtDb25maWd1cmF0aW9uQWRtaXNzaW9uU3RhdGUSLQopQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIpCiVDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9QRU5ESU5HEAESKgomQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfQUNDRVBURUQQAhIqCiZDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9SRUpFQ1RFRBADKpoBCgxQb2xpY3lTdGF0dXMSHQoZUE9MSUNZX1NUQVRVU19VTlNQRUNJRklFRBAAEhkKFVBPTElDWV9TVEFUVVNfUEVORElORxABEhgKFFBPTElDWV9TVEFUVVNfTE9BREVEEAISGAoUUE9MSUNZX1NUQVRVU19GQUlMRUQQAxIcChhQT0xJQ1lfU1RBVFVTX1NVUEVSU0VERUQQBCqGAQoNU2VydmljZVN0YXR1cxIeChpTRVJWSUNFX1NUQVRVU19VTlNQRUNJRklFRBAAEhoKFlNFUlZJQ0VfU1RBVFVTX0hFQUxUSFkQARIbChdTRVJWSUNFX1NUQVRVU19ERUdSQURFRBACEhwKGFNFUlZJQ0VfU1RBVFVTX1VOSEVBTFRIWRADKmIKDVdvcmtzcGFjZVJvbGUSHgoaV09SS1NQQUNFX1JPTEVfVU5TUEVDSUZJRUQQABIXChNXT1JLU1BBQ0VfUk9MRV9VU0VSEAESGAoUV09SS1NQQUNFX1JPTEVfQURNSU4QAiraAgonUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFJlY292ZXJ5QWN0aW9uEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fVU5TUEVDSUZJRUQQABI1CjFQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1JFVFJZEAESOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9SRUFVVEhPUklaRRACEkEKPVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fRklYX0NPTkZJR1VSQVRJT04QAxI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX0lOVkVTVElHQVRFEAQqqgEKFFNhbmRib3hSZXN0YXJ0UG9saWN5EiYKIlNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfVU5TUEVDSUZJRUQQABIgChxTQU5EQk9YX1JFU1RBUlRfUE9MSUNZX05FVkVSEAESJQohU0FOREJPWF9SRVNUQVJUX1BPTElDWV9PTl9GQUlMVVJFEAISIQodU0FOREJPWF9SRVNUQVJUX1BPTElDWV9BTFdBWVMQAyqXAQoPRGVsZXRpb25PdXRjb21lEiAKHERFTEVUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIeChpERUxFVElPTl9PVVRDT01FX0NPTVBMRVRFRBABEh0KGURFTEVUSU9OX09VVENPTUVfQUNDRVBURUQQAhIjCh9ERUxFVElPTl9PVVRDT01FX0FMUkVBRFlfQUJTRU5UEAMqwwIKDkVuZHBvaW50UmVzdWx0Eh8KG0VORFBPSU5UX1JFU1VMVF9VTlNQRUNJRklFRBAAEigKJEVORFBPSU5UX1JFU1VMVF9OT19PQlNFUlZFRF9FWENIQU5HRRABEioKJkVORFBPSU5UX1JFU1VMVF9IVFRQX1JFU1BPTlNFX1JFQ0VJVkVEEAISIQodRU5EUE9JTlRfUkVTVUxUX1BPTElDWV9ERU5JRUQQAxIqCiZFTkRQT0lOVF9SRVNVTFRfQ1JFREVOVElBTF9VTkFWQUlMQUJMRRAEEh4KGkVORFBPSU5UX1JFU1VMVF9UTFNfRkFJTEVEEAUSJAogRU5EUE9JTlRfUkVTVUxUX1RSQU5TUE9SVF9GQUlMRUQQBhIlCiFFTkRQT0lOVF9SRVNVTFRfVVBTVFJFQU1fUkVKRUNURUQQByqfAQoYU2VydmljZUF1dGhvcml6YXRpb25Nb2RlEioKJlNFUlZJQ0VfQVVUSE9SSVpBVElPTl9NT0RFX1VOU1BFQ0lGSUVEEAASJAogU0VSVklDRV9BVVRIT1JJWkFUSU9OX01PREVfU1RSSVAQARIxCi1TRVJWSUNFX0FVVEhPUklaQVRJT05fTU9ERV9CRUFSRVJfUEFTU1RIUk9VR0gQAippChVFbmRwb2ludEZhaWx1cmVEb21haW4SJwojRU5EUE9JTlRfRkFJTFVSRV9ET01BSU5fVU5TUEVDSUZJRUQQABInCiNFTkRQT0lOVF9GQUlMVVJFX0RPTUFJTl9UT0tFTl9HUkFOVBABMrZXCglPcGVuU2hlbGwSWgoGSGVhbHRoEhsub3BlbnNoZWxsLnYxLkhlYWx0aFJlcXVlc3QaHC5vcGVuc2hlbGwudjEuSGVhbHRoUmVzcG9uc2UiFYK1GBEKD3VuYXV0aGVudGljYXRlZBJpCg5HZXRDdXJyZW50VXNlchIjLm9wZW5zaGVsbC52MS5HZXRDdXJyZW50VXNlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSIMgrUYCAoGYmVhcmVyEoYBCg5HZXRHYXRld2F5SW5mbxIjLm9wZW5zaGVsbC52MS5HZXRHYXRld2F5SW5mb1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXNwb25zZSIpgrUYJQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiILY29uZmlnOnJlYWQSdQoNQ3JlYXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKTAQoVQmVnaW5Sb290ZnNUYXJTdGFnaW5nEioub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJuCgpHZXRTYW5kYm94Eh8ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSegoNTGlzdFNhbmRib3hlcxIiLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo4BChVDcmVhdGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKGAQoSR2V0U2FuZGJveFRlbXBsYXRlEicub3BlbnNoZWxsLnYxLkdldFNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo8BChRMaXN0U2FuZGJveFRlbXBsYXRlcxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFRlbXBsYXRlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSlAEKFURlbGV0ZVNhbmRib3hUZW1wbGF0ZRIqLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBWFkbWluIg1zYW5kYm94OndyaXRlEo8BChRMaXN0U2FuZGJveFByb3ZpZGVycxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSkwEKFUF0dGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFURldGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRldGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSmwEKGEdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTYW5kYm94EiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnEKC1N0b3BTYW5kYm94EiAub3BlbnNoZWxsLnYxLlN0b3BTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJzCgxTdGFydFNhbmRib3gSIS5vcGVuc2hlbGwudjEuU3RhcnRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKEAQoQQ3JlYXRlU3NoU2Vzc2lvbhIlLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBomLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJ9Cg1FeHBvc2VTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkV4cG9zZVNlcnZpY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdgoKR2V0U2VydmljZRIfLm9wZW5zaGVsbC52MS5HZXRTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSdwoMTGlzdFNlcnZpY2VzEiEub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuTGlzdFNlcnZpY2VzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnsKDURlbGV0ZVNlcnZpY2USIi5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlcXVlc3QaIy5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEFJldm9rZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdAoLRXhlY1NhbmRib3gSIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZTABEnEKCkZvcndhcmRUY3ASHS5vcGVuc2hlbGwudjEuVGNwRm9yd2FyZEZyYW1lGh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ/ChZFeGVjU2FuZGJveEludGVyYWN0aXZlEh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94SW5wdXQaHi5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFdmVudCIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ6Cg5DcmVhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5DcmVhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUScgoLR2V0UHJvdmlkZXISIC5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKDAQoWR2V0UHJvdmlkZXJDcmVkZW50aWFscxIrLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVzcG9uc2UiDoK1GAoKCG9wZXJhdG9yEnsKDUxpc3RQcm92aWRlcnMSIi5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyc1JlcXVlc3QaIy5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSkAEKFExpc3RQcm92aWRlclByb2ZpbGVzEikub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlclByb2ZpbGVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQShwEKEkdldFByb3ZpZGVyUHJvZmlsZRInLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclByb2ZpbGVSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSmAEKFkltcG9ydFByb3ZpZGVyUHJvZmlsZXMSKy5vcGVuc2hlbGwudjEuSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuSW1wb3J0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKYAQoWVXBkYXRlUHJvdmlkZXJQcm9maWxlcxIrLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpABChRMaW50UHJvdmlkZXJQcm9maWxlcxIpLm9wZW5zaGVsbC52MS5MaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGludFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEnoKDlVwZGF0ZVByb3ZpZGVyEiMub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKcAQoYR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzEi0ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QaLi5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKeAQoYQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoEi0ub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QaLi5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEp4BChhSb3RhdGVQcm92aWRlckNyZWRlbnRpYWwSLS5vcGVuc2hlbGwudjEuUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVxdWVzdBouLm9wZW5zaGVsbC52MS5Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSlQEKFURlbGV0ZVByb3ZpZGVyUmVmcmVzaBIqLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKAAQoORGVsZXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpUBChVEZWxldGVQcm92aWRlclByb2ZpbGUSKi5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclByb2ZpbGVSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSkAEKEEdldFNhbmRib3hDb25maWcSLS5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRTYW5kYm94Q29uZmlnUmVxdWVzdBouLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldFNhbmRib3hDb25maWdSZXNwb25zZSIdgrUYGQoEZHVhbBIEdXNlciILY29uZmlnOnJlYWQSjAEKEEdldEdhdGV3YXlDb25maWcSLS5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRHYXRld2F5Q29uZmlnUmVxdWVzdBouLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldEdhdGV3YXlDb25maWdSZXNwb25zZSIZgrUYFQoGYmVhcmVyIgtjb25maWc6cmVhZBJ2CgxVcGRhdGVDb25maWcSIS5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVxdWVzdBoiLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXNwb25zZSIfgrUYGwoEZHVhbBIFYWRtaW4iDGNvbmZpZzp3cml0ZRKVAQoWR2V0U2FuZGJveFBvbGljeVN0YXR1cxIrLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEowBChNMaXN0U2FuZGJveFBvbGljaWVzEigub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UG9saWNpZXNSZXF1ZXN0Gikub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UG9saWNpZXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSdgoSUmVwb3J0UG9saWN5U3RhdHVzEicub3BlbnNoZWxsLnYxLlJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QaKC5vcGVuc2hlbGwudjEuUmVwb3J0UG9saWN5U3RhdHVzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSfAoUUmVwb3J0RW5kcG9pbnRTdGF0dXMSKS5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gShQEKF1JlcG9ydFByb3ZpZGVyUmVhZGluZXNzEiwub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBotLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94Eo4BChpSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvbhIvLm9wZW5zaGVsbC52MS5SZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlcXVlc3QaMC5vcGVuc2hlbGwudjEuUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXNwb25zZSINgrUYCQoHc2FuZGJveBKXAQodR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnQSMi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0GjMub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSlAEKHEV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW4SMS5vcGVuc2hlbGwudjEuRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlcXVlc3QaMi5vcGVuc2hlbGwudjEuRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94En0KDkdldFNhbmRib3hMb2dzEiMub3BlbnNoZWxsLnYxLkdldFNhbmRib3hMb2dzUmVxdWVzdBokLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94TG9nc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJvCg9QdXNoU2FuZGJveExvZ3MSJC5vcGVuc2hlbGwudjEuUHVzaFNhbmRib3hMb2dzUmVxdWVzdBolLm9wZW5zaGVsbC52MS5QdXNoU2FuZGJveExvZ3NSZXNwb25zZSINgrUYCQoHc2FuZGJveCgBEmUKEUNvbm5lY3RTdXBlcnZpc29yEh8ub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JNZXNzYWdlGhwub3BlbnNoZWxsLnYxLkdhdGV3YXlNZXNzYWdlIg2CtRgJCgdzYW5kYm94KAEwARJ/ChVSZXBvcnRNYWluUHJvY2Vzc0V4aXQSKi5vcGVuc2hlbGwudjEuUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVxdWVzdBorLm9wZW5zaGVsbC52MS5SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSINgrUYCQoHc2FuZGJveBKFAQoXRmluYWxpemVNYWluUHJvY2Vzc0V4aXQSLC5vcGVuc2hlbGwudjEuRmluYWxpemVNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0Gi0ub3BlbnNoZWxsLnYxLkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSVAoLUmVsYXlTdHJlYW0SGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZRoYLm9wZW5zaGVsbC52MS5SZWxheUZyYW1lIg2CtRgJCgdzYW5kYm94KAEwARJXCglQZWVyUmVsYXkSHC5vcGVuc2hlbGwudjEuUGVlclJlbGF5RnJhbWUaHC5vcGVuc2hlbGwudjEuUGVlclJlbGF5RnJhbWUiCoK1GAYKBHBlZXIoATABEoYBChtQZWVyUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3MSLC5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXF1ZXN0Gi0ub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVzcG9uc2UiCoK1GAYKBHBlZXISfQoYUGVlclJlcG9ydEVuZHBvaW50U3RhdHVzEikub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1Jlc3BvbnNlIgqCtRgGCgRwZWVyEokBChxQZWVyR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzEi0ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1JlcXVlc3QaLi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVzcG9uc2UiCoK1GAYKBHBlZXISfwoWUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZRIrLm9wZW5zaGVsbC52MS5QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVxdWVzdBosLm9wZW5zaGVsbC52MS5QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVzcG9uc2UiCoK1GAYKBHBlZXISdwoMV2F0Y2hTYW5kYm94EiEub3BlbnNoZWxsLnYxLldhdGNoU2FuZGJveFJlcXVlc3QaIC5vcGVuc2hlbGwudjEuU2FuZGJveFN0cmVhbUV2ZW50IiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZDABEnwKFFN1Ym1pdFBvbGljeUFuYWx5c2lzEikub3BlbnNoZWxsLnYxLlN1Ym1pdFBvbGljeUFuYWx5c2lzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnoKDkdldERyYWZ0UG9saWN5EiMub3BlbnNoZWxsLnYxLkdldERyYWZ0UG9saWN5UmVxdWVzdBokLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlc3BvbnNlIh2CtRgZCgRkdWFsEgR1c2VyIgtjb25maWc6cmVhZBKHAQoRQXBwcm92ZURyYWZ0Q2h1bmsSJi5vcGVuc2hlbGwudjEuQXBwcm92ZURyYWZ0Q2h1bmtSZXF1ZXN0Gicub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKEAQoQUmVqZWN0RHJhZnRDaHVuaxIlLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVxdWVzdBomLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKTAQoVQXBwcm92ZUFsbERyYWZ0Q2h1bmtzEioub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5FZGl0RHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5FZGl0RHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn4KDlVuZG9EcmFmdENodW5rEiMub3BlbnNoZWxsLnYxLlVuZG9EcmFmdENodW5rUmVxdWVzdBokLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEENsZWFyRHJhZnRDaHVua3MSJS5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfwoPR2V0RHJhZnRIaXN0b3J5EiQub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2UiH4K1GBsKBmJlYXJlchIEdXNlciILY29uZmlnOnJlYWQScwoRSXNzdWVTYW5kYm94VG9rZW4SJi5vcGVuc2hlbGwudjEuSXNzdWVTYW5kYm94VG9rZW5SZXF1ZXN0Gicub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSeQoTUmVmcmVzaFNhbmRib3hUb2tlbhIoLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVxdWVzdBopLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSjQEKD0NyZWF0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSeQoMR2V0V29ya3NwYWNlEiEub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlcXVlc3QaIi5vcGVuc2hlbGwudjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSfwoOTGlzdFdvcmtzcGFjZXMSIy5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSjQEKD0RlbGV0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkRlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSjQEKEkFkZFdvcmtzcGFjZU1lbWJlchInLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLkFkZFdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSlgEKFVJlbW92ZVdvcmtzcGFjZU1lbWJlchIqLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLlJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSkQEKFExpc3RXb3Jrc3BhY2VNZW1iZXJzEikub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VNZW1iZXJzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkYgZwcm90bzM", [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("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCK3AgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzEhwKFGhvc3Rfa2V5X2ZpbmdlcnByaW50GAYgASgJElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIv4DCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkSOgoOcmVzdGFydF9wb2xpY3kYDyABKA4yIi5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3RhcnRQb2xpY3kaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAki7AUKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nEhUKDXJlc3RhcnRfY291bnQYDiABKA0SNQoRbmV4dF9yZXN0YXJ0X3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KGW1haW5fcHJvY2Vzc19zdGFydGVkX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkwKGGxhc3RfdG9rZW5fZ3JhbnRfZmFpbHVyZRgRIAEoCzIqLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50RmFpbHVyZU9ic2VydmF0aW9uQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIowDChRVcGRhdGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSEgoFaW1hZ2UYAyABKAlIAIgBARIzCgdjb21tYW5kGAYgASgLMiIub3BlbnNoZWxsLnYxLlNhbmRib3hDb21tYW5kVXBkYXRlEjMKC2Vudmlyb25tZW50GAcgASgLMh4ub3BlbnNoZWxsLnYxLlNhbmRib3hNYXBVcGRhdGUSLgoGbGFiZWxzGAggASgLMh4ub3BlbnNoZWxsLnYxLlNhbmRib3hNYXBVcGRhdGUSMwoLYW5ub3RhdGlvbnMYCSABKAsyHi5vcGVuc2hlbGwudjEuU2FuZGJveE1hcFVwZGF0ZRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAQgASgEEhIKCnJlcXVlc3RfaWQYBSABKAlCCAoGX2ltYWdlIiQKFFNhbmRib3hDb21tYW5kVXBkYXRlEgwKBGFyZ3YYASADKAkifQoQU2FuZGJveE1hcFVwZGF0ZRI6CgZ2YWx1ZXMYASADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveE1hcFVwZGF0ZS5WYWx1ZXNFbnRyeRotCgtWYWx1ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJImkKFVN1c3BlbmRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkiigEKFFJlc3VtZVNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRIgChhyZXN0YXJ0X2lmX3Jlc3RvcmVfZmFpbHMYAyABKAgiswEKD1NhbmRib3hSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSRAoMc2VydmljZV91cmxzGAIgAygLMi4ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZS5TZXJ2aWNlVXJsc0VudHJ5GjIKEFNlcnZpY2VVcmxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJaChVMaXN0U2FuZGJveGVzUmVzcG9uc2USKAoJc2FuZGJveGVzGAEgAygLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJImwKHExpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2USMwoJcHJvdmlkZXJzGAEgAygLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkikQEKHUF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlEiYKB3NhbmRib3gYASABKAsyFS5vcGVuc2hlbGwudjEuU2FuZGJveBIQCghhdHRhY2hlZBgCIAEoCBI2CgdyZWNlaXB0GAMgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25SZWNlaXB0IpEBCh1EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIZGV0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCLdAQoXUHJvdmlkZXJEZXNpcmVkSWRlbnRpdHkSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgdzYW5kYm94GAIgASgJEhgKEGF0dGFjaG1lbnRfZXBvY2gYAyABKAkSEwoLcHJvdmlkZXJfaWQYBCABKAkSIQoZcHJvdmlkZXJfcmVzb3VyY2VfdmVyc2lvbhgFIAEoBBIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBiABKAQSFwoPY29uZmlnX3JldmlzaW9uGAcgASgEEhMKC3BvbGljeV9oYXNoGAggASgJIsYBChZDb25maWdTbmFwc2hvdFJldmlzaW9uEj0KDnNhbmRib3hfY29uZmlnGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hDb25maWdSZXZpc2lvbkgAEh4KFHByb3ZpZGVyX2Vudmlyb25tZW50GAIgASgESAASQAoPcHJvdmlkZXJfdGFyZ2V0GAMgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5SABCCwoJY29tcG9uZW50Ir0BChVTYW5kYm94Q29uZmlnUmV2aXNpb24SFwoPY29uZmlnX3JldmlzaW9uGAEgASgEEhYKDnBvbGljeV92ZXJzaW9uGAIgASgNEjkKDXBvbGljeV9zb3VyY2UYAyABKA4yIi5vcGVuc2hlbGwuc2FuZGJveC52MS5Qb2xpY3lTb3VyY2USHQoVZ2xvYmFsX3BvbGljeV92ZXJzaW9uGAQgASgNEhkKEXNldHRpbmdzX3JldmlzaW9uGAUgASgEIpAEChVDb25maWdVcGRhdGVPcGVyYXRpb24SFAoMb3BlcmF0aW9uX2lkGAEgASgJEhIKCnNhbmRib3hfaWQYAiABKAkSMAoJY29tcG9uZW50GAMgASgOMh0ub3BlbnNoZWxsLnYxLkNvbmZpZ0NvbXBvbmVudBI9Cg90YXJnZXRfcmV2aXNpb24YBCABKAsyJC5vcGVuc2hlbGwudjEuQ29uZmlnU25hcHNob3RSZXZpc2lvbhI3CgVzdGF0ZRgFIAEoDjIoLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVPcGVyYXRpb25TdGF0ZRIxCgdvdXRjb21lGAYgASgOMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5T3V0Y29tZRIXCg9zYW5pdGl6ZWRfZXJyb3IYByABKAkSMAoMY3JlYXRlZF90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgx1cGRhdGVkX3RpbWUYbSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmNvbXBsZXRlZF90aW1lGG4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCUoECAkQCkoECAoQC1INY3JlYXRlZF9hdF9tc1INdXBkYXRlZF9hdF9tc1IPY29tcGxldGVkX2F0X21zIpwCChdQcm92aWRlck11dGF0aW9uUmVjZWlwdBISCgpyZWNlaXB0X2lkGAEgASgJEhMKC211dGF0aW9uX2lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhEKCXdvcmtzcGFjZRgEIAEoCRIwCgRraW5kGAUgASgOMiIub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25LaW5kEjYKB2Rlc2lyZWQYBiABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJEZXNpcmVkSWRlbnRpdHkSMgoOcGVyc2lzdGVkX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBxAIUg9wZXJzaXN0ZWRfYXRfbXMi2wIKHFByb3ZpZGVyUmVhZGluZXNzT2JzZXJ2YXRpb24SEgoKc2Vzc2lvbl9pZBgBIAEoCRIQCghzZXF1ZW5jZRgCIAEoBBIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgEIAEoBBIXCg9jb25maWdfcmV2aXNpb24YBSABKAQSEwoLcG9saWN5X2hhc2gYBiABKAkSHQoVY3JlZGVudGlhbHNfaW5zdGFsbGVkGAcgASgIEhUKDXBvbGljeV9hY3RpdmUYCCABKAgSJAocbGF1bmNoX2Vudmlyb25tZW50X2luc3RhbGxlZBgJIAEoCBIbChNwcm9jZXNzX2luc3RhbmNlX2lkGAogASgJEjUKBnJlYXNvbhgLIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbiLkAwoXUHJvdmlkZXJSZWFkaW5lc3NTdGF0dXMSNgoHcmVjZWlwdBgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdBIzCgVzdGF0ZRgCIAEoDjIkLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXRlEjUKBnJlYXNvbhgDIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhI8CghvYnNlcnZlZBgEIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhsKE25ldHdvcmtfaW5zdGFuY2VfaWQYBSABKAkSMQoNb2JzZXJ2ZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOZXZhbHVhdGVkX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKCW9wZXJhdGlvbhgIIAEoCzIjLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVPcGVyYXRpb25KBAgGEAdKBAgHEAhSDm9ic2VydmVkX2F0X21zUg9ldmFsdWF0ZWRfYXRfbXMinAEKH0dldFNhbmRib3hQcm92aWRlclN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhIKCnJlY2VpcHRfaWQYAyABKAkiWQogR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVzcG9uc2USNQoGc3RhdHVzGAEgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzU3RhdHVzInUKHlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEj8KC29ic2VydmF0aW9uGAIgASgLMioub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzT2JzZXJ2YXRpb24i4gEKH1JlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVzcG9uc2USGQoRYWNjZXB0ZWRfc2VxdWVuY2UYASABKAQSMgoPcmVwb3J0X2ludGVydmFsGGYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjIKD29ic2VydmF0aW9uX3R0bBhnIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkoECAIQA0oECAMQBFIXcmVwb3J0X2ludGVydmFsX3NlY29uZHNSF29ic2VydmF0aW9uX3R0bF9zZWNvbmRzImoKFURlbGV0ZVNhbmRib3hSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZRISCgpzYW5kYm94X2lkGAMgASgJSgQIARACUgdkZWxldGVkIm4KF0NyZWF0ZVNzaFNlc3Npb25SZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCSLvAQoYQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlEhIKCnNhbmRib3hfaWQYASABKAkSEwoFdG9rZW4YAiABKAlCBIi1GAESFAoMZ2F0ZXdheV9ob3N0GAMgASgJEhQKDGdhdGV3YXlfcG9ydBgEIAEoDRIWCg5nYXRld2F5X3NjaGVtZRgFIAEoCRIcChRob3N0X2tleV9maW5nZXJwcmludBgHIAEoCRIzCg9leHBpcmF0aW9uX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQICBAJUg1leHBpcmVzX2F0X21zIvYBChRFeHBvc2VTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBSABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSEwoLdGFyZ2V0X3BvcnQYAyABKA0SDgoGZG9tYWluGAQgASgIEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgGIAEoCRJCChJhdXRob3JpemF0aW9uX21vZGUYByABKA4yJi5vcGVuc2hlbGwudjEuU2VydmljZUF1dGhvcml6YXRpb25Nb2RlInYKEUdldFNlcnZpY2VSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIPCgdzYW5kYm94GAEgASgJIpEBChNMaXN0U2VydmljZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkSDwoHc2FuZGJveBgBIAEoCSJoChRMaXN0U2VydmljZXNSZXNwb25zZRI3CghzZXJ2aWNlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkipAEKFERlbGV0ZVNlcnZpY2VSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIPCgdzYW5kYm94GAEgASgJEhUKDWFsbG93X21pc3NpbmcYBCABKAgSEgoKcmVxdWVzdF9pZBgFIAEoCSJWChVEZWxldGVTZXJ2aWNlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQi4wEKD1NlcnZpY2VFbmRwb2ludBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEg8KB3NhbmRib3gYAyABKAkSDAoEbmFtZRgEIAEoCRITCgt0YXJnZXRfcG9ydBgFIAEoDRIOCgZkb21haW4YBiABKAgSQgoSYXV0aG9yaXphdGlvbl9tb2RlGAcgASgOMiYub3BlbnNoZWxsLnYxLlNlcnZpY2VBdXRob3JpemF0aW9uTW9kZSJXChdTZXJ2aWNlRW5kcG9pbnRSZXNwb25zZRIvCghlbmRwb2ludBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnQSCwoDdXJsGAIgASgJIkUKF1Jldm9rZVNzaFNlc3Npb25SZXF1ZXN0EhMKBXRva2VuGAEgASgJQgSItRgBEhUKDWFsbG93X21pc3NpbmcYAiABKAgiWQoYUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdyZXZva2VkIrgDChJFeGVjU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAwgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEg8KB2NvbW1hbmQYAiADKAkSDwoHd29ya2RpchgDIAEoCRJGCgtlbnZpcm9ubWVudBgEIAMoCzIxLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFJlcXVlc3QuRW52aXJvbm1lbnRFbnRyeRI0ChFleGVjdXRpb25fdGltZW91dBhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhINCgVzdGRpbhgGIAEoDBILCgN0dHkYByABKAgSDAoEY29scxgIIAEoDRIMCgRyb3dzGAkgASgNEhYKDm5vX2xvZ2luX3NoZWxsGAogASgIEhIKCnJlcXVlc3RfaWQYCyABKAkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBRAGUg90aW1lb3V0X3NlY29uZHMiIQoRRXhlY1NhbmRib3hTdGRvdXQSDAoEZGF0YRgBIAEoDCIhChFFeGVjU2FuZGJveFN0ZGVychIMCgRkYXRhGAEgASgMIiQKD0V4ZWNTYW5kYm94RXhpdBIRCglleGl0X2NvZGUYASABKAUisgEKEEV4ZWNTYW5kYm94RXZlbnQSMQoGc3Rkb3V0GAEgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3Rkb3V0SAASMQoGc3RkZXJyGAIgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3RkZXJySAASLQoEZXhpdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV4aXRIAEIJCgdwYXlsb2FkIs8BCg5UY3BGb3J3YXJkSW5pdBIPCgdzYW5kYm94GAEgASgJEhEKCXdvcmtzcGFjZRgDIAEoCRISCgpzZXJ2aWNlX2lkGAQgASgJEisKA3NzaBgFIAEoCzIcLm9wZW5zaGVsbC52MS5Tc2hSZWxheVRhcmdldEgAEisKA3RjcBgGIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BSZWxheVRhcmdldEgAEiEKE2F1dGhvcml6YXRpb25fdG9rZW4YByABKAlCBIi1GAFCCAoGdGFyZ2V0IloKD1RjcEZvcndhcmRGcmFtZRIsCgRpbml0GAEgASgLMhwub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQimgEKEEV4ZWNTYW5kYm94SW5wdXQSMQoFc3RhcnQYASABKAsyIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0SAASDwoFc3RkaW4YAiABKAxIABI3CgZyZXNpemUYAyABKAsyJS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hXaW5kb3dSZXNpemVIAEIJCgdwYXlsb2FkIjUKF0V4ZWNTYW5kYm94V2luZG93UmVzaXplEgwKBGNvbHMYASABKA0SDAoEcm93cxgCIAEoDSLGAQoKU3NoU2Vzc2lvbhI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEhMKBXRva2VuGAMgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHcmV2b2tlZBgFIAEoCEoECAQQBVINZXhwaXJlc19hdF9tcyKAAwoTV2F0Y2hTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYCyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSFQoNZm9sbG93X3N0YXR1cxgCIAEoCBITCgtmb2xsb3dfbG9ncxgDIAEoCBIVCg1mb2xsb3dfZXZlbnRzGAQgASgIEhYKDmxvZ190YWlsX2xpbmVzGAUgASgNEhIKCmV2ZW50X3RhaWwYBiABKA0SGAoQc3RvcF9vbl90ZXJtaW5hbBgHIAEoCBIuCgpzaW5jZV90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtsb2dfc291cmNlcxgJIAMoCRIVCg1sb2dfbWluX2xldmVsGAogASgJEhsKE3Jlc3VtZV9hZnRlcl9jdXJzb3IYDCABKAlKBAgIEAlSDGxvZ19zaW5jZV9tcyKrAgoSU2FuZGJveFN0cmVhbUV2ZW50EigKB3NhbmRib3gYASABKAsyFS5vcGVuc2hlbGwudjEuU2FuZGJveEgAEisKA2xvZxgCIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZUgAEiwKBWV2ZW50GAMgASgLMhsub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnRIABI1Cgd3YXJuaW5nGAQgASgLMiIub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1XYXJuaW5nSAASPgoTZHJhZnRfcG9saWN5X3VwZGF0ZRgFIAEoCzIfLm9wZW5zaGVsbC52MS5EcmFmdFBvbGljeVVwZGF0ZUgAEg4KBmN1cnNvchgGIAEoCUIJCgdwYXlsb2FkIpECCg5TYW5kYm94TG9nTGluZRISCgpzYW5kYm94X2lkGAEgASgJEi4KCmV2ZW50X3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWxldmVsGAMgASgJEg4KBnRhcmdldBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEg4KBnNvdXJjZRgGIAEoCRI4CgZmaWVsZHMYByADKAsyKC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAIQA1IMdGltZXN0YW1wX21zIicKFFNhbmRib3hTdHJlYW1XYXJuaW5nEg8KB21lc3NhZ2UYASABKAkiowEKFUNyZWF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchISCgpyZXF1ZXN0X2lkGAMgASgJImYKEkdldFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkiyQEKHUdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIXCg9jcmVkZW50aWFsX2tleXMYAyADKAkSPQoabWluaW11bV9yZW1haW5pbmdfbGlmZXRpbWUYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24iYwoXUHJvdmlkZXJDcmVkZW50aWFsVmFsdWUSEwoFdmFsdWUYASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLPAQoeR2V0UHJvdmlkZXJDcmVkZW50aWFsc1Jlc3BvbnNlElIKC2NyZWRlbnRpYWxzGAEgAygLMj0ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXNwb25zZS5DcmVkZW50aWFsc0VudHJ5GlkKEENyZWRlbnRpYWxzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFZhbHVlOgI4ASKZAQoUTGlzdFByb3ZpZGVyc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCRIWCg5sYWJlbF9zZWxlY3RvchgEIAEoCSK0AwoVVXBkYXRlUHJvdmlkZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISMgoIcHJvdmlkZXIYASABKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEmcKG2NyZWRlbnRpYWxfZXhwaXJhdGlvbl90aW1lcxhmIAMoCzJCLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclJlcXVlc3QuQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EigKIGNsZWFyX2NyZWRlbnRpYWxfZXhwaXJhdGlvbl9rZXlzGGcgAygJEhIKCnJlcXVlc3RfaWQYBCABKAkaXAoeQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6AjgBSgQIAhADUhhjcmVkZW50aWFsX2V4cGlyZXNfYXRfbXMilAEKFURlbGV0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgEIAEoCBISCgpyZXF1ZXN0X2lkGAUgASgJIpsBChBQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchI+Cg90YXJnZXRfcmVjZWlwdHMYAiADKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEwoLbXV0YXRpb25faWQYAyABKAkiZQoVTGlzdFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIogBChtMaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCSJrChlHZXRQcm92aWRlclByb2ZpbGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISCgoCaWQYASABKAkiWwoZUHJvdmlkZXJQcm9maWxlSW1wb3J0SXRlbRIuCgdwcm9maWxlGAEgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIOCgZzb3VyY2UYAiABKAkicQoZUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIOCgZzb3VyY2UYASABKAkSEgoKcHJvZmlsZV9pZBgCIAEoCRINCgVmaWVsZBgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEhAKCHNldmVyaXR5GAUgASgJInoKLFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRBdWRpZW5jZU92ZXJyaWRlEgwKBGhvc3QYASABKAkSDAoEcG9ydBgCIAEoDRIMCgRwYXRoGAMgASgJEhAKCGF1ZGllbmNlGAQgASgJEg4KBnNjb3BlcxgFIAMoCSJqCihQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50U3ViamVjdFRva2VuEg4KBnNvdXJjZRgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJEhoKEnN1YmplY3RfdG9rZW5fdHlwZRgDIAEoCSLiAwocUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudBIWCg50b2tlbl9lbmRwb2ludBgBIAEoCRIQCghhdWRpZW5jZRgCIAEoCRIZChFqd3Rfc3ZpZF9hdWRpZW5jZRgGIAEoCRIOCgZzY29wZXMYAyADKAkSLAoJY2FjaGVfdHRsGGggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uElYKEmF1ZGllbmNlX292ZXJyaWRlcxgFIAMoCzI6Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50QXVkaWVuY2VPdmVycmlkZRIdChVjbGllbnRfYXNzZXJ0aW9uX3R5cGUYByABKAkSQgoKZ3JhbnRfdHlwZRgIIAEoDjIuLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50VHlwZRJNCg1zdWJqZWN0X3Rva2VuGAkgASgLMjYub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRTdWJqZWN0VG9rZW4SHAoUcmVxdWVzdGVkX3Rva2VuX3R5cGUYCiABKAlKBAgEEAVSEWNhY2hlX3R0bF9zZWNvbmRzIuoCChlQcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIZW52X3ZhcnMYAyADKAkSEAoIcmVxdWlyZWQYBCABKAgSEgoKYXV0aF9zdHlsZRgFIAEoCRITCgtoZWFkZXJfbmFtZRgGIAEoCRITCgtxdWVyeV9wYXJhbRgHIAEoCRI4CgdyZWZyZXNoGAggASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2gSFQoNcGF0aF90ZW1wbGF0ZRgJIAEoCRI/Cgt0b2tlbl9ncmFudBgKIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50EhoKEnRva2VuX2dyYW50X293bmVycxgLIAMoCRIaChJzdGFibGVfcGxhY2Vob2xkZXIYDCABKAgiaAohUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE1hdGVyaWFsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgSDgoGc2VjcmV0GAQgASgIIkUKH1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hPdXRwdXQSDgoGb3V0cHV0GAEgASgJEhIKCmNyZWRlbnRpYWwYAiABKAkirQMKGVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2gSQQoIc3RyYXRlZ3kYASABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5EhEKCXRva2VuX3VybBgCIAEoCRIOCgZzY29wZXMYAyADKAkSMQoOcmVmcmVzaF9iZWZvcmUYaCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLwoMbWF4X2xpZmV0aW1lGGkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEkEKCG1hdGVyaWFsGAYgAygLMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBJJChJhZGRpdGlvbmFsX291dHB1dHMYByADKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE91dHB1dEoECAQQBUoECAUQBlIWcmVmcmVzaF9iZWZvcmVfc2Vjb25kc1IUbWF4X2xpZmV0aW1lX3NlY29uZHMihgUKH1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMSEAoIcHJvdmlkZXIYASABKAkSEwoLcHJvdmlkZXJfaWQYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSQQoIc3RyYXRlZ3kYBCABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5Eg4KBnN0YXR1cxgFIAEoCRIzCg9leHBpcmF0aW9uX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKEW5leHRfcmVmcmVzaF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChFsYXN0X3JlZnJlc2hfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKbGFzdF9lcnJvchgJIAEoCRJOCg9yZWNvdmVyeV9hY3Rpb24YCiABKA4yNS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFJlY292ZXJ5QWN0aW9uEhQKDGZhaWx1cmVfY29kZRgLIAEoCRIeChZwcm92aWRlcl9lcnJvcl9zdWJ0eXBlGAwgASgJEjMKD2xhc3RfZXJyb3JfdGltZRhxIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgGEAdKBAgHEAhKBAgIEAlKBAgNEA5SDWV4cGlyZXNfYXRfbXNSEm5leHRfcmVmcmVzaF9hdF9tc1ISbGFzdF9yZWZyZXNoX2F0X21zUhBsYXN0X2Vycm9yX2F0X21zIi8KGFByb3ZpZGVyUHJvZmlsZURpc2NvdmVyeRITCgtjcmVkZW50aWFscxgBIAMoCSKPAQofR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJImYKIEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlEkIKC2NyZWRlbnRpYWxzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMi1AMKH0NvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCRJBCghzdHJhdGVneRgDIAEoDjIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSUwoIbWF0ZXJpYWwYBCADKAsyOy5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdC5NYXRlcmlhbEVudHJ5QgSItRgBEhwKFHNlY3JldF9tYXRlcmlhbF9rZXlzGAUgAygJEjMKD2V4cGlyYXRpb25fdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcmVxdWVzdF9pZBgIIAEoCRovCg1NYXRlcmlhbEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgGEAdSDWV4cGlyZXNfYXRfbXMiYQogQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2USPQoGc3RhdHVzGAEgASgLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMiowEKH1JvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCRISCgpyZXF1ZXN0X2lkGAQgASgJImEKIFJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlc3BvbnNlEj0KBnN0YXR1cxgBIAEoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzIrcBChxEZWxldGVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSFQoNYWxsb3dfbWlzc2luZxgFIAEoCBISCgpyZXF1ZXN0X2lkGAYgASgJIl4KHURlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIuoECg9Qcm92aWRlclByb2ZpbGUSCgoCaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjcKCGNhdGVnb3J5GAQgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNhdGVnb3J5EjwKC2NyZWRlbnRpYWxzGAUgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNyZWRlbnRpYWwSOAoJZW5kcG9pbnRzGAYgAygLMiUub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0VuZHBvaW50EjUKCGJpbmFyaWVzGAcgAygLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0JpbmFyeRIZChFpbmZlcmVuY2VfY2FwYWJsZRgIIAEoCBI5CglkaXNjb3ZlcnkYCSABKAsyJi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlzY292ZXJ5EhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAQSQwoLYW5ub3RhdGlvbnMYCyADKAsyLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlLkFubm90YXRpb25zRW50cnkSDgoGc291cmNlGAwgASgJEg0KBXNjb3BlGA0gASgJEjAKBWZpbGVzGA4gAygLMiEub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUZpbGUaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkUKE1Byb3ZpZGVyUHJvZmlsZUZpbGUSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgJEg8KB2Vudl92YXIYAyABKAkiSQoXUHJvdmlkZXJQcm9maWxlUmVzcG9uc2USLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUiaAocTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRIvCghwcm9maWxlcxgBIAMoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIrIBCh1JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjkKCHByb2ZpbGVzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SEgoKcmVxdWVzdF9pZBgDIAEoCSKhAQoeSW1wb3J0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlEjwKC2RpYWdub3N0aWNzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSLwoIcHJvZmlsZXMYAiADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhAKCGltcG9ydGVkGAMgASgIIuABCh1VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjgKB3Byb2ZpbGUYASABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlSW1wb3J0SXRlbRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgEEgoKAmlkGAMgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkinwEKHlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi4KB3Byb2ZpbGUYAiABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEg8KB3VwZGF0ZWQYAyABKAginAEKG0xpbnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjkKCHByb2ZpbGVzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0ikAEKHExpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxINCgV2YWxpZBgCIAEoCBIjChtzdXBwb3J0c19zdGFibGVfcGxhY2Vob2xkZXIYAyABKAgiVwoWRGVsZXRlUHJvdmlkZXJSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKZAQocRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgoKAmlkGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJeCh1EZWxldGVQcm92aWRlclByb2ZpbGVSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKdAQokR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSKwojc3VwcG9ydHNfc3RhdGljX2NyZWRlbnRpYWxfYmluZGluZ3MYAiABKAgSNAosc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYAyABKAgiSwofU3RhdGljQ3JlZGVudGlhbEVuZHBvaW50QmluZGluZxIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCSKcAQoXU3RhdGljQ3JlZGVudGlhbEJpbmRpbmcSQAoJZW5kcG9pbnRzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSGwoTY3JlZGVudGlhbF9pZGVudGl0eRgCIAEoCRIiChp3b3JrbG9hZF9jcmVkZW50aWFsX2hhbmRsZRgDIAEoCSL9CQolR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZRJfCgtlbnZpcm9ubWVudBgBIAMoCzJELm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkVudmlyb25tZW50RW50cnlCBIi1GAESHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAIgASgEEncKG2NyZWRlbnRpYWxfZXhwaXJhdGlvbl90aW1lcxhnIAMoCzJSLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRJoChNkeW5hbWljX2NyZWRlbnRpYWxzGAQgAygLMksub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuRHluYW1pY0NyZWRlbnRpYWxzRW50cnkSdQoac3RhdGljX2NyZWRlbnRpYWxfYmluZGluZ3MYBSADKAsyUS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5TdGF0aWNDcmVkZW50aWFsQmluZGluZ3NFbnRyeRIjChtub25fc2VjcmV0X2Vudmlyb25tZW50X2tleXMYBiADKAkSIQoZcHJvdmlkZXJfYXR0YWNobWVudF9lcG9jaBgHIAEoCRITCgtwb2xpY3lfaGFzaBgIIAEoCRI/ChByZWFkaW5lc3NfcmVhc29uGAkgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzUmVhc29uEk0KBWZpbGVzGAogAygLMj4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuRmlsZXNFbnRyeRIrCiNzdGFibGVfcGxhY2Vob2xkZXJfZW52aXJvbm1lbnRfa2V5cxgLIAMoCRI0CixzdXBwb3J0c19zdGFibGVfcGxhY2Vob2xkZXJfZW52aXJvbm1lbnRfa2V5cxgMIAEoCBoyChBFbnZpcm9ubWVudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaXAoeQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6AjgBGmIKF0R5bmFtaWNDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsOgI4ARpmCh1TdGF0aWNDcmVkZW50aWFsQmluZGluZ3NFbnRyeRILCgNrZXkYASABKAkSNAoFdmFsdWUYAiABKAsyJS5vcGVuc2hlbGwudjEuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmc6AjgBGiwKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAMQBFIYY3JlZGVudGlhbF9leHBpcmVzX2F0X21zIqYCChhQcm92aWRlckVudmlyb25tZW50VmFsdWUSDAoEbmFtZRgBIAEoCRITCgV2YWx1ZRgCIAEoCUIEiLUYARJMCg5jbGFzc2lmaWNhdGlvbhgEIAEoDjI0Lm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50VmFsdWVDbGFzc2lmaWNhdGlvbhJIChlzdGF0aWNfY3JlZGVudGlhbF9iaW5kaW5nGAUgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEjMKD2V4cGlyYXRpb25fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSc3RhYmxlX3BsYWNlaG9sZGVyGAYgASgIIqQEChtQcm92aWRlckVudmlyb25tZW50U25hcHNob3QSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAEgASgEEjYKBnZhbHVlcxgCIAMoCzImLm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50VmFsdWUSXgoTZHluYW1pY19jcmVkZW50aWFscxgDIAMoCzJBLm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50U25hcHNob3QuRHluYW1pY0NyZWRlbnRpYWxzRW50cnkSIQoZcHJvdmlkZXJfYXR0YWNobWVudF9lcG9jaBgEIAEoCRITCgtwb2xpY3lfaGFzaBgFIAEoCRI/ChByZWFkaW5lc3NfcmVhc29uGAYgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzUmVhc29uEkMKBWZpbGVzGAcgAygLMjQub3BlbnNoZWxsLnYxLlByb3ZpZGVyRW52aXJvbm1lbnRTbmFwc2hvdC5GaWxlc0VudHJ5GmIKF0R5bmFtaWNDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsOgI4ARosCgpGaWxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEihgEKI0V4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSIQoTc3VwZXJ2aXNvcl9qd3Rfc3ZpZBgEIAEoCUIEiLUYASKaAQokRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlc3BvbnNlEhoKDGFjY2Vzc190b2tlbhgBIAEoCUIEiLUYARIwCg1leHBpcmVzX2FmdGVyGGYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhIKCnRva2VuX3R5cGUYAyABKAlKBAgCEANSCmV4cGlyZXNfaW4iiQQKE1VwZGF0ZUNvbmZpZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAogASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIzCgZwb2xpY3kYAiABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EhMKC3NldHRpbmdfa2V5GAMgASgJEjkKDXNldHRpbmdfdmFsdWUYBCABKAsyIi5vcGVuc2hlbGwuc2FuZGJveC52MS5TZXR0aW5nVmFsdWUSFgoOZGVsZXRlX3NldHRpbmcYBSABKAgSDgoGZ2xvYmFsGAYgASgIEjwKEG1lcmdlX29wZXJhdGlvbnMYByADKAsyIi5vcGVuc2hlbGwudjEuUG9saWN5TWVyZ2VPcGVyYXRpb24SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgIIAEoBBJHCgthbm5vdGF0aW9ucxgJIAMoCzIyLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL3AgoUUG9saWN5TWVyZ2VPcGVyYXRpb24SMAoIYWRkX3J1bGUYASABKAsyHC5vcGVuc2hlbGwudjEuQWRkTmV0d29ya1J1bGVIABI+Cg9yZW1vdmVfZW5kcG9pbnQYAiABKAsyIy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0VuZHBvaW50SAASNgoLcmVtb3ZlX3J1bGUYAyABKAsyHy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya1J1bGVIABI0Cg5hZGRfZGVueV9ydWxlcxgEIAEoCzIaLm9wZW5zaGVsbC52MS5BZGREZW55UnVsZXNIABI2Cg9hZGRfYWxsb3dfcnVsZXMYBSABKAsyGy5vcGVuc2hlbGwudjEuQWRkQWxsb3dSdWxlc0gAEjoKDXJlbW92ZV9iaW5hcnkYBiABKAsyIS5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0JpbmFyeUgAQgsKCW9wZXJhdGlvbiJaCg5BZGROZXR3b3JrUnVsZRIRCglydWxlX25hbWUYASABKAkSNQoEcnVsZRgCIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlIkYKFVJlbW92ZU5ldHdvcmtFbmRwb2ludBIRCglydWxlX25hbWUYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNIiYKEVJlbW92ZU5ldHdvcmtSdWxlEhEKCXJ1bGVfbmFtZRgBIAEoCSKlAQoMTDdSdWxlVGFyZ2V0EhEKCXJ1bGVfbmFtZRgBIAEoCRIMCgRob3N0GAIgASgJEg0KBXBvcnRzGAMgAygNEhEKBHBhdGgYBCABKAlIAIgBARI1CghiaW5hcmllcxgFIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSEgoKYW55X2JpbmFyeRgGIAEoCEIHCgVfcGF0aCKIAQoMQWRkRGVueVJ1bGVzEjQKCmRlbnlfcnVsZXMYAyADKAsyIC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN0RlbnlSdWxlEioKBnRhcmdldBgEIAEoCzIaLm9wZW5zaGVsbC52MS5MN1J1bGVUYXJnZXRKBAgBEAJKBAgCEANSBGhvc3RSBHBvcnQigAEKDUFkZEFsbG93UnVsZXMSKwoFcnVsZXMYAyADKAsyHC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN1J1bGUSKgoGdGFyZ2V0GAQgASgLMhoub3BlbnNoZWxsLnYxLkw3UnVsZVRhcmdldEoECAEQAkoECAIQA1IEaG9zdFIEcG9ydCI9ChNSZW1vdmVOZXR3b3JrQmluYXJ5EhEKCXJ1bGVfbmFtZRgBIAEoCRITCgtiaW5hcnlfcGF0aBgCIAEoCSLmAQoUVXBkYXRlQ29uZmlnUmVzcG9uc2USDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIZChFzZXR0aW5nc19yZXZpc2lvbhgDIAEoBBIPCgdkZWxldGVkGAQgASgIEkgKC2Fubm90YXRpb25zGAUgAygLMjMub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1Jlc3BvbnNlLkFubm90YXRpb25zRW50cnkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpUBCh1HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3ZlcnNpb24YAiABKA0SDgoGZ2xvYmFsGAMgASgIEg8KB3NhbmRib3gYASABKAkibwoeR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlEjUKCHJldmlzaW9uGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIWCg5hY3RpdmVfdmVyc2lvbhgCIAEoDSKoAQoaTGlzdFNhbmRib3hQb2xpY2llc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCRIOCgZnbG9iYWwYBCABKAgSDwoHc2FuZGJveBgBIAEoCSJuChtMaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2USNgoJcmV2aXNpb25zGAEgAygLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkigAEKGVJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgd2ZXJzaW9uGAIgASgNEioKBnN0YXR1cxgDIAEoDjIaLm9wZW5zaGVsbC52MS5Qb2xpY3lTdGF0dXMSEgoKbG9hZF9lcnJvchgEIAEoCSIcChpSZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSLiAQodU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SEwoLaW5zdGFuY2VfaWQYASABKAkSOAoFc3RhdGUYAiABKA4yKS5vcGVuc2hlbGwudjEuQ29uZmlndXJhdGlvbkFkbWlzc2lvblN0YXRlEhYKDnBvbGljeV92ZXJzaW9uGAMgASgNEhMKC3BvbGljeV9oYXNoGAQgASgJEhcKD2NvbmZpZ19yZXZpc2lvbhgFIAEoBBIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBiABKAQSDQoFZXJyb3IYByABKAkilQEKIVJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEj4KCWFkbWlzc2lvbhgCIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIcChRleHBlY3RlZF9pbnN0YW5jZV9pZBgDIAEoCSIkCiJSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlc3BvbnNlIroDChVTYW5kYm94UG9saWN5UmV2aXNpb24SDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIqCgZzdGF0dXMYAyABKA4yGi5vcGVuc2hlbGwudjEuUG9saWN5U3RhdHVzEhIKCmxvYWRfZXJyb3IYBCABKAkSMAoMY3JlYXRlZF90aW1lGGkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtsb2FkZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRJHCgpwcm92ZW5hbmNlGAggAygLMjMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbi5Qcm92ZW5hbmNlRW50cnkaMQoPUHJvdmVuYW5jZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgFEAZKBAgGEAdSDWNyZWF0ZWRfYXRfbXNSDGxvYWRlZF9hdF9tcyLfAQoVR2V0U2FuZGJveExvZ3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRINCgVsaW5lcxgCIAEoDRIuCgpzaW5jZV90aW1lGGcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdzb3VyY2VzGAQgAygJEhEKCW1pbl9sZXZlbBgFIAEoCUoECAMQBFIIc2luY2VfbXMiWAoWUHVzaFNhbmRib3hMb2dzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEioKBGxvZ3MYAiADKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUiGQoXUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiWgoWR2V0U2FuZGJveExvZ3NSZXNwb25zZRIqCgRsb2dzGAEgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lEhQKDGJ1ZmZlcl90b3RhbBgCIAEoDSK1AgoRU3VwZXJ2aXNvck1lc3NhZ2USLgoFaGVsbG8YASABKAsyHS5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvckhlbGxvSAASNgoJaGVhcnRiZWF0GAIgASgLMiEub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWFydGJlYXRIABI6ChFyZWxheV9vcGVuX3Jlc3VsdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5SZWxheU9wZW5SZXN1bHRIABIvCgtyZWxheV9jbG9zZRgEIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSAASQAoUY29uZmlnX3VwZGF0ZV9yZXN1bHQYBSABKAsyIC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlUmVzdWx0SABCCQoHcGF5bG9hZCKWAwoOR2F0ZXdheU1lc3NhZ2USOQoQc2Vzc2lvbl9hY2NlcHRlZBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uQWNjZXB0ZWRIABI5ChBzZXNzaW9uX3JlamVjdGVkGAIgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25SZWplY3RlZEgAEjMKCWhlYXJ0YmVhdBgDIAEoCzIeLm9wZW5zaGVsbC52MS5HYXRld2F5SGVhcnRiZWF0SAASLQoKcmVsYXlfb3BlbhgEIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheU9wZW5IABIvCgtyZWxheV9jbG9zZRgFIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSAASOQoQc2Vzc2lvbl9yZWRpcmVjdBgGIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uUmVkaXJlY3RIABIzCg1jb25maWdfdXBkYXRlGAcgASgLMhoub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZUgAQgkKB3BheWxvYWQizgEKD1N1cGVydmlzb3JIZWxsbxISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhgKEGNvbm5lY3Rpb25fZXBvY2gYAyABKAQSIwobc3VwcG9ydHNfcHJvdmlkZXJfcmVhZGluZXNzGAQgASgIEhIKCnJlZGlyZWN0ZWQYBSABKAgSIQoZc3VwcG9ydHNfc2Vzc2lvbl9yZWRpcmVjdBgGIAEoCBIcChRzdXBwb3J0c19jb25maWdfcHVzaBgHIAEoCCLHAQoPU2Vzc2lvbkFjY2VwdGVkEhIKCnNlc3Npb25faWQYASABKAkSLQoJYm9vdHN0cmFwGAMgASgLMhoub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZRIbChNjb25maWdfcHVzaF9lbmFibGVkGAQgASgIEjUKEmhlYXJ0YmVhdF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkoECAIQA1IXaGVhcnRiZWF0X2ludGVydmFsX3NlY3MirwEKDENvbmZpZ1VwZGF0ZRIRCgl1cGRhdGVfaWQYASABKAkSQwoOc2FuZGJveF9jb25maWcYAiABKAsyKy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94Q29uZmlnU25hcHNob3QSRwoUcHJvdmlkZXJfZW52aXJvbm1lbnQYAyABKAsyKS5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90IkYKEkNvbmZpZ0FwcGx5RmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJcmV0cnlhYmxlGAMgASgIIoICChJDb25maWdVcGRhdGVSZXN1bHQSEQoJdXBkYXRlX2lkGAEgASgJEjEKB291dGNvbWUYAiABKA4yIC5vcGVuc2hlbGwudjEuQ29uZmlnQXBwbHlPdXRjb21lEjEKB2ZhaWx1cmUYAyABKAsyIC5vcGVuc2hlbGwudjEuQ29uZmlnQXBwbHlGYWlsdXJlEj4KCWFkbWlzc2lvbhgEIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIzCgtwb2xpY3lfbG9hZBgFIAEoCzIeLm9wZW5zaGVsbC52MS5Qb2xpY3lMb2FkUmVzdWx0IkIKEFBvbGljeUxvYWRSZXN1bHQSDwoHdmVyc2lvbhgBIAEoDRIOCgZsb2FkZWQYAiABKAgSDQoFZXJyb3IYAyABKAkiIQoPU2Vzc2lvblJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJCCg9TZXNzaW9uUmVkaXJlY3QSFQoNcGVlcl9lbmRwb2ludBgBIAEoCRIYChBvd25lcl9yZXBsaWNhX2lkGAIgASgJIhUKE1N1cGVydmlzb3JIZWFydGJlYXQiEgoQR2F0ZXdheUhlYXJ0YmVhdCJaChxSZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLaW5zdGFuY2VfaWQYAiABKAkSEQoJZXhpdF9jb2RlGAMgASgFIh8KHVJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIkkKHkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJIiEKH0ZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVzcG9uc2UilwEKCVJlbGF5T3BlbhISCgpjaGFubmVsX2lkGAEgASgJEisKA3NzaBgCIAEoCzIcLm9wZW5zaGVsbC52MS5Tc2hSZWxheVRhcmdldEgAEisKA3RjcBgDIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BSZWxheVRhcmdldEgAEhIKCnNlcnZpY2VfaWQYBSABKAlCCAoGdGFyZ2V0IhAKDlNzaFJlbGF5VGFyZ2V0IiwKDlRjcFJlbGF5VGFyZ2V0EgwKBGhvc3QYASABKAkSDAoEcG9ydBgCIAEoDSIfCglSZWxheUluaXQSEgoKY2hhbm5lbF9pZBgBIAEoCSJQCgpSZWxheUZyYW1lEicKBGluaXQYASABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQibgoNUGVlclJlbGF5SW5pdBISCgpzYW5kYm94X2lkGAEgASgJEisKCnJlbGF5X29wZW4YAiABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlPcGVuEhwKFHJlcXVlc3Rlcl9yZXBsaWNhX2lkGAMgASgJIlgKDlBlZXJSZWxheUZyYW1lEisKBGluaXQYASABKAsyGy5vcGVuc2hlbGwudjEuUGVlclJlbGF5SW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIkEKF1BlZXJDb25maWdTYW5kYm94VGFyZ2V0EhIKCnNhbmRib3hfaWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCSI7ChhQZWVyQ29uZmlnUHJvdmlkZXJUYXJnZXQSEQoJd29ya3NwYWNlGAEgASgJEgwKBG5hbWUYAiABKAkizAEKHVBlZXJOb3RpZnlDb25maWdVcGRhdGVSZXF1ZXN0EjgKB3NhbmRib3gYASABKAsyJS5vcGVuc2hlbGwudjEuUGVlckNvbmZpZ1NhbmRib3hUYXJnZXRIABITCgl3b3Jrc3BhY2UYAiABKAlIABIXCg1hbGxfY29ubmVjdGVkGAMgASgISAASOgoIcHJvdmlkZXIYBCABKAsyJi5vcGVuc2hlbGwudjEuUGVlckNvbmZpZ1Byb3ZpZGVyVGFyZ2V0SABCBwoFc2NvcGUiNQoeUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlc3BvbnNlEhMKC3N0YWxlX293bmVyGAEgASgIIkUKD1JlbGF5T3BlblJlc3VsdBISCgpjaGFubmVsX2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSDQoFZXJyb3IYAyABKAkiMAoKUmVsYXlDbG9zZRISCgpjaGFubmVsX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJQCg9MN1JlcXVlc3RTYW1wbGUSDgoGbWV0aG9kGAEgASgJEgwKBHBhdGgYAiABKAkSEAoIZGVjaXNpb24YAyABKAkSDQoFY291bnQYBCABKA0i+gMKDURlbmlhbFN1bW1hcnkSEgoKc2FuZGJveF9pZBgBIAEoCRIMCgRob3N0GAIgASgJEgwKBHBvcnQYAyABKA0SDgoGYmluYXJ5GAQgASgJEhEKCWFuY2VzdG9ycxgFIAMoCRITCgtkZW55X3JlYXNvbhgGIAEoCRIzCg9maXJzdF9zZWVuX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmxhc3Rfc2Vlbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVjb3VudBgJIAEoDRIYChBzdXBwcmVzc2VkX2NvdW50GAogASgNEhMKC3RvdGFsX2NvdW50GAsgASgNEhcKD3NhbXBsZV9jbWRsaW5lcxgMIAMoCRIVCg1iaW5hcnlfc2hhMjU2GA0gASgJEhIKCnBlcnNpc3RlbnQYDiABKAgSFAoMZGVuaWFsX3N0YWdlGA8gASgJEjkKEmw3X3JlcXVlc3Rfc2FtcGxlcxgQIAMoCzIdLm9wZW5zaGVsbC52MS5MN1JlcXVlc3RTYW1wbGUSHAoUbDdfaW5zcGVjdGlvbl9hY3RpdmUYESABKAhKBAgHEAhKBAgIEAlSDWZpcnN0X3NlZW5fbXNSDGxhc3Rfc2Vlbl9tcyI8ChBEZW5pYWxHcm91cENvdW50EhIKCmRlbnlfZ3JvdXAYASABKAkSFAoMZGVuaWVkX2NvdW50GAIgASgNIo8BChZOZXR3b3JrQWN0aXZpdHlTdW1tYXJ5Eh4KFm5ldHdvcmtfYWN0aXZpdHlfY291bnQYASABKA0SGwoTZGVuaWVkX2FjdGlvbl9jb3VudBgCIAEoDRI4ChBkZW5pYWxzX2J5X2dyb3VwGAMgAygLMh4ub3BlbnNoZWxsLnYxLkRlbmlhbEdyb3VwQ291bnQijAcKC1BvbGljeUNodW5rEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIRCglydWxlX25hbWUYAyABKAkSPgoNcHJvcG9zZWRfcnVsZRgEIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEhEKCXJhdGlvbmFsZRgFIAEoCRIWCg5zZWN1cml0eV9ub3RlcxgGIAEoCRISCgpjb25maWRlbmNlGAcgASgCEhoKEmRlbmlhbF9zdW1tYXJ5X2lkcxgIIAMoCRIwCgxjcmVhdGVkX3RpbWUYbSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGRlY2lkZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFc3RhZ2UYCyABKAkSGwoTc3VwZXJzZWRlc19jaHVua19pZBgMIAEoCRIRCgloaXRfY291bnQYDSABKAUSMwoPZmlyc3Rfc2Vlbl90aW1lGHIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5sYXN0X3NlZW5fdGltZRhzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGYmluYXJ5GBAgASgJEhkKEXZhbGlkYXRpb25fcmVzdWx0GBEgASgJEhgKEHJlamVjdGlvbl9yZWFzb24YEiABKAkSGQoRYXBwbGljYXRpb25fZXJyb3IYEyABKAkSFAoMcmV2aWV3X3Rva2VuGBQgASgJEiUKHWN1cnJlbnRfZWZmZWN0aXZlX3BvbGljeV9oYXNoGBUgASgJEicKH2NhbmRpZGF0ZV9lZmZlY3RpdmVfcG9saWN5X2hhc2gYFiABKAkSRQoYY3VycmVudF9lZmZlY3RpdmVfcG9saWN5GBcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRJHChpjYW5kaWRhdGVfZWZmZWN0aXZlX3BvbGljeRgYIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3lKBAgJEApKBAgKEAtKBAgOEA9KBAgPEBBSDWNyZWF0ZWRfYXRfbXNSDWRlY2lkZWRfYXRfbXNSDWZpcnN0X3NlZW5fbXNSDGxhc3Rfc2Vlbl9tcyJmChFEcmFmdFBvbGljeVVwZGF0ZRIVCg1kcmFmdF92ZXJzaW9uGAEgASgEEhIKCm5ld19jaHVua3MYAiABKA0SFQoNdG90YWxfcGVuZGluZxgDIAEoDRIPCgdzdW1tYXJ5GAQgASgJIrQCChtTdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAYgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIuCglzdW1tYXJpZXMYASADKAsyGy5vcGVuc2hlbGwudjEuRGVuaWFsU3VtbWFyeRIyCg9wcm9wb3NlZF9jaHVua3MYAiADKAsyGS5vcGVuc2hlbGwudjEuUG9saWN5Q2h1bmsSFQoNYW5hbHlzaXNfbW9kZRgDIAEoCRIMCgRuYW1lGAQgASgJEkgKGm5ldHdvcmtfYWN0aXZpdHlfc3VtbWFyaWVzGAUgAygLMiQub3BlbnNoZWxsLnYxLk5ldHdvcmtBY3Rpdml0eVN1bW1hcnkihwEKHFN1Ym1pdFBvbGljeUFuYWx5c2lzUmVzcG9uc2USFwoPYWNjZXB0ZWRfY2h1bmtzGAEgASgNEhcKD3JlamVjdGVkX2NodW5rcxgCIAEoDRIZChFyZWplY3Rpb25fcmVhc29ucxgDIAMoCRIaChJhY2NlcHRlZF9jaHVua19pZHMYBCADKAkigwEKFUdldERyYWZ0UG9saWN5UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhUKDXN0YXR1c19maWx0ZXIYAiABKAkSDwoHc2FuZGJveBgBIAEoCSLGAQoWR2V0RHJhZnRQb2xpY3lSZXNwb25zZRIpCgZjaHVua3MYASADKAsyGS5vcGVuc2hlbGwudjEuUG9saWN5Q2h1bmsSFwoPcm9sbGluZ19zdW1tYXJ5GAIgASgJEhUKDWRyYWZ0X3ZlcnNpb24YAyABKAQSNgoSbGFzdF9hbmFseXplZF90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVITbGFzdF9hbmFseXplZF9hdF9tcyKrAQoYQXBwcm92ZURyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSFAoMcmV2aWV3X3Rva2VuGAQgASgJEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSJIChlBcHByb3ZlRHJhZnRDaHVua1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJIqQBChdSZWplY3REcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiGgoYUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlIjwKEkRyYWZ0Q2h1bmtBcHByb3ZhbBIQCghjaHVua19pZBgBIAEoCRIUCgxyZXZpZXdfdG9rZW4YAiABKAki3gEKHEFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIgChhpbmNsdWRlX3NlY3VyaXR5X2ZsYWdnZWQYAiABKAgSMwoJYXBwcm92YWxzGAMgAygLMiAub3BlbnNoZWxsLnYxLkRyYWZ0Q2h1bmtBcHByb3ZhbBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkifQodQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVzcG9uc2USFgoOcG9saWN5X3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSFwoPY2h1bmtzX2FwcHJvdmVkGAMgASgNEhYKDmNodW5rc19za2lwcGVkGAQgASgNItIBChVFZGl0RHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRI+Cg1wcm9wb3NlZF9ydWxlGAMgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIhgKFkVkaXREcmFmdENodW5rUmVzcG9uc2UikgEKFVVuZG9EcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgEIAEoCSJFChZVbmRvRHJhZnRDaHVua1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJIoIBChdDbGVhckRyYWZ0Q2h1bmtzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSIyChhDbGVhckRyYWZ0Q2h1bmtzUmVzcG9uc2USFgoOY2h1bmtzX2NsZWFyZWQYASABKA0ibQoWR2V0RHJhZnRIaXN0b3J5UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkikgEKEURyYWZ0SGlzdG9yeUVudHJ5Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmV2ZW50X3R5cGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIY2h1bmtfaWQYBCABKAlKBAgBEAJSDHRpbWVzdGFtcF9tcyJLChdHZXREcmFmdEhpc3RvcnlSZXNwb25zZRIwCgdlbnRyaWVzGAEgAygLMh8ub3BlbnNoZWxsLnYxLkRyYWZ0SGlzdG9yeUVudHJ5IqsBChZDcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSQAoGbGFiZWxzGAIgAygLMjAub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlcXVlc3QuTGFiZWxzRW50cnkSEgoKcmVxdWVzdF9pZBgDIAEoCRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIk8KF0NyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlEjQKCXdvcmtzcGFjZRgBIAEoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlIiMKE0dldFdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJMChRHZXRXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSJWChVMaXN0V29ya3NwYWNlc1JlcXVlc3QSEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkiaAoWTGlzdFdvcmtzcGFjZXNSZXNwb25zZRI1Cgp3b3Jrc3BhY2VzGAEgAygLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIlEKFkRlbGV0ZVdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAIgASgIEhIKCnJlcXVlc3RfaWQYAyABKAkiWAoXRGVsZXRlV29ya3NwYWNlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQijQEKD1dvcmtzcGFjZU1lbWJlchI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRIZChFwcmluY2lwYWxfc3ViamVjdBgCIAEoCRIpCgRyb2xlGAMgASgOMhsub3BlbnNoZWxsLnYxLldvcmtzcGFjZVJvbGUiuQEKGUFkZFdvcmtzcGFjZU1lbWJlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAEgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIZChFwcmluY2lwYWxfc3ViamVjdBgCIAEoCRIpCgRyb2xlGAMgASgOMhsub3BlbnNoZWxsLnYxLldvcmtzcGFjZVJvbGUSEgoKcmVxdWVzdF9pZBgEIAEoCSJLChpBZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRItCgZtZW1iZXIYASABKAsyHS5vcGVuc2hlbGwudjEuV29ya3NwYWNlTWVtYmVyIqgBChxSZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJIl4KHVJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdyZW1vdmVkIogBChtMaXN0V29ya3NwYWNlTWVtYmVyc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAEgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCSJnChxMaXN0V29ya3NwYWNlTWVtYmVyc1Jlc3BvbnNlEi4KB21lbWJlcnMYASADKAsyHS5vcGVuc2hlbGwudjEuV29ya3NwYWNlTWVtYmVyEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKRAQoaRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSFAoMc2VydmljZV9uYW1lGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRhnIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgDEARSDWV4cGlyZXNfYXRfbXMiiAEKE0VuZHBvaW50T2JzZXJ2YXRpb24SEwoLZW5kcG9pbnRfaWQYASABKAkSLAoGcmVzdWx0GAIgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0Ei4KB2ZhaWx1cmUYAyABKAsyHS5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlIrECChtSZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtwb2xpY3lfaGFzaBgCIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YAyABKAQSNwoMb2JzZXJ2YXRpb25zGAQgAygLMiEub3BlbnNoZWxsLnYxLkVuZHBvaW50T2JzZXJ2YXRpb24SHQoVb2JzZXJ2ZWRfZW5kcG9pbnRfaWRzGAUgAygJEh0KFXN1cGVydmlzb3Jfc2Vzc2lvbl9pZBgGIAEoCRIXCg9yZXBvcnRfc2VxdWVuY2UYByABKAQSOgoSdG9rZW5fZ3JhbnRfc3RhdHVzGAggASgLMh4ub3BlbnNoZWxsLnYxLlRva2VuR3JhbnRTdGF0dXMiVAoQVG9rZW5HcmFudFN0YXR1cxJACgxsYXN0X2ZhaWx1cmUYASABKAsyKi5vcGVuc2hlbGwudjEuVG9rZW5HcmFudEZhaWx1cmVPYnNlcnZhdGlvbiKCAQocVG9rZW5HcmFudEZhaWx1cmVPYnNlcnZhdGlvbhIYChBkZXN0aW5hdGlvbl9ob3N0GAEgASgJEhgKEGRlc3RpbmF0aW9uX3BvcnQYAiABKA0SLgoHZmFpbHVyZRgDIAEoCzIdLm9wZW5zaGVsbC52MS5FbmRwb2ludEZhaWx1cmUiHgocUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSKIAgoORW5kcG9pbnRTdGF0dXMSEwoLZW5kcG9pbnRfaWQYASABKAkSDAoEaG9zdBgCIAEoCRINCgVwb3J0cxgDIAMoDRIMCgRwYXRoGAQgASgJEjEKC2xhc3RfcmVzdWx0GAUgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0EjYKEmxhc3RfcmVwb3J0ZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoMbGFzdF9mYWlsdXJlGAcgASgLMh0ub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZUoECAYQB1IQbGFzdF9yZXBvcnRlZF9hdCK7BQoTU2FuZGJveFByb3Zpc2lvbmluZxISCgphdHRlbXB0X2lkGAEgASgJEh8KF2NvbmZpZ3VyYXRpb25fY2hhbmdlX2lkGAIgASgJEj0KGWNvbmZpZ3VyYXRpb25fY2hhbmdlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFGZpcnN0X3JlamVjdGlvbl90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghkZWFkbGluZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdGltZW91dF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI6ChZjbGVhbnVwX2NvbXBsZXRlZF90aW1lGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1jbGVhbnVwX2Vycm9yGAggASgJEjYKEmNsZWFudXBfcmV0cnlfdGltZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUYXR0YWNobWVudF9jaGFuZ2VfaWQYCiABKAkSOgoWYXR0YWNobWVudF9jaGFuZ2VfdGltZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoUcHJlcGFyYXRpb25fZGVhZGxpbmUYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFGFkbWlzc2lvbl9zdGFydF90aW1lGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIgChhkcml2ZXJfb3BlcmF0aW9uX3BlbmRpbmcYDiABKAgSGwoTZHJpdmVyX29wZXJhdGlvbl9pZBgPIAEoCSKCAQoWU2FuZGJveFNlcnZpY2VFeHBvc3VyZRIPCgdzZXJ2aWNlGAEgASgJEhMKC3RhcmdldF9wb3J0GAIgASgNEkIKEmF1dGhvcml6YXRpb25fbW9kZRgDIAEoDjImLm9wZW5zaGVsbC52MS5TZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUirQIKD0VuZHBvaW50RmFpbHVyZRIzCgZkb21haW4YASABKA4yIy5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlRG9tYWluEgwKBGNvZGUYAiABKAkSTgoPcmVjb3ZlcnlfYWN0aW9uGAMgASgOMjUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhIQCghwcm92aWRlchgEIAEoCRIWCg5jcmVkZW50aWFsX2tleRgFIAEoCRINCgVzdGFnZRgGIAEoCRIhChR1cHN0cmVhbV9odHRwX3N0YXR1cxgHIAEoDUgAiAEBEhIKCnJlcXVlc3RfaWQYCCABKAlCFwoVX3Vwc3RyZWFtX2h0dHBfc3RhdHVzKsoBCg1FeHRlbnNpb25LaW5kEh4KGkVYVEVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodRVhURU5TSU9OX0tJTkRfQ09NUFVURV9EUklWRVIQARIkCiBFWFRFTlNJT05fS0lORF9DUkVERU5USUFMX0RSSVZFUhACEiYKIkVYVEVOU0lPTl9LSU5EX0dBVEVXQVlfSU5URVJDRVBUT1IQAxIoCiRFWFRFTlNJT05fS0lORF9TVVBFUlZJU09SX01JRERMRVdBUkUQBCqBAwoMU2FuZGJveFBoYXNlEh0KGVNBTkRCT1hfUEhBU0VfVU5TUEVDSUZJRUQQABIeChpTQU5EQk9YX1BIQVNFX1BST1ZJU0lPTklORxABEhcKE1NBTkRCT1hfUEhBU0VfUkVBRFkQAhIXChNTQU5EQk9YX1BIQVNFX0VSUk9SEAMSGgoWU0FOREJPWF9QSEFTRV9ERUxFVElORxAEEhkKFVNBTkRCT1hfUEhBU0VfVU5LTk9XThAFEhoKFlNBTkRCT1hfUEhBU0VfU1RPUFBJTkcQBhIZChVTQU5EQk9YX1BIQVNFX1NUT1BQRUQQBxIaChZTQU5EQk9YX1BIQVNFX1NUQVJUSU5HEAgSGwoXU0FOREJPWF9QSEFTRV9DT01QTEVURUQQCRIcChhTQU5EQk9YX1BIQVNFX1NVU1BFTkRJTkcQCxIbChdTQU5EQk9YX1BIQVNFX1NVU1BFTkRFRBAMIgQIChAKKhhTQU5EQk9YX1BIQVNFX1JFU1RBUlRJTkcqywEKFFByb3ZpZGVyTXV0YXRpb25LaW5kEiYKIlBST1ZJREVSX01VVEFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX0FUVEFDSBABEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfREVUQUNIEAISIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9VUERBVEUQAxIiCh5QUk9WSURFUl9NVVRBVElPTl9LSU5EX09CU0VSVkUQBCrPAgoWUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRIoCiRQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfVU5TUEVDSUZJRUQQABImCiJQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUEVSU0lTVEVEEAESJAogUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1BFTkRJTkcQAhIiCh5QUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUkVBRFkQAxIlCiFQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfV0lUSEhFTEQQBBIkCiBQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUkVWT0tFRBAFEiMKH1BST1ZJREVSX1JFQURJTkVTU19TVEFURV9GQUlMRUQQBhInCiNQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfU1VQRVJTRURFRBAHKtoGChdQcm92aWRlclJlYWRpbmVzc1JlYXNvbhIpCiVQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1VOU1BFQ0lGSUVEEAASNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9TVVBFUlZJU09SEAESNQoxUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9DUkVERU5USUFMUxACEjAKLFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfUE9MSUNZEAMSMQotUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9QUk9DRVNTEAQSNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9VTlNVUFBPUlRFRF9TVVBFUlZJU09SEAUSMgouUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMU19XSVRISEVMRBAGEjcKM1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTF9JTlNUQUxMX0ZBSUxFRBAHEjYKMlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fUE9MSUNZX0FDVElWQVRJT05fRkFJTEVEEAgSNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9QUk9DRVNTX0lOU1RBTExfRkFJTEVEEAkSNQoxUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TVVBFUlZJU09SX0RJU0NPTk5FQ1RFRBAKEjYKMlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU1VQRVJWSVNPUl9MRUFTRV9FWFBJUkVEEAsSMwovUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9ERVNJUkVEX1NUQVRFX0NIQU5HRUQQDBIwCixQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxfRVhQSVJFRBANEioKJlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fTE9DQUxfUE9MSUNZEA4SLworUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TTkFQU0hPVF9NSVNNQVRDSBAPKoMBCg9Db25maWdDb21wb25lbnQSIAocQ09ORklHX0NPTVBPTkVOVF9VTlNQRUNJRklFRBAAEiMKH0NPTkZJR19DT01QT05FTlRfU0FOREJPWF9DT05GSUcQARIpCiVDT05GSUdfQ09NUE9ORU5UX1BST1ZJREVSX0VOVklST05NRU5UEAIqjQMKEkNvbmZpZ0FwcGx5T3V0Y29tZRIkCiBDT05GSUdfQVBQTFlfT1VUQ09NRV9VTlNQRUNJRklFRBAAEiAKHENPTkZJR19BUFBMWV9PVVRDT01FX0FQUExJRUQQARIqCiZDT05GSUdfQVBQTFlfT1VUQ09NRV9JR05PUkVEX0RVUExJQ0FURRACEiYKIkNPTkZJR19BUFBMWV9PVVRDT01FX0lHTk9SRURfU1RBTEUQAxIwCixDT05GSUdfQVBQTFlfT1VUQ09NRV9SRVRBSU5FRF9MT0NBTF9PVkVSUklERRAEEiEKHUNPTkZJR19BUFBMWV9PVVRDT01FX0RFR1JBREVEEAUSOAo0Q09ORklHX0FQUExZX09VVENPTUVfRkFJTEVEX1JFVEFJTkVEX0xBU1RfS05PV05fR09PRBAGEiYKIkNPTkZJR19BUFBMWV9PVVRDT01FX0ZBSUxFRF9DTE9TRUQQBxIkCiBDT05GSUdfQVBQTFlfT1VUQ09NRV9VTlNVUFBPUlRFRBAIKtICChpDb25maWdVcGRhdGVPcGVyYXRpb25TdGF0ZRItCilDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEikKJUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1BFTkRJTkcQARIpCiVDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9BUFBMSUVEEAISKgomQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfSU5BQ1RJVkUQAxIoCiRDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9GQUlMRUQQBBIsCihDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9TVVBFUlNFREVEEAUSKwonQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfQ0FOQ0VMTEVEEAYqzgEKIFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRUeXBlEjQKMFBST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9VTlNQRUNJRklFRBAAEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9DTElFTlRfQ1JFREVOVElBTFMQARI3CjNQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfVE9LRU5fRVhDSEFOR0UQAirDAwohUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5EjQKMFBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9VTlNQRUNJRklFRBAAEi8KK1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9TVEFUSUMQARIxCi1QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfRVhURVJOQUwQAhI9CjlQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfT0FVVEgyX1JFRlJFU0hfVE9LRU4QAxJCCj5QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfT0FVVEgyX0NMSUVOVF9DUkVERU5USUFMUxAEEkMKP1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9HT09HTEVfU0VSVklDRV9BQ0NPVU5UX0pXVBAFEjwKOFBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9BV1NfU1RTX0FTU1VNRV9ST0xFEAYq2wIKF1Byb3ZpZGVyUHJvZmlsZUNhdGVnb3J5EikKJVBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIjCh9QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX09USEVSEAESJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9JTkZFUkVOQ0UQAhIjCh9QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0FHRU5UEAMSLAooUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9TT1VSQ0VfQ09OVFJPTBAEEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfTUVTU0FHSU5HEAUSIgoeUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9EQVRBEAYSJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9LTk9XTEVER0UQByreAQomUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlQ2xhc3NpZmljYXRpb24SOQo1UFJPVklERVJfRU5WSVJPTk1FTlRfVkFMVUVfQ0xBU1NJRklDQVRJT05fVU5TUEVDSUZJRUQQABI4CjRQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9OT05fU0VDUkVUEAESPwo7UFJPVklERVJfRU5WSVJPTk1FTlRfVkFMVUVfQ0xBU1NJRklDQVRJT05fU1RBVElDX0NSRURFTlRJQUwQAirPAQobQ29uZmlndXJhdGlvbkFkbWlzc2lvblN0YXRlEi0KKUNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASKQolQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfUEVORElORxABEioKJkNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX0FDQ0VQVEVEEAISKgomQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfUkVKRUNURUQQAyqaAQoMUG9saWN5U3RhdHVzEh0KGVBPTElDWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVQT0xJQ1lfU1RBVFVTX1BFTkRJTkcQARIYChRQT0xJQ1lfU1RBVFVTX0xPQURFRBACEhgKFFBPTElDWV9TVEFUVVNfRkFJTEVEEAMSHAoYUE9MSUNZX1NUQVRVU19TVVBFUlNFREVEEAQqhgEKDVNlcnZpY2VTdGF0dXMSHgoaU0VSVklDRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIaChZTRVJWSUNFX1NUQVRVU19IRUFMVEhZEAESGwoXU0VSVklDRV9TVEFUVVNfREVHUkFERUQQAhIcChhTRVJWSUNFX1NUQVRVU19VTkhFQUxUSFkQAypiCg1Xb3Jrc3BhY2VSb2xlEh4KGldPUktTUEFDRV9ST0xFX1VOU1BFQ0lGSUVEEAASFwoTV09SS1NQQUNFX1JPTEVfVVNFUhABEhgKFFdPUktTUEFDRV9ST0xFX0FETUlOEAIq2gIKJ1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1VOU1BFQ0lGSUVEEAASNQoxUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9SRVRSWRABEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fUkVBVVRIT1JJWkUQAhJBCj1QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX0ZJWF9DT05GSUdVUkFUSU9OEAMSOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9JTlZFU1RJR0FURRAEKqoBChRTYW5kYm94UmVzdGFydFBvbGljeRImCiJTQU5EQk9YX1JFU1RBUlRfUE9MSUNZX1VOU1BFQ0lGSUVEEAASIAocU0FOREJPWF9SRVNUQVJUX1BPTElDWV9ORVZFUhABEiUKIVNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfT05fRkFJTFVSRRACEiEKHVNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfQUxXQVlTEAMqlwEKD0RlbGV0aW9uT3V0Y29tZRIgChxERUxFVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASHgoaREVMRVRJT05fT1VUQ09NRV9DT01QTEVURUQQARIdChlERUxFVElPTl9PVVRDT01FX0FDQ0VQVEVEEAISIwofREVMRVRJT05fT1VUQ09NRV9BTFJFQURZX0FCU0VOVBADKsMCCg5FbmRwb2ludFJlc3VsdBIfChtFTkRQT0lOVF9SRVNVTFRfVU5TUEVDSUZJRUQQABIoCiRFTkRQT0lOVF9SRVNVTFRfTk9fT0JTRVJWRURfRVhDSEFOR0UQARIqCiZFTkRQT0lOVF9SRVNVTFRfSFRUUF9SRVNQT05TRV9SRUNFSVZFRBACEiEKHUVORFBPSU5UX1JFU1VMVF9QT0xJQ1lfREVOSUVEEAMSKgomRU5EUE9JTlRfUkVTVUxUX0NSRURFTlRJQUxfVU5BVkFJTEFCTEUQBBIeChpFTkRQT0lOVF9SRVNVTFRfVExTX0ZBSUxFRBAFEiQKIEVORFBPSU5UX1JFU1VMVF9UUkFOU1BPUlRfRkFJTEVEEAYSJQohRU5EUE9JTlRfUkVTVUxUX1VQU1RSRUFNX1JFSkVDVEVEEAcqnwEKGFNlcnZpY2VBdXRob3JpemF0aW9uTW9kZRIqCiZTRVJWSUNFX0FVVEhPUklaQVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEiQKIFNFUlZJQ0VfQVVUSE9SSVpBVElPTl9NT0RFX1NUUklQEAESMQotU0VSVklDRV9BVVRIT1JJWkFUSU9OX01PREVfQkVBUkVSX1BBU1NUSFJPVUdIEAIqaQoVRW5kcG9pbnRGYWlsdXJlRG9tYWluEicKI0VORFBPSU5UX0ZBSUxVUkVfRE9NQUlOX1VOU1BFQ0lGSUVEEAASJwojRU5EUE9JTlRfRkFJTFVSRV9ET01BSU5fVE9LRU5fR1JBTlQQATKmWQoJT3BlblNoZWxsEloKBkhlYWx0aBIbLm9wZW5zaGVsbC52MS5IZWFsdGhSZXF1ZXN0Ghwub3BlbnNoZWxsLnYxLkhlYWx0aFJlc3BvbnNlIhWCtRgRCg91bmF1dGhlbnRpY2F0ZWQSaQoOR2V0Q3VycmVudFVzZXISIy5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiDIK1GAgKBmJlYXJlchKGAQoOR2V0R2F0ZXdheUluZm8SIy5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEdhdGV3YXlJbmZvUmVzcG9uc2UiKYK1GCUKBmJlYXJlchoOcGxhdGZvcm1fYWRtaW4iC2NvbmZpZzpyZWFkEnUKDUNyZWF0ZVNhbmRib3gSIi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFUJlZ2luUm9vdGZzVGFyU3RhZ2luZxIqLm9wZW5zaGVsbC52MS5CZWdpblJvb3Rmc1RhclN0YWdpbmdSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSbgoKR2V0U2FuZGJveBIfLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnoKDUxpc3RTYW5kYm94ZXMSIi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1JlcXVlc3QaIy5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKOAQoVQ3JlYXRlU2FuZGJveFRlbXBsYXRlEioub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIFYWRtaW4iDXNhbmRib3g6d3JpdGUShgEKEkdldFNhbmRib3hUZW1wbGF0ZRInLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKPAQoUTGlzdFNhbmRib3hUZW1wbGF0ZXMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94VGVtcGxhdGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpQBChVEZWxldGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKPAQoUTGlzdFNhbmRib3hQcm92aWRlcnMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpMBChVBdHRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuQXR0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpMBChVEZXRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpsBChhHZXRTYW5kYm94UHJvdmlkZXJTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSewoNRGVsZXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVxdWVzdBojLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJxCgtTdG9wU2FuZGJveBIgLm9wZW5zaGVsbC52MS5TdG9wU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUScwoMU3RhcnRTYW5kYm94EiEub3BlbnNoZWxsLnYxLlN0YXJ0U2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdwoOU3VzcGVuZFNhbmRib3gSIy5vcGVuc2hlbGwudjEuU3VzcGVuZFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnUKDVJlc3VtZVNhbmRib3gSIi5vcGVuc2hlbGwudjEuUmVzdW1lU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEENyZWF0ZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSfQoNRXhwb3NlU2VydmljZRIiLm9wZW5zaGVsbC52MS5FeHBvc2VTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnYKCkdldFNlcnZpY2USHy5vcGVuc2hlbGwudjEuR2V0U2VydmljZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEncKDExpc3RTZXJ2aWNlcxIhLm9wZW5zaGVsbC52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEoQBChBSZXZva2VTc2hTZXNzaW9uEiUub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXF1ZXN0GiYub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnQKC0V4ZWNTYW5kYm94EiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdBoeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV2ZW50IiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUwARJxCgpGb3J3YXJkVGNwEh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZRodLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkRnJhbWUiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESfwoWRXhlY1NhbmRib3hJbnRlcmFjdGl2ZRIeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveElucHV0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESegoOQ3JlYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuQ3JlYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEnIKC0dldFByb3ZpZGVyEiAub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSgwEKFkdldFByb3ZpZGVyQ3JlZGVudGlhbHMSKy5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJDcmVkZW50aWFsc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJDcmVkZW50aWFsc1Jlc3BvbnNlIg6CtRgKCghvcGVyYXRvchJ7Cg1MaXN0UHJvdmlkZXJzEiIub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpABChRMaXN0UHJvdmlkZXJQcm9maWxlcxIpLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEocBChJHZXRQcm92aWRlclByb2ZpbGUSJy5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpgBChZJbXBvcnRQcm92aWRlclByb2ZpbGVzEisub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSmAEKFlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXMSKy5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKQAQoUTGludFByb3ZpZGVyUHJvZmlsZXMSKS5vcGVuc2hlbGwudjEuTGludFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBJ6Cg5VcGRhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSnAEKGEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSngEKGENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaBItLm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKeAQoYUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsEi0ub3BlbnNoZWxsLnYxLlJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlcXVlc3QaLi5vcGVuc2hlbGwudjEuUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpUBChVEZWxldGVQcm92aWRlclJlZnJlc2gSKi5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSgAEKDkRlbGV0ZVByb3ZpZGVyEiMub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVxdWVzdBokLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKVAQoVRGVsZXRlUHJvdmlkZXJQcm9maWxlEioub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QaKy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpABChBHZXRTYW5kYm94Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0U2FuZGJveENvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRTYW5kYm94Q29uZmlnUmVzcG9uc2UiHYK1GBkKBGR1YWwSBHVzZXIiC2NvbmZpZzpyZWFkEowBChBHZXRHYXRld2F5Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0R2F0ZXdheUNvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRHYXRld2F5Q29uZmlnUmVzcG9uc2UiGYK1GBUKBmJlYXJlciILY29uZmlnOnJlYWQSdgoMVXBkYXRlQ29uZmlnEiEub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVzcG9uc2UiH4K1GBsKBGR1YWwSBWFkbWluIgxjb25maWc6d3JpdGUSlQEKFkdldFNhbmRib3hQb2xpY3lTdGF0dXMSKy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKMAQoTTGlzdFNhbmRib3hQb2xpY2llcxIoLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVxdWVzdBopLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnYKElJlcG9ydFBvbGljeVN0YXR1cxInLm9wZW5zaGVsbC52MS5SZXBvcnRQb2xpY3lTdGF0dXNSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLlJlcG9ydFBvbGljeVN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnwKFFJlcG9ydEVuZHBvaW50U3RhdHVzEikub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EoUBChdSZXBvcnRQcm92aWRlclJlYWRpbmVzcxIsLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QaLS5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXNwb25zZSINgrUYCQoHc2FuZGJveBKOAQoaUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb24SLy5vcGVuc2hlbGwudjEuUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXF1ZXN0GjAub3BlbnNoZWxsLnYxLlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSlwEKHUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50EjIub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBozLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EpQBChxFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuEjEub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0GjIub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXNwb25zZSINgrUYCQoHc2FuZGJveBJ9Cg5HZXRTYW5kYm94TG9ncxIjLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94TG9nc1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveExvZ3NSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSbwoPUHVzaFNhbmRib3hMb2dzEiQub3BlbnNoZWxsLnYxLlB1c2hTYW5kYm94TG9nc1JlcXVlc3QaJS5vcGVuc2hlbGwudjEuUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3goARJlChFDb25uZWN0U3VwZXJ2aXNvchIfLm9wZW5zaGVsbC52MS5TdXBlcnZpc29yTWVzc2FnZRocLm9wZW5zaGVsbC52MS5HYXRld2F5TWVzc2FnZSINgrUYCQoHc2FuZGJveCgBMAESfwoVUmVwb3J0TWFpblByb2Nlc3NFeGl0Eioub3BlbnNoZWxsLnYxLlJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlcXVlc3QaKy5vcGVuc2hlbGwudjEuUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gShQEKF0ZpbmFsaXplTWFpblByb2Nlc3NFeGl0Eiwub3BlbnNoZWxsLnYxLkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVxdWVzdBotLm9wZW5zaGVsbC52MS5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94ElQKC1JlbGF5U3RyZWFtEhgub3BlbnNoZWxsLnYxLlJlbGF5RnJhbWUaGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZSINgrUYCQoHc2FuZGJveCgBMAESVwoJUGVlclJlbGF5Ehwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lGhwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lIgqCtRgGCgRwZWVyKAEwARKGAQobUGVlclJlcG9ydFByb3ZpZGVyUmVhZGluZXNzEiwub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBotLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlIgqCtRgGCgRwZWVyEn0KGFBlZXJSZXBvcnRFbmRwb2ludFN0YXR1cxIpLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSIKgrUYBgoEcGVlchKJAQocUGVlckdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIgqCtRgGCgRwZWVyEn8KFlBlZXJOb3RpZnlDb25maWdVcGRhdGUSKy5vcGVuc2hlbGwudjEuUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlcXVlc3QaLC5vcGVuc2hlbGwudjEuUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlc3BvbnNlIgqCtRgGCgRwZWVyEncKDFdhdGNoU2FuZGJveBIhLm9wZW5zaGVsbC52MS5XYXRjaFNhbmRib3hSZXF1ZXN0GiAub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1FdmVudCIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQwARJ8ChRTdWJtaXRQb2xpY3lBbmFseXNpcxIpLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuU3VibWl0UG9saWN5QW5hbHlzaXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBJ6Cg5HZXREcmFmdFBvbGljeRIjLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0RHJhZnRQb2xpY3lSZXNwb25zZSIdgrUYGQoEZHVhbBIEdXNlciILY29uZmlnOnJlYWQShwEKEUFwcHJvdmVEcmFmdENodW5rEiYub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBonLm9wZW5zaGVsbC52MS5BcHByb3ZlRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEFJlamVjdERyYWZ0Q2h1bmsSJS5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSkwEKFUFwcHJvdmVBbGxEcmFmdENodW5rcxIqLm9wZW5zaGVsbC52MS5BcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfgoORWRpdERyYWZ0Q2h1bmsSIy5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkVkaXREcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5VbmRvRHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEoQBChBDbGVhckRyYWZ0Q2h1bmtzEiUub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXF1ZXN0GiYub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn8KD0dldERyYWZ0SGlzdG9yeRIkLm9wZW5zaGVsbC52MS5HZXREcmFmdEhpc3RvcnlSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlc3BvbnNlIh+CtRgbCgZiZWFyZXISBHVzZXIiC2NvbmZpZzpyZWFkEnMKEUlzc3VlU2FuZGJveFRva2VuEiYub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVxdWVzdBonLm9wZW5zaGVsbC52MS5Jc3N1ZVNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnkKE1JlZnJlc2hTYW5kYm94VG9rZW4SKC5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlcXVlc3QaKS5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94Eo0BCg9DcmVhdGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEnkKDEdldFdvcmtzcGFjZRIhLm9wZW5zaGVsbC52MS5HZXRXb3Jrc3BhY2VSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEn8KDkxpc3RXb3Jrc3BhY2VzEiMub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVxdWVzdBokLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEo0BCg9EZWxldGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuRGVsZXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEo0BChJBZGRXb3Jrc3BhY2VNZW1iZXISJy5vcGVuc2hlbGwudjEuQWRkV29ya3NwYWNlTWVtYmVyUmVxdWVzdBooLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpYBChVSZW1vdmVXb3Jrc3BhY2VNZW1iZXISKi5vcGVuc2hlbGwudjEuUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpEBChRMaXN0V29ya3NwYWNlTWVtYmVycxIpLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZSIigrUYHgoGYmVhcmVyEgR1c2VyIg53b3Jrc3BhY2U6cmVhZDKHAQoOU2FuZGJveFVwZGF0ZXMSdQoNVXBkYXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5VcGRhdGVTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZWIGcHJvdG8z", [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.
|
|
@@ -174,1086 +174,1111 @@ export const PlatformEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 31)
|
|
|
174
174
|
* Use `create(CreateSandboxRequestSchema)` to create a new message.
|
|
175
175
|
*/
|
|
176
176
|
export const CreateSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 32);
|
|
177
|
+
/**
|
|
178
|
+
* Describes the message openshell.v1.UpdateSandboxRequest.
|
|
179
|
+
* Use `create(UpdateSandboxRequestSchema)` to create a new message.
|
|
180
|
+
*/
|
|
181
|
+
export const UpdateSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 33);
|
|
182
|
+
/**
|
|
183
|
+
* Describes the message openshell.v1.SandboxCommandUpdate.
|
|
184
|
+
* Use `create(SandboxCommandUpdateSchema)` to create a new message.
|
|
185
|
+
*/
|
|
186
|
+
export const SandboxCommandUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 34);
|
|
187
|
+
/**
|
|
188
|
+
* Describes the message openshell.v1.SandboxMapUpdate.
|
|
189
|
+
* Use `create(SandboxMapUpdateSchema)` to create a new message.
|
|
190
|
+
*/
|
|
191
|
+
export const SandboxMapUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 35);
|
|
177
192
|
/**
|
|
178
193
|
* Describes the message openshell.v1.CreateSandboxTemplateRequest.
|
|
179
194
|
* Use `create(CreateSandboxTemplateRequestSchema)` to create a new message.
|
|
180
195
|
*/
|
|
181
|
-
export const CreateSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
196
|
+
export const CreateSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 36);
|
|
182
197
|
/**
|
|
183
198
|
* Describes the message openshell.v1.GetSandboxTemplateRequest.
|
|
184
199
|
* Use `create(GetSandboxTemplateRequestSchema)` to create a new message.
|
|
185
200
|
*/
|
|
186
|
-
export const GetSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
201
|
+
export const GetSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 37);
|
|
187
202
|
/**
|
|
188
203
|
* Describes the message openshell.v1.ListSandboxTemplatesRequest.
|
|
189
204
|
* Use `create(ListSandboxTemplatesRequestSchema)` to create a new message.
|
|
190
205
|
*/
|
|
191
|
-
export const ListSandboxTemplatesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
206
|
+
export const ListSandboxTemplatesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 38);
|
|
192
207
|
/**
|
|
193
208
|
* Describes the message openshell.v1.DeleteSandboxTemplateRequest.
|
|
194
209
|
* Use `create(DeleteSandboxTemplateRequestSchema)` to create a new message.
|
|
195
210
|
*/
|
|
196
|
-
export const DeleteSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
211
|
+
export const DeleteSandboxTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 39);
|
|
197
212
|
/**
|
|
198
213
|
* Describes the message openshell.v1.SandboxTemplateResponse.
|
|
199
214
|
* Use `create(SandboxTemplateResponseSchema)` to create a new message.
|
|
200
215
|
*/
|
|
201
|
-
export const SandboxTemplateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
216
|
+
export const SandboxTemplateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 40);
|
|
202
217
|
/**
|
|
203
218
|
* Describes the message openshell.v1.ListSandboxTemplatesResponse.
|
|
204
219
|
* Use `create(ListSandboxTemplatesResponseSchema)` to create a new message.
|
|
205
220
|
*/
|
|
206
|
-
export const ListSandboxTemplatesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
221
|
+
export const ListSandboxTemplatesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 41);
|
|
207
222
|
/**
|
|
208
223
|
* Describes the message openshell.v1.DeleteSandboxTemplateResponse.
|
|
209
224
|
* Use `create(DeleteSandboxTemplateResponseSchema)` to create a new message.
|
|
210
225
|
*/
|
|
211
|
-
export const DeleteSandboxTemplateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
226
|
+
export const DeleteSandboxTemplateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 42);
|
|
212
227
|
/**
|
|
213
228
|
* Describes the message openshell.v1.BeginRootfsTarStagingRequest.
|
|
214
229
|
* Use `create(BeginRootfsTarStagingRequestSchema)` to create a new message.
|
|
215
230
|
*/
|
|
216
|
-
export const BeginRootfsTarStagingRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
231
|
+
export const BeginRootfsTarStagingRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 43);
|
|
217
232
|
/**
|
|
218
233
|
* Describes the message openshell.v1.BeginRootfsTarStagingResponse.
|
|
219
234
|
* Use `create(BeginRootfsTarStagingResponseSchema)` to create a new message.
|
|
220
235
|
*/
|
|
221
|
-
export const BeginRootfsTarStagingResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
236
|
+
export const BeginRootfsTarStagingResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 44);
|
|
222
237
|
/**
|
|
223
238
|
* Describes the message openshell.v1.GetSandboxRequest.
|
|
224
239
|
* Use `create(GetSandboxRequestSchema)` to create a new message.
|
|
225
240
|
*/
|
|
226
|
-
export const GetSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
241
|
+
export const GetSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 45);
|
|
227
242
|
/**
|
|
228
243
|
* Describes the message openshell.v1.ListSandboxesRequest.
|
|
229
244
|
* Use `create(ListSandboxesRequestSchema)` to create a new message.
|
|
230
245
|
*/
|
|
231
|
-
export const ListSandboxesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
246
|
+
export const ListSandboxesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 46);
|
|
232
247
|
/**
|
|
233
248
|
* Describes the message openshell.v1.ListSandboxProvidersRequest.
|
|
234
249
|
* Use `create(ListSandboxProvidersRequestSchema)` to create a new message.
|
|
235
250
|
*/
|
|
236
|
-
export const ListSandboxProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
251
|
+
export const ListSandboxProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 47);
|
|
237
252
|
/**
|
|
238
253
|
* Describes the message openshell.v1.AttachSandboxProviderRequest.
|
|
239
254
|
* Use `create(AttachSandboxProviderRequestSchema)` to create a new message.
|
|
240
255
|
*/
|
|
241
|
-
export const AttachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
256
|
+
export const AttachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 48);
|
|
242
257
|
/**
|
|
243
258
|
* Describes the message openshell.v1.DetachSandboxProviderRequest.
|
|
244
259
|
* Use `create(DetachSandboxProviderRequestSchema)` to create a new message.
|
|
245
260
|
*/
|
|
246
|
-
export const DetachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
261
|
+
export const DetachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 49);
|
|
247
262
|
/**
|
|
248
263
|
* Describes the message openshell.v1.DeleteSandboxRequest.
|
|
249
264
|
* Use `create(DeleteSandboxRequestSchema)` to create a new message.
|
|
250
265
|
*/
|
|
251
|
-
export const DeleteSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
266
|
+
export const DeleteSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 50);
|
|
252
267
|
/**
|
|
253
268
|
* Describes the message openshell.v1.StopSandboxRequest.
|
|
254
269
|
* Use `create(StopSandboxRequestSchema)` to create a new message.
|
|
255
270
|
*/
|
|
256
|
-
export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
271
|
+
export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 51);
|
|
257
272
|
/**
|
|
258
273
|
* Describes the message openshell.v1.StartSandboxRequest.
|
|
259
274
|
* Use `create(StartSandboxRequestSchema)` to create a new message.
|
|
260
275
|
*/
|
|
261
|
-
export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
276
|
+
export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 52);
|
|
277
|
+
/**
|
|
278
|
+
* Describes the message openshell.v1.SuspendSandboxRequest.
|
|
279
|
+
* Use `create(SuspendSandboxRequestSchema)` to create a new message.
|
|
280
|
+
*/
|
|
281
|
+
export const SuspendSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 53);
|
|
282
|
+
/**
|
|
283
|
+
* Describes the message openshell.v1.ResumeSandboxRequest.
|
|
284
|
+
* Use `create(ResumeSandboxRequestSchema)` to create a new message.
|
|
285
|
+
*/
|
|
286
|
+
export const ResumeSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 54);
|
|
262
287
|
/**
|
|
263
288
|
* Describes the message openshell.v1.SandboxResponse.
|
|
264
289
|
* Use `create(SandboxResponseSchema)` to create a new message.
|
|
265
290
|
*/
|
|
266
|
-
export const SandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
291
|
+
export const SandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 55);
|
|
267
292
|
/**
|
|
268
293
|
* Describes the message openshell.v1.ListSandboxesResponse.
|
|
269
294
|
* Use `create(ListSandboxesResponseSchema)` to create a new message.
|
|
270
295
|
*/
|
|
271
|
-
export const ListSandboxesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
296
|
+
export const ListSandboxesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 56);
|
|
272
297
|
/**
|
|
273
298
|
* Describes the message openshell.v1.ListSandboxProvidersResponse.
|
|
274
299
|
* Use `create(ListSandboxProvidersResponseSchema)` to create a new message.
|
|
275
300
|
*/
|
|
276
|
-
export const ListSandboxProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
301
|
+
export const ListSandboxProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 57);
|
|
277
302
|
/**
|
|
278
303
|
* Describes the message openshell.v1.AttachSandboxProviderResponse.
|
|
279
304
|
* Use `create(AttachSandboxProviderResponseSchema)` to create a new message.
|
|
280
305
|
*/
|
|
281
|
-
export const AttachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
306
|
+
export const AttachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 58);
|
|
282
307
|
/**
|
|
283
308
|
* Describes the message openshell.v1.DetachSandboxProviderResponse.
|
|
284
309
|
* Use `create(DetachSandboxProviderResponseSchema)` to create a new message.
|
|
285
310
|
*/
|
|
286
|
-
export const DetachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
311
|
+
export const DetachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 59);
|
|
287
312
|
/**
|
|
288
313
|
* Describes the message openshell.v1.ProviderDesiredIdentity.
|
|
289
314
|
* Use `create(ProviderDesiredIdentitySchema)` to create a new message.
|
|
290
315
|
*/
|
|
291
|
-
export const ProviderDesiredIdentitySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
316
|
+
export const ProviderDesiredIdentitySchema = /*@__PURE__*/ messageDesc(file_openshell, 60);
|
|
292
317
|
/**
|
|
293
318
|
* Describes the message openshell.v1.ConfigSnapshotRevision.
|
|
294
319
|
* Use `create(ConfigSnapshotRevisionSchema)` to create a new message.
|
|
295
320
|
*/
|
|
296
|
-
export const ConfigSnapshotRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
321
|
+
export const ConfigSnapshotRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 61);
|
|
297
322
|
/**
|
|
298
323
|
* Describes the message openshell.v1.SandboxConfigRevision.
|
|
299
324
|
* Use `create(SandboxConfigRevisionSchema)` to create a new message.
|
|
300
325
|
*/
|
|
301
|
-
export const SandboxConfigRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
326
|
+
export const SandboxConfigRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 62);
|
|
302
327
|
/**
|
|
303
328
|
* Describes the message openshell.v1.ConfigUpdateOperation.
|
|
304
329
|
* Use `create(ConfigUpdateOperationSchema)` to create a new message.
|
|
305
330
|
*/
|
|
306
|
-
export const ConfigUpdateOperationSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
331
|
+
export const ConfigUpdateOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 63);
|
|
307
332
|
/**
|
|
308
333
|
* Describes the message openshell.v1.ProviderMutationReceipt.
|
|
309
334
|
* Use `create(ProviderMutationReceiptSchema)` to create a new message.
|
|
310
335
|
*/
|
|
311
|
-
export const ProviderMutationReceiptSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
336
|
+
export const ProviderMutationReceiptSchema = /*@__PURE__*/ messageDesc(file_openshell, 64);
|
|
312
337
|
/**
|
|
313
338
|
* Describes the message openshell.v1.ProviderReadinessObservation.
|
|
314
339
|
* Use `create(ProviderReadinessObservationSchema)` to create a new message.
|
|
315
340
|
*/
|
|
316
|
-
export const ProviderReadinessObservationSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
341
|
+
export const ProviderReadinessObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 65);
|
|
317
342
|
/**
|
|
318
343
|
* Describes the message openshell.v1.ProviderReadinessStatus.
|
|
319
344
|
* Use `create(ProviderReadinessStatusSchema)` to create a new message.
|
|
320
345
|
*/
|
|
321
|
-
export const ProviderReadinessStatusSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
346
|
+
export const ProviderReadinessStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 66);
|
|
322
347
|
/**
|
|
323
348
|
* Describes the message openshell.v1.GetSandboxProviderStatusRequest.
|
|
324
349
|
* Use `create(GetSandboxProviderStatusRequestSchema)` to create a new message.
|
|
325
350
|
*/
|
|
326
|
-
export const GetSandboxProviderStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
351
|
+
export const GetSandboxProviderStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 67);
|
|
327
352
|
/**
|
|
328
353
|
* Describes the message openshell.v1.GetSandboxProviderStatusResponse.
|
|
329
354
|
* Use `create(GetSandboxProviderStatusResponseSchema)` to create a new message.
|
|
330
355
|
*/
|
|
331
|
-
export const GetSandboxProviderStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
356
|
+
export const GetSandboxProviderStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 68);
|
|
332
357
|
/**
|
|
333
358
|
* Describes the message openshell.v1.ReportProviderReadinessRequest.
|
|
334
359
|
* Use `create(ReportProviderReadinessRequestSchema)` to create a new message.
|
|
335
360
|
*/
|
|
336
|
-
export const ReportProviderReadinessRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
361
|
+
export const ReportProviderReadinessRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 69);
|
|
337
362
|
/**
|
|
338
363
|
* Describes the message openshell.v1.ReportProviderReadinessResponse.
|
|
339
364
|
* Use `create(ReportProviderReadinessResponseSchema)` to create a new message.
|
|
340
365
|
*/
|
|
341
|
-
export const ReportProviderReadinessResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
366
|
+
export const ReportProviderReadinessResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 70);
|
|
342
367
|
/**
|
|
343
368
|
* Describes the message openshell.v1.DeleteSandboxResponse.
|
|
344
369
|
* Use `create(DeleteSandboxResponseSchema)` to create a new message.
|
|
345
370
|
*/
|
|
346
|
-
export const DeleteSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
371
|
+
export const DeleteSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 71);
|
|
347
372
|
/**
|
|
348
373
|
* Describes the message openshell.v1.CreateSshSessionRequest.
|
|
349
374
|
* Use `create(CreateSshSessionRequestSchema)` to create a new message.
|
|
350
375
|
*/
|
|
351
|
-
export const CreateSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
376
|
+
export const CreateSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 72);
|
|
352
377
|
/**
|
|
353
378
|
* Describes the message openshell.v1.CreateSshSessionResponse.
|
|
354
379
|
* Use `create(CreateSshSessionResponseSchema)` to create a new message.
|
|
355
380
|
*/
|
|
356
|
-
export const CreateSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
381
|
+
export const CreateSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 73);
|
|
357
382
|
/**
|
|
358
383
|
* Describes the message openshell.v1.ExposeServiceRequest.
|
|
359
384
|
* Use `create(ExposeServiceRequestSchema)` to create a new message.
|
|
360
385
|
*/
|
|
361
|
-
export const ExposeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
386
|
+
export const ExposeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 74);
|
|
362
387
|
/**
|
|
363
388
|
* Describes the message openshell.v1.GetServiceRequest.
|
|
364
389
|
* Use `create(GetServiceRequestSchema)` to create a new message.
|
|
365
390
|
*/
|
|
366
|
-
export const GetServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
391
|
+
export const GetServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 75);
|
|
367
392
|
/**
|
|
368
393
|
* Describes the message openshell.v1.ListServicesRequest.
|
|
369
394
|
* Use `create(ListServicesRequestSchema)` to create a new message.
|
|
370
395
|
*/
|
|
371
|
-
export const ListServicesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
396
|
+
export const ListServicesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 76);
|
|
372
397
|
/**
|
|
373
398
|
* Describes the message openshell.v1.ListServicesResponse.
|
|
374
399
|
* Use `create(ListServicesResponseSchema)` to create a new message.
|
|
375
400
|
*/
|
|
376
|
-
export const ListServicesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
401
|
+
export const ListServicesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 77);
|
|
377
402
|
/**
|
|
378
403
|
* Describes the message openshell.v1.DeleteServiceRequest.
|
|
379
404
|
* Use `create(DeleteServiceRequestSchema)` to create a new message.
|
|
380
405
|
*/
|
|
381
|
-
export const DeleteServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
406
|
+
export const DeleteServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 78);
|
|
382
407
|
/**
|
|
383
408
|
* Describes the message openshell.v1.DeleteServiceResponse.
|
|
384
409
|
* Use `create(DeleteServiceResponseSchema)` to create a new message.
|
|
385
410
|
*/
|
|
386
|
-
export const DeleteServiceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
411
|
+
export const DeleteServiceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 79);
|
|
387
412
|
/**
|
|
388
413
|
* Describes the message openshell.v1.ServiceEndpoint.
|
|
389
414
|
* Use `create(ServiceEndpointSchema)` to create a new message.
|
|
390
415
|
*/
|
|
391
|
-
export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
416
|
+
export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 80);
|
|
392
417
|
/**
|
|
393
418
|
* Describes the message openshell.v1.ServiceEndpointResponse.
|
|
394
419
|
* Use `create(ServiceEndpointResponseSchema)` to create a new message.
|
|
395
420
|
*/
|
|
396
|
-
export const ServiceEndpointResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
421
|
+
export const ServiceEndpointResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 81);
|
|
397
422
|
/**
|
|
398
423
|
* Describes the message openshell.v1.RevokeSshSessionRequest.
|
|
399
424
|
* Use `create(RevokeSshSessionRequestSchema)` to create a new message.
|
|
400
425
|
*/
|
|
401
|
-
export const RevokeSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
426
|
+
export const RevokeSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 82);
|
|
402
427
|
/**
|
|
403
428
|
* Describes the message openshell.v1.RevokeSshSessionResponse.
|
|
404
429
|
* Use `create(RevokeSshSessionResponseSchema)` to create a new message.
|
|
405
430
|
*/
|
|
406
|
-
export const RevokeSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
431
|
+
export const RevokeSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 83);
|
|
407
432
|
/**
|
|
408
433
|
* Describes the message openshell.v1.ExecSandboxRequest.
|
|
409
434
|
* Use `create(ExecSandboxRequestSchema)` to create a new message.
|
|
410
435
|
*/
|
|
411
|
-
export const ExecSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
436
|
+
export const ExecSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 84);
|
|
412
437
|
/**
|
|
413
438
|
* Describes the message openshell.v1.ExecSandboxStdout.
|
|
414
439
|
* Use `create(ExecSandboxStdoutSchema)` to create a new message.
|
|
415
440
|
*/
|
|
416
|
-
export const ExecSandboxStdoutSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
441
|
+
export const ExecSandboxStdoutSchema = /*@__PURE__*/ messageDesc(file_openshell, 85);
|
|
417
442
|
/**
|
|
418
443
|
* Describes the message openshell.v1.ExecSandboxStderr.
|
|
419
444
|
* Use `create(ExecSandboxStderrSchema)` to create a new message.
|
|
420
445
|
*/
|
|
421
|
-
export const ExecSandboxStderrSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
446
|
+
export const ExecSandboxStderrSchema = /*@__PURE__*/ messageDesc(file_openshell, 86);
|
|
422
447
|
/**
|
|
423
448
|
* Describes the message openshell.v1.ExecSandboxExit.
|
|
424
449
|
* Use `create(ExecSandboxExitSchema)` to create a new message.
|
|
425
450
|
*/
|
|
426
|
-
export const ExecSandboxExitSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
451
|
+
export const ExecSandboxExitSchema = /*@__PURE__*/ messageDesc(file_openshell, 87);
|
|
427
452
|
/**
|
|
428
453
|
* Describes the message openshell.v1.ExecSandboxEvent.
|
|
429
454
|
* Use `create(ExecSandboxEventSchema)` to create a new message.
|
|
430
455
|
*/
|
|
431
|
-
export const ExecSandboxEventSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
456
|
+
export const ExecSandboxEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 88);
|
|
432
457
|
/**
|
|
433
458
|
* Describes the message openshell.v1.TcpForwardInit.
|
|
434
459
|
* Use `create(TcpForwardInitSchema)` to create a new message.
|
|
435
460
|
*/
|
|
436
|
-
export const TcpForwardInitSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
461
|
+
export const TcpForwardInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 89);
|
|
437
462
|
/**
|
|
438
463
|
* Describes the message openshell.v1.TcpForwardFrame.
|
|
439
464
|
* Use `create(TcpForwardFrameSchema)` to create a new message.
|
|
440
465
|
*/
|
|
441
|
-
export const TcpForwardFrameSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
466
|
+
export const TcpForwardFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 90);
|
|
442
467
|
/**
|
|
443
468
|
* Describes the message openshell.v1.ExecSandboxInput.
|
|
444
469
|
* Use `create(ExecSandboxInputSchema)` to create a new message.
|
|
445
470
|
*/
|
|
446
|
-
export const ExecSandboxInputSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
471
|
+
export const ExecSandboxInputSchema = /*@__PURE__*/ messageDesc(file_openshell, 91);
|
|
447
472
|
/**
|
|
448
473
|
* Describes the message openshell.v1.ExecSandboxWindowResize.
|
|
449
474
|
* Use `create(ExecSandboxWindowResizeSchema)` to create a new message.
|
|
450
475
|
*/
|
|
451
|
-
export const ExecSandboxWindowResizeSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
476
|
+
export const ExecSandboxWindowResizeSchema = /*@__PURE__*/ messageDesc(file_openshell, 92);
|
|
452
477
|
/**
|
|
453
478
|
* Describes the message openshell.v1.SshSession.
|
|
454
479
|
* Use `create(SshSessionSchema)` to create a new message.
|
|
455
480
|
*/
|
|
456
|
-
export const SshSessionSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
481
|
+
export const SshSessionSchema = /*@__PURE__*/ messageDesc(file_openshell, 93);
|
|
457
482
|
/**
|
|
458
483
|
* Describes the message openshell.v1.WatchSandboxRequest.
|
|
459
484
|
* Use `create(WatchSandboxRequestSchema)` to create a new message.
|
|
460
485
|
*/
|
|
461
|
-
export const WatchSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
486
|
+
export const WatchSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 94);
|
|
462
487
|
/**
|
|
463
488
|
* Describes the message openshell.v1.SandboxStreamEvent.
|
|
464
489
|
* Use `create(SandboxStreamEventSchema)` to create a new message.
|
|
465
490
|
*/
|
|
466
|
-
export const SandboxStreamEventSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
491
|
+
export const SandboxStreamEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 95);
|
|
467
492
|
/**
|
|
468
493
|
* Describes the message openshell.v1.SandboxLogLine.
|
|
469
494
|
* Use `create(SandboxLogLineSchema)` to create a new message.
|
|
470
495
|
*/
|
|
471
|
-
export const SandboxLogLineSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
496
|
+
export const SandboxLogLineSchema = /*@__PURE__*/ messageDesc(file_openshell, 96);
|
|
472
497
|
/**
|
|
473
498
|
* Describes the message openshell.v1.SandboxStreamWarning.
|
|
474
499
|
* Use `create(SandboxStreamWarningSchema)` to create a new message.
|
|
475
500
|
*/
|
|
476
|
-
export const SandboxStreamWarningSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
501
|
+
export const SandboxStreamWarningSchema = /*@__PURE__*/ messageDesc(file_openshell, 97);
|
|
477
502
|
/**
|
|
478
503
|
* Describes the message openshell.v1.CreateProviderRequest.
|
|
479
504
|
* Use `create(CreateProviderRequestSchema)` to create a new message.
|
|
480
505
|
*/
|
|
481
|
-
export const CreateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
506
|
+
export const CreateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 98);
|
|
482
507
|
/**
|
|
483
508
|
* Describes the message openshell.v1.GetProviderRequest.
|
|
484
509
|
* Use `create(GetProviderRequestSchema)` to create a new message.
|
|
485
510
|
*/
|
|
486
|
-
export const GetProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
511
|
+
export const GetProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 99);
|
|
487
512
|
/**
|
|
488
513
|
* Describes the message openshell.v1.GetProviderCredentialsRequest.
|
|
489
514
|
* Use `create(GetProviderCredentialsRequestSchema)` to create a new message.
|
|
490
515
|
*/
|
|
491
|
-
export const GetProviderCredentialsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
516
|
+
export const GetProviderCredentialsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 100);
|
|
492
517
|
/**
|
|
493
518
|
* Describes the message openshell.v1.ProviderCredentialValue.
|
|
494
519
|
* Use `create(ProviderCredentialValueSchema)` to create a new message.
|
|
495
520
|
*/
|
|
496
|
-
export const ProviderCredentialValueSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
521
|
+
export const ProviderCredentialValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 101);
|
|
497
522
|
/**
|
|
498
523
|
* Describes the message openshell.v1.GetProviderCredentialsResponse.
|
|
499
524
|
* Use `create(GetProviderCredentialsResponseSchema)` to create a new message.
|
|
500
525
|
*/
|
|
501
|
-
export const GetProviderCredentialsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
526
|
+
export const GetProviderCredentialsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 102);
|
|
502
527
|
/**
|
|
503
528
|
* Describes the message openshell.v1.ListProvidersRequest.
|
|
504
529
|
* Use `create(ListProvidersRequestSchema)` to create a new message.
|
|
505
530
|
*/
|
|
506
|
-
export const ListProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
531
|
+
export const ListProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 103);
|
|
507
532
|
/**
|
|
508
533
|
* Describes the message openshell.v1.UpdateProviderRequest.
|
|
509
534
|
* Use `create(UpdateProviderRequestSchema)` to create a new message.
|
|
510
535
|
*/
|
|
511
|
-
export const UpdateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
536
|
+
export const UpdateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 104);
|
|
512
537
|
/**
|
|
513
538
|
* Describes the message openshell.v1.DeleteProviderRequest.
|
|
514
539
|
* Use `create(DeleteProviderRequestSchema)` to create a new message.
|
|
515
540
|
*/
|
|
516
|
-
export const DeleteProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
541
|
+
export const DeleteProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 105);
|
|
517
542
|
/**
|
|
518
543
|
* Describes the message openshell.v1.ProviderResponse.
|
|
519
544
|
* Use `create(ProviderResponseSchema)` to create a new message.
|
|
520
545
|
*/
|
|
521
|
-
export const ProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
546
|
+
export const ProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 106);
|
|
522
547
|
/**
|
|
523
548
|
* Describes the message openshell.v1.ListProvidersResponse.
|
|
524
549
|
* Use `create(ListProvidersResponseSchema)` to create a new message.
|
|
525
550
|
*/
|
|
526
|
-
export const ListProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
551
|
+
export const ListProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 107);
|
|
527
552
|
/**
|
|
528
553
|
* Describes the message openshell.v1.ListProviderProfilesRequest.
|
|
529
554
|
* Use `create(ListProviderProfilesRequestSchema)` to create a new message.
|
|
530
555
|
*/
|
|
531
|
-
export const ListProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
556
|
+
export const ListProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 108);
|
|
532
557
|
/**
|
|
533
558
|
* Describes the message openshell.v1.GetProviderProfileRequest.
|
|
534
559
|
* Use `create(GetProviderProfileRequestSchema)` to create a new message.
|
|
535
560
|
*/
|
|
536
|
-
export const GetProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
561
|
+
export const GetProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 109);
|
|
537
562
|
/**
|
|
538
563
|
* Describes the message openshell.v1.ProviderProfileImportItem.
|
|
539
564
|
* Use `create(ProviderProfileImportItemSchema)` to create a new message.
|
|
540
565
|
*/
|
|
541
|
-
export const ProviderProfileImportItemSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
566
|
+
export const ProviderProfileImportItemSchema = /*@__PURE__*/ messageDesc(file_openshell, 110);
|
|
542
567
|
/**
|
|
543
568
|
* Describes the message openshell.v1.ProviderProfileDiagnostic.
|
|
544
569
|
* Use `create(ProviderProfileDiagnosticSchema)` to create a new message.
|
|
545
570
|
*/
|
|
546
|
-
export const ProviderProfileDiagnosticSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
571
|
+
export const ProviderProfileDiagnosticSchema = /*@__PURE__*/ messageDesc(file_openshell, 111);
|
|
547
572
|
/**
|
|
548
573
|
* Describes the message openshell.v1.ProviderCredentialTokenGrantAudienceOverride.
|
|
549
574
|
* Use `create(ProviderCredentialTokenGrantAudienceOverrideSchema)` to create a new message.
|
|
550
575
|
*/
|
|
551
|
-
export const ProviderCredentialTokenGrantAudienceOverrideSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
576
|
+
export const ProviderCredentialTokenGrantAudienceOverrideSchema = /*@__PURE__*/ messageDesc(file_openshell, 112);
|
|
552
577
|
/**
|
|
553
578
|
* Describes the message openshell.v1.ProviderCredentialTokenGrantSubjectToken.
|
|
554
579
|
* Use `create(ProviderCredentialTokenGrantSubjectTokenSchema)` to create a new message.
|
|
555
580
|
*/
|
|
556
|
-
export const ProviderCredentialTokenGrantSubjectTokenSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
581
|
+
export const ProviderCredentialTokenGrantSubjectTokenSchema = /*@__PURE__*/ messageDesc(file_openshell, 113);
|
|
557
582
|
/**
|
|
558
583
|
* Describes the message openshell.v1.ProviderCredentialTokenGrant.
|
|
559
584
|
* Use `create(ProviderCredentialTokenGrantSchema)` to create a new message.
|
|
560
585
|
*/
|
|
561
|
-
export const ProviderCredentialTokenGrantSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
586
|
+
export const ProviderCredentialTokenGrantSchema = /*@__PURE__*/ messageDesc(file_openshell, 114);
|
|
562
587
|
/**
|
|
563
588
|
* Describes the message openshell.v1.ProviderProfileCredential.
|
|
564
589
|
* Use `create(ProviderProfileCredentialSchema)` to create a new message.
|
|
565
590
|
*/
|
|
566
|
-
export const ProviderProfileCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
591
|
+
export const ProviderProfileCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 115);
|
|
567
592
|
/**
|
|
568
593
|
* Describes the message openshell.v1.ProviderCredentialRefreshMaterial.
|
|
569
594
|
* Use `create(ProviderCredentialRefreshMaterialSchema)` to create a new message.
|
|
570
595
|
*/
|
|
571
|
-
export const ProviderCredentialRefreshMaterialSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
596
|
+
export const ProviderCredentialRefreshMaterialSchema = /*@__PURE__*/ messageDesc(file_openshell, 116);
|
|
572
597
|
/**
|
|
573
598
|
* Describes the message openshell.v1.ProviderCredentialRefreshOutput.
|
|
574
599
|
* Use `create(ProviderCredentialRefreshOutputSchema)` to create a new message.
|
|
575
600
|
*/
|
|
576
|
-
export const ProviderCredentialRefreshOutputSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
601
|
+
export const ProviderCredentialRefreshOutputSchema = /*@__PURE__*/ messageDesc(file_openshell, 117);
|
|
577
602
|
/**
|
|
578
603
|
* Describes the message openshell.v1.ProviderCredentialRefresh.
|
|
579
604
|
* Use `create(ProviderCredentialRefreshSchema)` to create a new message.
|
|
580
605
|
*/
|
|
581
|
-
export const ProviderCredentialRefreshSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
606
|
+
export const ProviderCredentialRefreshSchema = /*@__PURE__*/ messageDesc(file_openshell, 118);
|
|
582
607
|
/**
|
|
583
608
|
* Describes the message openshell.v1.ProviderCredentialRefreshStatus.
|
|
584
609
|
* Use `create(ProviderCredentialRefreshStatusSchema)` to create a new message.
|
|
585
610
|
*/
|
|
586
|
-
export const ProviderCredentialRefreshStatusSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
611
|
+
export const ProviderCredentialRefreshStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 119);
|
|
587
612
|
/**
|
|
588
613
|
* Describes the message openshell.v1.ProviderProfileDiscovery.
|
|
589
614
|
* Use `create(ProviderProfileDiscoverySchema)` to create a new message.
|
|
590
615
|
*/
|
|
591
|
-
export const ProviderProfileDiscoverySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
616
|
+
export const ProviderProfileDiscoverySchema = /*@__PURE__*/ messageDesc(file_openshell, 120);
|
|
592
617
|
/**
|
|
593
618
|
* Describes the message openshell.v1.GetProviderRefreshStatusRequest.
|
|
594
619
|
* Use `create(GetProviderRefreshStatusRequestSchema)` to create a new message.
|
|
595
620
|
*/
|
|
596
|
-
export const GetProviderRefreshStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
621
|
+
export const GetProviderRefreshStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 121);
|
|
597
622
|
/**
|
|
598
623
|
* Describes the message openshell.v1.GetProviderRefreshStatusResponse.
|
|
599
624
|
* Use `create(GetProviderRefreshStatusResponseSchema)` to create a new message.
|
|
600
625
|
*/
|
|
601
|
-
export const GetProviderRefreshStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
626
|
+
export const GetProviderRefreshStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
|
|
602
627
|
/**
|
|
603
628
|
* Describes the message openshell.v1.ConfigureProviderRefreshRequest.
|
|
604
629
|
* Use `create(ConfigureProviderRefreshRequestSchema)` to create a new message.
|
|
605
630
|
*/
|
|
606
|
-
export const ConfigureProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
631
|
+
export const ConfigureProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
|
|
607
632
|
/**
|
|
608
633
|
* Describes the message openshell.v1.ConfigureProviderRefreshResponse.
|
|
609
634
|
* Use `create(ConfigureProviderRefreshResponseSchema)` to create a new message.
|
|
610
635
|
*/
|
|
611
|
-
export const ConfigureProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
636
|
+
export const ConfigureProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
|
|
612
637
|
/**
|
|
613
638
|
* Describes the message openshell.v1.RotateProviderCredentialRequest.
|
|
614
639
|
* Use `create(RotateProviderCredentialRequestSchema)` to create a new message.
|
|
615
640
|
*/
|
|
616
|
-
export const RotateProviderCredentialRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
641
|
+
export const RotateProviderCredentialRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
|
|
617
642
|
/**
|
|
618
643
|
* Describes the message openshell.v1.RotateProviderCredentialResponse.
|
|
619
644
|
* Use `create(RotateProviderCredentialResponseSchema)` to create a new message.
|
|
620
645
|
*/
|
|
621
|
-
export const RotateProviderCredentialResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
646
|
+
export const RotateProviderCredentialResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
|
|
622
647
|
/**
|
|
623
648
|
* Describes the message openshell.v1.DeleteProviderRefreshRequest.
|
|
624
649
|
* Use `create(DeleteProviderRefreshRequestSchema)` to create a new message.
|
|
625
650
|
*/
|
|
626
|
-
export const DeleteProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
651
|
+
export const DeleteProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
|
|
627
652
|
/**
|
|
628
653
|
* Describes the message openshell.v1.DeleteProviderRefreshResponse.
|
|
629
654
|
* Use `create(DeleteProviderRefreshResponseSchema)` to create a new message.
|
|
630
655
|
*/
|
|
631
|
-
export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
656
|
+
export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
|
|
632
657
|
/**
|
|
633
658
|
* Describes the message openshell.v1.ProviderProfile.
|
|
634
659
|
* Use `create(ProviderProfileSchema)` to create a new message.
|
|
635
660
|
*/
|
|
636
|
-
export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
661
|
+
export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
|
|
637
662
|
/**
|
|
638
663
|
* Describes the message openshell.v1.ProviderProfileFile.
|
|
639
664
|
* Use `create(ProviderProfileFileSchema)` to create a new message.
|
|
640
665
|
*/
|
|
641
|
-
export const ProviderProfileFileSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
666
|
+
export const ProviderProfileFileSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
|
|
642
667
|
/**
|
|
643
668
|
* Describes the message openshell.v1.ProviderProfileResponse.
|
|
644
669
|
* Use `create(ProviderProfileResponseSchema)` to create a new message.
|
|
645
670
|
*/
|
|
646
|
-
export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
671
|
+
export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
|
|
647
672
|
/**
|
|
648
673
|
* Describes the message openshell.v1.ListProviderProfilesResponse.
|
|
649
674
|
* Use `create(ListProviderProfilesResponseSchema)` to create a new message.
|
|
650
675
|
*/
|
|
651
|
-
export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
676
|
+
export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
|
|
652
677
|
/**
|
|
653
678
|
* Describes the message openshell.v1.ImportProviderProfilesRequest.
|
|
654
679
|
* Use `create(ImportProviderProfilesRequestSchema)` to create a new message.
|
|
655
680
|
*/
|
|
656
|
-
export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
681
|
+
export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
|
|
657
682
|
/**
|
|
658
683
|
* Describes the message openshell.v1.ImportProviderProfilesResponse.
|
|
659
684
|
* Use `create(ImportProviderProfilesResponseSchema)` to create a new message.
|
|
660
685
|
*/
|
|
661
|
-
export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
686
|
+
export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
|
|
662
687
|
/**
|
|
663
688
|
* Describes the message openshell.v1.UpdateProviderProfilesRequest.
|
|
664
689
|
* Use `create(UpdateProviderProfilesRequestSchema)` to create a new message.
|
|
665
690
|
*/
|
|
666
|
-
export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
691
|
+
export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
|
|
667
692
|
/**
|
|
668
693
|
* Describes the message openshell.v1.UpdateProviderProfilesResponse.
|
|
669
694
|
* Use `create(UpdateProviderProfilesResponseSchema)` to create a new message.
|
|
670
695
|
*/
|
|
671
|
-
export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
696
|
+
export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
|
|
672
697
|
/**
|
|
673
698
|
* Describes the message openshell.v1.LintProviderProfilesRequest.
|
|
674
699
|
* Use `create(LintProviderProfilesRequestSchema)` to create a new message.
|
|
675
700
|
*/
|
|
676
|
-
export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
701
|
+
export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
|
|
677
702
|
/**
|
|
678
703
|
* Describes the message openshell.v1.LintProviderProfilesResponse.
|
|
679
704
|
* Use `create(LintProviderProfilesResponseSchema)` to create a new message.
|
|
680
705
|
*/
|
|
681
|
-
export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
706
|
+
export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
|
|
682
707
|
/**
|
|
683
708
|
* Describes the message openshell.v1.DeleteProviderResponse.
|
|
684
709
|
* Use `create(DeleteProviderResponseSchema)` to create a new message.
|
|
685
710
|
*/
|
|
686
|
-
export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
711
|
+
export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
|
|
687
712
|
/**
|
|
688
713
|
* Describes the message openshell.v1.DeleteProviderProfileRequest.
|
|
689
714
|
* Use `create(DeleteProviderProfileRequestSchema)` to create a new message.
|
|
690
715
|
*/
|
|
691
|
-
export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
716
|
+
export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
|
|
692
717
|
/**
|
|
693
718
|
* Describes the message openshell.v1.DeleteProviderProfileResponse.
|
|
694
719
|
* Use `create(DeleteProviderProfileResponseSchema)` to create a new message.
|
|
695
720
|
*/
|
|
696
|
-
export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
721
|
+
export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
|
|
697
722
|
/**
|
|
698
723
|
* Describes the message openshell.v1.GetSandboxProviderEnvironmentRequest.
|
|
699
724
|
* Use `create(GetSandboxProviderEnvironmentRequestSchema)` to create a new message.
|
|
700
725
|
*/
|
|
701
|
-
export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
726
|
+
export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
|
|
702
727
|
/**
|
|
703
728
|
* Describes the message openshell.v1.StaticCredentialEndpointBinding.
|
|
704
729
|
* Use `create(StaticCredentialEndpointBindingSchema)` to create a new message.
|
|
705
730
|
*/
|
|
706
|
-
export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
731
|
+
export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
|
|
707
732
|
/**
|
|
708
733
|
* Describes the message openshell.v1.StaticCredentialBinding.
|
|
709
734
|
* Use `create(StaticCredentialBindingSchema)` to create a new message.
|
|
710
735
|
*/
|
|
711
|
-
export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
736
|
+
export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
|
|
712
737
|
/**
|
|
713
738
|
* Describes the message openshell.v1.GetSandboxProviderEnvironmentResponse.
|
|
714
739
|
* Use `create(GetSandboxProviderEnvironmentResponseSchema)` to create a new message.
|
|
715
740
|
*/
|
|
716
|
-
export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
741
|
+
export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
|
|
717
742
|
/**
|
|
718
743
|
* Describes the message openshell.v1.ProviderEnvironmentValue.
|
|
719
744
|
* Use `create(ProviderEnvironmentValueSchema)` to create a new message.
|
|
720
745
|
*/
|
|
721
|
-
export const ProviderEnvironmentValueSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
746
|
+
export const ProviderEnvironmentValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
|
|
722
747
|
/**
|
|
723
748
|
* Describes the message openshell.v1.ProviderEnvironmentSnapshot.
|
|
724
749
|
* Use `create(ProviderEnvironmentSnapshotSchema)` to create a new message.
|
|
725
750
|
*/
|
|
726
|
-
export const ProviderEnvironmentSnapshotSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
751
|
+
export const ProviderEnvironmentSnapshotSchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
|
|
727
752
|
/**
|
|
728
753
|
* Describes the message openshell.v1.ExchangeProviderSubjectTokenRequest.
|
|
729
754
|
* Use `create(ExchangeProviderSubjectTokenRequestSchema)` to create a new message.
|
|
730
755
|
*/
|
|
731
|
-
export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
756
|
+
export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
|
|
732
757
|
/**
|
|
733
758
|
* Describes the message openshell.v1.ExchangeProviderSubjectTokenResponse.
|
|
734
759
|
* Use `create(ExchangeProviderSubjectTokenResponseSchema)` to create a new message.
|
|
735
760
|
*/
|
|
736
|
-
export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
761
|
+
export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
|
|
737
762
|
/**
|
|
738
763
|
* Describes the message openshell.v1.UpdateConfigRequest.
|
|
739
764
|
* Use `create(UpdateConfigRequestSchema)` to create a new message.
|
|
740
765
|
*/
|
|
741
|
-
export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
766
|
+
export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
|
|
742
767
|
/**
|
|
743
768
|
* Describes the message openshell.v1.PolicyMergeOperation.
|
|
744
769
|
* Use `create(PolicyMergeOperationSchema)` to create a new message.
|
|
745
770
|
*/
|
|
746
|
-
export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
771
|
+
export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
|
|
747
772
|
/**
|
|
748
773
|
* Describes the message openshell.v1.AddNetworkRule.
|
|
749
774
|
* Use `create(AddNetworkRuleSchema)` to create a new message.
|
|
750
775
|
*/
|
|
751
|
-
export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
776
|
+
export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
|
|
752
777
|
/**
|
|
753
778
|
* Describes the message openshell.v1.RemoveNetworkEndpoint.
|
|
754
779
|
* Use `create(RemoveNetworkEndpointSchema)` to create a new message.
|
|
755
780
|
*/
|
|
756
|
-
export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
781
|
+
export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
|
|
757
782
|
/**
|
|
758
783
|
* Describes the message openshell.v1.RemoveNetworkRule.
|
|
759
784
|
* Use `create(RemoveNetworkRuleSchema)` to create a new message.
|
|
760
785
|
*/
|
|
761
|
-
export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
786
|
+
export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
|
|
762
787
|
/**
|
|
763
788
|
* Describes the message openshell.v1.L7RuleTarget.
|
|
764
789
|
* Use `create(L7RuleTargetSchema)` to create a new message.
|
|
765
790
|
*/
|
|
766
|
-
export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
791
|
+
export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
|
|
767
792
|
/**
|
|
768
793
|
* Describes the message openshell.v1.AddDenyRules.
|
|
769
794
|
* Use `create(AddDenyRulesSchema)` to create a new message.
|
|
770
795
|
*/
|
|
771
|
-
export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
796
|
+
export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
|
|
772
797
|
/**
|
|
773
798
|
* Describes the message openshell.v1.AddAllowRules.
|
|
774
799
|
* Use `create(AddAllowRulesSchema)` to create a new message.
|
|
775
800
|
*/
|
|
776
|
-
export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
801
|
+
export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
|
|
777
802
|
/**
|
|
778
803
|
* Describes the message openshell.v1.RemoveNetworkBinary.
|
|
779
804
|
* Use `create(RemoveNetworkBinarySchema)` to create a new message.
|
|
780
805
|
*/
|
|
781
|
-
export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
806
|
+
export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
|
|
782
807
|
/**
|
|
783
808
|
* Describes the message openshell.v1.UpdateConfigResponse.
|
|
784
809
|
* Use `create(UpdateConfigResponseSchema)` to create a new message.
|
|
785
810
|
*/
|
|
786
|
-
export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
811
|
+
export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
|
|
787
812
|
/**
|
|
788
813
|
* Describes the message openshell.v1.GetSandboxPolicyStatusRequest.
|
|
789
814
|
* Use `create(GetSandboxPolicyStatusRequestSchema)` to create a new message.
|
|
790
815
|
*/
|
|
791
|
-
export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
816
|
+
export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
|
|
792
817
|
/**
|
|
793
818
|
* Describes the message openshell.v1.GetSandboxPolicyStatusResponse.
|
|
794
819
|
* Use `create(GetSandboxPolicyStatusResponseSchema)` to create a new message.
|
|
795
820
|
*/
|
|
796
|
-
export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
821
|
+
export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
|
|
797
822
|
/**
|
|
798
823
|
* Describes the message openshell.v1.ListSandboxPoliciesRequest.
|
|
799
824
|
* Use `create(ListSandboxPoliciesRequestSchema)` to create a new message.
|
|
800
825
|
*/
|
|
801
|
-
export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
826
|
+
export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
|
|
802
827
|
/**
|
|
803
828
|
* Describes the message openshell.v1.ListSandboxPoliciesResponse.
|
|
804
829
|
* Use `create(ListSandboxPoliciesResponseSchema)` to create a new message.
|
|
805
830
|
*/
|
|
806
|
-
export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
831
|
+
export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
|
|
807
832
|
/**
|
|
808
833
|
* Describes the message openshell.v1.ReportPolicyStatusRequest.
|
|
809
834
|
* Use `create(ReportPolicyStatusRequestSchema)` to create a new message.
|
|
810
835
|
*/
|
|
811
|
-
export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
836
|
+
export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
|
|
812
837
|
/**
|
|
813
838
|
* Describes the message openshell.v1.ReportPolicyStatusResponse.
|
|
814
839
|
* Use `create(ReportPolicyStatusResponseSchema)` to create a new message.
|
|
815
840
|
*/
|
|
816
|
-
export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
841
|
+
export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
|
|
817
842
|
/**
|
|
818
843
|
* Describes the message openshell.v1.SandboxConfigurationAdmission.
|
|
819
844
|
* Use `create(SandboxConfigurationAdmissionSchema)` to create a new message.
|
|
820
845
|
*/
|
|
821
|
-
export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
846
|
+
export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
|
|
822
847
|
/**
|
|
823
848
|
* Describes the message openshell.v1.ReportSandboxConfigurationRequest.
|
|
824
849
|
* Use `create(ReportSandboxConfigurationRequestSchema)` to create a new message.
|
|
825
850
|
*/
|
|
826
|
-
export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
851
|
+
export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
|
|
827
852
|
/**
|
|
828
853
|
* Describes the message openshell.v1.ReportSandboxConfigurationResponse.
|
|
829
854
|
* Use `create(ReportSandboxConfigurationResponseSchema)` to create a new message.
|
|
830
855
|
*/
|
|
831
|
-
export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
856
|
+
export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
|
|
832
857
|
/**
|
|
833
858
|
* Describes the message openshell.v1.SandboxPolicyRevision.
|
|
834
859
|
* Use `create(SandboxPolicyRevisionSchema)` to create a new message.
|
|
835
860
|
*/
|
|
836
|
-
export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
861
|
+
export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
|
|
837
862
|
/**
|
|
838
863
|
* Describes the message openshell.v1.GetSandboxLogsRequest.
|
|
839
864
|
* Use `create(GetSandboxLogsRequestSchema)` to create a new message.
|
|
840
865
|
*/
|
|
841
|
-
export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
866
|
+
export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
|
|
842
867
|
/**
|
|
843
868
|
* Describes the message openshell.v1.PushSandboxLogsRequest.
|
|
844
869
|
* Use `create(PushSandboxLogsRequestSchema)` to create a new message.
|
|
845
870
|
*/
|
|
846
|
-
export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
871
|
+
export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
|
|
847
872
|
/**
|
|
848
873
|
* Describes the message openshell.v1.PushSandboxLogsResponse.
|
|
849
874
|
* Use `create(PushSandboxLogsResponseSchema)` to create a new message.
|
|
850
875
|
*/
|
|
851
|
-
export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
876
|
+
export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
|
|
852
877
|
/**
|
|
853
878
|
* Describes the message openshell.v1.GetSandboxLogsResponse.
|
|
854
879
|
* Use `create(GetSandboxLogsResponseSchema)` to create a new message.
|
|
855
880
|
*/
|
|
856
|
-
export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
881
|
+
export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
|
|
857
882
|
/**
|
|
858
883
|
* Describes the message openshell.v1.SupervisorMessage.
|
|
859
884
|
* Use `create(SupervisorMessageSchema)` to create a new message.
|
|
860
885
|
*/
|
|
861
|
-
export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
886
|
+
export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
|
|
862
887
|
/**
|
|
863
888
|
* Describes the message openshell.v1.GatewayMessage.
|
|
864
889
|
* Use `create(GatewayMessageSchema)` to create a new message.
|
|
865
890
|
*/
|
|
866
|
-
export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
891
|
+
export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
|
|
867
892
|
/**
|
|
868
893
|
* Describes the message openshell.v1.SupervisorHello.
|
|
869
894
|
* Use `create(SupervisorHelloSchema)` to create a new message.
|
|
870
895
|
*/
|
|
871
|
-
export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
896
|
+
export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
|
|
872
897
|
/**
|
|
873
898
|
* Describes the message openshell.v1.SessionAccepted.
|
|
874
899
|
* Use `create(SessionAcceptedSchema)` to create a new message.
|
|
875
900
|
*/
|
|
876
|
-
export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
901
|
+
export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
|
|
877
902
|
/**
|
|
878
903
|
* Describes the message openshell.v1.ConfigUpdate.
|
|
879
904
|
* Use `create(ConfigUpdateSchema)` to create a new message.
|
|
880
905
|
*/
|
|
881
|
-
export const ConfigUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
906
|
+
export const ConfigUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
|
|
882
907
|
/**
|
|
883
908
|
* Describes the message openshell.v1.ConfigApplyFailure.
|
|
884
909
|
* Use `create(ConfigApplyFailureSchema)` to create a new message.
|
|
885
910
|
*/
|
|
886
|
-
export const ConfigApplyFailureSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
911
|
+
export const ConfigApplyFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
|
|
887
912
|
/**
|
|
888
913
|
* Describes the message openshell.v1.ConfigUpdateResult.
|
|
889
914
|
* Use `create(ConfigUpdateResultSchema)` to create a new message.
|
|
890
915
|
*/
|
|
891
|
-
export const ConfigUpdateResultSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
916
|
+
export const ConfigUpdateResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
|
|
892
917
|
/**
|
|
893
918
|
* Describes the message openshell.v1.PolicyLoadResult.
|
|
894
919
|
* Use `create(PolicyLoadResultSchema)` to create a new message.
|
|
895
920
|
*/
|
|
896
|
-
export const PolicyLoadResultSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
921
|
+
export const PolicyLoadResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
|
|
897
922
|
/**
|
|
898
923
|
* Describes the message openshell.v1.SessionRejected.
|
|
899
924
|
* Use `create(SessionRejectedSchema)` to create a new message.
|
|
900
925
|
*/
|
|
901
|
-
export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
926
|
+
export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
|
|
902
927
|
/**
|
|
903
928
|
* Describes the message openshell.v1.SessionRedirect.
|
|
904
929
|
* Use `create(SessionRedirectSchema)` to create a new message.
|
|
905
930
|
*/
|
|
906
|
-
export const SessionRedirectSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
931
|
+
export const SessionRedirectSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
|
|
907
932
|
/**
|
|
908
933
|
* Describes the message openshell.v1.SupervisorHeartbeat.
|
|
909
934
|
* Use `create(SupervisorHeartbeatSchema)` to create a new message.
|
|
910
935
|
*/
|
|
911
|
-
export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
936
|
+
export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
|
|
912
937
|
/**
|
|
913
938
|
* Describes the message openshell.v1.GatewayHeartbeat.
|
|
914
939
|
* Use `create(GatewayHeartbeatSchema)` to create a new message.
|
|
915
940
|
*/
|
|
916
|
-
export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
941
|
+
export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
|
|
917
942
|
/**
|
|
918
943
|
* Describes the message openshell.v1.ReportMainProcessExitRequest.
|
|
919
944
|
* Use `create(ReportMainProcessExitRequestSchema)` to create a new message.
|
|
920
945
|
*/
|
|
921
|
-
export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
946
|
+
export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 186);
|
|
922
947
|
/**
|
|
923
948
|
* Describes the message openshell.v1.ReportMainProcessExitResponse.
|
|
924
949
|
* Use `create(ReportMainProcessExitResponseSchema)` to create a new message.
|
|
925
950
|
*/
|
|
926
|
-
export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
951
|
+
export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 187);
|
|
927
952
|
/**
|
|
928
953
|
* Describes the message openshell.v1.FinalizeMainProcessExitRequest.
|
|
929
954
|
* Use `create(FinalizeMainProcessExitRequestSchema)` to create a new message.
|
|
930
955
|
*/
|
|
931
|
-
export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
956
|
+
export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 188);
|
|
932
957
|
/**
|
|
933
958
|
* Describes the message openshell.v1.FinalizeMainProcessExitResponse.
|
|
934
959
|
* Use `create(FinalizeMainProcessExitResponseSchema)` to create a new message.
|
|
935
960
|
*/
|
|
936
|
-
export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
961
|
+
export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 189);
|
|
937
962
|
/**
|
|
938
963
|
* Describes the message openshell.v1.RelayOpen.
|
|
939
964
|
* Use `create(RelayOpenSchema)` to create a new message.
|
|
940
965
|
*/
|
|
941
|
-
export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
966
|
+
export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 190);
|
|
942
967
|
/**
|
|
943
968
|
* Describes the message openshell.v1.SshRelayTarget.
|
|
944
969
|
* Use `create(SshRelayTargetSchema)` to create a new message.
|
|
945
970
|
*/
|
|
946
|
-
export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
971
|
+
export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 191);
|
|
947
972
|
/**
|
|
948
973
|
* Describes the message openshell.v1.TcpRelayTarget.
|
|
949
974
|
* Use `create(TcpRelayTargetSchema)` to create a new message.
|
|
950
975
|
*/
|
|
951
|
-
export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
976
|
+
export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 192);
|
|
952
977
|
/**
|
|
953
978
|
* Describes the message openshell.v1.RelayInit.
|
|
954
979
|
* Use `create(RelayInitSchema)` to create a new message.
|
|
955
980
|
*/
|
|
956
|
-
export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
981
|
+
export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 193);
|
|
957
982
|
/**
|
|
958
983
|
* Describes the message openshell.v1.RelayFrame.
|
|
959
984
|
* Use `create(RelayFrameSchema)` to create a new message.
|
|
960
985
|
*/
|
|
961
|
-
export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
986
|
+
export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 194);
|
|
962
987
|
/**
|
|
963
988
|
* Describes the message openshell.v1.PeerRelayInit.
|
|
964
989
|
* Use `create(PeerRelayInitSchema)` to create a new message.
|
|
965
990
|
*/
|
|
966
|
-
export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
991
|
+
export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 195);
|
|
967
992
|
/**
|
|
968
993
|
* Describes the message openshell.v1.PeerRelayFrame.
|
|
969
994
|
* Use `create(PeerRelayFrameSchema)` to create a new message.
|
|
970
995
|
*/
|
|
971
|
-
export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
996
|
+
export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 196);
|
|
972
997
|
/**
|
|
973
998
|
* Describes the message openshell.v1.PeerConfigSandboxTarget.
|
|
974
999
|
* Use `create(PeerConfigSandboxTargetSchema)` to create a new message.
|
|
975
1000
|
*/
|
|
976
|
-
export const PeerConfigSandboxTargetSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1001
|
+
export const PeerConfigSandboxTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 197);
|
|
977
1002
|
/**
|
|
978
1003
|
* Describes the message openshell.v1.PeerConfigProviderTarget.
|
|
979
1004
|
* Use `create(PeerConfigProviderTargetSchema)` to create a new message.
|
|
980
1005
|
*/
|
|
981
|
-
export const PeerConfigProviderTargetSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1006
|
+
export const PeerConfigProviderTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 198);
|
|
982
1007
|
/**
|
|
983
1008
|
* Describes the message openshell.v1.PeerNotifyConfigUpdateRequest.
|
|
984
1009
|
* Use `create(PeerNotifyConfigUpdateRequestSchema)` to create a new message.
|
|
985
1010
|
*/
|
|
986
|
-
export const PeerNotifyConfigUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1011
|
+
export const PeerNotifyConfigUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 199);
|
|
987
1012
|
/**
|
|
988
1013
|
* Describes the message openshell.v1.PeerNotifyConfigUpdateResponse.
|
|
989
1014
|
* Use `create(PeerNotifyConfigUpdateResponseSchema)` to create a new message.
|
|
990
1015
|
*/
|
|
991
|
-
export const PeerNotifyConfigUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1016
|
+
export const PeerNotifyConfigUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 200);
|
|
992
1017
|
/**
|
|
993
1018
|
* Describes the message openshell.v1.RelayOpenResult.
|
|
994
1019
|
* Use `create(RelayOpenResultSchema)` to create a new message.
|
|
995
1020
|
*/
|
|
996
|
-
export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1021
|
+
export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 201);
|
|
997
1022
|
/**
|
|
998
1023
|
* Describes the message openshell.v1.RelayClose.
|
|
999
1024
|
* Use `create(RelayCloseSchema)` to create a new message.
|
|
1000
1025
|
*/
|
|
1001
|
-
export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1026
|
+
export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 202);
|
|
1002
1027
|
/**
|
|
1003
1028
|
* Describes the message openshell.v1.L7RequestSample.
|
|
1004
1029
|
* Use `create(L7RequestSampleSchema)` to create a new message.
|
|
1005
1030
|
*/
|
|
1006
|
-
export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1031
|
+
export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 203);
|
|
1007
1032
|
/**
|
|
1008
1033
|
* Describes the message openshell.v1.DenialSummary.
|
|
1009
1034
|
* Use `create(DenialSummarySchema)` to create a new message.
|
|
1010
1035
|
*/
|
|
1011
|
-
export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1036
|
+
export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 204);
|
|
1012
1037
|
/**
|
|
1013
1038
|
* Describes the message openshell.v1.DenialGroupCount.
|
|
1014
1039
|
* Use `create(DenialGroupCountSchema)` to create a new message.
|
|
1015
1040
|
*/
|
|
1016
|
-
export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1041
|
+
export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 205);
|
|
1017
1042
|
/**
|
|
1018
1043
|
* Describes the message openshell.v1.NetworkActivitySummary.
|
|
1019
1044
|
* Use `create(NetworkActivitySummarySchema)` to create a new message.
|
|
1020
1045
|
*/
|
|
1021
|
-
export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1046
|
+
export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 206);
|
|
1022
1047
|
/**
|
|
1023
1048
|
* Describes the message openshell.v1.PolicyChunk.
|
|
1024
1049
|
* Use `create(PolicyChunkSchema)` to create a new message.
|
|
1025
1050
|
*/
|
|
1026
|
-
export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1051
|
+
export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 207);
|
|
1027
1052
|
/**
|
|
1028
1053
|
* Describes the message openshell.v1.DraftPolicyUpdate.
|
|
1029
1054
|
* Use `create(DraftPolicyUpdateSchema)` to create a new message.
|
|
1030
1055
|
*/
|
|
1031
|
-
export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1056
|
+
export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 208);
|
|
1032
1057
|
/**
|
|
1033
1058
|
* Describes the message openshell.v1.SubmitPolicyAnalysisRequest.
|
|
1034
1059
|
* Use `create(SubmitPolicyAnalysisRequestSchema)` to create a new message.
|
|
1035
1060
|
*/
|
|
1036
|
-
export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1061
|
+
export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 209);
|
|
1037
1062
|
/**
|
|
1038
1063
|
* Describes the message openshell.v1.SubmitPolicyAnalysisResponse.
|
|
1039
1064
|
* Use `create(SubmitPolicyAnalysisResponseSchema)` to create a new message.
|
|
1040
1065
|
*/
|
|
1041
|
-
export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1066
|
+
export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 210);
|
|
1042
1067
|
/**
|
|
1043
1068
|
* Describes the message openshell.v1.GetDraftPolicyRequest.
|
|
1044
1069
|
* Use `create(GetDraftPolicyRequestSchema)` to create a new message.
|
|
1045
1070
|
*/
|
|
1046
|
-
export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1071
|
+
export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 211);
|
|
1047
1072
|
/**
|
|
1048
1073
|
* Describes the message openshell.v1.GetDraftPolicyResponse.
|
|
1049
1074
|
* Use `create(GetDraftPolicyResponseSchema)` to create a new message.
|
|
1050
1075
|
*/
|
|
1051
|
-
export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1076
|
+
export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 212);
|
|
1052
1077
|
/**
|
|
1053
1078
|
* Describes the message openshell.v1.ApproveDraftChunkRequest.
|
|
1054
1079
|
* Use `create(ApproveDraftChunkRequestSchema)` to create a new message.
|
|
1055
1080
|
*/
|
|
1056
|
-
export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1081
|
+
export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 213);
|
|
1057
1082
|
/**
|
|
1058
1083
|
* Describes the message openshell.v1.ApproveDraftChunkResponse.
|
|
1059
1084
|
* Use `create(ApproveDraftChunkResponseSchema)` to create a new message.
|
|
1060
1085
|
*/
|
|
1061
|
-
export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1086
|
+
export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 214);
|
|
1062
1087
|
/**
|
|
1063
1088
|
* Describes the message openshell.v1.RejectDraftChunkRequest.
|
|
1064
1089
|
* Use `create(RejectDraftChunkRequestSchema)` to create a new message.
|
|
1065
1090
|
*/
|
|
1066
|
-
export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1091
|
+
export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 215);
|
|
1067
1092
|
/**
|
|
1068
1093
|
* Describes the message openshell.v1.RejectDraftChunkResponse.
|
|
1069
1094
|
* Use `create(RejectDraftChunkResponseSchema)` to create a new message.
|
|
1070
1095
|
*/
|
|
1071
|
-
export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1096
|
+
export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 216);
|
|
1072
1097
|
/**
|
|
1073
1098
|
* Describes the message openshell.v1.DraftChunkApproval.
|
|
1074
1099
|
* Use `create(DraftChunkApprovalSchema)` to create a new message.
|
|
1075
1100
|
*/
|
|
1076
|
-
export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1101
|
+
export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell, 217);
|
|
1077
1102
|
/**
|
|
1078
1103
|
* Describes the message openshell.v1.ApproveAllDraftChunksRequest.
|
|
1079
1104
|
* Use `create(ApproveAllDraftChunksRequestSchema)` to create a new message.
|
|
1080
1105
|
*/
|
|
1081
|
-
export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1106
|
+
export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 218);
|
|
1082
1107
|
/**
|
|
1083
1108
|
* Describes the message openshell.v1.ApproveAllDraftChunksResponse.
|
|
1084
1109
|
* Use `create(ApproveAllDraftChunksResponseSchema)` to create a new message.
|
|
1085
1110
|
*/
|
|
1086
|
-
export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1111
|
+
export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 219);
|
|
1087
1112
|
/**
|
|
1088
1113
|
* Describes the message openshell.v1.EditDraftChunkRequest.
|
|
1089
1114
|
* Use `create(EditDraftChunkRequestSchema)` to create a new message.
|
|
1090
1115
|
*/
|
|
1091
|
-
export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1116
|
+
export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 220);
|
|
1092
1117
|
/**
|
|
1093
1118
|
* Describes the message openshell.v1.EditDraftChunkResponse.
|
|
1094
1119
|
* Use `create(EditDraftChunkResponseSchema)` to create a new message.
|
|
1095
1120
|
*/
|
|
1096
|
-
export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1121
|
+
export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 221);
|
|
1097
1122
|
/**
|
|
1098
1123
|
* Describes the message openshell.v1.UndoDraftChunkRequest.
|
|
1099
1124
|
* Use `create(UndoDraftChunkRequestSchema)` to create a new message.
|
|
1100
1125
|
*/
|
|
1101
|
-
export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1126
|
+
export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 222);
|
|
1102
1127
|
/**
|
|
1103
1128
|
* Describes the message openshell.v1.UndoDraftChunkResponse.
|
|
1104
1129
|
* Use `create(UndoDraftChunkResponseSchema)` to create a new message.
|
|
1105
1130
|
*/
|
|
1106
|
-
export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1131
|
+
export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 223);
|
|
1107
1132
|
/**
|
|
1108
1133
|
* Describes the message openshell.v1.ClearDraftChunksRequest.
|
|
1109
1134
|
* Use `create(ClearDraftChunksRequestSchema)` to create a new message.
|
|
1110
1135
|
*/
|
|
1111
|
-
export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1136
|
+
export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 224);
|
|
1112
1137
|
/**
|
|
1113
1138
|
* Describes the message openshell.v1.ClearDraftChunksResponse.
|
|
1114
1139
|
* Use `create(ClearDraftChunksResponseSchema)` to create a new message.
|
|
1115
1140
|
*/
|
|
1116
|
-
export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1141
|
+
export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 225);
|
|
1117
1142
|
/**
|
|
1118
1143
|
* Describes the message openshell.v1.GetDraftHistoryRequest.
|
|
1119
1144
|
* Use `create(GetDraftHistoryRequestSchema)` to create a new message.
|
|
1120
1145
|
*/
|
|
1121
|
-
export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1146
|
+
export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 226);
|
|
1122
1147
|
/**
|
|
1123
1148
|
* Describes the message openshell.v1.DraftHistoryEntry.
|
|
1124
1149
|
* Use `create(DraftHistoryEntrySchema)` to create a new message.
|
|
1125
1150
|
*/
|
|
1126
|
-
export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1151
|
+
export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 227);
|
|
1127
1152
|
/**
|
|
1128
1153
|
* Describes the message openshell.v1.GetDraftHistoryResponse.
|
|
1129
1154
|
* Use `create(GetDraftHistoryResponseSchema)` to create a new message.
|
|
1130
1155
|
*/
|
|
1131
|
-
export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1156
|
+
export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 228);
|
|
1132
1157
|
/**
|
|
1133
1158
|
* Describes the message openshell.v1.CreateWorkspaceRequest.
|
|
1134
1159
|
* Use `create(CreateWorkspaceRequestSchema)` to create a new message.
|
|
1135
1160
|
*/
|
|
1136
|
-
export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1161
|
+
export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 229);
|
|
1137
1162
|
/**
|
|
1138
1163
|
* Describes the message openshell.v1.CreateWorkspaceResponse.
|
|
1139
1164
|
* Use `create(CreateWorkspaceResponseSchema)` to create a new message.
|
|
1140
1165
|
*/
|
|
1141
|
-
export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1166
|
+
export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 230);
|
|
1142
1167
|
/**
|
|
1143
1168
|
* Describes the message openshell.v1.GetWorkspaceRequest.
|
|
1144
1169
|
* Use `create(GetWorkspaceRequestSchema)` to create a new message.
|
|
1145
1170
|
*/
|
|
1146
|
-
export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1171
|
+
export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 231);
|
|
1147
1172
|
/**
|
|
1148
1173
|
* Describes the message openshell.v1.GetWorkspaceResponse.
|
|
1149
1174
|
* Use `create(GetWorkspaceResponseSchema)` to create a new message.
|
|
1150
1175
|
*/
|
|
1151
|
-
export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1176
|
+
export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 232);
|
|
1152
1177
|
/**
|
|
1153
1178
|
* Describes the message openshell.v1.ListWorkspacesRequest.
|
|
1154
1179
|
* Use `create(ListWorkspacesRequestSchema)` to create a new message.
|
|
1155
1180
|
*/
|
|
1156
|
-
export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1181
|
+
export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 233);
|
|
1157
1182
|
/**
|
|
1158
1183
|
* Describes the message openshell.v1.ListWorkspacesResponse.
|
|
1159
1184
|
* Use `create(ListWorkspacesResponseSchema)` to create a new message.
|
|
1160
1185
|
*/
|
|
1161
|
-
export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1186
|
+
export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 234);
|
|
1162
1187
|
/**
|
|
1163
1188
|
* Describes the message openshell.v1.DeleteWorkspaceRequest.
|
|
1164
1189
|
* Use `create(DeleteWorkspaceRequestSchema)` to create a new message.
|
|
1165
1190
|
*/
|
|
1166
|
-
export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1191
|
+
export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 235);
|
|
1167
1192
|
/**
|
|
1168
1193
|
* Describes the message openshell.v1.DeleteWorkspaceResponse.
|
|
1169
1194
|
* Use `create(DeleteWorkspaceResponseSchema)` to create a new message.
|
|
1170
1195
|
*/
|
|
1171
|
-
export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1196
|
+
export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 236);
|
|
1172
1197
|
/**
|
|
1173
1198
|
* Describes the message openshell.v1.WorkspaceMember.
|
|
1174
1199
|
* Use `create(WorkspaceMemberSchema)` to create a new message.
|
|
1175
1200
|
*/
|
|
1176
|
-
export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1201
|
+
export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 237);
|
|
1177
1202
|
/**
|
|
1178
1203
|
* Describes the message openshell.v1.AddWorkspaceMemberRequest.
|
|
1179
1204
|
* Use `create(AddWorkspaceMemberRequestSchema)` to create a new message.
|
|
1180
1205
|
*/
|
|
1181
|
-
export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1206
|
+
export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 238);
|
|
1182
1207
|
/**
|
|
1183
1208
|
* Describes the message openshell.v1.AddWorkspaceMemberResponse.
|
|
1184
1209
|
* Use `create(AddWorkspaceMemberResponseSchema)` to create a new message.
|
|
1185
1210
|
*/
|
|
1186
|
-
export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1211
|
+
export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 239);
|
|
1187
1212
|
/**
|
|
1188
1213
|
* Describes the message openshell.v1.RemoveWorkspaceMemberRequest.
|
|
1189
1214
|
* Use `create(RemoveWorkspaceMemberRequestSchema)` to create a new message.
|
|
1190
1215
|
*/
|
|
1191
|
-
export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1216
|
+
export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 240);
|
|
1192
1217
|
/**
|
|
1193
1218
|
* Describes the message openshell.v1.RemoveWorkspaceMemberResponse.
|
|
1194
1219
|
* Use `create(RemoveWorkspaceMemberResponseSchema)` to create a new message.
|
|
1195
1220
|
*/
|
|
1196
|
-
export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1221
|
+
export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 241);
|
|
1197
1222
|
/**
|
|
1198
1223
|
* Describes the message openshell.v1.ListWorkspaceMembersRequest.
|
|
1199
1224
|
* Use `create(ListWorkspaceMembersRequestSchema)` to create a new message.
|
|
1200
1225
|
*/
|
|
1201
|
-
export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1226
|
+
export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 242);
|
|
1202
1227
|
/**
|
|
1203
1228
|
* Describes the message openshell.v1.ListWorkspaceMembersResponse.
|
|
1204
1229
|
* Use `create(ListWorkspaceMembersResponseSchema)` to create a new message.
|
|
1205
1230
|
*/
|
|
1206
|
-
export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1231
|
+
export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 243);
|
|
1207
1232
|
/**
|
|
1208
1233
|
* Describes the message openshell.v1.ExtensionServiceCredential.
|
|
1209
1234
|
* Use `create(ExtensionServiceCredentialSchema)` to create a new message.
|
|
1210
1235
|
*/
|
|
1211
|
-
export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1236
|
+
export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 244);
|
|
1212
1237
|
/**
|
|
1213
1238
|
* Describes the message openshell.v1.EndpointObservation.
|
|
1214
1239
|
* Use `create(EndpointObservationSchema)` to create a new message.
|
|
1215
1240
|
*/
|
|
1216
|
-
export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1241
|
+
export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 245);
|
|
1217
1242
|
/**
|
|
1218
1243
|
* Describes the message openshell.v1.ReportEndpointStatusRequest.
|
|
1219
1244
|
* Use `create(ReportEndpointStatusRequestSchema)` to create a new message.
|
|
1220
1245
|
*/
|
|
1221
|
-
export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1246
|
+
export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 246);
|
|
1222
1247
|
/**
|
|
1223
1248
|
* Describes the message openshell.v1.TokenGrantStatus.
|
|
1224
1249
|
* Use `create(TokenGrantStatusSchema)` to create a new message.
|
|
1225
1250
|
*/
|
|
1226
|
-
export const TokenGrantStatusSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1251
|
+
export const TokenGrantStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 247);
|
|
1227
1252
|
/**
|
|
1228
1253
|
* Describes the message openshell.v1.TokenGrantFailureObservation.
|
|
1229
1254
|
* Use `create(TokenGrantFailureObservationSchema)` to create a new message.
|
|
1230
1255
|
*/
|
|
1231
|
-
export const TokenGrantFailureObservationSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1256
|
+
export const TokenGrantFailureObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 248);
|
|
1232
1257
|
/**
|
|
1233
1258
|
* Describes the message openshell.v1.ReportEndpointStatusResponse.
|
|
1234
1259
|
* Use `create(ReportEndpointStatusResponseSchema)` to create a new message.
|
|
1235
1260
|
*/
|
|
1236
|
-
export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1261
|
+
export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 249);
|
|
1237
1262
|
/**
|
|
1238
1263
|
* Describes the message openshell.v1.EndpointStatus.
|
|
1239
1264
|
* Use `create(EndpointStatusSchema)` to create a new message.
|
|
1240
1265
|
*/
|
|
1241
|
-
export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1266
|
+
export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 250);
|
|
1242
1267
|
/**
|
|
1243
1268
|
* Describes the message openshell.v1.SandboxProvisioning.
|
|
1244
1269
|
* Use `create(SandboxProvisioningSchema)` to create a new message.
|
|
1245
1270
|
*/
|
|
1246
|
-
export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1271
|
+
export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell, 251);
|
|
1247
1272
|
/**
|
|
1248
1273
|
* Describes the message openshell.v1.SandboxServiceExposure.
|
|
1249
1274
|
* Use `create(SandboxServiceExposureSchema)` to create a new message.
|
|
1250
1275
|
*/
|
|
1251
|
-
export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1276
|
+
export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell, 252);
|
|
1252
1277
|
/**
|
|
1253
1278
|
* Describes the message openshell.v1.EndpointFailure.
|
|
1254
1279
|
* Use `create(EndpointFailureSchema)` to create a new message.
|
|
1255
1280
|
*/
|
|
1256
|
-
export const EndpointFailureSchema = /*@__PURE__*/ messageDesc(file_openshell,
|
|
1281
|
+
export const EndpointFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 253);
|
|
1257
1282
|
/**
|
|
1258
1283
|
* @generated from enum openshell.v1.ExtensionKind
|
|
1259
1284
|
*/
|
|
@@ -1336,6 +1361,19 @@ export var SandboxPhase;
|
|
|
1336
1361
|
* @generated from enum value: SANDBOX_PHASE_COMPLETED = 9;
|
|
1337
1362
|
*/
|
|
1338
1363
|
SandboxPhase[SandboxPhase["COMPLETED"] = 9] = "COMPLETED";
|
|
1364
|
+
/**
|
|
1365
|
+
* The gateway requested suspension and the driver has not confirmed it.
|
|
1366
|
+
*
|
|
1367
|
+
* @generated from enum value: SANDBOX_PHASE_SUSPENDING = 11;
|
|
1368
|
+
*/
|
|
1369
|
+
SandboxPhase[SandboxPhase["SUSPENDING"] = 11] = "SUSPENDING";
|
|
1370
|
+
/**
|
|
1371
|
+
* The workload is frozen and its memory state is retained by the isolation
|
|
1372
|
+
* backend. ResumeSandbox restores it; StartSandbox discards it.
|
|
1373
|
+
*
|
|
1374
|
+
* @generated from enum value: SANDBOX_PHASE_SUSPENDED = 12;
|
|
1375
|
+
*/
|
|
1376
|
+
SandboxPhase[SandboxPhase["SUSPENDED"] = 12] = "SUSPENDED";
|
|
1339
1377
|
})(SandboxPhase || (SandboxPhase = {}));
|
|
1340
1378
|
/**
|
|
1341
1379
|
* Describes the enum openshell.v1.SandboxPhase.
|
|
@@ -2097,4 +2135,11 @@ export const EndpointFailureDomainSchema = /*@__PURE__*/ enumDesc(file_openshell
|
|
|
2097
2135
|
* @generated from service openshell.v1.OpenShell
|
|
2098
2136
|
*/
|
|
2099
2137
|
export const OpenShell = /*@__PURE__*/ serviceDesc(file_openshell, 0);
|
|
2138
|
+
/**
|
|
2139
|
+
* Optional sandbox mutations are separate from OpenShell so existing generated
|
|
2140
|
+
* OpenShell server implementations remain source-compatible.
|
|
2141
|
+
*
|
|
2142
|
+
* @generated from service openshell.v1.SandboxUpdates
|
|
2143
|
+
*/
|
|
2144
|
+
export const SandboxUpdates = /*@__PURE__*/ serviceDesc(file_openshell, 1);
|
|
2100
2145
|
//# sourceMappingURL=openshell_pb.js.map
|