@foir/cli 0.61.0 → 0.62.0

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/cli.js CHANGED
@@ -668,122 +668,142 @@ import { fileDesc as fileDesc2, messageDesc as messageDesc2 } from "@bufbuild/pr
668
668
  var file_common_v1_pagination = /* @__PURE__ */ fileDesc2("Chpjb21tb24vdjEvcGFnaW5hdGlvbi5wcm90bxIJY29tbW9uLnYxIpABCghQYWdlSW5mbxIVCg1oYXNfbmV4dF9wYWdlGAEgASgIEhkKEWhhc19wcmV2aW91c19wYWdlGAIgASgIEhkKDHN0YXJ0X2N1cnNvchgDIAEoCUgAiAEBEhcKCmVuZF9jdXJzb3IYBCABKAlIAYgBAUIPCg1fc3RhcnRfY3Vyc29yQg0KC19lbmRfY3Vyc29yQjlaN2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw");
669
669
 
670
670
  // ../../packages/proto-ts/src/identity/v1/identity_pb.js
671
- var file_identity_v1_identity = /* @__PURE__ */ fileDesc3("ChppZGVudGl0eS92MS9pZGVudGl0eS5wcm90bxILaWRlbnRpdHkudjEijwQKCUFkbWluVXNlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEhkKEWlzX3BsYXRmb3JtX2FkbWluGAYgASgIEiwKBnN0YXR1cxgUIAEoDjIcLmlkZW50aXR5LnYxLkFkbWluVXNlclN0YXR1cxI6ChFlbWFpbF92ZXJpZmllZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI2Cg1sYXN0X2xvZ2luX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiwKBmFjY2VzcxgoIAMoCzIcLmlkZW50aXR5LnYxLkFkbWluVXNlckFjY2VzcxIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQhQKEl9lbWFpbF92ZXJpZmllZF9hdEIQCg5fbGFzdF9sb2dpbl9hdCLuAQoPQWRtaW5Vc2VyQWNjZXNzEgoKAmlkGAEgASgJEhUKDWFkbWluX3VzZXJfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhcKCnByb2plY3RfaWQYBCABKAlIAIgBARIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIuCgpncmFudGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpncmFudGVkX2J5GDMgASgJSAGIAQFCDQoLX3Byb2plY3RfaWRCDQoLX2dyYW50ZWRfYnki9QIKCEN1c3RvbWVyEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEisKBnN0YXR1cxgUIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzEjoKEWVtYWlsX3ZlcmlmaWVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjYKDWxhc3RfbG9naW5fYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2VtYWlsX3ZlcmlmaWVkX2F0QhAKDl9sYXN0X2xvZ2luX2F0IvQCCgZUZW5hbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCgZzdGF0dXMYFCABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXMSNQoMc3VzcGVuZGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEkIKGWNhbmNlbGxhdGlvbl9zY2hlZHVsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGwoTZGF0YV9yZXRlbnRpb25fZGF5cxgeIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fc3VzcGVuZGVkX2F0QhwKGl9jYW5jZWxsYXRpb25fc2NoZWR1bGVkX2F0IuAHCgdQcm9qZWN0EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIqCgZzdGF0dXMYFCABKA4yGi5pZGVudGl0eS52MS5Qcm9qZWN0U3RhdHVzEj4KFWRlbGV0aW9uX3NjaGVkdWxlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgpjcmVhdGVkX2J5GCggASgJSAKIAQESFwoKdXBkYXRlZF9ieRgpIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKDGRpc3BsYXlfbmFtZRg8IAEoCUgEiAEBEhUKCGxvZ29fdXJsGD0gASgJSAWIAQESGgoNcHJpbWFyeV9jb2xvchg+IAEoCUgGiAEBEhYKCWZyb21fbmFtZRg/IAEoCUgHiAEBEhUKCHJlcGx5X3RvGEAgASgJSAiIAQESGgoNc3VwcG9ydF9lbWFpbBhBIAEoCUgJiAEBEhkKDGFwcF9iYXNlX3VybBhCIAEoCUgKiAEBEisKHmN1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZBhGIAEoCEgLiAEBEiQKF2N1c3RvbWVyX3NpZ251cF9lbmFibGVkGFAgASgISAyIAQESJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBhRIAEoCEgNiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGFIgASgISA6IAQFCDgoMX2Rlc2NyaXB0aW9uQhgKFl9kZWxldGlvbl9zY2hlZHVsZWRfYXRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCDwoNX2Rpc3BsYXlfbmFtZUILCglfbG9nb191cmxCEAoOX3ByaW1hcnlfY29sb3JCDAoKX2Zyb21fbmFtZUILCglfcmVwbHlfdG9CEAoOX3N1cHBvcnRfZW1haWxCDwoNX2FwcF9iYXNlX3VybEIhCh9fY3VzdG9tZXJfd2VsY29tZV9lbWFpbF9lbmFibGVkQhoKGF9jdXN0b21lcl9zaWdudXBfZW5hYmxlZEIcChpfY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZEIXChVfY3VzdG9tZXJfb3RwX2VuYWJsZWQirwMKCkludml0YXRpb24SCgoCaWQYASABKAkSDQoFZW1haWwYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhMKC3Byb2plY3RfaWRzGAQgAygJEiUKBHJvbGUYBSABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlEiwKC2ludml0ZV90eXBlGAYgASgOMhcuaWRlbnRpdHkudjEuSW52aXRlVHlwZRISCgppbnZpdGVkX2J5GAcgASgJEhQKB21lc3NhZ2UYCCABKAlIAIgBARItCgZzdGF0dXMYFCABKA4yHS5pZGVudGl0eS52MS5JbnZpdGF0aW9uU3RhdHVzEi4KCmV4cGlyZXNfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKC2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9tZXNzYWdlQg4KDF9hY2NlcHRlZF9hdCLpAwoSQ3VzdG9tZXJJbnZpdGF0aW9uEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEhcKCmludml0ZWRfYnkYBSABKAlIAIgBARIUCgdtZXNzYWdlGAYgASgJSAGIAQESNQoGc3RhdHVzGBQgASgOMiUuaWRlbnRpdHkudjEuQ3VzdG9tZXJJbnZpdGF0aW9uU3RhdHVzEi4KCmV4cGlyZXNfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKC2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEiEKFGFjY2VwdGVkX2N1c3RvbWVyX2lkGCAgASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2ludml0ZWRfYnlCCgoIX21lc3NhZ2VCDgoMX2FjY2VwdGVkX2F0QhcKFV9hY2NlcHRlZF9jdXN0b21lcl9pZCLZBAoGQXBpS2V5EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEgwKBG5hbWUYBCABKAkSEgoKa2V5X3ByZWZpeBgFIAEoCRIpCghrZXlfdHlwZRgGIAEoDjIXLmlkZW50aXR5LnYxLkFwaUtleVR5cGUSFAoHcmF3X2tleRgKIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgUIAEoCBIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGBUgASgFSAGIAQESMwoKZXhwaXJlc19hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIOCgZzY29wZXMYFyADKAkSLgoIbWV0YWRhdGEYGCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESNQoMbGFzdF91c2VkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEhMKC3VzYWdlX2NvdW50GB8gASgFEhIKCmNyZWF0ZWRfYnkYKCABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3Jhd19rZXlCFgoUX3JhdGVfbGltaXRfcGVyX2hvdXJCDQoLX2V4cGlyZXNfYXRCCwoJX21ldGFkYXRhQg8KDV9sYXN0X3VzZWRfYXQitQIKDlNlc3Npb25Db250ZXh0EhYKCXRlbmFudF9pZBgBIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAiABKAlIAYgBARIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEhsKDmVmZmVjdGl2ZV9yb2xlGAQgASgJSAKIAQESLgoRYXZhaWxhYmxlX3RlbmFudHMYBSADKAsyEy5pZGVudGl0eS52MS5UZW5hbnQSMAoSYXZhaWxhYmxlX3Byb2plY3RzGAYgAygLMhQuaWRlbnRpdHkudjEuUHJvamVjdBIdChVlZmZlY3RpdmVfcGVybWlzc2lvbnMYByADKAlCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZEIRCg9fZWZmZWN0aXZlX3JvbGUifQoMTG9naW5SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIl8KDUxvZ2luUmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAiABKAkSJAoEdXNlchgDIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciJ/ChNMb2dpbldpdGhPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgsKA290cBgCIAEoCRIWCgl0ZW5hbnRfaWQYAyABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAQgASgJSAGIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZCJmChRMb2dpbldpdGhPVFBSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyInAKEVJlcXVlc3RPVFBSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhYKCXRlbmFudF9pZBgCIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAyABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkIiUKElJlcXVlc3RPVFBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIg8KDUxvZ291dFJlcXVlc3QiIQoOTG9nb3V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCK1AQoPUmVnaXN0ZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBARIqCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZUgCiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCBwoFX3JvbGUiOAoQUmVnaXN0ZXJSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIiMKElZlcmlmeUVtYWlsUmVxdWVzdBINCgV0b2tlbhgBIAEoCSImChNWZXJpZnlFbWFpbFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiIAoeUmVzZW5kVmVyaWZpY2F0aW9uRW1haWxSZXF1ZXN0IjIKH1Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIxCiBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVxdWVzdBINCgVlbWFpbBgBIAEoCSI0CiFTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI1ChZWZXJpZnlFbWFpbENvZGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBGNvZGUYAiABKAkiPAoXVmVyaWZ5RW1haWxDb2RlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCgh2ZXJpZmllZBgCIAEoCCIsChtSZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QSDQoFZW1haWwYASABKAkiLwocUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFFJlc2V0UGFzc3dvcmRSZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIoChVSZXNldFBhc3N3b3JkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJHChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSGAoQY3VycmVudF9wYXNzd29yZBgBIAEoCRIUCgxuZXdfcGFzc3dvcmQYAiABKAkiKQoWVXBkYXRlUGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKE1JlZnJlc2hUb2tlblJlcXVlc3QSFQoNcmVmcmVzaF90b2tlbhgBIAEoCSJDChRSZWZyZXNoVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCSIaChhHZXRTZXNzaW9uQ29udGV4dFJlcXVlc3QiSQoZR2V0U2Vzc2lvbkNvbnRleHRSZXNwb25zZRIsCgdjb250ZXh0GAEgASgLMhsuaWRlbnRpdHkudjEuU2Vzc2lvbkNvbnRleHQiKAoTU3dpdGNoVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiRAoUU3dpdGNoVGVuYW50UmVzcG9uc2USLAoHY29udGV4dBgBIAEoCzIbLmlkZW50aXR5LnYxLlNlc3Npb25Db250ZXh0IioKFFN3aXRjaFByb2plY3RSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiRQoVU3dpdGNoUHJvamVjdFJlc3BvbnNlEiwKB2NvbnRleHQYASABKAsyGy5pZGVudGl0eS52MS5TZXNzaW9uQ29udGV4dCIcChpDbGVhclNlc3Npb25Db250ZXh0UmVxdWVzdCIuChtDbGVhclNlc3Npb25Db250ZXh0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIOCgxHZXRNZVJlcXVlc3QiNQoNR2V0TWVSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyItcBChZDcmVhdGVBZG1pblVzZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhcKCmZpcnN0X25hbWUYAiABKAlIAIgBARIWCglsYXN0X25hbWUYAyABKAlIAYgBARIRCgl0ZW5hbnRfaWQYBCABKAkSFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEiUKBHJvbGUYBiABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlQg0KC19maXJzdF9uYW1lQgwKCl9sYXN0X25hbWVCDQoLX3Byb2plY3RfaWQiPwoXQ3JlYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciIhChNHZXRBZG1pblVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIjwKFEdldEFkbWluVXNlclJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIi2AEKFlVwZGF0ZUFkbWluVXNlclJlcXVlc3QSCgoCaWQYASABKAkSFwoKZmlyc3RfbmFtZRgCIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgDIAEoCUgBiAEBEhcKCmF2YXRhcl91cmwYBCABKAlIAogBARIxCgZzdGF0dXMYBSABKA4yHC5pZGVudGl0eS52MS5BZG1pblVzZXJTdGF0dXNIA4gBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQgkKB19zdGF0dXMiPwoXVXBkYXRlQWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciLGAQoVTGlzdEFkbWluVXNlcnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAQgASgJSAGIAQESEwoGYmVmb3JlGAUgASgJSAKIAQESEgoFZmlyc3QYBiABKAVIA4gBARIRCgRsYXN0GAcgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKaAQoWTGlzdEFkbWluVXNlcnNSZXNwb25zZRIlCgVpdGVtcxgBIAMoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlchINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ijQEKEkdyYW50QWNjZXNzUmVxdWVzdBIVCg1hZG1pbl91c2VyX2lkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRIXCgpwcm9qZWN0X2lkGAMgASgJSACIAQESJQoEcm9sZRgEIAEoDjIXLmlkZW50aXR5LnYxLkFjY2Vzc1JvbGVCDQoLX3Byb2plY3RfaWQiQwoTR3JhbnRBY2Nlc3NSZXNwb25zZRIsCgZhY2Nlc3MYASABKAsyHC5pZGVudGl0eS52MS5BZG1pblVzZXJBY2Nlc3MiKAoTUmV2b2tlQWNjZXNzUmVxdWVzdBIRCglhY2Nlc3NfaWQYASABKAkiJwoUUmV2b2tlQWNjZXNzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCK3AgoSSW1wZXJzb25hdGlvbkdyYW50EgoKAmlkGAEgASgJEhIKCmdyYW50ZWVfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCmdyYW50ZWRfYnkYBCABKAkSDgoGcmVhc29uGAUgASgJEi4KCmV4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnJldm9rZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESFwoKcmV2b2tlZF9ieRgJIAEoCUgBiAEBQg0KC19yZXZva2VkX2F0Qg0KC19yZXZva2VkX2J5IoIBChlHcmFudEltcGVyc29uYXRpb25SZXF1ZXN0EhIKCmdyYW50ZWVfaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJMChpHcmFudEltcGVyc29uYXRpb25SZXNwb25zZRIuCgVncmFudBgBIAEoCzIfLmlkZW50aXR5LnYxLkltcGVyc29uYXRpb25HcmFudCIoChpSZXZva2VJbXBlcnNvbmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJNChtSZXZva2VJbXBlcnNvbmF0aW9uUmVzcG9uc2USLgoFZ3JhbnQYASABKAsyHy5pZGVudGl0eS52MS5JbXBlcnNvbmF0aW9uR3JhbnQigwEKHkxpc3RJbXBlcnNvbmF0aW9uR3JhbnRzUmVxdWVzdBIXCgpncmFudGVlX2lkGAEgASgJSACIAQESFgoJdGVuYW50X2lkGAIgASgJSAGIAQESEwoLYWN0aXZlX29ubHkYAyABKAhCDQoLX2dyYW50ZWVfaWRCDAoKX3RlbmFudF9pZCJSCh9MaXN0SW1wZXJzb25hdGlvbkdyYW50c1Jlc3BvbnNlEi8KBmdyYW50cxgBIAMoCzIfLmlkZW50aXR5LnYxLkltcGVyc29uYXRpb25HcmFudCJPChJFbnRlclRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhcKCnByb2plY3RfaWQYAiABKAlIAIgBAUINCgtfcHJvamVjdF9pZCKCAQoTRW50ZXJUZW5hbnRSZXNwb25zZRIsCgdjb250ZXh0GAEgASgLMhsuaWRlbnRpdHkudjEuU2Vzc2lvbkNvbnRleHQSMwoFZ3JhbnQYAiABKAsyHy5pZGVudGl0eS52MS5JbXBlcnNvbmF0aW9uR3JhbnRIAIgBAUIICgZfZ3JhbnQiSgoVQ3JlYXRlQ3VzdG9tZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJSACIAQFCCwoJX3Bhc3N3b3JkIkEKFkNyZWF0ZUN1c3RvbWVyUmVzcG9uc2USJwoIY3VzdG9tZXIYASABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciIgChJHZXRDdXN0b21lclJlcXVlc3QSCgoCaWQYASABKAkiPgoTR2V0Q3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIn4KFVVwZGF0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEjAKBnN0YXR1cxgDIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzSAGIAQFCCAoGX2VtYWlsQgkKB19zdGF0dXMiQQoWVXBkYXRlQ3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIiMKFURlbGV0ZUN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCSIpChZEZWxldGVDdXN0b21lclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgixQEKFExpc3RDdXN0b21lcnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKYAQoVTGlzdEN1c3RvbWVyc1Jlc3BvbnNlEiQKBWl0ZW1zGAEgAygLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXISDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiQKFlN1c3BlbmRDdXN0b21lclJlcXVlc3QSCgoCaWQYASABKAkiQgoXU3VzcGVuZEN1c3RvbWVyUmVzcG9uc2USJwoIY3VzdG9tZXIYASABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciJTChVNZXJnZUN1c3RvbWVyc1JlcXVlc3QSEwoLc3Vydml2b3JfaWQYASABKAkSFAoMZHVwbGljYXRlX2lkGAIgASgJEg8KB2RyeV9ydW4YAyABKAgiaAoWTWVyZ2VDdXN0b21lcnNSZXNwb25zZRIPCgdyZXRpcmVkGAEgASgIEgwKBG5vb3AYAiABKAgSLwoFbW92ZWQYAyABKAsyIC5pZGVudGl0eS52MS5NZXJnZUN1c3RvbWVyc01vdmVkIsEBChNNZXJnZUN1c3RvbWVyc01vdmVkEg8KB3JlY29yZHMYASABKAUSDQoFZmlsZXMYAiABKAUSGwoTcHJvdmlkZXJfaWRlbnRpdGllcxgDIAEoBRIQCghwcm9maWxlcxgEIAEoBRIbChNzZWdtZW50X21lbWJlcnNoaXBzGAYgASgFEhgKEHJvbGVfYXNzaWdubWVudHMYByABKAUSHgoWcmVmcmVzaF90b2tlbnNfcmV2b2tlZBgIIAEoBUoECAUQBiI+ChpTZXRDdXN0b21lclBhc3N3b3JkUmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxuZXdfcGFzc3dvcmQYAiABKAkiLgobU2V0Q3VzdG9tZXJQYXNzd29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi3AEKH0NyZWF0ZUN1c3RvbWVySW52aXRhdGlvblJlcXVlc3QSDQoFZW1haWwYASABKAkSFwoKaW52aXRlZF9ieRgCIAEoCUgAiAEBEhQKB21lc3NhZ2UYAyABKAlIAYgBARIXCgpzZW5kX2VtYWlsGAQgASgISAKIAQESIAoTYWNjZXB0X3VybF9vdmVycmlkZRgFIAEoCUgDiAEBQg0KC19pbnZpdGVkX2J5QgoKCF9tZXNzYWdlQg0KC19zZW5kX2VtYWlsQhYKFF9hY2NlcHRfdXJsX292ZXJyaWRlInoKIENyZWF0ZUN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEjMKCmludml0YXRpb24YASABKAsyHy5pZGVudGl0eS52MS5DdXN0b21lckludml0YXRpb24SEgoKYWNjZXB0X3VybBgCIAEoCRINCgV0b2tlbhgDIAEoCSLPAQoeTGlzdEN1c3RvbWVySW52aXRhdGlvbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKsAQofTGlzdEN1c3RvbWVySW52aXRhdGlvbnNSZXNwb25zZRIuCgVpdGVtcxgBIAMoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVySW52aXRhdGlvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iKgocR2V0Q3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJUCh1HZXRDdXN0b21lckludml0YXRpb25SZXNwb25zZRIzCgppbnZpdGF0aW9uGAEgASgLMh8uaWRlbnRpdHkudjEuQ3VzdG9tZXJJbnZpdGF0aW9uIi0KH1Jldm9rZUN1c3RvbWVySW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiMwogUmV2b2tlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKPAQofUmVzZW5kQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgpzZW5kX2VtYWlsGAIgASgISACIAQESIAoTYWNjZXB0X3VybF9vdmVycmlkZRgDIAEoCUgBiAEBQg0KC19zZW5kX2VtYWlsQhYKFF9hY2NlcHRfdXJsX292ZXJyaWRlInoKIFJlc2VuZEN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEjMKCmludml0YXRpb24YASABKAsyHy5pZGVudGl0eS52MS5DdXN0b21lckludml0YXRpb24SEgoKYWNjZXB0X3VybBgCIAEoCRINCgV0b2tlbhgDIAEoCSIyCiFWYWxpZGF0ZUN1c3RvbWVySW52aXRhdGlvblJlcXVlc3QSDQoFdG9rZW4YASABKAkihwEKIlZhbGlkYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USMwoKaW52aXRhdGlvbhgBIAEoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVySW52aXRhdGlvbhIsCglwcm92aWRlcnMYAiADKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXIiVAofQWNjZXB0Q3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBINCgV0b2tlbhgBIAEoCRIVCghwYXNzd29yZBgCIAEoCUgAiAEBQgsKCV9wYXNzd29yZCJ4CiBBY2NlcHRDdXN0b21lckludml0YXRpb25SZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAMgASgJIiMKE0NyZWF0ZVRlbmFudFJlcXVlc3QSDAoEbmFtZRgBIAEoCSI7ChRDcmVhdGVUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiHgoQR2V0VGVuYW50UmVxdWVzdBIKCgJpZBgBIAEoCSI4ChFHZXRUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQieAoTVXBkYXRlVGVuYW50UmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESLgoGc3RhdHVzGAMgASgOMhkuaWRlbnRpdHkudjEuVGVuYW50U3RhdHVzSAGIAQFCBwoFX25hbWVCCQoHX3N0YXR1cyI7ChRVcGRhdGVUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiwwEKEkxpc3RUZW5hbnRzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilAEKE0xpc3RUZW5hbnRzUmVzcG9uc2USIgoFaXRlbXMYASADKAsyEy5pZGVudGl0eS52MS5UZW5hbnQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiEKE0RlbGV0ZVRlbmFudFJlcXVlc3QSCgoCaWQYASABKAkiJwoURGVsZXRlVGVuYW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKhBwoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYCgtkZXNjcmlwdGlvbhgCIAEoCUgAiAEBEhEKCXRlbmFudF9pZBgDIAEoCRIgChNkZWZhdWx0X2xvY2FsZV9jb2RlGAQgASgJSAGIAQESKAobZGVmYXVsdF9sb2NhbGVfZGlzcGxheV9uYW1lGAUgASgJSAKIAQESJwoaZGVmYXVsdF9sb2NhbGVfbmF0aXZlX25hbWUYBiABKAlIA4gBARIiChVkZWZhdWx0X2xvY2FsZV9pc19ydGwYByABKAhIBIgBARIZCgxkaXNwbGF5X25hbWUYCiABKAlIBYgBARIVCghsb2dvX3VybBgLIAEoCUgGiAEBEhoKDXByaW1hcnlfY29sb3IYDCABKAlIB4gBARIWCglmcm9tX25hbWUYDSABKAlICIgBARIVCghyZXBseV90bxgOIAEoCUgJiAEBEhoKDXN1cHBvcnRfZW1haWwYDyABKAlICogBARIZCgxhcHBfYmFzZV91cmwYECABKAlIC4gBARIrCh5jdXN0b21lcl93ZWxjb21lX2VtYWlsX2VuYWJsZWQYFCABKAhIDIgBARIkChdjdXN0b21lcl9zaWdudXBfZW5hYmxlZBgeIAEoCEgNiAEBEiYKGWN1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWQYHyABKAhIDogBARIhChRjdXN0b21lcl9vdHBfZW5hYmxlZBggIAEoCEgPiAEBQg4KDF9kZXNjcmlwdGlvbkIWChRfZGVmYXVsdF9sb2NhbGVfY29kZUIeChxfZGVmYXVsdF9sb2NhbGVfZGlzcGxheV9uYW1lQh0KG19kZWZhdWx0X2xvY2FsZV9uYXRpdmVfbmFtZUIYChZfZGVmYXVsdF9sb2NhbGVfaXNfcnRsQg8KDV9kaXNwbGF5X25hbWVCCwoJX2xvZ29fdXJsQhAKDl9wcmltYXJ5X2NvbG9yQgwKCl9mcm9tX25hbWVCCwoJX3JlcGx5X3RvQhAKDl9zdXBwb3J0X2VtYWlsQg8KDV9hcHBfYmFzZV91cmxCIQofX2N1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZEIaChhfY3VzdG9tZXJfc2lnbnVwX2VuYWJsZWRCHAoaX2N1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWRCFwoVX2N1c3RvbWVyX290cF9lbmFibGVkIj4KFUNyZWF0ZVByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSI7ChJHZXRQcm9qZWN0UmVzcG9uc2USJQoHcHJvamVjdBgBIAEoCzIULmlkZW50aXR5LnYxLlByb2plY3Qi2gUKFFVwZGF0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEi8KBnN0YXR1cxgEIAEoDjIaLmlkZW50aXR5LnYxLlByb2plY3RTdGF0dXNIAogBARIZCgxkaXNwbGF5X25hbWUYCiABKAlIA4gBARIVCghsb2dvX3VybBgLIAEoCUgEiAEBEhoKDXByaW1hcnlfY29sb3IYDCABKAlIBYgBARIWCglmcm9tX25hbWUYDSABKAlIBogBARIVCghyZXBseV90bxgOIAEoCUgHiAEBEhoKDXN1cHBvcnRfZW1haWwYDyABKAlICIgBARIZCgxhcHBfYmFzZV91cmwYECABKAlICYgBARIrCh5jdXN0b21lcl93ZWxjb21lX2VtYWlsX2VuYWJsZWQYFCABKAhICogBARIkChdjdXN0b21lcl9zaWdudXBfZW5hYmxlZBgeIAEoCEgLiAEBEiYKGWN1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWQYHyABKAhIDIgBARIhChRjdXN0b21lcl9vdHBfZW5hYmxlZBggIAEoCEgNiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfc3RhdHVzQg8KDV9kaXNwbGF5X25hbWVCCwoJX2xvZ29fdXJsQhAKDl9wcmltYXJ5X2NvbG9yQgwKCl9mcm9tX25hbWVCCwoJX3JlcGx5X3RvQhAKDl9zdXBwb3J0X2VtYWlsQg8KDV9hcHBfYmFzZV91cmxCIQofX2N1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZEIaChhfY3VzdG9tZXJfc2lnbnVwX2VuYWJsZWRCHAoaX2N1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWRCFwoVX2N1c3RvbWVyX290cF9lbmFibGVkIj4KFVVwZGF0ZVByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCLXAQoTTGlzdFByb2plY3RzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSKwoFd2hlcmUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpYBChRMaXN0UHJvamVjdHNSZXNwb25zZRIjCgVpdGVtcxgBIAMoCzIULmlkZW50aXR5LnYxLlByb2plY3QSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIigKFURlbGV0ZVByb2plY3RSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi0KGEdldERlZmF1bHRQcm9qZWN0UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQgoZR2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCIuChhTZXREZWZhdWx0UHJvamVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCSJCChlTZXREZWZhdWx0UHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0IscBChdDcmVhdGVJbnZpdGF0aW9uUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEwoLcHJvamVjdF9pZHMYAyADKAkSJQoEcm9sZRgEIAEoDjIXLmlkZW50aXR5LnYxLkFjY2Vzc1JvbGUSLAoLaW52aXRlX3R5cGUYBSABKA4yFy5pZGVudGl0eS52MS5JbnZpdGVUeXBlEhQKB21lc3NhZ2UYBiABKAlIAIgBAUIKCghfbWVzc2FnZSJHChhDcmVhdGVJbnZpdGF0aW9uUmVzcG9uc2USKwoKaW52aXRhdGlvbhgBIAEoCzIXLmlkZW50aXR5LnYxLkludml0YXRpb24i2gEKFkxpc3RJbnZpdGF0aW9uc1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEisKBXdoZXJlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKcAQoXTGlzdEludml0YXRpb25zUmVzcG9uc2USJgoFaXRlbXMYASADKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIwChdSZXZva2VJbnZpdGF0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJIisKGFJldm9rZUludml0YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkwKF0FjY2VwdEludml0YXRpb25SZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJSACIAQFCCwoJX3Bhc3N3b3JkIlQKGEFjY2VwdEludml0YXRpb25SZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEhIKCnNlc3Npb25faWQYAiABKAkiKgoZVmFsaWRhdGVJbnZpdGF0aW9uUmVxdWVzdBINCgV0b2tlbhgBIAEoCSJJChpWYWxpZGF0ZUludml0YXRpb25SZXNwb25zZRIrCgppbnZpdGF0aW9uGAEgASgLMhcuaWRlbnRpdHkudjEuSW52aXRhdGlvbiK2AgoTQ3JlYXRlQXBpS2V5UmVxdWVzdBIMCgRuYW1lGAEgASgJEikKCGtleV90eXBlGAIgASgOMhcuaWRlbnRpdHkudjEuQXBpS2V5VHlwZRIOCgZzY29wZXMYAyADKAkSIAoTcmF0ZV9saW1pdF9wZXJfaG91chgEIAEoBUgAiAEBEjMKCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoOYWxsb3dlZF9tb2RlbHMYBiADKAkSGgoSYWxsb3dlZF9maWxlX3R5cGVzGAcgAygJEhYKCWNvbmZpZ19pZBgIIAEoCUgCiAEBQhYKFF9yYXRlX2xpbWl0X3Blcl9ob3VyQg0KC19leHBpcmVzX2F0QgwKCl9jb25maWdfaWQiPAoUQ3JlYXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIeChBHZXRBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIjkKEUdldEFwaUtleVJlc3BvbnNlEiQKB2FwaV9rZXkYASABKAsyEy5pZGVudGl0eS52MS5BcGlLZXkiwwEKEkxpc3RBcGlLZXlzUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBEisKBXdoZXJlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdEIICgZfd2hlcmUilAEKE0xpc3RBcGlLZXlzUmVzcG9uc2USIgoFaXRlbXMYASADKAsyEy5pZGVudGl0eS52MS5BcGlLZXkSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIsQBChNVcGRhdGVBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIWCglpc19hY3RpdmUYAyABKAhIAYgBARIOCgZzY29wZXMYBCADKAkSFQoNdXBkYXRlX3Njb3BlcxgGIAEoCBIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAUgASgFSAKIAQFCBwoFX25hbWVCDAoKX2lzX2FjdGl2ZUIWChRfcmF0ZV9saW1pdF9wZXJfaG91ciI8ChRVcGRhdGVBcGlLZXlSZXNwb25zZRIkCgdhcGlfa2V5GAEgASgLMhMuaWRlbnRpdHkudjEuQXBpS2V5IiEKE1JvdGF0ZUFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkiPAoUUm90YXRlQXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSIhChNSZXZva2VBcGlLZXlSZXF1ZXN0EgoKAmlkGAEgASgJIicKFFJldm9rZUFwaUtleVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgisQUKDEF1dGhQcm92aWRlchIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgR0eXBlGAQgASgJEicKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgGIAEoCBISCgppc19kZWZhdWx0GAcgASgIEhAKCHByaW9yaXR5GAggASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAIgBARIXCgp1cGRhdGVkX2J5GB8gASgJSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoQcHVibGlzaGVkX2NvbmZpZxg8IAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIeChFwdWJsaXNoZWRfZW5hYmxlZBg9IAEoCEgDiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GD4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQFCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCEwoRX3B1Ymxpc2hlZF9jb25maWdCFAoSX3B1Ymxpc2hlZF9lbmFibGVkQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCLJAQoYTGlzdEF1dGhQcm92aWRlcnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKkAQoZTGlzdEF1dGhQcm92aWRlcnNSZXNwb25zZRIsCglwcm92aWRlcnMYASADKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXISDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiQKFkdldEF1dGhQcm92aWRlclJlcXVlc3QSCgoCaWQYASABKAkiRgoXR2V0QXV0aFByb3ZpZGVyUmVzcG9uc2USKwoIcHJvdmlkZXIYASABKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXIigQIKGUNyZWF0ZUF1dGhQcm92aWRlclJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRInCgZjb25maWcYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKB2VuYWJsZWQYBSABKAhIAIgBARIXCgppc19kZWZhdWx0GAYgASgISAGIAQESFQoIcHJpb3JpdHkYByABKAVIAogBARIWCgljb25maWdfaWQYCCABKAlIA4gBAUIKCghfZW5hYmxlZEINCgtfaXNfZGVmYXVsdEILCglfcHJpb3JpdHlCDAoKX2NvbmZpZ19pZCJJChpDcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciLqAQoZVXBkYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESLAoGY29uZmlnGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIXCgppc19kZWZhdWx0GAUgASgISAOIAQESFQoIcHJpb3JpdHkYBiABKAVIBIgBAUIHCgVfbmFtZUIJCgdfY29uZmlnQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eSJJChpVcGRhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciInChlEZWxldGVBdXRoUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIi0KGkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiKAoaUHVibGlzaEF1dGhQcm92aWRlclJlcXVlc3QSCgoCaWQYASABKAkigAEKG1B1Ymxpc2hBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlchI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIqChxVbnB1Ymxpc2hBdXRoUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJIkwKHVVucHVibGlzaEF1dGhQcm92aWRlclJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyIjEKI0dldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIlEKJEdldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMi2gIKE0F1dGhQcm92aWRlclZlcnNpb24SCgoCaWQYASABKAkSGAoQYXV0aF9wcm92aWRlcl9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIpCghzbmFwc2hvdBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5IisKHUdldEF1dGhQcm92aWRlclZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlMKHkdldEF1dGhQcm92aWRlclZlcnNpb25SZXNwb25zZRIxCgd2ZXJzaW9uGAEgASgLMiAuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyVmVyc2lvbiKzAQofTGlzdEF1dGhQcm92aWRlclZlcnNpb25zUmVxdWVzdBIYChBhdXRoX3Byb3ZpZGVyX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrEBCiBMaXN0QXV0aFByb3ZpZGVyVmVyc2lvbnNSZXNwb25zZRIyCgh2ZXJzaW9ucxgBIAMoCzIgLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlclZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIm8KIVJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iiAEKIlJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVzcG9uc2USKwoIcHJvdmlkZXIYASABKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXISNQoLbmV3X3ZlcnNpb24YAiABKAsyIC5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXJWZXJzaW9uIqgBCiJTY2hlZHVsZUF1dGhQcm92aWRlclB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlIKI1NjaGVkdWxlQXV0aFByb3ZpZGVyUHVibGlzaFJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyIjcKKUNhbmNlbFNjaGVkdWxlZEF1dGhQcm92aWRlclB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJIlkKKkNhbmNlbFNjaGVkdWxlZEF1dGhQcm92aWRlclB1Ymxpc2hSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciIeChxFbmFibGVkT0F1dGhQcm92aWRlcnNSZXF1ZXN0IjIKHUVuYWJsZWRPQXV0aFByb3ZpZGVyc1Jlc3BvbnNlEhEKCXByb3ZpZGVycxgBIAMoCSIqChdNaW50U2VydmljZVRva2VuUmVxdWVzdBIPCgdwdXJwb3NlGAEgASgJIk4KGE1pbnRTZXJ2aWNlVG9rZW5SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIPCgdwdXJwb3NlGAIgASgJEhIKCmV4cGlyZXNfYXQYAyABKAkijgEKFlVwZGF0ZU15UHJvZmlsZVJlcXVlc3QSFwoKZmlyc3RfbmFtZRgBIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgCIAEoCUgBiAEBEhcKCmF2YXRhcl91cmwYAyABKAlIAogBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsIj8KF1VwZGF0ZU15UHJvZmlsZVJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIizgEKHUxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0EhIKBWZpcnN0GAEgASgFSACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARIRCgRsYXN0GAMgASgFSAKIAQESEwoGYmVmb3JlGAQgASgJSAOIAQESKwoFd2hlcmUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlQggKBl93aGVyZSKNAQoPT0F1dGhDb25uZWN0aW9uEhAKCHByb3ZpZGVyGAEgASgJEhgKEHByb3ZpZGVyX3VzZXJfaWQYAiABKAkSEgoFZW1haWwYAyABKAlIAIgBARIwCgxjb25uZWN0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl9lbWFpbCKuAQoeTGlzdE15T0F1dGhDb25uZWN0aW9uc1Jlc3BvbnNlEjEKC2Nvbm5lY3Rpb25zGAEgAygLMhwuaWRlbnRpdHkudjEuT0F1dGhDb25uZWN0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIuChpVbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBIQCghwcm92aWRlchgBIAEoCSIuChtVbmxpbmtPQXV0aFByb3ZpZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIuCh1DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVxdWVzdBINCgVlbWFpbBgBIAEoCSIzCh5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USEQoJYXZhaWxhYmxlGAEgASgIIo8BChtDb21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QSFwoKZmlyc3RfbmFtZRgBIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgCIAEoCUgBiAEBEhUKCHBhc3N3b3JkGAMgASgJSAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUILCglfcGFzc3dvcmQiWwocQ29tcGxldGVBY2NvdW50U2V0dXBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhkKDHJlZGlyZWN0X3VybBgCIAEoCUgAiAEBQg8KDV9yZWRpcmVjdF91cmwiLQoaQ3JlYXRlU2lnbnVwU2Vzc2lvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIuChtDcmVhdGVTaWdudXBTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIwChdSZXNlbmRJbnZpdGF0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJIisKGFJlc2VuZEludml0YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKFEdldEludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkQKFUdldEludml0YXRpb25SZXNwb25zZRIrCgppbnZpdGF0aW9uGAEgASgLMhcuaWRlbnRpdHkudjEuSW52aXRhdGlvbiIqChVBY3RpdmF0ZVRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIj0KFkFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IjAKG1N1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQwocU3VzcGVuZFRlbmFudEFjY291bnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiKAoTQ2FuY2VsVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiOwoUQ2FuY2VsVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IiwKF1JlYWN0aXZhdGVUZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI/ChhSZWFjdGl2YXRlVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50Ii0KGE1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiQAoZTWFya1RlbmFudFBhc3REdWVSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiJwoSQ2h1cm5UZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI6ChNDaHVyblRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIkCiJHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXF1ZXN0ItsBChhDdXN0b21lck1hbmFnZW1lbnRTdGF0dXMSIQoZbmF0aXZlX21hbmFnZW1lbnRfZW5hYmxlZBgBIAEoCBIiChVleHRlcm5hbF9wcm92aWRlcl91cmwYAiABKAlIAIgBARIjChZleHRlcm5hbF9wcm92aWRlcl9uYW1lGAMgASgJSAGIAQESEwoGcmVhc29uGAQgASgJSAKIAQFCGAoWX2V4dGVybmFsX3Byb3ZpZGVyX3VybEIZChdfZXh0ZXJuYWxfcHJvdmlkZXJfbmFtZUIJCgdfcmVhc29uIlwKI0dldEN1c3RvbWVyTWFuYWdlbWVudFN0YXR1c1Jlc3BvbnNlEjUKBnN0YXR1cxgBIAEoCzIlLmlkZW50aXR5LnYxLkN1c3RvbWVyTWFuYWdlbWVudFN0YXR1cyIoChVWYWxpZGF0ZUFwaUtleVJlcXVlc3QSDwoHYXBpX2tleRgBIAEoCSLMAQoWVmFsaWRhdGVBcGlLZXlSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEhAKCGtleV90eXBlGAUgASgJEg4KBnNjb3BlcxgGIAMoCRIWCg5hbGxvd2VkX21vZGVscxgHIAMoCRIaChJhbGxvd2VkX2ZpbGVfdHlwZXMYCCADKAkSGwoTcmF0ZV9saW1pdF9wZXJfaG91chgJIAEoBSI3ChRDdXN0b21lckxvZ2luUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCSJtChVDdXN0b21lckxvZ2luUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkSJwoIY3VzdG9tZXIYAyABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciJ/ChdDdXN0b21lclJlZ2lzdGVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIyCgxwcm9maWxlX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX3Byb2ZpbGVfZGF0YSJwChhDdXN0b21lclJlZ2lzdGVyUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkSJwoIY3VzdG9tZXIYAyABKAsyFS5pZGVudGl0eS52MS5DdXN0b21lciI0ChtDdXN0b21lclJlZnJlc2hUb2tlblJlcXVlc3QSFQoNcmVmcmVzaF90b2tlbhgBIAEoCSJLChxDdXN0b21lclJlZnJlc2hUb2tlblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJIioKGUN1c3RvbWVyUmVxdWVzdE9UUFJlcXVlc3QSDQoFZW1haWwYASABKAkiKgoaQ3VzdG9tZXJSZXF1ZXN0T1RQUmVzcG9uc2USDAoEc2VudBgBIAEoCCI7ChhDdXN0b21lclZlcmlmeU9UUFJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIb3RwX2NvZGUYAiABKAkicQoZQ3VzdG9tZXJWZXJpZnlPVFBSZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCRInCghjdXN0b21lchgDIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIjQKI0N1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIjQKJEN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRIMCgRzZW50GAEgASgIIkMKHEN1c3RvbWVyUmVzZXRQYXNzd29yZFJlcXVlc3QSDQoFdG9rZW4YASABKAkSFAoMbmV3X3Bhc3N3b3JkGAIgASgJIjAKHUN1c3RvbWVyUmVzZXRQYXNzd29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgi2QEKGVN0b3JlUHJvdmlkZXJUb2tlblJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSFAoMcHJvdmlkZXJfa2V5GAIgASgJEhQKDGFjY2Vzc190b2tlbhgDIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAQgASgJEhAKCGlkX3Rva2VuGAUgASgJEg4KBnNjb3BlcxgGIAEoCRIzCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg0KC19leHBpcmVzX2F0IhwKGlN0b3JlUHJvdmlkZXJUb2tlblJlc3BvbnNlIoMBChlTdGFydFByb3ZpZGVyTG9naW5SZXF1ZXN0EhQKDHByb3ZpZGVyX2tleRgBIAEoCRIWCglyZXR1cm5fdG8YAiABKAlIAIgBARIZCgxyZWRpcmVjdF91cmkYAyABKAlIAYgBAUIMCgpfcmV0dXJuX3RvQg8KDV9yZWRpcmVjdF91cmkiMgoaU3RhcnRQcm92aWRlckxvZ2luUmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJIk8KGkZpbmlzaFByb3ZpZGVyTG9naW5SZXF1ZXN0EhQKDHByb3ZpZGVyX2tleRgBIAEoCRIMCgRjb2RlGAIgASgJEg0KBXN0YXRlGAMgASgJIm4KG0ZpbmlzaFByb3ZpZGVyTG9naW5SZXNwb25zZRITCgtjdXN0b21lcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAyABKAkSFQoNcmVmcmVzaF90b2tlbhgEIAEoCSKCAQohU3RhcnRDdXN0b21lckxvZ2luV2l0aEZvaXJSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRIUCgxyZWRpcmVjdF91cmkYAiABKAkSDgoGc2NvcGVzGAMgAygJEhYKCXJldHVybl90bxgEIAEoCUgAiAEBQgwKCl9yZXR1cm5fdG8iOgoiU3RhcnRDdXN0b21lckxvZ2luV2l0aEZvaXJSZXNwb25zZRIUCgxyZWRpcmVjdF91cmwYASABKAkiQwokQ29tcGxldGVDdXN0b21lckxvZ2luV2l0aEZvaXJSZXF1ZXN0EgwKBGNvZGUYASABKAkSDQoFc3RhdGUYAiABKAkingEKJUNvbXBsZXRlQ3VzdG9tZXJMb2dpbldpdGhGb2lyUmVzcG9uc2USEwoLY3VzdG9tZXJfaWQYASABKAkSDQoFZW1haWwYAiABKAkSFAoMYWNjZXNzX3Rva2VuGAMgASgJEhUKDXJlZnJlc2hfdG9rZW4YBCABKAkSFgoJcmV0dXJuX3RvGAUgASgJSACIAQFCDAoKX3JldHVybl90byJ/Ch5TdGFydEFkbWluTG9naW5XaXRoRm9pclJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhQKDHJlZGlyZWN0X3VyaRgCIAEoCRIOCgZzY29wZXMYAyADKAkSFgoJcmV0dXJuX3RvGAQgASgJSACIAQFCDAoKX3JldHVybl90byI3Ch9TdGFydEFkbWluTG9naW5XaXRoRm9pclJlc3BvbnNlEhQKDHJlZGlyZWN0X3VybBgBIAEoCSJACiFDb21wbGV0ZUFkbWluTG9naW5XaXRoRm9pclJlcXVlc3QSDAoEY29kZRgBIAEoCRINCgVzdGF0ZRgCIAEoCSK9AQoiQ29tcGxldGVBZG1pbkxvZ2luV2l0aEZvaXJSZXNwb25zZRIVCg1hZG1pbl91c2VyX2lkGAEgASgJEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAMgASgJEg4KBnNjb3BlcxgEIAMoCRIdChVpc19maXJzdF9wYXJ0eV9jbGllbnQYBSABKAgSFgoJcmV0dXJuX3RvGAYgASgJSACIAQFCDAoKX3JldHVybl90byJEChdHZXRQcm92aWRlclRva2VuUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIUCgxwcm92aWRlcl9rZXkYAiABKAkirQEKGEdldFByb3ZpZGVyVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCRIQCghpZF90b2tlbhgDIAEoCRIOCgZzY29wZXMYBCABKAkSMwoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfZXhwaXJlc19hdCIyChtEZWxldGVQcm92aWRlclRva2Vuc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiHgocRGVsZXRlUHJvdmlkZXJUb2tlbnNSZXNwb25zZSJ0ChhSZWx5aW5nUGFydHlMb2dpbk1ldGhvZHMSFQoIcGFzc3dvcmQYASABKAhIAIgBARIQCgNvdHAYAiABKAhIAYgBARIaChJkaXNhYmxlZF9wcm92aWRlcnMYAyADKAlCCwoJX3Bhc3N3b3JkQgYKBF9vdHAi0QQKDFJlbHlpbmdQYXJ0eRIKCgJpZBgBIAEoCRIWCg5wcmluY2lwYWxfa2luZBgCIAEoCRIWCgl0ZW5hbnRfaWQYAyABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAQgASgJSAGIAQESEQoJY2xpZW50X2lkGAUgASgJEgwKBG5hbWUYBiABKAkSFQoNcmVkaXJlY3RfdXJpcxgHIAMoCRIWCg5hbGxvd2VkX3Njb3BlcxgIIAMoCRIWCg5pc19maXJzdF9wYXJ0eRgJIAEoCBIUCgxyZXF1aXJlc19tZmEYCiABKAgSQQoNbG9naW5fbWV0aG9kcxgLIAEoCzIlLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eUxvZ2luTWV0aG9kc0gCiAEBEhcKCmNyZWF0ZWRfYnkYDCABKAlIA4gBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0CgtkaXNhYmxlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIbCg5wb3N0X2xvZ2luX3VybBgQIAEoCUgFiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCEAoOX2xvZ2luX21ldGhvZHNCDQoLX2NyZWF0ZWRfYnlCDgoMX2Rpc2FibGVkX2F0QhEKD19wb3N0X2xvZ2luX3VybCKBAQoZTGlzdFJlbHlpbmdQYXJ0aWVzUmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIWCgl0ZW5hbnRfaWQYAiABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAMgASgJSAGIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZCJVChpMaXN0UmVseWluZ1BhcnRpZXNSZXNwb25zZRIoCgVpdGVtcxgBIAMoCzIZLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eRINCgV0b3RhbBgCIAEoBSJDChZHZXRSZWx5aW5nUGFydHlSZXF1ZXN0EhYKDnByaW5jaXBhbF9raW5kGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCSJLChdHZXRSZWx5aW5nUGFydHlSZXNwb25zZRIwCg1yZWx5aW5nX3BhcnR5GAEgASgLMhkuaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5IoQDChlDcmVhdGVSZWx5aW5nUGFydHlSZXF1ZXN0EhYKDnByaW5jaXBhbF9raW5kGAEgASgJEhYKCXRlbmFudF9pZBgCIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAyABKAlIAYgBARIRCgljbGllbnRfaWQYBCABKAkSDAoEbmFtZRgFIAEoCRIVCg1yZWRpcmVjdF91cmlzGAYgAygJEhYKDmFsbG93ZWRfc2NvcGVzGAcgAygJEhYKDmlzX2ZpcnN0X3BhcnR5GAggASgIEhQKDHJlcXVpcmVzX21mYRgJIAEoCBJBCg1sb2dpbl9tZXRob2RzGAogASgLMiUuaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5TG9naW5NZXRob2RzSAKIAQESGwoOcG9zdF9sb2dpbl91cmwYCyABKAlIA4gBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkQhAKDl9sb2dpbl9tZXRob2RzQhEKD19wb3N0X2xvZ2luX3VybCJOChpDcmVhdGVSZWx5aW5nUGFydHlSZXNwb25zZRIwCg1yZWx5aW5nX3BhcnR5GAEgASgLMhkuaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5IsICChlVcGRhdGVSZWx5aW5nUGFydHlSZXF1ZXN0EhYKDnByaW5jaXBhbF9raW5kGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCRIRCgRuYW1lGAMgASgJSACIAQESFQoNcmVkaXJlY3RfdXJpcxgEIAMoCRIWCg5hbGxvd2VkX3Njb3BlcxgFIAMoCRIZCgxyZXF1aXJlc19tZmEYBiABKAhIAYgBARJBCg1sb2dpbl9tZXRob2RzGAcgASgLMiUuaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5TG9naW5NZXRob2RzSAKIAQESGwoOcG9zdF9sb2dpbl91cmwYCCABKAlIA4gBAUIHCgVfbmFtZUIPCg1fcmVxdWlyZXNfbWZhQhAKDl9sb2dpbl9tZXRob2RzQhEKD19wb3N0X2xvZ2luX3VybCJOChpVcGRhdGVSZWx5aW5nUGFydHlSZXNwb25zZRIwCg1yZWx5aW5nX3BhcnR5GAEgASgLMhkuaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5IkcKGkRpc2FibGVSZWx5aW5nUGFydHlSZXF1ZXN0EhYKDnByaW5jaXBhbF9raW5kGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCSIdChtEaXNhYmxlUmVseWluZ1BhcnR5UmVzcG9uc2Ui7AIKDEN1c3RvbURvbWFpbhIKCgJpZBgBIAEoCRIYChByZWx5aW5nX3BhcnR5X2lkGAIgASgJEgwKBGtpbmQYAyABKAkSEQoJdGVuYW50X2lkGAQgASgJEhIKCnByb2plY3RfaWQYBSABKAkSEAoIaG9zdG5hbWUYBiABKAkSDgoGc3RhdHVzGAcgASgJEhEKCXR4dF90b2tlbhgIIAEoCRI0Cgt2ZXJpZmllZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIXCgpjcmVhdGVkX2J5GAogASgJSAGIAQESLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX3ZlcmlmaWVkX2F0Qg0KC19jcmVhdGVkX2J5IlcKG1JlZ2lzdGVyQ3VzdG9tRG9tYWluUmVxdWVzdBIYChByZWx5aW5nX3BhcnR5X2lkGAEgASgJEhAKCGhvc3RuYW1lGAIgASgJEgwKBGtpbmQYAyABKAkiUAocUmVnaXN0ZXJDdXN0b21Eb21haW5SZXNwb25zZRIwCg1jdXN0b21fZG9tYWluGAEgASgLMhkuaWRlbnRpdHkudjEuQ3VzdG9tRG9tYWluIicKGVZlcmlmeUN1c3RvbURvbWFpblJlcXVlc3QSCgoCaWQYASABKAkiYAoaVmVyaWZ5Q3VzdG9tRG9tYWluUmVzcG9uc2USMAoNY3VzdG9tX2RvbWFpbhgBIAEoCzIZLmlkZW50aXR5LnYxLkN1c3RvbURvbWFpbhIQCgh2ZXJpZmllZBgCIAEoCCInChlEZWxldGVDdXN0b21Eb21haW5SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZUN1c3RvbURvbWFpblJlc3BvbnNlIjQKGExpc3RDdXN0b21Eb21haW5zUmVxdWVzdBIYChByZWx5aW5nX3BhcnR5X2lkGAEgASgJIkUKGUxpc3RDdXN0b21Eb21haW5zUmVzcG9uc2USKAoFaXRlbXMYASADKAsyGS5pZGVudGl0eS52MS5DdXN0b21Eb21haW4i4gIKD0N1c3RvbWVyU2Vzc2lvbhIKCgJpZBgBIAEoCRITCgtjdXN0b21lcl9pZBgCIAEoCRIYChByZWx5aW5nX3BhcnR5X2lkGAMgASgJEhEKCXRlbmFudF9pZBgEIAEoCRISCgpwcm9qZWN0X2lkGAUgASgJEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGxhc3Rfc2Vlbl9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKaXBfYWRkcmVzcxgJIAEoCUgAiAEBEhcKCnVzZXJfYWdlbnQYCiABKAlIAYgBARILCgNhbXIYCyADKAlCDQoLX2lwX2FkZHJlc3NCDQoLX3VzZXJfYWdlbnQiNwobTGlzdEN1c3RvbWVyU2Vzc2lvbnNSZXF1ZXN0EhgKEHJlbHlpbmdfcGFydHlfaWQYASABKAkiSwocTGlzdEN1c3RvbWVyU2Vzc2lvbnNSZXNwb25zZRIrCgVpdGVtcxgBIAMoCzIcLmlkZW50aXR5LnYxLkN1c3RvbWVyU2Vzc2lvbiIqChxSZXZva2VDdXN0b21lclNlc3Npb25SZXF1ZXN0EgoKAmlkGAEgASgJIh8KHVJldm9rZUN1c3RvbWVyU2Vzc2lvblJlc3BvbnNlIp0CChFSZWx5aW5nUGFydHlHcmFudBIKCgJpZBgBIAEoCRIVCg1hZG1pbl91c2VyX2lkGAIgASgJEhEKCWNsaWVudF9pZBgDIAEoCRIOCgZzY29wZXMYBCADKAkSFwoKZ3JhbnRlZF9ieRgFIAEoCUgAiAEBEi4KCmdyYW50ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnJldm9rZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFwoKcmV2b2tlZF9ieRgIIAEoCUgCiAEBQg0KC19ncmFudGVkX2J5Qg0KC19yZXZva2VkX2F0Qg0KC19yZXZva2VkX2J5Ik0KHUxpc3RSZWx5aW5nUGFydHlHcmFudHNSZXF1ZXN0EhoKDWFkbWluX3VzZXJfaWQYASABKAlIAIgBAUIQCg5fYWRtaW5fdXNlcl9pZCJeCh5MaXN0UmVseWluZ1BhcnR5R3JhbnRzUmVzcG9uc2USLQoFaXRlbXMYASADKAsyHi5pZGVudGl0eS52MS5SZWx5aW5nUGFydHlHcmFudBINCgV0b3RhbBgCIAEoBSJUChhHcmFudFJlbHlpbmdQYXJ0eVJlcXVlc3QSFQoNYWRtaW5fdXNlcl9pZBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSDgoGc2NvcGVzGAMgAygJIkoKGUdyYW50UmVseWluZ1BhcnR5UmVzcG9uc2USLQoFZ3JhbnQYASABKAsyHi5pZGVudGl0eS52MS5SZWx5aW5nUGFydHlHcmFudCIsCh5SZXZva2VSZWx5aW5nUGFydHlHcmFudFJlcXVlc3QSCgoCaWQYASABKAkiIQofUmV2b2tlUmVseWluZ1BhcnR5R3JhbnRSZXNwb25zZSLbAgoEUm9sZRIKCgJpZBgBIAEoCRI2Cg5wcmluY2lwYWxfa2luZBgCIAEoDjIeLmlkZW50aXR5LnYxLlJvbGVQcmluY2lwYWxLaW5kEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEgsKA2tleRgFIAEoCRIMCgRuYW1lGAYgASgJEhMKC3Blcm1pc3Npb25zGAcgAygJEhIKCmlzX2RlZmF1bHQYCCABKAgSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoLZGlzYWJsZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDgoMX2Rpc2FibGVkX2F0IvkBChBMaXN0Um9sZXNSZXF1ZXN0EjYKDnByaW5jaXBhbF9raW5kGAEgASgOMh4uaWRlbnRpdHkudjEuUm9sZVByaW5jaXBhbEtpbmQSKwoFd2hlcmUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFZmlyc3QYAyABKAVIAYgBARISCgVhZnRlchgEIAEoCUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBARITCgZiZWZvcmUYBiABKAlIBIgBAUIICgZfd2hlcmVCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIpABChFMaXN0Um9sZXNSZXNwb25zZRIgCgVpdGVtcxgBIAMoCzIRLmlkZW50aXR5LnYxLlJvbGUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIhwKDkdldFJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJIjIKD0dldFJvbGVSZXNwb25zZRIfCgRyb2xlGAEgASgLMhEuaWRlbnRpdHkudjEuUm9sZSK2AQoRQ3JlYXRlUm9sZVJlcXVlc3QSNgoOcHJpbmNpcGFsX2tpbmQYASABKA4yHi5pZGVudGl0eS52MS5Sb2xlUHJpbmNpcGFsS2luZBIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRILCgNrZXkYBCABKAkSDAoEbmFtZRgFIAEoCRITCgtwZXJtaXNzaW9ucxgGIAMoCRISCgppc19kZWZhdWx0GAcgASgIIjUKEkNyZWF0ZVJvbGVSZXNwb25zZRIfCgRyb2xlGAEgASgLMhEuaWRlbnRpdHkudjEuUm9sZSJ4ChFVcGRhdGVSb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESEwoLcGVybWlzc2lvbnMYAyADKAkSFwoKaXNfZGVmYXVsdBgEIAEoCEgBiAEBQgcKBV9uYW1lQg0KC19pc19kZWZhdWx0IjUKElVwZGF0ZVJvbGVSZXNwb25zZRIfCgRyb2xlGAEgASgLMhEuaWRlbnRpdHkudjEuUm9sZSIgChJEaXNhYmxlUm9sZVJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVJvbGVSZXNwb25zZSK/AgoOUm9sZUFzc2lnbm1lbnQSCgoCaWQYASABKAkSNgoOcHJpbmNpcGFsX2tpbmQYAiABKA4yHi5pZGVudGl0eS52MS5Sb2xlUHJpbmNpcGFsS2luZBIUCgxwcmluY2lwYWxfaWQYAyABKAkSDwoHcm9sZV9pZBgEIAEoCRIuCgpncmFudGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpncmFudGVkX2J5GAYgASgJSACIAQESMwoKcmV2b2tlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgpyZXZva2VkX2J5GAggASgJSAKIAQFCDQoLX2dyYW50ZWRfYnlCDQoLX3Jldm9rZWRfYXRCDQoLX3Jldm9rZWRfYnkicgoRQXNzaWduUm9sZVJlcXVlc3QSNgoOcHJpbmNpcGFsX2tpbmQYASABKA4yHi5pZGVudGl0eS52MS5Sb2xlUHJpbmNpcGFsS2luZBIUCgxwcmluY2lwYWxfaWQYAiABKAkSDwoHcm9sZV9pZBgDIAEoCSJFChJBc3NpZ25Sb2xlUmVzcG9uc2USLwoKYXNzaWdubWVudBgBIAEoCzIbLmlkZW50aXR5LnYxLlJvbGVBc3NpZ25tZW50IikKG1Jldm9rZVJvbGVBc3NpZ25tZW50UmVxdWVzdBIKCgJpZBgBIAEoCSIeChxSZXZva2VSb2xlQXNzaWdubWVudFJlc3BvbnNlIoMCChpMaXN0Um9sZUFzc2lnbm1lbnRzUmVxdWVzdBI2Cg5wcmluY2lwYWxfa2luZBgBIAEoDjIeLmlkZW50aXR5LnYxLlJvbGVQcmluY2lwYWxLaW5kEisKBXdoZXJlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAMgASgFSAGIAQESEgoFYWZ0ZXIYBCABKAlIAogBARIRCgRsYXN0GAUgASgFSAOIAQESEwoGYmVmb3JlGAYgASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSKkAQobTGlzdFJvbGVBc3NpZ25tZW50c1Jlc3BvbnNlEioKBWl0ZW1zGAEgAygLMhsuaWRlbnRpdHkudjEuUm9sZUFzc2lnbm1lbnQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvKrEBCg9BZG1pblVzZXJTdGF0dXMSIQodQURNSU5fVVNFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIcChhBRE1JTl9VU0VSX1NUQVRVU19BQ1RJVkUQARIdChlBRE1JTl9VU0VSX1NUQVRVU19QRU5ESU5HEAISHwobQURNSU5fVVNFUl9TVEFUVVNfU1VTUEVOREVEEAMSHQoZQURNSU5fVVNFUl9TVEFUVVNfREVMRVRFRBAEKokBCg5DdXN0b21lclN0YXR1cxIfChtDVVNUT01FUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIaChZDVVNUT01FUl9TVEFUVVNfQUNUSVZFEAESGwoXQ1VTVE9NRVJfU1RBVFVTX1BFTkRJTkcQAhIdChlDVVNUT01FUl9TVEFUVVNfU1VTUEVOREVEEAMq2QEKDFRlbmFudFN0YXR1cxIdChlURU5BTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobVEVOQU5UX1NUQVRVU19QRU5ESU5HX1NFVFVQEAESGAoUVEVOQU5UX1NUQVRVU19BQ1RJVkUQAhIaChZURU5BTlRfU1RBVFVTX1BBU1RfRFVFEAMSGwoXVEVOQU5UX1NUQVRVU19TVVNQRU5ERUQQBBIbChdURU5BTlRfU1RBVFVTX0NBTkNFTExFRBAFEhkKFVRFTkFOVF9TVEFUVVNfQ0hVUk5FRBAGKmYKDVByb2plY3RTdGF0dXMSHgoaUFJPSkVDVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVQUk9KRUNUX1NUQVRVU19BQ1RJVkUQARIaChZQUk9KRUNUX1NUQVRVU19ERUxFVEVEEAIqpgEKCkFjY2Vzc1JvbGUSGwoXQUNDRVNTX1JPTEVfVU5TUEVDSUZJRUQQABIcChhBQ0NFU1NfUk9MRV9URU5BTlRfT1dORVIQARIdChlBQ0NFU1NfUk9MRV9QUk9KRUNUX0FETUlOEAISHgoaQUNDRVNTX1JPTEVfUFJPSkVDVF9FRElUT1IQAxIeChpBQ0NFU1NfUk9MRV9QUk9KRUNUX1ZJRVdFUhAEKmQKCkludml0ZVR5cGUSGwoXSU5WSVRFX1RZUEVfVU5TUEVDSUZJRUQQABIcChhJTlZJVEVfVFlQRV9URU5BTlRfT1dORVIQARIbChdJTlZJVEVfVFlQRV9URUFNX01FTUJFUhACKrIBChBJbnZpdGF0aW9uU3RhdHVzEiEKHUlOVklUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZSU5WSVRBVElPTl9TVEFUVVNfUEVORElORxABEh4KGklOVklUQVRJT05fU1RBVFVTX0FDQ0VQVEVEEAISHQoZSU5WSVRBVElPTl9TVEFUVVNfRVhQSVJFRBADEh0KGUlOVklUQVRJT05fU1RBVFVTX1JFVk9LRUQQBCrnAQoYQ3VzdG9tZXJJbnZpdGF0aW9uU3RhdHVzEioKJkNVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASJgoiQ1VTVE9NRVJfSU5WSVRBVElPTl9TVEFUVVNfUEVORElORxABEicKI0NVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX0FDQ0VQVEVEEAISJgoiQ1VTVE9NRVJfSU5WSVRBVElPTl9TVEFUVVNfRVhQSVJFRBADEiYKIkNVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX1JFVk9LRUQQBCpcCgpBcGlLZXlUeXBlEhwKGEFQSV9LRVlfVFlQRV9VTlNQRUNJRklFRBAAEhcKE0FQSV9LRVlfVFlQRV9QVUJMSUMQARIXChNBUElfS0VZX1RZUEVfU0VDUkVUEAIqeQoRUm9sZVByaW5jaXBhbEtpbmQSIwofUk9MRV9QUklOQ0lQQUxfS0lORF9VTlNQRUNJRklFRBAAEiAKHFJPTEVfUFJJTkNJUEFMX0tJTkRfQ1VTVE9NRVIQARIdChlST0xFX1BSSU5DSVBBTF9LSU5EX0FETUlOEAIy52gKD0lkZW50aXR5U2VydmljZRI+CgVMb2dpbhIZLmlkZW50aXR5LnYxLkxvZ2luUmVxdWVzdBoaLmlkZW50aXR5LnYxLkxvZ2luUmVzcG9uc2USUwoMTG9naW5XaXRoT1RQEiAuaWRlbnRpdHkudjEuTG9naW5XaXRoT1RQUmVxdWVzdBohLmlkZW50aXR5LnYxLkxvZ2luV2l0aE9UUFJlc3BvbnNlEk0KClJlcXVlc3RPVFASHi5pZGVudGl0eS52MS5SZXF1ZXN0T1RQUmVxdWVzdBofLmlkZW50aXR5LnYxLlJlcXVlc3RPVFBSZXNwb25zZRJBCgZMb2dvdXQSGi5pZGVudGl0eS52MS5Mb2dvdXRSZXF1ZXN0GhsuaWRlbnRpdHkudjEuTG9nb3V0UmVzcG9uc2USRwoIUmVnaXN0ZXISHC5pZGVudGl0eS52MS5SZWdpc3RlclJlcXVlc3QaHS5pZGVudGl0eS52MS5SZWdpc3RlclJlc3BvbnNlElAKC1ZlcmlmeUVtYWlsEh8uaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxSZXF1ZXN0GiAuaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxSZXNwb25zZRJ0ChdSZXNlbmRWZXJpZmljYXRpb25FbWFpbBIrLmlkZW50aXR5LnYxLlJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVxdWVzdBosLmlkZW50aXR5LnYxLlJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsUmVzcG9uc2USegoZU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZRItLmlkZW50aXR5LnYxLlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0Gi4uaWRlbnRpdHkudjEuU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVJlc3BvbnNlElwKD1ZlcmlmeUVtYWlsQ29kZRIjLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsQ29kZVJlcXVlc3QaJC5pZGVudGl0eS52MS5WZXJpZnlFbWFpbENvZGVSZXNwb25zZRJrChRSZXF1ZXN0UGFzc3dvcmRSZXNldBIoLmlkZW50aXR5LnYxLlJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBopLmlkZW50aXR5LnYxLlJlcXVlc3RQYXNzd29yZFJlc2V0UmVzcG9uc2USVgoNUmVzZXRQYXNzd29yZBIhLmlkZW50aXR5LnYxLlJlc2V0UGFzc3dvcmRSZXF1ZXN0GiIuaWRlbnRpdHkudjEuUmVzZXRQYXNzd29yZFJlc3BvbnNlElkKDlVwZGF0ZVBhc3N3b3JkEiIuaWRlbnRpdHkudjEuVXBkYXRlUGFzc3dvcmRSZXF1ZXN0GiMuaWRlbnRpdHkudjEuVXBkYXRlUGFzc3dvcmRSZXNwb25zZRJTCgxSZWZyZXNoVG9rZW4SIC5pZGVudGl0eS52MS5SZWZyZXNoVG9rZW5SZXF1ZXN0GiEuaWRlbnRpdHkudjEuUmVmcmVzaFRva2VuUmVzcG9uc2USYgoRR2V0U2Vzc2lvbkNvbnRleHQSJS5pZGVudGl0eS52MS5HZXRTZXNzaW9uQ29udGV4dFJlcXVlc3QaJi5pZGVudGl0eS52MS5HZXRTZXNzaW9uQ29udGV4dFJlc3BvbnNlElMKDFN3aXRjaFRlbmFudBIgLmlkZW50aXR5LnYxLlN3aXRjaFRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5Td2l0Y2hUZW5hbnRSZXNwb25zZRJWCg1Td2l0Y2hQcm9qZWN0EiEuaWRlbnRpdHkudjEuU3dpdGNoUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5Td2l0Y2hQcm9qZWN0UmVzcG9uc2USaAoTQ2xlYXJTZXNzaW9uQ29udGV4dBInLmlkZW50aXR5LnYxLkNsZWFyU2Vzc2lvbkNvbnRleHRSZXF1ZXN0GiguaWRlbnRpdHkudjEuQ2xlYXJTZXNzaW9uQ29udGV4dFJlc3BvbnNlEj4KBUdldE1lEhkuaWRlbnRpdHkudjEuR2V0TWVSZXF1ZXN0GhouaWRlbnRpdHkudjEuR2V0TWVSZXNwb25zZRJcCg9DcmVhdGVBZG1pblVzZXISIy5pZGVudGl0eS52MS5DcmVhdGVBZG1pblVzZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuQ3JlYXRlQWRtaW5Vc2VyUmVzcG9uc2USUwoMR2V0QWRtaW5Vc2VyEiAuaWRlbnRpdHkudjEuR2V0QWRtaW5Vc2VyUmVxdWVzdBohLmlkZW50aXR5LnYxLkdldEFkbWluVXNlclJlc3BvbnNlElwKD1VwZGF0ZUFkbWluVXNlchIjLmlkZW50aXR5LnYxLlVwZGF0ZUFkbWluVXNlclJlcXVlc3QaJC5pZGVudGl0eS52MS5VcGRhdGVBZG1pblVzZXJSZXNwb25zZRJZCg5MaXN0QWRtaW5Vc2VycxIiLmlkZW50aXR5LnYxLkxpc3RBZG1pblVzZXJzUmVxdWVzdBojLmlkZW50aXR5LnYxLkxpc3RBZG1pblVzZXJzUmVzcG9uc2USUAoLR3JhbnRBY2Nlc3MSHy5pZGVudGl0eS52MS5HcmFudEFjY2Vzc1JlcXVlc3QaIC5pZGVudGl0eS52MS5HcmFudEFjY2Vzc1Jlc3BvbnNlElMKDFJldm9rZUFjY2VzcxIgLmlkZW50aXR5LnYxLlJldm9rZUFjY2Vzc1JlcXVlc3QaIS5pZGVudGl0eS52MS5SZXZva2VBY2Nlc3NSZXNwb25zZRJlChJHcmFudEltcGVyc29uYXRpb24SJi5pZGVudGl0eS52MS5HcmFudEltcGVyc29uYXRpb25SZXF1ZXN0GicuaWRlbnRpdHkudjEuR3JhbnRJbXBlcnNvbmF0aW9uUmVzcG9uc2USaAoTUmV2b2tlSW1wZXJzb25hdGlvbhInLmlkZW50aXR5LnYxLlJldm9rZUltcGVyc29uYXRpb25SZXF1ZXN0GiguaWRlbnRpdHkudjEuUmV2b2tlSW1wZXJzb25hdGlvblJlc3BvbnNlEnQKF0xpc3RJbXBlcnNvbmF0aW9uR3JhbnRzEisuaWRlbnRpdHkudjEuTGlzdEltcGVyc29uYXRpb25HcmFudHNSZXF1ZXN0GiwuaWRlbnRpdHkudjEuTGlzdEltcGVyc29uYXRpb25HcmFudHNSZXNwb25zZRJQCgtFbnRlclRlbmFudBIfLmlkZW50aXR5LnYxLkVudGVyVGVuYW50UmVxdWVzdBogLmlkZW50aXR5LnYxLkVudGVyVGVuYW50UmVzcG9uc2USWQoOQ3JlYXRlQ3VzdG9tZXISIi5pZGVudGl0eS52MS5DcmVhdGVDdXN0b21lclJlcXVlc3QaIy5pZGVudGl0eS52MS5DcmVhdGVDdXN0b21lclJlc3BvbnNlElAKC0dldEN1c3RvbWVyEh8uaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJSZXF1ZXN0GiAuaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJSZXNwb25zZRJZCg5VcGRhdGVDdXN0b21lchIiLmlkZW50aXR5LnYxLlVwZGF0ZUN1c3RvbWVyUmVxdWVzdBojLmlkZW50aXR5LnYxLlVwZGF0ZUN1c3RvbWVyUmVzcG9uc2USWQoORGVsZXRlQ3VzdG9tZXISIi5pZGVudGl0eS52MS5EZWxldGVDdXN0b21lclJlcXVlc3QaIy5pZGVudGl0eS52MS5EZWxldGVDdXN0b21lclJlc3BvbnNlElYKDUxpc3RDdXN0b21lcnMSIS5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJzUmVxdWVzdBoiLmlkZW50aXR5LnYxLkxpc3RDdXN0b21lcnNSZXNwb25zZRJcCg9TdXNwZW5kQ3VzdG9tZXISIy5pZGVudGl0eS52MS5TdXNwZW5kQ3VzdG9tZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuU3VzcGVuZEN1c3RvbWVyUmVzcG9uc2USWQoOTWVyZ2VDdXN0b21lcnMSIi5pZGVudGl0eS52MS5NZXJnZUN1c3RvbWVyc1JlcXVlc3QaIy5pZGVudGl0eS52MS5NZXJnZUN1c3RvbWVyc1Jlc3BvbnNlEmgKE1NldEN1c3RvbWVyUGFzc3dvcmQSJy5pZGVudGl0eS52MS5TZXRDdXN0b21lclBhc3N3b3JkUmVxdWVzdBooLmlkZW50aXR5LnYxLlNldEN1c3RvbWVyUGFzc3dvcmRSZXNwb25zZRJ3ChhDcmVhdGVDdXN0b21lckludml0YXRpb24SLC5pZGVudGl0eS52MS5DcmVhdGVDdXN0b21lckludml0YXRpb25SZXF1ZXN0Gi0uaWRlbnRpdHkudjEuQ3JlYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USdAoXTGlzdEN1c3RvbWVySW52aXRhdGlvbnMSKy5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJJbnZpdGF0aW9uc1JlcXVlc3QaLC5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJJbnZpdGF0aW9uc1Jlc3BvbnNlEm4KFUdldEN1c3RvbWVySW52aXRhdGlvbhIpLmlkZW50aXR5LnYxLkdldEN1c3RvbWVySW52aXRhdGlvblJlcXVlc3QaKi5pZGVudGl0eS52MS5HZXRDdXN0b21lckludml0YXRpb25SZXNwb25zZRJ3ChhSZXZva2VDdXN0b21lckludml0YXRpb24SLC5pZGVudGl0eS52MS5SZXZva2VDdXN0b21lckludml0YXRpb25SZXF1ZXN0Gi0uaWRlbnRpdHkudjEuUmV2b2tlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USdwoYUmVzZW5kQ3VzdG9tZXJJbnZpdGF0aW9uEiwuaWRlbnRpdHkudjEuUmVzZW5kQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBotLmlkZW50aXR5LnYxLlJlc2VuZEN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEn0KGlZhbGlkYXRlQ3VzdG9tZXJJbnZpdGF0aW9uEi4uaWRlbnRpdHkudjEuVmFsaWRhdGVDdXN0b21lckludml0YXRpb25SZXF1ZXN0Gi8uaWRlbnRpdHkudjEuVmFsaWRhdGVDdXN0b21lckludml0YXRpb25SZXNwb25zZRJ3ChhBY2NlcHRDdXN0b21lckludml0YXRpb24SLC5pZGVudGl0eS52MS5BY2NlcHRDdXN0b21lckludml0YXRpb25SZXF1ZXN0Gi0uaWRlbnRpdHkudjEuQWNjZXB0Q3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USUwoMQ3JlYXRlVGVuYW50EiAuaWRlbnRpdHkudjEuQ3JlYXRlVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkNyZWF0ZVRlbmFudFJlc3BvbnNlEkoKCUdldFRlbmFudBIdLmlkZW50aXR5LnYxLkdldFRlbmFudFJlcXVlc3QaHi5pZGVudGl0eS52MS5HZXRUZW5hbnRSZXNwb25zZRJTCgxVcGRhdGVUZW5hbnQSIC5pZGVudGl0eS52MS5VcGRhdGVUZW5hbnRSZXF1ZXN0GiEuaWRlbnRpdHkudjEuVXBkYXRlVGVuYW50UmVzcG9uc2USUAoLTGlzdFRlbmFudHMSHy5pZGVudGl0eS52MS5MaXN0VGVuYW50c1JlcXVlc3QaIC5pZGVudGl0eS52MS5MaXN0VGVuYW50c1Jlc3BvbnNlElMKDERlbGV0ZVRlbmFudBIgLmlkZW50aXR5LnYxLkRlbGV0ZVRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5EZWxldGVUZW5hbnRSZXNwb25zZRJWCg1DcmVhdGVQcm9qZWN0EiEuaWRlbnRpdHkudjEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5DcmVhdGVQcm9qZWN0UmVzcG9uc2USTQoKR2V0UHJvamVjdBIeLmlkZW50aXR5LnYxLkdldFByb2plY3RSZXF1ZXN0Gh8uaWRlbnRpdHkudjEuR2V0UHJvamVjdFJlc3BvbnNlElYKDVVwZGF0ZVByb2plY3QSIS5pZGVudGl0eS52MS5VcGRhdGVQcm9qZWN0UmVxdWVzdBoiLmlkZW50aXR5LnYxLlVwZGF0ZVByb2plY3RSZXNwb25zZRJTCgxMaXN0UHJvamVjdHMSIC5pZGVudGl0eS52MS5MaXN0UHJvamVjdHNSZXF1ZXN0GiEuaWRlbnRpdHkudjEuTGlzdFByb2plY3RzUmVzcG9uc2USVgoNRGVsZXRlUHJvamVjdBIhLmlkZW50aXR5LnYxLkRlbGV0ZVByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuRGVsZXRlUHJvamVjdFJlc3BvbnNlEmIKEUdldERlZmF1bHRQcm9qZWN0EiUuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRJiChFTZXREZWZhdWx0UHJvamVjdBIlLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVxdWVzdBomLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USXwoQQ3JlYXRlSW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkNyZWF0ZUludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQ3JlYXRlSW52aXRhdGlvblJlc3BvbnNlElwKD0xpc3RJbnZpdGF0aW9ucxIjLmlkZW50aXR5LnYxLkxpc3RJbnZpdGF0aW9uc1JlcXVlc3QaJC5pZGVudGl0eS52MS5MaXN0SW52aXRhdGlvbnNSZXNwb25zZRJfChBSZXZva2VJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmV2b2tlSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXZva2VJbnZpdGF0aW9uUmVzcG9uc2USXwoQQWNjZXB0SW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkFjY2VwdEludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEmUKElZhbGlkYXRlSW52aXRhdGlvbhImLmlkZW50aXR5LnYxLlZhbGlkYXRlSW52aXRhdGlvblJlcXVlc3QaJy5pZGVudGl0eS52MS5WYWxpZGF0ZUludml0YXRpb25SZXNwb25zZRJTCgxDcmVhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5DcmVhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuQ3JlYXRlQXBpS2V5UmVzcG9uc2USSgoJR2V0QXBpS2V5Eh0uaWRlbnRpdHkudjEuR2V0QXBpS2V5UmVxdWVzdBoeLmlkZW50aXR5LnYxLkdldEFwaUtleVJlc3BvbnNlElAKC0xpc3RBcGlLZXlzEh8uaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXF1ZXN0GiAuaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXNwb25zZRJTCgxVcGRhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5VcGRhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuVXBkYXRlQXBpS2V5UmVzcG9uc2USUwoMUm90YXRlQXBpS2V5EiAuaWRlbnRpdHkudjEuUm90YXRlQXBpS2V5UmVxdWVzdBohLmlkZW50aXR5LnYxLlJvdGF0ZUFwaUtleVJlc3BvbnNlElMKDFJldm9rZUFwaUtleRIgLmlkZW50aXR5LnYxLlJldm9rZUFwaUtleVJlcXVlc3QaIS5pZGVudGl0eS52MS5SZXZva2VBcGlLZXlSZXNwb25zZRJiChFMaXN0QXV0aFByb3ZpZGVycxIlLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVxdWVzdBomLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVzcG9uc2USXAoPR2V0QXV0aFByb3ZpZGVyEiMuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBokLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclJlc3BvbnNlEmUKEkNyZWF0ZUF1dGhQcm92aWRlchImLmlkZW50aXR5LnYxLkNyZWF0ZUF1dGhQcm92aWRlclJlcXVlc3QaJy5pZGVudGl0eS52MS5DcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRJlChJVcGRhdGVBdXRoUHJvdmlkZXISJi5pZGVudGl0eS52MS5VcGRhdGVBdXRoUHJvdmlkZXJSZXF1ZXN0GicuaWRlbnRpdHkudjEuVXBkYXRlQXV0aFByb3ZpZGVyUmVzcG9uc2USZQoSRGVsZXRlQXV0aFByb3ZpZGVyEiYuaWRlbnRpdHkudjEuRGVsZXRlQXV0aFByb3ZpZGVyUmVxdWVzdBonLmlkZW50aXR5LnYxLkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEmgKE1B1Ymxpc2hBdXRoUHJvdmlkZXISJy5pZGVudGl0eS52MS5QdWJsaXNoQXV0aFByb3ZpZGVyUmVxdWVzdBooLmlkZW50aXR5LnYxLlB1Ymxpc2hBdXRoUHJvdmlkZXJSZXNwb25zZRJuChVVbnB1Ymxpc2hBdXRoUHJvdmlkZXISKS5pZGVudGl0eS52MS5VbnB1Ymxpc2hBdXRoUHJvdmlkZXJSZXF1ZXN0GiouaWRlbnRpdHkudjEuVW5wdWJsaXNoQXV0aFByb3ZpZGVyUmVzcG9uc2USgwEKHEdldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXMSMC5pZGVudGl0eS52MS5HZXRBdXRoUHJvdmlkZXJQdWJsaXNoU3RhdHVzUmVxdWVzdBoxLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXNSZXNwb25zZRKAAQobU2NoZWR1bGVBdXRoUHJvdmlkZXJQdWJsaXNoEi8uaWRlbnRpdHkudjEuU2NoZWR1bGVBdXRoUHJvdmlkZXJQdWJsaXNoUmVxdWVzdBowLmlkZW50aXR5LnYxLlNjaGVkdWxlQXV0aFByb3ZpZGVyUHVibGlzaFJlc3BvbnNlEpUBCiJDYW5jZWxTY2hlZHVsZWRBdXRoUHJvdmlkZXJQdWJsaXNoEjYuaWRlbnRpdHkudjEuQ2FuY2VsU2NoZWR1bGVkQXV0aFByb3ZpZGVyUHVibGlzaFJlcXVlc3QaNy5pZGVudGl0eS52MS5DYW5jZWxTY2hlZHVsZWRBdXRoUHJvdmlkZXJQdWJsaXNoUmVzcG9uc2UScQoWR2V0QXV0aFByb3ZpZGVyVmVyc2lvbhIqLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclZlcnNpb25SZXF1ZXN0GisuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyVmVyc2lvblJlc3BvbnNlEncKGExpc3RBdXRoUHJvdmlkZXJWZXJzaW9ucxIsLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJWZXJzaW9uc1JlcXVlc3QaLS5pZGVudGl0eS52MS5MaXN0QXV0aFByb3ZpZGVyVmVyc2lvbnNSZXNwb25zZRJ9ChpSZXN0b3JlQXV0aFByb3ZpZGVyVmVyc2lvbhIuLmlkZW50aXR5LnYxLlJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVxdWVzdBovLmlkZW50aXR5LnYxLlJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVzcG9uc2USbgoVRW5hYmxlZE9BdXRoUHJvdmlkZXJzEikuaWRlbnRpdHkudjEuRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVxdWVzdBoqLmlkZW50aXR5LnYxLkVuYWJsZWRPQXV0aFByb3ZpZGVyc1Jlc3BvbnNlEl8KEE1pbnRTZXJ2aWNlVG9rZW4SJC5pZGVudGl0eS52MS5NaW50U2VydmljZVRva2VuUmVxdWVzdBolLmlkZW50aXR5LnYxLk1pbnRTZXJ2aWNlVG9rZW5SZXNwb25zZRJcCg9VcGRhdGVNeVByb2ZpbGUSIy5pZGVudGl0eS52MS5VcGRhdGVNeVByb2ZpbGVSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVXBkYXRlTXlQcm9maWxlUmVzcG9uc2UScQoWTGlzdE15T0F1dGhDb25uZWN0aW9ucxIqLmlkZW50aXR5LnYxLkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0GisuaWRlbnRpdHkudjEuTGlzdE15T0F1dGhDb25uZWN0aW9uc1Jlc3BvbnNlEmgKE1VubGlua09BdXRoUHJvdmlkZXISJy5pZGVudGl0eS52MS5VbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBooLmlkZW50aXR5LnYxLlVubGlua09BdXRoUHJvdmlkZXJSZXNwb25zZRJxChZDaGVja0VtYWlsQXZhaWxhYmlsaXR5EiouaWRlbnRpdHkudjEuQ2hlY2tFbWFpbEF2YWlsYWJpbGl0eVJlcXVlc3QaKy5pZGVudGl0eS52MS5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USawoUQ29tcGxldGVBY2NvdW50U2V0dXASKC5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QaKS5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlc3BvbnNlEmgKE0NyZWF0ZVNpZ251cFNlc3Npb24SJy5pZGVudGl0eS52MS5DcmVhdGVTaWdudXBTZXNzaW9uUmVxdWVzdBooLmlkZW50aXR5LnYxLkNyZWF0ZVNpZ251cFNlc3Npb25SZXNwb25zZRJfChBSZXNlbmRJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmVzZW5kSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXNlbmRJbnZpdGF0aW9uUmVzcG9uc2USVgoNR2V0SW52aXRhdGlvbhIhLmlkZW50aXR5LnYxLkdldEludml0YXRpb25SZXF1ZXN0GiIuaWRlbnRpdHkudjEuR2V0SW52aXRhdGlvblJlc3BvbnNlElkKDkFjdGl2YXRlVGVuYW50EiIuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXF1ZXN0GiMuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXNwb25zZRJrChRTdXNwZW5kVGVuYW50QWNjb3VudBIoLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBopLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVzcG9uc2USUwoMQ2FuY2VsVGVuYW50EiAuaWRlbnRpdHkudjEuQ2FuY2VsVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkNhbmNlbFRlbmFudFJlc3BvbnNlEl8KEFJlYWN0aXZhdGVUZW5hbnQSJC5pZGVudGl0eS52MS5SZWFjdGl2YXRlVGVuYW50UmVxdWVzdBolLmlkZW50aXR5LnYxLlJlYWN0aXZhdGVUZW5hbnRSZXNwb25zZRJiChFNYXJrVGVuYW50UGFzdER1ZRIlLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBomLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVzcG9uc2USUAoLQ2h1cm5UZW5hbnQSHy5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlcXVlc3QaIC5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlc3BvbnNlEoABChtHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXMSLy5pZGVudGl0eS52MS5HZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXF1ZXN0GjAuaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVzcG9uc2USWQoOVmFsaWRhdGVBcGlLZXkSIi5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlcXVlc3QaIy5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlc3BvbnNlElYKDUN1c3RvbWVyTG9naW4SIS5pZGVudGl0eS52MS5DdXN0b21lckxvZ2luUmVxdWVzdBoiLmlkZW50aXR5LnYxLkN1c3RvbWVyTG9naW5SZXNwb25zZRJfChBDdXN0b21lclJlZ2lzdGVyEiQuaWRlbnRpdHkudjEuQ3VzdG9tZXJSZWdpc3RlclJlcXVlc3QaJS5pZGVudGl0eS52MS5DdXN0b21lclJlZ2lzdGVyUmVzcG9uc2USawoUQ3VzdG9tZXJSZWZyZXNoVG9rZW4SKC5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlcXVlc3QaKS5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlc3BvbnNlEmUKEkN1c3RvbWVyUmVxdWVzdE9UUBImLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdE9UUFJlcXVlc3QaJy5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RPVFBSZXNwb25zZRJiChFDdXN0b21lclZlcmlmeU9UUBIlLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVxdWVzdBomLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVzcG9uc2USgwEKHEN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXQSMC5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBoxLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRJuChVDdXN0b21lclJlc2V0UGFzc3dvcmQSKS5pZGVudGl0eS52MS5DdXN0b21lclJlc2V0UGFzc3dvcmRSZXF1ZXN0GiouaWRlbnRpdHkudjEuQ3VzdG9tZXJSZXNldFBhc3N3b3JkUmVzcG9uc2USZQoSU3RvcmVQcm92aWRlclRva2VuEiYuaWRlbnRpdHkudjEuU3RvcmVQcm92aWRlclRva2VuUmVxdWVzdBonLmlkZW50aXR5LnYxLlN0b3JlUHJvdmlkZXJUb2tlblJlc3BvbnNlEl8KEEdldFByb3ZpZGVyVG9rZW4SJC5pZGVudGl0eS52MS5HZXRQcm92aWRlclRva2VuUmVxdWVzdBolLmlkZW50aXR5LnYxLkdldFByb3ZpZGVyVG9rZW5SZXNwb25zZRJrChREZWxldGVQcm92aWRlclRva2VucxIoLmlkZW50aXR5LnYxLkRlbGV0ZVByb3ZpZGVyVG9rZW5zUmVxdWVzdBopLmlkZW50aXR5LnYxLkRlbGV0ZVByb3ZpZGVyVG9rZW5zUmVzcG9uc2USZQoSU3RhcnRQcm92aWRlckxvZ2luEiYuaWRlbnRpdHkudjEuU3RhcnRQcm92aWRlckxvZ2luUmVxdWVzdBonLmlkZW50aXR5LnYxLlN0YXJ0UHJvdmlkZXJMb2dpblJlc3BvbnNlEmgKE0ZpbmlzaFByb3ZpZGVyTG9naW4SJy5pZGVudGl0eS52MS5GaW5pc2hQcm92aWRlckxvZ2luUmVxdWVzdBooLmlkZW50aXR5LnYxLkZpbmlzaFByb3ZpZGVyTG9naW5SZXNwb25zZRJ9ChpTdGFydEN1c3RvbWVyTG9naW5XaXRoRm9pchIuLmlkZW50aXR5LnYxLlN0YXJ0Q3VzdG9tZXJMb2dpbldpdGhGb2lyUmVxdWVzdBovLmlkZW50aXR5LnYxLlN0YXJ0Q3VzdG9tZXJMb2dpbldpdGhGb2lyUmVzcG9uc2UShgEKHUNvbXBsZXRlQ3VzdG9tZXJMb2dpbldpdGhGb2lyEjEuaWRlbnRpdHkudjEuQ29tcGxldGVDdXN0b21lckxvZ2luV2l0aEZvaXJSZXF1ZXN0GjIuaWRlbnRpdHkudjEuQ29tcGxldGVDdXN0b21lckxvZ2luV2l0aEZvaXJSZXNwb25zZRJ0ChdTdGFydEFkbWluTG9naW5XaXRoRm9pchIrLmlkZW50aXR5LnYxLlN0YXJ0QWRtaW5Mb2dpbldpdGhGb2lyUmVxdWVzdBosLmlkZW50aXR5LnYxLlN0YXJ0QWRtaW5Mb2dpbldpdGhGb2lyUmVzcG9uc2USfQoaQ29tcGxldGVBZG1pbkxvZ2luV2l0aEZvaXISLi5pZGVudGl0eS52MS5Db21wbGV0ZUFkbWluTG9naW5XaXRoRm9pclJlcXVlc3QaLy5pZGVudGl0eS52MS5Db21wbGV0ZUFkbWluTG9naW5XaXRoRm9pclJlc3BvbnNlEmUKEkxpc3RSZWx5aW5nUGFydGllcxImLmlkZW50aXR5LnYxLkxpc3RSZWx5aW5nUGFydGllc1JlcXVlc3QaJy5pZGVudGl0eS52MS5MaXN0UmVseWluZ1BhcnRpZXNSZXNwb25zZRJcCg9HZXRSZWx5aW5nUGFydHkSIy5pZGVudGl0eS52MS5HZXRSZWx5aW5nUGFydHlSZXF1ZXN0GiQuaWRlbnRpdHkudjEuR2V0UmVseWluZ1BhcnR5UmVzcG9uc2USZQoSQ3JlYXRlUmVseWluZ1BhcnR5EiYuaWRlbnRpdHkudjEuQ3JlYXRlUmVseWluZ1BhcnR5UmVxdWVzdBonLmlkZW50aXR5LnYxLkNyZWF0ZVJlbHlpbmdQYXJ0eVJlc3BvbnNlEmUKElVwZGF0ZVJlbHlpbmdQYXJ0eRImLmlkZW50aXR5LnYxLlVwZGF0ZVJlbHlpbmdQYXJ0eVJlcXVlc3QaJy5pZGVudGl0eS52MS5VcGRhdGVSZWx5aW5nUGFydHlSZXNwb25zZRJoChNEaXNhYmxlUmVseWluZ1BhcnR5EicuaWRlbnRpdHkudjEuRGlzYWJsZVJlbHlpbmdQYXJ0eVJlcXVlc3QaKC5pZGVudGl0eS52MS5EaXNhYmxlUmVseWluZ1BhcnR5UmVzcG9uc2USawoUUmVnaXN0ZXJDdXN0b21Eb21haW4SKC5pZGVudGl0eS52MS5SZWdpc3RlckN1c3RvbURvbWFpblJlcXVlc3QaKS5pZGVudGl0eS52MS5SZWdpc3RlckN1c3RvbURvbWFpblJlc3BvbnNlEmUKElZlcmlmeUN1c3RvbURvbWFpbhImLmlkZW50aXR5LnYxLlZlcmlmeUN1c3RvbURvbWFpblJlcXVlc3QaJy5pZGVudGl0eS52MS5WZXJpZnlDdXN0b21Eb21haW5SZXNwb25zZRJlChJEZWxldGVDdXN0b21Eb21haW4SJi5pZGVudGl0eS52MS5EZWxldGVDdXN0b21Eb21haW5SZXF1ZXN0GicuaWRlbnRpdHkudjEuRGVsZXRlQ3VzdG9tRG9tYWluUmVzcG9uc2USYgoRTGlzdEN1c3RvbURvbWFpbnMSJS5pZGVudGl0eS52MS5MaXN0Q3VzdG9tRG9tYWluc1JlcXVlc3QaJi5pZGVudGl0eS52MS5MaXN0Q3VzdG9tRG9tYWluc1Jlc3BvbnNlEmsKFExpc3RDdXN0b21lclNlc3Npb25zEiguaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVyU2Vzc2lvbnNSZXF1ZXN0GikuaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVyU2Vzc2lvbnNSZXNwb25zZRJuChVSZXZva2VDdXN0b21lclNlc3Npb24SKS5pZGVudGl0eS52MS5SZXZva2VDdXN0b21lclNlc3Npb25SZXF1ZXN0GiouaWRlbnRpdHkudjEuUmV2b2tlQ3VzdG9tZXJTZXNzaW9uUmVzcG9uc2UScQoWTGlzdFJlbHlpbmdQYXJ0eUdyYW50cxIqLmlkZW50aXR5LnYxLkxpc3RSZWx5aW5nUGFydHlHcmFudHNSZXF1ZXN0GisuaWRlbnRpdHkudjEuTGlzdFJlbHlpbmdQYXJ0eUdyYW50c1Jlc3BvbnNlEmIKEUdyYW50UmVseWluZ1BhcnR5EiUuaWRlbnRpdHkudjEuR3JhbnRSZWx5aW5nUGFydHlSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR3JhbnRSZWx5aW5nUGFydHlSZXNwb25zZRJ0ChdSZXZva2VSZWx5aW5nUGFydHlHcmFudBIrLmlkZW50aXR5LnYxLlJldm9rZVJlbHlpbmdQYXJ0eUdyYW50UmVxdWVzdBosLmlkZW50aXR5LnYxLlJldm9rZVJlbHlpbmdQYXJ0eUdyYW50UmVzcG9uc2USSgoJTGlzdFJvbGVzEh0uaWRlbnRpdHkudjEuTGlzdFJvbGVzUmVxdWVzdBoeLmlkZW50aXR5LnYxLkxpc3RSb2xlc1Jlc3BvbnNlEkQKB0dldFJvbGUSGy5pZGVudGl0eS52MS5HZXRSb2xlUmVxdWVzdBocLmlkZW50aXR5LnYxLkdldFJvbGVSZXNwb25zZRJNCgpDcmVhdGVSb2xlEh4uaWRlbnRpdHkudjEuQ3JlYXRlUm9sZVJlcXVlc3QaHy5pZGVudGl0eS52MS5DcmVhdGVSb2xlUmVzcG9uc2USTQoKVXBkYXRlUm9sZRIeLmlkZW50aXR5LnYxLlVwZGF0ZVJvbGVSZXF1ZXN0Gh8uaWRlbnRpdHkudjEuVXBkYXRlUm9sZVJlc3BvbnNlElAKC0Rpc2FibGVSb2xlEh8uaWRlbnRpdHkudjEuRGlzYWJsZVJvbGVSZXF1ZXN0GiAuaWRlbnRpdHkudjEuRGlzYWJsZVJvbGVSZXNwb25zZRJNCgpBc3NpZ25Sb2xlEh4uaWRlbnRpdHkudjEuQXNzaWduUm9sZVJlcXVlc3QaHy5pZGVudGl0eS52MS5Bc3NpZ25Sb2xlUmVzcG9uc2USawoUUmV2b2tlUm9sZUFzc2lnbm1lbnQSKC5pZGVudGl0eS52MS5SZXZva2VSb2xlQXNzaWdubWVudFJlcXVlc3QaKS5pZGVudGl0eS52MS5SZXZva2VSb2xlQXNzaWdubWVudFJlc3BvbnNlEmgKE0xpc3RSb2xlQXNzaWdubWVudHMSJy5pZGVudGl0eS52MS5MaXN0Um9sZUFzc2lnbm1lbnRzUmVxdWVzdBooLmlkZW50aXR5LnYxLkxpc3RSb2xlQXNzaWdubWVudHNSZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vaWRlbnRpdHkvdjE7aWRlbnRpdHl2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp2, file_publish_v1_publish, file_common_v1_pagination]);
671
+ var file_identity_v1_identity = /* @__PURE__ */ fileDesc3("ChppZGVudGl0eS92MS9pZGVudGl0eS5wcm90bxILaWRlbnRpdHkudjEijwQKCUFkbWluVXNlchIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESFwoKYXZhdGFyX3VybBgFIAEoCUgCiAEBEhkKEWlzX3BsYXRmb3JtX2FkbWluGAYgASgIEiwKBnN0YXR1cxgUIAEoDjIcLmlkZW50aXR5LnYxLkFkbWluVXNlclN0YXR1cxI6ChFlbWFpbF92ZXJpZmllZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI2Cg1sYXN0X2xvZ2luX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiwKBmFjY2VzcxgoIAMoCzIcLmlkZW50aXR5LnYxLkFkbWluVXNlckFjY2VzcxIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg0KC19hdmF0YXJfdXJsQhQKEl9lbWFpbF92ZXJpZmllZF9hdEIQCg5fbGFzdF9sb2dpbl9hdCLuAQoPQWRtaW5Vc2VyQWNjZXNzEgoKAmlkGAEgASgJEhUKDWFkbWluX3VzZXJfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhcKCnByb2plY3RfaWQYBCABKAlIAIgBARIlCgRyb2xlGAUgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIuCgpncmFudGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpncmFudGVkX2J5GDMgASgJSAGIAQFCDQoLX3Byb2plY3RfaWRCDQoLX2dyYW50ZWRfYnki9QIKCEN1c3RvbWVyEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEisKBnN0YXR1cxgUIAEoDjIbLmlkZW50aXR5LnYxLkN1c3RvbWVyU3RhdHVzEjoKEWVtYWlsX3ZlcmlmaWVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjYKDWxhc3RfbG9naW5fYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2VtYWlsX3ZlcmlmaWVkX2F0QhAKDl9sYXN0X2xvZ2luX2F0IvQCCgZUZW5hbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCgZzdGF0dXMYFCABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXMSNQoMc3VzcGVuZGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEkIKGWNhbmNlbGxhdGlvbl9zY2hlZHVsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGwoTZGF0YV9yZXRlbnRpb25fZGF5cxgeIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fc3VzcGVuZGVkX2F0QhwKGl9jYW5jZWxsYXRpb25fc2NoZWR1bGVkX2F0IoQICgdQcm9qZWN0EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIqCgZzdGF0dXMYFCABKA4yGi5pZGVudGl0eS52MS5Qcm9qZWN0U3RhdHVzEj4KFWRlbGV0aW9uX3NjaGVkdWxlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgpjcmVhdGVkX2J5GCggASgJSAKIAQESFwoKdXBkYXRlZF9ieRgpIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKDGRpc3BsYXlfbmFtZRg8IAEoCUgEiAEBEhUKCGxvZ29fdXJsGD0gASgJSAWIAQESGgoNcHJpbWFyeV9jb2xvchg+IAEoCUgGiAEBEhYKCWZyb21fbmFtZRg/IAEoCUgHiAEBEhUKCHJlcGx5X3RvGEAgASgJSAiIAQESGgoNc3VwcG9ydF9lbWFpbBhBIAEoCUgJiAEBEhkKDGFwcF9iYXNlX3VybBhCIAEoCUgKiAEBEisKHmN1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZBhGIAEoCEgLiAEBEiQKF2N1c3RvbWVyX3NpZ251cF9lbmFibGVkGFAgASgISAyIAQESJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBhRIAEoCEgNiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGFIgASgISA6IAQESFQoIZ3JvdXBfaWQYWiABKAlID4gBAUIOCgxfZGVzY3JpcHRpb25CGAoWX2RlbGV0aW9uX3NjaGVkdWxlZF9hdEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIPCg1fZGlzcGxheV9uYW1lQgsKCV9sb2dvX3VybEIQCg5fcHJpbWFyeV9jb2xvckIMCgpfZnJvbV9uYW1lQgsKCV9yZXBseV90b0IQCg5fc3VwcG9ydF9lbWFpbEIPCg1fYXBwX2Jhc2VfdXJsQiEKH19jdXN0b21lcl93ZWxjb21lX2VtYWlsX2VuYWJsZWRCGgoYX2N1c3RvbWVyX3NpZ251cF9lbmFibGVkQhwKGl9jdXN0b21lcl9wYXNzd29yZF9lbmFibGVkQhcKFV9jdXN0b21lcl9vdHBfZW5hYmxlZEILCglfZ3JvdXBfaWQi2AIKDFByb2plY3RHcm91cBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIrCgRtb2RlGAQgASgOMh0uaWRlbnRpdHkudjEuUHJvamVjdEdyb3VwTW9kZRIeChFzb3VyY2VfcHJvamVjdF9pZBgFIAEoCUgAiAEBEhcKCmNyZWF0ZWRfYnkYKCABKAlIAYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgdtZW1iZXJzGDwgAygLMh8uaWRlbnRpdHkudjEuUHJvamVjdEdyb3VwTWVtYmVyQhQKEl9zb3VyY2VfcHJvamVjdF9pZEINCgtfY3JlYXRlZF9ieSLTAQoSUHJvamVjdEdyb3VwTWVtYmVyEgoKAmlkGAEgASgJEhAKCGdyb3VwX2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSMQoEcm9sZRgEIAEoDjIjLmlkZW50aXR5LnYxLlByb2plY3RHcm91cE1lbWJlclJvbGUSGAoLc3RhZ2Vfb3JkZXIYBSABKAVIAIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfc3RhZ2Vfb3JkZXIirwMKCkludml0YXRpb24SCgoCaWQYASABKAkSDQoFZW1haWwYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhMKC3Byb2plY3RfaWRzGAQgAygJEiUKBHJvbGUYBSABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlEiwKC2ludml0ZV90eXBlGAYgASgOMhcuaWRlbnRpdHkudjEuSW52aXRlVHlwZRISCgppbnZpdGVkX2J5GAcgASgJEhQKB21lc3NhZ2UYCCABKAlIAIgBARItCgZzdGF0dXMYFCABKA4yHS5pZGVudGl0eS52MS5JbnZpdGF0aW9uU3RhdHVzEi4KCmV4cGlyZXNfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKC2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9tZXNzYWdlQg4KDF9hY2NlcHRlZF9hdCLpAwoSQ3VzdG9tZXJJbnZpdGF0aW9uEgoKAmlkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCXRlbmFudF9pZBgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEhcKCmludml0ZWRfYnkYBSABKAlIAIgBARIUCgdtZXNzYWdlGAYgASgJSAGIAQESNQoGc3RhdHVzGBQgASgOMiUuaWRlbnRpdHkudjEuQ3VzdG9tZXJJbnZpdGF0aW9uU3RhdHVzEi4KCmV4cGlyZXNfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKC2FjY2VwdGVkX2F0GB8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEiEKFGFjY2VwdGVkX2N1c3RvbWVyX2lkGCAgASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2ludml0ZWRfYnlCCgoIX21lc3NhZ2VCDgoMX2FjY2VwdGVkX2F0QhcKFV9hY2NlcHRlZF9jdXN0b21lcl9pZCLZBAoGQXBpS2V5EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEgwKBG5hbWUYBCABKAkSEgoKa2V5X3ByZWZpeBgFIAEoCRIpCghrZXlfdHlwZRgGIAEoDjIXLmlkZW50aXR5LnYxLkFwaUtleVR5cGUSFAoHcmF3X2tleRgKIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgUIAEoCBIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGBUgASgFSAGIAQESMwoKZXhwaXJlc19hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIOCgZzY29wZXMYFyADKAkSLgoIbWV0YWRhdGEYGCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESNQoMbGFzdF91c2VkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEhMKC3VzYWdlX2NvdW50GB8gASgFEhIKCmNyZWF0ZWRfYnkYKCABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3Jhd19rZXlCFgoUX3JhdGVfbGltaXRfcGVyX2hvdXJCDQoLX2V4cGlyZXNfYXRCCwoJX21ldGFkYXRhQg8KDV9sYXN0X3VzZWRfYXQizAIKDlNlc3Npb25Db250ZXh0EhYKCXRlbmFudF9pZBgBIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYAiABKAlIAYgBARIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEhsKDmVmZmVjdGl2ZV9yb2xlGAQgASgJSAKIAQESLgoRYXZhaWxhYmxlX3RlbmFudHMYBSADKAsyEy5pZGVudGl0eS52MS5UZW5hbnQSMAoSYXZhaWxhYmxlX3Byb2plY3RzGAYgAygLMhQuaWRlbnRpdHkudjEuUHJvamVjdBIdChVlZmZlY3RpdmVfcGVybWlzc2lvbnMYByADKAkSFQoNZmxlZXRfbWFuYWdlZBgIIAEoCEIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkQhEKD19lZmZlY3RpdmVfcm9sZSJ9CgxMb2dpblJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSFgoJdGVuYW50X2lkGAMgASgJSACIAQESFwoKcHJvamVjdF9pZBgEIAEoCUgBiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWQiXwoNTG9naW5SZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhQKDGFjY2Vzc190b2tlbhgCIAEoCRIkCgR1c2VyGAMgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIn8KE0xvZ2luV2l0aE9UUFJlcXVlc3QSDQoFZW1haWwYASABKAkSCwoDb3RwGAIgASgJEhYKCXRlbmFudF9pZBgDIAEoCUgAiAEBEhcKCnByb2plY3RfaWQYBCABKAlIAYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkImYKFExvZ2luV2l0aE9UUFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEiQKBHVzZXIYAyABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIicAoRUmVxdWVzdE9UUFJlcXVlc3QSDQoFZW1haWwYASABKAkSFgoJdGVuYW50X2lkGAIgASgJSACIAQESFwoKcHJvamVjdF9pZBgDIAEoCUgBiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWQiJQoSUmVxdWVzdE9UUFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiDwoNTG9nb3V0UmVxdWVzdCIhCg5Mb2dvdXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIrUBCg9SZWdpc3RlclJlcXVlc3QSDQoFZW1haWwYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSFgoJdGVuYW50X2lkGAMgASgJSACIAQESFwoKcHJvamVjdF9pZBgEIAEoCUgBiAEBEioKBHJvbGUYBSABKA4yFy5pZGVudGl0eS52MS5BY2Nlc3NSb2xlSAKIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZEIHCgVfcm9sZSI4ChBSZWdpc3RlclJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIiIwoSVmVyaWZ5RW1haWxSZXF1ZXN0Eg0KBXRva2VuGAEgASgJIiYKE1ZlcmlmeUVtYWlsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIgCh5SZXNlbmRWZXJpZmljYXRpb25FbWFpbFJlcXVlc3QiMgofUmVzZW5kVmVyaWZpY2F0aW9uRW1haWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjEKIFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIjQKIVNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjUKFlZlcmlmeUVtYWlsQ29kZVJlcXVlc3QSDQoFZW1haWwYASABKAkSDAoEY29kZRgCIAEoCSI8ChdWZXJpZnlFbWFpbENvZGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhAKCHZlcmlmaWVkGAIgASgIIiwKG1JlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBINCgVlbWFpbBgBIAEoCSIvChxSZXF1ZXN0UGFzc3dvcmRSZXNldFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiOwoUUmVzZXRQYXNzd29yZFJlcXVlc3QSDQoFdG9rZW4YASABKAkSFAoMbmV3X3Bhc3N3b3JkGAIgASgJIigKFVJlc2V0UGFzc3dvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkcKFVVwZGF0ZVBhc3N3b3JkUmVxdWVzdBIYChBjdXJyZW50X3Bhc3N3b3JkGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIpChZVcGRhdGVQYXNzd29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLAoTUmVmcmVzaFRva2VuUmVxdWVzdBIVCg1yZWZyZXNoX3Rva2VuGAEgASgJIkMKFFJlZnJlc2hUb2tlblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJIhoKGEdldFNlc3Npb25Db250ZXh0UmVxdWVzdCJJChlHZXRTZXNzaW9uQ29udGV4dFJlc3BvbnNlEiwKB2NvbnRleHQYASABKAsyGy5pZGVudGl0eS52MS5TZXNzaW9uQ29udGV4dCIoChNTd2l0Y2hUZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSJEChRTd2l0Y2hUZW5hbnRSZXNwb25zZRIsCgdjb250ZXh0GAEgASgLMhsuaWRlbnRpdHkudjEuU2Vzc2lvbkNvbnRleHQiKgoUU3dpdGNoUHJvamVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCSJFChVTd2l0Y2hQcm9qZWN0UmVzcG9uc2USLAoHY29udGV4dBgBIAEoCzIbLmlkZW50aXR5LnYxLlNlc3Npb25Db250ZXh0IhwKGkNsZWFyU2Vzc2lvbkNvbnRleHRSZXF1ZXN0Ii4KG0NsZWFyU2Vzc2lvbkNvbnRleHRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIg4KDEdldE1lUmVxdWVzdCI1Cg1HZXRNZVJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXIi1wEKFkNyZWF0ZUFkbWluVXNlclJlcXVlc3QSDQoFZW1haWwYASABKAkSFwoKZmlyc3RfbmFtZRgCIAEoCUgAiAEBEhYKCWxhc3RfbmFtZRgDIAEoCUgBiAEBEhEKCXRlbmFudF9pZBgEIAEoCRIXCgpwcm9qZWN0X2lkGAUgASgJSAKIAQESJQoEcm9sZRgGIAEoDjIXLmlkZW50aXR5LnYxLkFjY2Vzc1JvbGVCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUINCgtfcHJvamVjdF9pZCI/ChdDcmVhdGVBZG1pblVzZXJSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIiEKE0dldEFkbWluVXNlclJlcXVlc3QSCgoCaWQYASABKAkiPAoUR2V0QWRtaW5Vc2VyUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciLYAQoWVXBkYXRlQWRtaW5Vc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgpmaXJzdF9uYW1lGAIgASgJSACIAQESFgoJbGFzdF9uYW1lGAMgASgJSAGIAQESFwoKYXZhdGFyX3VybBgEIAEoCUgCiAEBEjEKBnN0YXR1cxgFIAEoDjIcLmlkZW50aXR5LnYxLkFkbWluVXNlclN0YXR1c0gDiAEBQg0KC19maXJzdF9uYW1lQgwKCl9sYXN0X25hbWVCDQoLX2F2YXRhcl91cmxCCQoHX3N0YXR1cyI/ChdVcGRhdGVBZG1pblVzZXJSZXNwb25zZRIkCgR1c2VyGAEgASgLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyIsYBChVMaXN0QWRtaW5Vc2Vyc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYBCABKAlIAYgBARITCgZiZWZvcmUYBSABKAlIAogBARISCgVmaXJzdBgGIAEoBUgDiAEBEhEKBGxhc3QYByABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpoBChZMaXN0QWRtaW5Vc2Vyc1Jlc3BvbnNlEiUKBWl0ZW1zGAEgAygLMhYuaWRlbnRpdHkudjEuQWRtaW5Vc2VyEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKNAQoSR3JhbnRBY2Nlc3NSZXF1ZXN0EhUKDWFkbWluX3VzZXJfaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhcKCnByb2plY3RfaWQYAyABKAlIAIgBARIlCgRyb2xlGAQgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZUINCgtfcHJvamVjdF9pZCJDChNHcmFudEFjY2Vzc1Jlc3BvbnNlEiwKBmFjY2VzcxgBIAEoCzIcLmlkZW50aXR5LnYxLkFkbWluVXNlckFjY2VzcyIoChNSZXZva2VBY2Nlc3NSZXF1ZXN0EhEKCWFjY2Vzc19pZBgBIAEoCSInChRSZXZva2VBY2Nlc3NSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIrcCChJJbXBlcnNvbmF0aW9uR3JhbnQSCgoCaWQYASABKAkSEgoKZ3JhbnRlZV9pZBgCIAEoCRIRCgl0ZW5hbnRfaWQYAyABKAkSEgoKZ3JhbnRlZF9ieRgEIAEoCRIOCgZyZWFzb24YBSABKAkSLgoKZXhwaXJlc19hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoKcmV2b2tlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIXCgpyZXZva2VkX2J5GAkgASgJSAGIAQFCDQoLX3Jldm9rZWRfYXRCDQoLX3Jldm9rZWRfYnkiggEKGUdyYW50SW1wZXJzb25hdGlvblJlcXVlc3QSEgoKZ3JhbnRlZV9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSDgoGcmVhc29uGAMgASgJEi4KCmV4cGlyZXNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkwKGkdyYW50SW1wZXJzb25hdGlvblJlc3BvbnNlEi4KBWdyYW50GAEgASgLMh8uaWRlbnRpdHkudjEuSW1wZXJzb25hdGlvbkdyYW50IigKGlJldm9rZUltcGVyc29uYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIk0KG1Jldm9rZUltcGVyc29uYXRpb25SZXNwb25zZRIuCgVncmFudBgBIAEoCzIfLmlkZW50aXR5LnYxLkltcGVyc29uYXRpb25HcmFudCKDAQoeTGlzdEltcGVyc29uYXRpb25HcmFudHNSZXF1ZXN0EhcKCmdyYW50ZWVfaWQYASABKAlIAIgBARIWCgl0ZW5hbnRfaWQYAiABKAlIAYgBARITCgthY3RpdmVfb25seRgDIAEoCEINCgtfZ3JhbnRlZV9pZEIMCgpfdGVuYW50X2lkIlIKH0xpc3RJbXBlcnNvbmF0aW9uR3JhbnRzUmVzcG9uc2USLwoGZ3JhbnRzGAEgAygLMh8uaWRlbnRpdHkudjEuSW1wZXJzb25hdGlvbkdyYW50Ik8KEkVudGVyVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSFwoKcHJvamVjdF9pZBgCIAEoCUgAiAEBQg0KC19wcm9qZWN0X2lkIoIBChNFbnRlclRlbmFudFJlc3BvbnNlEiwKB2NvbnRleHQYASABKAsyGy5pZGVudGl0eS52MS5TZXNzaW9uQ29udGV4dBIzCgVncmFudBgCIAEoCzIfLmlkZW50aXR5LnYxLkltcGVyc29uYXRpb25HcmFudEgAiAEBQggKBl9ncmFudCJKChVDcmVhdGVDdXN0b21lclJlcXVlc3QSDQoFZW1haWwYASABKAkSFQoIcGFzc3dvcmQYAiABKAlIAIgBAUILCglfcGFzc3dvcmQiQQoWQ3JlYXRlQ3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIiAKEkdldEN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCSI+ChNHZXRDdXN0b21lclJlc3BvbnNlEicKCGN1c3RvbWVyGAEgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIifgoVVXBkYXRlQ3VzdG9tZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhIKBWVtYWlsGAIgASgJSACIAQESMAoGc3RhdHVzGAMgASgOMhsuaWRlbnRpdHkudjEuQ3VzdG9tZXJTdGF0dXNIAYgBAUIICgZfZW1haWxCCQoHX3N0YXR1cyJBChZVcGRhdGVDdXN0b21lclJlc3BvbnNlEicKCGN1c3RvbWVyGAEgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiIwoVRGVsZXRlQ3VzdG9tZXJSZXF1ZXN0EgoKAmlkGAEgASgJIikKFkRlbGV0ZUN1c3RvbWVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLFAQoUTGlzdEN1c3RvbWVyc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpgBChVMaXN0Q3VzdG9tZXJzUmVzcG9uc2USJAoFaXRlbXMYASADKAsyFS5pZGVudGl0eS52MS5DdXN0b21lchINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iJAoWU3VzcGVuZEN1c3RvbWVyUmVxdWVzdBIKCgJpZBgBIAEoCSJCChdTdXNwZW5kQ3VzdG9tZXJSZXNwb25zZRInCghjdXN0b21lchgBIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIlMKFU1lcmdlQ3VzdG9tZXJzUmVxdWVzdBITCgtzdXJ2aXZvcl9pZBgBIAEoCRIUCgxkdXBsaWNhdGVfaWQYAiABKAkSDwoHZHJ5X3J1bhgDIAEoCCJoChZNZXJnZUN1c3RvbWVyc1Jlc3BvbnNlEg8KB3JldGlyZWQYASABKAgSDAoEbm9vcBgCIAEoCBIvCgVtb3ZlZBgDIAEoCzIgLmlkZW50aXR5LnYxLk1lcmdlQ3VzdG9tZXJzTW92ZWQiwQEKE01lcmdlQ3VzdG9tZXJzTW92ZWQSDwoHcmVjb3JkcxgBIAEoBRINCgVmaWxlcxgCIAEoBRIbChNwcm92aWRlcl9pZGVudGl0aWVzGAMgASgFEhAKCHByb2ZpbGVzGAQgASgFEhsKE3NlZ21lbnRfbWVtYmVyc2hpcHMYBiABKAUSGAoQcm9sZV9hc3NpZ25tZW50cxgHIAEoBRIeChZyZWZyZXNoX3Rva2Vuc19yZXZva2VkGAggASgFSgQIBRAGIj4KGlNldEN1c3RvbWVyUGFzc3dvcmRSZXF1ZXN0EgoKAmlkGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIuChtTZXRDdXN0b21lclBhc3N3b3JkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLcAQofQ3JlYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIXCgppbnZpdGVkX2J5GAIgASgJSACIAQESFAoHbWVzc2FnZRgDIAEoCUgBiAEBEhcKCnNlbmRfZW1haWwYBCABKAhIAogBARIgChNhY2NlcHRfdXJsX292ZXJyaWRlGAUgASgJSAOIAQFCDQoLX2ludml0ZWRfYnlCCgoIX21lc3NhZ2VCDQoLX3NlbmRfZW1haWxCFgoUX2FjY2VwdF91cmxfb3ZlcnJpZGUiegogQ3JlYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USMwoKaW52aXRhdGlvbhgBIAEoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVySW52aXRhdGlvbhISCgphY2NlcHRfdXJsGAIgASgJEg0KBXRva2VuGAMgASgJIs8BCh5MaXN0Q3VzdG9tZXJJbnZpdGF0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqwBCh9MaXN0Q3VzdG9tZXJJbnZpdGF0aW9uc1Jlc3BvbnNlEi4KBWl0ZW1zGAEgAygLMh8uaWRlbnRpdHkudjEuQ3VzdG9tZXJJbnZpdGF0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIqChxHZXRDdXN0b21lckludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlQKHUdldEN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEjMKCmludml0YXRpb24YASABKAsyHy5pZGVudGl0eS52MS5DdXN0b21lckludml0YXRpb24iLQofUmV2b2tlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIzCiBSZXZva2VDdXN0b21lckludml0YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIo8BCh9SZXNlbmRDdXN0b21lckludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhcKCnNlbmRfZW1haWwYAiABKAhIAIgBARIgChNhY2NlcHRfdXJsX292ZXJyaWRlGAMgASgJSAGIAQFCDQoLX3NlbmRfZW1haWxCFgoUX2FjY2VwdF91cmxfb3ZlcnJpZGUiegogUmVzZW5kQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USMwoKaW52aXRhdGlvbhgBIAEoCzIfLmlkZW50aXR5LnYxLkN1c3RvbWVySW52aXRhdGlvbhISCgphY2NlcHRfdXJsGAIgASgJEg0KBXRva2VuGAMgASgJIjIKIVZhbGlkYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBINCgV0b2tlbhgBIAEoCSKHAQoiVmFsaWRhdGVDdXN0b21lckludml0YXRpb25SZXNwb25zZRIzCgppbnZpdGF0aW9uGAEgASgLMh8uaWRlbnRpdHkudjEuQ3VzdG9tZXJJbnZpdGF0aW9uEiwKCXByb3ZpZGVycxgCIAMoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciJUCh9BY2NlcHRDdXN0b21lckludml0YXRpb25SZXF1ZXN0Eg0KBXRva2VuGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJSACIAQFCCwoJX3Bhc3N3b3JkIngKIEFjY2VwdEN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEicKCGN1c3RvbWVyGAEgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXISFAoMYWNjZXNzX3Rva2VuGAIgASgJEhUKDXJlZnJlc2hfdG9rZW4YAyABKAkiIwoTQ3JlYXRlVGVuYW50UmVxdWVzdBIMCgRuYW1lGAEgASgJIjsKFENyZWF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIeChBHZXRUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJIjgKEUdldFRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJ4ChNVcGRhdGVUZW5hbnRSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIuCgZzdGF0dXMYAyABKA4yGS5pZGVudGl0eS52MS5UZW5hbnRTdGF0dXNIAYgBAUIHCgVfbmFtZUIJCgdfc3RhdHVzIjsKFFVwZGF0ZVRlbmFudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCJ5CiRTZXRUZW5hbnRQcm9qZWN0TGltaXRPdmVycmlkZVJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEiMKFnByb2plY3RfbGltaXRfb3ZlcnJpZGUYAiABKANIAIgBAUIZChdfcHJvamVjdF9saW1pdF9vdmVycmlkZSJnCiVTZXRUZW5hbnRQcm9qZWN0TGltaXRPdmVycmlkZVJlc3BvbnNlEiMKFnByb2plY3RfbGltaXRfb3ZlcnJpZGUYASABKANIAIgBAUIZChdfcHJvamVjdF9saW1pdF9vdmVycmlkZSLDAQoSTGlzdFRlbmFudHNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKUAQoTTGlzdFRlbmFudHNSZXNwb25zZRIiCgVpdGVtcxgBIAMoCzITLmlkZW50aXR5LnYxLlRlbmFudBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iIQoTRGVsZXRlVGVuYW50UmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVUZW5hbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqEHChRDcmVhdGVQcm9qZWN0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESEQoJdGVuYW50X2lkGAMgASgJEiAKE2RlZmF1bHRfbG9jYWxlX2NvZGUYBCABKAlIAYgBARIoChtkZWZhdWx0X2xvY2FsZV9kaXNwbGF5X25hbWUYBSABKAlIAogBARInChpkZWZhdWx0X2xvY2FsZV9uYXRpdmVfbmFtZRgGIAEoCUgDiAEBEiIKFWRlZmF1bHRfbG9jYWxlX2lzX3J0bBgHIAEoCEgEiAEBEhkKDGRpc3BsYXlfbmFtZRgKIAEoCUgFiAEBEhUKCGxvZ29fdXJsGAsgASgJSAaIAQESGgoNcHJpbWFyeV9jb2xvchgMIAEoCUgHiAEBEhYKCWZyb21fbmFtZRgNIAEoCUgIiAEBEhUKCHJlcGx5X3RvGA4gASgJSAmIAQESGgoNc3VwcG9ydF9lbWFpbBgPIAEoCUgKiAEBEhkKDGFwcF9iYXNlX3VybBgQIAEoCUgLiAEBEisKHmN1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZBgUIAEoCEgMiAEBEiQKF2N1c3RvbWVyX3NpZ251cF9lbmFibGVkGB4gASgISA2IAQESJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBgfIAEoCEgOiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGCAgASgISA+IAQFCDgoMX2Rlc2NyaXB0aW9uQhYKFF9kZWZhdWx0X2xvY2FsZV9jb2RlQh4KHF9kZWZhdWx0X2xvY2FsZV9kaXNwbGF5X25hbWVCHQobX2RlZmF1bHRfbG9jYWxlX25hdGl2ZV9uYW1lQhgKFl9kZWZhdWx0X2xvY2FsZV9pc19ydGxCDwoNX2Rpc3BsYXlfbmFtZUILCglfbG9nb191cmxCEAoOX3ByaW1hcnlfY29sb3JCDAoKX2Zyb21fbmFtZUILCglfcmVwbHlfdG9CEAoOX3N1cHBvcnRfZW1haWxCDwoNX2FwcF9iYXNlX3VybEIhCh9fY3VzdG9tZXJfd2VsY29tZV9lbWFpbF9lbmFibGVkQhoKGF9jdXN0b21lcl9zaWdudXBfZW5hYmxlZEIcChpfY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZEIXChVfY3VzdG9tZXJfb3RwX2VuYWJsZWQiPgoVQ3JlYXRlUHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0Ih8KEUdldFByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIjsKEkdldFByb2plY3RSZXNwb25zZRIlCgdwcm9qZWN0GAEgASgLMhQuaWRlbnRpdHkudjEuUHJvamVjdCLaBQoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESLwoGc3RhdHVzGAQgASgOMhouaWRlbnRpdHkudjEuUHJvamVjdFN0YXR1c0gCiAEBEhkKDGRpc3BsYXlfbmFtZRgKIAEoCUgDiAEBEhUKCGxvZ29fdXJsGAsgASgJSASIAQESGgoNcHJpbWFyeV9jb2xvchgMIAEoCUgFiAEBEhYKCWZyb21fbmFtZRgNIAEoCUgGiAEBEhUKCHJlcGx5X3RvGA4gASgJSAeIAQESGgoNc3VwcG9ydF9lbWFpbBgPIAEoCUgIiAEBEhkKDGFwcF9iYXNlX3VybBgQIAEoCUgJiAEBEisKHmN1c3RvbWVyX3dlbGNvbWVfZW1haWxfZW5hYmxlZBgUIAEoCEgKiAEBEiQKF2N1c3RvbWVyX3NpZ251cF9lbmFibGVkGB4gASgISAuIAQESJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBgfIAEoCEgMiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGCAgASgISA2IAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19zdGF0dXNCDwoNX2Rpc3BsYXlfbmFtZUILCglfbG9nb191cmxCEAoOX3ByaW1hcnlfY29sb3JCDAoKX2Zyb21fbmFtZUILCglfcmVwbHlfdG9CEAoOX3N1cHBvcnRfZW1haWxCDwoNX2FwcF9iYXNlX3VybEIhCh9fY3VzdG9tZXJfd2VsY29tZV9lbWFpbF9lbmFibGVkQhoKGF9jdXN0b21lcl9zaWdudXBfZW5hYmxlZEIcChpfY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZEIXChVfY3VzdG9tZXJfb3RwX2VuYWJsZWQiPgoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0ItcBChNMaXN0UHJvamVjdHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRIrCgV3aGVyZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilgEKFExpc3RQcm9qZWN0c1Jlc3BvbnNlEiMKBWl0ZW1zGAEgAygLMhQuaWRlbnRpdHkudjEuUHJvamVjdBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iIgoURGVsZXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiKAoVRGVsZXRlUHJvamVjdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLQoYR2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSJCChlHZXREZWZhdWx0UHJvamVjdFJlc3BvbnNlEiUKB3Byb2plY3QYASABKAsyFC5pZGVudGl0eS52MS5Qcm9qZWN0Ii4KGFNldERlZmF1bHRQcm9qZWN0UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIkIKGVNldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USJQoHcHJvamVjdBgBIAEoCzIULmlkZW50aXR5LnYxLlByb2plY3QinwEKGUNyZWF0ZVByb2plY3RHcm91cFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSKwoEbW9kZRgDIAEoDjIdLmlkZW50aXR5LnYxLlByb2plY3RHcm91cE1vZGUSHgoRc291cmNlX3Byb2plY3RfaWQYBCABKAlIAIgBAUIUChJfc291cmNlX3Byb2plY3RfaWQiRgoaQ3JlYXRlUHJvamVjdEdyb3VwUmVzcG9uc2USKAoFZ3JvdXAYASABKAsyGS5pZGVudGl0eS52MS5Qcm9qZWN0R3JvdXAiJAoWR2V0UHJvamVjdEdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSJDChdHZXRQcm9qZWN0R3JvdXBSZXNwb25zZRIoCgVncm91cBgBIAEoCzIZLmlkZW50aXR5LnYxLlByb2plY3RHcm91cCItChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIlQKGUxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2USKAoFaXRlbXMYASADKAsyGS5pZGVudGl0eS52MS5Qcm9qZWN0R3JvdXASDQoFdG90YWwYAiABKAUitAEKGVVwZGF0ZVByb2plY3RHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEh4KEXNvdXJjZV9wcm9qZWN0X2lkGAMgASgJSAGIAQESMAoEbW9kZRgEIAEoDjIdLmlkZW50aXR5LnYxLlByb2plY3RHcm91cE1vZGVIAogBAUIHCgVfbmFtZUIUChJfc291cmNlX3Byb2plY3RfaWRCBwoFX21vZGUiRgoaVXBkYXRlUHJvamVjdEdyb3VwUmVzcG9uc2USKAoFZ3JvdXAYASABKAsyGS5pZGVudGl0eS52MS5Qcm9qZWN0R3JvdXAiJwoZRGVsZXRlUHJvamVjdEdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSItChpEZWxldGVQcm9qZWN0R3JvdXBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIp0BChhBZGRQcm9qZWN0VG9Hcm91cFJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIxCgRyb2xlGAMgASgOMiMuaWRlbnRpdHkudjEuUHJvamVjdEdyb3VwTWVtYmVyUm9sZRIYCgtzdGFnZV9vcmRlchgEIAEoBUgAiAEBQg4KDF9zdGFnZV9vcmRlciJMChlBZGRQcm9qZWN0VG9Hcm91cFJlc3BvbnNlEi8KBm1lbWJlchgBIAEoCzIfLmlkZW50aXR5LnYxLlByb2plY3RHcm91cE1lbWJlciJFCh1SZW1vdmVQcm9qZWN0RnJvbUdyb3VwUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJIjEKHlJlbW92ZVByb2plY3RGcm9tR3JvdXBSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIo4BChRQcm9tb3RlU2NoZW1hUmVxdWVzdBIZChFzb3VyY2VfcHJvamVjdF9pZBgBIAEoCRIQCghncm91cF9pZBgCIAEoCRIYChBjb25maXJtX2JyZWFraW5nGAMgASgIEhMKC2NhbmFyeV9vbmx5GAQgASgIEhoKEnRhcmdldF9wcm9qZWN0X2lkcxgFIAMoCSJqChVQcm9tb3RlU2NoZW1hUmVzcG9uc2USDgoGam9iX2lkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIxCgd0YXJnZXRzGAMgAygLMiAuaWRlbnRpdHkudjEuUHJvbW90ZVRhcmdldFN0YXR1cyIpChdHZXRQcm9tb3RlU3RhdHVzUmVxdWVzdBIOCgZqb2JfaWQYASABKAkibQoYR2V0UHJvbW90ZVN0YXR1c1Jlc3BvbnNlEg4KBmpvYl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSMQoHdGFyZ2V0cxgDIAMoCzIgLmlkZW50aXR5LnYxLlByb21vdGVUYXJnZXRTdGF0dXMitQEKE1Byb21vdGVUYXJnZXRTdGF0dXMSEgoKcHJvamVjdF9pZBgBIAEoCRIbChNmcm9tX3NjaGVtYV92ZXJzaW9uGAIgASgJEhkKEXRvX3NjaGVtYV92ZXJzaW9uGAMgASgJEg0KBXN0YXRlGAQgASgJEjQKEGJyZWFraW5nX2NoYW5nZXMYBSADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlEg0KBWVycm9yGAYgASgJItMDCg9Qcm9qZWN0QnJhbmRpbmcSGQoMZGlzcGxheV9uYW1lGAEgASgJSACIAQESFQoIbG9nb191cmwYAiABKAlIAYgBARIaCg1wcmltYXJ5X2NvbG9yGAMgASgJSAKIAQESFgoJZnJvbV9uYW1lGAQgASgJSAOIAQESGgoNc3VwcG9ydF9lbWFpbBgFIAEoCUgEiAEBEhkKDGFwcF9iYXNlX3VybBgGIAEoCUgFiAEBEiQKF2N1c3RvbWVyX3NpZ251cF9lbmFibGVkGAcgASgISAaIAQESJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBgIIAEoCEgHiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGAkgASgISAiIAQFCDwoNX2Rpc3BsYXlfbmFtZUILCglfbG9nb191cmxCEAoOX3ByaW1hcnlfY29sb3JCDAoKX2Zyb21fbmFtZUIQCg5fc3VwcG9ydF9lbWFpbEIPCg1fYXBwX2Jhc2VfdXJsQhoKGF9jdXN0b21lcl9zaWdudXBfZW5hYmxlZEIcChpfY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZEIXChVfY3VzdG9tZXJfb3RwX2VuYWJsZWQipgEKE1Byb3Zpc2lvblN0ZXBTdGF0dXMSFwoPY3JlYXRlZF9wcm9qZWN0GAEgASgIEhQKDGJyYW5kaW5nX3NldBgCIAEoCBIVCg1hcHBfaW5zdGFsbGVkGAMgASgIEhYKDnNlY3JldF93cml0dGVuGAQgASgIEhQKDGdyb3VwX2pvaW5lZBgFIAEoCBIbChNhbGxvd19saXN0X2V4dGVuZGVkGAYgASgIIrkDChdQcm92aXNpb25Qcm9qZWN0UmVxdWVzdBIUCgxwcm92aXNpb25faWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhAKCGdyb3VwX2lkGAMgASgJEgwKBG5hbWUYBCABKAkSMwoIYnJhbmRpbmcYBSABKAsyHC5pZGVudGl0eS52MS5Qcm9qZWN0QnJhbmRpbmdIAIgBARITCgZhcHBfaWQYBiABKAlIAYgBARIdChBhcHBfc2VjcmV0X2xhYmVsGAcgASgJSAKIAQESHQoQYXBwX3NlY3JldF92YWx1ZRgIIAEoCUgDiAEBEhkKDG1hbmlmZXN0X3VybBgJIAEoCUgEiAEBEjIKDGFwcF9tYXBwaW5ncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIaChJhbGxvd19saXN0X2tleV9pZHMYCyADKAlCCwoJX2JyYW5kaW5nQgkKB19hcHBfaWRCEwoRX2FwcF9zZWNyZXRfbGFiZWxCEwoRX2FwcF9zZWNyZXRfdmFsdWVCDwoNX21hbmlmZXN0X3VybEIPCg1fYXBwX21hcHBpbmdzIrUBChhQcm92aXNpb25Qcm9qZWN0UmVzcG9uc2USFAoMcHJvdmlzaW9uX2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFgoOc2NoZW1hX3ZlcnNpb24YAyABKAkSFgoOZGVwbG95X3ZlcnNpb24YBCABKAkSDgoGc3RhdHVzGAUgASgJEi8KBXN0ZXBzGAYgASgLMiAuaWRlbnRpdHkudjEuUHJvdmlzaW9uU3RlcFN0YXR1cyIxChlHZXRQcm92aXNpb25TdGF0dXNSZXF1ZXN0EhQKDHByb3Zpc2lvbl9pZBgBIAEoCSK3AQoaR2V0UHJvdmlzaW9uU3RhdHVzUmVzcG9uc2USFAoMcHJvdmlzaW9uX2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFgoOc2NoZW1hX3ZlcnNpb24YAyABKAkSFgoOZGVwbG95X3ZlcnNpb24YBCABKAkSDgoGc3RhdHVzGAUgASgJEi8KBXN0ZXBzGAYgASgLMiAuaWRlbnRpdHkudjEuUHJvdmlzaW9uU3RlcFN0YXR1cyK0AQoWQnJvYWRjYXN0RGVwbG95UmVxdWVzdBIZChFzb3VyY2VfcHJvamVjdF9pZBgBIAEoCRIQCghncm91cF9pZBgCIAEoCRITCgtjYW5hcnlfb25seRgDIAEoCBIaChJ0YXJnZXRfcHJvamVjdF9pZHMYBCADKAkSIgoVc291cmNlX2RlcGxveV92ZXJzaW9uGAUgASgJSACIAQFCGAoWX3NvdXJjZV9kZXBsb3lfdmVyc2lvbiJrChdCcm9hZGNhc3REZXBsb3lSZXNwb25zZRIOCgZqb2JfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEjAKB3RhcmdldHMYAyADKAsyHy5pZGVudGl0eS52MS5EZXBsb3lUYXJnZXRTdGF0dXMiKwoZR2V0QnJvYWRjYXN0U3RhdHVzUmVxdWVzdBIOCgZqb2JfaWQYASABKAkibgoaR2V0QnJvYWRjYXN0U3RhdHVzUmVzcG9uc2USDgoGam9iX2lkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIwCgd0YXJnZXRzGAMgAygLMh8uaWRlbnRpdHkudjEuRGVwbG95VGFyZ2V0U3RhdHVzIn4KEkRlcGxveVRhcmdldFN0YXR1cxISCgpwcm9qZWN0X2lkGAEgASgJEhsKE2Zyb21fZGVwbG95X3ZlcnNpb24YAiABKAkSGQoRdG9fZGVwbG95X3ZlcnNpb24YAyABKAkSDQoFc3RhdGUYBCABKAkSDQoFZXJyb3IYBSABKAkiMAocR2V0UHJvamVjdEdyb3VwU3RhdHVzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCSK/AQoYUHJvamVjdEdyb3VwTWVtYmVyU3RhdHVzEhIKCnByb2plY3RfaWQYASABKAkSMQoEcm9sZRgCIAEoDjIjLmlkZW50aXR5LnYxLlByb2plY3RHcm91cE1lbWJlclJvbGUSFgoOc2NoZW1hX3ZlcnNpb24YAyABKAkSFgoOZGVwbG95X3ZlcnNpb24YBCABKAkSFQoNc2NoZW1hX2JlaGluZBgFIAEoCBIVCg1kZXBsb3lfYmVoaW5kGAYgASgIIpUBCh1HZXRQcm9qZWN0R3JvdXBTdGF0dXNSZXNwb25zZRIdChVzb3VyY2Vfc2NoZW1hX3ZlcnNpb24YASABKAkSHQoVc291cmNlX2RlcGxveV92ZXJzaW9uGAIgASgJEjYKB21lbWJlcnMYAyADKAsyJS5pZGVudGl0eS52MS5Qcm9qZWN0R3JvdXBNZW1iZXJTdGF0dXMiLwobR2V0UHJvamVjdEdyb3VwRHJpZnRSZXF1ZXN0EhAKCGdyb3VwX2lkGAEgASgJIlYKElByb2plY3RTY2hlbWFEcmlmdBISCgpwcm9qZWN0X2lkGAEgASgJEhQKDHRvdGFsX21vZGVscxgCIAEoBRIWCg5kcmlmdGVkX21vZGVscxgDIAEoBSJQChxHZXRQcm9qZWN0R3JvdXBEcmlmdFJlc3BvbnNlEjAKB2NsaWVudHMYASADKAsyHy5pZGVudGl0eS52MS5Qcm9qZWN0U2NoZW1hRHJpZnQixwEKF0NyZWF0ZUludml0YXRpb25SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRITCgtwcm9qZWN0X2lkcxgDIAMoCRIlCgRyb2xlGAQgASgOMhcuaWRlbnRpdHkudjEuQWNjZXNzUm9sZRIsCgtpbnZpdGVfdHlwZRgFIAEoDjIXLmlkZW50aXR5LnYxLkludml0ZVR5cGUSFAoHbWVzc2FnZRgGIAEoCUgAiAEBQgoKCF9tZXNzYWdlIkcKGENyZWF0ZUludml0YXRpb25SZXNwb25zZRIrCgppbnZpdGF0aW9uGAEgASgLMhcuaWRlbnRpdHkudjEuSW52aXRhdGlvbiLaAQoWTGlzdEludml0YXRpb25zUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSKwoFd2hlcmUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpwBChdMaXN0SW52aXRhdGlvbnNSZXNwb25zZRImCgVpdGVtcxgBIAMoCzIXLmlkZW50aXR5LnYxLkludml0YXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIjAKF1Jldm9rZUludml0YXRpb25SZXF1ZXN0EhUKDWludml0YXRpb25faWQYASABKAkiKwoYUmV2b2tlSW52aXRhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiTAoXQWNjZXB0SW52aXRhdGlvblJlcXVlc3QSDQoFdG9rZW4YASABKAkSFQoIcGFzc3dvcmQYAiABKAlIAIgBAUILCglfcGFzc3dvcmQiVAoYQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEiQKBHVzZXIYASABKAsyFi5pZGVudGl0eS52MS5BZG1pblVzZXISEgoKc2Vzc2lvbl9pZBgCIAEoCSIqChlWYWxpZGF0ZUludml0YXRpb25SZXF1ZXN0Eg0KBXRva2VuGAEgASgJIkkKGlZhbGlkYXRlSW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIssCChNDcmVhdGVBcGlLZXlSZXF1ZXN0EgwKBG5hbWUYASABKAkSKQoIa2V5X3R5cGUYAiABKA4yFy5pZGVudGl0eS52MS5BcGlLZXlUeXBlEg4KBnNjb3BlcxgDIAMoCRIgChNyYXRlX2xpbWl0X3Blcl9ob3VyGAQgASgFSACIAQESMwoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCg5hbGxvd2VkX21vZGVscxgGIAMoCRIaChJhbGxvd2VkX2ZpbGVfdHlwZXMYByADKAkSFgoJY29uZmlnX2lkGAggASgJSAKIAQESEwoLcHJvamVjdF9pZHMYCSADKAlCFgoUX3JhdGVfbGltaXRfcGVyX2hvdXJCDQoLX2V4cGlyZXNfYXRCDAoKX2NvbmZpZ19pZCI8ChRDcmVhdGVBcGlLZXlSZXNwb25zZRIkCgdhcGlfa2V5GAEgASgLMhMuaWRlbnRpdHkudjEuQXBpS2V5Ih4KEEdldEFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkiOQoRR2V0QXBpS2V5UmVzcG9uc2USJAoHYXBpX2tleRgBIAEoCzITLmlkZW50aXR5LnYxLkFwaUtleSLDAQoSTGlzdEFwaUtleXNSZXF1ZXN0EhIKBWFmdGVyGAEgASgJSACIAQESEwoGYmVmb3JlGAIgASgJSAGIAQESEgoFZmlyc3QYAyABKAVIAogBARIRCgRsYXN0GAQgASgFSAOIAQESKwoFd2hlcmUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QggKBl93aGVyZSKUAQoTTGlzdEFwaUtleXNSZXNwb25zZRIiCgVpdGVtcxgBIAMoCzITLmlkZW50aXR5LnYxLkFwaUtleRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ixAEKE1VwZGF0ZUFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhYKCWlzX2FjdGl2ZRgDIAEoCEgBiAEBEg4KBnNjb3BlcxgEIAMoCRIVCg11cGRhdGVfc2NvcGVzGAYgASgIEiAKE3JhdGVfbGltaXRfcGVyX2hvdXIYBSABKAVIAogBAUIHCgVfbmFtZUIMCgpfaXNfYWN0aXZlQhYKFF9yYXRlX2xpbWl0X3Blcl9ob3VyIjwKFFVwZGF0ZUFwaUtleVJlc3BvbnNlEiQKB2FwaV9rZXkYASABKAsyEy5pZGVudGl0eS52MS5BcGlLZXkiIQoTUm90YXRlQXBpS2V5UmVxdWVzdBIKCgJpZBgBIAEoCSI8ChRSb3RhdGVBcGlLZXlSZXNwb25zZRIkCgdhcGlfa2V5GAEgASgLMhMuaWRlbnRpdHkudjEuQXBpS2V5IiEKE1Jldm9rZUFwaUtleVJlcXVlc3QSCgoCaWQYASABKAkiJwoUUmV2b2tlQXBpS2V5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKxBQoMQXV0aFByb3ZpZGVyEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBHR5cGUYBCABKAkSJwoGY29uZmlnGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAYgASgIEhIKCmlzX2RlZmF1bHQYByABKAgSEAoIcHJpb3JpdHkYCCABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgAiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIAYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2ChBwdWJsaXNoZWRfY29uZmlnGDwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEh4KEXB1Ymxpc2hlZF9lbmFibGVkGD0gASgISAOIAQESPQoUc2NoZWR1bGVkX3B1Ymxpc2hfYXQYPiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESPwoWc2NoZWR1bGVkX3VucHVibGlzaF9hdBg/IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBAUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUITChFfcHVibGlzaGVkX2NvbmZpZ0IUChJfcHVibGlzaGVkX2VuYWJsZWRCFwoVX3NjaGVkdWxlZF9wdWJsaXNoX2F0QhkKF19zY2hlZHVsZWRfdW5wdWJsaXNoX2F0IskBChhMaXN0QXV0aFByb3ZpZGVyc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqQBChlMaXN0QXV0aFByb3ZpZGVyc1Jlc3BvbnNlEiwKCXByb3ZpZGVycxgBIAMoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlchINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iJAoWR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCSJGChdHZXRBdXRoUHJvdmlkZXJSZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlciKBAgoZQ3JlYXRlQXV0aFByb3ZpZGVyUmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEicKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoHZW5hYmxlZBgFIAEoCEgAiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIAYgBARIVCghwcmlvcml0eRgHIAEoBUgCiAEBEhYKCWNvbmZpZ19pZBgIIAEoCUgDiAEBQgoKCF9lbmFibGVkQg0KC19pc19kZWZhdWx0QgsKCV9wcmlvcml0eUIMCgpfY29uZmlnX2lkIkkKGkNyZWF0ZUF1dGhQcm92aWRlclJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyIuoBChlVcGRhdGVBdXRoUHJvdmlkZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIsCgZjb25maWcYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESFAoHZW5hYmxlZBgEIAEoCEgCiAEBEhcKCmlzX2RlZmF1bHQYBSABKAhIA4gBARIVCghwcmlvcml0eRgGIAEoBUgEiAEBQgcKBV9uYW1lQgkKB19jb25maWdCCgoIX2VuYWJsZWRCDQoLX2lzX2RlZmF1bHRCCwoJX3ByaW9yaXR5IkkKGlVwZGF0ZUF1dGhQcm92aWRlclJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyIicKGURlbGV0ZUF1dGhQcm92aWRlclJlcXVlc3QSCgoCaWQYASABKAkiLQoaRGVsZXRlQXV0aFByb3ZpZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIoChpQdWJsaXNoQXV0aFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCSKAAQobUHVibGlzaEF1dGhQcm92aWRlclJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIioKHFVucHVibGlzaEF1dGhQcm92aWRlclJlcXVlc3QSCgoCaWQYASABKAkiTAodVW5wdWJsaXNoQXV0aFByb3ZpZGVyUmVzcG9uc2USKwoIcHJvdmlkZXIYASABKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXIiMQojR2V0QXV0aFByb3ZpZGVyUHVibGlzaFN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiUQokR2V0QXV0aFByb3ZpZGVyUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyLaAgoTQXV0aFByb3ZpZGVyVmVyc2lvbhIKCgJpZBgBIAEoCRIYChBhdXRoX3Byb3ZpZGVyX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnkiKwodR2V0QXV0aFByb3ZpZGVyVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiUwoeR2V0QXV0aFByb3ZpZGVyVmVyc2lvblJlc3BvbnNlEjEKB3ZlcnNpb24YASABKAsyIC5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXJWZXJzaW9uIrMBCh9MaXN0QXV0aFByb3ZpZGVyVmVyc2lvbnNSZXF1ZXN0EhgKEGF1dGhfcHJvdmlkZXJfaWQYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QisQEKIExpc3RBdXRoUHJvdmlkZXJWZXJzaW9uc1Jlc3BvbnNlEjIKCHZlcnNpb25zGAEgAygLMiAuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ibwohUmVzdG9yZUF1dGhQcm92aWRlclZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkSHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAIgASgJSACIAQFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKIAQoiUmVzdG9yZUF1dGhQcm92aWRlclZlcnNpb25SZXNwb25zZRIrCghwcm92aWRlchgBIAEoCzIZLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlchI1CgtuZXdfdmVyc2lvbhgCIAEoCzIgLmlkZW50aXR5LnYxLkF1dGhQcm92aWRlclZlcnNpb24iqAEKIlNjaGVkdWxlQXV0aFByb3ZpZGVyUHVibGlzaFJlcXVlc3QSCgoCaWQYASABKAkSLgoKcHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiUgojU2NoZWR1bGVBdXRoUHJvdmlkZXJQdWJsaXNoUmVzcG9uc2USKwoIcHJvdmlkZXIYASABKAsyGS5pZGVudGl0eS52MS5BdXRoUHJvdmlkZXIiNwopQ2FuY2VsU2NoZWR1bGVkQXV0aFByb3ZpZGVyUHVibGlzaFJlcXVlc3QSCgoCaWQYASABKAkiWQoqQ2FuY2VsU2NoZWR1bGVkQXV0aFByb3ZpZGVyUHVibGlzaFJlc3BvbnNlEisKCHByb3ZpZGVyGAEgASgLMhkuaWRlbnRpdHkudjEuQXV0aFByb3ZpZGVyIh4KHEVuYWJsZWRPQXV0aFByb3ZpZGVyc1JlcXVlc3QiMgodRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVzcG9uc2USEQoJcHJvdmlkZXJzGAEgAygJIioKF01pbnRTZXJ2aWNlVG9rZW5SZXF1ZXN0Eg8KB3B1cnBvc2UYASABKAkiTgoYTWludFNlcnZpY2VUb2tlblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEg8KB3B1cnBvc2UYAiABKAkSEgoKZXhwaXJlc19hdBgDIAEoCSKOAQoWVXBkYXRlTXlQcm9maWxlUmVxdWVzdBIXCgpmaXJzdF9uYW1lGAEgASgJSACIAQESFgoJbGFzdF9uYW1lGAIgASgJSAGIAQESFwoKYXZhdGFyX3VybBgDIAEoCUgCiAEBQg0KC19maXJzdF9uYW1lQgwKCl9sYXN0X25hbWVCDQoLX2F2YXRhcl91cmwiPwoXVXBkYXRlTXlQcm9maWxlUmVzcG9uc2USJAoEdXNlchgBIAEoCzIWLmlkZW50aXR5LnYxLkFkbWluVXNlciLOAQodTGlzdE15T0F1dGhDb25uZWN0aW9uc1JlcXVlc3QSEgoFZmlyc3QYASABKAVIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhEKBGxhc3QYAyABKAVIAogBARITCgZiZWZvcmUYBCABKAlIA4gBARIrCgV3aGVyZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBAUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmVCCAoGX3doZXJlIo0BCg9PQXV0aENvbm5lY3Rpb24SEAoIcHJvdmlkZXIYASABKAkSGAoQcHJvdmlkZXJfdXNlcl9pZBgCIAEoCRISCgVlbWFpbBgDIAEoCUgAiAEBEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGX2VtYWlsIq4BCh5MaXN0TXlPQXV0aENvbm5lY3Rpb25zUmVzcG9uc2USMQoLY29ubmVjdGlvbnMYASADKAsyHC5pZGVudGl0eS52MS5PQXV0aENvbm5lY3Rpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIi4KGlVubGlua09BdXRoUHJvdmlkZXJSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJIi4KG1VubGlua09BdXRoUHJvdmlkZXJSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi4KHUNoZWNrRW1haWxBdmFpbGFiaWxpdHlSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIjMKHkNoZWNrRW1haWxBdmFpbGFiaWxpdHlSZXNwb25zZRIRCglhdmFpbGFibGUYASABKAgijwEKG0NvbXBsZXRlQWNjb3VudFNldHVwUmVxdWVzdBIXCgpmaXJzdF9uYW1lGAEgASgJSACIAQESFgoJbGFzdF9uYW1lGAIgASgJSAGIAQESFQoIcGFzc3dvcmQYAyABKAlIAogBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQgsKCV9wYXNzd29yZCJbChxDb21wbGV0ZUFjY291bnRTZXR1cFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSGQoMcmVkaXJlY3RfdXJsGAIgASgJSACIAQFCDwoNX3JlZGlyZWN0X3VybCItChpDcmVhdGVTaWdudXBTZXNzaW9uUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgJIi4KG0NyZWF0ZVNpZ251cFNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjAKF1Jlc2VuZEludml0YXRpb25SZXF1ZXN0EhUKDWludml0YXRpb25faWQYASABKAkiKwoYUmVzZW5kSW52aXRhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiIgoUR2V0SW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkiRAoVR2V0SW52aXRhdGlvblJlc3BvbnNlEisKCmludml0YXRpb24YASABKAsyFy5pZGVudGl0eS52MS5JbnZpdGF0aW9uIioKFUFjdGl2YXRlVGVuYW50UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkiPQoWQWN0aXZhdGVUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiMAobU3VzcGVuZFRlbmFudEFjY291bnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSJDChxTdXNwZW5kVGVuYW50QWNjb3VudFJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCIoChNDYW5jZWxUZW5hbnRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSI7ChRDYW5jZWxUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiLAoXUmVhY3RpdmF0ZVRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIj8KGFJlYWN0aXZhdGVUZW5hbnRSZXNwb25zZRIjCgZ0ZW5hbnQYASABKAsyEy5pZGVudGl0eS52MS5UZW5hbnQiLQoYTWFya1RlbmFudFBhc3REdWVSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCSJAChlNYXJrVGVuYW50UGFzdER1ZVJlc3BvbnNlEiMKBnRlbmFudBgBIAEoCzITLmlkZW50aXR5LnYxLlRlbmFudCInChJDaHVyblRlbmFudFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJIjoKE0NodXJuVGVuYW50UmVzcG9uc2USIwoGdGVuYW50GAEgASgLMhMuaWRlbnRpdHkudjEuVGVuYW50IiQKIkdldEN1c3RvbWVyTWFuYWdlbWVudFN0YXR1c1JlcXVlc3Qi2wEKGEN1c3RvbWVyTWFuYWdlbWVudFN0YXR1cxIhChluYXRpdmVfbWFuYWdlbWVudF9lbmFibGVkGAEgASgIEiIKFWV4dGVybmFsX3Byb3ZpZGVyX3VybBgCIAEoCUgAiAEBEiMKFmV4dGVybmFsX3Byb3ZpZGVyX25hbWUYAyABKAlIAYgBARITCgZyZWFzb24YBCABKAlIAogBAUIYChZfZXh0ZXJuYWxfcHJvdmlkZXJfdXJsQhkKF19leHRlcm5hbF9wcm92aWRlcl9uYW1lQgkKB19yZWFzb24iXAojR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVzcG9uc2USNQoGc3RhdHVzGAEgASgLMiUuaWRlbnRpdHkudjEuQ3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzIigKFVZhbGlkYXRlQXBpS2V5UmVxdWVzdBIPCgdhcGlfa2V5GAEgASgJIuEBChZWYWxpZGF0ZUFwaUtleVJlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnByb2plY3RfaWQYBCABKAkSEAoIa2V5X3R5cGUYBSABKAkSDgoGc2NvcGVzGAYgAygJEhYKDmFsbG93ZWRfbW9kZWxzGAcgAygJEhoKEmFsbG93ZWRfZmlsZV90eXBlcxgIIAMoCRIbChNyYXRlX2xpbWl0X3Blcl9ob3VyGAkgASgFEhMKC3Byb2plY3RfaWRzGAogAygJIjcKFEN1c3RvbWVyTG9naW5SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJIm0KFUN1c3RvbWVyTG9naW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCRInCghjdXN0b21lchgDIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIn8KF0N1c3RvbWVyUmVnaXN0ZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEjIKDHByb2ZpbGVfZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIPCg1fcHJvZmlsZV9kYXRhInAKGEN1c3RvbWVyUmVnaXN0ZXJSZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkSFQoNcmVmcmVzaF90b2tlbhgCIAEoCRInCghjdXN0b21lchgDIAEoCzIVLmlkZW50aXR5LnYxLkN1c3RvbWVyIjQKG0N1c3RvbWVyUmVmcmVzaFRva2VuUmVxdWVzdBIVCg1yZWZyZXNoX3Rva2VuGAEgASgJIksKHEN1c3RvbWVyUmVmcmVzaFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkiKgoZQ3VzdG9tZXJSZXF1ZXN0T1RQUmVxdWVzdBINCgVlbWFpbBgBIAEoCSIqChpDdXN0b21lclJlcXVlc3RPVFBSZXNwb25zZRIMCgRzZW50GAEgASgIIjsKGEN1c3RvbWVyVmVyaWZ5T1RQUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghvdHBfY29kZRgCIAEoCSJxChlDdXN0b21lclZlcmlmeU9UUFJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAIgASgJEicKCGN1c3RvbWVyGAMgASgLMhUuaWRlbnRpdHkudjEuQ3VzdG9tZXIiNAojQ3VzdG9tZXJSZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QSDQoFZW1haWwYASABKAkiNAokQ3VzdG9tZXJSZXF1ZXN0UGFzc3dvcmRSZXNldFJlc3BvbnNlEgwKBHNlbnQYASABKAgiQwocQ3VzdG9tZXJSZXNldFBhc3N3b3JkUmVxdWVzdBINCgV0b2tlbhgBIAEoCRIUCgxuZXdfcGFzc3dvcmQYAiABKAkiMAodQ3VzdG9tZXJSZXNldFBhc3N3b3JkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJNChZEZWxldGVNeUFjY291bnRSZXF1ZXN0EhUKCHBhc3N3b3JkGAEgASgJSACIAQESDwoHY29uZmlybRgCIAEoCEILCglfcGFzc3dvcmQiWgoXRGVsZXRlTXlBY2NvdW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIXCg9yZWNvcmRzX2RlbGV0ZWQYAiABKAMSFQoNZmlsZXNfZGVsZXRlZBgDIAEoAyLZAQoZU3RvcmVQcm92aWRlclRva2VuUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIUCgxwcm92aWRlcl9rZXkYAiABKAkSFAoMYWNjZXNzX3Rva2VuGAMgASgJEhUKDXJlZnJlc2hfdG9rZW4YBCABKAkSEAoIaWRfdG9rZW4YBSABKAkSDgoGc2NvcGVzGAYgASgJEjMKCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiHAoaU3RvcmVQcm92aWRlclRva2VuUmVzcG9uc2UigwEKGVN0YXJ0UHJvdmlkZXJMb2dpblJlcXVlc3QSFAoMcHJvdmlkZXJfa2V5GAEgASgJEhYKCXJldHVybl90bxgCIAEoCUgAiAEBEhkKDHJlZGlyZWN0X3VyaRgDIAEoCUgBiAEBQgwKCl9yZXR1cm5fdG9CDwoNX3JlZGlyZWN0X3VyaSIyChpTdGFydFByb3ZpZGVyTG9naW5SZXNwb25zZRIUCgxyZWRpcmVjdF91cmwYASABKAkiTwoaRmluaXNoUHJvdmlkZXJMb2dpblJlcXVlc3QSFAoMcHJvdmlkZXJfa2V5GAEgASgJEgwKBGNvZGUYAiABKAkSDQoFc3RhdGUYAyABKAkibgobRmluaXNoUHJvdmlkZXJMb2dpblJlc3BvbnNlEhMKC2N1c3RvbWVyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhQKDGFjY2Vzc190b2tlbhgDIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAQgASgJIoIBCiFTdGFydEN1c3RvbWVyTG9naW5XaXRoRm9pclJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhQKDHJlZGlyZWN0X3VyaRgCIAEoCRIOCgZzY29wZXMYAyADKAkSFgoJcmV0dXJuX3RvGAQgASgJSACIAQFCDAoKX3JldHVybl90byI6CiJTdGFydEN1c3RvbWVyTG9naW5XaXRoRm9pclJlc3BvbnNlEhQKDHJlZGlyZWN0X3VybBgBIAEoCSJDCiRDb21wbGV0ZUN1c3RvbWVyTG9naW5XaXRoRm9pclJlcXVlc3QSDAoEY29kZRgBIAEoCRINCgVzdGF0ZRgCIAEoCSKeAQolQ29tcGxldGVDdXN0b21lckxvZ2luV2l0aEZvaXJSZXNwb25zZRITCgtjdXN0b21lcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAyABKAkSFQoNcmVmcmVzaF90b2tlbhgEIAEoCRIWCglyZXR1cm5fdG8YBSABKAlIAIgBAUIMCgpfcmV0dXJuX3RvIn8KHlN0YXJ0QWRtaW5Mb2dpbldpdGhGb2lyUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSFAoMcmVkaXJlY3RfdXJpGAIgASgJEg4KBnNjb3BlcxgDIAMoCRIWCglyZXR1cm5fdG8YBCABKAlIAIgBAUIMCgpfcmV0dXJuX3RvIjcKH1N0YXJ0QWRtaW5Mb2dpbldpdGhGb2lyUmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJIkAKIUNvbXBsZXRlQWRtaW5Mb2dpbldpdGhGb2lyUmVxdWVzdBIMCgRjb2RlGAEgASgJEg0KBXN0YXRlGAIgASgJIr0BCiJDb21wbGV0ZUFkbWluTG9naW5XaXRoRm9pclJlc3BvbnNlEhUKDWFkbWluX3VzZXJfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEhUKDXJlZnJlc2hfdG9rZW4YAyABKAkSDgoGc2NvcGVzGAQgAygJEh0KFWlzX2ZpcnN0X3BhcnR5X2NsaWVudBgFIAEoCBIWCglyZXR1cm5fdG8YBiABKAlIAIgBAUIMCgpfcmV0dXJuX3RvIiYKEkJlZ2luU3RlcFVwUmVxdWVzdBIQCghwYXNzd29yZBgBIAEoCSJkChNCZWdpblN0ZXBVcFJlc3BvbnNlEg4KBmhhbmRsZRgBIAEoCRIQCgh3ZWJhdXRobhgCIAEoCBIMCgR0b3RwGAMgASgIEh0KFXdlYmF1dGhuX29wdGlvbnNfanNvbhgEIAEoCSJbChVDb21wbGV0ZVN0ZXBVcFJlcXVlc3QSDgoGaGFuZGxlGAEgASgJEh8KF3dlYmF1dGhuX2Fzc2VydGlvbl9qc29uGAIgASgJEhEKCXRvdHBfY29kZRgDIAEoCSI5ChZDb21wbGV0ZVN0ZXBVcFJlc3BvbnNlEhIKCnN0ZXBwZWRfdXAYASABKAgSCwoDYW1yGAIgAygJIj0KGUJlZ2luTWZhRW5yb2xsbWVudFJlcXVlc3QSEAoIcGFzc3dvcmQYASABKAkSDgoGbWV0aG9kGAIgASgJInEKGkJlZ2luTWZhRW5yb2xsbWVudFJlc3BvbnNlEg4KBmhhbmRsZRgBIAEoCRIdChV3ZWJhdXRobl9vcHRpb25zX2pzb24YAiABKAkSEwoLdG90cF9zZWNyZXQYAyABKAkSDwoHdG90cF9xchgEIAEoCSJ6ChxDb21wbGV0ZU1mYUVucm9sbG1lbnRSZXF1ZXN0Eg4KBmhhbmRsZRgBIAEoCRIhChl3ZWJhdXRobl9hdHRlc3RhdGlvbl9qc29uGAIgASgJEhEKCXRvdHBfY29kZRgDIAEoCRIUCgxkaXNwbGF5X25hbWUYBCABKAkiMQodQ29tcGxldGVNZmFFbnJvbGxtZW50UmVzcG9uc2USEAoIZW5yb2xsZWQYASABKAgiRAoXR2V0UHJvdmlkZXJUb2tlblJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSFAoMcHJvdmlkZXJfa2V5GAIgASgJIq0BChhHZXRQcm92aWRlclRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkSEAoIaWRfdG9rZW4YAyABKAkSDgoGc2NvcGVzGAQgASgJEjMKCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiMgobRGVsZXRlUHJvdmlkZXJUb2tlbnNSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIh4KHERlbGV0ZVByb3ZpZGVyVG9rZW5zUmVzcG9uc2UidAoYUmVseWluZ1BhcnR5TG9naW5NZXRob2RzEhUKCHBhc3N3b3JkGAEgASgISACIAQESEAoDb3RwGAIgASgISAGIAQESGgoSZGlzYWJsZWRfcHJvdmlkZXJzGAMgAygJQgsKCV9wYXNzd29yZEIGCgRfb3RwItEECgxSZWx5aW5nUGFydHkSCgoCaWQYASABKAkSFgoOcHJpbmNpcGFsX2tpbmQYAiABKAkSFgoJdGVuYW50X2lkGAMgASgJSACIAQESFwoKcHJvamVjdF9pZBgEIAEoCUgBiAEBEhEKCWNsaWVudF9pZBgFIAEoCRIMCgRuYW1lGAYgASgJEhUKDXJlZGlyZWN0X3VyaXMYByADKAkSFgoOYWxsb3dlZF9zY29wZXMYCCADKAkSFgoOaXNfZmlyc3RfcGFydHkYCSABKAgSFAoMcmVxdWlyZXNfbWZhGAogASgIEkEKDWxvZ2luX21ldGhvZHMYCyABKAsyJS5pZGVudGl0eS52MS5SZWx5aW5nUGFydHlMb2dpbk1ldGhvZHNIAogBARIXCgpjcmVhdGVkX2J5GAwgASgJSAOIAQESLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoLZGlzYWJsZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoOcG9zdF9sb2dpbl91cmwYECABKAlIBYgBAUIMCgpfdGVuYW50X2lkQg0KC19wcm9qZWN0X2lkQhAKDl9sb2dpbl9tZXRob2RzQg0KC19jcmVhdGVkX2J5Qg4KDF9kaXNhYmxlZF9hdEIRCg9fcG9zdF9sb2dpbl91cmwigQEKGUxpc3RSZWx5aW5nUGFydGllc1JlcXVlc3QSFgoOcHJpbmNpcGFsX2tpbmQYASABKAkSFgoJdGVuYW50X2lkGAIgASgJSACIAQESFwoKcHJvamVjdF9pZBgDIAEoCUgBiAEBQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWQiVQoaTGlzdFJlbHlpbmdQYXJ0aWVzUmVzcG9uc2USKAoFaXRlbXMYASADKAsyGS5pZGVudGl0eS52MS5SZWx5aW5nUGFydHkSDQoFdG90YWwYAiABKAUiQwoWR2V0UmVseWluZ1BhcnR5UmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkiSwoXR2V0UmVseWluZ1BhcnR5UmVzcG9uc2USMAoNcmVseWluZ19wYXJ0eRgBIAEoCzIZLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eSKEAwoZQ3JlYXRlUmVseWluZ1BhcnR5UmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIWCgl0ZW5hbnRfaWQYAiABKAlIAIgBARIXCgpwcm9qZWN0X2lkGAMgASgJSAGIAQESEQoJY2xpZW50X2lkGAQgASgJEgwKBG5hbWUYBSABKAkSFQoNcmVkaXJlY3RfdXJpcxgGIAMoCRIWCg5hbGxvd2VkX3Njb3BlcxgHIAMoCRIWCg5pc19maXJzdF9wYXJ0eRgIIAEoCBIUCgxyZXF1aXJlc19tZmEYCSABKAgSQQoNbG9naW5fbWV0aG9kcxgKIAEoCzIlLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eUxvZ2luTWV0aG9kc0gCiAEBEhsKDnBvc3RfbG9naW5fdXJsGAsgASgJSAOIAQFCDAoKX3RlbmFudF9pZEINCgtfcHJvamVjdF9pZEIQCg5fbG9naW5fbWV0aG9kc0IRCg9fcG9zdF9sb2dpbl91cmwiTgoaQ3JlYXRlUmVseWluZ1BhcnR5UmVzcG9uc2USMAoNcmVseWluZ19wYXJ0eRgBIAEoCzIZLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eSLCAgoZVXBkYXRlUmVseWluZ1BhcnR5UmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSEQoEbmFtZRgDIAEoCUgAiAEBEhUKDXJlZGlyZWN0X3VyaXMYBCADKAkSFgoOYWxsb3dlZF9zY29wZXMYBSADKAkSGQoMcmVxdWlyZXNfbWZhGAYgASgISAGIAQESQQoNbG9naW5fbWV0aG9kcxgHIAEoCzIlLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eUxvZ2luTWV0aG9kc0gCiAEBEhsKDnBvc3RfbG9naW5fdXJsGAggASgJSAOIAQFCBwoFX25hbWVCDwoNX3JlcXVpcmVzX21mYUIQCg5fbG9naW5fbWV0aG9kc0IRCg9fcG9zdF9sb2dpbl91cmwiTgoaVXBkYXRlUmVseWluZ1BhcnR5UmVzcG9uc2USMAoNcmVseWluZ19wYXJ0eRgBIAEoCzIZLmlkZW50aXR5LnYxLlJlbHlpbmdQYXJ0eSJHChpEaXNhYmxlUmVseWluZ1BhcnR5UmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkiHQobRGlzYWJsZVJlbHlpbmdQYXJ0eVJlc3BvbnNlIuwCCgxDdXN0b21Eb21haW4SCgoCaWQYASABKAkSGAoQcmVseWluZ19wYXJ0eV9pZBgCIAEoCRIMCgRraW5kGAMgASgJEhEKCXRlbmFudF9pZBgEIAEoCRISCgpwcm9qZWN0X2lkGAUgASgJEhAKCGhvc3RuYW1lGAYgASgJEg4KBnN0YXR1cxgHIAEoCRIRCgl0eHRfdG9rZW4YCCABKAkSNAoLdmVyaWZpZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESFwoKY3JlYXRlZF9ieRgKIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF92ZXJpZmllZF9hdEINCgtfY3JlYXRlZF9ieSJXChtSZWdpc3RlckN1c3RvbURvbWFpblJlcXVlc3QSGAoQcmVseWluZ19wYXJ0eV9pZBgBIAEoCRIQCghob3N0bmFtZRgCIAEoCRIMCgRraW5kGAMgASgJIlAKHFJlZ2lzdGVyQ3VzdG9tRG9tYWluUmVzcG9uc2USMAoNY3VzdG9tX2RvbWFpbhgBIAEoCzIZLmlkZW50aXR5LnYxLkN1c3RvbURvbWFpbiInChlWZXJpZnlDdXN0b21Eb21haW5SZXF1ZXN0EgoKAmlkGAEgASgJImAKGlZlcmlmeUN1c3RvbURvbWFpblJlc3BvbnNlEjAKDWN1c3RvbV9kb21haW4YASABKAsyGS5pZGVudGl0eS52MS5DdXN0b21Eb21haW4SEAoIdmVyaWZpZWQYAiABKAgiJwoZRGVsZXRlQ3VzdG9tRG9tYWluUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpEZWxldGVDdXN0b21Eb21haW5SZXNwb25zZSI0ChhMaXN0Q3VzdG9tRG9tYWluc1JlcXVlc3QSGAoQcmVseWluZ19wYXJ0eV9pZBgBIAEoCSJFChlMaXN0Q3VzdG9tRG9tYWluc1Jlc3BvbnNlEigKBWl0ZW1zGAEgAygLMhkuaWRlbnRpdHkudjEuQ3VzdG9tRG9tYWluIuICCg9DdXN0b21lclNlc3Npb24SCgoCaWQYASABKAkSEwoLY3VzdG9tZXJfaWQYAiABKAkSGAoQcmVseWluZ19wYXJ0eV9pZBgDIAEoCRIRCgl0ZW5hbnRfaWQYBCABKAkSEgoKcHJvamVjdF9pZBgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3NlZW5fYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmlwX2FkZHJlc3MYCSABKAlIAIgBARIXCgp1c2VyX2FnZW50GAogASgJSAGIAQESCwoDYW1yGAsgAygJQg0KC19pcF9hZGRyZXNzQg0KC191c2VyX2FnZW50IjcKG0xpc3RDdXN0b21lclNlc3Npb25zUmVxdWVzdBIYChByZWx5aW5nX3BhcnR5X2lkGAEgASgJIksKHExpc3RDdXN0b21lclNlc3Npb25zUmVzcG9uc2USKwoFaXRlbXMYASADKAsyHC5pZGVudGl0eS52MS5DdXN0b21lclNlc3Npb24iKgocUmV2b2tlQ3VzdG9tZXJTZXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIfCh1SZXZva2VDdXN0b21lclNlc3Npb25SZXNwb25zZSKdAgoRUmVseWluZ1BhcnR5R3JhbnQSCgoCaWQYASABKAkSFQoNYWRtaW5fdXNlcl9pZBgCIAEoCRIRCgljbGllbnRfaWQYAyABKAkSDgoGc2NvcGVzGAQgAygJEhcKCmdyYW50ZWRfYnkYBSABKAlIAIgBARIuCgpncmFudGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpyZXZva2VkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhcKCnJldm9rZWRfYnkYCCABKAlIAogBAUINCgtfZ3JhbnRlZF9ieUINCgtfcmV2b2tlZF9hdEINCgtfcmV2b2tlZF9ieSJNCh1MaXN0UmVseWluZ1BhcnR5R3JhbnRzUmVxdWVzdBIaCg1hZG1pbl91c2VyX2lkGAEgASgJSACIAQFCEAoOX2FkbWluX3VzZXJfaWQiXgoeTGlzdFJlbHlpbmdQYXJ0eUdyYW50c1Jlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5R3JhbnQSDQoFdG90YWwYAiABKAUiVAoYR3JhbnRSZWx5aW5nUGFydHlSZXF1ZXN0EhUKDWFkbWluX3VzZXJfaWQYASABKAkSEQoJY2xpZW50X2lkGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJKChlHcmFudFJlbHlpbmdQYXJ0eVJlc3BvbnNlEi0KBWdyYW50GAEgASgLMh4uaWRlbnRpdHkudjEuUmVseWluZ1BhcnR5R3JhbnQiLAoeUmV2b2tlUmVseWluZ1BhcnR5R3JhbnRSZXF1ZXN0EgoKAmlkGAEgASgJIiEKH1Jldm9rZVJlbHlpbmdQYXJ0eUdyYW50UmVzcG9uc2Ui2wIKBFJvbGUSCgoCaWQYASABKAkSNgoOcHJpbmNpcGFsX2tpbmQYAiABKA4yHi5pZGVudGl0eS52MS5Sb2xlUHJpbmNpcGFsS2luZBIRCgl0ZW5hbnRfaWQYAyABKAkSEgoKcHJvamVjdF9pZBgEIAEoCRILCgNrZXkYBSABKAkSDAoEbmFtZRgGIAEoCRITCgtwZXJtaXNzaW9ucxgHIAMoCRISCgppc19kZWZhdWx0GAggASgIEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKC2Rpc2FibGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg4KDF9kaXNhYmxlZF9hdCL5AQoQTGlzdFJvbGVzUmVxdWVzdBI2Cg5wcmluY2lwYWxfa2luZBgBIAEoDjIeLmlkZW50aXR5LnYxLlJvbGVQcmluY2lwYWxLaW5kEisKBXdoZXJlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAMgASgFSAGIAQESEgoFYWZ0ZXIYBCABKAlIAogBARIRCgRsYXN0GAUgASgFSAOIAQESEwoGYmVmb3JlGAYgASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSKQAQoRTGlzdFJvbGVzUmVzcG9uc2USIAoFaXRlbXMYASADKAsyES5pZGVudGl0eS52MS5Sb2xlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIcCg5HZXRSb2xlUmVxdWVzdBIKCgJpZBgBIAEoCSIyCg9HZXRSb2xlUmVzcG9uc2USHwoEcm9sZRgBIAEoCzIRLmlkZW50aXR5LnYxLlJvbGUitgEKEUNyZWF0ZVJvbGVSZXF1ZXN0EjYKDnByaW5jaXBhbF9raW5kGAEgASgOMh4uaWRlbnRpdHkudjEuUm9sZVByaW5jaXBhbEtpbmQSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSCwoDa2V5GAQgASgJEgwKBG5hbWUYBSABKAkSEwoLcGVybWlzc2lvbnMYBiADKAkSEgoKaXNfZGVmYXVsdBgHIAEoCCI1ChJDcmVhdGVSb2xlUmVzcG9uc2USHwoEcm9sZRgBIAEoCzIRLmlkZW50aXR5LnYxLlJvbGUieAoRVXBkYXRlUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhMKC3Blcm1pc3Npb25zGAMgAygJEhcKCmlzX2RlZmF1bHQYBCABKAhIAYgBAUIHCgVfbmFtZUINCgtfaXNfZGVmYXVsdCI1ChJVcGRhdGVSb2xlUmVzcG9uc2USHwoEcm9sZRgBIAEoCzIRLmlkZW50aXR5LnYxLlJvbGUiIAoSRGlzYWJsZVJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJIhUKE0Rpc2FibGVSb2xlUmVzcG9uc2UivwIKDlJvbGVBc3NpZ25tZW50EgoKAmlkGAEgASgJEjYKDnByaW5jaXBhbF9raW5kGAIgASgOMh4uaWRlbnRpdHkudjEuUm9sZVByaW5jaXBhbEtpbmQSFAoMcHJpbmNpcGFsX2lkGAMgASgJEg8KB3JvbGVfaWQYBCABKAkSLgoKZ3JhbnRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKZ3JhbnRlZF9ieRgGIAEoCUgAiAEBEjMKCnJldm9rZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFwoKcmV2b2tlZF9ieRgIIAEoCUgCiAEBQg0KC19ncmFudGVkX2J5Qg0KC19yZXZva2VkX2F0Qg0KC19yZXZva2VkX2J5InIKEUFzc2lnblJvbGVSZXF1ZXN0EjYKDnByaW5jaXBhbF9raW5kGAEgASgOMh4uaWRlbnRpdHkudjEuUm9sZVByaW5jaXBhbEtpbmQSFAoMcHJpbmNpcGFsX2lkGAIgASgJEg8KB3JvbGVfaWQYAyABKAkiRQoSQXNzaWduUm9sZVJlc3BvbnNlEi8KCmFzc2lnbm1lbnQYASABKAsyGy5pZGVudGl0eS52MS5Sb2xlQXNzaWdubWVudCIpChtSZXZva2VSb2xlQXNzaWdubWVudFJlcXVlc3QSCgoCaWQYASABKAkiHgocUmV2b2tlUm9sZUFzc2lnbm1lbnRSZXNwb25zZSKDAgoaTGlzdFJvbGVBc3NpZ25tZW50c1JlcXVlc3QSNgoOcHJpbmNpcGFsX2tpbmQYASABKA4yHi5pZGVudGl0eS52MS5Sb2xlUHJpbmNpcGFsS2luZBIrCgV3aGVyZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVmaXJzdBgDIAEoBUgBiAEBEhIKBWFmdGVyGAQgASgJSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBEhMKBmJlZm9yZRgGIAEoCUgEiAEBQggKBl93aGVyZUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmUipAEKG0xpc3RSb2xlQXNzaWdubWVudHNSZXNwb25zZRIqCgVpdGVtcxgBIAMoCzIbLmlkZW50aXR5LnYxLlJvbGVBc3NpZ25tZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJwCg9TZWN1cml0eVN1bW1hcnkSFAoMdG90YWxfbG9naW5zGAEgASgFEhUKDWZhaWxlZF9sb2dpbnMYAiABKAUSGAoQYWNjb3VudF9sb2Nrb3V0cxgDIAEoBRIWCg5zdXNwaWNpb3VzX2lwcxgEIAEoBSJuCg9TdXNwaWNpb3VzTG9naW4SDQoFZW1haWwYASABKAkSEAoIaXBfY291bnQYAiABKAUSCwoDaXBzGAMgAygJEi0KCWxhc3Rfc2VlbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYgoLRmFpbGVkTG9naW4SEgoKaWRlbnRpZmllchgBIAEoCRINCgVjb3VudBgCIAEoBRIwCgxsYXN0X2F0dGVtcHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIm4KDkFjY291bnRMb2Nrb3V0Eg0KBWVtYWlsGAEgASgJEi0KCWxvY2tlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoGcmVhc29uGAMgASgJSACIAQFCCQoHX3JlYXNvbiKtAQoZR2V0U2VjdXJpdHlTdW1tYXJ5UmVxdWVzdBItCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEisKAnRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhYKCXRlbmFudF9pZBgDIAEoCUgCiAEBQgcKBV9mcm9tQgUKA190b0IMCgpfdGVuYW50X2lkIksKGkdldFNlY3VyaXR5U3VtbWFyeVJlc3BvbnNlEi0KB3N1bW1hcnkYASABKAsyHC5pZGVudGl0eS52MS5TZWN1cml0eVN1bW1hcnkiugEKGkdldFN1c3BpY2lvdXNMb2dpbnNSZXF1ZXN0EhIKBWFmdGVyGAMgASgJSACIAQESEwoGYmVmb3JlGAQgASgJSAGIAQESEgoFZmlyc3QYBSABKAVIAogBARIRCgRsYXN0GAYgASgFSAOIAQESFgoJdGVuYW50X2lkGAIgASgJSASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QgwKCl90ZW5hbnRfaWQilwEKG0dldFN1c3BpY2lvdXNMb2dpbnNSZXNwb25zZRIsCgZsb2dpbnMYASADKAsyHC5pZGVudGl0eS52MS5TdXNwaWNpb3VzTG9naW4SKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIs4BChZHZXRGYWlsZWRMb2dpbnNSZXF1ZXN0Eg8KAmJ5GAEgASgJSACIAQESEgoFYWZ0ZXIYBCABKAlIAYgBARITCgZiZWZvcmUYBSABKAlIAogBARISCgVmaXJzdBgGIAEoBUgDiAEBEhEKBGxhc3QYByABKAVIBIgBARIWCgl0ZW5hbnRfaWQYAyABKAlIBYgBAUIFCgNfYnlCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QgwKCl90ZW5hbnRfaWQikAEKF0dldEZhaWxlZExvZ2luc1Jlc3BvbnNlEikKB2VudHJpZXMYASADKAsyGC5pZGVudGl0eS52MS5GYWlsZWRMb2dpbhIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJQgwKCl9wYWdlX2luZm8iuQEKGUdldEFjY291bnRMb2Nrb3V0c1JlcXVlc3QSEgoFYWZ0ZXIYAyABKAlIAIgBARITCgZiZWZvcmUYBCABKAlIAYgBARISCgVmaXJzdBgFIAEoBUgCiAEBEhEKBGxhc3QYBiABKAVIA4gBARIWCgl0ZW5hbnRfaWQYAiABKAlIBIgBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3RCDAoKX3RlbmFudF9pZCKXAQoaR2V0QWNjb3VudExvY2tvdXRzUmVzcG9uc2USLQoIbG9ja291dHMYASADKAsyGy5pZGVudGl0eS52MS5BY2NvdW50TG9ja291dBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJQgwKCl9wYWdlX2luZm8qsQEKD0FkbWluVXNlclN0YXR1cxIhCh1BRE1JTl9VU0VSX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGEFETUlOX1VTRVJfU1RBVFVTX0FDVElWRRABEh0KGUFETUlOX1VTRVJfU1RBVFVTX1BFTkRJTkcQAhIfChtBRE1JTl9VU0VSX1NUQVRVU19TVVNQRU5ERUQQAxIdChlBRE1JTl9VU0VSX1NUQVRVU19ERUxFVEVEEAQqiQEKDkN1c3RvbWVyU3RhdHVzEh8KG0NVU1RPTUVSX1NUQVRVU19VTlNQRUNJRklFRBAAEhoKFkNVU1RPTUVSX1NUQVRVU19BQ1RJVkUQARIbChdDVVNUT01FUl9TVEFUVVNfUEVORElORxACEh0KGUNVU1RPTUVSX1NUQVRVU19TVVNQRU5ERUQQAyrZAQoMVGVuYW50U3RhdHVzEh0KGVRFTkFOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtURU5BTlRfU1RBVFVTX1BFTkRJTkdfU0VUVVAQARIYChRURU5BTlRfU1RBVFVTX0FDVElWRRACEhoKFlRFTkFOVF9TVEFUVVNfUEFTVF9EVUUQAxIbChdURU5BTlRfU1RBVFVTX1NVU1BFTkRFRBAEEhsKF1RFTkFOVF9TVEFUVVNfQ0FOQ0VMTEVEEAUSGQoVVEVOQU5UX1NUQVRVU19DSFVSTkVEEAYqZgoNUHJvamVjdFN0YXR1cxIeChpQUk9KRUNUX1NUQVRVU19VTlNQRUNJRklFRBAAEhkKFVBST0pFQ1RfU1RBVFVTX0FDVElWRRABEhoKFlBST0pFQ1RfU1RBVFVTX0RFTEVURUQQAip4ChBQcm9qZWN0R3JvdXBNb2RlEiIKHlBST0pFQ1RfR1JPVVBfTU9ERV9VTlNQRUNJRklFRBAAEiIKHlBST0pFQ1RfR1JPVVBfTU9ERV9FTlZJUk9OTUVOVBABEhwKGFBST0pFQ1RfR1JPVVBfTU9ERV9GTEVFVBACKo8BChZQcm9qZWN0R3JvdXBNZW1iZXJSb2xlEikKJVBST0pFQ1RfR1JPVVBfTUVNQkVSX1JPTEVfVU5TUEVDSUZJRUQQABIkCiBQUk9KRUNUX0dST1VQX01FTUJFUl9ST0xFX1NPVVJDRRABEiQKIFBST0pFQ1RfR1JPVVBfTUVNQkVSX1JPTEVfVEFSR0VUEAIqpgEKCkFjY2Vzc1JvbGUSGwoXQUNDRVNTX1JPTEVfVU5TUEVDSUZJRUQQABIcChhBQ0NFU1NfUk9MRV9URU5BTlRfT1dORVIQARIdChlBQ0NFU1NfUk9MRV9QUk9KRUNUX0FETUlOEAISHgoaQUNDRVNTX1JPTEVfUFJPSkVDVF9FRElUT1IQAxIeChpBQ0NFU1NfUk9MRV9QUk9KRUNUX1ZJRVdFUhAEKmQKCkludml0ZVR5cGUSGwoXSU5WSVRFX1RZUEVfVU5TUEVDSUZJRUQQABIcChhJTlZJVEVfVFlQRV9URU5BTlRfT1dORVIQARIbChdJTlZJVEVfVFlQRV9URUFNX01FTUJFUhACKrIBChBJbnZpdGF0aW9uU3RhdHVzEiEKHUlOVklUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZSU5WSVRBVElPTl9TVEFUVVNfUEVORElORxABEh4KGklOVklUQVRJT05fU1RBVFVTX0FDQ0VQVEVEEAISHQoZSU5WSVRBVElPTl9TVEFUVVNfRVhQSVJFRBADEh0KGUlOVklUQVRJT05fU1RBVFVTX1JFVk9LRUQQBCrnAQoYQ3VzdG9tZXJJbnZpdGF0aW9uU3RhdHVzEioKJkNVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASJgoiQ1VTVE9NRVJfSU5WSVRBVElPTl9TVEFUVVNfUEVORElORxABEicKI0NVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX0FDQ0VQVEVEEAISJgoiQ1VTVE9NRVJfSU5WSVRBVElPTl9TVEFUVVNfRVhQSVJFRBADEiYKIkNVU1RPTUVSX0lOVklUQVRJT05fU1RBVFVTX1JFVk9LRUQQBCq2AQoKQXBpS2V5VHlwZRIcChhBUElfS0VZX1RZUEVfVU5TUEVDSUZJRUQQABIXChNBUElfS0VZX1RZUEVfUFVCTElDEAESFwoTQVBJX0tFWV9UWVBFX1NFQ1JFVBACEhgKFEFQSV9LRVlfVFlQRV9DT05UUk9MEAMSHgoaQVBJX0tFWV9UWVBFX1BVQkxJQ19URU5BTlQQBBIeChpBUElfS0VZX1RZUEVfU0VDUkVUX1RFTkFOVBAFKnkKEVJvbGVQcmluY2lwYWxLaW5kEiMKH1JPTEVfUFJJTkNJUEFMX0tJTkRfVU5TUEVDSUZJRUQQABIgChxST0xFX1BSSU5DSVBBTF9LSU5EX0NVU1RPTUVSEAESHQoZUk9MRV9QUklOQ0lQQUxfS0lORF9BRE1JThACMtl8Cg9JZGVudGl0eVNlcnZpY2USPgoFTG9naW4SGS5pZGVudGl0eS52MS5Mb2dpblJlcXVlc3QaGi5pZGVudGl0eS52MS5Mb2dpblJlc3BvbnNlElMKDExvZ2luV2l0aE9UUBIgLmlkZW50aXR5LnYxLkxvZ2luV2l0aE9UUFJlcXVlc3QaIS5pZGVudGl0eS52MS5Mb2dpbldpdGhPVFBSZXNwb25zZRJNCgpSZXF1ZXN0T1RQEh4uaWRlbnRpdHkudjEuUmVxdWVzdE9UUFJlcXVlc3QaHy5pZGVudGl0eS52MS5SZXF1ZXN0T1RQUmVzcG9uc2USQQoGTG9nb3V0EhouaWRlbnRpdHkudjEuTG9nb3V0UmVxdWVzdBobLmlkZW50aXR5LnYxLkxvZ291dFJlc3BvbnNlEkcKCFJlZ2lzdGVyEhwuaWRlbnRpdHkudjEuUmVnaXN0ZXJSZXF1ZXN0Gh0uaWRlbnRpdHkudjEuUmVnaXN0ZXJSZXNwb25zZRJQCgtWZXJpZnlFbWFpbBIfLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsUmVxdWVzdBogLmlkZW50aXR5LnYxLlZlcmlmeUVtYWlsUmVzcG9uc2USdAoXUmVzZW5kVmVyaWZpY2F0aW9uRW1haWwSKy5pZGVudGl0eS52MS5SZXNlbmRWZXJpZmljYXRpb25FbWFpbFJlcXVlc3QaLC5pZGVudGl0eS52MS5SZXNlbmRWZXJpZmljYXRpb25FbWFpbFJlc3BvbnNlEnoKGVNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUSLS5pZGVudGl0eS52MS5TZW5kRW1haWxWZXJpZmljYXRpb25Db2RlUmVxdWVzdBouLmlkZW50aXR5LnYxLlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVSZXNwb25zZRJcCg9WZXJpZnlFbWFpbENvZGUSIy5pZGVudGl0eS52MS5WZXJpZnlFbWFpbENvZGVSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVmVyaWZ5RW1haWxDb2RlUmVzcG9uc2USawoUUmVxdWVzdFBhc3N3b3JkUmVzZXQSKC5pZGVudGl0eS52MS5SZXF1ZXN0UGFzc3dvcmRSZXNldFJlcXVlc3QaKS5pZGVudGl0eS52MS5SZXF1ZXN0UGFzc3dvcmRSZXNldFJlc3BvbnNlElYKDVJlc2V0UGFzc3dvcmQSIS5pZGVudGl0eS52MS5SZXNldFBhc3N3b3JkUmVxdWVzdBoiLmlkZW50aXR5LnYxLlJlc2V0UGFzc3dvcmRSZXNwb25zZRJZCg5VcGRhdGVQYXNzd29yZBIiLmlkZW50aXR5LnYxLlVwZGF0ZVBhc3N3b3JkUmVxdWVzdBojLmlkZW50aXR5LnYxLlVwZGF0ZVBhc3N3b3JkUmVzcG9uc2USUwoMUmVmcmVzaFRva2VuEiAuaWRlbnRpdHkudjEuUmVmcmVzaFRva2VuUmVxdWVzdBohLmlkZW50aXR5LnYxLlJlZnJlc2hUb2tlblJlc3BvbnNlEmIKEUdldFNlc3Npb25Db250ZXh0EiUuaWRlbnRpdHkudjEuR2V0U2Vzc2lvbkNvbnRleHRSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR2V0U2Vzc2lvbkNvbnRleHRSZXNwb25zZRJTCgxTd2l0Y2hUZW5hbnQSIC5pZGVudGl0eS52MS5Td2l0Y2hUZW5hbnRSZXF1ZXN0GiEuaWRlbnRpdHkudjEuU3dpdGNoVGVuYW50UmVzcG9uc2USVgoNU3dpdGNoUHJvamVjdBIhLmlkZW50aXR5LnYxLlN3aXRjaFByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuU3dpdGNoUHJvamVjdFJlc3BvbnNlEmgKE0NsZWFyU2Vzc2lvbkNvbnRleHQSJy5pZGVudGl0eS52MS5DbGVhclNlc3Npb25Db250ZXh0UmVxdWVzdBooLmlkZW50aXR5LnYxLkNsZWFyU2Vzc2lvbkNvbnRleHRSZXNwb25zZRI+CgVHZXRNZRIZLmlkZW50aXR5LnYxLkdldE1lUmVxdWVzdBoaLmlkZW50aXR5LnYxLkdldE1lUmVzcG9uc2USXAoPQ3JlYXRlQWRtaW5Vc2VyEiMuaWRlbnRpdHkudjEuQ3JlYXRlQWRtaW5Vc2VyUmVxdWVzdBokLmlkZW50aXR5LnYxLkNyZWF0ZUFkbWluVXNlclJlc3BvbnNlElMKDEdldEFkbWluVXNlchIgLmlkZW50aXR5LnYxLkdldEFkbWluVXNlclJlcXVlc3QaIS5pZGVudGl0eS52MS5HZXRBZG1pblVzZXJSZXNwb25zZRJcCg9VcGRhdGVBZG1pblVzZXISIy5pZGVudGl0eS52MS5VcGRhdGVBZG1pblVzZXJSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVXBkYXRlQWRtaW5Vc2VyUmVzcG9uc2USWQoOTGlzdEFkbWluVXNlcnMSIi5pZGVudGl0eS52MS5MaXN0QWRtaW5Vc2Vyc1JlcXVlc3QaIy5pZGVudGl0eS52MS5MaXN0QWRtaW5Vc2Vyc1Jlc3BvbnNlElAKC0dyYW50QWNjZXNzEh8uaWRlbnRpdHkudjEuR3JhbnRBY2Nlc3NSZXF1ZXN0GiAuaWRlbnRpdHkudjEuR3JhbnRBY2Nlc3NSZXNwb25zZRJTCgxSZXZva2VBY2Nlc3MSIC5pZGVudGl0eS52MS5SZXZva2VBY2Nlc3NSZXF1ZXN0GiEuaWRlbnRpdHkudjEuUmV2b2tlQWNjZXNzUmVzcG9uc2USZQoSR3JhbnRJbXBlcnNvbmF0aW9uEiYuaWRlbnRpdHkudjEuR3JhbnRJbXBlcnNvbmF0aW9uUmVxdWVzdBonLmlkZW50aXR5LnYxLkdyYW50SW1wZXJzb25hdGlvblJlc3BvbnNlEmgKE1Jldm9rZUltcGVyc29uYXRpb24SJy5pZGVudGl0eS52MS5SZXZva2VJbXBlcnNvbmF0aW9uUmVxdWVzdBooLmlkZW50aXR5LnYxLlJldm9rZUltcGVyc29uYXRpb25SZXNwb25zZRJ0ChdMaXN0SW1wZXJzb25hdGlvbkdyYW50cxIrLmlkZW50aXR5LnYxLkxpc3RJbXBlcnNvbmF0aW9uR3JhbnRzUmVxdWVzdBosLmlkZW50aXR5LnYxLkxpc3RJbXBlcnNvbmF0aW9uR3JhbnRzUmVzcG9uc2USUAoLRW50ZXJUZW5hbnQSHy5pZGVudGl0eS52MS5FbnRlclRlbmFudFJlcXVlc3QaIC5pZGVudGl0eS52MS5FbnRlclRlbmFudFJlc3BvbnNlElkKDkNyZWF0ZUN1c3RvbWVyEiIuaWRlbnRpdHkudjEuQ3JlYXRlQ3VzdG9tZXJSZXF1ZXN0GiMuaWRlbnRpdHkudjEuQ3JlYXRlQ3VzdG9tZXJSZXNwb25zZRJQCgtHZXRDdXN0b21lchIfLmlkZW50aXR5LnYxLkdldEN1c3RvbWVyUmVxdWVzdBogLmlkZW50aXR5LnYxLkdldEN1c3RvbWVyUmVzcG9uc2USWQoOVXBkYXRlQ3VzdG9tZXISIi5pZGVudGl0eS52MS5VcGRhdGVDdXN0b21lclJlcXVlc3QaIy5pZGVudGl0eS52MS5VcGRhdGVDdXN0b21lclJlc3BvbnNlElkKDkRlbGV0ZUN1c3RvbWVyEiIuaWRlbnRpdHkudjEuRGVsZXRlQ3VzdG9tZXJSZXF1ZXN0GiMuaWRlbnRpdHkudjEuRGVsZXRlQ3VzdG9tZXJSZXNwb25zZRJWCg1MaXN0Q3VzdG9tZXJzEiEuaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVyc1JlcXVlc3QaIi5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJzUmVzcG9uc2USXAoPU3VzcGVuZEN1c3RvbWVyEiMuaWRlbnRpdHkudjEuU3VzcGVuZEN1c3RvbWVyUmVxdWVzdBokLmlkZW50aXR5LnYxLlN1c3BlbmRDdXN0b21lclJlc3BvbnNlElkKDk1lcmdlQ3VzdG9tZXJzEiIuaWRlbnRpdHkudjEuTWVyZ2VDdXN0b21lcnNSZXF1ZXN0GiMuaWRlbnRpdHkudjEuTWVyZ2VDdXN0b21lcnNSZXNwb25zZRJoChNTZXRDdXN0b21lclBhc3N3b3JkEicuaWRlbnRpdHkudjEuU2V0Q3VzdG9tZXJQYXNzd29yZFJlcXVlc3QaKC5pZGVudGl0eS52MS5TZXRDdXN0b21lclBhc3N3b3JkUmVzcG9uc2USdwoYQ3JlYXRlQ3VzdG9tZXJJbnZpdGF0aW9uEiwuaWRlbnRpdHkudjEuQ3JlYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBotLmlkZW50aXR5LnYxLkNyZWF0ZUN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEnQKF0xpc3RDdXN0b21lckludml0YXRpb25zEisuaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVySW52aXRhdGlvbnNSZXF1ZXN0GiwuaWRlbnRpdHkudjEuTGlzdEN1c3RvbWVySW52aXRhdGlvbnNSZXNwb25zZRJuChVHZXRDdXN0b21lckludml0YXRpb24SKS5pZGVudGl0eS52MS5HZXRDdXN0b21lckludml0YXRpb25SZXF1ZXN0GiouaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USdwoYUmV2b2tlQ3VzdG9tZXJJbnZpdGF0aW9uEiwuaWRlbnRpdHkudjEuUmV2b2tlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBotLmlkZW50aXR5LnYxLlJldm9rZUN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlEncKGFJlc2VuZEN1c3RvbWVySW52aXRhdGlvbhIsLmlkZW50aXR5LnYxLlJlc2VuZEN1c3RvbWVySW52aXRhdGlvblJlcXVlc3QaLS5pZGVudGl0eS52MS5SZXNlbmRDdXN0b21lckludml0YXRpb25SZXNwb25zZRJ9ChpWYWxpZGF0ZUN1c3RvbWVySW52aXRhdGlvbhIuLmlkZW50aXR5LnYxLlZhbGlkYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBovLmlkZW50aXR5LnYxLlZhbGlkYXRlQ3VzdG9tZXJJbnZpdGF0aW9uUmVzcG9uc2USdwoYQWNjZXB0Q3VzdG9tZXJJbnZpdGF0aW9uEiwuaWRlbnRpdHkudjEuQWNjZXB0Q3VzdG9tZXJJbnZpdGF0aW9uUmVxdWVzdBotLmlkZW50aXR5LnYxLkFjY2VwdEN1c3RvbWVySW52aXRhdGlvblJlc3BvbnNlElMKDENyZWF0ZVRlbmFudBIgLmlkZW50aXR5LnYxLkNyZWF0ZVRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5DcmVhdGVUZW5hbnRSZXNwb25zZRJKCglHZXRUZW5hbnQSHS5pZGVudGl0eS52MS5HZXRUZW5hbnRSZXF1ZXN0Gh4uaWRlbnRpdHkudjEuR2V0VGVuYW50UmVzcG9uc2USUwoMVXBkYXRlVGVuYW50EiAuaWRlbnRpdHkudjEuVXBkYXRlVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLlVwZGF0ZVRlbmFudFJlc3BvbnNlEoYBCh1TZXRUZW5hbnRQcm9qZWN0TGltaXRPdmVycmlkZRIxLmlkZW50aXR5LnYxLlNldFRlbmFudFByb2plY3RMaW1pdE92ZXJyaWRlUmVxdWVzdBoyLmlkZW50aXR5LnYxLlNldFRlbmFudFByb2plY3RMaW1pdE92ZXJyaWRlUmVzcG9uc2USUAoLTGlzdFRlbmFudHMSHy5pZGVudGl0eS52MS5MaXN0VGVuYW50c1JlcXVlc3QaIC5pZGVudGl0eS52MS5MaXN0VGVuYW50c1Jlc3BvbnNlElMKDERlbGV0ZVRlbmFudBIgLmlkZW50aXR5LnYxLkRlbGV0ZVRlbmFudFJlcXVlc3QaIS5pZGVudGl0eS52MS5EZWxldGVUZW5hbnRSZXNwb25zZRJWCg1DcmVhdGVQcm9qZWN0EiEuaWRlbnRpdHkudjEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaIi5pZGVudGl0eS52MS5DcmVhdGVQcm9qZWN0UmVzcG9uc2USTQoKR2V0UHJvamVjdBIeLmlkZW50aXR5LnYxLkdldFByb2plY3RSZXF1ZXN0Gh8uaWRlbnRpdHkudjEuR2V0UHJvamVjdFJlc3BvbnNlElYKDVVwZGF0ZVByb2plY3QSIS5pZGVudGl0eS52MS5VcGRhdGVQcm9qZWN0UmVxdWVzdBoiLmlkZW50aXR5LnYxLlVwZGF0ZVByb2plY3RSZXNwb25zZRJTCgxMaXN0UHJvamVjdHMSIC5pZGVudGl0eS52MS5MaXN0UHJvamVjdHNSZXF1ZXN0GiEuaWRlbnRpdHkudjEuTGlzdFByb2plY3RzUmVzcG9uc2USVgoNRGVsZXRlUHJvamVjdBIhLmlkZW50aXR5LnYxLkRlbGV0ZVByb2plY3RSZXF1ZXN0GiIuaWRlbnRpdHkudjEuRGVsZXRlUHJvamVjdFJlc3BvbnNlEmIKEUdldERlZmF1bHRQcm9qZWN0EiUuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXF1ZXN0GiYuaWRlbnRpdHkudjEuR2V0RGVmYXVsdFByb2plY3RSZXNwb25zZRJiChFTZXREZWZhdWx0UHJvamVjdBIlLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVxdWVzdBomLmlkZW50aXR5LnYxLlNldERlZmF1bHRQcm9qZWN0UmVzcG9uc2USZQoSQ3JlYXRlUHJvamVjdEdyb3VwEiYuaWRlbnRpdHkudjEuQ3JlYXRlUHJvamVjdEdyb3VwUmVxdWVzdBonLmlkZW50aXR5LnYxLkNyZWF0ZVByb2plY3RHcm91cFJlc3BvbnNlElwKD0dldFByb2plY3RHcm91cBIjLmlkZW50aXR5LnYxLkdldFByb2plY3RHcm91cFJlcXVlc3QaJC5pZGVudGl0eS52MS5HZXRQcm9qZWN0R3JvdXBSZXNwb25zZRJiChFMaXN0UHJvamVjdEdyb3VwcxIlLmlkZW50aXR5LnYxLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBomLmlkZW50aXR5LnYxLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2USZQoSVXBkYXRlUHJvamVjdEdyb3VwEiYuaWRlbnRpdHkudjEuVXBkYXRlUHJvamVjdEdyb3VwUmVxdWVzdBonLmlkZW50aXR5LnYxLlVwZGF0ZVByb2plY3RHcm91cFJlc3BvbnNlEmUKEkRlbGV0ZVByb2plY3RHcm91cBImLmlkZW50aXR5LnYxLkRlbGV0ZVByb2plY3RHcm91cFJlcXVlc3QaJy5pZGVudGl0eS52MS5EZWxldGVQcm9qZWN0R3JvdXBSZXNwb25zZRJiChFBZGRQcm9qZWN0VG9Hcm91cBIlLmlkZW50aXR5LnYxLkFkZFByb2plY3RUb0dyb3VwUmVxdWVzdBomLmlkZW50aXR5LnYxLkFkZFByb2plY3RUb0dyb3VwUmVzcG9uc2UScQoWUmVtb3ZlUHJvamVjdEZyb21Hcm91cBIqLmlkZW50aXR5LnYxLlJlbW92ZVByb2plY3RGcm9tR3JvdXBSZXF1ZXN0GisuaWRlbnRpdHkudjEuUmVtb3ZlUHJvamVjdEZyb21Hcm91cFJlc3BvbnNlEmsKFEdldFByb2plY3RHcm91cERyaWZ0EiguaWRlbnRpdHkudjEuR2V0UHJvamVjdEdyb3VwRHJpZnRSZXF1ZXN0GikuaWRlbnRpdHkudjEuR2V0UHJvamVjdEdyb3VwRHJpZnRSZXNwb25zZRJWCg1Qcm9tb3RlU2NoZW1hEiEuaWRlbnRpdHkudjEuUHJvbW90ZVNjaGVtYVJlcXVlc3QaIi5pZGVudGl0eS52MS5Qcm9tb3RlU2NoZW1hUmVzcG9uc2USXwoQR2V0UHJvbW90ZVN0YXR1cxIkLmlkZW50aXR5LnYxLkdldFByb21vdGVTdGF0dXNSZXF1ZXN0GiUuaWRlbnRpdHkudjEuR2V0UHJvbW90ZVN0YXR1c1Jlc3BvbnNlEl8KEFByb3Zpc2lvblByb2plY3QSJC5pZGVudGl0eS52MS5Qcm92aXNpb25Qcm9qZWN0UmVxdWVzdBolLmlkZW50aXR5LnYxLlByb3Zpc2lvblByb2plY3RSZXNwb25zZRJlChJHZXRQcm92aXNpb25TdGF0dXMSJi5pZGVudGl0eS52MS5HZXRQcm92aXNpb25TdGF0dXNSZXF1ZXN0GicuaWRlbnRpdHkudjEuR2V0UHJvdmlzaW9uU3RhdHVzUmVzcG9uc2USXAoPQnJvYWRjYXN0RGVwbG95EiMuaWRlbnRpdHkudjEuQnJvYWRjYXN0RGVwbG95UmVxdWVzdBokLmlkZW50aXR5LnYxLkJyb2FkY2FzdERlcGxveVJlc3BvbnNlEmUKEkdldEJyb2FkY2FzdFN0YXR1cxImLmlkZW50aXR5LnYxLkdldEJyb2FkY2FzdFN0YXR1c1JlcXVlc3QaJy5pZGVudGl0eS52MS5HZXRCcm9hZGNhc3RTdGF0dXNSZXNwb25zZRJuChVHZXRQcm9qZWN0R3JvdXBTdGF0dXMSKS5pZGVudGl0eS52MS5HZXRQcm9qZWN0R3JvdXBTdGF0dXNSZXF1ZXN0GiouaWRlbnRpdHkudjEuR2V0UHJvamVjdEdyb3VwU3RhdHVzUmVzcG9uc2USXwoQQ3JlYXRlSW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkNyZWF0ZUludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQ3JlYXRlSW52aXRhdGlvblJlc3BvbnNlElwKD0xpc3RJbnZpdGF0aW9ucxIjLmlkZW50aXR5LnYxLkxpc3RJbnZpdGF0aW9uc1JlcXVlc3QaJC5pZGVudGl0eS52MS5MaXN0SW52aXRhdGlvbnNSZXNwb25zZRJfChBSZXZva2VJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmV2b2tlSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXZva2VJbnZpdGF0aW9uUmVzcG9uc2USXwoQQWNjZXB0SW52aXRhdGlvbhIkLmlkZW50aXR5LnYxLkFjY2VwdEludml0YXRpb25SZXF1ZXN0GiUuaWRlbnRpdHkudjEuQWNjZXB0SW52aXRhdGlvblJlc3BvbnNlEmUKElZhbGlkYXRlSW52aXRhdGlvbhImLmlkZW50aXR5LnYxLlZhbGlkYXRlSW52aXRhdGlvblJlcXVlc3QaJy5pZGVudGl0eS52MS5WYWxpZGF0ZUludml0YXRpb25SZXNwb25zZRJTCgxDcmVhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5DcmVhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuQ3JlYXRlQXBpS2V5UmVzcG9uc2USSgoJR2V0QXBpS2V5Eh0uaWRlbnRpdHkudjEuR2V0QXBpS2V5UmVxdWVzdBoeLmlkZW50aXR5LnYxLkdldEFwaUtleVJlc3BvbnNlElAKC0xpc3RBcGlLZXlzEh8uaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXF1ZXN0GiAuaWRlbnRpdHkudjEuTGlzdEFwaUtleXNSZXNwb25zZRJTCgxVcGRhdGVBcGlLZXkSIC5pZGVudGl0eS52MS5VcGRhdGVBcGlLZXlSZXF1ZXN0GiEuaWRlbnRpdHkudjEuVXBkYXRlQXBpS2V5UmVzcG9uc2USUwoMUm90YXRlQXBpS2V5EiAuaWRlbnRpdHkudjEuUm90YXRlQXBpS2V5UmVxdWVzdBohLmlkZW50aXR5LnYxLlJvdGF0ZUFwaUtleVJlc3BvbnNlElMKDFJldm9rZUFwaUtleRIgLmlkZW50aXR5LnYxLlJldm9rZUFwaUtleVJlcXVlc3QaIS5pZGVudGl0eS52MS5SZXZva2VBcGlLZXlSZXNwb25zZRJiChFMaXN0QXV0aFByb3ZpZGVycxIlLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVxdWVzdBomLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJzUmVzcG9uc2USXAoPR2V0QXV0aFByb3ZpZGVyEiMuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyUmVxdWVzdBokLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclJlc3BvbnNlEmUKEkNyZWF0ZUF1dGhQcm92aWRlchImLmlkZW50aXR5LnYxLkNyZWF0ZUF1dGhQcm92aWRlclJlcXVlc3QaJy5pZGVudGl0eS52MS5DcmVhdGVBdXRoUHJvdmlkZXJSZXNwb25zZRJlChJVcGRhdGVBdXRoUHJvdmlkZXISJi5pZGVudGl0eS52MS5VcGRhdGVBdXRoUHJvdmlkZXJSZXF1ZXN0GicuaWRlbnRpdHkudjEuVXBkYXRlQXV0aFByb3ZpZGVyUmVzcG9uc2USZQoSRGVsZXRlQXV0aFByb3ZpZGVyEiYuaWRlbnRpdHkudjEuRGVsZXRlQXV0aFByb3ZpZGVyUmVxdWVzdBonLmlkZW50aXR5LnYxLkRlbGV0ZUF1dGhQcm92aWRlclJlc3BvbnNlEmgKE1B1Ymxpc2hBdXRoUHJvdmlkZXISJy5pZGVudGl0eS52MS5QdWJsaXNoQXV0aFByb3ZpZGVyUmVxdWVzdBooLmlkZW50aXR5LnYxLlB1Ymxpc2hBdXRoUHJvdmlkZXJSZXNwb25zZRJuChVVbnB1Ymxpc2hBdXRoUHJvdmlkZXISKS5pZGVudGl0eS52MS5VbnB1Ymxpc2hBdXRoUHJvdmlkZXJSZXF1ZXN0GiouaWRlbnRpdHkudjEuVW5wdWJsaXNoQXV0aFByb3ZpZGVyUmVzcG9uc2USgwEKHEdldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXMSMC5pZGVudGl0eS52MS5HZXRBdXRoUHJvdmlkZXJQdWJsaXNoU3RhdHVzUmVxdWVzdBoxLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclB1Ymxpc2hTdGF0dXNSZXNwb25zZRKAAQobU2NoZWR1bGVBdXRoUHJvdmlkZXJQdWJsaXNoEi8uaWRlbnRpdHkudjEuU2NoZWR1bGVBdXRoUHJvdmlkZXJQdWJsaXNoUmVxdWVzdBowLmlkZW50aXR5LnYxLlNjaGVkdWxlQXV0aFByb3ZpZGVyUHVibGlzaFJlc3BvbnNlEpUBCiJDYW5jZWxTY2hlZHVsZWRBdXRoUHJvdmlkZXJQdWJsaXNoEjYuaWRlbnRpdHkudjEuQ2FuY2VsU2NoZWR1bGVkQXV0aFByb3ZpZGVyUHVibGlzaFJlcXVlc3QaNy5pZGVudGl0eS52MS5DYW5jZWxTY2hlZHVsZWRBdXRoUHJvdmlkZXJQdWJsaXNoUmVzcG9uc2UScQoWR2V0QXV0aFByb3ZpZGVyVmVyc2lvbhIqLmlkZW50aXR5LnYxLkdldEF1dGhQcm92aWRlclZlcnNpb25SZXF1ZXN0GisuaWRlbnRpdHkudjEuR2V0QXV0aFByb3ZpZGVyVmVyc2lvblJlc3BvbnNlEncKGExpc3RBdXRoUHJvdmlkZXJWZXJzaW9ucxIsLmlkZW50aXR5LnYxLkxpc3RBdXRoUHJvdmlkZXJWZXJzaW9uc1JlcXVlc3QaLS5pZGVudGl0eS52MS5MaXN0QXV0aFByb3ZpZGVyVmVyc2lvbnNSZXNwb25zZRJ9ChpSZXN0b3JlQXV0aFByb3ZpZGVyVmVyc2lvbhIuLmlkZW50aXR5LnYxLlJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVxdWVzdBovLmlkZW50aXR5LnYxLlJlc3RvcmVBdXRoUHJvdmlkZXJWZXJzaW9uUmVzcG9uc2USbgoVRW5hYmxlZE9BdXRoUHJvdmlkZXJzEikuaWRlbnRpdHkudjEuRW5hYmxlZE9BdXRoUHJvdmlkZXJzUmVxdWVzdBoqLmlkZW50aXR5LnYxLkVuYWJsZWRPQXV0aFByb3ZpZGVyc1Jlc3BvbnNlEl8KEE1pbnRTZXJ2aWNlVG9rZW4SJC5pZGVudGl0eS52MS5NaW50U2VydmljZVRva2VuUmVxdWVzdBolLmlkZW50aXR5LnYxLk1pbnRTZXJ2aWNlVG9rZW5SZXNwb25zZRJcCg9VcGRhdGVNeVByb2ZpbGUSIy5pZGVudGl0eS52MS5VcGRhdGVNeVByb2ZpbGVSZXF1ZXN0GiQuaWRlbnRpdHkudjEuVXBkYXRlTXlQcm9maWxlUmVzcG9uc2UScQoWTGlzdE15T0F1dGhDb25uZWN0aW9ucxIqLmlkZW50aXR5LnYxLkxpc3RNeU9BdXRoQ29ubmVjdGlvbnNSZXF1ZXN0GisuaWRlbnRpdHkudjEuTGlzdE15T0F1dGhDb25uZWN0aW9uc1Jlc3BvbnNlEmgKE1VubGlua09BdXRoUHJvdmlkZXISJy5pZGVudGl0eS52MS5VbmxpbmtPQXV0aFByb3ZpZGVyUmVxdWVzdBooLmlkZW50aXR5LnYxLlVubGlua09BdXRoUHJvdmlkZXJSZXNwb25zZRJxChZDaGVja0VtYWlsQXZhaWxhYmlsaXR5EiouaWRlbnRpdHkudjEuQ2hlY2tFbWFpbEF2YWlsYWJpbGl0eVJlcXVlc3QaKy5pZGVudGl0eS52MS5DaGVja0VtYWlsQXZhaWxhYmlsaXR5UmVzcG9uc2USawoUQ29tcGxldGVBY2NvdW50U2V0dXASKC5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlcXVlc3QaKS5pZGVudGl0eS52MS5Db21wbGV0ZUFjY291bnRTZXR1cFJlc3BvbnNlEmgKE0NyZWF0ZVNpZ251cFNlc3Npb24SJy5pZGVudGl0eS52MS5DcmVhdGVTaWdudXBTZXNzaW9uUmVxdWVzdBooLmlkZW50aXR5LnYxLkNyZWF0ZVNpZ251cFNlc3Npb25SZXNwb25zZRJfChBSZXNlbmRJbnZpdGF0aW9uEiQuaWRlbnRpdHkudjEuUmVzZW5kSW52aXRhdGlvblJlcXVlc3QaJS5pZGVudGl0eS52MS5SZXNlbmRJbnZpdGF0aW9uUmVzcG9uc2USVgoNR2V0SW52aXRhdGlvbhIhLmlkZW50aXR5LnYxLkdldEludml0YXRpb25SZXF1ZXN0GiIuaWRlbnRpdHkudjEuR2V0SW52aXRhdGlvblJlc3BvbnNlElkKDkFjdGl2YXRlVGVuYW50EiIuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXF1ZXN0GiMuaWRlbnRpdHkudjEuQWN0aXZhdGVUZW5hbnRSZXNwb25zZRJrChRTdXNwZW5kVGVuYW50QWNjb3VudBIoLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVxdWVzdBopLmlkZW50aXR5LnYxLlN1c3BlbmRUZW5hbnRBY2NvdW50UmVzcG9uc2USUwoMQ2FuY2VsVGVuYW50EiAuaWRlbnRpdHkudjEuQ2FuY2VsVGVuYW50UmVxdWVzdBohLmlkZW50aXR5LnYxLkNhbmNlbFRlbmFudFJlc3BvbnNlEl8KEFJlYWN0aXZhdGVUZW5hbnQSJC5pZGVudGl0eS52MS5SZWFjdGl2YXRlVGVuYW50UmVxdWVzdBolLmlkZW50aXR5LnYxLlJlYWN0aXZhdGVUZW5hbnRSZXNwb25zZRJiChFNYXJrVGVuYW50UGFzdER1ZRIlLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVxdWVzdBomLmlkZW50aXR5LnYxLk1hcmtUZW5hbnRQYXN0RHVlUmVzcG9uc2USUAoLQ2h1cm5UZW5hbnQSHy5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlcXVlc3QaIC5pZGVudGl0eS52MS5DaHVyblRlbmFudFJlc3BvbnNlEoABChtHZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXMSLy5pZGVudGl0eS52MS5HZXRDdXN0b21lck1hbmFnZW1lbnRTdGF0dXNSZXF1ZXN0GjAuaWRlbnRpdHkudjEuR2V0Q3VzdG9tZXJNYW5hZ2VtZW50U3RhdHVzUmVzcG9uc2USWQoOVmFsaWRhdGVBcGlLZXkSIi5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlcXVlc3QaIy5pZGVudGl0eS52MS5WYWxpZGF0ZUFwaUtleVJlc3BvbnNlElYKDUN1c3RvbWVyTG9naW4SIS5pZGVudGl0eS52MS5DdXN0b21lckxvZ2luUmVxdWVzdBoiLmlkZW50aXR5LnYxLkN1c3RvbWVyTG9naW5SZXNwb25zZRJfChBDdXN0b21lclJlZ2lzdGVyEiQuaWRlbnRpdHkudjEuQ3VzdG9tZXJSZWdpc3RlclJlcXVlc3QaJS5pZGVudGl0eS52MS5DdXN0b21lclJlZ2lzdGVyUmVzcG9uc2USawoUQ3VzdG9tZXJSZWZyZXNoVG9rZW4SKC5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlcXVlc3QaKS5pZGVudGl0eS52MS5DdXN0b21lclJlZnJlc2hUb2tlblJlc3BvbnNlEmUKEkN1c3RvbWVyUmVxdWVzdE9UUBImLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdE9UUFJlcXVlc3QaJy5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RPVFBSZXNwb25zZRJiChFDdXN0b21lclZlcmlmeU9UUBIlLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVxdWVzdBomLmlkZW50aXR5LnYxLkN1c3RvbWVyVmVyaWZ5T1RQUmVzcG9uc2USgwEKHEN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXQSMC5pZGVudGl0eS52MS5DdXN0b21lclJlcXVlc3RQYXNzd29yZFJlc2V0UmVxdWVzdBoxLmlkZW50aXR5LnYxLkN1c3RvbWVyUmVxdWVzdFBhc3N3b3JkUmVzZXRSZXNwb25zZRJuChVDdXN0b21lclJlc2V0UGFzc3dvcmQSKS5pZGVudGl0eS52MS5DdXN0b21lclJlc2V0UGFzc3dvcmRSZXF1ZXN0GiouaWRlbnRpdHkudjEuQ3VzdG9tZXJSZXNldFBhc3N3b3JkUmVzcG9uc2USXAoPRGVsZXRlTXlBY2NvdW50EiMuaWRlbnRpdHkudjEuRGVsZXRlTXlBY2NvdW50UmVxdWVzdBokLmlkZW50aXR5LnYxLkRlbGV0ZU15QWNjb3VudFJlc3BvbnNlEmUKElN0b3JlUHJvdmlkZXJUb2tlbhImLmlkZW50aXR5LnYxLlN0b3JlUHJvdmlkZXJUb2tlblJlcXVlc3QaJy5pZGVudGl0eS52MS5TdG9yZVByb3ZpZGVyVG9rZW5SZXNwb25zZRJfChBHZXRQcm92aWRlclRva2VuEiQuaWRlbnRpdHkudjEuR2V0UHJvdmlkZXJUb2tlblJlcXVlc3QaJS5pZGVudGl0eS52MS5HZXRQcm92aWRlclRva2VuUmVzcG9uc2USawoURGVsZXRlUHJvdmlkZXJUb2tlbnMSKC5pZGVudGl0eS52MS5EZWxldGVQcm92aWRlclRva2Vuc1JlcXVlc3QaKS5pZGVudGl0eS52MS5EZWxldGVQcm92aWRlclRva2Vuc1Jlc3BvbnNlEmUKElN0YXJ0UHJvdmlkZXJMb2dpbhImLmlkZW50aXR5LnYxLlN0YXJ0UHJvdmlkZXJMb2dpblJlcXVlc3QaJy5pZGVudGl0eS52MS5TdGFydFByb3ZpZGVyTG9naW5SZXNwb25zZRJoChNGaW5pc2hQcm92aWRlckxvZ2luEicuaWRlbnRpdHkudjEuRmluaXNoUHJvdmlkZXJMb2dpblJlcXVlc3QaKC5pZGVudGl0eS52MS5GaW5pc2hQcm92aWRlckxvZ2luUmVzcG9uc2USfQoaU3RhcnRDdXN0b21lckxvZ2luV2l0aEZvaXISLi5pZGVudGl0eS52MS5TdGFydEN1c3RvbWVyTG9naW5XaXRoRm9pclJlcXVlc3QaLy5pZGVudGl0eS52MS5TdGFydEN1c3RvbWVyTG9naW5XaXRoRm9pclJlc3BvbnNlEoYBCh1Db21wbGV0ZUN1c3RvbWVyTG9naW5XaXRoRm9pchIxLmlkZW50aXR5LnYxLkNvbXBsZXRlQ3VzdG9tZXJMb2dpbldpdGhGb2lyUmVxdWVzdBoyLmlkZW50aXR5LnYxLkNvbXBsZXRlQ3VzdG9tZXJMb2dpbldpdGhGb2lyUmVzcG9uc2USdAoXU3RhcnRBZG1pbkxvZ2luV2l0aEZvaXISKy5pZGVudGl0eS52MS5TdGFydEFkbWluTG9naW5XaXRoRm9pclJlcXVlc3QaLC5pZGVudGl0eS52MS5TdGFydEFkbWluTG9naW5XaXRoRm9pclJlc3BvbnNlEn0KGkNvbXBsZXRlQWRtaW5Mb2dpbldpdGhGb2lyEi4uaWRlbnRpdHkudjEuQ29tcGxldGVBZG1pbkxvZ2luV2l0aEZvaXJSZXF1ZXN0Gi8uaWRlbnRpdHkudjEuQ29tcGxldGVBZG1pbkxvZ2luV2l0aEZvaXJSZXNwb25zZRJQCgtCZWdpblN0ZXBVcBIfLmlkZW50aXR5LnYxLkJlZ2luU3RlcFVwUmVxdWVzdBogLmlkZW50aXR5LnYxLkJlZ2luU3RlcFVwUmVzcG9uc2USWQoOQ29tcGxldGVTdGVwVXASIi5pZGVudGl0eS52MS5Db21wbGV0ZVN0ZXBVcFJlcXVlc3QaIy5pZGVudGl0eS52MS5Db21wbGV0ZVN0ZXBVcFJlc3BvbnNlEmUKEkJlZ2luTWZhRW5yb2xsbWVudBImLmlkZW50aXR5LnYxLkJlZ2luTWZhRW5yb2xsbWVudFJlcXVlc3QaJy5pZGVudGl0eS52MS5CZWdpbk1mYUVucm9sbG1lbnRSZXNwb25zZRJuChVDb21wbGV0ZU1mYUVucm9sbG1lbnQSKS5pZGVudGl0eS52MS5Db21wbGV0ZU1mYUVucm9sbG1lbnRSZXF1ZXN0GiouaWRlbnRpdHkudjEuQ29tcGxldGVNZmFFbnJvbGxtZW50UmVzcG9uc2USZQoSTGlzdFJlbHlpbmdQYXJ0aWVzEiYuaWRlbnRpdHkudjEuTGlzdFJlbHlpbmdQYXJ0aWVzUmVxdWVzdBonLmlkZW50aXR5LnYxLkxpc3RSZWx5aW5nUGFydGllc1Jlc3BvbnNlElwKD0dldFJlbHlpbmdQYXJ0eRIjLmlkZW50aXR5LnYxLkdldFJlbHlpbmdQYXJ0eVJlcXVlc3QaJC5pZGVudGl0eS52MS5HZXRSZWx5aW5nUGFydHlSZXNwb25zZRJlChJDcmVhdGVSZWx5aW5nUGFydHkSJi5pZGVudGl0eS52MS5DcmVhdGVSZWx5aW5nUGFydHlSZXF1ZXN0GicuaWRlbnRpdHkudjEuQ3JlYXRlUmVseWluZ1BhcnR5UmVzcG9uc2USZQoSVXBkYXRlUmVseWluZ1BhcnR5EiYuaWRlbnRpdHkudjEuVXBkYXRlUmVseWluZ1BhcnR5UmVxdWVzdBonLmlkZW50aXR5LnYxLlVwZGF0ZVJlbHlpbmdQYXJ0eVJlc3BvbnNlEmgKE0Rpc2FibGVSZWx5aW5nUGFydHkSJy5pZGVudGl0eS52MS5EaXNhYmxlUmVseWluZ1BhcnR5UmVxdWVzdBooLmlkZW50aXR5LnYxLkRpc2FibGVSZWx5aW5nUGFydHlSZXNwb25zZRJrChRSZWdpc3RlckN1c3RvbURvbWFpbhIoLmlkZW50aXR5LnYxLlJlZ2lzdGVyQ3VzdG9tRG9tYWluUmVxdWVzdBopLmlkZW50aXR5LnYxLlJlZ2lzdGVyQ3VzdG9tRG9tYWluUmVzcG9uc2USZQoSVmVyaWZ5Q3VzdG9tRG9tYWluEiYuaWRlbnRpdHkudjEuVmVyaWZ5Q3VzdG9tRG9tYWluUmVxdWVzdBonLmlkZW50aXR5LnYxLlZlcmlmeUN1c3RvbURvbWFpblJlc3BvbnNlEmUKEkRlbGV0ZUN1c3RvbURvbWFpbhImLmlkZW50aXR5LnYxLkRlbGV0ZUN1c3RvbURvbWFpblJlcXVlc3QaJy5pZGVudGl0eS52MS5EZWxldGVDdXN0b21Eb21haW5SZXNwb25zZRJiChFMaXN0Q3VzdG9tRG9tYWlucxIlLmlkZW50aXR5LnYxLkxpc3RDdXN0b21Eb21haW5zUmVxdWVzdBomLmlkZW50aXR5LnYxLkxpc3RDdXN0b21Eb21haW5zUmVzcG9uc2USawoUTGlzdEN1c3RvbWVyU2Vzc2lvbnMSKC5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJTZXNzaW9uc1JlcXVlc3QaKS5pZGVudGl0eS52MS5MaXN0Q3VzdG9tZXJTZXNzaW9uc1Jlc3BvbnNlEm4KFVJldm9rZUN1c3RvbWVyU2Vzc2lvbhIpLmlkZW50aXR5LnYxLlJldm9rZUN1c3RvbWVyU2Vzc2lvblJlcXVlc3QaKi5pZGVudGl0eS52MS5SZXZva2VDdXN0b21lclNlc3Npb25SZXNwb25zZRJxChZMaXN0UmVseWluZ1BhcnR5R3JhbnRzEiouaWRlbnRpdHkudjEuTGlzdFJlbHlpbmdQYXJ0eUdyYW50c1JlcXVlc3QaKy5pZGVudGl0eS52MS5MaXN0UmVseWluZ1BhcnR5R3JhbnRzUmVzcG9uc2USYgoRR3JhbnRSZWx5aW5nUGFydHkSJS5pZGVudGl0eS52MS5HcmFudFJlbHlpbmdQYXJ0eVJlcXVlc3QaJi5pZGVudGl0eS52MS5HcmFudFJlbHlpbmdQYXJ0eVJlc3BvbnNlEnQKF1Jldm9rZVJlbHlpbmdQYXJ0eUdyYW50EisuaWRlbnRpdHkudjEuUmV2b2tlUmVseWluZ1BhcnR5R3JhbnRSZXF1ZXN0GiwuaWRlbnRpdHkudjEuUmV2b2tlUmVseWluZ1BhcnR5R3JhbnRSZXNwb25zZRJKCglMaXN0Um9sZXMSHS5pZGVudGl0eS52MS5MaXN0Um9sZXNSZXF1ZXN0Gh4uaWRlbnRpdHkudjEuTGlzdFJvbGVzUmVzcG9uc2USRAoHR2V0Um9sZRIbLmlkZW50aXR5LnYxLkdldFJvbGVSZXF1ZXN0GhwuaWRlbnRpdHkudjEuR2V0Um9sZVJlc3BvbnNlEk0KCkNyZWF0ZVJvbGUSHi5pZGVudGl0eS52MS5DcmVhdGVSb2xlUmVxdWVzdBofLmlkZW50aXR5LnYxLkNyZWF0ZVJvbGVSZXNwb25zZRJNCgpVcGRhdGVSb2xlEh4uaWRlbnRpdHkudjEuVXBkYXRlUm9sZVJlcXVlc3QaHy5pZGVudGl0eS52MS5VcGRhdGVSb2xlUmVzcG9uc2USUAoLRGlzYWJsZVJvbGUSHy5pZGVudGl0eS52MS5EaXNhYmxlUm9sZVJlcXVlc3QaIC5pZGVudGl0eS52MS5EaXNhYmxlUm9sZVJlc3BvbnNlEk0KCkFzc2lnblJvbGUSHi5pZGVudGl0eS52MS5Bc3NpZ25Sb2xlUmVxdWVzdBofLmlkZW50aXR5LnYxLkFzc2lnblJvbGVSZXNwb25zZRJrChRSZXZva2VSb2xlQXNzaWdubWVudBIoLmlkZW50aXR5LnYxLlJldm9rZVJvbGVBc3NpZ25tZW50UmVxdWVzdBopLmlkZW50aXR5LnYxLlJldm9rZVJvbGVBc3NpZ25tZW50UmVzcG9uc2USaAoTTGlzdFJvbGVBc3NpZ25tZW50cxInLmlkZW50aXR5LnYxLkxpc3RSb2xlQXNzaWdubWVudHNSZXF1ZXN0GiguaWRlbnRpdHkudjEuTGlzdFJvbGVBc3NpZ25tZW50c1Jlc3BvbnNlEmUKEkdldFNlY3VyaXR5U3VtbWFyeRImLmlkZW50aXR5LnYxLkdldFNlY3VyaXR5U3VtbWFyeVJlcXVlc3QaJy5pZGVudGl0eS52MS5HZXRTZWN1cml0eVN1bW1hcnlSZXNwb25zZRJoChNHZXRTdXNwaWNpb3VzTG9naW5zEicuaWRlbnRpdHkudjEuR2V0U3VzcGljaW91c0xvZ2luc1JlcXVlc3QaKC5pZGVudGl0eS52MS5HZXRTdXNwaWNpb3VzTG9naW5zUmVzcG9uc2USXAoPR2V0RmFpbGVkTG9naW5zEiMuaWRlbnRpdHkudjEuR2V0RmFpbGVkTG9naW5zUmVxdWVzdBokLmlkZW50aXR5LnYxLkdldEZhaWxlZExvZ2luc1Jlc3BvbnNlEmUKEkdldEFjY291bnRMb2Nrb3V0cxImLmlkZW50aXR5LnYxLkdldEFjY291bnRMb2Nrb3V0c1JlcXVlc3QaJy5pZGVudGl0eS52MS5HZXRBY2NvdW50TG9ja291dHNSZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vaWRlbnRpdHkvdjE7aWRlbnRpdHl2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp2, file_publish_v1_publish, file_common_v1_pagination]);
672
672
  var CustomerSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 2);
673
673
  var TenantSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 3);
674
- var ApiKeySchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 7);
675
- var LoginRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 9);
676
- var LoginWithOTPRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 11);
677
- var RequestOTPRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 13);
678
- var LogoutRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 15);
679
- var RegisterRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 17);
680
- var VerifyEmailRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 19);
681
- var ResendVerificationEmailRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 21);
682
- var SendEmailVerificationCodeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 23);
683
- var VerifyEmailCodeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 25);
684
- var RequestPasswordResetRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 27);
685
- var ResetPasswordRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 29);
686
- var UpdatePasswordRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 31);
687
- var RefreshTokenRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 33);
688
- var GetSessionContextRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 35);
689
- var SwitchTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 37);
690
- var SwitchProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 39);
691
- var ClearSessionContextRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 41);
692
- var GetMeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 43);
693
- var CreateAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 45);
694
- var GetAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 47);
695
- var UpdateAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 49);
696
- var ListAdminUsersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 51);
697
- var GrantAccessRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 53);
698
- var RevokeAccessRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 55);
699
- var EnterTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 64);
700
- var CreateCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 66);
701
- var GetCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 68);
702
- var UpdateCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 70);
703
- var DeleteCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 72);
704
- var ListCustomersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 74);
705
- var SuspendCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 76);
706
- var MergeCustomersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 78);
707
- var CreateCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 83);
708
- var ListCustomerInvitationsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 85);
709
- var GetCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 87);
710
- var RevokeCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 89);
711
- var ResendCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 91);
712
- var ValidateCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 93);
713
- var AcceptCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 95);
714
- var CreateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 97);
715
- var GetTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 99);
716
- var UpdateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 101);
717
- var ListTenantsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 103);
718
- var DeleteTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 105);
719
- var CreateProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 107);
720
- var GetProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 109);
721
- var UpdateProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 111);
722
- var ListProjectsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 113);
723
- var DeleteProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 115);
724
- var GetDefaultProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 117);
725
- var SetDefaultProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 119);
726
- var CreateInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 121);
727
- var ListInvitationsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 123);
728
- var RevokeInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 125);
729
- var AcceptInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 127);
730
- var ValidateInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 129);
731
- var CreateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 131);
732
- var GetApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 133);
733
- var ListApiKeysRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 135);
734
- var UpdateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 137);
735
- var RotateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 139);
736
- var RevokeApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 141);
737
- var AuthProviderSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 143);
738
- var ListAuthProvidersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 144);
739
- var GetAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 146);
740
- var CreateAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 148);
741
- var UpdateAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 150);
742
- var DeleteAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 152);
743
- var PublishAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 154);
744
- var UnpublishAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 156);
745
- var GetAuthProviderPublishStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 158);
746
- var GetAuthProviderVersionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 161);
747
- var ListAuthProviderVersionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 163);
748
- var RestoreAuthProviderVersionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 165);
749
- var ScheduleAuthProviderPublishRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 167);
750
- var CancelScheduledAuthProviderPublishRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 169);
751
- var EnabledOAuthProvidersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 171);
752
- var MintServiceTokenRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 173);
753
- var UpdateMyProfileRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 175);
754
- var ListMyOAuthConnectionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 177);
755
- var UnlinkOAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 180);
756
- var CheckEmailAvailabilityRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 182);
757
- var CompleteAccountSetupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 184);
758
- var CreateSignupSessionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 186);
759
- var ResendInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 188);
760
- var ActivateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 192);
761
- var GetCustomerManagementStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 204);
762
- var ListRelyingPartiesRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 243);
763
- var GetRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 245);
764
- var CreateRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 247);
765
- var UpdateRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 249);
766
- var DisableRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 251);
767
- var RegisterCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 254);
768
- var VerifyCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 256);
769
- var DeleteCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 258);
770
- var ListCustomDomainsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 260);
771
- var ListCustomerSessionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 263);
772
- var RevokeCustomerSessionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 265);
773
- var ListRelyingPartyGrantsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 268);
774
- var GrantRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 270);
775
- var RevokeRelyingPartyGrantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 272);
776
- var RoleSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 274);
777
- var ListRolesRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 275);
778
- var GetRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 277);
779
- var CreateRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 279);
780
- var UpdateRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 281);
781
- var DisableRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 283);
782
- var RoleAssignmentSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 285);
783
- var AssignRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 286);
784
- var RevokeRoleAssignmentRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 288);
785
- var ListRoleAssignmentsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 290);
786
- var RolePrincipalKindSchema = /* @__PURE__ */ enumDesc2(file_identity_v1_identity, 9);
674
+ var ApiKeySchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 9);
675
+ var LoginRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 11);
676
+ var LoginWithOTPRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 13);
677
+ var RequestOTPRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 15);
678
+ var LogoutRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 17);
679
+ var RegisterRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 19);
680
+ var VerifyEmailRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 21);
681
+ var ResendVerificationEmailRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 23);
682
+ var SendEmailVerificationCodeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 25);
683
+ var VerifyEmailCodeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 27);
684
+ var RequestPasswordResetRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 29);
685
+ var ResetPasswordRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 31);
686
+ var UpdatePasswordRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 33);
687
+ var RefreshTokenRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 35);
688
+ var GetSessionContextRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 37);
689
+ var SwitchTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 39);
690
+ var SwitchProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 41);
691
+ var ClearSessionContextRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 43);
692
+ var GetMeRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 45);
693
+ var CreateAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 47);
694
+ var GetAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 49);
695
+ var UpdateAdminUserRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 51);
696
+ var ListAdminUsersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 53);
697
+ var GrantAccessRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 55);
698
+ var RevokeAccessRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 57);
699
+ var EnterTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 66);
700
+ var CreateCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 68);
701
+ var GetCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 70);
702
+ var UpdateCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 72);
703
+ var DeleteCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 74);
704
+ var ListCustomersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 76);
705
+ var SuspendCustomerRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 78);
706
+ var MergeCustomersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 80);
707
+ var CreateCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 85);
708
+ var ListCustomerInvitationsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 87);
709
+ var GetCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 89);
710
+ var RevokeCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 91);
711
+ var ResendCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 93);
712
+ var ValidateCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 95);
713
+ var AcceptCustomerInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 97);
714
+ var CreateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 99);
715
+ var GetTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 101);
716
+ var UpdateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 103);
717
+ var SetTenantProjectLimitOverrideRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 105);
718
+ var ListTenantsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 107);
719
+ var DeleteTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 109);
720
+ var CreateProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 111);
721
+ var GetProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 113);
722
+ var UpdateProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 115);
723
+ var ListProjectsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 117);
724
+ var DeleteProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 119);
725
+ var GetDefaultProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 121);
726
+ var SetDefaultProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 123);
727
+ var CreateProjectGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 125);
728
+ var GetProjectGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 127);
729
+ var ListProjectGroupsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 129);
730
+ var UpdateProjectGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 131);
731
+ var DeleteProjectGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 133);
732
+ var AddProjectToGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 135);
733
+ var RemoveProjectFromGroupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 137);
734
+ var PromoteSchemaRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 139);
735
+ var GetPromoteStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 141);
736
+ var ProvisionProjectRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 146);
737
+ var GetProvisionStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 148);
738
+ var BroadcastDeployRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 150);
739
+ var GetBroadcastStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 152);
740
+ var GetProjectGroupStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 155);
741
+ var GetProjectGroupDriftRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 158);
742
+ var CreateInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 161);
743
+ var ListInvitationsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 163);
744
+ var RevokeInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 165);
745
+ var AcceptInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 167);
746
+ var ValidateInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 169);
747
+ var CreateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 171);
748
+ var GetApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 173);
749
+ var ListApiKeysRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 175);
750
+ var UpdateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 177);
751
+ var RotateApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 179);
752
+ var RevokeApiKeyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 181);
753
+ var AuthProviderSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 183);
754
+ var ListAuthProvidersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 184);
755
+ var GetAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 186);
756
+ var CreateAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 188);
757
+ var UpdateAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 190);
758
+ var DeleteAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 192);
759
+ var PublishAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 194);
760
+ var UnpublishAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 196);
761
+ var GetAuthProviderPublishStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 198);
762
+ var GetAuthProviderVersionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 201);
763
+ var ListAuthProviderVersionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 203);
764
+ var RestoreAuthProviderVersionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 205);
765
+ var ScheduleAuthProviderPublishRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 207);
766
+ var CancelScheduledAuthProviderPublishRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 209);
767
+ var EnabledOAuthProvidersRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 211);
768
+ var MintServiceTokenRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 213);
769
+ var UpdateMyProfileRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 215);
770
+ var ListMyOAuthConnectionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 217);
771
+ var UnlinkOAuthProviderRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 220);
772
+ var CheckEmailAvailabilityRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 222);
773
+ var CompleteAccountSetupRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 224);
774
+ var CreateSignupSessionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 226);
775
+ var ResendInvitationRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 228);
776
+ var ActivateTenantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 232);
777
+ var GetCustomerManagementStatusRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 244);
778
+ var BeginStepUpRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 279);
779
+ var CompleteStepUpRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 281);
780
+ var BeginMfaEnrollmentRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 283);
781
+ var CompleteMfaEnrollmentRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 285);
782
+ var ListRelyingPartiesRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 293);
783
+ var GetRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 295);
784
+ var CreateRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 297);
785
+ var UpdateRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 299);
786
+ var DisableRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 301);
787
+ var RegisterCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 304);
788
+ var VerifyCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 306);
789
+ var DeleteCustomDomainRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 308);
790
+ var ListCustomDomainsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 310);
791
+ var ListCustomerSessionsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 313);
792
+ var RevokeCustomerSessionRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 315);
793
+ var ListRelyingPartyGrantsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 318);
794
+ var GrantRelyingPartyRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 320);
795
+ var RevokeRelyingPartyGrantRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 322);
796
+ var RoleSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 324);
797
+ var ListRolesRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 325);
798
+ var GetRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 327);
799
+ var CreateRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 329);
800
+ var UpdateRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 331);
801
+ var DisableRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 333);
802
+ var RoleAssignmentSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 335);
803
+ var AssignRoleRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 336);
804
+ var RevokeRoleAssignmentRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 338);
805
+ var ListRoleAssignmentsRequestSchema = /* @__PURE__ */ messageDesc3(file_identity_v1_identity, 340);
806
+ var RolePrincipalKindSchema = /* @__PURE__ */ enumDesc2(file_identity_v1_identity, 11);
787
807
  var RolePrincipalKind = /* @__PURE__ */ tsEnum2(RolePrincipalKindSchema);
788
808
  var IdentityService = /* @__PURE__ */ serviceDesc(file_identity_v1_identity, 0);
789
809
 
@@ -796,7 +816,7 @@ import { fileDesc as fileDesc4, messageDesc as messageDesc4 } from "@bufbuild/pr
796
816
  var file_common_v1_access = /* @__PURE__ */ fileDesc4("ChZjb21tb24vdjEvYWNjZXNzLnByb3RvEgljb21tb24udjEiKgoLRmllbGRBY2Nlc3MSDAoEcmVhZBgBIAMoCRINCgV3cml0ZRgCIAMoCUI5WjdnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vY29tbW9uL3YxO2NvbW1vbnYxYgZwcm90bzM");
797
817
 
798
818
  // ../../packages/proto-ts/src/models/v1/models_pb.js
799
- var file_models_v1_models = /* @__PURE__ */ fileDesc5("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEiYQoSUmVsYXRpb25zaGlwQ29uZmlnEikKBGtpbmQYASABKA4yGy5tb2RlbHMudjEuUmVsYXRpb25zaGlwS2luZBIUCgdpbnZlcnNlGAIgASgJSACIAQFCCgoIX2ludmVyc2Ui0gUKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQESFgoJcXVlcnlhYmxlGBAgASgISAmIAQESJgoGYWNjZXNzGBEgASgLMhYuY29tbW9uLnYxLkZpZWxkQWNjZXNzEjgKDHJlbGF0aW9uc2hpcBgSIAEoCzIdLm1vZGVscy52MS5SZWxhdGlvbnNoaXBDb25maWdICogBAUIMCgpfaGVscF90ZXh0Qg4KDF9wbGFjZWhvbGRlckIQCg5fZGVmYXVsdF92YWx1ZUIMCgpfaXRlbV90eXBlQgoKCF9zdG9yYWdlQhAKDl90ZW1wbGF0ZV96b25lQg0KC196b25lX29yZGVyQhMKEV9yZWZlcmVuY2VfZmlsdGVyQg0KC192YWxpZGF0aW9uQgwKCl9xdWVyeWFibGVCDwoNX3JlbGF0aW9uc2hpcCJyCgxBY2Nlc3NDb25maWcSKgoLb3duZXJfcGxhbmUYASABKA4yFS5tb2RlbHMudjEuT3duZXJQbGFuZRIfChJkZWZhdWx0X3Zpc2liaWxpdHkYAiABKAlIAIgBAUIVChNfZGVmYXVsdF92aXNpYmlsaXR5IoUGCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhgKC3BsdXJhbF9uYW1lGAcgASgJSACIAQESGAoLZGVzY3JpcHRpb24YCCABKAlIAYgBARIVCghjYXRlZ29yeRgJIAEoCUgCiAEBEhEKBGljb24YCiABKAlIA4gBARIaCg1kaXNwbGF5X2ZpZWxkGAsgASgJSASIAQESFQoNc3lzdGVtX2VudGl0eRgNIAEoCBIWCglkZWxldGFibGUYDiABKAhIBYgBARIVCghlZGl0YWJsZRgPIAEoCEgGiAEBEjUKD21ldGFkYXRhX3NjaGVtYRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIrCgVob29rcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICIgBARIXCgpwbHVyYWxfa2V5GBIgASgJSAmIAQESLAoHbG9va3VwcxgTIAMoCzIbLm1vZGVscy52MS5Mb29rdXBEZWZpbml0aW9uEjkKDWNhY2hlX2NvbnRyb2wYFCABKAsyHS5tb2RlbHMudjEuQ2FjaGVDb250cm9sQ29uZmlnSAqIAQESLAoGYWNjZXNzGBUgASgLMhcubW9kZWxzLnYxLkFjY2Vzc0NvbmZpZ0gLiAEBEhEKCXNpbmdsZXRvbhgWIAEoCBIYChBjdXN0b21lcl9jb250ZXh0GBcgASgIQg4KDF9wbHVyYWxfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2NhdGVnb3J5QgcKBV9pY29uQhAKDl9kaXNwbGF5X2ZpZWxkQgwKCl9kZWxldGFibGVCCwoJX2VkaXRhYmxlQhIKEF9tZXRhZGF0YV9zY2hlbWFCCAoGX2hvb2tzQg0KC19wbHVyYWxfa2V5QhAKDl9jYWNoZV9jb250cm9sQgkKB19hY2Nlc3MiUgoSQ2FjaGVDb250cm9sQ29uZmlnEg8KB21heF9hZ2UYASABKAUSKwoFc2NvcGUYAiABKA4yHC5tb2RlbHMudjEuQ2FjaGVDb250cm9sU2NvcGUiPgoQTG9va3VwRGVmaW5pdGlvbhIOCgZrZXlfYnkYASADKAkSEQoEbmFtZRgCIAEoCUgAiAEBQgcKBV9uYW1lIoMBChFNb2RlbENhcGFiaWxpdGllcxIUCgxpc192ZXJzaW9uZWQYASABKAgSFgoOaXNfcHVibGlzaGFibGUYAiABKAgSFAoMaGFzX3ZhcmlhbnRzGAMgASgIEioKC293bmVyX3BsYW5lGAYgASgOMhUubW9kZWxzLnYxLk93bmVyUGxhbmUijwcKBU1vZGVsEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEiAKBmZpZWxkcxgEIAMoCzIQLm1vZGVscy52MS5GaWVsZBImCgZjb25maWcYBSABKAsyFi5tb2RlbHMudjEuTW9kZWxDb25maWcSFgoJY29uZmlnX2lkGAYgASgJSACIAQESMgoMY2FwYWJpbGl0aWVzGAcgASgLMhwubW9kZWxzLnYxLk1vZGVsQ2FwYWJpbGl0aWVzEh8KEmN1cnJlbnRfdmVyc2lvbl9pZBgIIAEoCUgBiAEBEiUKGHB1Ymxpc2hlZF92ZXJzaW9uX251bWJlchgJIAEoBUgCiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIA4gBARIXCgp1cGRhdGVkX2J5GBUgASgJSASIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoSbGFzdF9wdXNoZWRfZmllbGRzGCggAygLMhAubW9kZWxzLnYxLkZpZWxkEjcKDmxhc3RfcHVzaGVkX2F0GCkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEiEKFHB1Ymxpc2hlZF92ZXJzaW9uX2lkGCogASgJSAaIAQESPQoUc2NoZWR1bGVkX3B1Ymxpc2hfYXQYKyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESPwoWc2NoZWR1bGVkX3VucHVibGlzaF9hdBgsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBICIgBAUIMCgpfY29uZmlnX2lkQhUKE19jdXJyZW50X3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fbGFzdF9wdXNoZWRfYXRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCLCAgoMTW9kZWxWZXJzaW9uEgoKAmlkGAEgASgJEhAKCG1vZGVsX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEiAKBmZpZWxkcxgEIAMoCzIQLm1vZGVscy52MS5GaWVsZBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnkizQEKEkNyZWF0ZU1vZGVsUmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIgCgZmaWVsZHMYAyADKAsyEC5tb2RlbHMudjEuRmllbGQSKwoGY29uZmlnGAQgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnSACIAQESFgoJY29uZmlnX2lkGAUgASgJSAGIAQESHAoUdXBkYXRlX3B1c2hfc25hcHNob3QYBiABKAhCCQoHX2NvbmZpZ0IMCgpfY29uZmlnX2lkIjYKE0NyZWF0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiHQoPR2V0TW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJIjMKEEdldE1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiIwoUR2V0TW9kZWxCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIjgKFUdldE1vZGVsQnlLZXlSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCLCAQoRTGlzdE1vZGVsc1JlcXVlc3QSEgoFYWZ0ZXIYBiABKAlIAIgBARITCgZiZWZvcmUYByABKAlIAYgBARISCgVmaXJzdBgIIAEoBUgCiAEBEhEKBGxhc3QYCSABKAVIA4gBARIrCgV3aGVyZRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3RCCAoGX3doZXJlIpEBChJMaXN0TW9kZWxzUmVzcG9uc2USIAoGbW9kZWxzGAEgAygLMhAubW9kZWxzLnYxLk1vZGVsEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyLyAgoSVXBkYXRlTW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIgCgZmaWVsZHMYAyADKAsyEC5tb2RlbHMudjEuRmllbGQSKwoGY29uZmlnGAQgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnSAGIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAUgASgJSAKIAQESFQoNdXBkYXRlX2ZpZWxkcxgGIAEoCBIcChR1cGRhdGVfcHVzaF9zbmFwc2hvdBgHIAEoCBIVCg1zbmFwc2hvdF9vbmx5GAggASgIEhwKFGFsbG93X2xvb2t1cF9yZWJ1aWxkGAkgASgIEiAKE2V4cGVjdGVkX3ZlcnNpb25faWQYCiABKAlIA4gBAUIHCgVfbmFtZUIJCgdfY29uZmlnQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CFgoUX2V4cGVjdGVkX3ZlcnNpb25faWQiNgoTVXBkYXRlTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIgChJEZWxldGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiJgoTRGVsZXRlTW9kZWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKFUR1cGxpY2F0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgduZXdfa2V5GAIgASgJEhAKCG5ld19uYW1lGAMgASgJIjkKFkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwipAEKGExpc3RNb2RlbFZlcnNpb25zUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKhAQoZTGlzdE1vZGVsVmVyc2lvbnNSZXNwb25zZRIpCgh2ZXJzaW9ucxgBIAMoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIj4KFkdldE1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSJDChdHZXRNb2RlbFZlcnNpb25SZXNwb25zZRIoCgd2ZXJzaW9uGAEgASgLMhcubW9kZWxzLnYxLk1vZGVsVmVyc2lvbiJCChpSZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgp2ZXJzaW9uX2lkGAIgASgJIj4KG1Jlc3RvcmVNb2RlbFZlcnNpb25SZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCJjChREZXByZWNhdGVkRmllbGRUb3VjaBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIRCgltb2RlbF9rZXkYAyABKAkSEQoJZmllbGRfa2V5GAQgASgJIlYKIk1hcmtEZXByZWNhdGVkRmllbGRzUXVlcmllZFJlcXVlc3QSMAoHdG91Y2hlcxgBIAMoCzIfLm1vZGVscy52MS5EZXByZWNhdGVkRmllbGRUb3VjaCI2CiNNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXNwb25zZRIPCgd1cGRhdGVkGAEgASgFIvcBChhEZXByZWNhdGVkRmllbGRDYW5kaWRhdGUSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIbW9kZWxfaWQYAyABKAkSEQoJbW9kZWxfa2V5GAQgASgJEhEKCWZpZWxkX2tleRgFIAEoCRIuCgpkZWxldGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9sYXN0X3F1ZXJpZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCEgoQX2xhc3RfcXVlcmllZF9hdCK8AQokTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXF1ZXN0EhwKFGdyYWNlX3BlcmlvZF9zZWNvbmRzGAEgASgDEhIKBWZpcnN0GAIgASgFSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARIRCgRsYXN0GAQgASgFSAKIAQESEwoGYmVmb3JlGAUgASgJSAOIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIrsBCiVMaXN0RGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlc1Jlc3BvbnNlEjcKCmNhbmRpZGF0ZXMYASADKAsyIy5tb2RlbHMudjEuRGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJBChpEcm9wRGVwcmVjYXRlZEZpZWxkUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRIRCglmaWVsZF9rZXkYAiABKAkiLgobRHJvcERlcHJlY2F0ZWRGaWVsZFJlc3BvbnNlEg8KB2Ryb3BwZWQYASABKAgiIQoTUHVibGlzaE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSJtChRQdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbBI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIjChVVbnB1Ymxpc2hNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiOQoWVW5wdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIqChxHZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKHUdldE1vZGVsUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyKhAQobU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ij8KHFNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiMAoiQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJGCiNDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCr5AgoJRmllbGRUeXBlEhoKFkZJRUxEX1RZUEVfVU5TUEVDSUZJRUQQABITCg9GSUVMRF9UWVBFX1RFWFQQARIVChFGSUVMRF9UWVBFX05VTUJFUhACEhYKEkZJRUxEX1RZUEVfQk9PTEVBThADEhMKD0ZJRUxEX1RZUEVfREFURRAEEhUKEUZJRUxEX1RZUEVfU0VMRUNUEAUSEwoPRklFTERfVFlQRV9KU09OEAYSEwoPRklFTERfVFlQRV9MSVNUEAcSFAoQRklFTERfVFlQRV9NT0RFTBAIEhgKFEZJRUxEX1RZUEVfUkVGRVJFTkNFEAkSEwoPRklFTERfVFlQRV9GSUxFEAoSFAoQRklFTERfVFlQRV9JTUFHRRALEhQKEEZJRUxEX1RZUEVfVklERU8QDBIXChNGSUVMRF9UWVBFX0ZMRVhJQkxFEA0SEwoPRklFTERfVFlQRV9FTlVNEA4SFwoTRklFTERfVFlQRV9SSUNIVEVYVBAPKnsKEFJlbGF0aW9uc2hpcEtpbmQSIQodUkVMQVRJT05TSElQX0tJTkRfVU5TUEVDSUZJRUQQABIhCh1SRUxBVElPTlNISVBfS0lORF9BU1NPQ0lBVElPThABEiEKHVJFTEFUSU9OU0hJUF9LSU5EX0NPTVBPU0lUSU9OEAIqcwoKT3duZXJQbGFuZRIbChdPV05FUl9QTEFORV9VTlNQRUNJRklFRBAAEhgKFE9XTkVSX1BMQU5FX0NVU1RPTUVSEAESFQoRT1dORVJfUExBTkVfQURNSU4QAhIXChNPV05FUl9QTEFORV9QUk9KRUNUEAMqmwEKEUNhY2hlQ29udHJvbFNjb3BlEiMKH0NBQ0hFX0NPTlRST0xfU0NPUEVfVU5TUEVDSUZJRUQQABIeChpDQUNIRV9DT05UUk9MX1NDT1BFX1BVQkxJQxABEh8KG0NBQ0hFX0NPTlRST0xfU0NPUEVfUFJJVkFURRACEiAKHENBQ0hFX0NPTlRST0xfU0NPUEVfTk9fQ0FDSEUQAzK4DQoNTW9kZWxzU2VydmljZRJDCghHZXRNb2RlbBIaLm1vZGVscy52MS5HZXRNb2RlbFJlcXVlc3QaGy5tb2RlbHMudjEuR2V0TW9kZWxSZXNwb25zZRJSCg1HZXRNb2RlbEJ5S2V5Eh8ubW9kZWxzLnYxLkdldE1vZGVsQnlLZXlSZXF1ZXN0GiAubW9kZWxzLnYxLkdldE1vZGVsQnlLZXlSZXNwb25zZRJJCgpMaXN0TW9kZWxzEhwubW9kZWxzLnYxLkxpc3RNb2RlbHNSZXF1ZXN0Gh0ubW9kZWxzLnYxLkxpc3RNb2RlbHNSZXNwb25zZRJMCgtDcmVhdGVNb2RlbBIdLm1vZGVscy52MS5DcmVhdGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuQ3JlYXRlTW9kZWxSZXNwb25zZRJMCgtVcGRhdGVNb2RlbBIdLm1vZGVscy52MS5VcGRhdGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuVXBkYXRlTW9kZWxSZXNwb25zZRJMCgtEZWxldGVNb2RlbBIdLm1vZGVscy52MS5EZWxldGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuRGVsZXRlTW9kZWxSZXNwb25zZRJVCg5EdXBsaWNhdGVNb2RlbBIgLm1vZGVscy52MS5EdXBsaWNhdGVNb2RlbFJlcXVlc3QaIS5tb2RlbHMudjEuRHVwbGljYXRlTW9kZWxSZXNwb25zZRJYCg9HZXRNb2RlbFZlcnNpb24SIS5tb2RlbHMudjEuR2V0TW9kZWxWZXJzaW9uUmVxdWVzdBoiLm1vZGVscy52MS5HZXRNb2RlbFZlcnNpb25SZXNwb25zZRJeChFMaXN0TW9kZWxWZXJzaW9ucxIjLm1vZGVscy52MS5MaXN0TW9kZWxWZXJzaW9uc1JlcXVlc3QaJC5tb2RlbHMudjEuTGlzdE1vZGVsVmVyc2lvbnNSZXNwb25zZRJkChNSZXN0b3JlTW9kZWxWZXJzaW9uEiUubW9kZWxzLnYxLlJlc3RvcmVNb2RlbFZlcnNpb25SZXF1ZXN0GiYubW9kZWxzLnYxLlJlc3RvcmVNb2RlbFZlcnNpb25SZXNwb25zZRJPCgxQdWJsaXNoTW9kZWwSHi5tb2RlbHMudjEuUHVibGlzaE1vZGVsUmVxdWVzdBofLm1vZGVscy52MS5QdWJsaXNoTW9kZWxSZXNwb25zZRJVCg5VbnB1Ymxpc2hNb2RlbBIgLm1vZGVscy52MS5VbnB1Ymxpc2hNb2RlbFJlcXVlc3QaIS5tb2RlbHMudjEuVW5wdWJsaXNoTW9kZWxSZXNwb25zZRJqChVHZXRNb2RlbFB1Ymxpc2hTdGF0dXMSJy5tb2RlbHMudjEuR2V0TW9kZWxQdWJsaXNoU3RhdHVzUmVxdWVzdBooLm1vZGVscy52MS5HZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXNwb25zZRJnChRTY2hlZHVsZU1vZGVsUHVibGlzaBImLm1vZGVscy52MS5TY2hlZHVsZU1vZGVsUHVibGlzaFJlcXVlc3QaJy5tb2RlbHMudjEuU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXNwb25zZRJ8ChtDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2gSLS5tb2RlbHMudjEuQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBouLm1vZGVscy52MS5DYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRJ8ChtNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWQSLS5tb2RlbHMudjEuTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkUmVxdWVzdBouLm1vZGVscy52MS5NYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXNwb25zZRKCAQodTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXMSLy5tb2RlbHMudjEuTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXF1ZXN0GjAubW9kZWxzLnYxLkxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzUmVzcG9uc2USZAoTRHJvcERlcHJlY2F0ZWRGaWVsZBIlLm1vZGVscy52MS5Ecm9wRGVwcmVjYXRlZEZpZWxkUmVxdWVzdBomLm1vZGVscy52MS5Ecm9wRGVwcmVjYXRlZEZpZWxkUmVzcG9uc2VCOVo3Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL21vZGVscy92MTttb2RlbHN2MWIGcHJvdG8z", [file_google_protobuf_struct2, file_google_protobuf_timestamp3, file_publish_v1_publish, file_common_v1_pagination, file_common_v1_access]);
819
+ var file_models_v1_models = /* @__PURE__ */ fileDesc5("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEiYQoSUmVsYXRpb25zaGlwQ29uZmlnEikKBGtpbmQYASABKA4yGy5tb2RlbHMudjEuUmVsYXRpb25zaGlwS2luZBIUCgdpbnZlcnNlGAIgASgJSACIAQFCCgoIX2ludmVyc2Ui0gUKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQESFgoJcXVlcnlhYmxlGBAgASgISAmIAQESJgoGYWNjZXNzGBEgASgLMhYuY29tbW9uLnYxLkZpZWxkQWNjZXNzEjgKDHJlbGF0aW9uc2hpcBgSIAEoCzIdLm1vZGVscy52MS5SZWxhdGlvbnNoaXBDb25maWdICogBAUIMCgpfaGVscF90ZXh0Qg4KDF9wbGFjZWhvbGRlckIQCg5fZGVmYXVsdF92YWx1ZUIMCgpfaXRlbV90eXBlQgoKCF9zdG9yYWdlQhAKDl90ZW1wbGF0ZV96b25lQg0KC196b25lX29yZGVyQhMKEV9yZWZlcmVuY2VfZmlsdGVyQg0KC192YWxpZGF0aW9uQgwKCl9xdWVyeWFibGVCDwoNX3JlbGF0aW9uc2hpcCJyCgxBY2Nlc3NDb25maWcSKgoLb3duZXJfcGxhbmUYASABKA4yFS5tb2RlbHMudjEuT3duZXJQbGFuZRIfChJkZWZhdWx0X3Zpc2liaWxpdHkYAiABKAlIAIgBAUIVChNfZGVmYXVsdF92aXNpYmlsaXR5IusFCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhgKC3BsdXJhbF9uYW1lGAcgASgJSACIAQESGAoLZGVzY3JpcHRpb24YCCABKAlIAYgBARIVCghjYXRlZ29yeRgJIAEoCUgCiAEBEhEKBGljb24YCiABKAlIA4gBARIaCg1kaXNwbGF5X2ZpZWxkGAsgASgJSASIAQESFQoNc3lzdGVtX2VudGl0eRgNIAEoCBIWCglkZWxldGFibGUYDiABKAhIBYgBARIVCghlZGl0YWJsZRgPIAEoCEgGiAEBEjUKD21ldGFkYXRhX3NjaGVtYRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIrCgVob29rcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICIgBARIXCgpwbHVyYWxfa2V5GBIgASgJSAmIAQESLAoHbG9va3VwcxgTIAMoCzIbLm1vZGVscy52MS5Mb29rdXBEZWZpbml0aW9uEjkKDWNhY2hlX2NvbnRyb2wYFCABKAsyHS5tb2RlbHMudjEuQ2FjaGVDb250cm9sQ29uZmlnSAqIAQESLAoGYWNjZXNzGBUgASgLMhcubW9kZWxzLnYxLkFjY2Vzc0NvbmZpZ0gLiAEBEhEKCXNpbmdsZXRvbhgWIAEoCEIOCgxfcGx1cmFsX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgsKCV9jYXRlZ29yeUIHCgVfaWNvbkIQCg5fZGlzcGxheV9maWVsZEIMCgpfZGVsZXRhYmxlQgsKCV9lZGl0YWJsZUISChBfbWV0YWRhdGFfc2NoZW1hQggKBl9ob29rc0INCgtfcGx1cmFsX2tleUIQCg5fY2FjaGVfY29udHJvbEIJCgdfYWNjZXNzIlIKEkNhY2hlQ29udHJvbENvbmZpZxIPCgdtYXhfYWdlGAEgASgFEisKBXNjb3BlGAIgASgOMhwubW9kZWxzLnYxLkNhY2hlQ29udHJvbFNjb3BlIj4KEExvb2t1cERlZmluaXRpb24SDgoGa2V5X2J5GAEgAygJEhEKBG5hbWUYAiABKAlIAIgBAUIHCgVfbmFtZSKDAQoRTW9kZWxDYXBhYmlsaXRpZXMSFAoMaXNfdmVyc2lvbmVkGAEgASgIEhYKDmlzX3B1Ymxpc2hhYmxlGAIgASgIEhQKDGhhc192YXJpYW50cxgDIAEoCBIqCgtvd25lcl9wbGFuZRgGIAEoDjIVLm1vZGVscy52MS5Pd25lclBsYW5lIr8HCgVNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSJgoGY29uZmlnGAUgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnEhYKCWNvbmZpZ19pZBgGIAEoCUgAiAEBEjIKDGNhcGFiaWxpdGllcxgHIAEoCzIcLm1vZGVscy52MS5Nb2RlbENhcGFiaWxpdGllcxIfChJjdXJyZW50X3ZlcnNpb25faWQYCCABKAlIAYgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYCSABKAVIAogBARIRCgl0ZW5hbnRfaWQYCiABKAkSEgoKcHJvamVjdF9pZBgLIAEoCRIXCgpjcmVhdGVkX2J5GBQgASgJSAOIAQESFwoKdXBkYXRlZF9ieRgVIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKEmxhc3RfcHVzaGVkX2ZpZWxkcxgoIAMoCzIQLm1vZGVscy52MS5GaWVsZBI3Cg5sYXN0X3B1c2hlZF9hdBgpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIhChRwdWJsaXNoZWRfdmVyc2lvbl9pZBgqIAEoCUgGiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESGwoOc2NoZW1hX2RyaWZ0ZWQYLSABKAhICYgBAUIMCgpfY29uZmlnX2lkQhUKE19jdXJyZW50X3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fbGFzdF9wdXNoZWRfYXRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdEIRCg9fc2NoZW1hX2RyaWZ0ZWQiwgIKDE1vZGVsVmVyc2lvbhIKCgJpZBgBIAEoCRIQCghtb2RlbF9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5Is0BChJDcmVhdGVNb2RlbFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gAiAEBEhYKCWNvbmZpZ19pZBgFIAEoCUgBiAEBEhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIQgkKB19jb25maWdCDAoKX2NvbmZpZ19pZCI2ChNDcmVhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIh0KD0dldE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSIzChBHZXRNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIiMKFEdldE1vZGVsQnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSI4ChVHZXRNb2RlbEJ5S2V5UmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiwgEKEUxpc3RNb2RlbHNSZXF1ZXN0EhIKBWFmdGVyGAYgASgJSACIAQESEwoGYmVmb3JlGAcgASgJSAGIAQESEgoFZmlyc3QYCCABKAVIAogBARIRCgRsYXN0GAkgASgFSAOIAQESKwoFd2hlcmUYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QggKBl93aGVyZSKRAQoSTGlzdE1vZGVsc1Jlc3BvbnNlEiAKBm1vZGVscxgBIAMoCzIQLm1vZGVscy52MS5Nb2RlbBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8i8gIKElVwZGF0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEhUKDXVwZGF0ZV9maWVsZHMYBiABKAgSHAoUdXBkYXRlX3B1c2hfc25hcHNob3QYByABKAgSFQoNc25hcHNob3Rfb25seRgIIAEoCBIcChRhbGxvd19sb29rdXBfcmVidWlsZBgJIAEoCBIgChNleHBlY3RlZF92ZXJzaW9uX2lkGAogASgJSAOIAQFCBwoFX25hbWVCCQoHX2NvbmZpZ0IVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQhYKFF9leHBlY3RlZF92ZXJzaW9uX2lkIjYKE1VwZGF0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiIAoSRGVsZXRlTW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJIiYKE0RlbGV0ZU1vZGVsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJGChVEdXBsaWNhdGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkSDwoHbmV3X2tleRgCIAEoCRIQCghuZXdfbmFtZRgDIAEoCSI5ChZEdXBsaWNhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIqQBChhMaXN0TW9kZWxWZXJzaW9uc1JlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QioQEKGUxpc3RNb2RlbFZlcnNpb25zUmVzcG9uc2USKQoIdmVyc2lvbnMYASADKAsyFy5tb2RlbHMudjEuTW9kZWxWZXJzaW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyI+ChZHZXRNb2RlbFZlcnNpb25SZXF1ZXN0EhAKCG1vZGVsX2lkGAEgASgJEhIKCnZlcnNpb25faWQYAiABKAkiQwoXR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USKAoHdmVyc2lvbhgBIAEoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24iQgoaUmVzdG9yZU1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSI+ChtSZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiYwoURGVwcmVjYXRlZEZpZWxkVG91Y2gSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEQoJbW9kZWxfa2V5GAMgASgJEhEKCWZpZWxkX2tleRgEIAEoCSJWCiJNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXF1ZXN0EjAKB3RvdWNoZXMYASADKAsyHy5tb2RlbHMudjEuRGVwcmVjYXRlZEZpZWxkVG91Y2giNgojTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkUmVzcG9uc2USDwoHdXBkYXRlZBgBIAEoBSL3AQoYRGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlEhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCG1vZGVsX2lkGAMgASgJEhEKCW1vZGVsX2tleRgEIAEoCRIRCglmaWVsZF9rZXkYBSABKAkSLgoKZGVsZXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPbGFzdF9xdWVyaWVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQhIKEF9sYXN0X3F1ZXJpZWRfYXQivAEKJExpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzUmVxdWVzdBIcChRncmFjZV9wZXJpb2Rfc2Vjb25kcxgBIAEoAxISCgVmaXJzdBgCIAEoBUgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEQoEbGFzdBgEIAEoBUgCiAEBEhMKBmJlZm9yZRgFIAEoCUgDiAEBQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSK7AQolTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXNwb25zZRI3CgpjYW5kaWRhdGVzGAEgAygLMiMubW9kZWxzLnYxLkRlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iQQoaRHJvcERlcHJlY2F0ZWRGaWVsZFJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEQoJZmllbGRfa2V5GAIgASgJIi4KG0Ryb3BEZXByZWNhdGVkRmllbGRSZXNwb25zZRIPCgdkcm9wcGVkGAEgASgIIiEKE1B1Ymxpc2hNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkibQoUUHVibGlzaE1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwSNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiIwoUUHVibGlzaE1vZGVsc1JlcXVlc3QSCwoDaWRzGAEgAygJIm8KFVB1Ymxpc2hNb2RlbHNSZXNwb25zZRIgCgZtb2RlbHMYASADKAsyEC5tb2RlbHMudjEuTW9kZWwSNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiIwoVVW5wdWJsaXNoTW9kZWxSZXF1ZXN0EgoKAmlkGAEgASgJIjkKFlVucHVibGlzaE1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiKgocR2V0TW9kZWxQdWJsaXNoU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSJKCh1HZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMiIQoTRGlzY2FyZERyYWZ0UmVxdWVzdBIKCgJpZBgBIAEoCSI3ChREaXNjYXJkRHJhZnRSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCKhAQobU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ij8KHFNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiMAoiQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJGCiNDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCqSAwoJRmllbGRUeXBlEhoKFkZJRUxEX1RZUEVfVU5TUEVDSUZJRUQQABITCg9GSUVMRF9UWVBFX1RFWFQQARIVChFGSUVMRF9UWVBFX05VTUJFUhACEhYKEkZJRUxEX1RZUEVfQk9PTEVBThADEhMKD0ZJRUxEX1RZUEVfREFURRAEEhUKEUZJRUxEX1RZUEVfU0VMRUNUEAUSEwoPRklFTERfVFlQRV9KU09OEAYSEwoPRklFTERfVFlQRV9MSVNUEAcSFAoQRklFTERfVFlQRV9NT0RFTBAIEhgKFEZJRUxEX1RZUEVfUkVGRVJFTkNFEAkSEwoPRklFTERfVFlQRV9GSUxFEAoSFAoQRklFTERfVFlQRV9JTUFHRRALEhQKEEZJRUxEX1RZUEVfVklERU8QDBIXChNGSUVMRF9UWVBFX0ZMRVhJQkxFEA0SEwoPRklFTERfVFlQRV9FTlVNEA4SFwoTRklFTERfVFlQRV9SSUNIVEVYVBAPEhcKE0ZJRUxEX1RZUEVfR0VPUE9JTlQQECqjAQoQUmVsYXRpb25zaGlwS2luZBIhCh1SRUxBVElPTlNISVBfS0lORF9VTlNQRUNJRklFRBAAEiEKHVJFTEFUSU9OU0hJUF9LSU5EX0FTU09DSUFUSU9OEAESIQodUkVMQVRJT05TSElQX0tJTkRfQ09NUE9TSVRJT04QAhImCiJSRUxBVElPTlNISVBfS0lORF9BU1NPQ0lBVElPTl9SRUFEEAMqcwoKT3duZXJQbGFuZRIbChdPV05FUl9QTEFORV9VTlNQRUNJRklFRBAAEhgKFE9XTkVSX1BMQU5FX0NVU1RPTUVSEAESFQoRT1dORVJfUExBTkVfQURNSU4QAhIXChNPV05FUl9QTEFORV9QUk9KRUNUEAMqmwEKEUNhY2hlQ29udHJvbFNjb3BlEiMKH0NBQ0hFX0NPTlRST0xfU0NPUEVfVU5TUEVDSUZJRUQQABIeChpDQUNIRV9DT05UUk9MX1NDT1BFX1BVQkxJQxABEh8KG0NBQ0hFX0NPTlRST0xfU0NPUEVfUFJJVkFURRACEiAKHENBQ0hFX0NPTlRST0xfU0NPUEVfTk9fQ0FDSEUQAzLdDgoNTW9kZWxzU2VydmljZRJDCghHZXRNb2RlbBIaLm1vZGVscy52MS5HZXRNb2RlbFJlcXVlc3QaGy5tb2RlbHMudjEuR2V0TW9kZWxSZXNwb25zZRJSCg1HZXRNb2RlbEJ5S2V5Eh8ubW9kZWxzLnYxLkdldE1vZGVsQnlLZXlSZXF1ZXN0GiAubW9kZWxzLnYxLkdldE1vZGVsQnlLZXlSZXNwb25zZRJJCgpMaXN0TW9kZWxzEhwubW9kZWxzLnYxLkxpc3RNb2RlbHNSZXF1ZXN0Gh0ubW9kZWxzLnYxLkxpc3RNb2RlbHNSZXNwb25zZRJMCgtDcmVhdGVNb2RlbBIdLm1vZGVscy52MS5DcmVhdGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuQ3JlYXRlTW9kZWxSZXNwb25zZRJMCgtVcGRhdGVNb2RlbBIdLm1vZGVscy52MS5VcGRhdGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuVXBkYXRlTW9kZWxSZXNwb25zZRJMCgtEZWxldGVNb2RlbBIdLm1vZGVscy52MS5EZWxldGVNb2RlbFJlcXVlc3QaHi5tb2RlbHMudjEuRGVsZXRlTW9kZWxSZXNwb25zZRJVCg5EdXBsaWNhdGVNb2RlbBIgLm1vZGVscy52MS5EdXBsaWNhdGVNb2RlbFJlcXVlc3QaIS5tb2RlbHMudjEuRHVwbGljYXRlTW9kZWxSZXNwb25zZRJYCg9HZXRNb2RlbFZlcnNpb24SIS5tb2RlbHMudjEuR2V0TW9kZWxWZXJzaW9uUmVxdWVzdBoiLm1vZGVscy52MS5HZXRNb2RlbFZlcnNpb25SZXNwb25zZRJeChFMaXN0TW9kZWxWZXJzaW9ucxIjLm1vZGVscy52MS5MaXN0TW9kZWxWZXJzaW9uc1JlcXVlc3QaJC5tb2RlbHMudjEuTGlzdE1vZGVsVmVyc2lvbnNSZXNwb25zZRJkChNSZXN0b3JlTW9kZWxWZXJzaW9uEiUubW9kZWxzLnYxLlJlc3RvcmVNb2RlbFZlcnNpb25SZXF1ZXN0GiYubW9kZWxzLnYxLlJlc3RvcmVNb2RlbFZlcnNpb25SZXNwb25zZRJPCgxQdWJsaXNoTW9kZWwSHi5tb2RlbHMudjEuUHVibGlzaE1vZGVsUmVxdWVzdBofLm1vZGVscy52MS5QdWJsaXNoTW9kZWxSZXNwb25zZRJSCg1QdWJsaXNoTW9kZWxzEh8ubW9kZWxzLnYxLlB1Ymxpc2hNb2RlbHNSZXF1ZXN0GiAubW9kZWxzLnYxLlB1Ymxpc2hNb2RlbHNSZXNwb25zZRJVCg5VbnB1Ymxpc2hNb2RlbBIgLm1vZGVscy52MS5VbnB1Ymxpc2hNb2RlbFJlcXVlc3QaIS5tb2RlbHMudjEuVW5wdWJsaXNoTW9kZWxSZXNwb25zZRJqChVHZXRNb2RlbFB1Ymxpc2hTdGF0dXMSJy5tb2RlbHMudjEuR2V0TW9kZWxQdWJsaXNoU3RhdHVzUmVxdWVzdBooLm1vZGVscy52MS5HZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXNwb25zZRJPCgxEaXNjYXJkRHJhZnQSHi5tb2RlbHMudjEuRGlzY2FyZERyYWZ0UmVxdWVzdBofLm1vZGVscy52MS5EaXNjYXJkRHJhZnRSZXNwb25zZRJnChRTY2hlZHVsZU1vZGVsUHVibGlzaBImLm1vZGVscy52MS5TY2hlZHVsZU1vZGVsUHVibGlzaFJlcXVlc3QaJy5tb2RlbHMudjEuU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXNwb25zZRJ8ChtDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2gSLS5tb2RlbHMudjEuQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBouLm1vZGVscy52MS5DYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRJ8ChtNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWQSLS5tb2RlbHMudjEuTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkUmVxdWVzdBouLm1vZGVscy52MS5NYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXNwb25zZRKCAQodTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXMSLy5tb2RlbHMudjEuTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXF1ZXN0GjAubW9kZWxzLnYxLkxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzUmVzcG9uc2USZAoTRHJvcERlcHJlY2F0ZWRGaWVsZBIlLm1vZGVscy52MS5Ecm9wRGVwcmVjYXRlZEZpZWxkUmVxdWVzdBomLm1vZGVscy52MS5Ecm9wRGVwcmVjYXRlZEZpZWxkUmVzcG9uc2VCOVo3Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL21vZGVscy92MTttb2RlbHN2MWIGcHJvdG8z", [file_google_protobuf_struct2, file_google_protobuf_timestamp3, file_publish_v1_publish, file_common_v1_pagination, file_common_v1_access]);
800
820
  var RelationshipConfigSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 0);
801
821
  var FieldSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 1);
802
822
  var AccessConfigSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 2);
@@ -816,10 +836,12 @@ var ListModelVersionsRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1
816
836
  var GetModelVersionRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 25);
817
837
  var RestoreModelVersionRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 27);
818
838
  var PublishModelRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 37);
819
- var UnpublishModelRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 39);
820
- var GetModelPublishStatusRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 41);
821
- var ScheduleModelPublishRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 43);
822
- var CancelScheduledModelPublishRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 45);
839
+ var PublishModelsRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 39);
840
+ var UnpublishModelRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 41);
841
+ var GetModelPublishStatusRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 43);
842
+ var DiscardDraftRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 45);
843
+ var ScheduleModelPublishRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 47);
844
+ var CancelScheduledModelPublishRequestSchema = /* @__PURE__ */ messageDesc5(file_models_v1_models, 49);
823
845
  var RelationshipKindSchema = /* @__PURE__ */ enumDesc3(file_models_v1_models, 1);
824
846
  var RelationshipKind = /* @__PURE__ */ tsEnum3(RelationshipKindSchema);
825
847
  var OwnerPlaneSchema = /* @__PURE__ */ enumDesc3(file_models_v1_models, 2);
@@ -839,7 +861,7 @@ var RuleExpressionSchema = /* @__PURE__ */ messageDesc6(file_expressions_v1_expr
839
861
  var RuleOperandSchema = /* @__PURE__ */ messageDesc6(file_expressions_v1_expressions, 1);
840
862
 
841
863
  // ../../packages/proto-ts/src/records/v1/records_pb.js
842
- var file_records_v1_records = /* @__PURE__ */ fileDesc7("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEipg0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIVCghvd25lcl9pZBgIIAEoCUgDiAEBEhcKCm93bmVyX2tpbmQYCSABKAlIBIgBARIRCgl0ZW5hbnRfaWQYCiABKAkSEgoKcHJvamVjdF9pZBgLIAEoCRIXCgpjcmVhdGVkX2J5GBQgASgJSAWIAQESFwoKdXBkYXRlZF9ieRgVIAEoCUgGiAEBEi4KCmNyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnZlcnNpb25fbnVtYmVyGCggASgFSAeIAQESGQoMY29udGVudF9oYXNoGCkgASgJSAiIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGCogASgJSAmIAQESGwoOcHVibGlzaF9zdGF0dXMYKyABKAlICogBARI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBgsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIC4gBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GC0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhgKC3ZhcmlhbnRfa2V5GDIgASgJSA2IAQESGQoMdmFyaWFudF9uYW1lGDMgASgJSA6IAQESIAoTdmFyaWFudF9kZXNjcmlwdGlvbhg0IAEoCUgPiAEBEhcKCmNhdGFsb2dfaWQYNSABKAlIEIgBARIVCghwcmlvcml0eRg2IAEoBUgRiAEBEjwKD3RhcmdldGluZ19ydWxlcxg3IAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSBKIAQESFwoKaXNfZGVmYXVsdBg4IAEoCEgTiAEBEh8KEmN1cnJlbnRfdmVyc2lvbl9pZBg8IAEoCUgUiAEBEiEKFHB1Ymxpc2hlZF92ZXJzaW9uX2lkGD0gASgJSBWIAQESJQoYcHVibGlzaGVkX3ZlcnNpb25fbnVtYmVyGD4gASgFSBaIAQESNQoMcHVibGlzaGVkX2F0GD8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgXiAEBEhkKDHB1Ymxpc2hlZF9ieRhAIAEoCUgYiAEBEhMKC2Nhbl9wdWJsaXNoGEEgASgIEhUKDWNhbl91bnB1Ymxpc2gYQiABKAgSHwoXaGFzX3VucHVibGlzaGVkX2NoYW5nZXMYQyABKAgSHQoQbW9kZWxfdmVyc2lvbl9pZBhGIAEoCUgZiAEBQg4KDF9uYXR1cmFsX2tleUIMCgpfcGFyZW50X2lkQgsKCV9tZXRhZGF0YUILCglfb3duZXJfaWRCDQoLX293bmVyX2tpbmRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCEQoPX3ZlcnNpb25fbnVtYmVyQg8KDV9jb250ZW50X2hhc2hCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkIRCg9fcHVibGlzaF9zdGF0dXNCFwoVX3NjaGVkdWxlZF9wdWJsaXNoX2F0QhkKF19zY2hlZHVsZWRfdW5wdWJsaXNoX2F0Qg4KDF92YXJpYW50X2tleUIPCg1fdmFyaWFudF9uYW1lQhYKFF92YXJpYW50X2Rlc2NyaXB0aW9uQg0KC19jYXRhbG9nX2lkQgsKCV9wcmlvcml0eUISChBfdGFyZ2V0aW5nX3J1bGVzQg0KC19pc19kZWZhdWx0QhUKE19jdXJyZW50X3ZlcnNpb25faWRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDwoNX3B1Ymxpc2hlZF9hdEIPCg1fcHVibGlzaGVkX2J5QhMKEV9tb2RlbF92ZXJzaW9uX2lkIvUBCg9QdWJsaXNoU2NoZWR1bGUSEgoKdmVyc2lvbl9pZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgFIAEoCUgBiAEBQg8KDV91bnB1Ymxpc2hfYXRCDQoLX2NyZWF0ZWRfYnkiLgoJU29ydEZpZWxkEg0KBWZpZWxkGAEgASgJEhIKCmRlc2NlbmRpbmcYAiABKAgi/wEKDkJhdGNoT3BlcmF0aW9uEiwKBHR5cGUYASABKA4yHi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uVHlwZRIPCgJpZBgCIAEoCUgAiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgBiAEBEhgKC25hdHVyYWxfa2V5GAQgASgJSAKIAQESKgoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIVCghvd25lcl9pZBgGIAEoCUgEiAEBQgUKA19pZEIMCgpfbW9kZWxfa2V5Qg4KDF9uYXR1cmFsX2tleUIHCgVfZGF0YUILCglfb3duZXJfaWQiiAEKFEJhdGNoT3BlcmF0aW9uUmVzdWx0Eg0KBWluZGV4GAEgASgFEg8KB3N1Y2Nlc3MYAiABKAgSJwoGcmVjb3JkGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARISCgVlcnJvchgEIAEoCUgBiAEBQgkKB19yZWNvcmRCCAoGX2Vycm9yIpICChNDcmVhdGVSZWNvcmRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtuYXR1cmFsX2tleRgCIAEoCUgAiAEBEiUKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKCG93bmVyX2lkGAQgASgJSAGIAQESLgoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAYgASgJSAOIAQFCDgoMX25hdHVyYWxfa2V5QgsKCV9vd25lcl9pZEILCglfbWV0YWRhdGFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKmAQoUQ3JlYXRlUmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSKAoHdmFyaWFudBgCIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSACIAQESKAoHdmVyc2lvbhgDIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSAGIAQFCCgoIX3ZhcmlhbnRCCgoIX3ZlcnNpb24iHgoQR2V0UmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSI3ChFHZXRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI/ChVHZXRSZWNvcmRCeUtleVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJIjwKFkdldFJlY29yZEJ5S2V5UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiQgoZR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKaWRlbnRpZmllchgCIAEoCSJAChpHZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCLQAgoSTGlzdFJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIjCgRzb3J0GAIgAygLMhUucmVjb3Jkcy52MS5Tb3J0RmllbGQSFQoIb3duZXJfaWQYAyABKAlIAIgBARITCgZzZWFyY2gYBCABKAlIAYgBARIPCgdwcmV2aWV3GAUgASgIEisKBXdoZXJlGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhIKBWFmdGVyGAcgASgJSAOIAQESEwoGYmVmb3JlGAggASgJSASIAQESEgoFZmlyc3QYCSABKAVIBYgBARIRCgRsYXN0GAogASgFSAaIAQFCCwoJX293bmVyX2lkQgkKB19zZWFyY2hCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKVAQoTTGlzdFJlY29yZHNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIpsCChNVcGRhdGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJEicKBnVwZGF0ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIYCgt2YXJpYW50X2tleRgEIAEoCUgBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEjIKDHJlcGxhY2VfZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUIOCgxfbmF0dXJhbF9rZXlCDgoMX3ZhcmlhbnRfa2V5QhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDwoNX3JlcGxhY2VfZGF0YSI6ChRVcGRhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJKChVBdXRvU2F2ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSJQoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiQwoWQXV0b1NhdmVSZWNvcmRSZXNwb25zZRIRCglwZXJzaXN0ZWQYASABKAgSFgoOc2tpcHBlZF9yZWFzb24YAiABKAkiIQoTRGVsZXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqcBChNVcHNlcnRSZWNvcmRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhEKCW1vZGVsX2tleRgDIAEoCRITCgtuYXR1cmFsX2tleRgEIAEoCRIlCgRkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIaChJjaGFuZ2VfZGVzY3JpcHRpb24YBiABKAkiSwoUVXBzZXJ0UmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSDwoHY3JlYXRlZBgCIAEoCCJOChxCYXRjaFJlY29yZE9wZXJhdGlvbnNSZXF1ZXN0Ei4KCm9wZXJhdGlvbnMYASADKAsyGi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uIlIKHUJhdGNoUmVjb3JkT3BlcmF0aW9uc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uUmVzdWx0Ip0BChhCdWxrVXBkYXRlUmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEisKBXdoZXJlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnVwZGF0ZRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIICgZfd2hlcmVCCQoHX3VwZGF0ZSI3ChlCdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEgsKA2lkcxgCIAMoCSIyCh1CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiOQoeQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlc3BvbnNlEhcKD3JlY29yZHNfaW5kZXhlZBgBIAEoBSIwChtCYWNrZmlsbE1vZGVsSW5kZXhlc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJImEKHEJhY2tmaWxsTW9kZWxJbmRleGVzUmVzcG9uc2USHgoWbG9va3Vwc19yZWNvcmRzX3dhbGtlZBgBIAEoBRIhChlxdWVyeWFibGVfcmVjb3Jkc19pbmRleGVkGAIgASgFIlYKFkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSHAoPbmV3X25hdHVyYWxfa2V5GAIgASgJSACIAQFCEgoQX25ld19uYXR1cmFsX2tleSI9ChdEdXBsaWNhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJQChtEdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QSCwoDaWRzGAEgAygJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiQwocRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQiKwoVUHVibGlzaFZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiPAoWUHVibGlzaFZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChZVbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIqChdVbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKFlJldmVydFRvVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI9ChdSZXZlcnRUb1ZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKmAQoZTGlzdFJlY29yZFZlcnNpb25zUmVxdWVzdBIRCglwYXJlbnRfaWQYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QinQEKGkxpc3RSZWNvcmRWZXJzaW9uc1Jlc3BvbnNlEiQKCHZlcnNpb25zGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvImUKFENyZWF0ZVZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRITCgt2YXJpYW50X2tleRgCIAEoCRIlCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI8ChVDcmVhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIpoBChRVcGRhdGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKDm1ldGFkYXRhX3BhdGNoGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQhEKD19tZXRhZGF0YV9wYXRjaCI8ChVVcGRhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIioKFERlbGV0ZVZhcmlhbnRSZXF1ZXN0EhIKCnZhcmlhbnRfaWQYASABKAkiKAoVRGVsZXRlVmFyaWFudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiQQoYU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRISCgp2YXJpYW50X2lkGAIgASgJIj8KGVNldERlZmF1bHRWYXJpYW50UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQipgEKGUxpc3RSZWNvcmRWYXJpYW50c1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Ip0BChpMaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRIkCgh2YXJpYW50cxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKqAQocU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IkQKHVNjaGVkdWxlUmVjb3JkUHVibGlzaFJlc3BvbnNlEiMKB3ZlcnNpb24YASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI5CiNDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIksKJENhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiqQIKHUxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXF1ZXN0Ei0KBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESKwoCdG8YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJbW9kZWxfa2V5GAMgASgJSAKIAQESEgoFYWZ0ZXIYBCABKAlIA4gBARITCgZiZWZvcmUYBSABKAlIBIgBARISCgVmaXJzdBgGIAEoBUgFiAEBEhEKBGxhc3QYByABKAVIBogBAUIHCgVfZnJvbUIFCgNfdG9CDAoKX21vZGVsX2tleUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QioQEKHkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXNwb25zZRIkCgh2ZXJzaW9ucxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIwChpHZXRTY2hlZHVsZWRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIkwKG0dldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRItCghzY2hlZHVsZRgBIAEoCzIbLnJlY29yZHMudjEuUHVibGlzaFNjaGVkdWxlIvIBChhMaXN0RHJhZnRWZXJzaW9uc1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQESEwoGc2VhcmNoGAIgASgJSAGIAQESEgoFYWZ0ZXIYBiABKAlIAogBARITCgZiZWZvcmUYByABKAlIA4gBARISCgVmaXJzdBgIIAEoBUgEiAEBEhEKBGxhc3QYCSABKAVIBYgBARIYChBkZWR1cGVfYnlfcGFyZW50GAUgASgIQgwKCl9tb2RlbF9rZXlCCQoHX3NlYXJjaEIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QinAEKGUxpc3REcmFmdFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iMgobQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0EhMKC3ZlcnNpb25faWRzGAEgAygJIlwKHEJhdGNoUHVibGlzaFZlcnNpb25zUmVzcG9uc2USIwoHcmVjb3JkcxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEhcKD3B1Ymxpc2hlZF9jb3VudBgCIAEoBSK5AQoaQmF0Y2hSZXNvbHZlUmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhIKCnJlY29yZF9pZHMYAiADKAkSGAoLY3VzdG9tZXJfaWQYAyABKAlIAIgBARItCgdjb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEg8KB3ByZXZpZXcYBSABKAhCDgoMX2N1c3RvbWVyX2lkQgoKCF9jb250ZXh0IkoKG0JhdGNoUmVzb2x2ZVJlY29yZHNSZXNwb25zZRIrCgdyZWNvcmRzGAEgAygLMhoucmVjb3Jkcy52MS5SZXNvbHZlZFJlY29yZCLNAgoOUmVzb2x2ZWRSZWNvcmQSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgp2YXJpYW50X2lkGAYgASgJSAGIAQESEQoJaGFzX2RyYWZ0GAggASgIEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9uYXR1cmFsX2tleUINCgtfdmFyaWFudF9pZCIvChlMb29rdXBSZWNvcmRNb2RlbHNSZXF1ZXN0EhIKCnJlY29yZF9pZHMYASADKAkiOAoQUmVjb3JkTW9kZWxFbnRyeRIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJIksKGkxvb2t1cFJlY29yZE1vZGVsc1Jlc3BvbnNlEi0KB2VudHJpZXMYASADKAsyHC5yZWNvcmRzLnYxLlJlY29yZE1vZGVsRW50cnkisAEKE0dsb2JhbFNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSEgoKbW9kZWxfa2V5cxgCIAMoCRISCgVhZnRlchgDIAEoCUgAiAEBEhMKBmJlZm9yZRgEIAEoCUgBiAEBEhIKBWZpcnN0GAUgASgFSAKIAQESEQoEbGFzdBgGIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKRAQoQU2VhcmNoUmVzdWx0SXRlbRIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVzY29yZRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkioAEKFEdsb2JhbFNlYXJjaFJlc3BvbnNlEi0KB3JlY29yZHMYASADKAsyHC5yZWNvcmRzLnYxLlNlYXJjaFJlc3VsdEl0ZW0SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIqEBCg5FbWJlZGRpbmdTdGF0cxIRCgltb2RlbF9rZXkYASABKAkSFQoNdG90YWxfcmVjb3JkcxgCIAEoBRIYChBlbWJlZGRlZF9yZWNvcmRzGAMgASgFEhcKD3BlbmRpbmdfcmVjb3JkcxgEIAEoBRIdChBsYXN0X2VtYmVkZGVkX2F0GAUgASgJSACIAQFCEwoRX2xhc3RfZW1iZWRkZWRfYXQidQoPUmVjb3JkRW1iZWRkaW5nEhEKCXJlY29yZF9pZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSEgoKZGltZW5zaW9ucxgDIAEoBRIYCgtlbWJlZGRlZF9hdBgEIAEoCUgAiAEBQg4KDF9lbWJlZGRlZF9hdCKTAQoNU2ltaWxhclJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgpzaW1pbGFyaXR5GAUgASgBQg4KDF9uYXR1cmFsX2tleSJAChhHZXRFbWJlZGRpbmdTdGF0c1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQFCDAoKX21vZGVsX2tleSJGChlHZXRFbWJlZGRpbmdTdGF0c1Jlc3BvbnNlEikKBXN0YXRzGAEgAygLMhoucmVjb3Jkcy52MS5FbWJlZGRpbmdTdGF0cyIvChpHZXRSZWNvcmRFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkiTgobR2V0UmVjb3JkRW1iZWRkaW5nc1Jlc3BvbnNlEi8KCmVtYmVkZGluZ3MYASADKAsyGy5yZWNvcmRzLnYxLlJlY29yZEVtYmVkZGluZyLMAQoZRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSFgoJbW9kZWxfa2V5GAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIMCgpfbW9kZWxfa2V5QggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKUAQoaRmluZFNpbWlsYXJSZWNvcmRzUmVzcG9uc2USKgoHcmVjb3JkcxgBIAMoCzIZLnJlY29yZHMudjEuU2ltaWxhclJlY29yZBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJQgwKCl9wYWdlX2luZm8i4QEKFldyaXRlRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEg4KBnZlY3RvchgCIAMoAhISCgpkaW1lbnNpb25zGAMgASgFEhUKCHByb3ZpZGVyGAQgASgJSACIAQESFwoKbW9kZWxfbmFtZRgFIAEoCUgBiAEBEhAKA2tleRgGIAEoCUgCiAEBEhkKDGNvbnRlbnRfaGFzaBgHIAEoCUgDiAEBQgsKCV9wcm92aWRlckINCgtfbW9kZWxfbmFtZUIGCgRfa2V5Qg8KDV9jb250ZW50X2hhc2giKgoXV3JpdGVFbWJlZGRpbmdzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChdEZWxldGVFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkiKwoYRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiZwofRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhMKBnNvdXJjZRgDIAEoCUgAiAEBQgkKB19zb3VyY2UiNAogRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVzcG9uc2USEAoIZW5xdWV1ZWQYASABKAgizQEKF1NlYXJjaEVtYmVkZGluZ3NSZXF1ZXN0EhQKDHF1ZXJ5X3ZlY3RvchgBIAMoAhIWCgltb2RlbF9rZXkYAiABKAlIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQgwKCl9tb2RlbF9rZXlCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpIBChhTZWFyY2hFbWJlZGRpbmdzUmVzcG9uc2USKgoHcmVzdWx0cxgBIAMoCzIZLnJlY29yZHMudjEuU2ltaWxhclJlY29yZBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJQgwKCl9wYWdlX2luZm8iiQEKHlJlY29yZHNNaXNzaW5nRW1iZWRkaW5nUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEAoDa2V5GAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBQgYKBF9rZXlCCAoGX2FmdGVyQggKBl9maXJzdCJVChZNaXNzaW5nRW1iZWRkaW5nUmVjb3JkEhEKCXJlY29yZF9pZBgBIAEoCRIYCgtuYXR1cmFsX2tleRgCIAEoCUgAiAEBQg4KDF9uYXR1cmFsX2tleSKxAQofUmVjb3Jkc01pc3NpbmdFbWJlZGRpbmdSZXNwb25zZRIzCgdyZWNvcmRzGAEgAygLMiIucmVjb3Jkcy52MS5NaXNzaW5nRW1iZWRkaW5nUmVjb3JkEisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAkSDQoFdG90YWwYBCABKAVCDAoKX3BhZ2VfaW5mbyJtChdFbWJlZGRpbmdEaWdlc3RzUmVxdWVzdBISCgpyZWNvcmRfaWRzGAEgAygJEhAKA2tleRgCIAEoCUgAiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgBiAEBQgYKBF9rZXlCDAoKX21vZGVsX2tleSJQCg9FbWJlZGRpbmdEaWdlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhkKDGNvbnRlbnRfaGFzaBgCIAEoCUgAiAEBQg8KDV9jb250ZW50X2hhc2giSAoYRW1iZWRkaW5nRGlnZXN0c1Jlc3BvbnNlEiwKB2RpZ2VzdHMYASADKAsyGy5yZWNvcmRzLnYxLkVtYmVkZGluZ0RpZ2VzdCKfAgoTTG9va3VwUmVjb3JkUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEwoLbG9va3VwX25hbWUYAiABKAkSEAoIa2V5X2hhc2gYAyABKAwSDwoHY2hhbm5lbBgEIAEoCRIXCgp2YXJpYW50X2lkGAUgASgJSACIAQESEwoGbG9jYWxlGAYgASgJSAGIAQESGAoLY3VzdG9tZXJfaWQYByABKAlIAogBARI2ChBjdXN0b21lcl9jb250ZXh0GAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBQg0KC192YXJpYW50X2lkQgkKB19sb2NhbGVCDgoMX2N1c3RvbWVyX2lkQhMKEV9jdXN0b21lcl9jb250ZXh0IjwKFExvb2t1cFJlY29yZFJlc3BvbnNlEhYKCXJlY29yZF9pZBgBIAEoCUgAiAEBQgwKCl9yZWNvcmRfaWQi6QEKHkNoZWNrTG9va3VwQXZhaWxhYmlsaXR5UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEwoLbG9va3VwX25hbWUYAiABKAkSEAoIa2V5X2hhc2gYAyABKAwSDwoHY2hhbm5lbBgEIAEoCRIXCgp2YXJpYW50X2lkGAUgASgJSACIAQESEwoGbG9jYWxlGAYgASgJSAGIAQESHgoRZXhjbHVkZV9yZWNvcmRfaWQYByABKAlIAogBAUINCgtfdmFyaWFudF9pZEIJCgdfbG9jYWxlQhQKEl9leGNsdWRlX3JlY29yZF9pZCI0Ch9DaGVja0xvb2t1cEF2YWlsYWJpbGl0eVJlc3BvbnNlEhEKCWF2YWlsYWJsZRgBIAEoCCKXAQoUTG9va3VwQ29uZmxpY3REZXRhaWwSEQoJbW9kZWxfa2V5GAEgASgJEhMKC2xvb2t1cF9uYW1lGAIgASgJEg8KB2NoYW5uZWwYAyABKAkSFwoKdmFyaWFudF9pZBgEIAEoCUgAiAEBEhMKBmxvY2FsZRgFIAEoCUgBiAEBQg0KC192YXJpYW50X2lkQgkKB19sb2NhbGUi4gEKGkxpc3RMb29rdXBDb25mbGljdHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtsb29rdXBfbmFtZRgCIAEoCUgAiAEBEg8KB2NoYW5uZWwYAyABKAkSEgoFZmlyc3QYBCABKAVIAYgBARISCgVhZnRlchgFIAEoCUgCiAEBEhEKBGxhc3QYBiABKAVIA4gBARITCgZiZWZvcmUYByABKAlIBIgBAUIOCgxfbG9va3VwX25hbWVCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIqMBChtMaXN0TG9va3VwQ29uZmxpY3RzUmVzcG9uc2USKQoGZ3JvdXBzGAEgAygLMhkucmVjb3Jkcy52MS5Db25mbGljdEdyb3VwEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKVAQoNQ29uZmxpY3RHcm91cBITCgtlbmNvZGVkX2tleRgBIAEoCRIPCgdjaGFubmVsGAIgASgJEhcKCnZhcmlhbnRfaWQYAyABKAlIAIgBARIVCghvd25lcl9pZBgEIAEoCUgBiAEBEhIKCnJlY29yZF9pZHMYBSADKAlCDQoLX3ZhcmlhbnRfaWRCCwoJX293bmVyX2lkIi8KGlJlYnVpbGRNb2RlbExvb2t1cHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSI1ChtSZWJ1aWxkTW9kZWxMb29rdXBzUmVzcG9uc2USFgoOcmVjb3Jkc193YWxrZWQYASABKAUijQEKIkxpc3RTbG93UXVlcnlBZHZpc29yRW50cmllc1JlcXVlc3QSFQoNcmVzb3VyY2VfdHlwZRgBIAEoCRIZCgxyZXNvdXJjZV9rZXkYAiABKAlIAIgBARIWCglyb3dfbGltaXQYAyABKAVIAYgBAUIPCg1fcmVzb3VyY2Vfa2V5QgwKCl9yb3dfbGltaXQiWQojTGlzdFNsb3dRdWVyeUFkdmlzb3JFbnRyaWVzUmVzcG9uc2USMgoHZW50cmllcxgBIAMoCzIhLnJlY29yZHMudjEuU2xvd1F1ZXJ5QWR2aXNvckVudHJ5IqsBChVTbG93UXVlcnlBZHZpc29yRW50cnkSFQoNcmVzb3VyY2VfdHlwZRgBIAEoCRIUCgxyZXNvdXJjZV9rZXkYAiABKAkSEgoKZmllbGRfcGF0aBgDIAEoCRIQCghvcGVyYXRvchgEIAEoCRINCgVjb3VudBgFIAEoAxIwCgxsYXN0X3NlZW5fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjcKHlNsb3dRdWVyeUFkdmlzb3JTdW1tYXJ5UmVxdWVzdBIVCg1yZXNvdXJjZV90eXBlGAEgASgJImEKH1Nsb3dRdWVyeUFkdmlzb3JTdW1tYXJ5UmVzcG9uc2USPgoJcmVzb3VyY2VzGAEgAygLMisucmVjb3Jkcy52MS5TbG93UXVlcnlBZHZpc29yUmVzb3VyY2VTdW1tYXJ5ImAKH1Nsb3dRdWVyeUFkdmlzb3JSZXNvdXJjZVN1bW1hcnkSFAoMcmVzb3VyY2Vfa2V5GAEgASgJEhMKC2VudHJ5X2NvdW50GAIgASgFEhIKCnRvdGFsX2hpdHMYAyABKAMijAEKIUNsZWFyU2xvd1F1ZXJ5QWR2aXNvckVudHJ5UmVxdWVzdBIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhkKDHJlc291cmNlX2tleRgCIAEoCUgAiAEBEhIKCmZpZWxkX3BhdGgYAyABKAkSEAoIb3BlcmF0b3IYBCABKAlCDwoNX3Jlc291cmNlX2tleSIkCiJDbGVhclNsb3dRdWVyeUFkdmlzb3JFbnRyeVJlc3BvbnNlKnMKClJlY29yZFR5cGUSGwoXUkVDT1JEX1RZUEVfVU5TUEVDSUZJRUQQABIWChJSRUNPUkRfVFlQRV9SRUNPUkQQARIXChNSRUNPUkRfVFlQRV9WQVJJQU5UEAISFwoTUkVDT1JEX1RZUEVfVkVSU0lPThADKp0BChJCYXRjaE9wZXJhdGlvblR5cGUSJAogQkFUQ0hfT1BFUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9DUkVBVEUQARIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9VUERBVEUQAhIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9ERUxFVEUQAzKSJgoOUmVjb3Jkc1NlcnZpY2USUQoMQ3JlYXRlUmVjb3JkEh8ucmVjb3Jkcy52MS5DcmVhdGVSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5DcmVhdGVSZWNvcmRSZXNwb25zZRJICglHZXRSZWNvcmQSHC5yZWNvcmRzLnYxLkdldFJlY29yZFJlcXVlc3QaHS5yZWNvcmRzLnYxLkdldFJlY29yZFJlc3BvbnNlElcKDkdldFJlY29yZEJ5S2V5EiEucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleVJlcXVlc3QaIi5yZWNvcmRzLnYxLkdldFJlY29yZEJ5S2V5UmVzcG9uc2USYwoSR2V0UmVjb3JkQnlLZXlPcklkEiUucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleU9ySWRSZXF1ZXN0GiYucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRJOCgtMaXN0UmVjb3JkcxIeLnJlY29yZHMudjEuTGlzdFJlY29yZHNSZXF1ZXN0Gh8ucmVjb3Jkcy52MS5MaXN0UmVjb3Jkc1Jlc3BvbnNlElEKDFVwZGF0ZVJlY29yZBIfLnJlY29yZHMudjEuVXBkYXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuVXBkYXRlUmVjb3JkUmVzcG9uc2USVwoOQXV0b1NhdmVSZWNvcmQSIS5yZWNvcmRzLnYxLkF1dG9TYXZlUmVjb3JkUmVxdWVzdBoiLnJlY29yZHMudjEuQXV0b1NhdmVSZWNvcmRSZXNwb25zZRJRCgxVcHNlcnRSZWNvcmQSHy5yZWNvcmRzLnYxLlVwc2VydFJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLlVwc2VydFJlY29yZFJlc3BvbnNlElEKDERlbGV0ZVJlY29yZBIfLnJlY29yZHMudjEuRGVsZXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuRGVsZXRlUmVjb3JkUmVzcG9uc2USbAoVQmF0Y2hSZWNvcmRPcGVyYXRpb25zEigucmVjb3Jkcy52MS5CYXRjaFJlY29yZE9wZXJhdGlvbnNSZXF1ZXN0GikucmVjb3Jkcy52MS5CYXRjaFJlY29yZE9wZXJhdGlvbnNSZXNwb25zZRJgChFCdWxrVXBkYXRlUmVjb3JkcxIkLnJlY29yZHMudjEuQnVsa1VwZGF0ZVJlY29yZHNSZXF1ZXN0GiUucmVjb3Jkcy52MS5CdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEm8KFkJhY2tmaWxsUXVlcnlhYmxlSW5kZXgSKS5yZWNvcmRzLnYxLkJhY2tmaWxsUXVlcnlhYmxlSW5kZXhSZXF1ZXN0GioucmVjb3Jkcy52MS5CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVzcG9uc2USaQoUQmFja2ZpbGxNb2RlbEluZGV4ZXMSJy5yZWNvcmRzLnYxLkJhY2tmaWxsTW9kZWxJbmRleGVzUmVxdWVzdBooLnJlY29yZHMudjEuQmFja2ZpbGxNb2RlbEluZGV4ZXNSZXNwb25zZRJ+ChtMaXN0U2xvd1F1ZXJ5QWR2aXNvckVudHJpZXMSLi5yZWNvcmRzLnYxLkxpc3RTbG93UXVlcnlBZHZpc29yRW50cmllc1JlcXVlc3QaLy5yZWNvcmRzLnYxLkxpc3RTbG93UXVlcnlBZHZpc29yRW50cmllc1Jlc3BvbnNlEnIKF1Nsb3dRdWVyeUFkdmlzb3JTdW1tYXJ5EioucmVjb3Jkcy52MS5TbG93UXVlcnlBZHZpc29yU3VtbWFyeVJlcXVlc3QaKy5yZWNvcmRzLnYxLlNsb3dRdWVyeUFkdmlzb3JTdW1tYXJ5UmVzcG9uc2USewoaQ2xlYXJTbG93UXVlcnlBZHZpc29yRW50cnkSLS5yZWNvcmRzLnYxLkNsZWFyU2xvd1F1ZXJ5QWR2aXNvckVudHJ5UmVxdWVzdBouLnJlY29yZHMudjEuQ2xlYXJTbG93UXVlcnlBZHZpc29yRW50cnlSZXNwb25zZRJaCg9EdXBsaWNhdGVSZWNvcmQSIi5yZWNvcmRzLnYxLkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QaIy5yZWNvcmRzLnYxLkR1cGxpY2F0ZVJlY29yZFJlc3BvbnNlEmkKFER1cGxpY2F0ZVJlY29yZHNCdWxrEicucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QaKC5yZWNvcmRzLnYxLkR1cGxpY2F0ZVJlY29yZHNCdWxrUmVzcG9uc2USVwoOUHVibGlzaFZlcnNpb24SIS5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVxdWVzdBoiLnJlY29yZHMudjEuUHVibGlzaFZlcnNpb25SZXNwb25zZRJaCg9VbnB1Ymxpc2hSZWNvcmQSIi5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlcXVlc3QaIy5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlc3BvbnNlEloKD1JldmVydFRvVmVyc2lvbhIiLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVxdWVzdBojLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVzcG9uc2USYwoSTGlzdFJlY29yZFZlcnNpb25zEiUucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0GiYucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXNwb25zZRJUCg1DcmVhdGVWYXJpYW50EiAucmVjb3Jkcy52MS5DcmVhdGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuQ3JlYXRlVmFyaWFudFJlc3BvbnNlElQKDVVwZGF0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLlVwZGF0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5VcGRhdGVWYXJpYW50UmVzcG9uc2USVAoNRGVsZXRlVmFyaWFudBIgLnJlY29yZHMudjEuRGVsZXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLkRlbGV0ZVZhcmlhbnRSZXNwb25zZRJgChFTZXREZWZhdWx0VmFyaWFudBIkLnJlY29yZHMudjEuU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0GiUucmVjb3Jkcy52MS5TZXREZWZhdWx0VmFyaWFudFJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWYXJpYW50cxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVzcG9uc2USbAoVU2NoZWR1bGVSZWNvcmRQdWJsaXNoEigucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXF1ZXN0GikucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXNwb25zZRKBAQocQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaBIvLnJlY29yZHMudjEuQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlcXVlc3QaMC5yZWNvcmRzLnYxLkNhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRJvChZMaXN0U2NoZWR1bGVkUHVibGlzaGVzEikucmVjb3Jkcy52MS5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVxdWVzdBoqLnJlY29yZHMudjEuTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1Jlc3BvbnNlEmYKE0dldFNjaGVkdWxlZFB1Ymxpc2gSJi5yZWNvcmRzLnYxLkdldFNjaGVkdWxlZFB1Ymxpc2hSZXF1ZXN0GicucmVjb3Jkcy52MS5HZXRTY2hlZHVsZWRQdWJsaXNoUmVzcG9uc2USYAoRTGlzdERyYWZ0VmVyc2lvbnMSJC5yZWNvcmRzLnYxLkxpc3REcmFmdFZlcnNpb25zUmVxdWVzdBolLnJlY29yZHMudjEuTGlzdERyYWZ0VmVyc2lvbnNSZXNwb25zZRJpChRCYXRjaFB1Ymxpc2hWZXJzaW9ucxInLnJlY29yZHMudjEuQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0GigucmVjb3Jkcy52MS5CYXRjaFB1Ymxpc2hWZXJzaW9uc1Jlc3BvbnNlEmYKE0JhdGNoUmVzb2x2ZVJlY29yZHMSJi5yZWNvcmRzLnYxLkJhdGNoUmVzb2x2ZVJlY29yZHNSZXF1ZXN0GicucmVjb3Jkcy52MS5CYXRjaFJlc29sdmVSZWNvcmRzUmVzcG9uc2USYwoSTG9va3VwUmVjb3JkTW9kZWxzEiUucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRJRCgxHbG9iYWxTZWFyY2gSHy5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlcXVlc3QaIC5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlc3BvbnNlElEKDExvb2t1cFJlY29yZBIfLnJlY29yZHMudjEuTG9va3VwUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuTG9va3VwUmVjb3JkUmVzcG9uc2UScgoXQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHkSKi5yZWNvcmRzLnYxLkNoZWNrTG9va3VwQXZhaWxhYmlsaXR5UmVxdWVzdBorLnJlY29yZHMudjEuQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXNwb25zZRJmChNMaXN0TG9va3VwQ29uZmxpY3RzEiYucmVjb3Jkcy52MS5MaXN0TG9va3VwQ29uZmxpY3RzUmVxdWVzdBonLnJlY29yZHMudjEuTGlzdExvb2t1cENvbmZsaWN0c1Jlc3BvbnNlEmYKE1JlYnVpbGRNb2RlbExvb2t1cHMSJi5yZWNvcmRzLnYxLlJlYnVpbGRNb2RlbExvb2t1cHNSZXF1ZXN0GicucmVjb3Jkcy52MS5SZWJ1aWxkTW9kZWxMb29rdXBzUmVzcG9uc2USYAoRR2V0RW1iZWRkaW5nU3RhdHMSJC5yZWNvcmRzLnYxLkdldEVtYmVkZGluZ1N0YXRzUmVxdWVzdBolLnJlY29yZHMudjEuR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRJmChNHZXRSZWNvcmRFbWJlZGRpbmdzEiYucmVjb3Jkcy52MS5HZXRSZWNvcmRFbWJlZGRpbmdzUmVxdWVzdBonLnJlY29yZHMudjEuR2V0UmVjb3JkRW1iZWRkaW5nc1Jlc3BvbnNlEmMKEkZpbmRTaW1pbGFyUmVjb3JkcxIlLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBomLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVzcG9uc2USWgoPV3JpdGVFbWJlZGRpbmdzEiIucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXF1ZXN0GiMucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXNwb25zZRJdChBEZWxldGVFbWJlZGRpbmdzEiMucmVjb3Jkcy52MS5EZWxldGVFbWJlZGRpbmdzUmVxdWVzdBokLnJlY29yZHMudjEuRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEl0KEFNlYXJjaEVtYmVkZGluZ3MSIy5yZWNvcmRzLnYxLlNlYXJjaEVtYmVkZGluZ3NSZXF1ZXN0GiQucmVjb3Jkcy52MS5TZWFyY2hFbWJlZGRpbmdzUmVzcG9uc2UScgoXUmVjb3Jkc01pc3NpbmdFbWJlZGRpbmcSKi5yZWNvcmRzLnYxLlJlY29yZHNNaXNzaW5nRW1iZWRkaW5nUmVxdWVzdBorLnJlY29yZHMudjEuUmVjb3Jkc01pc3NpbmdFbWJlZGRpbmdSZXNwb25zZRJdChBFbWJlZGRpbmdEaWdlc3RzEiMucmVjb3Jkcy52MS5FbWJlZGRpbmdEaWdlc3RzUmVxdWVzdBokLnJlY29yZHMudjEuRW1iZWRkaW5nRGlnZXN0c1Jlc3BvbnNlEnUKGEVucXVldWVHZW5lcmF0ZUVtYmVkZGluZxIrLnJlY29yZHMudjEuRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVxdWVzdBosLnJlY29yZHMudjEuRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3JlY29yZHMvdjE7cmVjb3Jkc3YxYgZwcm90bzM", [file_google_protobuf_struct3, file_google_protobuf_timestamp4, file_common_v1_pagination, file_expressions_v1_expressions]);
864
+ var file_records_v1_records = /* @__PURE__ */ fileDesc7("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEipg0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIVCghvd25lcl9pZBgIIAEoCUgDiAEBEhcKCm93bmVyX2tpbmQYCSABKAlIBIgBARIRCgl0ZW5hbnRfaWQYCiABKAkSEgoKcHJvamVjdF9pZBgLIAEoCRIXCgpjcmVhdGVkX2J5GBQgASgJSAWIAQESFwoKdXBkYXRlZF9ieRgVIAEoCUgGiAEBEi4KCmNyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnZlcnNpb25fbnVtYmVyGCggASgFSAeIAQESGQoMY29udGVudF9oYXNoGCkgASgJSAiIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGCogASgJSAmIAQESGwoOcHVibGlzaF9zdGF0dXMYKyABKAlICogBARI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBgsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIC4gBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GC0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhgKC3ZhcmlhbnRfa2V5GDIgASgJSA2IAQESGQoMdmFyaWFudF9uYW1lGDMgASgJSA6IAQESIAoTdmFyaWFudF9kZXNjcmlwdGlvbhg0IAEoCUgPiAEBEhcKCmNhdGFsb2dfaWQYNSABKAlIEIgBARIVCghwcmlvcml0eRg2IAEoBUgRiAEBEjwKD3RhcmdldGluZ19ydWxlcxg3IAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSBKIAQESFwoKaXNfZGVmYXVsdBg4IAEoCEgTiAEBEh8KEmN1cnJlbnRfdmVyc2lvbl9pZBg8IAEoCUgUiAEBEiEKFHB1Ymxpc2hlZF92ZXJzaW9uX2lkGD0gASgJSBWIAQESJQoYcHVibGlzaGVkX3ZlcnNpb25fbnVtYmVyGD4gASgFSBaIAQESNQoMcHVibGlzaGVkX2F0GD8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgXiAEBEhkKDHB1Ymxpc2hlZF9ieRhAIAEoCUgYiAEBEhMKC2Nhbl9wdWJsaXNoGEEgASgIEhUKDWNhbl91bnB1Ymxpc2gYQiABKAgSHwoXaGFzX3VucHVibGlzaGVkX2NoYW5nZXMYQyABKAgSHQoQbW9kZWxfdmVyc2lvbl9pZBhGIAEoCUgZiAEBQg4KDF9uYXR1cmFsX2tleUIMCgpfcGFyZW50X2lkQgsKCV9tZXRhZGF0YUILCglfb3duZXJfaWRCDQoLX293bmVyX2tpbmRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCEQoPX3ZlcnNpb25fbnVtYmVyQg8KDV9jb250ZW50X2hhc2hCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkIRCg9fcHVibGlzaF9zdGF0dXNCFwoVX3NjaGVkdWxlZF9wdWJsaXNoX2F0QhkKF19zY2hlZHVsZWRfdW5wdWJsaXNoX2F0Qg4KDF92YXJpYW50X2tleUIPCg1fdmFyaWFudF9uYW1lQhYKFF92YXJpYW50X2Rlc2NyaXB0aW9uQg0KC19jYXRhbG9nX2lkQgsKCV9wcmlvcml0eUISChBfdGFyZ2V0aW5nX3J1bGVzQg0KC19pc19kZWZhdWx0QhUKE19jdXJyZW50X3ZlcnNpb25faWRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDwoNX3B1Ymxpc2hlZF9hdEIPCg1fcHVibGlzaGVkX2J5QhMKEV9tb2RlbF92ZXJzaW9uX2lkIvUBCg9QdWJsaXNoU2NoZWR1bGUSEgoKdmVyc2lvbl9pZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgFIAEoCUgBiAEBQg8KDV91bnB1Ymxpc2hfYXRCDQoLX2NyZWF0ZWRfYnkiLgoJU29ydEZpZWxkEg0KBWZpZWxkGAEgASgJEhIKCmRlc2NlbmRpbmcYAiABKAgi/wEKDkJhdGNoT3BlcmF0aW9uEiwKBHR5cGUYASABKA4yHi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uVHlwZRIPCgJpZBgCIAEoCUgAiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgBiAEBEhgKC25hdHVyYWxfa2V5GAQgASgJSAKIAQESKgoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIVCghvd25lcl9pZBgGIAEoCUgEiAEBQgUKA19pZEIMCgpfbW9kZWxfa2V5Qg4KDF9uYXR1cmFsX2tleUIHCgVfZGF0YUILCglfb3duZXJfaWQiiAEKFEJhdGNoT3BlcmF0aW9uUmVzdWx0Eg0KBWluZGV4GAEgASgFEg8KB3N1Y2Nlc3MYAiABKAgSJwoGcmVjb3JkGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARISCgVlcnJvchgEIAEoCUgBiAEBQgkKB19yZWNvcmRCCAoGX2Vycm9yIpICChNDcmVhdGVSZWNvcmRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtuYXR1cmFsX2tleRgCIAEoCUgAiAEBEiUKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKCG93bmVyX2lkGAQgASgJSAGIAQESLgoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAYgASgJSAOIAQFCDgoMX25hdHVyYWxfa2V5QgsKCV9vd25lcl9pZEILCglfbWV0YWRhdGFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKmAQoUQ3JlYXRlUmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSKAoHdmFyaWFudBgCIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSACIAQESKAoHdmVyc2lvbhgDIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSAGIAQFCCgoIX3ZhcmlhbnRCCgoIX3ZlcnNpb24iHgoQR2V0UmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSI3ChFHZXRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI/ChVHZXRSZWNvcmRCeUtleVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJIjwKFkdldFJlY29yZEJ5S2V5UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiQgoZR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKaWRlbnRpZmllchgCIAEoCSJAChpHZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCLQAgoSTGlzdFJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIjCgRzb3J0GAIgAygLMhUucmVjb3Jkcy52MS5Tb3J0RmllbGQSFQoIb3duZXJfaWQYAyABKAlIAIgBARITCgZzZWFyY2gYBCABKAlIAYgBARIPCgdwcmV2aWV3GAUgASgIEisKBXdoZXJlGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhIKBWFmdGVyGAcgASgJSAOIAQESEwoGYmVmb3JlGAggASgJSASIAQESEgoFZmlyc3QYCSABKAVIBYgBARIRCgRsYXN0GAogASgFSAaIAQFCCwoJX293bmVyX2lkQgkKB19zZWFyY2hCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKVAQoTTGlzdFJlY29yZHNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIpsCChNVcGRhdGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJEicKBnVwZGF0ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIYCgt2YXJpYW50X2tleRgEIAEoCUgBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEjIKDHJlcGxhY2VfZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUIOCgxfbmF0dXJhbF9rZXlCDgoMX3ZhcmlhbnRfa2V5QhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDwoNX3JlcGxhY2VfZGF0YSI6ChRVcGRhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJKChVBdXRvU2F2ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSJQoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiQwoWQXV0b1NhdmVSZWNvcmRSZXNwb25zZRIRCglwZXJzaXN0ZWQYASABKAgSFgoOc2tpcHBlZF9yZWFzb24YAiABKAkiIQoTRGVsZXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqcBChNVcHNlcnRSZWNvcmRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhEKCW1vZGVsX2tleRgDIAEoCRITCgtuYXR1cmFsX2tleRgEIAEoCRIlCgRkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIaChJjaGFuZ2VfZGVzY3JpcHRpb24YBiABKAkiSwoUVXBzZXJ0UmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSDwoHY3JlYXRlZBgCIAEoCCJOChxCYXRjaFJlY29yZE9wZXJhdGlvbnNSZXF1ZXN0Ei4KCm9wZXJhdGlvbnMYASADKAsyGi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uIlIKHUJhdGNoUmVjb3JkT3BlcmF0aW9uc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uUmVzdWx0Ip0BChhCdWxrVXBkYXRlUmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEisKBXdoZXJlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnVwZGF0ZRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIICgZfd2hlcmVCCQoHX3VwZGF0ZSI3ChlCdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEgsKA2lkcxgCIAMoCSIyCh1CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiOQoeQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlc3BvbnNlEhcKD3JlY29yZHNfaW5kZXhlZBgBIAEoBSIwChtCYWNrZmlsbE1vZGVsSW5kZXhlc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJImEKHEJhY2tmaWxsTW9kZWxJbmRleGVzUmVzcG9uc2USHgoWbG9va3Vwc19yZWNvcmRzX3dhbGtlZBgBIAEoBRIhChlxdWVyeWFibGVfcmVjb3Jkc19pbmRleGVkGAIgASgFIlYKFkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSHAoPbmV3X25hdHVyYWxfa2V5GAIgASgJSACIAQFCEgoQX25ld19uYXR1cmFsX2tleSI9ChdEdXBsaWNhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJQChtEdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QSCwoDaWRzGAEgAygJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiQwocRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQiKwoVUHVibGlzaFZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiPAoWUHVibGlzaFZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChZVbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIqChdVbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKFlJldmVydFRvVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI9ChdSZXZlcnRUb1ZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKmAQoZTGlzdFJlY29yZFZlcnNpb25zUmVxdWVzdBIRCglwYXJlbnRfaWQYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QinQEKGkxpc3RSZWNvcmRWZXJzaW9uc1Jlc3BvbnNlEiQKCHZlcnNpb25zGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvImUKFENyZWF0ZVZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRITCgt2YXJpYW50X2tleRgCIAEoCRIlCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI8ChVDcmVhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIpoBChRVcGRhdGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKDm1ldGFkYXRhX3BhdGNoGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQhEKD19tZXRhZGF0YV9wYXRjaCI8ChVVcGRhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIioKFERlbGV0ZVZhcmlhbnRSZXF1ZXN0EhIKCnZhcmlhbnRfaWQYASABKAkiKAoVRGVsZXRlVmFyaWFudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiQQoYU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRISCgp2YXJpYW50X2lkGAIgASgJIj8KGVNldERlZmF1bHRWYXJpYW50UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQipgEKGUxpc3RSZWNvcmRWYXJpYW50c1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Ip0BChpMaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRIkCgh2YXJpYW50cxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKqAQocU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IkQKHVNjaGVkdWxlUmVjb3JkUHVibGlzaFJlc3BvbnNlEiMKB3ZlcnNpb24YASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI5CiNDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIksKJENhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiqQIKHUxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXF1ZXN0Ei0KBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESKwoCdG8YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJbW9kZWxfa2V5GAMgASgJSAKIAQESEgoFYWZ0ZXIYBCABKAlIA4gBARITCgZiZWZvcmUYBSABKAlIBIgBARISCgVmaXJzdBgGIAEoBUgFiAEBEhEKBGxhc3QYByABKAVIBogBAUIHCgVfZnJvbUIFCgNfdG9CDAoKX21vZGVsX2tleUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QioQEKHkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXNwb25zZRIkCgh2ZXJzaW9ucxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIwChpHZXRTY2hlZHVsZWRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIkwKG0dldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRItCghzY2hlZHVsZRgBIAEoCzIbLnJlY29yZHMudjEuUHVibGlzaFNjaGVkdWxlIvIBChhMaXN0RHJhZnRWZXJzaW9uc1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQESEwoGc2VhcmNoGAIgASgJSAGIAQESEgoFYWZ0ZXIYBiABKAlIAogBARITCgZiZWZvcmUYByABKAlIA4gBARISCgVmaXJzdBgIIAEoBUgEiAEBEhEKBGxhc3QYCSABKAVIBYgBARIYChBkZWR1cGVfYnlfcGFyZW50GAUgASgIQgwKCl9tb2RlbF9rZXlCCQoHX3NlYXJjaEIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QinAEKGUxpc3REcmFmdFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iMgobQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0EhMKC3ZlcnNpb25faWRzGAEgAygJIlwKHEJhdGNoUHVibGlzaFZlcnNpb25zUmVzcG9uc2USIwoHcmVjb3JkcxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEhcKD3B1Ymxpc2hlZF9jb3VudBgCIAEoBSK5AQoaQmF0Y2hSZXNvbHZlUmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhIKCnJlY29yZF9pZHMYAiADKAkSGAoLY3VzdG9tZXJfaWQYAyABKAlIAIgBARItCgdjb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEg8KB3ByZXZpZXcYBSABKAhCDgoMX2N1c3RvbWVyX2lkQgoKCF9jb250ZXh0IkoKG0JhdGNoUmVzb2x2ZVJlY29yZHNSZXNwb25zZRIrCgdyZWNvcmRzGAEgAygLMhoucmVjb3Jkcy52MS5SZXNvbHZlZFJlY29yZCKZAwoOUmVzb2x2ZWRSZWNvcmQSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgp2YXJpYW50X2lkGAYgASgJSAGIAQESEQoJaGFzX2RyYWZ0GAggASgIEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKCG93bmVyX2lkGAsgASgJSAKIAQESFwoKb3duZXJfa2luZBgMIAEoCUgDiAEBQg4KDF9uYXR1cmFsX2tleUINCgtfdmFyaWFudF9pZEILCglfb3duZXJfaWRCDQoLX293bmVyX2tpbmQiLwoZTG9va3VwUmVjb3JkTW9kZWxzUmVxdWVzdBISCgpyZWNvcmRfaWRzGAEgAygJIjgKEFJlY29yZE1vZGVsRW50cnkSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCSJLChpMb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRItCgdlbnRyaWVzGAEgAygLMhwucmVjb3Jkcy52MS5SZWNvcmRNb2RlbEVudHJ5IrABChNHbG9iYWxTZWFyY2hSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhIKCm1vZGVsX2tleXMYAiADKAkSEgoFYWZ0ZXIYAyABKAlIAIgBARITCgZiZWZvcmUYBCABKAlIAYgBARISCgVmaXJzdBgFIAEoBUgCiAEBEhEKBGxhc3QYBiABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikQEKEFNlYXJjaFJlc3VsdEl0ZW0SCgoCaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDQoFc2NvcmUYBSABKAFCDgoMX25hdHVyYWxfa2V5IqABChRHbG9iYWxTZWFyY2hSZXNwb25zZRItCgdyZWNvcmRzGAEgAygLMhwucmVjb3Jkcy52MS5TZWFyY2hSZXN1bHRJdGVtEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKhAQoORW1iZWRkaW5nU3RhdHMSEQoJbW9kZWxfa2V5GAEgASgJEhUKDXRvdGFsX3JlY29yZHMYAiABKAUSGAoQZW1iZWRkZWRfcmVjb3JkcxgDIAEoBRIXCg9wZW5kaW5nX3JlY29yZHMYBCABKAUSHQoQbGFzdF9lbWJlZGRlZF9hdBgFIAEoCUgAiAEBQhMKEV9sYXN0X2VtYmVkZGVkX2F0InUKD1JlY29yZEVtYmVkZGluZxIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhIKCmRpbWVuc2lvbnMYAyABKAUSGAoLZW1iZWRkZWRfYXQYBCABKAlIAIgBAUIOCgxfZW1iZWRkZWRfYXQikwEKDVNpbWlsYXJSZWNvcmQSCgoCaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoKc2ltaWxhcml0eRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkiQAoYR2V0RW1iZWRkaW5nU3RhdHNSZXF1ZXN0EhYKCW1vZGVsX2tleRgBIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiRgoZR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRIpCgVzdGF0cxgBIAMoCzIaLnJlY29yZHMudjEuRW1iZWRkaW5nU3RhdHMiLwoaR2V0UmVjb3JkRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIk4KG0dldFJlY29yZEVtYmVkZGluZ3NSZXNwb25zZRIvCgplbWJlZGRpbmdzGAEgAygLMhsucmVjb3Jkcy52MS5SZWNvcmRFbWJlZGRpbmcizAEKGUZpbmRTaW1pbGFyUmVjb3Jkc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCDAoKX21vZGVsX2tleUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilAEKGkZpbmRTaW1pbGFyUmVjb3Jkc1Jlc3BvbnNlEioKB3JlY29yZHMYASADKAsyGS5yZWNvcmRzLnYxLlNpbWlsYXJSZWNvcmQSKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIuEBChZXcml0ZUVtYmVkZGluZ3NSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIOCgZ2ZWN0b3IYAiADKAISEgoKZGltZW5zaW9ucxgDIAEoBRIVCghwcm92aWRlchgEIAEoCUgAiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIAYgBARIQCgNrZXkYBiABKAlIAogBARIZCgxjb250ZW50X2hhc2gYByABKAlIA4gBAUILCglfcHJvdmlkZXJCDQoLX21vZGVsX25hbWVCBgoEX2tleUIPCg1fY29udGVudF9oYXNoIioKF1dyaXRlRW1iZWRkaW5nc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLAoXRGVsZXRlRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIisKGERlbGV0ZUVtYmVkZGluZ3NSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIImcKH0VucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRITCgZzb3VyY2UYAyABKAlIAIgBAUIJCgdfc291cmNlIjQKIEVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1Jlc3BvbnNlEhAKCGVucXVldWVkGAEgASgIIs0BChdTZWFyY2hFbWJlZGRpbmdzUmVxdWVzdBIUCgxxdWVyeV92ZWN0b3IYASADKAISFgoJbW9kZWxfa2V5GAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIMCgpfbW9kZWxfa2V5QggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKSAQoYU2VhcmNoRW1iZWRkaW5nc1Jlc3BvbnNlEioKB3Jlc3VsdHMYASADKAsyGS5yZWNvcmRzLnYxLlNpbWlsYXJSZWNvcmQSKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIokBCh5SZWNvcmRzTWlzc2luZ0VtYmVkZGluZ1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhAKA2tleRgCIAEoCUgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBAUIGCgRfa2V5QggKBl9hZnRlckIICgZfZmlyc3QiVQoWTWlzc2luZ0VtYmVkZGluZ1JlY29yZBIRCglyZWNvcmRfaWQYASABKAkSGAoLbmF0dXJhbF9rZXkYAiABKAlIAIgBAUIOCgxfbmF0dXJhbF9rZXkisQEKH1JlY29yZHNNaXNzaW5nRW1iZWRkaW5nUmVzcG9uc2USMwoHcmVjb3JkcxgBIAMoCzIiLnJlY29yZHMudjEuTWlzc2luZ0VtYmVkZGluZ1JlY29yZBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJEg0KBXRvdGFsGAQgASgFQgwKCl9wYWdlX2luZm8ibQoXRW1iZWRkaW5nRGlnZXN0c1JlcXVlc3QSEgoKcmVjb3JkX2lkcxgBIAMoCRIQCgNrZXkYAiABKAlIAIgBARIWCgltb2RlbF9rZXkYAyABKAlIAYgBAUIGCgRfa2V5QgwKCl9tb2RlbF9rZXkiUAoPRW1iZWRkaW5nRGlnZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIZCgxjb250ZW50X2hhc2gYAiABKAlIAIgBAUIPCg1fY29udGVudF9oYXNoIkgKGEVtYmVkZGluZ0RpZ2VzdHNSZXNwb25zZRIsCgdkaWdlc3RzGAEgAygLMhsucmVjb3Jkcy52MS5FbWJlZGRpbmdEaWdlc3QilwEKDE5lYXJieVJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9kaXN0YW5jZV9tZXRlcnMYBSABKAFCDgoMX25hdHVyYWxfa2V5IpkCChdTZWFyY2hCeUxvY2F0aW9uUmVxdWVzdBILCgNsYXQYASABKAESCwoDbG5nGAIgASgBEhoKDXJhZGl1c19tZXRlcnMYAyABKAFIAIgBARIWCgltb2RlbF9rZXkYBCABKAlIAYgBARIQCgNrZXkYBSABKAlIAogBARISCgVhZnRlchgGIAEoCUgDiAEBEhMKBmJlZm9yZRgHIAEoCUgEiAEBEhIKBWZpcnN0GAggASgFSAWIAQESEQoEbGFzdBgJIAEoBUgGiAEBQhAKDl9yYWRpdXNfbWV0ZXJzQgwKCl9tb2RlbF9rZXlCBgoEX2tleUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikQEKGFNlYXJjaEJ5TG9jYXRpb25SZXNwb25zZRIpCgdyZXN1bHRzGAEgAygLMhgucmVjb3Jkcy52MS5OZWFyYnlSZWNvcmQSKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIvoBChlGaW5kTmVhcmVzdFJlY29yZHNSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIaCg1yYWRpdXNfbWV0ZXJzGAIgASgBSACIAQESFgoJbW9kZWxfa2V5GAMgASgJSAGIAQESEgoFYWZ0ZXIYBCABKAlIAogBARITCgZiZWZvcmUYBSABKAlIA4gBARISCgVmaXJzdBgGIAEoBUgEiAEBEhEKBGxhc3QYByABKAVIBYgBAUIQCg5fcmFkaXVzX21ldGVyc0IMCgpfbW9kZWxfa2V5QggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKTAQoaRmluZE5lYXJlc3RSZWNvcmRzUmVzcG9uc2USKQoHcmVjb3JkcxgBIAMoCzIYLnJlY29yZHMudjEuTmVhcmJ5UmVjb3JkEisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAlCDAoKX3BhZ2VfaW5mbyJUChVNaXNzaW5nR2VvbWV0cnlSZWNvcmQSEQoJcmVjb3JkX2lkGAEgASgJEhgKC25hdHVyYWxfa2V5GAIgASgJSACIAQFCDgoMX25hdHVyYWxfa2V5IogBCh1SZWNvcmRzTWlzc2luZ0dlb21ldHJ5UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEAoDa2V5GAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBQgYKBF9rZXlCCAoGX2FmdGVyQggKBl9maXJzdCKvAQoeUmVjb3Jkc01pc3NpbmdHZW9tZXRyeVJlc3BvbnNlEjIKB3JlY29yZHMYASADKAsyIS5yZWNvcmRzLnYxLk1pc3NpbmdHZW9tZXRyeVJlY29yZBIrCglwYWdlX2luZm8YAiABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAMgAygJEg0KBXRvdGFsGAQgASgFQgwKCl9wYWdlX2luZm8iMgodQmFja2ZpbGxSZWNvcmRHZW9tZXRyeVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJIjkKHkJhY2tmaWxsUmVjb3JkR2VvbWV0cnlSZXNwb25zZRIXCg9yZWNvcmRzX2luZGV4ZWQYASABKAUinwIKE0xvb2t1cFJlY29yZFJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC2xvb2t1cF9uYW1lGAIgASgJEhAKCGtleV9oYXNoGAMgASgMEg8KB2NoYW5uZWwYBCABKAkSFwoKdmFyaWFudF9pZBgFIAEoCUgAiAEBEhMKBmxvY2FsZRgGIAEoCUgBiAEBEhgKC2N1c3RvbWVyX2lkGAcgASgJSAKIAQESNgoQY3VzdG9tZXJfY29udGV4dBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUINCgtfdmFyaWFudF9pZEIJCgdfbG9jYWxlQg4KDF9jdXN0b21lcl9pZEITChFfY3VzdG9tZXJfY29udGV4dCI8ChRMb29rdXBSZWNvcmRSZXNwb25zZRIWCglyZWNvcmRfaWQYASABKAlIAIgBAUIMCgpfcmVjb3JkX2lkIukBCh5DaGVja0xvb2t1cEF2YWlsYWJpbGl0eVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC2xvb2t1cF9uYW1lGAIgASgJEhAKCGtleV9oYXNoGAMgASgMEg8KB2NoYW5uZWwYBCABKAkSFwoKdmFyaWFudF9pZBgFIAEoCUgAiAEBEhMKBmxvY2FsZRgGIAEoCUgBiAEBEh4KEWV4Y2x1ZGVfcmVjb3JkX2lkGAcgASgJSAKIAQFCDQoLX3ZhcmlhbnRfaWRCCQoHX2xvY2FsZUIUChJfZXhjbHVkZV9yZWNvcmRfaWQiNAofQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXNwb25zZRIRCglhdmFpbGFibGUYASABKAgilwEKFExvb2t1cENvbmZsaWN0RGV0YWlsEhEKCW1vZGVsX2tleRgBIAEoCRITCgtsb29rdXBfbmFtZRgCIAEoCRIPCgdjaGFubmVsGAMgASgJEhcKCnZhcmlhbnRfaWQYBCABKAlIAIgBARITCgZsb2NhbGUYBSABKAlIAYgBAUINCgtfdmFyaWFudF9pZEIJCgdfbG9jYWxlIuIBChpMaXN0TG9va3VwQ29uZmxpY3RzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSGAoLbG9va3VwX25hbWUYAiABKAlIAIgBARIPCgdjaGFubmVsGAMgASgJEhIKBWZpcnN0GAQgASgFSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBARIRCgRsYXN0GAYgASgFSAOIAQESEwoGYmVmb3JlGAcgASgJSASIAQFCDgoMX2xvb2t1cF9uYW1lQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSKjAQobTGlzdExvb2t1cENvbmZsaWN0c1Jlc3BvbnNlEikKBmdyb3VwcxgBIAMoCzIZLnJlY29yZHMudjEuQ29uZmxpY3RHcm91cBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ilQEKDUNvbmZsaWN0R3JvdXASEwoLZW5jb2RlZF9rZXkYASABKAkSDwoHY2hhbm5lbBgCIAEoCRIXCgp2YXJpYW50X2lkGAMgASgJSACIAQESFQoIb3duZXJfaWQYBCABKAlIAYgBARISCgpyZWNvcmRfaWRzGAUgAygJQg0KC192YXJpYW50X2lkQgsKCV9vd25lcl9pZCIvChpSZWJ1aWxkTW9kZWxMb29rdXBzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiNQobUmVidWlsZE1vZGVsTG9va3Vwc1Jlc3BvbnNlEhYKDnJlY29yZHNfd2Fsa2VkGAEgASgFIo0BCiJMaXN0U2xvd1F1ZXJ5QWR2aXNvckVudHJpZXNSZXF1ZXN0EhUKDXJlc291cmNlX3R5cGUYASABKAkSGQoMcmVzb3VyY2Vfa2V5GAIgASgJSACIAQESFgoJcm93X2xpbWl0GAMgASgFSAGIAQFCDwoNX3Jlc291cmNlX2tleUIMCgpfcm93X2xpbWl0IlkKI0xpc3RTbG93UXVlcnlBZHZpc29yRW50cmllc1Jlc3BvbnNlEjIKB2VudHJpZXMYASADKAsyIS5yZWNvcmRzLnYxLlNsb3dRdWVyeUFkdmlzb3JFbnRyeSKrAQoVU2xvd1F1ZXJ5QWR2aXNvckVudHJ5EhUKDXJlc291cmNlX3R5cGUYASABKAkSFAoMcmVzb3VyY2Vfa2V5GAIgASgJEhIKCmZpZWxkX3BhdGgYAyABKAkSEAoIb3BlcmF0b3IYBCABKAkSDQoFY291bnQYBSABKAMSMAoMbGFzdF9zZWVuX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI3Ch5TbG93UXVlcnlBZHZpc29yU3VtbWFyeVJlcXVlc3QSFQoNcmVzb3VyY2VfdHlwZRgBIAEoCSJhCh9TbG93UXVlcnlBZHZpc29yU3VtbWFyeVJlc3BvbnNlEj4KCXJlc291cmNlcxgBIAMoCzIrLnJlY29yZHMudjEuU2xvd1F1ZXJ5QWR2aXNvclJlc291cmNlU3VtbWFyeSJgCh9TbG93UXVlcnlBZHZpc29yUmVzb3VyY2VTdW1tYXJ5EhQKDHJlc291cmNlX2tleRgBIAEoCRITCgtlbnRyeV9jb3VudBgCIAEoBRISCgp0b3RhbF9oaXRzGAMgASgDIowBCiFDbGVhclNsb3dRdWVyeUFkdmlzb3JFbnRyeVJlcXVlc3QSFQoNcmVzb3VyY2VfdHlwZRgBIAEoCRIZCgxyZXNvdXJjZV9rZXkYAiABKAlIAIgBARISCgpmaWVsZF9wYXRoGAMgASgJEhAKCG9wZXJhdG9yGAQgASgJQg8KDV9yZXNvdXJjZV9rZXkiJAoiQ2xlYXJTbG93UXVlcnlBZHZpc29yRW50cnlSZXNwb25zZSpzCgpSZWNvcmRUeXBlEhsKF1JFQ09SRF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUkVDT1JEX1RZUEVfUkVDT1JEEAESFwoTUkVDT1JEX1RZUEVfVkFSSUFOVBACEhcKE1JFQ09SRF9UWVBFX1ZFUlNJT04QAyqdAQoSQmF0Y2hPcGVyYXRpb25UeXBlEiQKIEJBVENIX09QRVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfQ1JFQVRFEAESHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfVVBEQVRFEAISHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfREVMRVRFEAMyuCkKDlJlY29yZHNTZXJ2aWNlElEKDENyZWF0ZVJlY29yZBIfLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVzcG9uc2USSAoJR2V0UmVjb3JkEhwucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXF1ZXN0Gh0ucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXNwb25zZRJXCg5HZXRSZWNvcmRCeUtleRIhLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlSZXF1ZXN0GiIucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleVJlc3BvbnNlEmMKEkdldFJlY29yZEJ5S2V5T3JJZBIlLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBomLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVzcG9uc2USTgoLTGlzdFJlY29yZHMSHi5yZWNvcmRzLnYxLkxpc3RSZWNvcmRzUmVxdWVzdBofLnJlY29yZHMudjEuTGlzdFJlY29yZHNSZXNwb25zZRJRCgxVcGRhdGVSZWNvcmQSHy5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlc3BvbnNlElcKDkF1dG9TYXZlUmVjb3JkEiEucmVjb3Jkcy52MS5BdXRvU2F2ZVJlY29yZFJlcXVlc3QaIi5yZWNvcmRzLnYxLkF1dG9TYXZlUmVjb3JkUmVzcG9uc2USUQoMVXBzZXJ0UmVjb3JkEh8ucmVjb3Jkcy52MS5VcHNlcnRSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5VcHNlcnRSZWNvcmRSZXNwb25zZRJRCgxEZWxldGVSZWNvcmQSHy5yZWNvcmRzLnYxLkRlbGV0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLkRlbGV0ZVJlY29yZFJlc3BvbnNlEmwKFUJhdGNoUmVjb3JkT3BlcmF0aW9ucxIoLnJlY29yZHMudjEuQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVxdWVzdBopLnJlY29yZHMudjEuQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVzcG9uc2USYAoRQnVsa1VwZGF0ZVJlY29yZHMSJC5yZWNvcmRzLnYxLkJ1bGtVcGRhdGVSZWNvcmRzUmVxdWVzdBolLnJlY29yZHMudjEuQnVsa1VwZGF0ZVJlY29yZHNSZXNwb25zZRJvChZCYWNrZmlsbFF1ZXJ5YWJsZUluZGV4EikucmVjb3Jkcy52MS5CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVxdWVzdBoqLnJlY29yZHMudjEuQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlc3BvbnNlEmkKFEJhY2tmaWxsTW9kZWxJbmRleGVzEicucmVjb3Jkcy52MS5CYWNrZmlsbE1vZGVsSW5kZXhlc1JlcXVlc3QaKC5yZWNvcmRzLnYxLkJhY2tmaWxsTW9kZWxJbmRleGVzUmVzcG9uc2USfgobTGlzdFNsb3dRdWVyeUFkdmlzb3JFbnRyaWVzEi4ucmVjb3Jkcy52MS5MaXN0U2xvd1F1ZXJ5QWR2aXNvckVudHJpZXNSZXF1ZXN0Gi8ucmVjb3Jkcy52MS5MaXN0U2xvd1F1ZXJ5QWR2aXNvckVudHJpZXNSZXNwb25zZRJyChdTbG93UXVlcnlBZHZpc29yU3VtbWFyeRIqLnJlY29yZHMudjEuU2xvd1F1ZXJ5QWR2aXNvclN1bW1hcnlSZXF1ZXN0GisucmVjb3Jkcy52MS5TbG93UXVlcnlBZHZpc29yU3VtbWFyeVJlc3BvbnNlEnsKGkNsZWFyU2xvd1F1ZXJ5QWR2aXNvckVudHJ5Ei0ucmVjb3Jkcy52MS5DbGVhclNsb3dRdWVyeUFkdmlzb3JFbnRyeVJlcXVlc3QaLi5yZWNvcmRzLnYxLkNsZWFyU2xvd1F1ZXJ5QWR2aXNvckVudHJ5UmVzcG9uc2USWgoPRHVwbGljYXRlUmVjb3JkEiIucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXNwb25zZRJpChREdXBsaWNhdGVSZWNvcmRzQnVsaxInLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXF1ZXN0GigucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRzQnVsa1Jlc3BvbnNlElcKDlB1Ymxpc2hWZXJzaW9uEiEucmVjb3Jkcy52MS5QdWJsaXNoVmVyc2lvblJlcXVlc3QaIi5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVzcG9uc2USWgoPVW5wdWJsaXNoUmVjb3JkEiIucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRJaCg9SZXZlcnRUb1ZlcnNpb24SIi5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlcXVlc3QaIy5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWZXJzaW9ucxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USVAoNQ3JlYXRlVmFyaWFudBIgLnJlY29yZHMudjEuQ3JlYXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLkNyZWF0ZVZhcmlhbnRSZXNwb25zZRJUCg1VcGRhdGVWYXJpYW50EiAucmVjb3Jkcy52MS5VcGRhdGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuVXBkYXRlVmFyaWFudFJlc3BvbnNlElQKDURlbGV0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLkRlbGV0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5EZWxldGVWYXJpYW50UmVzcG9uc2USYAoRU2V0RGVmYXVsdFZhcmlhbnQSJC5yZWNvcmRzLnYxLlNldERlZmF1bHRWYXJpYW50UmVxdWVzdBolLnJlY29yZHMudjEuU2V0RGVmYXVsdFZhcmlhbnRSZXNwb25zZRJjChJMaXN0UmVjb3JkVmFyaWFudHMSJS5yZWNvcmRzLnYxLkxpc3RSZWNvcmRWYXJpYW50c1JlcXVlc3QaJi5yZWNvcmRzLnYxLkxpc3RSZWNvcmRWYXJpYW50c1Jlc3BvbnNlEmwKFVNjaGVkdWxlUmVjb3JkUHVibGlzaBIoLnJlY29yZHMudjEuU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVxdWVzdBopLnJlY29yZHMudjEuU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVzcG9uc2USgQEKHENhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2gSLy5yZWNvcmRzLnYxLkNhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXF1ZXN0GjAucmVjb3Jkcy52MS5DYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVzcG9uc2USbwoWTGlzdFNjaGVkdWxlZFB1Ymxpc2hlcxIpLnJlY29yZHMudjEuTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1JlcXVlc3QaKi5yZWNvcmRzLnYxLkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXNwb25zZRJmChNHZXRTY2hlZHVsZWRQdWJsaXNoEiYucmVjb3Jkcy52MS5HZXRTY2hlZHVsZWRQdWJsaXNoUmVxdWVzdBonLnJlY29yZHMudjEuR2V0U2NoZWR1bGVkUHVibGlzaFJlc3BvbnNlEmAKEUxpc3REcmFmdFZlcnNpb25zEiQucmVjb3Jkcy52MS5MaXN0RHJhZnRWZXJzaW9uc1JlcXVlc3QaJS5yZWNvcmRzLnYxLkxpc3REcmFmdFZlcnNpb25zUmVzcG9uc2USaQoUQmF0Y2hQdWJsaXNoVmVyc2lvbnMSJy5yZWNvcmRzLnYxLkJhdGNoUHVibGlzaFZlcnNpb25zUmVxdWVzdBooLnJlY29yZHMudjEuQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXNwb25zZRJmChNCYXRjaFJlc29sdmVSZWNvcmRzEiYucmVjb3Jkcy52MS5CYXRjaFJlc29sdmVSZWNvcmRzUmVxdWVzdBonLnJlY29yZHMudjEuQmF0Y2hSZXNvbHZlUmVjb3Jkc1Jlc3BvbnNlEmMKEkxvb2t1cFJlY29yZE1vZGVscxIlLnJlY29yZHMudjEuTG9va3VwUmVjb3JkTW9kZWxzUmVxdWVzdBomLnJlY29yZHMudjEuTG9va3VwUmVjb3JkTW9kZWxzUmVzcG9uc2USUQoMR2xvYmFsU2VhcmNoEh8ucmVjb3Jkcy52MS5HbG9iYWxTZWFyY2hSZXF1ZXN0GiAucmVjb3Jkcy52MS5HbG9iYWxTZWFyY2hSZXNwb25zZRJRCgxMb29rdXBSZWNvcmQSHy5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZFJlc3BvbnNlEnIKF0NoZWNrTG9va3VwQXZhaWxhYmlsaXR5EioucmVjb3Jkcy52MS5DaGVja0xvb2t1cEF2YWlsYWJpbGl0eVJlcXVlc3QaKy5yZWNvcmRzLnYxLkNoZWNrTG9va3VwQXZhaWxhYmlsaXR5UmVzcG9uc2USZgoTTGlzdExvb2t1cENvbmZsaWN0cxImLnJlY29yZHMudjEuTGlzdExvb2t1cENvbmZsaWN0c1JlcXVlc3QaJy5yZWNvcmRzLnYxLkxpc3RMb29rdXBDb25mbGljdHNSZXNwb25zZRJmChNSZWJ1aWxkTW9kZWxMb29rdXBzEiYucmVjb3Jkcy52MS5SZWJ1aWxkTW9kZWxMb29rdXBzUmVxdWVzdBonLnJlY29yZHMudjEuUmVidWlsZE1vZGVsTG9va3Vwc1Jlc3BvbnNlEmAKEUdldEVtYmVkZGluZ1N0YXRzEiQucmVjb3Jkcy52MS5HZXRFbWJlZGRpbmdTdGF0c1JlcXVlc3QaJS5yZWNvcmRzLnYxLkdldEVtYmVkZGluZ1N0YXRzUmVzcG9uc2USZgoTR2V0UmVjb3JkRW1iZWRkaW5ncxImLnJlY29yZHMudjEuR2V0UmVjb3JkRW1iZWRkaW5nc1JlcXVlc3QaJy5yZWNvcmRzLnYxLkdldFJlY29yZEVtYmVkZGluZ3NSZXNwb25zZRJjChJGaW5kU2ltaWxhclJlY29yZHMSJS5yZWNvcmRzLnYxLkZpbmRTaW1pbGFyUmVjb3Jkc1JlcXVlc3QaJi5yZWNvcmRzLnYxLkZpbmRTaW1pbGFyUmVjb3Jkc1Jlc3BvbnNlEloKD1dyaXRlRW1iZWRkaW5ncxIiLnJlY29yZHMudjEuV3JpdGVFbWJlZGRpbmdzUmVxdWVzdBojLnJlY29yZHMudjEuV3JpdGVFbWJlZGRpbmdzUmVzcG9uc2USXQoQRGVsZXRlRW1iZWRkaW5ncxIjLnJlY29yZHMudjEuRGVsZXRlRW1iZWRkaW5nc1JlcXVlc3QaJC5yZWNvcmRzLnYxLkRlbGV0ZUVtYmVkZGluZ3NSZXNwb25zZRJdChBTZWFyY2hFbWJlZGRpbmdzEiMucmVjb3Jkcy52MS5TZWFyY2hFbWJlZGRpbmdzUmVxdWVzdBokLnJlY29yZHMudjEuU2VhcmNoRW1iZWRkaW5nc1Jlc3BvbnNlEnIKF1JlY29yZHNNaXNzaW5nRW1iZWRkaW5nEioucmVjb3Jkcy52MS5SZWNvcmRzTWlzc2luZ0VtYmVkZGluZ1JlcXVlc3QaKy5yZWNvcmRzLnYxLlJlY29yZHNNaXNzaW5nRW1iZWRkaW5nUmVzcG9uc2USXQoQRW1iZWRkaW5nRGlnZXN0cxIjLnJlY29yZHMudjEuRW1iZWRkaW5nRGlnZXN0c1JlcXVlc3QaJC5yZWNvcmRzLnYxLkVtYmVkZGluZ0RpZ2VzdHNSZXNwb25zZRJ1ChhFbnF1ZXVlR2VuZXJhdGVFbWJlZGRpbmcSKy5yZWNvcmRzLnYxLkVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1JlcXVlc3QaLC5yZWNvcmRzLnYxLkVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1Jlc3BvbnNlEl0KEFNlYXJjaEJ5TG9jYXRpb24SIy5yZWNvcmRzLnYxLlNlYXJjaEJ5TG9jYXRpb25SZXF1ZXN0GiQucmVjb3Jkcy52MS5TZWFyY2hCeUxvY2F0aW9uUmVzcG9uc2USYwoSRmluZE5lYXJlc3RSZWNvcmRzEiUucmVjb3Jkcy52MS5GaW5kTmVhcmVzdFJlY29yZHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5GaW5kTmVhcmVzdFJlY29yZHNSZXNwb25zZRJvChZSZWNvcmRzTWlzc2luZ0dlb21ldHJ5EikucmVjb3Jkcy52MS5SZWNvcmRzTWlzc2luZ0dlb21ldHJ5UmVxdWVzdBoqLnJlY29yZHMudjEuUmVjb3Jkc01pc3NpbmdHZW9tZXRyeVJlc3BvbnNlEm8KFkJhY2tmaWxsUmVjb3JkR2VvbWV0cnkSKS5yZWNvcmRzLnYxLkJhY2tmaWxsUmVjb3JkR2VvbWV0cnlSZXF1ZXN0GioucmVjb3Jkcy52MS5CYWNrZmlsbFJlY29yZEdlb21ldHJ5UmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3JlY29yZHMvdjE7cmVjb3Jkc3YxYgZwcm90bzM", [file_google_protobuf_struct3, file_google_protobuf_timestamp4, file_common_v1_pagination, file_expressions_v1_expressions]);
843
865
  var RecordSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 0);
844
866
  var SortFieldSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 2);
845
867
  var BatchOperationSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 3);
@@ -877,16 +899,20 @@ var FindSimilarRecordsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_
877
899
  var WriteEmbeddingsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 83);
878
900
  var DeleteEmbeddingsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 85);
879
901
  var SearchEmbeddingsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 89);
880
- var CheckLookupAvailabilityRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 99);
881
- var ListLookupConflictsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 102);
882
- var RebuildModelLookupsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 105);
883
- var ListSlowQueryAdvisorEntriesRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 107);
884
- var ClearSlowQueryAdvisorEntryRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 113);
902
+ var SearchByLocationRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 98);
903
+ var FindNearestRecordsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 100);
904
+ var RecordsMissingGeometryRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 103);
905
+ var BackfillRecordGeometryRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 105);
906
+ var CheckLookupAvailabilityRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 109);
907
+ var ListLookupConflictsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 112);
908
+ var RebuildModelLookupsRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 115);
909
+ var ListSlowQueryAdvisorEntriesRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 117);
910
+ var ClearSlowQueryAdvisorEntryRequestSchema = /* @__PURE__ */ messageDesc7(file_records_v1_records, 123);
885
911
  var RecordsService = /* @__PURE__ */ serviceDesc3(file_records_v1_records, 0);
886
912
 
887
913
  // ../../packages/proto-ts/src/realtime/v1/realtime_pb.js
888
914
  import { enumDesc as enumDesc5, fileDesc as fileDesc8, messageDesc as messageDesc8, serviceDesc as serviceDesc4, tsEnum as tsEnum5 } from "@bufbuild/protobuf/codegenv2";
889
- var file_realtime_v1_realtime = /* @__PURE__ */ fileDesc8("ChpyZWFsdGltZS92MS9yZWFsdGltZS5wcm90bxILcmVhbHRpbWUudjEirAEKGEF1dGhvcml6ZVJvb21Kb2luUmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIUCgxwcmluY2lwYWxfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnByb2plY3RfaWQYBCABKAkSFgoOcm9vbV9uYW1lc3BhY2UYBSABKAkSDwoHcm9vbV9pZBgGIAEoCRISCgpjYXBhYmlsaXR5GAcgASgJIokBChlBdXRob3JpemVSb29tSm9pblJlc3BvbnNlEg8KB2FsbG93ZWQYASABKAgSDgoGcmVhc29uGAIgASgJEjoKEnBlcnNpc3RlbmNlX3BvbGljeRgDIAEoDjIeLnJlYWx0aW1lLnYxLlBlcnNpc3RlbmNlUG9saWN5Eg8KB3NpbmtfaWQYBCABKAkquQEKEVBlcnNpc3RlbmNlUG9saWN5EiIKHlBFUlNJU1RFTkNFX1BPTElDWV9VTlNQRUNJRklFRBAAEiAKHFBFUlNJU1RFTkNFX1BPTElDWV9FUEhFTUVSQUwQARIfChtQRVJTSVNURU5DRV9QT0xJQ1lfU05BUFNIT1QQAhIgChxQRVJTSVNURU5DRV9QT0xJQ1lfVkVSU0lPTkVEEAMSGwoXUEVSU0lTVEVOQ0VfUE9MSUNZX1NJTksQBDJ1Cg9SZWFsdGltZVNlcnZpY2USYgoRQXV0aG9yaXplUm9vbUpvaW4SJS5yZWFsdGltZS52MS5BdXRob3JpemVSb29tSm9pblJlcXVlc3QaJi5yZWFsdGltZS52MS5BdXRob3JpemVSb29tSm9pblJlc3BvbnNlQj1aO2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9yZWFsdGltZS92MTtyZWFsdGltZXYxYgZwcm90bzM");
915
+ var file_realtime_v1_realtime = /* @__PURE__ */ fileDesc8("ChpyZWFsdGltZS92MS9yZWFsdGltZS5wcm90bxILcmVhbHRpbWUudjEiwgEKGEF1dGhvcml6ZVJvb21Kb2luUmVxdWVzdBIWCg5wcmluY2lwYWxfa2luZBgBIAEoCRIUCgxwcmluY2lwYWxfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnByb2plY3RfaWQYBCABKAkSFgoOcm9vbV9uYW1lc3BhY2UYBSABKAkSDwoHcm9vbV9pZBgGIAEoCRISCgpjYXBhYmlsaXR5GAcgASgJEhQKDHJvb21fdmFyaWFudBgIIAEoCSKJAQoZQXV0aG9yaXplUm9vbUpvaW5SZXNwb25zZRIPCgdhbGxvd2VkGAEgASgIEg4KBnJlYXNvbhgCIAEoCRI6ChJwZXJzaXN0ZW5jZV9wb2xpY3kYAyABKA4yHi5yZWFsdGltZS52MS5QZXJzaXN0ZW5jZVBvbGljeRIPCgdzaW5rX2lkGAQgASgJKrkBChFQZXJzaXN0ZW5jZVBvbGljeRIiCh5QRVJTSVNURU5DRV9QT0xJQ1lfVU5TUEVDSUZJRUQQABIgChxQRVJTSVNURU5DRV9QT0xJQ1lfRVBIRU1FUkFMEAESHwobUEVSU0lTVEVOQ0VfUE9MSUNZX1NOQVBTSE9UEAISIAocUEVSU0lTVEVOQ0VfUE9MSUNZX1ZFUlNJT05FRBADEhsKF1BFUlNJU1RFTkNFX1BPTElDWV9TSU5LEAQydQoPUmVhbHRpbWVTZXJ2aWNlEmIKEUF1dGhvcml6ZVJvb21Kb2luEiUucmVhbHRpbWUudjEuQXV0aG9yaXplUm9vbUpvaW5SZXF1ZXN0GiYucmVhbHRpbWUudjEuQXV0aG9yaXplUm9vbUpvaW5SZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vcmVhbHRpbWUvdjE7cmVhbHRpbWV2MWIGcHJvdG8z");
890
916
  var AuthorizeRoomJoinRequestSchema = /* @__PURE__ */ messageDesc8(file_realtime_v1_realtime, 0);
891
917
  var PersistencePolicySchema = /* @__PURE__ */ enumDesc5(file_realtime_v1_realtime, 0);
892
918
  var PersistencePolicy = /* @__PURE__ */ tsEnum5(PersistencePolicySchema);
@@ -911,284 +937,264 @@ var ConfigDirectionSchema = /* @__PURE__ */ enumDesc6(file_configs_v1_configs, 0
911
937
  var ConfigDirection = /* @__PURE__ */ tsEnum6(ConfigDirectionSchema);
912
938
  var ConfigsService = /* @__PURE__ */ serviceDesc5(file_configs_v1_configs, 0);
913
939
 
914
- // ../../packages/proto-ts/src/segments/v1/segments_pb.js
940
+ // ../../packages/proto-ts/src/settings/v1/settings_pb.js
915
941
  import { fileDesc as fileDesc10, messageDesc as messageDesc10, serviceDesc as serviceDesc6 } from "@bufbuild/protobuf/codegenv2";
916
942
  import { file_google_protobuf_struct as file_google_protobuf_struct5, file_google_protobuf_timestamp as file_google_protobuf_timestamp6 } from "@bufbuild/protobuf/wkt";
917
- var file_segments_v1_segments = /* @__PURE__ */ fileDesc10("ChpzZWdtZW50cy92MS9zZWdtZW50cy5wcm90bxILc2VnbWVudHMudjEi/gMKB1NlZ21lbnQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIyCgVydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFwoPZXZhbHVhdGlvbl9tb2RlGAYgASgJEhkKEW1hbnVhbF9tZW1iZXJfaWRzGAcgAygJEhoKEm1hbnVhbF9tZW1iZXJfbW9kZRgIIAEoCRIRCglpc19hY3RpdmUYCSABKAgSGQoMbWVtYmVyX2NvdW50GAogASgFSAKIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgDiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIBIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CCAoGX3J1bGVzQg8KDV9tZW1iZXJfY291bnRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkivQIKEVNlZ21lbnRNZW1iZXJzaGlwEhIKCnNlZ21lbnRfaWQYASABKAkSEwoLc2VnbWVudF9rZXkYAiABKAkSFAoMc2VnbWVudF9uYW1lGAMgASgJEhEKCWlzX21lbWJlchgEIAEoCBIzCgplbnRlcmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjIKCWV4aXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI6ChFsYXN0X2V2YWx1YXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUINCgtfZW50ZXJlZF9hdEIMCgpfZXhpdGVkX2F0QhQKEl9sYXN0X2V2YWx1YXRlZF9hdCJECg5TZWdtZW50UHJldmlldxIVCg1tYXRjaGVkX2NvdW50GAEgASgFEhsKE3NhbXBsZV9jdXN0b21lcl9pZHMYAiADKAkiYQoXU2VnbWVudEV2YWx1YXRpb25SZXN1bHQSEQoJaXNfbWVtYmVyGAEgASgIEjMKEmV2YWx1YXRpb25fZGV0YWlscxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi2wIKFENyZWF0ZVNlZ21lbnRSZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESLQoFcnVsZXMYBCABKAsyHi5leHByZXNzaW9ucy52MS5SdWxlRXhwcmVzc2lvbhIcCg9ldmFsdWF0aW9uX21vZGUYBSABKAlIAYgBARIWCglpc19hY3RpdmUYBiABKAhIAogBARIWCgljb25maWdfaWQYByABKAlIA4gBARIZChFtYW51YWxfbWVtYmVyX2lkcxgIIAMoCRIfChJtYW51YWxfbWVtYmVyX21vZGUYCSABKAlIBIgBAUIOCgxfZGVzY3JpcHRpb25CEgoQX2V2YWx1YXRpb25fbW9kZUIMCgpfaXNfYWN0aXZlQgwKCl9jb25maWdfaWRCFQoTX21hbnVhbF9tZW1iZXJfbW9kZSI+ChVDcmVhdGVTZWdtZW50UmVzcG9uc2USJQoHc2VnbWVudBgBIAEoCzIULnNlZ21lbnRzLnYxLlNlZ21lbnQiHwoRR2V0U2VnbWVudFJlcXVlc3QSCgoCaWQYASABKAkiOwoSR2V0U2VnbWVudFJlc3BvbnNlEiUKB3NlZ21lbnQYASABKAsyFC5zZWdtZW50cy52MS5TZWdtZW50IiUKFkdldFNlZ21lbnRCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIkAKF0dldFNlZ21lbnRCeUtleVJlc3BvbnNlEiUKB3NlZ21lbnQYASABKAsyFC5zZWdtZW50cy52MS5TZWdtZW50IsQBChNMaXN0U2VnbWVudHNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKZAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USJgoIc2VnbWVudHMYASADKAsyFC5zZWdtZW50cy52MS5TZWdtZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyLRAgoUVXBkYXRlU2VnbWVudFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESMgoFcnVsZXMYBCABKAsyHi5leHByZXNzaW9ucy52MS5SdWxlRXhwcmVzc2lvbkgCiAEBEhwKD2V2YWx1YXRpb25fbW9kZRgFIAEoCUgDiAEBEhYKCWlzX2FjdGl2ZRgGIAEoCEgEiAEBEhkKEW1hbnVhbF9tZW1iZXJfaWRzGAcgAygJEh8KEm1hbnVhbF9tZW1iZXJfbW9kZRgIIAEoCUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIICgZfcnVsZXNCEgoQX2V2YWx1YXRpb25fbW9kZUIMCgpfaXNfYWN0aXZlQhUKE19tYW51YWxfbWVtYmVyX21vZGUiPgoVVXBkYXRlU2VnbWVudFJlc3BvbnNlEiUKB3NlZ21lbnQYASABKAsyFC5zZWdtZW50cy52MS5TZWdtZW50IiIKFERlbGV0ZVNlZ21lbnRSZXF1ZXN0EgoKAmlkGAEgASgJIigKFURlbGV0ZVNlZ21lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjQKHUdldEN1c3RvbWVyTWVtYmVyc2hpcHNSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIuYBCh5HZXRDdXN0b21lck1lbWJlcnNoaXBzUmVzcG9uc2USMwoLbWVtYmVyc2hpcHMYASADKAsyHi5zZWdtZW50cy52MS5TZWdtZW50TWVtYmVyc2hpcBIbChNhY3RpdmVfc2VnbWVudF9rZXlzGAIgAygJEhQKDHRvdGFsX2FjdGl2ZRgDIAEoBRJAChdsYXN0X2Z1bGxfZXZhbHVhdGlvbl9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIaChhfbGFzdF9mdWxsX2V2YWx1YXRpb25fYXQidQoaUHJldmlld1NlZ21lbnRSdWxlc1JlcXVlc3QSLQoFcnVsZXMYASABKAsyHi5leHByZXNzaW9ucy52MS5SdWxlRXhwcmVzc2lvbhIYCgtzYW1wbGVfc2l6ZRgCIAEoBUgAiAEBQg4KDF9zYW1wbGVfc2l6ZSJLChtQcmV2aWV3U2VnbWVudFJ1bGVzUmVzcG9uc2USLAoHcHJldmlldxgBIAEoCzIbLnNlZ21lbnRzLnYxLlNlZ21lbnRQcmV2aWV3IkcKHFRlc3RTZWdtZW50RXZhbHVhdGlvblJlcXVlc3QSEgoKc2VnbWVudF9pZBgBIAEoCRITCgtjdXN0b21lcl9pZBgCIAEoCSJVCh1UZXN0U2VnbWVudEV2YWx1YXRpb25SZXNwb25zZRI0CgZyZXN1bHQYASABKAsyJC5zZWdtZW50cy52MS5TZWdtZW50RXZhbHVhdGlvblJlc3VsdCJAChZTZXRHbG9iYWxPcHRPdXRSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEhEKCW9wdGVkX291dBgCIAEoCCIqChdTZXRHbG9iYWxPcHRPdXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkEKFk9wdE91dE9mU2VnbWVudFJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSEgoKc2VnbWVudF9pZBgCIAEoCSIqChdPcHRPdXRPZlNlZ21lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkQKGU9wdEJhY2tJbnRvU2VnbWVudFJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSEgoKc2VnbWVudF9pZBgCIAEoCSItChpPcHRCYWNrSW50b1NlZ21lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIMosJCg9TZWdtZW50c1NlcnZpY2USTQoKR2V0U2VnbWVudBIeLnNlZ21lbnRzLnYxLkdldFNlZ21lbnRSZXF1ZXN0Gh8uc2VnbWVudHMudjEuR2V0U2VnbWVudFJlc3BvbnNlElwKD0dldFNlZ21lbnRCeUtleRIjLnNlZ21lbnRzLnYxLkdldFNlZ21lbnRCeUtleVJlcXVlc3QaJC5zZWdtZW50cy52MS5HZXRTZWdtZW50QnlLZXlSZXNwb25zZRJTCgxMaXN0U2VnbWVudHMSIC5zZWdtZW50cy52MS5MaXN0U2VnbWVudHNSZXF1ZXN0GiEuc2VnbWVudHMudjEuTGlzdFNlZ21lbnRzUmVzcG9uc2USVgoNQ3JlYXRlU2VnbWVudBIhLnNlZ21lbnRzLnYxLkNyZWF0ZVNlZ21lbnRSZXF1ZXN0GiIuc2VnbWVudHMudjEuQ3JlYXRlU2VnbWVudFJlc3BvbnNlElYKDVVwZGF0ZVNlZ21lbnQSIS5zZWdtZW50cy52MS5VcGRhdGVTZWdtZW50UmVxdWVzdBoiLnNlZ21lbnRzLnYxLlVwZGF0ZVNlZ21lbnRSZXNwb25zZRJWCg1EZWxldGVTZWdtZW50EiEuc2VnbWVudHMudjEuRGVsZXRlU2VnbWVudFJlcXVlc3QaIi5zZWdtZW50cy52MS5EZWxldGVTZWdtZW50UmVzcG9uc2UScQoWR2V0Q3VzdG9tZXJNZW1iZXJzaGlwcxIqLnNlZ21lbnRzLnYxLkdldEN1c3RvbWVyTWVtYmVyc2hpcHNSZXF1ZXN0Gisuc2VnbWVudHMudjEuR2V0Q3VzdG9tZXJNZW1iZXJzaGlwc1Jlc3BvbnNlEmgKE1ByZXZpZXdTZWdtZW50UnVsZXMSJy5zZWdtZW50cy52MS5QcmV2aWV3U2VnbWVudFJ1bGVzUmVxdWVzdBooLnNlZ21lbnRzLnYxLlByZXZpZXdTZWdtZW50UnVsZXNSZXNwb25zZRJuChVUZXN0U2VnbWVudEV2YWx1YXRpb24SKS5zZWdtZW50cy52MS5UZXN0U2VnbWVudEV2YWx1YXRpb25SZXF1ZXN0Giouc2VnbWVudHMudjEuVGVzdFNlZ21lbnRFdmFsdWF0aW9uUmVzcG9uc2USXAoPU2V0R2xvYmFsT3B0T3V0EiMuc2VnbWVudHMudjEuU2V0R2xvYmFsT3B0T3V0UmVxdWVzdBokLnNlZ21lbnRzLnYxLlNldEdsb2JhbE9wdE91dFJlc3BvbnNlElwKD09wdE91dE9mU2VnbWVudBIjLnNlZ21lbnRzLnYxLk9wdE91dE9mU2VnbWVudFJlcXVlc3QaJC5zZWdtZW50cy52MS5PcHRPdXRPZlNlZ21lbnRSZXNwb25zZRJlChJPcHRCYWNrSW50b1NlZ21lbnQSJi5zZWdtZW50cy52MS5PcHRCYWNrSW50b1NlZ21lbnRSZXF1ZXN0Gicuc2VnbWVudHMudjEuT3B0QmFja0ludG9TZWdtZW50UmVzcG9uc2VCPVo7Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3NlZ21lbnRzL3YxO3NlZ21lbnRzdjFiBnByb3RvMw", [file_google_protobuf_struct5, file_google_protobuf_timestamp6, file_expressions_v1_expressions, file_common_v1_pagination]);
918
- var SegmentSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 0);
919
- var SegmentPreviewSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 2);
920
- var SegmentEvaluationResultSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 3);
921
- var CreateSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 4);
922
- var GetSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 6);
923
- var GetSegmentByKeyRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 8);
924
- var ListSegmentsRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 10);
925
- var UpdateSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 12);
926
- var DeleteSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 14);
927
- var GetCustomerMembershipsRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 16);
928
- var PreviewSegmentRulesRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 18);
929
- var TestSegmentEvaluationRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 20);
930
- var SetGlobalOptOutRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 22);
931
- var OptOutOfSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 24);
932
- var OptBackIntoSegmentRequestSchema = /* @__PURE__ */ messageDesc10(file_segments_v1_segments, 26);
933
- var SegmentsService = /* @__PURE__ */ serviceDesc6(file_segments_v1_segments, 0);
934
-
935
- // ../../packages/proto-ts/src/settings/v1/settings_pb.js
936
- import { fileDesc as fileDesc11, messageDesc as messageDesc11, serviceDesc as serviceDesc7 } from "@bufbuild/protobuf/codegenv2";
937
- import { file_google_protobuf_struct as file_google_protobuf_struct6, file_google_protobuf_timestamp as file_google_protobuf_timestamp7 } from "@bufbuild/protobuf/wkt";
938
- var file_settings_v1_settings = /* @__PURE__ */ fileDesc11("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKxBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKdmlzaWJpbGl0eRggIAEoCRISCgpjcmVhdGVkX2J5GCggASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhUKE19lbnRpdHlfbmF0dXJhbF9rZXlCDQoLX3ZlcnNpb25faWRCFQoTX2NvbnRlbnRfcGxhaW5fdGV4dEIRCg9fcGFyZW50X25vdGVfaWRCEQoPX3RocmVhZF9yb290X2lkQg4KDF9yZXNvbHZlZF9hdEIOCgxfcmVzb2x2ZWRfYnlCCwoJX21ldGFkYXRhQg0KC19wcm9qZWN0X2lkIlIKEkdldFNldHRpbmdzUmVxdWVzdBIVCghjYXRlZ29yeRgBIAEoCUgAiAEBEhAKA2tleRgCIAEoCUgBiAEBQgsKCV9jYXRlZ29yeUIGCgRfa2V5Ij0KE0dldFNldHRpbmdzUmVzcG9uc2USJgoIc2V0dGluZ3MYASADKAsyFC5zZXR0aW5ncy52MS5TZXR0aW5nIksKFFVwZGF0ZVNldHRpbmdSZXF1ZXN0EgsKA2tleRgBIAEoCRImCgV2YWx1ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPgoVVXBkYXRlU2V0dGluZ1Jlc3BvbnNlEiUKB3NldHRpbmcYASABKAsyFC5zZXR0aW5ncy52MS5TZXR0aW5nIsUBChRMaXN0QXVkaXRMb2dzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilwEKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRIjCgRsb2dzGAEgAygLMhUuc2V0dGluZ3MudjEuQXVkaXRMb2cSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIpUBChFDcmVhdGVOb3RlUmVxdWVzdBITCgtlbnRpdHlfdHlwZRgBIAEoCRIRCgllbnRpdHlfaWQYAiABKAkSKAoHY29udGVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGwoOcGFyZW50X25vdGVfaWQYBCABKAlIAIgBAUIRCg9fcGFyZW50X25vdGVfaWQiNQoSQ3JlYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIhwKDkdldE5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjIKD0dldE5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSLBAQoQTGlzdE5vdGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhIKBWZpcnN0GAYgASgFSAOIAQESEQoEbGFzdBgHIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikAEKEUxpc3ROb3Rlc1Jlc3BvbnNlEiAKBW5vdGVzGAEgAygLMhEuc2V0dGluZ3MudjEuTm90ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ihAEKEVVwZGF0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJEi0KB2NvbnRlbnQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGAoLaXNfcmVzb2x2ZWQYAyABKAhIAYgBAUIKCghfY29udGVudEIOCgxfaXNfcmVzb2x2ZWQiNQoSVXBkYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIh8KEURlbGV0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIiUKEkRlbGV0ZU5vdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqwFCgtOb3RlTWVudGlvbhIKCgJpZBgBIAEoCRIPCgdub3RlX2lkGAIgASgJEhkKEW1lbnRpb25lZF91c2VyX2lkGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIwCgdzZWVuX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjgKD2Fja25vd2xlZGdlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1Cgxjb21wbGV0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGwoOY29tcGxldGVkX25vdGUYCCABKAlIA4gBARI1CgxkaXNtaXNzZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoOZGlzbWlzc19yZWFzb24YCiABKAlIBYgBARIxCghkdWVfZGF0ZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9zZWVuX2F0QhIKEF9hY2tub3dsZWRnZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIRCg9fY29tcGxldGVkX25vdGVCDwoNX2Rpc21pc3NlZF9hdEIRCg9fZGlzbWlzc19yZWFzb25CCwoJX2R1ZV9kYXRlQg0KC19wcm9qZWN0X2lkItoBChJNZW50aW9uV2l0aENvbnRleHQSKQoHbWVudGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLk5vdGVNZW50aW9uEh8KBG5vdGUYAiABKAsyES5zZXR0aW5ncy52MS5Ob3RlEhgKC2F1dGhvcl9uYW1lGAMgASgJSACIAQESGAoLZW50aXR5X3R5cGUYBCABKAlIAYgBARIWCgllbnRpdHlfaWQYBSABKAlIAogBAUIOCgxfYXV0aG9yX25hbWVCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWQiTwoNTWVudGlvbkNvdW50cxIPCgdwZW5kaW5nGAEgASgFEhAKCHBhc3RfZHVlGAIgASgFEhsKE2NvbXBsZXRlZF90aGlzX3dlZWsYAyABKAUixgEKFUxpc3RNeU1lbnRpb25zUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QizwEKFkxpc3RNeU1lbnRpb25zUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5NZW50aW9uV2l0aENvbnRleHQSDQoFdG90YWwYAiABKAUSKgoGY291bnRzGAMgASgLMhouc2V0dGluZ3MudjEuTWVudGlvbkNvdW50cxIrCglwYWdlX2luZm8YBCABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAUgAygJQgwKCl9wYWdlX2luZm8ioAEKGlVwZGF0ZU1lbnRpb25TdGF0dXNSZXF1ZXN0EhIKCm1lbnRpb25faWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhsKDmNvbXBsZXRlZF9ub3RlGAMgASgJSACIAQESGwoOZGlzbWlzc19yZWFzb24YBCABKAlIAYgBAUIRCg9fY29tcGxldGVkX25vdGVCEQoPX2Rpc21pc3NfcmVhc29uIkgKG1VwZGF0ZU1lbnRpb25TdGF0dXNSZXNwb25zZRIpCgdtZW50aW9uGAEgASgLMhguc2V0dGluZ3MudjEuTm90ZU1lbnRpb24ivwMKBkxvY2FsZRIKCgJpZBgBIAEoCRIOCgZsb2NhbGUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEhgKC25hdGl2ZV9uYW1lGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIRCglpc19hY3RpdmUYBiABKAgSDgoGaXNfcnRsGAcgASgIEhwKD2ZhbGxiYWNrX2xvY2FsZRgIIAEoCUgBiAEBEhkKEWZhbGxiYWNrX3ByaW9yaXR5GAkgASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAogBARIXCgp1cGRhdGVkX2J5GB8gASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX25hdGl2ZV9uYW1lQhIKEF9mYWxsYmFja19sb2NhbGVCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiwwEKEkxpc3RMb2NhbGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilgEKE0xpc3RMb2NhbGVzUmVzcG9uc2USJAoHbG9jYWxlcxgBIAMoCzITLnNldHRpbmdzLnYxLkxvY2FsZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iHgoQR2V0TG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChFHZXRMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUi3wEKE0NyZWF0ZUxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIYCgtuYXRpdmVfbmFtZRgDIAEoCUgAiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAYgBARITCgZpc19ydGwYBSABKAhIAogBARIcCg9mYWxsYmFja19sb2NhbGUYBiABKAlIA4gBAUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCCQoHX2lzX3J0bEISChBfZmFsbGJhY2tfbG9jYWxlIjsKFENyZWF0ZUxvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSKXAgoTVXBkYXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtuYXRpdmVfbmFtZRgDIAEoCUgBiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAogBARIWCglpc19hY3RpdmUYBSABKAhIA4gBARITCgZpc19ydGwYBiABKAhIBIgBARIcCg9mYWxsYmFja19sb2NhbGUYByABKAlIBYgBAUIPCg1fZGlzcGxheV9uYW1lQg4KDF9uYXRpdmVfbmFtZUINCgtfaXNfZGVmYXVsdEIMCgpfaXNfYWN0aXZlQgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRVcGRhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUiIQoTRGVsZXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVMb2NhbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIpQBCg5OYXZQcmVmZXJlbmNlcxIZChFmYXZvcml0ZV9wcm9qZWN0cxgBIAMoCRIaChJmYXZvcml0ZV9uYXZfaXRlbXMYAiADKAkSGgoSY29sbGFwc2VkX3NlY3Rpb25zGAMgAygJEi8KDm5hdl9pdGVtX29yZGVyGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIaChhHZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QiTQoZR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRIwCgtwcmVmZXJlbmNlcxgBIAEoCzIbLnNldHRpbmdzLnYxLk5hdlByZWZlcmVuY2VzIvwBChtVcGRhdGVOYXZQcmVmZXJlbmNlc1JlcXVlc3QSNQoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlc0gAiAEBEh4KEXRvZ2dsZV9wcm9qZWN0X2lkGAIgASgJSAGIAQESHAoPdG9nZ2xlX25hdl9pdGVtGAMgASgJSAKIAQESGwoOdG9nZ2xlX3NlY3Rpb24YBCABKAlIA4gBAUIOCgxfcHJlZmVyZW5jZXNCFAoSX3RvZ2dsZV9wcm9qZWN0X2lkQhIKEF90b2dnbGVfbmF2X2l0ZW1CEQoPX3RvZ2dsZV9zZWN0aW9uIlAKHFVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyJeChJSZWNlbnRseU9wZW5lZEl0ZW0SDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgRwYXRoGAQgASgJEhEKCXRpbWVzdGFtcBgFIAEoAyKTAQoZTGlzdFJlY2VudGx5T3BlbmVkUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKYAQoaTGlzdFJlY2VudGx5T3BlbmVkUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5SZWNlbnRseU9wZW5lZEl0ZW0SKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIlMKGlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCSIuChtUcmFja1JlY2VudGx5T3BlbmVkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI3ChtSZW1vdmVSZWNlbnRseU9wZW5lZFJlcXVlc3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIvChxSZW1vdmVSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHAoaQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QiLgobQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgizwUKEENvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARITCgtzb3VyY2VfdHlwZRgFIAEoCRIYChBzb3VyY2VfbW9kZWxfa2V5GAYgASgJEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgHIAEoCUgBiAEBEhEKCWlzX3N5c3RlbRgIIAEoCBIXCg9idWlsdF9pbl92YWx1ZXMYCSADKAkSEQoJZGF0YV90eXBlGAogASgJEhAKCGNhdGVnb3J5GAsgASgJEhMKC2lzX3JlcXVpcmVkGAwgASgIEhIKCnNvcnRfb3JkZXIYDSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgCiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIA4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg8IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQg4KDF9kZXNjcmlwdGlvbkIVChNfZGVmYXVsdF9yZWNvcmRfa2V5Qg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5QhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCIzChVDb250ZXh0RGltZW5zaW9uVmFsdWUSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJIrYBChxMaXN0Q29udGV4dERpbWVuc2lvbnNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCQoHX3NlYXJjaEIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QirQEKHUxpc3RDb250ZXh0RGltZW5zaW9uc1Jlc3BvbnNlEjEKCmRpbWVuc2lvbnMYASADKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIoChpHZXRDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJPChtHZXRDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiLLAQodQ3JlYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARITCgtzb3VyY2VfdHlwZRgEIAEoCRIYChBzb3VyY2VfbW9kZWxfa2V5GAUgASgJEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgGIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIVChNfZGVmYXVsdF9yZWNvcmRfa2V5IlIKHkNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIv8BCh1VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIdChBzb3VyY2VfbW9kZWxfa2V5GAQgASgJSAKIAQESHwoSZGVmYXVsdF9yZWNvcmRfa2V5GAUgASgJSAOIAQESFAoHcHVibGlzaBgGIAEoCEgEiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5QgoKCF9wdWJsaXNoIlIKHlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIisKHURlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIItEBCiBHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVxdWVzdBIVCg1kaW1lbnNpb25fa2V5GAEgASgJEhMKBnNlYXJjaBgCIAEoCUgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCQoHX3NlYXJjaEIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QisgEKIUdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXNwb25zZRIyCgZ2YWx1ZXMYASADKAsyIi5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uVmFsdWUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIvIDChNWYXJpYW50Q2F0YWxvZ0VudHJ5EgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAUgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAYgBARIQCghwcmlvcml0eRgGIAEoBRISCgppc19kZWZhdWx0GAcgASgIEhEKCWlzX2FjdGl2ZRgIIAEoCBIYCgtmYWxsYmFja19pZBgKIAEoCUgCiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIA4gBARIXCgp1cGRhdGVkX2J5GB8gASgJSASIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCDgoMX2ZhbGxiYWNrX2lkQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IsoBChlMaXN0VmFyaWFudENhdGFsb2dSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAMgASgJSAGIAQESEwoGYmVmb3JlGAQgASgJSAKIAQESEgoFZmlyc3QYBSABKAVIA4gBARIRCgRsYXN0GAYgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKqAQoaTGlzdFZhcmlhbnRDYXRhbG9nUmVzcG9uc2USMQoHZW50cmllcxgBIAMoCzIgLnNldHRpbmdzLnYxLlZhcmlhbnRDYXRhbG9nRW50cnkSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIisKHUdldFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIlEKHkdldFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIvCgVlbnRyeRgBIAEoCzIgLnNldHRpbmdzLnYxLlZhcmlhbnRDYXRhbG9nRW50cnkiqwIKIENyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAYgBARIVCghwcmlvcml0eRgFIAEoBUgCiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIA4gBARIWCglpc19hY3RpdmUYByABKAhIBIgBAUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IrgCCiBVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARI8Cg90YXJnZXRpbmdfcnVsZXMYBCABKAsyHi5leHByZXNzaW9ucy52MS5SdWxlRXhwcmVzc2lvbkgCiAEBEhUKCHByaW9yaXR5GAUgASgFSAOIAQESFwoKaXNfZGVmYXVsdBgGIAEoCEgEiAEBEhYKCWlzX2FjdGl2ZRgHIAEoCEgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkISChBfdGFyZ2V0aW5nX3J1bGVzQgsKCV9wcmlvcml0eUINCgtfaXNfZGVmYXVsdEIMCgpfaXNfYWN0aXZlIlQKIVVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIvCgVlbnRyeRgBIAEoCzIgLnNldHRpbmdzLnYxLlZhcmlhbnRDYXRhbG9nRW50cnkiLgogRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkiNAohRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLAoXR2V0RWRpdG9yQ29uZmlnc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJIsACChVFZGl0b3JDb25maWdQbGFjZW1lbnQSEQoJY29uZmlnX2lkGAEgASgJEhIKCmNvbmZpZ19rZXkYAiABKAkSEAoDdXJsGAMgASgJSACIAQESGwoOYWxsb3dlZF9vcmlnaW4YBCABKAlIAYgBARITCgZoZWlnaHQYBSABKAVIAogBARISCgVsYWJlbBgGIAEoCUgDiAEBEhQKB2FwaV9rZXkYByABKAlIBIgBARIUCgdhcGlfdXJsGAggASgJSAWIAQESHgoRY29ubmVjdGlvbl9kb21haW4YCSABKAlIBogBAUIGCgRfdXJsQhEKD19hbGxvd2VkX29yaWdpbkIJCgdfaGVpZ2h0QggKBl9sYWJlbEIKCghfYXBpX2tleUIKCghfYXBpX3VybEIUChJfY29ubmVjdGlvbl9kb21haW4iUgoYR2V0RWRpdG9yQ29uZmlnc1Jlc3BvbnNlEjYKCnBsYWNlbWVudHMYASADKAsyIi5zZXR0aW5ncy52MS5FZGl0b3JDb25maWdQbGFjZW1lbnQiIAoSUmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjYKE1Jlc29sdmVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiIgoUVW5yZXNvbHZlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkiOAoVVW5yZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIsUBChJTZWFyY2hOb3Rlc1JlcXVlc3QSDQoFcXVlcnkYASABKAkSGAoLZW50aXR5X3R5cGUYAiABKAlIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQg4KDF9lbnRpdHlfdHlwZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikgEKE1NlYXJjaE5vdGVzUmVzcG9uc2USIAoFbm90ZXMYASADKAsyES5zZXR0aW5ncy52MS5Ob3RlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIZChdNYXJrTWVudGlvbnNTZWVuUmVxdWVzdCIpChhNYXJrTWVudGlvbnNTZWVuUmVzcG9uc2USDQoFY291bnQYASABKAUiLgofR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5UmVxdWVzdBILCgNrZXkYASABKAkiVAogR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5UmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiIZChdHZXREZWZhdWx0TG9jYWxlUmVxdWVzdCI/ChhHZXREZWZhdWx0TG9jYWxlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKFkdldExvY2FsZUJ5Q29kZVJlcXVlc3QSDAoEY29kZRgBIAEoCSI+ChdHZXRMb2NhbGVCeUNvZGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUiJgokR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlgKJUdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IiMKFERlbGV0ZVNldHRpbmdSZXF1ZXN0EgsKA2tleRgBIAEoCSIoChVEZWxldGVTZXR0aW5nUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIzCh9EZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJIjEKIERlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlc3BvbnNlEg0KBWNvdW50GAEgASgFIk0KFkJ1bGtTZXRTZXR0aW5nc1JlcXVlc3QSMwoIc2V0dGluZ3MYASADKAsyIS5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVxdWVzdCIoChdCdWxrU2V0U2V0dGluZ3NSZXNwb25zZRINCgVjb3VudBgBIAEoBSIpCidFbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QiWwooRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIvCgVlbnRyeRgBIAEoCzIgLnNldHRpbmdzLnYxLlZhcmlhbnRDYXRhbG9nRW50cnki8AMKDERlc2lnblRva2VucxIpCghkb2N1bWVudBgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoIcmVzb2x2ZWQYAiABKAsyIS5zZXR0aW5ncy52MS5SZXNvbHZlZERlc2lnblRva2VucxIPCgd2ZXJzaW9uGAogASgFEh4KEXB1Ymxpc2hlZF92ZXJzaW9uGAsgASgFSACIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPQoUc2NoZWR1bGVkX3B1Ymxpc2hfYXQYPCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESPwoWc2NoZWR1bGVkX3VucHVibGlzaF9hdBg9IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIUChJfcHVibGlzaGVkX3ZlcnNpb25CFwoVX3NjaGVkdWxlZF9wdWJsaXNoX2F0QhkKF19zY2hlZHVsZWRfdW5wdWJsaXNoX2F0IvoEChRSZXNvbHZlZERlc2lnblRva2VucxIvCgZjb2xvcnMYASADKAsyHy5zZXR0aW5ncy52MS5SZXNvbHZlZENvbG9yVG9rZW4SOwoNZm9udF9mYW1pbGllcxgCIAMoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkRm9udEZhbWlseVRva2VuEjoKDGZvbnRfd2VpZ2h0cxgDIAMoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkRm9udFdlaWdodFRva2VuEjcKCmZvbnRfc2l6ZXMYBCADKAsyIy5zZXR0aW5ncy52MS5SZXNvbHZlZERpbWVuc2lvblRva2VuEjYKDGxpbmVfaGVpZ2h0cxgFIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkTnVtYmVyVG9rZW4SPAoPbGV0dGVyX3NwYWNpbmdzGAYgAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhI4Cgp0eXBvZ3JhcGh5GAcgAygLMiQuc2V0dGluZ3MudjEuUmVzb2x2ZWRUeXBvZ3JhcGh5VG9rZW4SNQoIc3BhY2luZ3MYCCADKAsyIy5zZXR0aW5ncy52MS5SZXNvbHZlZERpbWVuc2lvblRva2VuEjIKBXJhZGlpGAkgAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhIxCgdzaGFkb3dzGAogAygLMiAuc2V0dGluZ3MudjEuUmVzb2x2ZWRTaGFkb3dUb2tlbhIxCgdib3JkZXJzGAsgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x2ZWRCb3JkZXJUb2tlbiJpChJSZXNvbHZlZENvbG9yVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAlCDgoMX2Rlc2NyaXB0aW9uIm4KF1Jlc29sdmVkRm9udEZhbWlseVRva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEg0KBXZhbHVlGAQgAygJQg4KDF9kZXNjcmlwdGlvbiJuChdSZXNvbHZlZEZvbnRXZWlnaHRUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAEoBUIOCgxfZGVzY3JpcHRpb24ibQoWUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAEoCUIOCgxfZGVzY3JpcHRpb24iagoTUmVzb2x2ZWROdW1iZXJUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAEoAUIOCgxfZGVzY3JpcHRpb24izAEKF1Jlc29sdmVkVHlwb2dyYXBoeVRva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjMKBXZhbHVlGAQgASgLMiQuc2V0dGluZ3MudjEuUmVzb2x2ZWRUeXBvZ3JhcGh5VmFsdWUSEgoFbGFiZWwYBSABKAlIAYgBARIQCgN0YWcYBiABKAlIAogBAUIOCgxfZGVzY3JpcHRpb25CCAoGX2xhYmVsQgYKBF90YWcijQEKE1Jlc29sdmVkU2hhZG93VG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESMAoGbGF5ZXJzGAQgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x2ZWRTaGFkb3dMYXllckIOCgxfZGVzY3JpcHRpb24idQoTUmVzb2x2ZWRTaGFkb3dMYXllchIQCghvZmZzZXRfeBgBIAEoCRIQCghvZmZzZXRfeRgCIAEoCRIMCgRibHVyGAMgASgJEg4KBnNwcmVhZBgEIAEoCRINCgVjb2xvchgFIAEoCRINCgVpbnNldBgGIAEoCCKMAQoTUmVzb2x2ZWRCb3JkZXJUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIvCgV2YWx1ZRgEIAEoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkQm9yZGVyVmFsdWVCDgoMX2Rlc2NyaXB0aW9uIkIKE1Jlc29sdmVkQm9yZGVyVmFsdWUSDQoFY29sb3IYASABKAkSDQoFd2lkdGgYAiABKAkSDQoFc3R5bGUYAyABKAkimwEKF1Jlc29sdmVkVHlwb2dyYXBoeVZhbHVlEhMKC2ZvbnRfZmFtaWx5GAEgAygJEhEKCWZvbnRfc2l6ZRgCIAEoCRITCgtmb250X3dlaWdodBgDIAEoBRITCgtsaW5lX2hlaWdodBgEIAEoARIWCg5sZXR0ZXJfc3BhY2luZxgFIAEoCRIWCg50ZXh0X3RyYW5zZm9ybRgGIAEoCSJEChZHZXREZXNpZ25Ub2tlbnNSZXF1ZXN0EioKB2NoYW5uZWwYASABKA4yGS5wdWJsaXNoLnYxLlNjaGVtYUNoYW5uZWwiRAoXR2V0RGVzaWduVG9rZW5zUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIkYKGVVwZGF0ZURlc2lnblRva2Vuc1JlcXVlc3QSKQoIZG9jdW1lbnQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkcKGlVwZGF0ZURlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIcChpQdWJsaXNoRGVzaWduVG9rZW5zUmVxdWVzdCJ+ChtQdWJsaXNoRGVzaWduVG9rZW5zUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIh4KHFVucHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QiSgodVW5wdWJsaXNoRGVzaWduVG9rZW5zUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIiUKI0dldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXNSZXF1ZXN0IlEKJEdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMinAEKIlNjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlcXVlc3QSLgoKcHVibGlzaF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiUAojU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIisKKUNhbmNlbFNjaGVkdWxlZERlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0IlcKKkNhbmNlbFNjaGVkdWxlZERlc2lnblRva2Vuc1B1Ymxpc2hSZXNwb25zZRIpCgZ0b2tlbnMYASABKAsyGS5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlbnMiNwohQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXNSZXF1ZXN0EhIKCnRva2VuX3BhdGgYASABKAkiUwoiQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXNSZXNwb25zZRIXCg9wYXJhZ3JhcGhfY291bnQYASABKAUSFAoMcmVjb3JkX2NvdW50GAIgASgFItkCChJEZXNpZ25Ub2tlblZlcnNpb24SCgoCaWQYASABKAkSGAoQZGVzaWduX3Rva2Vuc19pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIpCghzbmFwc2hvdBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5IioKHEdldERlc2lnblRva2VuVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiUQodR2V0RGVzaWduVG9rZW5WZXJzaW9uUmVzcG9uc2USMAoHdmVyc2lvbhgBIAEoCzIfLnNldHRpbmdzLnYxLkRlc2lnblRva2VuVmVyc2lvbiKYAQoeTGlzdERlc2lnblRva2VuVmVyc2lvbnNSZXF1ZXN0EhIKBWFmdGVyGAEgASgJSACIAQESEwoGYmVmb3JlGAIgASgJSAGIAQESEgoFZmlyc3QYAyABKAVIAogBARIRCgRsYXN0GAQgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Iq8BCh9MaXN0RGVzaWduVG9rZW5WZXJzaW9uc1Jlc3BvbnNlEjEKCHZlcnNpb25zGAEgAygLMh8uc2V0dGluZ3MudjEuRGVzaWduVG9rZW5WZXJzaW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJuCiBSZXN0b3JlRGVzaWduVG9rZW5WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ihAEKIVJlc3RvcmVEZXNpZ25Ub2tlblZlcnNpb25SZXNwb25zZRIpCgZ0b2tlbnMYASABKAsyGS5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlbnMSNAoLbmV3X3ZlcnNpb24YAiABKAsyHy5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlblZlcnNpb24iRQoXR2V0UHJvamVjdFNjaGVtYVJlcXVlc3QSKgoHY2hhbm5lbBgBIAEoDjIZLnB1Ymxpc2gudjEuU2NoZW1hQ2hhbm5lbCJlChJQcm9qZWN0U2NoZW1hTW9kZWwSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSEwoLZmllbGRzX2pzb24YBCABKAkSEwoLY29uZmlnX2pzb24YBSABKAkiwgEKHVByb2plY3RTY2hlbWFDb250ZXh0RGltZW5zaW9uEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEh0KEHNvdXJjZV9tb2RlbF9rZXkYBCABKAlIAIgBARIfChJkZWZhdWx0X3JlY29yZF9rZXkYBSABKAlIAYgBARIOCgZ2YWx1ZXMYBiADKAlCEwoRX3NvdXJjZV9tb2RlbF9rZXlCFQoTX2RlZmF1bHRfcmVjb3JkX2tleSKOAQoZUHJvamVjdFNjaGVtYUF1dGhQcm92aWRlchILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSLAoGY29uZmlnGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgkKB19jb25maWcinwMKFlByb2plY3RTY2hlbWFPcGVyYXRpb24SCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEAoIZW5kcG9pbnQYAyABKAkSEgoKdGltZW91dF9tcxgEIAEoBRIyCgxpbnB1dF9zY2hlbWEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESMwoNb3V0cHV0X3NjaGVtYRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIWCg5zdXBwb3J0c19hc3luYxgHIAEoCBIMCgRraW5kGAggASgJEh4KEWF0dGFjaGVkX3RvX21vZGVsGAkgASgJSAKIAQESFQoNcGFyZW50X2ZpZWxkcxgKIAMoCRIzCg1jYWNoZV9jb250cm9sGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCFAoSX2F0dGFjaGVkX3RvX21vZGVsQhAKDl9jYWNoZV9jb250cm9sIkQKFFByb2plY3RTY2hlbWFTZWdtZW50EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCWlzX2FjdGl2ZRgDIAEoCCK7AwoYR2V0UHJvamVjdFNjaGVtYVJlc3BvbnNlEi8KBm1vZGVscxgBIAMoCzIfLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFNb2RlbBI+CgpkaW1lbnNpb25zGAIgAygLMiouc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SPgoOYXV0aF9wcm92aWRlcnMYAyADKAsyJi5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hQXV0aFByb3ZpZGVyEjcKCm9wZXJhdGlvbnMYBCADKAsyIy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hT3BlcmF0aW9uEjMKCHNlZ21lbnRzGAUgAygLMiEuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYVNlZ21lbnQSJgoZY3VzdG9tZXJfcGFzc3dvcmRfZW5hYmxlZBgIIAEoCEgAiAEBEiEKFGN1c3RvbWVyX290cF9lbmFibGVkGAkgASgISAGIAQFCHAoaX2N1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWRCFwoVX2N1c3RvbWVyX290cF9lbmFibGVkIiwKHlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSKJAQofUHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIi4KIFVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlUKIVVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIjUKJ0dldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSJVCihHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyLiAgoXQ29udGV4dERpbWVuc2lvblZlcnNpb24SCgoCaWQYASABKAkSHAoUY29udGV4dF9kaW1lbnNpb25faWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSIvCiFHZXRDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiWwoiR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRI1Cgd2ZXJzaW9uGAEgASgLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24iuwEKI0xpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnNSZXF1ZXN0EhwKFGNvbnRleHRfZGltZW5zaW9uX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrkBCiRMaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVzcG9uc2USNgoIdmVyc2lvbnMYASADKAsyJC5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8icwolUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ilQEKJlJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24SOQoLbmV3X3ZlcnNpb24YAiABKAsyJC5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uVmVyc2lvbiIdChtQdWJsaXNoUHJvamVjdFNjaGVtYVJlcXVlc3Qi1AEKHFB1Ymxpc2hQcm9qZWN0U2NoZW1hUmVzcG9uc2USGAoQbW9kZWxzX3B1Ymxpc2hlZBgBIAEoBRIcChRvcGVyYXRpb25zX3B1Ymxpc2hlZBgCIAEoBRIkChxjb250ZXh0X2RpbWVuc2lvbnNfcHVibGlzaGVkGAMgASgFEiAKGGF1dGhfcHJvdmlkZXJzX3B1Ymxpc2hlZBgEIAEoBRI0ChBicmVha2luZ19jaGFuZ2VzGAYgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIgCh5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1JlcXVlc3QigwEKH0dldFByb2plY3RQdWJsaXNoU3RhdHVzUmVzcG9uc2USKgoHcGVuZGluZxgBIAMoCzIZLnB1Ymxpc2gudjEuUGVuZGluZ0VudGl0eRI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSKsAQomU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlcXVlc3QSCgoCaWQYASABKAkSLgoKcHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiWwonU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iOwotQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJImIKLkNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbjLXOAoPU2V0dGluZ3NTZXJ2aWNlElAKC0dldFNldHRpbmdzEh8uc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXF1ZXN0GiAuc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXNwb25zZRJWCg1VcGRhdGVTZXR0aW5nEiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QaIi5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVzcG9uc2USVgoNRGVsZXRlU2V0dGluZxIhLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdSZXF1ZXN0GiIuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEncKGERlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeRIsLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlcXVlc3QaLS5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRJcCg9CdWxrU2V0U2V0dGluZ3MSIy5zZXR0aW5ncy52MS5CdWxrU2V0U2V0dGluZ3NSZXF1ZXN0GiQuc2V0dGluZ3MudjEuQnVsa1NldFNldHRpbmdzUmVzcG9uc2USVgoNTGlzdEF1ZGl0TG9ncxIhLnNldHRpbmdzLnYxLkxpc3RBdWRpdExvZ3NSZXF1ZXN0GiIuc2V0dGluZ3MudjEuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEk0KCkNyZWF0ZU5vdGUSHi5zZXR0aW5ncy52MS5DcmVhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLkNyZWF0ZU5vdGVSZXNwb25zZRJECgdHZXROb3RlEhsuc2V0dGluZ3MudjEuR2V0Tm90ZVJlcXVlc3QaHC5zZXR0aW5ncy52MS5HZXROb3RlUmVzcG9uc2USSgoJTGlzdE5vdGVzEh0uc2V0dGluZ3MudjEuTGlzdE5vdGVzUmVxdWVzdBoeLnNldHRpbmdzLnYxLkxpc3ROb3Rlc1Jlc3BvbnNlEk0KClVwZGF0ZU5vdGUSHi5zZXR0aW5ncy52MS5VcGRhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLlVwZGF0ZU5vdGVSZXNwb25zZRJNCgpEZWxldGVOb3RlEh4uc2V0dGluZ3MudjEuRGVsZXRlTm90ZVJlcXVlc3QaHy5zZXR0aW5ncy52MS5EZWxldGVOb3RlUmVzcG9uc2USUAoLUmVzb2x2ZU5vdGUSHy5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlc3BvbnNlElYKDVVucmVzb2x2ZU5vdGUSIS5zZXR0aW5ncy52MS5VbnJlc29sdmVOb3RlUmVxdWVzdBoiLnNldHRpbmdzLnYxLlVucmVzb2x2ZU5vdGVSZXNwb25zZRJQCgtTZWFyY2hOb3RlcxIfLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVxdWVzdBogLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVzcG9uc2USWQoOTGlzdE15TWVudGlvbnMSIi5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1JlcXVlc3QaIy5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1Jlc3BvbnNlEmgKE1VwZGF0ZU1lbnRpb25TdGF0dXMSJy5zZXR0aW5ncy52MS5VcGRhdGVNZW50aW9uU3RhdHVzUmVxdWVzdBooLnNldHRpbmdzLnYxLlVwZGF0ZU1lbnRpb25TdGF0dXNSZXNwb25zZRJfChBNYXJrTWVudGlvbnNTZWVuEiQuc2V0dGluZ3MudjEuTWFya01lbnRpb25zU2VlblJlcXVlc3QaJS5zZXR0aW5ncy52MS5NYXJrTWVudGlvbnNTZWVuUmVzcG9uc2USUAoLTGlzdExvY2FsZXMSHy5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1Jlc3BvbnNlEkoKCUdldExvY2FsZRIdLnNldHRpbmdzLnYxLkdldExvY2FsZVJlcXVlc3QaHi5zZXR0aW5ncy52MS5HZXRMb2NhbGVSZXNwb25zZRJfChBHZXREZWZhdWx0TG9jYWxlEiQuc2V0dGluZ3MudjEuR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXREZWZhdWx0TG9jYWxlUmVzcG9uc2USXAoPR2V0TG9jYWxlQnlDb2RlEiMuc2V0dGluZ3MudjEuR2V0TG9jYWxlQnlDb2RlUmVxdWVzdBokLnNldHRpbmdzLnYxLkdldExvY2FsZUJ5Q29kZVJlc3BvbnNlElMKDENyZWF0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLkNyZWF0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5DcmVhdGVMb2NhbGVSZXNwb25zZRJTCgxVcGRhdGVMb2NhbGUSIC5zZXR0aW5ncy52MS5VcGRhdGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuVXBkYXRlTG9jYWxlUmVzcG9uc2USUwoMRGVsZXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuRGVsZXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLkRlbGV0ZUxvY2FsZVJlc3BvbnNlEmIKEUdldE5hdlByZWZlcmVuY2VzEiUuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXF1ZXN0GiYuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRJrChRVcGRhdGVOYXZQcmVmZXJlbmNlcxIoLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVxdWVzdBopLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USZQoSTGlzdFJlY2VudGx5T3BlbmVkEiYuc2V0dGluZ3MudjEuTGlzdFJlY2VudGx5T3BlbmVkUmVxdWVzdBonLnNldHRpbmdzLnYxLkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmgKE1RyYWNrUmVjZW50bHlPcGVuZWQSJy5zZXR0aW5ncy52MS5UcmFja1JlY2VudGx5T3BlbmVkUmVxdWVzdBooLnNldHRpbmdzLnYxLlRyYWNrUmVjZW50bHlPcGVuZWRSZXNwb25zZRJrChRSZW1vdmVSZWNlbnRseU9wZW5lZBIoLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVxdWVzdBopLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVzcG9uc2USaAoTQ2xlYXJSZWNlbnRseU9wZW5lZBInLnNldHRpbmdzLnYxLkNsZWFyUmVjZW50bHlPcGVuZWRSZXF1ZXN0Giguc2V0dGluZ3MudjEuQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlEm4KFUxpc3RDb250ZXh0RGltZW5zaW9ucxIpLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QaKi5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXNwb25zZRJoChNHZXRDb250ZXh0RGltZW5zaW9uEicuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QaKC5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USdwoYR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5Eiwuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5UmVxdWVzdBotLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEnEKFkNyZWF0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJxChZVcGRhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWRGVsZXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuRGVsZXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnoKGUdldENvbnRleHREaW1lbnNpb25WYWx1ZXMSLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVxdWVzdBouLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXNwb25zZRJfChBHZXRFZGl0b3JDb25maWdzEiQuc2V0dGluZ3MudjEuR2V0RWRpdG9yQ29uZmlnc1JlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXRFZGl0b3JDb25maWdzUmVzcG9uc2USZQoSTGlzdFZhcmlhbnRDYXRhbG9nEiYuc2V0dGluZ3MudjEuTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBonLnNldHRpbmdzLnYxLkxpc3RWYXJpYW50Q2F0YWxvZ1Jlc3BvbnNlEnEKFkdldFZhcmlhbnRDYXRhbG9nRW50cnkSKi5zZXR0aW5ncy52MS5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBorLnNldHRpbmdzLnYxLkdldFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5DcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLlVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5EZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLkRlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRKGAQodR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnkSMS5zZXR0aW5ncy52MS5HZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaMi5zZXR0aW5ncy52MS5HZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEo8BCiBFbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeRI0LnNldHRpbmdzLnYxLkVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBo1LnNldHRpbmdzLnYxLkVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USXwoQR2V0UHJvamVjdFNjaGVtYRIkLnNldHRpbmdzLnYxLkdldFByb2plY3RTY2hlbWFSZXF1ZXN0GiUuc2V0dGluZ3MudjEuR2V0UHJvamVjdFNjaGVtYVJlc3BvbnNlEnQKF1B1Ymxpc2hDb250ZXh0RGltZW5zaW9uEisuc2V0dGluZ3MudjEuUHVibGlzaENvbnRleHREaW1lbnNpb25SZXF1ZXN0Giwuc2V0dGluZ3MudjEuUHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRJ6ChlVbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uEi0uc2V0dGluZ3MudjEuVW5wdWJsaXNoQ29udGV4dERpbWVuc2lvblJlcXVlc3QaLi5zZXR0aW5ncy52MS5VbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USjwEKIEdldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzEjQuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblB1Ymxpc2hTdGF0dXNSZXF1ZXN0GjUuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblB1Ymxpc2hTdGF0dXNSZXNwb25zZRKMAQofU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaBIzLnNldHRpbmdzLnYxLlNjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0GjQuc2V0dGluZ3MudjEuU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEqEBCiZDYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaBI6LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVxdWVzdBo7LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVzcG9uc2USfQoaR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb24SLi5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QaLy5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlc3BvbnNlEoMBChxMaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zEjAuc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9uc1JlcXVlc3QaMS5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVzcG9uc2USiQEKHlJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvbhIyLnNldHRpbmdzLnYxLlJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QaMy5zZXR0aW5ncy52MS5SZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRJ0ChdHZXRQcm9qZWN0UHVibGlzaFN0YXR1cxIrLnNldHRpbmdzLnYxLkdldFByb2plY3RQdWJsaXNoU3RhdHVzUmVxdWVzdBosLnNldHRpbmdzLnYxLkdldFByb2plY3RQdWJsaXNoU3RhdHVzUmVzcG9uc2USawoUUHVibGlzaFByb2plY3RTY2hlbWESKC5zZXR0aW5ncy52MS5QdWJsaXNoUHJvamVjdFNjaGVtYVJlcXVlc3QaKS5zZXR0aW5ncy52MS5QdWJsaXNoUHJvamVjdFNjaGVtYVJlc3BvbnNlElwKD0dldERlc2lnblRva2VucxIjLnNldHRpbmdzLnYxLkdldERlc2lnblRva2Vuc1JlcXVlc3QaJC5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNSZXNwb25zZRJlChJVcGRhdGVEZXNpZ25Ub2tlbnMSJi5zZXR0aW5ncy52MS5VcGRhdGVEZXNpZ25Ub2tlbnNSZXF1ZXN0Gicuc2V0dGluZ3MudjEuVXBkYXRlRGVzaWduVG9rZW5zUmVzcG9uc2USaAoTUHVibGlzaERlc2lnblRva2VucxInLnNldHRpbmdzLnYxLlB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0Giguc2V0dGluZ3MudjEuUHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEm4KFVVucHVibGlzaERlc2lnblRva2VucxIpLnNldHRpbmdzLnYxLlVucHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QaKi5zZXR0aW5ncy52MS5VbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXNwb25zZRKDAQocR2V0RGVzaWduVG9rZW5zUHVibGlzaFN0YXR1cxIwLnNldHRpbmdzLnYxLkdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXNSZXF1ZXN0GjEuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5zUHVibGlzaFN0YXR1c1Jlc3BvbnNlEoABChtTY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2gSLy5zZXR0aW5ncy52MS5TY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0GjAuc2V0dGluZ3MudjEuU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USlQEKIkNhbmNlbFNjaGVkdWxlZERlc2lnblRva2Vuc1B1Ymxpc2gSNi5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdBo3LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZERlc2lnblRva2Vuc1B1Ymxpc2hSZXNwb25zZRJ9ChpDb3VudERlc2lnblRva2VuUmVmZXJlbmNlcxIuLnNldHRpbmdzLnYxLkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVxdWVzdBovLnNldHRpbmdzLnYxLkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVzcG9uc2USbgoVR2V0RGVzaWduVG9rZW5WZXJzaW9uEikuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5WZXJzaW9uUmVxdWVzdBoqLnNldHRpbmdzLnYxLkdldERlc2lnblRva2VuVmVyc2lvblJlc3BvbnNlEnQKF0xpc3REZXNpZ25Ub2tlblZlcnNpb25zEisuc2V0dGluZ3MudjEuTGlzdERlc2lnblRva2VuVmVyc2lvbnNSZXF1ZXN0Giwuc2V0dGluZ3MudjEuTGlzdERlc2lnblRva2VuVmVyc2lvbnNSZXNwb25zZRJ6ChlSZXN0b3JlRGVzaWduVG9rZW5WZXJzaW9uEi0uc2V0dGluZ3MudjEuUmVzdG9yZURlc2lnblRva2VuVmVyc2lvblJlcXVlc3QaLi5zZXR0aW5ncy52MS5SZXN0b3JlRGVzaWduVG9rZW5WZXJzaW9uUmVzcG9uc2VCPVo7Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3NldHRpbmdzL3YxO3NldHRpbmdzdjFiBnByb3RvMw", [file_google_protobuf_struct6, file_google_protobuf_timestamp7, file_expressions_v1_expressions, file_publish_v1_publish, file_common_v1_pagination]);
939
- var SettingSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 0);
940
- var NoteSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 2);
941
- var GetSettingsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 3);
942
- var UpdateSettingRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 5);
943
- var CreateNoteRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 9);
944
- var GetNoteRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 11);
945
- var ListNotesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 13);
946
- var UpdateNoteRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 15);
947
- var DeleteNoteRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 17);
948
- var ListMyMentionsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 22);
949
- var UpdateMentionStatusRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 24);
950
- var LocaleSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 26);
951
- var ListLocalesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 27);
952
- var GetLocaleRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 29);
953
- var CreateLocaleRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 31);
954
- var UpdateLocaleRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 33);
955
- var DeleteLocaleRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 35);
956
- var GetNavPreferencesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 38);
957
- var UpdateNavPreferencesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 40);
958
- var ListRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 43);
959
- var TrackRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 45);
960
- var RemoveRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 47);
961
- var ClearRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 49);
962
- var ListContextDimensionsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 53);
963
- var GetContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 55);
964
- var CreateContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 57);
965
- var UpdateContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 59);
966
- var DeleteContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 61);
967
- var GetContextDimensionValuesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 63);
968
- var VariantCatalogEntrySchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 65);
969
- var ListVariantCatalogRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 66);
970
- var GetVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 68);
971
- var CreateVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 70);
972
- var UpdateVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 72);
973
- var DeleteVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 74);
974
- var GetEditorConfigsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 76);
975
- var GetDefaultLocaleRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 89);
976
- var GetLocaleByCodeRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 91);
977
- var DeleteSettingRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 95);
978
- var GetDesignTokensRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 116);
979
- var UpdateDesignTokensRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 118);
980
- var PublishDesignTokensRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 120);
981
- var UnpublishDesignTokensRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 122);
982
- var GetDesignTokensPublishStatusRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 124);
983
- var ScheduleDesignTokensPublishRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 126);
984
- var CancelScheduledDesignTokensPublishRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 128);
985
- var CountDesignTokenReferencesRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 130);
986
- var GetDesignTokenVersionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 133);
987
- var ListDesignTokenVersionsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 135);
988
- var RestoreDesignTokenVersionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 137);
989
- var PublishContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 146);
990
- var UnpublishContextDimensionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 148);
991
- var GetContextDimensionPublishStatusRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 150);
992
- var GetContextDimensionVersionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 153);
993
- var ListContextDimensionVersionsRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 155);
994
- var RestoreContextDimensionVersionRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 157);
995
- var PublishProjectSchemaRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 159);
996
- var GetProjectPublishStatusRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 161);
997
- var ScheduleContextDimensionPublishRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 163);
998
- var CancelScheduledContextDimensionPublishRequestSchema = /* @__PURE__ */ messageDesc11(file_settings_v1_settings, 165);
999
- var SettingsService = /* @__PURE__ */ serviceDesc7(file_settings_v1_settings, 0);
943
+ var file_settings_v1_settings = /* @__PURE__ */ fileDesc10("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKxBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKdmlzaWJpbGl0eRggIAEoCRISCgpjcmVhdGVkX2J5GCggASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhUKE19lbnRpdHlfbmF0dXJhbF9rZXlCDQoLX3ZlcnNpb25faWRCFQoTX2NvbnRlbnRfcGxhaW5fdGV4dEIRCg9fcGFyZW50X25vdGVfaWRCEQoPX3RocmVhZF9yb290X2lkQg4KDF9yZXNvbHZlZF9hdEIOCgxfcmVzb2x2ZWRfYnlCCwoJX21ldGFkYXRhQg0KC19wcm9qZWN0X2lkIlIKEkdldFNldHRpbmdzUmVxdWVzdBIVCghjYXRlZ29yeRgBIAEoCUgAiAEBEhAKA2tleRgCIAEoCUgBiAEBQgsKCV9jYXRlZ29yeUIGCgRfa2V5Ij0KE0dldFNldHRpbmdzUmVzcG9uc2USJgoIc2V0dGluZ3MYASADKAsyFC5zZXR0aW5ncy52MS5TZXR0aW5nIksKFFVwZGF0ZVNldHRpbmdSZXF1ZXN0EgsKA2tleRgBIAEoCRImCgV2YWx1ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPgoVVXBkYXRlU2V0dGluZ1Jlc3BvbnNlEiUKB3NldHRpbmcYASABKAsyFC5zZXR0aW5ncy52MS5TZXR0aW5nIsUBChRMaXN0QXVkaXRMb2dzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilwEKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRIjCgRsb2dzGAEgAygLMhUuc2V0dGluZ3MudjEuQXVkaXRMb2cSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIpUBChFDcmVhdGVOb3RlUmVxdWVzdBITCgtlbnRpdHlfdHlwZRgBIAEoCRIRCgllbnRpdHlfaWQYAiABKAkSKAoHY29udGVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGwoOcGFyZW50X25vdGVfaWQYBCABKAlIAIgBAUIRCg9fcGFyZW50X25vdGVfaWQiNQoSQ3JlYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIhwKDkdldE5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjIKD0dldE5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSLBAQoQTGlzdE5vdGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhIKBWZpcnN0GAYgASgFSAOIAQESEQoEbGFzdBgHIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikAEKEUxpc3ROb3Rlc1Jlc3BvbnNlEiAKBW5vdGVzGAEgAygLMhEuc2V0dGluZ3MudjEuTm90ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ihAEKEVVwZGF0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJEi0KB2NvbnRlbnQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGAoLaXNfcmVzb2x2ZWQYAyABKAhIAYgBAUIKCghfY29udGVudEIOCgxfaXNfcmVzb2x2ZWQiNQoSVXBkYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIh8KEURlbGV0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIiUKEkRlbGV0ZU5vdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqwFCgtOb3RlTWVudGlvbhIKCgJpZBgBIAEoCRIPCgdub3RlX2lkGAIgASgJEhkKEW1lbnRpb25lZF91c2VyX2lkGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIwCgdzZWVuX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjgKD2Fja25vd2xlZGdlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1Cgxjb21wbGV0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGwoOY29tcGxldGVkX25vdGUYCCABKAlIA4gBARI1CgxkaXNtaXNzZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoOZGlzbWlzc19yZWFzb24YCiABKAlIBYgBARIxCghkdWVfZGF0ZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9zZWVuX2F0QhIKEF9hY2tub3dsZWRnZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIRCg9fY29tcGxldGVkX25vdGVCDwoNX2Rpc21pc3NlZF9hdEIRCg9fZGlzbWlzc19yZWFzb25CCwoJX2R1ZV9kYXRlQg0KC19wcm9qZWN0X2lkItoBChJNZW50aW9uV2l0aENvbnRleHQSKQoHbWVudGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLk5vdGVNZW50aW9uEh8KBG5vdGUYAiABKAsyES5zZXR0aW5ncy52MS5Ob3RlEhgKC2F1dGhvcl9uYW1lGAMgASgJSACIAQESGAoLZW50aXR5X3R5cGUYBCABKAlIAYgBARIWCgllbnRpdHlfaWQYBSABKAlIAogBAUIOCgxfYXV0aG9yX25hbWVCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWQiTwoNTWVudGlvbkNvdW50cxIPCgdwZW5kaW5nGAEgASgFEhAKCHBhc3RfZHVlGAIgASgFEhsKE2NvbXBsZXRlZF90aGlzX3dlZWsYAyABKAUixgEKFUxpc3RNeU1lbnRpb25zUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QizwEKFkxpc3RNeU1lbnRpb25zUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5NZW50aW9uV2l0aENvbnRleHQSDQoFdG90YWwYAiABKAUSKgoGY291bnRzGAMgASgLMhouc2V0dGluZ3MudjEuTWVudGlvbkNvdW50cxIrCglwYWdlX2luZm8YBCABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAUgAygJQgwKCl9wYWdlX2luZm8ioAEKGlVwZGF0ZU1lbnRpb25TdGF0dXNSZXF1ZXN0EhIKCm1lbnRpb25faWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhsKDmNvbXBsZXRlZF9ub3RlGAMgASgJSACIAQESGwoOZGlzbWlzc19yZWFzb24YBCABKAlIAYgBAUIRCg9fY29tcGxldGVkX25vdGVCEQoPX2Rpc21pc3NfcmVhc29uIkgKG1VwZGF0ZU1lbnRpb25TdGF0dXNSZXNwb25zZRIpCgdtZW50aW9uGAEgASgLMhguc2V0dGluZ3MudjEuTm90ZU1lbnRpb24ivwMKBkxvY2FsZRIKCgJpZBgBIAEoCRIOCgZsb2NhbGUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEhgKC25hdGl2ZV9uYW1lGAQgASgJSACIAQESEgoKaXNfZGVmYXVsdBgFIAEoCBIRCglpc19hY3RpdmUYBiABKAgSDgoGaXNfcnRsGAcgASgIEhwKD2ZhbGxiYWNrX2xvY2FsZRgIIAEoCUgBiAEBEhkKEWZhbGxiYWNrX3ByaW9yaXR5GAkgASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAogBARIXCgp1cGRhdGVkX2J5GB8gASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX25hdGl2ZV9uYW1lQhIKEF9mYWxsYmFja19sb2NhbGVCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiwwEKEkxpc3RMb2NhbGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilgEKE0xpc3RMb2NhbGVzUmVzcG9uc2USJAoHbG9jYWxlcxgBIAMoCzITLnNldHRpbmdzLnYxLkxvY2FsZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iHgoQR2V0TG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChFHZXRMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUi3wEKE0NyZWF0ZUxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIYCgtuYXRpdmVfbmFtZRgDIAEoCUgAiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAYgBARITCgZpc19ydGwYBSABKAhIAogBARIcCg9mYWxsYmFja19sb2NhbGUYBiABKAlIA4gBAUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCCQoHX2lzX3J0bEISChBfZmFsbGJhY2tfbG9jYWxlIjsKFENyZWF0ZUxvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSKXAgoTVXBkYXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtuYXRpdmVfbmFtZRgDIAEoCUgBiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAogBARIWCglpc19hY3RpdmUYBSABKAhIA4gBARITCgZpc19ydGwYBiABKAhIBIgBARIcCg9mYWxsYmFja19sb2NhbGUYByABKAlIBYgBAUIPCg1fZGlzcGxheV9uYW1lQg4KDF9uYXRpdmVfbmFtZUINCgtfaXNfZGVmYXVsdEIMCgpfaXNfYWN0aXZlQgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRVcGRhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUiIQoTRGVsZXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVMb2NhbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIpQBCg5OYXZQcmVmZXJlbmNlcxIZChFmYXZvcml0ZV9wcm9qZWN0cxgBIAMoCRIaChJmYXZvcml0ZV9uYXZfaXRlbXMYAiADKAkSGgoSY29sbGFwc2VkX3NlY3Rpb25zGAMgAygJEi8KDm5hdl9pdGVtX29yZGVyGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIaChhHZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QiTQoZR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRIwCgtwcmVmZXJlbmNlcxgBIAEoCzIbLnNldHRpbmdzLnYxLk5hdlByZWZlcmVuY2VzIvwBChtVcGRhdGVOYXZQcmVmZXJlbmNlc1JlcXVlc3QSNQoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlc0gAiAEBEh4KEXRvZ2dsZV9wcm9qZWN0X2lkGAIgASgJSAGIAQESHAoPdG9nZ2xlX25hdl9pdGVtGAMgASgJSAKIAQESGwoOdG9nZ2xlX3NlY3Rpb24YBCABKAlIA4gBAUIOCgxfcHJlZmVyZW5jZXNCFAoSX3RvZ2dsZV9wcm9qZWN0X2lkQhIKEF90b2dnbGVfbmF2X2l0ZW1CEQoPX3RvZ2dsZV9zZWN0aW9uIlAKHFVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyJeChJSZWNlbnRseU9wZW5lZEl0ZW0SDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgRwYXRoGAQgASgJEhEKCXRpbWVzdGFtcBgFIAEoAyKTAQoZTGlzdFJlY2VudGx5T3BlbmVkUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKYAQoaTGlzdFJlY2VudGx5T3BlbmVkUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5SZWNlbnRseU9wZW5lZEl0ZW0SKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIlMKGlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCSIuChtUcmFja1JlY2VudGx5T3BlbmVkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI3ChtSZW1vdmVSZWNlbnRseU9wZW5lZFJlcXVlc3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIvChxSZW1vdmVSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHAoaQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QiLgobQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiyQYKEENvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARITCgtzb3VyY2VfdHlwZRgFIAEoCRIYChBzb3VyY2VfbW9kZWxfa2V5GAYgASgJEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgHIAEoCUgBiAEBEhEKCWlzX3N5c3RlbRgIIAEoCBIXCg9idWlsdF9pbl92YWx1ZXMYCSADKAkSPQoQZXZhbHVhdGlvbl9ydWxlcxgOIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAKIAQESEQoJZGF0YV90eXBlGAogASgJEhAKCGNhdGVnb3J5GAsgASgJEhMKC2lzX3JlcXVpcmVkGAwgASgIEhIKCnNvcnRfb3JkZXIYDSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFgoJY29uZmlnX2lkGBYgASgJSAOIAQESFwoKY3JlYXRlZF9ieRgeIAEoCUgEiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIBYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg8IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBQg4KDF9kZXNjcmlwdGlvbkIVChNfZGVmYXVsdF9yZWNvcmRfa2V5QhMKEV9ldmFsdWF0aW9uX3J1bGVzQgwKCl9jb25maWdfaWRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCFwoVX3NjaGVkdWxlZF9wdWJsaXNoX2F0QhkKF19zY2hlZHVsZWRfdW5wdWJsaXNoX2F0IjMKFUNvbnRleHREaW1lbnNpb25WYWx1ZRILCgNrZXkYASABKAkSDQoFbGFiZWwYAiABKAkitgEKHExpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QSEwoGc2VhcmNoGAEgASgJSACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIJCgdfc2VhcmNoQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKtAQodTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USMQoKZGltZW5zaW9ucxgBIAMoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIigKGkdldENvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIk8KG0dldENvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIsUCCh1DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhMKC3NvdXJjZV90eXBlGAQgASgJEhgKEHNvdXJjZV9tb2RlbF9rZXkYBSABKAkSHwoSZGVmYXVsdF9yZWNvcmRfa2V5GAYgASgJSAGIAQESPQoQZXZhbHVhdGlvbl9ydWxlcxgHIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAKIAQESFgoJY29uZmlnX2lkGAggASgJSAOIAQFCDgoMX2Rlc2NyaXB0aW9uQhUKE19kZWZhdWx0X3JlY29yZF9rZXlCEwoRX2V2YWx1YXRpb25fcnVsZXNCDAoKX2NvbmZpZ19pZCJSCh5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiLTAgodVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgCiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgDiAEBEhQKB3B1Ymxpc2gYBiABKAhIBIgBARI9ChBldmFsdWF0aW9uX3J1bGVzGAcgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEwoRX3NvdXJjZV9tb2RlbF9rZXlCFQoTX2RlZmF1bHRfcmVjb3JkX2tleUIKCghfcHVibGlzaEITChFfZXZhbHVhdGlvbl9ydWxlcyJSCh5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiIrCh1EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLRAQogR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QSFQoNZGltZW5zaW9uX2tleRgBIAEoCRITCgZzZWFyY2gYAiABKAlIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQgkKB19zZWFyY2hCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrIBCiFHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USMgoGdmFsdWVzGAEgAygLMiIuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZhbHVlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyLyAwoTVmFyaWFudENhdGFsb2dFbnRyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESEAoIcHJpb3JpdHkYBiABKAUSEgoKaXNfZGVmYXVsdBgHIAEoCBIRCglpc19hY3RpdmUYCCABKAgSGAoLZmFsbGJhY2tfaWQYCiABKAlIAogBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIXCgpjcmVhdGVkX2J5GB4gASgJSAOIAQESFwoKdXBkYXRlZF9ieRgfIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkISChBfdGFyZ2V0aW5nX3J1bGVzQg4KDF9mYWxsYmFja19pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLKAQoZTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiqgEKGkxpc3RWYXJpYW50Q2F0YWxvZ1Jlc3BvbnNlEjEKB2VudHJpZXMYASADKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIrCh1HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSJRCh5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IqsCCiBDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFQoIcHJpb3JpdHkYBSABKAVIAogBARIXCgppc19kZWZhdWx0GAYgASgISAOIAQESFgoJaXNfYWN0aXZlGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCCwoJX3ByaW9yaXR5Qg0KC19pc19kZWZhdWx0QgwKCl9pc19hY3RpdmUiVAohQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSK4AgogVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAogBARIVCghwcmlvcml0eRgFIAEoBUgDiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Ii4KIERlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjQKIURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKF0dldEVkaXRvckNvbmZpZ3NSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSLAAgoVRWRpdG9yQ29uZmlnUGxhY2VtZW50EhEKCWNvbmZpZ19pZBgBIAEoCRISCgpjb25maWdfa2V5GAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhsKDmFsbG93ZWRfb3JpZ2luGAQgASgJSAGIAQESEwoGaGVpZ2h0GAUgASgFSAKIAQESEgoFbGFiZWwYBiABKAlIA4gBARIUCgdhcGlfa2V5GAcgASgJSASIAQESFAoHYXBpX3VybBgIIAEoCUgFiAEBEh4KEWNvbm5lY3Rpb25fZG9tYWluGAkgASgJSAaIAQFCBgoEX3VybEIRCg9fYWxsb3dlZF9vcmlnaW5CCQoHX2hlaWdodEIICgZfbGFiZWxCCgoIX2FwaV9rZXlCCgoIX2FwaV91cmxCFAoSX2Nvbm5lY3Rpb25fZG9tYWluIlIKGEdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRI2CgpwbGFjZW1lbnRzGAEgAygLMiIuc2V0dGluZ3MudjEuRWRpdG9yQ29uZmlnUGxhY2VtZW50IiAKElJlc29sdmVOb3RlUmVxdWVzdBIKCgJpZBgBIAEoCSI2ChNSZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIiIKFFVucmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjgKFVVucmVzb2x2ZU5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSLFAQoSU2VhcmNoTm90ZXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhgKC2VudGl0eV90eXBlGAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIOCgxfZW50aXR5X3R5cGVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpIBChNTZWFyY2hOb3Rlc1Jlc3BvbnNlEiAKBW5vdGVzGAEgAygLMhEuc2V0dGluZ3MudjEuTm90ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGQoXTWFya01lbnRpb25zU2VlblJlcXVlc3QiKQoYTWFya01lbnRpb25zU2VlblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIi4KH0dldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIlQKIEdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iGQoXR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QiPwoYR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSImChZHZXRMb2NhbGVCeUNvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAkiPgoXR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKJEdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdCJYCiVHZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSIjChREZWxldGVTZXR0aW5nUmVxdWVzdBILCgNrZXkYASABKAkiKAoVRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiMwofRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSIxCiBEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRINCgVjb3VudBgBIAEoBSJNChZCdWxrU2V0U2V0dGluZ3NSZXF1ZXN0EjMKCHNldHRpbmdzGAEgAygLMiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QiKAoXQnVsa1NldFNldHRpbmdzUmVzcG9uc2USDQoFY291bnQYASABKAUiKQonRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlsKKEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IvADCgxEZXNpZ25Ub2tlbnMSKQoIZG9jdW1lbnQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCHJlc29sdmVkGAIgASgLMiEuc2V0dGluZ3MudjEuUmVzb2x2ZWREZXNpZ25Ub2tlbnMSDwoHdmVyc2lvbhgKIAEoBRIeChFwdWJsaXNoZWRfdmVyc2lvbhgLIAEoBUgAiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GDwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCFAoSX3B1Ymxpc2hlZF92ZXJzaW9uQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCL6BAoUUmVzb2x2ZWREZXNpZ25Ub2tlbnMSLwoGY29sb3JzGAEgAygLMh8uc2V0dGluZ3MudjEuUmVzb2x2ZWRDb2xvclRva2VuEjsKDWZvbnRfZmFtaWxpZXMYAiADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhI6Cgxmb250X3dlaWdodHMYAyADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRXZWlnaHRUb2tlbhI3Cgpmb250X3NpemVzGAQgAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhI2CgxsaW5lX2hlaWdodHMYBSADKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZE51bWJlclRva2VuEjwKD2xldHRlcl9zcGFjaW5ncxgGIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SOAoKdHlwb2dyYXBoeRgHIAMoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVRva2VuEjUKCHNwYWNpbmdzGAggAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhIyCgVyYWRpaRgJIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SMQoHc2hhZG93cxgKIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93VG9rZW4SMQoHYm9yZGVycxgLIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkQm9yZGVyVG9rZW4iaQoSUmVzb2x2ZWRDb2xvclRva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEg0KBXZhbHVlGAQgASgJQg4KDF9kZXNjcmlwdGlvbiJuChdSZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAMoCUIOCgxfZGVzY3JpcHRpb24ibgoXUmVzb2x2ZWRGb250V2VpZ2h0VG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIm0KFlJlc29sdmVkRGltZW5zaW9uVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAlCDgoMX2Rlc2NyaXB0aW9uImoKE1Jlc29sdmVkTnVtYmVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAFCDgoMX2Rlc2NyaXB0aW9uIswBChdSZXNvbHZlZFR5cG9ncmFwaHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIzCgV2YWx1ZRgEIAEoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVZhbHVlEhIKBWxhYmVsGAUgASgJSAGIAQESEAoDdGFnGAYgASgJSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9sYWJlbEIGCgRfdGFnIo0BChNSZXNvbHZlZFNoYWRvd1Rva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjAKBmxheWVycxgEIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93TGF5ZXJCDgoMX2Rlc2NyaXB0aW9uInUKE1Jlc29sdmVkU2hhZG93TGF5ZXISEAoIb2Zmc2V0X3gYASABKAkSEAoIb2Zmc2V0X3kYAiABKAkSDAoEYmx1chgDIAEoCRIOCgZzcHJlYWQYBCABKAkSDQoFY29sb3IYBSABKAkSDQoFaW5zZXQYBiABKAgijAEKE1Jlc29sdmVkQm9yZGVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESLwoFdmFsdWUYBCABKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZEJvcmRlclZhbHVlQg4KDF9kZXNjcmlwdGlvbiJCChNSZXNvbHZlZEJvcmRlclZhbHVlEg0KBWNvbG9yGAEgASgJEg0KBXdpZHRoGAIgASgJEg0KBXN0eWxlGAMgASgJIpsBChdSZXNvbHZlZFR5cG9ncmFwaHlWYWx1ZRITCgtmb250X2ZhbWlseRgBIAMoCRIRCglmb250X3NpemUYAiABKAkSEwoLZm9udF93ZWlnaHQYAyABKAUSEwoLbGluZV9oZWlnaHQYBCABKAESFgoObGV0dGVyX3NwYWNpbmcYBSABKAkSFgoOdGV4dF90cmFuc2Zvcm0YBiABKAkiRAoWR2V0RGVzaWduVG9rZW5zUmVxdWVzdBIqCgdjaGFubmVsGAEgASgOMhkucHVibGlzaC52MS5TY2hlbWFDaGFubmVsIkQKF0dldERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyJGChlVcGRhdGVEZXNpZ25Ub2tlbnNSZXF1ZXN0EikKCGRvY3VtZW50GAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJHChpVcGRhdGVEZXNpZ25Ub2tlbnNSZXNwb25zZRIpCgZ0b2tlbnMYASABKAsyGS5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlbnMiHAoaUHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QifgobUHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucxI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIeChxVbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0IkoKHVVucHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIlCiNHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVxdWVzdCJRCiRHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVzcG9uc2USKQoGc3RhdHVzGAEgASgLMhkucHVibGlzaC52MS5QdWJsaXNoU3RhdHVzIpwBCiJTY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0Ei4KCnB1Ymxpc2hfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlAKI1NjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIrCilDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdCJXCipDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIjcKIUNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVxdWVzdBISCgp0b2tlbl9wYXRoGAEgASgJIlMKIkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVzcG9uc2USFwoPcGFyYWdyYXBoX2NvdW50GAEgASgFEhQKDHJlY29yZF9jb3VudBgCIAEoBSLZAgoSRGVzaWduVG9rZW5WZXJzaW9uEgoKAmlkGAEgASgJEhgKEGRlc2lnbl90b2tlbnNfaWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSIqChxHZXREZXNpZ25Ub2tlblZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlEKHUdldERlc2lnblRva2VuVmVyc2lvblJlc3BvbnNlEjAKB3ZlcnNpb24YASABKAsyHy5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlblZlcnNpb24imAEKHkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKvAQofTGlzdERlc2lnblRva2VuVmVyc2lvbnNSZXNwb25zZRIxCgh2ZXJzaW9ucxgBIAMoCzIfLnNldHRpbmdzLnYxLkRlc2lnblRva2VuVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ibgogUmVzdG9yZURlc2lnblRva2VuVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAiABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIoQBCiFSZXN0b3JlRGVzaWduVG9rZW5WZXJzaW9uUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zEjQKC25ld192ZXJzaW9uGAIgASgLMh8uc2V0dGluZ3MudjEuRGVzaWduVG9rZW5WZXJzaW9uIkUKF0dldFByb2plY3RTY2hlbWFSZXF1ZXN0EioKB2NoYW5uZWwYASABKA4yGS5wdWJsaXNoLnYxLlNjaGVtYUNoYW5uZWwiZQoSUHJvamVjdFNjaGVtYU1vZGVsEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhMKC2ZpZWxkc19qc29uGAQgASgJEhMKC2NvbmZpZ19qc29uGAUgASgJIsIBCh1Qcm9qZWN0U2NoZW1hQ29udGV4dERpbWVuc2lvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIdChBzb3VyY2VfbW9kZWxfa2V5GAQgASgJSACIAQESHwoSZGVmYXVsdF9yZWNvcmRfa2V5GAUgASgJSAGIAQESDgoGdmFsdWVzGAYgAygJQhMKEV9zb3VyY2VfbW9kZWxfa2V5QhUKE19kZWZhdWx0X3JlY29yZF9rZXkijgEKGVByb2plY3RTY2hlbWFBdXRoUHJvdmlkZXISCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIEiwKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIJCgdfY29uZmlnIp8DChZQcm9qZWN0U2NoZW1hT3BlcmF0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEhIKCnRpbWVvdXRfbXMYBCABKAUSMgoMaW5wdXRfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjMKDW91dHB1dF9zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESFgoOc3VwcG9ydHNfYXN5bmMYByABKAgSDAoEa2luZBgIIAEoCRIeChFhdHRhY2hlZF90b19tb2RlbBgJIAEoCUgCiAEBEhUKDXBhcmVudF9maWVsZHMYCiADKAkSMwoNY2FjaGVfY29udHJvbBgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUIPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQhQKEl9hdHRhY2hlZF90b19tb2RlbEIQCg5fY2FjaGVfY29udHJvbCJEChRQcm9qZWN0U2NoZW1hU2VnbWVudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpc19hY3RpdmUYAyABKAgiuwMKGEdldFByb2plY3RTY2hlbWFSZXNwb25zZRIvCgZtb2RlbHMYASADKAsyHy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hTW9kZWwSPgoKZGltZW5zaW9ucxgCIAMoCzIqLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFDb250ZXh0RGltZW5zaW9uEj4KDmF1dGhfcHJvdmlkZXJzGAMgAygLMiYuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUF1dGhQcm92aWRlchI3CgpvcGVyYXRpb25zGAQgAygLMiMuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYU9wZXJhdGlvbhIzCghzZWdtZW50cxgFIAMoCzIhLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFTZWdtZW50EiYKGWN1c3RvbWVyX3Bhc3N3b3JkX2VuYWJsZWQYCCABKAhIAIgBARIhChRjdXN0b21lcl9vdHBfZW5hYmxlZBgJIAEoCEgBiAEBQhwKGl9jdXN0b21lcl9wYXNzd29yZF9lbmFibGVkQhcKFV9jdXN0b21lcl9vdHBfZW5hYmxlZCIsCh5QdWJsaXNoQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiiQEKH1B1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbhI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIuCiBVbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCiFVbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiI1CidHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiVQooR2V0Q29udGV4dERpbWVuc2lvblB1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMi4gIKF0NvbnRleHREaW1lbnNpb25WZXJzaW9uEgoKAmlkGAEgASgJEhwKFGNvbnRleHRfZGltZW5zaW9uX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnkiLwohR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlsKIkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uUmVzcG9uc2USNQoHdmVyc2lvbhgBIAEoCzIkLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb25WZXJzaW9uIrsBCiNMaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVxdWVzdBIcChRjb250ZXh0X2RpbWVuc2lvbl9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCK5AQokTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9uc1Jlc3BvbnNlEjYKCHZlcnNpb25zGAEgAygLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvInMKJVJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAiABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIpUBCiZSZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uEjkKC25ld192ZXJzaW9uGAIgASgLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24iHQobUHVibGlzaFByb2plY3RTY2hlbWFSZXF1ZXN0ItQBChxQdWJsaXNoUHJvamVjdFNjaGVtYVJlc3BvbnNlEhgKEG1vZGVsc19wdWJsaXNoZWQYASABKAUSHAoUb3BlcmF0aW9uc19wdWJsaXNoZWQYAiABKAUSJAocY29udGV4dF9kaW1lbnNpb25zX3B1Ymxpc2hlZBgDIAEoBRIgChhhdXRoX3Byb3ZpZGVyc19wdWJsaXNoZWQYBCABKAUSNAoQYnJlYWtpbmdfY2hhbmdlcxgGIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiIAoeR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXNSZXF1ZXN0IoMBCh9HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1Jlc3BvbnNlEioKB3BlbmRpbmcYASADKAsyGS5wdWJsaXNoLnYxLlBlbmRpbmdFbnRpdHkSNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UirAEKJlNjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlsKJ1NjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIjsKLUNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJiCi5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24y1zgKD1NldHRpbmdzU2VydmljZRJQCgtHZXRTZXR0aW5ncxIfLnNldHRpbmdzLnYxLkdldFNldHRpbmdzUmVxdWVzdBogLnNldHRpbmdzLnYxLkdldFNldHRpbmdzUmVzcG9uc2USVgoNVXBkYXRlU2V0dGluZxIhLnNldHRpbmdzLnYxLlVwZGF0ZVNldHRpbmdSZXF1ZXN0GiIuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1Jlc3BvbnNlElYKDURlbGV0ZVNldHRpbmcSIS5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nUmVxdWVzdBoiLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdSZXNwb25zZRJ3ChhEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnkSLC5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXF1ZXN0Gi0uc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVzcG9uc2USXAoPQnVsa1NldFNldHRpbmdzEiMuc2V0dGluZ3MudjEuQnVsa1NldFNldHRpbmdzUmVxdWVzdBokLnNldHRpbmdzLnYxLkJ1bGtTZXRTZXR0aW5nc1Jlc3BvbnNlElYKDUxpc3RBdWRpdExvZ3MSIS5zZXR0aW5ncy52MS5MaXN0QXVkaXRMb2dzUmVxdWVzdBoiLnNldHRpbmdzLnYxLkxpc3RBdWRpdExvZ3NSZXNwb25zZRJNCgpDcmVhdGVOb3RlEh4uc2V0dGluZ3MudjEuQ3JlYXRlTm90ZVJlcXVlc3QaHy5zZXR0aW5ncy52MS5DcmVhdGVOb3RlUmVzcG9uc2USRAoHR2V0Tm90ZRIbLnNldHRpbmdzLnYxLkdldE5vdGVSZXF1ZXN0Ghwuc2V0dGluZ3MudjEuR2V0Tm90ZVJlc3BvbnNlEkoKCUxpc3ROb3RlcxIdLnNldHRpbmdzLnYxLkxpc3ROb3Rlc1JlcXVlc3QaHi5zZXR0aW5ncy52MS5MaXN0Tm90ZXNSZXNwb25zZRJNCgpVcGRhdGVOb3RlEh4uc2V0dGluZ3MudjEuVXBkYXRlTm90ZVJlcXVlc3QaHy5zZXR0aW5ncy52MS5VcGRhdGVOb3RlUmVzcG9uc2USTQoKRGVsZXRlTm90ZRIeLnNldHRpbmdzLnYxLkRlbGV0ZU5vdGVSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuRGVsZXRlTm90ZVJlc3BvbnNlElAKC1Jlc29sdmVOb3RlEh8uc2V0dGluZ3MudjEuUmVzb2x2ZU5vdGVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuUmVzb2x2ZU5vdGVSZXNwb25zZRJWCg1VbnJlc29sdmVOb3RlEiEuc2V0dGluZ3MudjEuVW5yZXNvbHZlTm90ZVJlcXVlc3QaIi5zZXR0aW5ncy52MS5VbnJlc29sdmVOb3RlUmVzcG9uc2USUAoLU2VhcmNoTm90ZXMSHy5zZXR0aW5ncy52MS5TZWFyY2hOb3Rlc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5TZWFyY2hOb3Rlc1Jlc3BvbnNlElkKDkxpc3RNeU1lbnRpb25zEiIuc2V0dGluZ3MudjEuTGlzdE15TWVudGlvbnNSZXF1ZXN0GiMuc2V0dGluZ3MudjEuTGlzdE15TWVudGlvbnNSZXNwb25zZRJoChNVcGRhdGVNZW50aW9uU3RhdHVzEicuc2V0dGluZ3MudjEuVXBkYXRlTWVudGlvblN0YXR1c1JlcXVlc3QaKC5zZXR0aW5ncy52MS5VcGRhdGVNZW50aW9uU3RhdHVzUmVzcG9uc2USXwoQTWFya01lbnRpb25zU2VlbhIkLnNldHRpbmdzLnYxLk1hcmtNZW50aW9uc1NlZW5SZXF1ZXN0GiUuc2V0dGluZ3MudjEuTWFya01lbnRpb25zU2VlblJlc3BvbnNlElAKC0xpc3RMb2NhbGVzEh8uc2V0dGluZ3MudjEuTGlzdExvY2FsZXNSZXF1ZXN0GiAuc2V0dGluZ3MudjEuTGlzdExvY2FsZXNSZXNwb25zZRJKCglHZXRMb2NhbGUSHS5zZXR0aW5ncy52MS5HZXRMb2NhbGVSZXF1ZXN0Gh4uc2V0dGluZ3MudjEuR2V0TG9jYWxlUmVzcG9uc2USXwoQR2V0RGVmYXVsdExvY2FsZRIkLnNldHRpbmdzLnYxLkdldERlZmF1bHRMb2NhbGVSZXF1ZXN0GiUuc2V0dGluZ3MudjEuR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlElwKD0dldExvY2FsZUJ5Q29kZRIjLnNldHRpbmdzLnYxLkdldExvY2FsZUJ5Q29kZVJlcXVlc3QaJC5zZXR0aW5ncy52MS5HZXRMb2NhbGVCeUNvZGVSZXNwb25zZRJTCgxDcmVhdGVMb2NhbGUSIC5zZXR0aW5ncy52MS5DcmVhdGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuQ3JlYXRlTG9jYWxlUmVzcG9uc2USUwoMVXBkYXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuVXBkYXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLlVwZGF0ZUxvY2FsZVJlc3BvbnNlElMKDERlbGV0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLkRlbGV0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5EZWxldGVMb2NhbGVSZXNwb25zZRJiChFHZXROYXZQcmVmZXJlbmNlcxIlLnNldHRpbmdzLnYxLkdldE5hdlByZWZlcmVuY2VzUmVxdWVzdBomLnNldHRpbmdzLnYxLkdldE5hdlByZWZlcmVuY2VzUmVzcG9uc2USawoUVXBkYXRlTmF2UHJlZmVyZW5jZXMSKC5zZXR0aW5ncy52MS5VcGRhdGVOYXZQcmVmZXJlbmNlc1JlcXVlc3QaKS5zZXR0aW5ncy52MS5VcGRhdGVOYXZQcmVmZXJlbmNlc1Jlc3BvbnNlEmUKEkxpc3RSZWNlbnRseU9wZW5lZBImLnNldHRpbmdzLnYxLkxpc3RSZWNlbnRseU9wZW5lZFJlcXVlc3QaJy5zZXR0aW5ncy52MS5MaXN0UmVjZW50bHlPcGVuZWRSZXNwb25zZRJoChNUcmFja1JlY2VudGx5T3BlbmVkEicuc2V0dGluZ3MudjEuVHJhY2tSZWNlbnRseU9wZW5lZFJlcXVlc3QaKC5zZXR0aW5ncy52MS5UcmFja1JlY2VudGx5T3BlbmVkUmVzcG9uc2USawoUUmVtb3ZlUmVjZW50bHlPcGVuZWQSKC5zZXR0aW5ncy52MS5SZW1vdmVSZWNlbnRseU9wZW5lZFJlcXVlc3QaKS5zZXR0aW5ncy52MS5SZW1vdmVSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmgKE0NsZWFyUmVjZW50bHlPcGVuZWQSJy5zZXR0aW5ncy52MS5DbGVhclJlY2VudGx5T3BlbmVkUmVxdWVzdBooLnNldHRpbmdzLnYxLkNsZWFyUmVjZW50bHlPcGVuZWRSZXNwb25zZRJuChVMaXN0Q29udGV4dERpbWVuc2lvbnMSKS5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXF1ZXN0Giouc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USaAoTR2V0Q29udGV4dERpbWVuc2lvbhInLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25SZXF1ZXN0Giguc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEncKGEdldENvbnRleHREaW1lbnNpb25CeUtleRIsLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QaLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uQnlLZXlSZXNwb25zZRJxChZDcmVhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuQ3JlYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWVXBkYXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnEKFkRlbGV0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJ6ChlHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzEi0uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QaLi5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USXwoQR2V0RWRpdG9yQ29uZmlncxIkLnNldHRpbmdzLnYxLkdldEVkaXRvckNvbmZpZ3NSZXF1ZXN0GiUuc2V0dGluZ3MudjEuR2V0RWRpdG9yQ29uZmlnc1Jlc3BvbnNlEmUKEkxpc3RWYXJpYW50Q2F0YWxvZxImLnNldHRpbmdzLnYxLkxpc3RWYXJpYW50Q2F0YWxvZ1JlcXVlc3QaJy5zZXR0aW5ncy52MS5MaXN0VmFyaWFudENhdGFsb2dSZXNwb25zZRJxChZHZXRWYXJpYW50Q2F0YWxvZ0VudHJ5Eiouc2V0dGluZ3MudjEuR2V0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaKy5zZXR0aW5ncy52MS5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLkNyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGVVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5VcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLlVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlEZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5EZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2UShgEKHUdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5EjEuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0GjIuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRKPAQogRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnkSNC5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaNS5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEl8KEEdldFByb2plY3RTY2hlbWESJC5zZXR0aW5ncy52MS5HZXRQcm9qZWN0U2NoZW1hUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldFByb2plY3RTY2hlbWFSZXNwb25zZRJ0ChdQdWJsaXNoQ29udGV4dERpbWVuc2lvbhIrLnNldHRpbmdzLnYxLlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBosLnNldHRpbmdzLnYxLlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USegoZVW5wdWJsaXNoQ29udGV4dERpbWVuc2lvbhItLnNldHRpbmdzLnYxLlVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXF1ZXN0Gi4uc2V0dGluZ3MudjEuVW5wdWJsaXNoQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEo8BCiBHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1cxI0LnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBo1LnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USjAEKH1NjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2gSMy5zZXR0aW5ncy52MS5TY2hlZHVsZUNvbnRleHREaW1lbnNpb25QdWJsaXNoUmVxdWVzdBo0LnNldHRpbmdzLnYxLlNjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXNwb25zZRKhAQomQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2gSOi5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlcXVlc3QaOy5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEn0KGkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uEi4uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0Gi8uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRKDAQocTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9ucxIwLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnNSZXF1ZXN0GjEuc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9uc1Jlc3BvbnNlEokBCh5SZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb24SMi5zZXR0aW5ncy52MS5SZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0GjMuc2V0dGluZ3MudjEuUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uUmVzcG9uc2USdAoXR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXMSKy5zZXR0aW5ncy52MS5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1JlcXVlc3QaLC5zZXR0aW5ncy52MS5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1Jlc3BvbnNlEmsKFFB1Ymxpc2hQcm9qZWN0U2NoZW1hEiguc2V0dGluZ3MudjEuUHVibGlzaFByb2plY3RTY2hlbWFSZXF1ZXN0Gikuc2V0dGluZ3MudjEuUHVibGlzaFByb2plY3RTY2hlbWFSZXNwb25zZRJcCg9HZXREZXNpZ25Ub2tlbnMSIy5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNSZXF1ZXN0GiQuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5zUmVzcG9uc2USZQoSVXBkYXRlRGVzaWduVG9rZW5zEiYuc2V0dGluZ3MudjEuVXBkYXRlRGVzaWduVG9rZW5zUmVxdWVzdBonLnNldHRpbmdzLnYxLlVwZGF0ZURlc2lnblRva2Vuc1Jlc3BvbnNlEmgKE1B1Ymxpc2hEZXNpZ25Ub2tlbnMSJy5zZXR0aW5ncy52MS5QdWJsaXNoRGVzaWduVG9rZW5zUmVxdWVzdBooLnNldHRpbmdzLnYxLlB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXNwb25zZRJuChVVbnB1Ymxpc2hEZXNpZ25Ub2tlbnMSKS5zZXR0aW5ncy52MS5VbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0Giouc2V0dGluZ3MudjEuVW5wdWJsaXNoRGVzaWduVG9rZW5zUmVzcG9uc2USgwEKHEdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXMSMC5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVxdWVzdBoxLnNldHRpbmdzLnYxLkdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXNSZXNwb25zZRKAAQobU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoEi8uc2V0dGluZ3MudjEuU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdBowLnNldHRpbmdzLnYxLlNjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEpUBCiJDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoEjYuc2V0dGluZ3MudjEuQ2FuY2VsU2NoZWR1bGVkRGVzaWduVG9rZW5zUHVibGlzaFJlcXVlc3QaNy5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USfQoaQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXMSLi5zZXR0aW5ncy52MS5Db3VudERlc2lnblRva2VuUmVmZXJlbmNlc1JlcXVlc3QaLy5zZXR0aW5ncy52MS5Db3VudERlc2lnblRva2VuUmVmZXJlbmNlc1Jlc3BvbnNlEm4KFUdldERlc2lnblRva2VuVmVyc2lvbhIpLnNldHRpbmdzLnYxLkdldERlc2lnblRva2VuVmVyc2lvblJlcXVlc3QaKi5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlblZlcnNpb25SZXNwb25zZRJ0ChdMaXN0RGVzaWduVG9rZW5WZXJzaW9ucxIrLnNldHRpbmdzLnYxLkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVxdWVzdBosLnNldHRpbmdzLnYxLkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVzcG9uc2USegoZUmVzdG9yZURlc2lnblRva2VuVmVyc2lvbhItLnNldHRpbmdzLnYxLlJlc3RvcmVEZXNpZ25Ub2tlblZlcnNpb25SZXF1ZXN0Gi4uc2V0dGluZ3MudjEuUmVzdG9yZURlc2lnblRva2VuVmVyc2lvblJlc3BvbnNlQj1aO2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9zZXR0aW5ncy92MTtzZXR0aW5nc3YxYgZwcm90bzM", [file_google_protobuf_struct5, file_google_protobuf_timestamp6, file_expressions_v1_expressions, file_publish_v1_publish, file_common_v1_pagination]);
944
+ var SettingSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 0);
945
+ var NoteSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 2);
946
+ var GetSettingsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 3);
947
+ var UpdateSettingRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 5);
948
+ var CreateNoteRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 9);
949
+ var GetNoteRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 11);
950
+ var ListNotesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 13);
951
+ var UpdateNoteRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 15);
952
+ var DeleteNoteRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 17);
953
+ var ListMyMentionsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 22);
954
+ var UpdateMentionStatusRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 24);
955
+ var LocaleSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 26);
956
+ var ListLocalesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 27);
957
+ var GetLocaleRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 29);
958
+ var CreateLocaleRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 31);
959
+ var UpdateLocaleRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 33);
960
+ var DeleteLocaleRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 35);
961
+ var GetNavPreferencesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 38);
962
+ var UpdateNavPreferencesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 40);
963
+ var ListRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 43);
964
+ var TrackRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 45);
965
+ var RemoveRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 47);
966
+ var ClearRecentlyOpenedRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 49);
967
+ var ContextDimensionSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 51);
968
+ var ListContextDimensionsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 53);
969
+ var GetContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 55);
970
+ var CreateContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 57);
971
+ var UpdateContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 59);
972
+ var DeleteContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 61);
973
+ var GetContextDimensionValuesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 63);
974
+ var VariantCatalogEntrySchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 65);
975
+ var ListVariantCatalogRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 66);
976
+ var GetVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 68);
977
+ var CreateVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 70);
978
+ var UpdateVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 72);
979
+ var DeleteVariantCatalogEntryRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 74);
980
+ var GetEditorConfigsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 76);
981
+ var GetDefaultLocaleRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 89);
982
+ var GetLocaleByCodeRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 91);
983
+ var DeleteSettingRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 95);
984
+ var GetDesignTokensRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 116);
985
+ var UpdateDesignTokensRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 118);
986
+ var PublishDesignTokensRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 120);
987
+ var UnpublishDesignTokensRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 122);
988
+ var GetDesignTokensPublishStatusRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 124);
989
+ var ScheduleDesignTokensPublishRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 126);
990
+ var CancelScheduledDesignTokensPublishRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 128);
991
+ var CountDesignTokenReferencesRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 130);
992
+ var GetDesignTokenVersionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 133);
993
+ var ListDesignTokenVersionsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 135);
994
+ var RestoreDesignTokenVersionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 137);
995
+ var PublishContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 146);
996
+ var UnpublishContextDimensionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 148);
997
+ var GetContextDimensionPublishStatusRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 150);
998
+ var GetContextDimensionVersionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 153);
999
+ var ListContextDimensionVersionsRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 155);
1000
+ var RestoreContextDimensionVersionRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 157);
1001
+ var PublishProjectSchemaRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 159);
1002
+ var GetProjectPublishStatusRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 161);
1003
+ var ScheduleContextDimensionPublishRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 163);
1004
+ var CancelScheduledContextDimensionPublishRequestSchema = /* @__PURE__ */ messageDesc10(file_settings_v1_settings, 165);
1005
+ var SettingsService = /* @__PURE__ */ serviceDesc6(file_settings_v1_settings, 0);
1000
1006
 
1001
1007
  // ../../packages/proto-ts/src/storage/v1/storage_pb.js
1002
- import { enumDesc as enumDesc7, fileDesc as fileDesc12, messageDesc as messageDesc12, serviceDesc as serviceDesc8, tsEnum as tsEnum7 } from "@bufbuild/protobuf/codegenv2";
1003
- import { file_google_protobuf_struct as file_google_protobuf_struct7, file_google_protobuf_timestamp as file_google_protobuf_timestamp8 } from "@bufbuild/protobuf/wkt";
1004
- var file_storage_v1_storage = /* @__PURE__ */ fileDesc12("ChhzdG9yYWdlL3YxL3N0b3JhZ2UucHJvdG8SCnN0b3JhZ2UudjEijA8KBEZpbGUSCgoCaWQYASABKAkSEAoIZmlsZW5hbWUYAiABKAkSEQoJbWltZV90eXBlGAMgASgJEgwKBHNpemUYBCABKAMSCwoDdXJsGAUgASgJEhMKC3N0b3JhZ2Vfa2V5GAYgASgJEiYKBnNvdXJjZRgHIAEoDjIWLnN0b3JhZ2UudjEuRmlsZVNvdXJjZRImCgZzdGF0dXMYCCABKA4yFi5zdG9yYWdlLnYxLkZpbGVTdGF0dXMSEwoGZm9sZGVyGAkgASgJSACIAQESDAoEdGFncxgKIAMoCRIpCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoFd2lkdGgYFCABKAVIAYgBARITCgZoZWlnaHQYFSABKAVIAogBARIVCghibHVyaGFzaBgWIAEoCUgDiAEBEhsKDmRvbWluYW50X2NvbG9yGBcgASgJSASIAQESFQoIZHVyYXRpb24YGCABKAFIBYgBARIaCg10aHVtYm5haWxfdXJsGBkgASgJSAaIAQESGAoLcHJldmlld191cmwYGiABKAlIB4gBARIdChBobHNfbWFuaWZlc3RfdXJsGBsgASgJSAiIAQESFQoIYWx0X3RleHQYHCABKAlICYgBARIUCgdjYXB0aW9uGB0gASgJSAqIAQESGAoLZGVzY3JpcHRpb24YHiABKAlIC4gBARI4Cg11c2FnZV9ieV90eXBlGCggAygLMiEuc3RvcmFnZS52MS5GaWxlLlVzYWdlQnlUeXBlRW50cnkSNQoMbGFzdF91c2VkX2F0GCkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhcKCmNyZWF0ZWRfYnkYMiABKAlIDYgBARIVCghvd25lcl9pZBgzIAEoCUgOiAEBEhcKCm93bmVyX2tpbmQYNCABKAlID4gBARIuCgpjcmVhdGVkX2F0GDwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpkZWxldGVkX2F0GD4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgQiAEBEhcKCmRlbGV0ZWRfYnkYPyABKAlIEYgBARIxCghwdXJnZV9hdBhAIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARIwChB0aHVtYm5haWxfc3RhdHVzGEYgASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzEhoKEnRodW1ibmFpbF9hdHRlbXB0cxhHIAEoBRJCChl0aHVtYm5haWxfbGFzdF9hdHRlbXB0X2F0GEggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEiEKFHRodW1ibmFpbF9sYXN0X2Vycm9yGEkgASgJSBSIAQESLgoOcHJldmlld19zdGF0dXMYSiABKA4yFi5zdG9yYWdlLnYxLkZpbGVTdGF0dXMSGAoQcHJldmlld19hdHRlbXB0cxhLIAEoBRJAChdwcmV2aWV3X2xhc3RfYXR0ZW1wdF9hdBhMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFYgBARIfChJwcmV2aWV3X2xhc3RfZXJyb3IYTSABKAlIFogBARIqCgpobHNfc3RhdHVzGE4gASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzEhQKDGhsc19hdHRlbXB0cxhPIAEoBRI8ChNobHNfbGFzdF9hdHRlbXB0X2F0GFAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgXiAEBEhsKDmhsc19sYXN0X2Vycm9yGFEgASgJSBiIAQEaMgoQVXNhZ2VCeVR5cGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBQgkKB19mb2xkZXJCCAoGX3dpZHRoQgkKB19oZWlnaHRCCwoJX2JsdXJoYXNoQhEKD19kb21pbmFudF9jb2xvckILCglfZHVyYXRpb25CEAoOX3RodW1ibmFpbF91cmxCDgoMX3ByZXZpZXdfdXJsQhMKEV9obHNfbWFuaWZlc3RfdXJsQgsKCV9hbHRfdGV4dEIKCghfY2FwdGlvbkIOCgxfZGVzY3JpcHRpb25CDwoNX2xhc3RfdXNlZF9hdEINCgtfY3JlYXRlZF9ieUILCglfb3duZXJfaWRCDQoLX293bmVyX2tpbmRCDQoLX2RlbGV0ZWRfYXRCDQoLX2RlbGV0ZWRfYnlCCwoJX3B1cmdlX2F0QhwKGl90aHVtYm5haWxfbGFzdF9hdHRlbXB0X2F0QhcKFV90aHVtYm5haWxfbGFzdF9lcnJvckIaChhfcHJldmlld19sYXN0X2F0dGVtcHRfYXRCFQoTX3ByZXZpZXdfbGFzdF9lcnJvckIWChRfaGxzX2xhc3RfYXR0ZW1wdF9hdEIRCg9faGxzX2xhc3RfZXJyb3IiOAoMU3RvcmFnZVVzYWdlEhMKC3RvdGFsX2ZpbGVzGAEgASgFEhMKC3RvdGFsX2J5dGVzGAIgASgDIqkBChdDcmVhdGVGaWxlVXBsb2FkUmVxdWVzdBIQCghmaWxlbmFtZRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDAoEc2l6ZRgDIAEoAxITCgZmb2xkZXIYBCABKAlIAIgBARIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIJCgdfZm9sZGVyQgsKCV9tZXRhZGF0YSKGAQoYQ3JlYXRlRmlsZVVwbG9hZFJlc3BvbnNlEhEKCXVwbG9hZF9pZBgBIAEoCRISCgp1cGxvYWRfdXJsGAIgASgJEhMKC3N0b3JhZ2Vfa2V5GAMgASgJEi4KCmV4cGlyZXNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi0KGENvbmZpcm1GaWxlVXBsb2FkUmVxdWVzdBIRCgl1cGxvYWRfaWQYASABKAkiOwoZQ29uZmlybUZpbGVVcGxvYWRSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIhwKDkdldEZpbGVSZXF1ZXN0EgoKAmlkGAEgASgJIjEKD0dldEZpbGVSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIvABChBMaXN0RmlsZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhcKD2luY2x1ZGVfZGVsZXRlZBgCIAEoCBISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBEhQKDG9ubHlfZGVsZXRlZBgHIAEoCEIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Io8BChFMaXN0RmlsZXNSZXNwb25zZRIfCgVpdGVtcxgBIAMoCzIQLnN0b3JhZ2UudjEuRmlsZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGAoWR2V0U3RvcmFnZVVzYWdlUmVxdWVzdCJCChdHZXRTdG9yYWdlVXNhZ2VSZXNwb25zZRInCgV1c2FnZRgBIAEoCzIYLnN0b3JhZ2UudjEuU3RvcmFnZVVzYWdlIuYBChFVcGRhdGVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIVCghmaWxlbmFtZRgCIAEoCUgAiAEBEhMKBmZvbGRlchgDIAEoCUgBiAEBEgwKBHRhZ3MYBCADKAkSKwoGc3RhdHVzGAUgASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzSAKIAQESLgoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQFCCwoJX2ZpbGVuYW1lQgkKB19mb2xkZXJCCQoHX3N0YXR1c0ILCglfbWV0YWRhdGEiNAoSVXBkYXRlRmlsZVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUilwEKGVVwZGF0ZUZpbGVNZXRhZGF0YVJlcXVlc3QSCgoCaWQYASABKAkSFQoIYWx0X3RleHQYAiABKAlIAIgBARIUCgdjYXB0aW9uGAMgASgJSAGIAQESGAoLZGVzY3JpcHRpb24YBCABKAlIAogBAUILCglfYWx0X3RleHRCCgoIX2NhcHRpb25CDgoMX2Rlc2NyaXB0aW9uIjwKGlVwZGF0ZUZpbGVNZXRhZGF0YVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUiHwoRRGVsZXRlRmlsZVJlcXVlc3QSCgoCaWQYASABKAkiJQoSRGVsZXRlRmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiKgocUGVybWFuZW50bHlEZWxldGVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCSIwCh1QZXJtYW5lbnRseURlbGV0ZUZpbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiAKElJlc3RvcmVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI1ChNSZXN0b3JlRmlsZVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUiEwoRRW1wdHlUcmFzaFJlcXVlc3QiOgoSRW1wdHlUcmFzaFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAUSEwoLZnJlZWRfYnl0ZXMYAiABKAMiPQoVVHJhY2tGaWxlVXNhZ2VSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkSEwoLZW50aXR5X3R5cGUYAiABKAkiOAoWVHJhY2tGaWxlVXNhZ2VSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIj4KFlJlbW92ZUZpbGVVc2FnZVJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCSIqChdSZW1vdmVGaWxlVXNhZ2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInoKG0NsZWFudXBPcnBoYW5lZEZpbGVzUmVxdWVzdBIdChVvcnBoYW5fdGhyZXNob2xkX2RheXMYASABKAUSDwoHZHJ5X3J1bhgCIAEoCBINCgVsaW1pdBgDIAEoBRIcChR0cmFzaF9yZXRlbnRpb25fZGF5cxgEIAEoBSJVChxDbGVhbnVwT3JwaGFuZWRGaWxlc1Jlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAUSEwoLZnJlZWRfYnl0ZXMYAiABKAMSDwoHZHJ5X3J1bhgDIAEoCCJXChpSZXRyeUZpbGVHZW5lcmF0aW9uUmVxdWVzdBIPCgdmaWxlX2lkGAEgASgJEigKBWFzc2V0GAIgASgOMhkuc3RvcmFnZS52MS5GaWxlQXNzZXRLaW5kIj0KG1JldHJ5RmlsZUdlbmVyYXRpb25SZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlKqYBCgpGaWxlU3RhdHVzEhsKF0ZJTEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTRklMRV9TVEFUVVNfUEVORElORxABEhoKFkZJTEVfU1RBVFVTX1BST0NFU1NJTkcQAhIVChFGSUxFX1NUQVRVU19SRUFEWRADEhYKEkZJTEVfU1RBVFVTX0ZBSUxFRBAEEhcKE0ZJTEVfU1RBVFVTX1NLSVBQRUQQBSpdCgpGaWxlU291cmNlEhsKF0ZJTEVfU09VUkNFX1VOU1BFQ0lGSUVEEAASGAoURklMRV9TT1VSQ0VfSU5URVJOQUwQARIYChRGSUxFX1NPVVJDRV9FWFRFUk5BTBACKoUBCg1GaWxlQXNzZXRLaW5kEh8KG0ZJTEVfQVNTRVRfS0lORF9VTlNQRUNJRklFRBAAEh0KGUZJTEVfQVNTRVRfS0lORF9USFVNQk5BSUwQARIbChdGSUxFX0FTU0VUX0tJTkRfUFJFVklFVxACEhcKE0ZJTEVfQVNTRVRfS0lORF9ITFMQAzLNCgoOU3RvcmFnZVNlcnZpY2USXQoQQ3JlYXRlRmlsZVVwbG9hZBIjLnN0b3JhZ2UudjEuQ3JlYXRlRmlsZVVwbG9hZFJlcXVlc3QaJC5zdG9yYWdlLnYxLkNyZWF0ZUZpbGVVcGxvYWRSZXNwb25zZRJgChFDb25maXJtRmlsZVVwbG9hZBIkLnN0b3JhZ2UudjEuQ29uZmlybUZpbGVVcGxvYWRSZXF1ZXN0GiUuc3RvcmFnZS52MS5Db25maXJtRmlsZVVwbG9hZFJlc3BvbnNlEkIKB0dldEZpbGUSGi5zdG9yYWdlLnYxLkdldEZpbGVSZXF1ZXN0Ghsuc3RvcmFnZS52MS5HZXRGaWxlUmVzcG9uc2USSAoJTGlzdEZpbGVzEhwuc3RvcmFnZS52MS5MaXN0RmlsZXNSZXF1ZXN0Gh0uc3RvcmFnZS52MS5MaXN0RmlsZXNSZXNwb25zZRJaCg9HZXRTdG9yYWdlVXNhZ2USIi5zdG9yYWdlLnYxLkdldFN0b3JhZ2VVc2FnZVJlcXVlc3QaIy5zdG9yYWdlLnYxLkdldFN0b3JhZ2VVc2FnZVJlc3BvbnNlEksKClVwZGF0ZUZpbGUSHS5zdG9yYWdlLnYxLlVwZGF0ZUZpbGVSZXF1ZXN0Gh4uc3RvcmFnZS52MS5VcGRhdGVGaWxlUmVzcG9uc2USYwoSVXBkYXRlRmlsZU1ldGFkYXRhEiUuc3RvcmFnZS52MS5VcGRhdGVGaWxlTWV0YWRhdGFSZXF1ZXN0GiYuc3RvcmFnZS52MS5VcGRhdGVGaWxlTWV0YWRhdGFSZXNwb25zZRJLCgpEZWxldGVGaWxlEh0uc3RvcmFnZS52MS5EZWxldGVGaWxlUmVxdWVzdBoeLnN0b3JhZ2UudjEuRGVsZXRlRmlsZVJlc3BvbnNlEmwKFVBlcm1hbmVudGx5RGVsZXRlRmlsZRIoLnN0b3JhZ2UudjEuUGVybWFuZW50bHlEZWxldGVGaWxlUmVxdWVzdBopLnN0b3JhZ2UudjEuUGVybWFuZW50bHlEZWxldGVGaWxlUmVzcG9uc2USTgoLUmVzdG9yZUZpbGUSHi5zdG9yYWdlLnYxLlJlc3RvcmVGaWxlUmVxdWVzdBofLnN0b3JhZ2UudjEuUmVzdG9yZUZpbGVSZXNwb25zZRJLCgpFbXB0eVRyYXNoEh0uc3RvcmFnZS52MS5FbXB0eVRyYXNoUmVxdWVzdBoeLnN0b3JhZ2UudjEuRW1wdHlUcmFzaFJlc3BvbnNlElcKDlRyYWNrRmlsZVVzYWdlEiEuc3RvcmFnZS52MS5UcmFja0ZpbGVVc2FnZVJlcXVlc3QaIi5zdG9yYWdlLnYxLlRyYWNrRmlsZVVzYWdlUmVzcG9uc2USWgoPUmVtb3ZlRmlsZVVzYWdlEiIuc3RvcmFnZS52MS5SZW1vdmVGaWxlVXNhZ2VSZXF1ZXN0GiMuc3RvcmFnZS52MS5SZW1vdmVGaWxlVXNhZ2VSZXNwb25zZRJpChRDbGVhbnVwT3JwaGFuZWRGaWxlcxInLnN0b3JhZ2UudjEuQ2xlYW51cE9ycGhhbmVkRmlsZXNSZXF1ZXN0Giguc3RvcmFnZS52MS5DbGVhbnVwT3JwaGFuZWRGaWxlc1Jlc3BvbnNlEmYKE1JldHJ5RmlsZUdlbmVyYXRpb24SJi5zdG9yYWdlLnYxLlJldHJ5RmlsZUdlbmVyYXRpb25SZXF1ZXN0Gicuc3RvcmFnZS52MS5SZXRyeUZpbGVHZW5lcmF0aW9uUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3N0b3JhZ2UvdjE7c3RvcmFnZXYxYgZwcm90bzM", [file_google_protobuf_struct7, file_google_protobuf_timestamp8, file_common_v1_pagination]);
1005
- var FileSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 0);
1006
- var StorageUsageSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 1);
1007
- var CreateFileUploadRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 2);
1008
- var ConfirmFileUploadRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 4);
1009
- var GetFileRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 6);
1010
- var ListFilesRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 8);
1011
- var GetStorageUsageRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 10);
1012
- var UpdateFileRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 12);
1013
- var UpdateFileMetadataRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 14);
1014
- var DeleteFileRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 16);
1015
- var PermanentlyDeleteFileRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 18);
1016
- var RestoreFileRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 20);
1017
- var EmptyTrashRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 22);
1018
- var TrackFileUsageRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 24);
1019
- var RemoveFileUsageRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 26);
1020
- var CleanupOrphanedFilesRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 28);
1021
- var RetryFileGenerationRequestSchema = /* @__PURE__ */ messageDesc12(file_storage_v1_storage, 30);
1022
- var StorageService = /* @__PURE__ */ serviceDesc8(file_storage_v1_storage, 0);
1008
+ import { enumDesc as enumDesc7, fileDesc as fileDesc11, messageDesc as messageDesc11, serviceDesc as serviceDesc7, tsEnum as tsEnum7 } from "@bufbuild/protobuf/codegenv2";
1009
+ import { file_google_protobuf_struct as file_google_protobuf_struct6, file_google_protobuf_timestamp as file_google_protobuf_timestamp7 } from "@bufbuild/protobuf/wkt";
1010
+ var file_storage_v1_storage = /* @__PURE__ */ fileDesc11("ChhzdG9yYWdlL3YxL3N0b3JhZ2UucHJvdG8SCnN0b3JhZ2UudjEijA8KBEZpbGUSCgoCaWQYASABKAkSEAoIZmlsZW5hbWUYAiABKAkSEQoJbWltZV90eXBlGAMgASgJEgwKBHNpemUYBCABKAMSCwoDdXJsGAUgASgJEhMKC3N0b3JhZ2Vfa2V5GAYgASgJEiYKBnNvdXJjZRgHIAEoDjIWLnN0b3JhZ2UudjEuRmlsZVNvdXJjZRImCgZzdGF0dXMYCCABKA4yFi5zdG9yYWdlLnYxLkZpbGVTdGF0dXMSEwoGZm9sZGVyGAkgASgJSACIAQESDAoEdGFncxgKIAMoCRIpCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoFd2lkdGgYFCABKAVIAYgBARITCgZoZWlnaHQYFSABKAVIAogBARIVCghibHVyaGFzaBgWIAEoCUgDiAEBEhsKDmRvbWluYW50X2NvbG9yGBcgASgJSASIAQESFQoIZHVyYXRpb24YGCABKAFIBYgBARIaCg10aHVtYm5haWxfdXJsGBkgASgJSAaIAQESGAoLcHJldmlld191cmwYGiABKAlIB4gBARIdChBobHNfbWFuaWZlc3RfdXJsGBsgASgJSAiIAQESFQoIYWx0X3RleHQYHCABKAlICYgBARIUCgdjYXB0aW9uGB0gASgJSAqIAQESGAoLZGVzY3JpcHRpb24YHiABKAlIC4gBARI4Cg11c2FnZV9ieV90eXBlGCggAygLMiEuc3RvcmFnZS52MS5GaWxlLlVzYWdlQnlUeXBlRW50cnkSNQoMbGFzdF91c2VkX2F0GCkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhcKCmNyZWF0ZWRfYnkYMiABKAlIDYgBARIVCghvd25lcl9pZBgzIAEoCUgOiAEBEhcKCm93bmVyX2tpbmQYNCABKAlID4gBARIuCgpjcmVhdGVkX2F0GDwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpkZWxldGVkX2F0GD4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgQiAEBEhcKCmRlbGV0ZWRfYnkYPyABKAlIEYgBARIxCghwdXJnZV9hdBhAIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARIwChB0aHVtYm5haWxfc3RhdHVzGEYgASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzEhoKEnRodW1ibmFpbF9hdHRlbXB0cxhHIAEoBRJCChl0aHVtYm5haWxfbGFzdF9hdHRlbXB0X2F0GEggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEiEKFHRodW1ibmFpbF9sYXN0X2Vycm9yGEkgASgJSBSIAQESLgoOcHJldmlld19zdGF0dXMYSiABKA4yFi5zdG9yYWdlLnYxLkZpbGVTdGF0dXMSGAoQcHJldmlld19hdHRlbXB0cxhLIAEoBRJAChdwcmV2aWV3X2xhc3RfYXR0ZW1wdF9hdBhMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFYgBARIfChJwcmV2aWV3X2xhc3RfZXJyb3IYTSABKAlIFogBARIqCgpobHNfc3RhdHVzGE4gASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzEhQKDGhsc19hdHRlbXB0cxhPIAEoBRI8ChNobHNfbGFzdF9hdHRlbXB0X2F0GFAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgXiAEBEhsKDmhsc19sYXN0X2Vycm9yGFEgASgJSBiIAQEaMgoQVXNhZ2VCeVR5cGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBQgkKB19mb2xkZXJCCAoGX3dpZHRoQgkKB19oZWlnaHRCCwoJX2JsdXJoYXNoQhEKD19kb21pbmFudF9jb2xvckILCglfZHVyYXRpb25CEAoOX3RodW1ibmFpbF91cmxCDgoMX3ByZXZpZXdfdXJsQhMKEV9obHNfbWFuaWZlc3RfdXJsQgsKCV9hbHRfdGV4dEIKCghfY2FwdGlvbkIOCgxfZGVzY3JpcHRpb25CDwoNX2xhc3RfdXNlZF9hdEINCgtfY3JlYXRlZF9ieUILCglfb3duZXJfaWRCDQoLX293bmVyX2tpbmRCDQoLX2RlbGV0ZWRfYXRCDQoLX2RlbGV0ZWRfYnlCCwoJX3B1cmdlX2F0QhwKGl90aHVtYm5haWxfbGFzdF9hdHRlbXB0X2F0QhcKFV90aHVtYm5haWxfbGFzdF9lcnJvckIaChhfcHJldmlld19sYXN0X2F0dGVtcHRfYXRCFQoTX3ByZXZpZXdfbGFzdF9lcnJvckIWChRfaGxzX2xhc3RfYXR0ZW1wdF9hdEIRCg9faGxzX2xhc3RfZXJyb3IiOAoMU3RvcmFnZVVzYWdlEhMKC3RvdGFsX2ZpbGVzGAEgASgFEhMKC3RvdGFsX2J5dGVzGAIgASgDIqkBChdDcmVhdGVGaWxlVXBsb2FkUmVxdWVzdBIQCghmaWxlbmFtZRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDAoEc2l6ZRgDIAEoAxITCgZmb2xkZXIYBCABKAlIAIgBARIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIJCgdfZm9sZGVyQgsKCV9tZXRhZGF0YSKGAQoYQ3JlYXRlRmlsZVVwbG9hZFJlc3BvbnNlEhEKCXVwbG9hZF9pZBgBIAEoCRISCgp1cGxvYWRfdXJsGAIgASgJEhMKC3N0b3JhZ2Vfa2V5GAMgASgJEi4KCmV4cGlyZXNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi0KGENvbmZpcm1GaWxlVXBsb2FkUmVxdWVzdBIRCgl1cGxvYWRfaWQYASABKAkiOwoZQ29uZmlybUZpbGVVcGxvYWRSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIhwKDkdldEZpbGVSZXF1ZXN0EgoKAmlkGAEgASgJIjEKD0dldEZpbGVSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIvABChBMaXN0RmlsZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhcKD2luY2x1ZGVfZGVsZXRlZBgCIAEoCBISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBEhQKDG9ubHlfZGVsZXRlZBgHIAEoCEIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Io8BChFMaXN0RmlsZXNSZXNwb25zZRIfCgVpdGVtcxgBIAMoCzIQLnN0b3JhZ2UudjEuRmlsZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGAoWR2V0U3RvcmFnZVVzYWdlUmVxdWVzdCJCChdHZXRTdG9yYWdlVXNhZ2VSZXNwb25zZRInCgV1c2FnZRgBIAEoCzIYLnN0b3JhZ2UudjEuU3RvcmFnZVVzYWdlIuYBChFVcGRhdGVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIVCghmaWxlbmFtZRgCIAEoCUgAiAEBEhMKBmZvbGRlchgDIAEoCUgBiAEBEgwKBHRhZ3MYBCADKAkSKwoGc3RhdHVzGAUgASgOMhYuc3RvcmFnZS52MS5GaWxlU3RhdHVzSAKIAQESLgoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQFCCwoJX2ZpbGVuYW1lQgkKB19mb2xkZXJCCQoHX3N0YXR1c0ILCglfbWV0YWRhdGEiNAoSVXBkYXRlRmlsZVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUilwEKGVVwZGF0ZUZpbGVNZXRhZGF0YVJlcXVlc3QSCgoCaWQYASABKAkSFQoIYWx0X3RleHQYAiABKAlIAIgBARIUCgdjYXB0aW9uGAMgASgJSAGIAQESGAoLZGVzY3JpcHRpb24YBCABKAlIAogBAUILCglfYWx0X3RleHRCCgoIX2NhcHRpb25CDgoMX2Rlc2NyaXB0aW9uIjwKGlVwZGF0ZUZpbGVNZXRhZGF0YVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUiHwoRRGVsZXRlRmlsZVJlcXVlc3QSCgoCaWQYASABKAkiJQoSRGVsZXRlRmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiKgocUGVybWFuZW50bHlEZWxldGVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCSIwCh1QZXJtYW5lbnRseURlbGV0ZUZpbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiAKElJlc3RvcmVGaWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI1ChNSZXN0b3JlRmlsZVJlc3BvbnNlEh4KBGZpbGUYASABKAsyEC5zdG9yYWdlLnYxLkZpbGUiEwoRRW1wdHlUcmFzaFJlcXVlc3QiOgoSRW1wdHlUcmFzaFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAUSEwoLZnJlZWRfYnl0ZXMYAiABKAMiPQoVVHJhY2tGaWxlVXNhZ2VSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkSEwoLZW50aXR5X3R5cGUYAiABKAkiOAoWVHJhY2tGaWxlVXNhZ2VSZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlIj4KFlJlbW92ZUZpbGVVc2FnZVJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCSIqChdSZW1vdmVGaWxlVXNhZ2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInoKG0NsZWFudXBPcnBoYW5lZEZpbGVzUmVxdWVzdBIdChVvcnBoYW5fdGhyZXNob2xkX2RheXMYASABKAUSDwoHZHJ5X3J1bhgCIAEoCBINCgVsaW1pdBgDIAEoBRIcChR0cmFzaF9yZXRlbnRpb25fZGF5cxgEIAEoBSJVChxDbGVhbnVwT3JwaGFuZWRGaWxlc1Jlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAUSEwoLZnJlZWRfYnl0ZXMYAiABKAMSDwoHZHJ5X3J1bhgDIAEoCCJXChpSZXRyeUZpbGVHZW5lcmF0aW9uUmVxdWVzdBIPCgdmaWxlX2lkGAEgASgJEigKBWFzc2V0GAIgASgOMhkuc3RvcmFnZS52MS5GaWxlQXNzZXRLaW5kIj0KG1JldHJ5RmlsZUdlbmVyYXRpb25SZXNwb25zZRIeCgRmaWxlGAEgASgLMhAuc3RvcmFnZS52MS5GaWxlKqYBCgpGaWxlU3RhdHVzEhsKF0ZJTEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTRklMRV9TVEFUVVNfUEVORElORxABEhoKFkZJTEVfU1RBVFVTX1BST0NFU1NJTkcQAhIVChFGSUxFX1NUQVRVU19SRUFEWRADEhYKEkZJTEVfU1RBVFVTX0ZBSUxFRBAEEhcKE0ZJTEVfU1RBVFVTX1NLSVBQRUQQBSpdCgpGaWxlU291cmNlEhsKF0ZJTEVfU09VUkNFX1VOU1BFQ0lGSUVEEAASGAoURklMRV9TT1VSQ0VfSU5URVJOQUwQARIYChRGSUxFX1NPVVJDRV9FWFRFUk5BTBACKoUBCg1GaWxlQXNzZXRLaW5kEh8KG0ZJTEVfQVNTRVRfS0lORF9VTlNQRUNJRklFRBAAEh0KGUZJTEVfQVNTRVRfS0lORF9USFVNQk5BSUwQARIbChdGSUxFX0FTU0VUX0tJTkRfUFJFVklFVxACEhcKE0ZJTEVfQVNTRVRfS0lORF9ITFMQAzLNCgoOU3RvcmFnZVNlcnZpY2USXQoQQ3JlYXRlRmlsZVVwbG9hZBIjLnN0b3JhZ2UudjEuQ3JlYXRlRmlsZVVwbG9hZFJlcXVlc3QaJC5zdG9yYWdlLnYxLkNyZWF0ZUZpbGVVcGxvYWRSZXNwb25zZRJgChFDb25maXJtRmlsZVVwbG9hZBIkLnN0b3JhZ2UudjEuQ29uZmlybUZpbGVVcGxvYWRSZXF1ZXN0GiUuc3RvcmFnZS52MS5Db25maXJtRmlsZVVwbG9hZFJlc3BvbnNlEkIKB0dldEZpbGUSGi5zdG9yYWdlLnYxLkdldEZpbGVSZXF1ZXN0Ghsuc3RvcmFnZS52MS5HZXRGaWxlUmVzcG9uc2USSAoJTGlzdEZpbGVzEhwuc3RvcmFnZS52MS5MaXN0RmlsZXNSZXF1ZXN0Gh0uc3RvcmFnZS52MS5MaXN0RmlsZXNSZXNwb25zZRJaCg9HZXRTdG9yYWdlVXNhZ2USIi5zdG9yYWdlLnYxLkdldFN0b3JhZ2VVc2FnZVJlcXVlc3QaIy5zdG9yYWdlLnYxLkdldFN0b3JhZ2VVc2FnZVJlc3BvbnNlEksKClVwZGF0ZUZpbGUSHS5zdG9yYWdlLnYxLlVwZGF0ZUZpbGVSZXF1ZXN0Gh4uc3RvcmFnZS52MS5VcGRhdGVGaWxlUmVzcG9uc2USYwoSVXBkYXRlRmlsZU1ldGFkYXRhEiUuc3RvcmFnZS52MS5VcGRhdGVGaWxlTWV0YWRhdGFSZXF1ZXN0GiYuc3RvcmFnZS52MS5VcGRhdGVGaWxlTWV0YWRhdGFSZXNwb25zZRJLCgpEZWxldGVGaWxlEh0uc3RvcmFnZS52MS5EZWxldGVGaWxlUmVxdWVzdBoeLnN0b3JhZ2UudjEuRGVsZXRlRmlsZVJlc3BvbnNlEmwKFVBlcm1hbmVudGx5RGVsZXRlRmlsZRIoLnN0b3JhZ2UudjEuUGVybWFuZW50bHlEZWxldGVGaWxlUmVxdWVzdBopLnN0b3JhZ2UudjEuUGVybWFuZW50bHlEZWxldGVGaWxlUmVzcG9uc2USTgoLUmVzdG9yZUZpbGUSHi5zdG9yYWdlLnYxLlJlc3RvcmVGaWxlUmVxdWVzdBofLnN0b3JhZ2UudjEuUmVzdG9yZUZpbGVSZXNwb25zZRJLCgpFbXB0eVRyYXNoEh0uc3RvcmFnZS52MS5FbXB0eVRyYXNoUmVxdWVzdBoeLnN0b3JhZ2UudjEuRW1wdHlUcmFzaFJlc3BvbnNlElcKDlRyYWNrRmlsZVVzYWdlEiEuc3RvcmFnZS52MS5UcmFja0ZpbGVVc2FnZVJlcXVlc3QaIi5zdG9yYWdlLnYxLlRyYWNrRmlsZVVzYWdlUmVzcG9uc2USWgoPUmVtb3ZlRmlsZVVzYWdlEiIuc3RvcmFnZS52MS5SZW1vdmVGaWxlVXNhZ2VSZXF1ZXN0GiMuc3RvcmFnZS52MS5SZW1vdmVGaWxlVXNhZ2VSZXNwb25zZRJpChRDbGVhbnVwT3JwaGFuZWRGaWxlcxInLnN0b3JhZ2UudjEuQ2xlYW51cE9ycGhhbmVkRmlsZXNSZXF1ZXN0Giguc3RvcmFnZS52MS5DbGVhbnVwT3JwaGFuZWRGaWxlc1Jlc3BvbnNlEmYKE1JldHJ5RmlsZUdlbmVyYXRpb24SJi5zdG9yYWdlLnYxLlJldHJ5RmlsZUdlbmVyYXRpb25SZXF1ZXN0Gicuc3RvcmFnZS52MS5SZXRyeUZpbGVHZW5lcmF0aW9uUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3N0b3JhZ2UvdjE7c3RvcmFnZXYxYgZwcm90bzM", [file_google_protobuf_struct6, file_google_protobuf_timestamp7, file_common_v1_pagination]);
1011
+ var FileSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 0);
1012
+ var StorageUsageSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 1);
1013
+ var CreateFileUploadRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 2);
1014
+ var ConfirmFileUploadRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 4);
1015
+ var GetFileRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 6);
1016
+ var ListFilesRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 8);
1017
+ var GetStorageUsageRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 10);
1018
+ var UpdateFileRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 12);
1019
+ var UpdateFileMetadataRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 14);
1020
+ var DeleteFileRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 16);
1021
+ var PermanentlyDeleteFileRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 18);
1022
+ var RestoreFileRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 20);
1023
+ var EmptyTrashRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 22);
1024
+ var TrackFileUsageRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 24);
1025
+ var RemoveFileUsageRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 26);
1026
+ var CleanupOrphanedFilesRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 28);
1027
+ var RetryFileGenerationRequestSchema = /* @__PURE__ */ messageDesc11(file_storage_v1_storage, 30);
1028
+ var StorageService = /* @__PURE__ */ serviceDesc7(file_storage_v1_storage, 0);
1023
1029
 
1024
1030
  // ../../packages/proto-ts/src/operations/v1/operations_pb.js
1025
- import { enumDesc as enumDesc8, fileDesc as fileDesc13, messageDesc as messageDesc13, serviceDesc as serviceDesc9, tsEnum as tsEnum8 } from "@bufbuild/protobuf/codegenv2";
1026
- import { file_google_protobuf_struct as file_google_protobuf_struct8, file_google_protobuf_timestamp as file_google_protobuf_timestamp9 } from "@bufbuild/protobuf/wkt";
1027
- var file_operations_v1_operations = /* @__PURE__ */ fileDesc13("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEiMQoNU2VjcmV0QmluZGluZxIMCgRuYW1lGAEgASgJEhIKCnNlY3JldF9yZWYYAiABKAkikQMKD1JlcXVlc3RUZW1wbGF0ZRITCgZtZXRob2QYASABKAlIAIgBARIaCg1wYXRoX3RlbXBsYXRlGAIgASgJSAGIAQESOAoFcXVlcnkYAyADKAsyKS5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZS5RdWVyeUVudHJ5EjwKB2hlYWRlcnMYBCADKAsyKy5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZS5IZWFkZXJzRW50cnkSGgoNYm9keV90ZW1wbGF0ZRgFIAEoCUgCiAEBEhoKDWJhdGNoX2NhcGFibGUYBiABKAhIA4gBARosCgpRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCQoHX21ldGhvZEIQCg5fcGF0aF90ZW1wbGF0ZUIQCg5fYm9keV90ZW1wbGF0ZUIQCg5fYmF0Y2hfY2FwYWJsZSKXDgoJT3BlcmF0aW9uEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEQoEaWNvbhgFIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAYgASgJSAKIAQESEAoIZW5kcG9pbnQYByABKAkSGgoNZW5kcG9pbnRfYXV0aBgIIAEoCUgDiAEBEhIKCnRpbWVvdXRfbXMYCSABKAUSMgoMcmV0cnlfcG9saWN5GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEjIKDGlucHV0X3NjaGVtYRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCWlzX2FjdGl2ZRgOIAEoCBIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEiwKBnF1b3RhcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICIgBARIWCgljb25maWdfaWQYEiABKAlICYgBARIyCgxwcmVjb25kaXRpb24YEyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlIC4gBARIbCg5zdXBwb3J0c19hc3luYxgWIAEoCEgMiAEBEiEKFGNhbGxiYWNrX3R0bF9zZWNvbmRzGBcgASgFSA2IAQESQwodY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kYGCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SA6IAQESFAoMY2FwYWJpbGl0aWVzGBkgAygJEioKBGtpbmQYGiABKA4yHC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbktpbmQSHgoRYXR0YWNoZWRfdG9fbW9kZWwYGyABKAlID4gBARIVCg1wYXJlbnRfZmllbGRzGBwgAygJEjMKDWNhY2hlX2NvbnRyb2wYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESNQoPc2VjcmV0X2JpbmRpbmdzGB8gAygLMhwub3BlcmF0aW9ucy52MS5TZWNyZXRCaW5kaW5nEj0KEHJlcXVlc3RfdGVtcGxhdGUYICABKAsyHi5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZUgRiAEBEh8KEnJlc3BvbnNlX3RyYW5zZm9ybRghIAEoCUgSiAEBEhcKCmNyZWF0ZWRfYnkYHiABKAlIE4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIfChJjdXJyZW50X3ZlcnNpb25faWQYPCABKAlIFIgBARIhChRwdWJsaXNoZWRfdmVyc2lvbl9pZBg9IAEoCUgViAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GD4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgWiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEIPCg1fcmV0cnlfcG9saWN5Qg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgkKB19xdW90YXNCDAoKX2NvbmZpZ19pZEIPCg1fcHJlY29uZGl0aW9uQg0KC19wcm9qZWN0X2lkQhEKD19zdXBwb3J0c19hc3luY0IXChVfY2FsbGJhY2tfdHRsX3NlY29uZHNCIAoeX2NhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5QhQKEl9hdHRhY2hlZF90b19tb2RlbEIQCg5fY2FjaGVfY29udHJvbEITChFfcmVxdWVzdF90ZW1wbGF0ZUIVChNfcmVzcG9uc2VfdHJhbnNmb3JtQg0KC19jcmVhdGVkX2J5QhUKE19jdXJyZW50X3ZlcnNpb25faWRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCLTAgoQT3BlcmF0aW9uVmVyc2lvbhIKCgJpZBgBIAEoCRIUCgxvcGVyYXRpb25faWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSLaCAoST3BlcmF0aW9uRXhlY3V0aW9uEgoKAmlkGAEgASgJEhUKDW9wZXJhdGlvbl9rZXkYAiABKAkSDgoGc3RhdHVzGAMgASgJEhkKDHRyaWdnZXJfdHlwZRgEIAEoCUgAiAEBEjUKD3RyaWdnZXJfY29udGV4dBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIrCgVpbnB1dBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtyZXN1bHRfanNvbhgHIAEoDEgDiAEBEhcKCmVycm9yX2pzb24YCCABKAxIBIgBARIzCgpzdGFydGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEjUKDGNvbXBsZXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIYCgtkdXJhdGlvbl9tcxgLIAEoBUgHiAEBEhMKC3JldHJ5X2NvdW50GAwgASgFEhkKDHByb2dyZXNzX3BjdBgNIAEoBUgIiAEBEh0KEHByb2dyZXNzX21lc3NhZ2UYDiABKAlICYgBARI3ChFwcm9ncmVzc19tZXRhZGF0YRgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARI8ChNwcm9ncmVzc191cGRhdGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgLiAEBEjwKE2NhbGxiYWNrX2V4cGlyZXNfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAyIAQESIAoTcGFyZW50X2V4ZWN1dGlvbl9pZBgSIAEoCUgNiAEBEjUKDGNhbmNlbGxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIDogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgPiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIICgZfaW5wdXRCDgoMX3Jlc3VsdF9qc29uQg0KC19lcnJvcl9qc29uQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX2R1cmF0aW9uX21zQg8KDV9wcm9ncmVzc19wY3RCEwoRX3Byb2dyZXNzX21lc3NhZ2VCFAoSX3Byb2dyZXNzX21ldGFkYXRhQhYKFF9wcm9ncmVzc191cGRhdGVkX2F0QhYKFF9jYWxsYmFja19leHBpcmVzX2F0QhYKFF9wYXJlbnRfZXhlY3V0aW9uX2lkQg8KDV9jYW5jZWxsZWRfYXRCDQoLX3Byb2plY3RfaWQi+wUKD0RlYWRMZXR0ZXJFbnRyeRIKCgJpZBgBIAEoCRIVCg1vcGVyYXRpb25fa2V5GAIgASgJEhkKDGV4ZWN1dGlvbl9pZBgDIAEoCUgAiAEBEisKBWlucHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhkKDHRyaWdnZXJfdHlwZRgFIAEoCUgCiAEBEhAKCGF0dGVtcHRzGAYgASgFEhIKCmxhc3RfZXJyb3IYByABKAkSFwoKZXJyb3JfY29kZRgIIAEoCUgDiAEBEg4KBnN0YXR1cxgJIAEoCRItCglmYWlsZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnJldHJpZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESNQoMZGlzbWlzc2VkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEhkKDGRpc21pc3NlZF9ieRgNIAEoCUgGiAEBEjYKDW5leHRfcmV0cnlfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESOgoRbGFzdF9hdHRlbXB0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX2V4ZWN1dGlvbl9pZEIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUINCgtfZXJyb3JfY29kZUINCgtfcmV0cmllZF9hdEIPCg1fZGlzbWlzc2VkX2F0Qg8KDV9kaXNtaXNzZWRfYnlCEAoOX25leHRfcmV0cnlfYXRCFAoSX2xhc3RfYXR0ZW1wdGVkX2F0IrUCCgxDaXJjdWl0U3RhdGUSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIQCghlbmRwb2ludBgCIAEoCRINCgVzdGF0ZRgDIAEoCRIVCg1mYWlsdXJlX2NvdW50GAQgASgFEjgKD2xhc3RfZmFpbHVyZV9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIyCglvcGVuZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMaGFsZl9vcGVuX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQhIKEF9sYXN0X2ZhaWx1cmVfYXRCDAoKX29wZW5lZF9hdEIPCg1faGFsZl9vcGVuX2F0IoEBCg5FeGVjdXRpb25TdGF0cxIVCg1vcGVyYXRpb25fa2V5GAEgASgJEg0KBXRvdGFsGAIgASgFEg8KB3N1Y2Nlc3MYAyABKAUSDgoGZmFpbGVkGAQgASgFEg8KB3BlbmRpbmcYBSABKAUSFwoPYXZnX2R1cmF0aW9uX21zGAYgASgBIlUKD0RlYWRMZXR0ZXJTdGF0cxIPCgdwZW5kaW5nGAEgASgFEg8KB3JldHJpZWQYAiABKAUSEQoJZGlzbWlzc2VkGAMgASgFEg0KBXRvdGFsGAQgASgFIsYBChVMaXN0T3BlcmF0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqEBChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEiwKCm9wZXJhdGlvbnMYASADKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uItQKChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIsCgZxdW90YXMYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIyCgxyZXRyeV9wb2xpY3kYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhYKCWlzX2FjdGl2ZRgSIAEoCEgMiAEBEhsKDnN1cHBvcnRzX2FzeW5jGBMgASgISA2IAQESIQoUY2FsbGJhY2tfdHRsX3NlY29uZHMYFCABKAVIDogBARJDCh1jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIUCgxjYXBhYmlsaXRpZXMYFiADKAkSKgoEa2luZBgXIAEoDjIcLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uS2luZBIeChFhdHRhY2hlZF90b19tb2RlbBgYIAEoCUgQiAEBEhUKDXBhcmVudF9maWVsZHMYGSADKAkSMwoNY2FjaGVfY29udHJvbBgaIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEYgBARI1Cg9zZWNyZXRfYmluZGluZ3MYGyADKAsyHC5vcGVyYXRpb25zLnYxLlNlY3JldEJpbmRpbmcSPQoQcmVxdWVzdF90ZW1wbGF0ZRgcIAEoCzIeLm9wZXJhdGlvbnMudjEuUmVxdWVzdFRlbXBsYXRlSBKIAQESHwoScmVzcG9uc2VfdHJhbnNmb3JtGB0gASgJSBOIAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmVCEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3lCFAoSX2F0dGFjaGVkX3RvX21vZGVsQhAKDl9jYWNoZV9jb250cm9sQhMKEV9yZXF1ZXN0X3RlbXBsYXRlQhUKE19yZXNwb25zZV90cmFuc2Zvcm0iRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24imwoKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEiwKBnF1b3RhcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIyCgxyZXRyeV9wb2xpY3kYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhUKDWFsbG93ZWRfcm9sZXMYDyADKAkSGwoOc3VwcG9ydHNfYXN5bmMYECABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgRIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgTIAMoCRIvCgRraW5kGBQgASgOMhwub3BlcmF0aW9ucy52MS5PcGVyYXRpb25LaW5kSA+IAQESHgoRYXR0YWNoZWRfdG9fbW9kZWwYFSABKAlIEIgBARIVCg1wYXJlbnRfZmllbGRzGBYgAygJEjMKDWNhY2hlX2NvbnRyb2wYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQESNQoPc2VjcmV0X2JpbmRpbmdzGBggAygLMhwub3BlcmF0aW9ucy52MS5TZWNyZXRCaW5kaW5nEj0KEHJlcXVlc3RfdGVtcGxhdGUYGSABKAsyHi5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZUgSiAEBEh8KEnJlc3BvbnNlX3RyYW5zZm9ybRgaIAEoCUgTiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkILCglfZW5kcG9pbnRCEAoOX2VuZHBvaW50X2F1dGhCDQoLX3RpbWVvdXRfbXNCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIFCgNfdWlCDAoKX2lzX2FjdGl2ZUIJCgdfcXVvdGFzQg8KDV9yZXRyeV9wb2xpY3lCDwoNX3ByZWNvbmRpdGlvbkIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeUIHCgVfa2luZEIUChJfYXR0YWNoZWRfdG9fbW9kZWxCEAoOX2NhY2hlX2NvbnRyb2xCEwoRX3JlcXVlc3RfdGVtcGxhdGVCFQoTX3Jlc3BvbnNlX3RyYW5zZm9ybSJGChdVcGRhdGVPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiIkChZEZWxldGVPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIioKF0RlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiqAMKF0V4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSKwoFaW5wdXQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGQoMdHJpZ2dlcl90eXBlGAMgASgJSAGIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEioKBG1vZGUYBSABKA4yHC5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvbk1vZGUSGAoLY3VzdG9tZXJfaWQYBiABKAlIA4gBARIsCgZyZWNvcmQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESLQoHY29udGVudBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBAUIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUISChBfdHJpZ2dlcl9jb250ZXh0Qg4KDF9jdXN0b21lcl9pZEIJCgdfcmVjb3JkQgoKCF9jb250ZW50IqkCChhFeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24SGAoLcmVzdWx0X2pzb24YAiABKAxIAIgBARIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSAGIAQESEQoJY29tcGxldGVkGAQgASgIEhUKCHBvbGxfdXJsGAogASgJSAKIAQESFwoKY2FuY2VsX3VybBgLIAEoCUgDiAEBEhQKB21lc3NhZ2UYDCABKAlIBIgBAUIOCgxfcmVzdWx0X2pzb25CEAoOX2Vycm9yX21lc3NhZ2VCCwoJX3BvbGxfdXJsQg0KC19jYW5jZWxfdXJsQgoKCF9tZXNzYWdlIogBCglCYXRjaEl0ZW0SCwoDa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnBhcmVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIICgZfaW5wdXRCCQoHX3BhcmVudCJxCgtCYXRjaFJlc3VsdBILCgNrZXkYASABKAkSLAoGcmVzdWx0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWVycm9yGAMgASgJSAGIAQFCCQoHX3Jlc3VsdEIICgZfZXJyb3IiiAEKHFJlc29sdmVPcGVyYXRpb25CYXRjaFJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRInCgVpdGVtcxgCIAMoCzIYLm9wZXJhdGlvbnMudjEuQmF0Y2hJdGVtEhgKC2N1c3RvbWVyX2lkGAMgASgJSACIAQFCDgoMX2N1c3RvbWVyX2lkIkwKHVJlc29sdmVPcGVyYXRpb25CYXRjaFJlc3BvbnNlEisKB3Jlc3VsdHMYASADKAsyGi5vcGVyYXRpb25zLnYxLkJhdGNoUmVzdWx0IsoBChdSZXNvbHZlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnBhcmVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIYCgtjdXN0b21lcl9pZBgEIAEoCUgCiAEBQggKBl9pbnB1dEIJCgdfcGFyZW50Qg4KDF9jdXN0b21lcl9pZCJxChhSZXNvbHZlT3BlcmF0aW9uUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWVycm9yGAIgASgJSAGIAQFCCQoHX3Jlc3VsdEIICgZfZXJyb3IizwEKHkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiswEKH0xpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USNQoKZXhlY3V0aW9ucxgBIAMoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIs0BChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKrAQodTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVzcG9uc2USLwoHZW50cmllcxgBIAMoCzIeLm9wZXJhdGlvbnMudjEuRGVhZExldHRlckVudHJ5Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIpChtSZXRyeURlYWRMZXR0ZXJFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkiLwocUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKHURpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKHUJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXF1ZXN0EgsKA2lkcxgBIAMoCSI5Ch5CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIlMKI0Rpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBAUIQCg5fb3BlcmF0aW9uX2tleSI/CiREaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIioKG0J1bGtSZXRyeURlYWRMZXR0ZXJzUmVxdWVzdBILCgNpZHMYASADKAkiNQocQnVsa1JldHJ5RGVhZExldHRlcnNSZXNwb25zZRIVCg1yZXRyaWVkX2NvdW50GAEgASgFIpwBCiJMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXF1ZXN0EhIKBWZpcnN0GAEgASgFSACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARIRCgRsYXN0GAMgASgFSAKIAQESEwoGYmVmb3JlGAQgASgJSAOIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIpgBCiNMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXNwb25zZRIWCg5vcGVyYXRpb25fa2V5cxgBIAMoCRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGwoZR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdCJLChpHZXREZWFkTGV0dGVyU3RhdHNSZXNwb25zZRItCgVzdGF0cxgBIAEoCzIeLm9wZXJhdGlvbnMudjEuRGVhZExldHRlclN0YXRzIpIBChhMaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QSEgoFZmlyc3QYASABKAVIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhEKBGxhc3QYAyABKAVIAogBARITCgZiZWZvcmUYBCABKAlIA4gBAUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmUiowEKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiwKE1Jlc2V0Q2lyY3VpdFJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCSInChRSZXNldENpcmN1aXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhkKF0dldFNpZ25pbmdTZWNyZXRSZXF1ZXN0IjoKGEdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRIOCgZzZWNyZXQYASABKAkSDgoGcHJlZml4GAIgASgJIiAKHlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVxdWVzdCIxCh9SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSKrAQoeR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKbAQofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIioKHEdldE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkiVQodR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24iLQofQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJTCiBDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhMKBnN0YXR1cxgCIAEoCUgAiAEBQgkKB19zdGF0dXMiSwogQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIQCghzdGF0dXNlcxgCIAMoCSJTCiFDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USFwoPY2FuY2VsbGVkX2NvdW50GAEgASgFEhUKDWNhbmNlbGxlZF9pZHMYAiADKAkiRAohQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC3Jlc3VsdF9qc29uGAIgASgMIkcKIkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCKrAQodRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhYKCXJldHJ5YWJsZRgEIAEoCEgAiAEBEi0KB2RldGFpbHMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDAoKX3JldHJ5YWJsZUIKCghfZGV0YWlscyJDCh5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCLbAQoeUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXF1ZXN0EgoKAmlkGAEgASgJEhkKDHByb2dyZXNzX3BjdBgCIAEoBUgAiAEBEh0KEHByb2dyZXNzX21lc3NhZ2UYAyABKAlIAYgBARI3ChFwcm9ncmVzc19tZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YSJECh9SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIRCgljYW5jZWxsZWQYAiABKAgiggEKHUdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSGAoLY3VzdG9tZXJfaWQYAiABKAlIAIgBARIUCgd1c2VyX2lkGAMgASgJSAGIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF91c2VyX2lkIrIBCg5RdW90YVJ1bGVVc2FnZRISCgpydWxlX2luZGV4GAEgASgFEhMKC3NlZ21lbnRfa2V5GAIgASgJEg0KBWxpbWl0GAMgASgFEgwKBHVzZWQYBCABKAUSEQoJcmVtYWluaW5nGAUgASgFEhUKDXJlc2V0X2F0X3VuaXgYBiABKAMSDQoFc2NvcGUYByABKAkSEAoIZHVyYXRpb24YCCABKAUSDwoHbWVzc2FnZRgJIAEoCSKtAQoeR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEhgKEHRvdGFsX2V4ZWN1dGlvbnMYASABKAMSGQoRcGVyaW9kX2V4ZWN1dGlvbnMYAiABKAMSGAoLcXVvdGFfbGltaXQYAyABKANIAIgBARIsCgVydWxlcxgEIAMoCzIdLm9wZXJhdGlvbnMudjEuUXVvdGFSdWxlVXNhZ2VCDgoMX3F1b3RhX2xpbWl0IhwKGkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Ii0KG0dldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRIOCgZzZWNyZXQYASABKAkiKAoaR2V0T3BlcmF0aW9uVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0T3BlcmF0aW9uVmVyc2lvblJlc3BvbnNlEjAKB3ZlcnNpb24YASABKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24irAEKHExpc3RPcGVyYXRpb25WZXJzaW9uc1JlcXVlc3QSFAoMb3BlcmF0aW9uX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Iq0BCh1MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXNwb25zZRIxCgh2ZXJzaW9ucxgBIAMoCzIfLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ibAoeUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkSHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAIgASgJSACIAQFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKEAQofUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhI0CgtuZXdfdmVyc2lvbhgCIAEoCzIfLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uVmVyc2lvbiIlChdQdWJsaXNoT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJ9ChhQdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiJwoZVW5wdWJsaXNoT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJJChpVbnB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiIuCiBHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSJOCiFHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USKQoGc3RhdHVzGAEgASgLMhkucHVibGlzaC52MS5QdWJsaXNoU3RhdHVzIqUBCh9TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ik8KIFNjaGVkdWxlT3BlcmF0aW9uUHVibGlzaFJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIjQKJkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJIlYKJ0NhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiqAAQoNT3BlcmF0aW9uS2luZBIeChpPUEVSQVRJT05fS0lORF9VTlNQRUNJRklFRBAAEhsKF09QRVJBVElPTl9LSU5EX01VVEFUSU9OEAESGAoUT1BFUkFUSU9OX0tJTkRfUVVFUlkQAhIYChRPUEVSQVRJT05fS0lORF9GSUVMRBADKmIKDUV4ZWN1dGlvbk1vZGUSHgoaRVhFQ1VUSU9OX01PREVfVU5TUEVDSUZJRUQQABIXChNFWEVDVVRJT05fTU9ERV9TWU5DEAESGAoURVhFQ1VUSU9OX01PREVfQVNZTkMQAjKOIwoRT3BlcmF0aW9uc1NlcnZpY2USXQoOTGlzdE9wZXJhdGlvbnMSJC5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25zUmVxdWVzdBolLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXNwb25zZRJXCgxHZXRPcGVyYXRpb24SIi5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlc3BvbnNlEmAKD0NyZWF0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USYAoPVXBkYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9EZWxldGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEmMKEEV4ZWN1dGVPcGVyYXRpb24SJi5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5FeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USYwoQUmVzb2x2ZU9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuUmVzb2x2ZU9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25SZXNwb25zZRJyChVSZXNvbHZlT3BlcmF0aW9uQmF0Y2gSKy5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25CYXRjaFJlcXVlc3QaLC5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25CYXRjaFJlc3BvbnNlEngKF0xpc3RPcGVyYXRpb25FeGVjdXRpb25zEi0ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzEjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2UScgoVTGlzdERlYWRMZXR0ZXJFbnRyaWVzEisub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRJvChRSZXRyeURlYWRMZXR0ZXJFbnRyeRIqLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5SZXRyeURlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkRpc21pc3NEZWFkTGV0dGVyRW50cnkSLC5vcGVyYXRpb25zLnYxLkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USdQoWQnVsa0Rpc21pc3NEZWFkTGV0dGVycxIsLm9wZXJhdGlvbnMudjEuQnVsa0Rpc21pc3NEZWFkTGV0dGVyc1JlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXNwb25zZRKHAQocRGlzbWlzc0FsbFBlbmRpbmdEZWFkTGV0dGVycxIyLm9wZXJhdGlvbnMudjEuRGlzbWlzc0FsbFBlbmRpbmdEZWFkTGV0dGVyc1JlcXVlc3QaMy5vcGVyYXRpb25zLnYxLkRpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXNwb25zZRJvChRCdWxrUmV0cnlEZWFkTGV0dGVycxIqLm9wZXJhdGlvbnMudjEuQnVsa1JldHJ5RGVhZExldHRlcnNSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5CdWxrUmV0cnlEZWFkTGV0dGVyc1Jlc3BvbnNlEoQBChtMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXMSMS5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1JlcXVlc3QaMi5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1Jlc3BvbnNlEmkKEkdldERlYWRMZXR0ZXJTdGF0cxIoLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdBopLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVzcG9uc2USZgoRTGlzdENpcmN1aXRTdGF0ZXMSJy5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVxdWVzdBooLm9wZXJhdGlvbnMudjEuTGlzdENpcmN1aXRTdGF0ZXNSZXNwb25zZRJXCgxSZXNldENpcmN1aXQSIi5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlc3BvbnNlEngKF0dldEFwcGxpY2FibGVPcGVyYXRpb25zEi0ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVzcG9uc2UScgoVR2V0T3BlcmF0aW9uRXhlY3V0aW9uEisub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ7ChhDYW5jZWxPcGVyYXRpb25FeGVjdXRpb24SLi5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLy5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEn4KGUNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnMSLy5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0GjAub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uEjAub3BlcmF0aW9ucy52MS5Db21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USdQoWRmFpbE9wZXJhdGlvbkV4ZWN1dGlvbhIsLm9wZXJhdGlvbnMudjEuRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ4ChdSZXBvcnRPcGVyYXRpb25Qcm9ncmVzcxItLm9wZXJhdGlvbnMudjEuUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1Jlc3BvbnNlEnUKFkdldE9wZXJhdGlvblF1b3RhVXNhZ2USLC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVzcG9uc2USYwoQR2V0U2lnbmluZ1NlY3JldBImLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRJsChNHZXRTaWduaW5nU2VjcmV0UmF3Eikub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmF3UmVxdWVzdBoqLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1Jlc3BvbnNlEngKF1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0Ei0ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USbAoTR2V0T3BlcmF0aW9uVmVyc2lvbhIpLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uVmVyc2lvblJlcXVlc3QaKi5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblZlcnNpb25SZXNwb25zZRJyChVMaXN0T3BlcmF0aW9uVmVyc2lvbnMSKy5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25WZXJzaW9uc1JlcXVlc3QaLC5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25WZXJzaW9uc1Jlc3BvbnNlEngKF1Jlc3RvcmVPcGVyYXRpb25WZXJzaW9uEi0ub3BlcmF0aW9ucy52MS5SZXN0b3JlT3BlcmF0aW9uVmVyc2lvblJlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2USYwoQUHVibGlzaE9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuUHVibGlzaE9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLlB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRJpChJVbnB1Ymxpc2hPcGVyYXRpb24SKC5vcGVyYXRpb25zLnYxLlVucHVibGlzaE9wZXJhdGlvblJlcXVlc3QaKS5vcGVyYXRpb25zLnYxLlVucHVibGlzaE9wZXJhdGlvblJlc3BvbnNlEn4KGUdldE9wZXJhdGlvblB1Ymxpc2hTdGF0dXMSLy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblB1Ymxpc2hTdGF0dXNSZXF1ZXN0GjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USewoYU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoEi4ub3BlcmF0aW9ucy52MS5TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0Gi8ub3BlcmF0aW9ucy52MS5TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRKQAQofQ2FuY2VsU2NoZWR1bGVkT3BlcmF0aW9uUHVibGlzaBI1Lm9wZXJhdGlvbnMudjEuQ2FuY2VsU2NoZWR1bGVkT3BlcmF0aW9uUHVibGlzaFJlcXVlc3QaNi5vcGVyYXRpb25zLnYxLkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZUJBWj9naXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vb3BlcmF0aW9ucy92MTtvcGVyYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct8, file_google_protobuf_timestamp9, file_publish_v1_publish, file_common_v1_pagination]);
1028
- var OperationSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 2);
1029
- var OperationExecutionSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 4);
1030
- var DeadLetterEntrySchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 5);
1031
- var ListOperationsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 9);
1032
- var GetOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 11);
1033
- var CreateOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 13);
1034
- var UpdateOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 15);
1035
- var DeleteOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 17);
1036
- var ExecuteOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 19);
1037
- var ListOperationExecutionsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 27);
1038
- var GetOperationExecutionStatsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 29);
1039
- var ListDeadLetterEntriesRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 31);
1040
- var RetryDeadLetterEntryRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 33);
1041
- var DismissDeadLetterEntryRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 35);
1042
- var BulkDismissDeadLettersRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 37);
1043
- var DismissAllPendingDeadLettersRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 39);
1044
- var BulkRetryDeadLettersRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 41);
1045
- var ListDeadLetterOperationKeysRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 43);
1046
- var GetDeadLetterStatsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 45);
1047
- var ListCircuitStatesRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 47);
1048
- var ResetCircuitRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 49);
1049
- var GetSigningSecretRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 51);
1050
- var RegenerateSigningSecretRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 53);
1051
- var CancelOperationExecutionRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 59);
1052
- var CancelOperationExecutionsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 61);
1053
- var GetOperationVersionRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 74);
1054
- var ListOperationVersionsRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 76);
1055
- var RestoreOperationVersionRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 78);
1056
- var PublishOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 80);
1057
- var UnpublishOperationRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 82);
1058
- var GetOperationPublishStatusRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 84);
1059
- var ScheduleOperationPublishRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 86);
1060
- var CancelScheduledOperationPublishRequestSchema = /* @__PURE__ */ messageDesc13(file_operations_v1_operations, 88);
1031
+ import { enumDesc as enumDesc8, fileDesc as fileDesc12, messageDesc as messageDesc12, serviceDesc as serviceDesc8, tsEnum as tsEnum8 } from "@bufbuild/protobuf/codegenv2";
1032
+ import { file_google_protobuf_struct as file_google_protobuf_struct7, file_google_protobuf_timestamp as file_google_protobuf_timestamp8 } from "@bufbuild/protobuf/wkt";
1033
+ var file_operations_v1_operations = /* @__PURE__ */ fileDesc12("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEiMQoNU2VjcmV0QmluZGluZxIMCgRuYW1lGAEgASgJEhIKCnNlY3JldF9yZWYYAiABKAkikQMKD1JlcXVlc3RUZW1wbGF0ZRITCgZtZXRob2QYASABKAlIAIgBARIaCg1wYXRoX3RlbXBsYXRlGAIgASgJSAGIAQESOAoFcXVlcnkYAyADKAsyKS5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZS5RdWVyeUVudHJ5EjwKB2hlYWRlcnMYBCADKAsyKy5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZS5IZWFkZXJzRW50cnkSGgoNYm9keV90ZW1wbGF0ZRgFIAEoCUgCiAEBEhoKDWJhdGNoX2NhcGFibGUYBiABKAhIA4gBARosCgpRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCQoHX21ldGhvZEIQCg5fcGF0aF90ZW1wbGF0ZUIQCg5fYm9keV90ZW1wbGF0ZUIQCg5fYmF0Y2hfY2FwYWJsZSKXDgoJT3BlcmF0aW9uEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEQoEaWNvbhgFIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAYgASgJSAKIAQESEAoIZW5kcG9pbnQYByABKAkSGgoNZW5kcG9pbnRfYXV0aBgIIAEoCUgDiAEBEhIKCnRpbWVvdXRfbXMYCSABKAUSMgoMcmV0cnlfcG9saWN5GAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEjIKDGlucHV0X3NjaGVtYRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCWlzX2FjdGl2ZRgOIAEoCBIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEiwKBnF1b3RhcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICIgBARIWCgljb25maWdfaWQYEiABKAlICYgBARIyCgxwcmVjb25kaXRpb24YEyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlIC4gBARIbCg5zdXBwb3J0c19hc3luYxgWIAEoCEgMiAEBEiEKFGNhbGxiYWNrX3R0bF9zZWNvbmRzGBcgASgFSA2IAQESQwodY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3kYGCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SA6IAQESFAoMY2FwYWJpbGl0aWVzGBkgAygJEioKBGtpbmQYGiABKA4yHC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbktpbmQSHgoRYXR0YWNoZWRfdG9fbW9kZWwYGyABKAlID4gBARIVCg1wYXJlbnRfZmllbGRzGBwgAygJEjMKDWNhY2hlX2NvbnRyb2wYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBCIAQESNQoPc2VjcmV0X2JpbmRpbmdzGB8gAygLMhwub3BlcmF0aW9ucy52MS5TZWNyZXRCaW5kaW5nEj0KEHJlcXVlc3RfdGVtcGxhdGUYICABKAsyHi5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZUgRiAEBEh8KEnJlc3BvbnNlX3RyYW5zZm9ybRghIAEoCUgSiAEBEhcKCmNyZWF0ZWRfYnkYHiABKAlIE4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIfChJjdXJyZW50X3ZlcnNpb25faWQYPCABKAlIFIgBARIhChRwdWJsaXNoZWRfdmVyc2lvbl9pZBg9IAEoCUgViAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GD4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgWiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEIPCg1fcmV0cnlfcG9saWN5Qg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgkKB19xdW90YXNCDAoKX2NvbmZpZ19pZEIPCg1fcHJlY29uZGl0aW9uQg0KC19wcm9qZWN0X2lkQhEKD19zdXBwb3J0c19hc3luY0IXChVfY2FsbGJhY2tfdHRsX3NlY29uZHNCIAoeX2NhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5QhQKEl9hdHRhY2hlZF90b19tb2RlbEIQCg5fY2FjaGVfY29udHJvbEITChFfcmVxdWVzdF90ZW1wbGF0ZUIVChNfcmVzcG9uc2VfdHJhbnNmb3JtQg0KC19jcmVhdGVkX2J5QhUKE19jdXJyZW50X3ZlcnNpb25faWRCFwoVX3B1Ymxpc2hlZF92ZXJzaW9uX2lkQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCLTAgoQT3BlcmF0aW9uVmVyc2lvbhIKCgJpZBgBIAEoCRIUCgxvcGVyYXRpb25faWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSLaCAoST3BlcmF0aW9uRXhlY3V0aW9uEgoKAmlkGAEgASgJEhUKDW9wZXJhdGlvbl9rZXkYAiABKAkSDgoGc3RhdHVzGAMgASgJEhkKDHRyaWdnZXJfdHlwZRgEIAEoCUgAiAEBEjUKD3RyaWdnZXJfY29udGV4dBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIrCgVpbnB1dBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtyZXN1bHRfanNvbhgHIAEoDEgDiAEBEhcKCmVycm9yX2pzb24YCCABKAxIBIgBARIzCgpzdGFydGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEjUKDGNvbXBsZXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIYCgtkdXJhdGlvbl9tcxgLIAEoBUgHiAEBEhMKC3JldHJ5X2NvdW50GAwgASgFEhkKDHByb2dyZXNzX3BjdBgNIAEoBUgIiAEBEh0KEHByb2dyZXNzX21lc3NhZ2UYDiABKAlICYgBARI3ChFwcm9ncmVzc19tZXRhZGF0YRgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARI8ChNwcm9ncmVzc191cGRhdGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgLiAEBEjwKE2NhbGxiYWNrX2V4cGlyZXNfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAyIAQESIAoTcGFyZW50X2V4ZWN1dGlvbl9pZBgSIAEoCUgNiAEBEjUKDGNhbmNlbGxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIDogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgPiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIICgZfaW5wdXRCDgoMX3Jlc3VsdF9qc29uQg0KC19lcnJvcl9qc29uQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX2R1cmF0aW9uX21zQg8KDV9wcm9ncmVzc19wY3RCEwoRX3Byb2dyZXNzX21lc3NhZ2VCFAoSX3Byb2dyZXNzX21ldGFkYXRhQhYKFF9wcm9ncmVzc191cGRhdGVkX2F0QhYKFF9jYWxsYmFja19leHBpcmVzX2F0QhYKFF9wYXJlbnRfZXhlY3V0aW9uX2lkQg8KDV9jYW5jZWxsZWRfYXRCDQoLX3Byb2plY3RfaWQi+wUKD0RlYWRMZXR0ZXJFbnRyeRIKCgJpZBgBIAEoCRIVCg1vcGVyYXRpb25fa2V5GAIgASgJEhkKDGV4ZWN1dGlvbl9pZBgDIAEoCUgAiAEBEisKBWlucHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhkKDHRyaWdnZXJfdHlwZRgFIAEoCUgCiAEBEhAKCGF0dGVtcHRzGAYgASgFEhIKCmxhc3RfZXJyb3IYByABKAkSFwoKZXJyb3JfY29kZRgIIAEoCUgDiAEBEg4KBnN0YXR1cxgJIAEoCRItCglmYWlsZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnJldHJpZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESNQoMZGlzbWlzc2VkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEhkKDGRpc21pc3NlZF9ieRgNIAEoCUgGiAEBEjYKDW5leHRfcmV0cnlfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESOgoRbGFzdF9hdHRlbXB0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX2V4ZWN1dGlvbl9pZEIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUINCgtfZXJyb3JfY29kZUINCgtfcmV0cmllZF9hdEIPCg1fZGlzbWlzc2VkX2F0Qg8KDV9kaXNtaXNzZWRfYnlCEAoOX25leHRfcmV0cnlfYXRCFAoSX2xhc3RfYXR0ZW1wdGVkX2F0IrUCCgxDaXJjdWl0U3RhdGUSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIQCghlbmRwb2ludBgCIAEoCRINCgVzdGF0ZRgDIAEoCRIVCg1mYWlsdXJlX2NvdW50GAQgASgFEjgKD2xhc3RfZmFpbHVyZV9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIyCglvcGVuZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMaGFsZl9vcGVuX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQhIKEF9sYXN0X2ZhaWx1cmVfYXRCDAoKX29wZW5lZF9hdEIPCg1faGFsZl9vcGVuX2F0IoEBCg5FeGVjdXRpb25TdGF0cxIVCg1vcGVyYXRpb25fa2V5GAEgASgJEg0KBXRvdGFsGAIgASgFEg8KB3N1Y2Nlc3MYAyABKAUSDgoGZmFpbGVkGAQgASgFEg8KB3BlbmRpbmcYBSABKAUSFwoPYXZnX2R1cmF0aW9uX21zGAYgASgBIlUKD0RlYWRMZXR0ZXJTdGF0cxIPCgdwZW5kaW5nGAEgASgFEg8KB3JldHJpZWQYAiABKAUSEQoJZGlzbWlzc2VkGAMgASgFEg0KBXRvdGFsGAQgASgFIsYBChVMaXN0T3BlcmF0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqEBChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEiwKCm9wZXJhdGlvbnMYASADKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uItQKChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIsCgZxdW90YXMYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIyCgxyZXRyeV9wb2xpY3kYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhYKCWlzX2FjdGl2ZRgSIAEoCEgMiAEBEhsKDnN1cHBvcnRzX2FzeW5jGBMgASgISA2IAQESIQoUY2FsbGJhY2tfdHRsX3NlY29uZHMYFCABKAVIDogBARJDCh1jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIUCgxjYXBhYmlsaXRpZXMYFiADKAkSKgoEa2luZBgXIAEoDjIcLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uS2luZBIeChFhdHRhY2hlZF90b19tb2RlbBgYIAEoCUgQiAEBEhUKDXBhcmVudF9maWVsZHMYGSADKAkSMwoNY2FjaGVfY29udHJvbBgaIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEYgBARI1Cg9zZWNyZXRfYmluZGluZ3MYGyADKAsyHC5vcGVyYXRpb25zLnYxLlNlY3JldEJpbmRpbmcSPQoQcmVxdWVzdF90ZW1wbGF0ZRgcIAEoCzIeLm9wZXJhdGlvbnMudjEuUmVxdWVzdFRlbXBsYXRlSBKIAQESHwoScmVzcG9uc2VfdHJhbnNmb3JtGB0gASgJSBOIAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmVCEQoPX3N1cHBvcnRzX2FzeW5jQhcKFV9jYWxsYmFja190dGxfc2Vjb25kc0IgCh5fY2FsbGJhY2tfdGltZW91dF9yZXRyeV9wb2xpY3lCFAoSX2F0dGFjaGVkX3RvX21vZGVsQhAKDl9jYWNoZV9jb250cm9sQhMKEV9yZXF1ZXN0X3RlbXBsYXRlQhUKE19yZXNwb25zZV90cmFuc2Zvcm0iRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24imwoKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEiwKBnF1b3RhcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIyCgxyZXRyeV9wb2xpY3kYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAqIAQESMgoMcHJlY29uZGl0aW9uGA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgLiAEBEhUKDWFsbG93ZWRfcm9sZXMYDyADKAkSGwoOc3VwcG9ydHNfYXN5bmMYECABKAhIDIgBARIhChRjYWxsYmFja190dGxfc2Vjb25kcxgRIAEoBUgNiAEBEkMKHWNhbGxiYWNrX3RpbWVvdXRfcmV0cnlfcG9saWN5GBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgOiAEBEhQKDGNhcGFiaWxpdGllcxgTIAMoCRIvCgRraW5kGBQgASgOMhwub3BlcmF0aW9ucy52MS5PcGVyYXRpb25LaW5kSA+IAQESHgoRYXR0YWNoZWRfdG9fbW9kZWwYFSABKAlIEIgBARIVCg1wYXJlbnRfZmllbGRzGBYgAygJEjMKDWNhY2hlX2NvbnRyb2wYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SBGIAQESNQoPc2VjcmV0X2JpbmRpbmdzGBggAygLMhwub3BlcmF0aW9ucy52MS5TZWNyZXRCaW5kaW5nEj0KEHJlcXVlc3RfdGVtcGxhdGUYGSABKAsyHi5vcGVyYXRpb25zLnYxLlJlcXVlc3RUZW1wbGF0ZUgSiAEBEh8KEnJlc3BvbnNlX3RyYW5zZm9ybRgaIAEoCUgTiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkILCglfZW5kcG9pbnRCEAoOX2VuZHBvaW50X2F1dGhCDQoLX3RpbWVvdXRfbXNCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIFCgNfdWlCDAoKX2lzX2FjdGl2ZUIJCgdfcXVvdGFzQg8KDV9yZXRyeV9wb2xpY3lCDwoNX3ByZWNvbmRpdGlvbkIRCg9fc3VwcG9ydHNfYXN5bmNCFwoVX2NhbGxiYWNrX3R0bF9zZWNvbmRzQiAKHl9jYWxsYmFja190aW1lb3V0X3JldHJ5X3BvbGljeUIHCgVfa2luZEIUChJfYXR0YWNoZWRfdG9fbW9kZWxCEAoOX2NhY2hlX2NvbnRyb2xCEwoRX3JlcXVlc3RfdGVtcGxhdGVCFQoTX3Jlc3BvbnNlX3RyYW5zZm9ybSJGChdVcGRhdGVPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiIkChZEZWxldGVPcGVyYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIioKF0RlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiqAMKF0V4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSKwoFaW5wdXQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGQoMdHJpZ2dlcl90eXBlGAMgASgJSAGIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEioKBG1vZGUYBSABKA4yHC5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvbk1vZGUSGAoLY3VzdG9tZXJfaWQYBiABKAlIA4gBARIsCgZyZWNvcmQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESLQoHY29udGVudBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBAUIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUISChBfdHJpZ2dlcl9jb250ZXh0Qg4KDF9jdXN0b21lcl9pZEIJCgdfcmVjb3JkQgoKCF9jb250ZW50IqkCChhFeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24SGAoLcmVzdWx0X2pzb24YAiABKAxIAIgBARIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSAGIAQESEQoJY29tcGxldGVkGAQgASgIEhUKCHBvbGxfdXJsGAogASgJSAKIAQESFwoKY2FuY2VsX3VybBgLIAEoCUgDiAEBEhQKB21lc3NhZ2UYDCABKAlIBIgBAUIOCgxfcmVzdWx0X2pzb25CEAoOX2Vycm9yX21lc3NhZ2VCCwoJX3BvbGxfdXJsQg0KC19jYW5jZWxfdXJsQgoKCF9tZXNzYWdlIogBCglCYXRjaEl0ZW0SCwoDa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnBhcmVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBAUIICgZfaW5wdXRCCQoHX3BhcmVudCJxCgtCYXRjaFJlc3VsdBILCgNrZXkYASABKAkSLAoGcmVzdWx0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWVycm9yGAMgASgJSAGIAQFCCQoHX3Jlc3VsdEIICgZfZXJyb3IiiAEKHFJlc29sdmVPcGVyYXRpb25CYXRjaFJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRInCgVpdGVtcxgCIAMoCzIYLm9wZXJhdGlvbnMudjEuQmF0Y2hJdGVtEhgKC2N1c3RvbWVyX2lkGAMgASgJSACIAQFCDgoMX2N1c3RvbWVyX2lkIkwKHVJlc29sdmVPcGVyYXRpb25CYXRjaFJlc3BvbnNlEisKB3Jlc3VsdHMYASADKAsyGi5vcGVyYXRpb25zLnYxLkJhdGNoUmVzdWx0IsoBChdSZXNvbHZlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEiwKBnBhcmVudBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIYCgtjdXN0b21lcl9pZBgEIAEoCUgCiAEBQggKBl9pbnB1dEIJCgdfcGFyZW50Qg4KDF9jdXN0b21lcl9pZCJxChhSZXNvbHZlT3BlcmF0aW9uUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWVycm9yGAIgASgJSAGIAQFCCQoHX3Jlc3VsdEIICgZfZXJyb3IizwEKHkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiswEKH0xpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USNQoKZXhlY3V0aW9ucxgBIAMoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIs0BChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKrAQodTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVzcG9uc2USLwoHZW50cmllcxgBIAMoCzIeLm9wZXJhdGlvbnMudjEuRGVhZExldHRlckVudHJ5Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIpChtSZXRyeURlYWRMZXR0ZXJFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkiLwocUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKHURpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKHUJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXF1ZXN0EgsKA2lkcxgBIAMoCSI5Ch5CdWxrRGlzbWlzc0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIlMKI0Rpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBAUIQCg5fb3BlcmF0aW9uX2tleSI/CiREaXNtaXNzQWxsUGVuZGluZ0RlYWRMZXR0ZXJzUmVzcG9uc2USFwoPZGlzbWlzc2VkX2NvdW50GAEgASgFIioKG0J1bGtSZXRyeURlYWRMZXR0ZXJzUmVxdWVzdBILCgNpZHMYASADKAkiNQocQnVsa1JldHJ5RGVhZExldHRlcnNSZXNwb25zZRIVCg1yZXRyaWVkX2NvdW50GAEgASgFIpwBCiJMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXF1ZXN0EhIKBWZpcnN0GAEgASgFSACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARIRCgRsYXN0GAMgASgFSAKIAQESEwoGYmVmb3JlGAQgASgJSAOIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIpgBCiNMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXNSZXNwb25zZRIWCg5vcGVyYXRpb25fa2V5cxgBIAMoCRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGwoZR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdCJLChpHZXREZWFkTGV0dGVyU3RhdHNSZXNwb25zZRItCgVzdGF0cxgBIAEoCzIeLm9wZXJhdGlvbnMudjEuRGVhZExldHRlclN0YXRzIpIBChhMaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QSEgoFZmlyc3QYASABKAVIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhEKBGxhc3QYAyABKAVIAogBARITCgZiZWZvcmUYBCABKAlIA4gBAUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmUiowEKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIiwKE1Jlc2V0Q2lyY3VpdFJlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCSInChRSZXNldENpcmN1aXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhkKF0dldFNpZ25pbmdTZWNyZXRSZXF1ZXN0IjoKGEdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRIOCgZzZWNyZXQYASABKAkSDgoGcHJlZml4GAIgASgJIiAKHlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVxdWVzdCIxCh9SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSKrAQoeR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKbAQofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvIioKHEdldE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkiVQodR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USNAoJZXhlY3V0aW9uGAEgASgLMiEub3BlcmF0aW9ucy52MS5PcGVyYXRpb25FeGVjdXRpb24iLQofQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJTCiBDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhMKBnN0YXR1cxgCIAEoCUgAiAEBQgkKB19zdGF0dXMiSwogQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRIQCghzdGF0dXNlcxgCIAMoCSJTCiFDYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USFwoPY2FuY2VsbGVkX2NvdW50GAEgASgFEhUKDWNhbmNlbGxlZF9pZHMYAiADKAkiRAohQ29tcGxldGVPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC3Jlc3VsdF9qc29uGAIgASgMIkcKIkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCKrAQodRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QSCgoCaWQYASABKAkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhYKCXJldHJ5YWJsZRgEIAEoCEgAiAEBEi0KB2RldGFpbHMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDAoKX3JldHJ5YWJsZUIKCghfZGV0YWlscyJDCh5GYWlsT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEhEKCWNhbmNlbGxlZBgCIAEoCCLbAQoeUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXF1ZXN0EgoKAmlkGAEgASgJEhkKDHByb2dyZXNzX3BjdBgCIAEoBUgAiAEBEh0KEHByb2dyZXNzX21lc3NhZ2UYAyABKAlIAYgBARI3ChFwcm9ncmVzc19tZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIPCg1fcHJvZ3Jlc3NfcGN0QhMKEV9wcm9ncmVzc19tZXNzYWdlQhQKEl9wcm9ncmVzc19tZXRhZGF0YSJECh9SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIRCgljYW5jZWxsZWQYAiABKAgiggEKHUdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSGAoLY3VzdG9tZXJfaWQYAiABKAlIAIgBARIUCgd1c2VyX2lkGAMgASgJSAGIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF91c2VyX2lkIrIBCg5RdW90YVJ1bGVVc2FnZRISCgpydWxlX2luZGV4GAEgASgFEhMKC3NlZ21lbnRfa2V5GAIgASgJEg0KBWxpbWl0GAMgASgFEgwKBHVzZWQYBCABKAUSEQoJcmVtYWluaW5nGAUgASgFEhUKDXJlc2V0X2F0X3VuaXgYBiABKAMSDQoFc2NvcGUYByABKAkSEAoIZHVyYXRpb24YCCABKAUSDwoHbWVzc2FnZRgJIAEoCSKtAQoeR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEhgKEHRvdGFsX2V4ZWN1dGlvbnMYASABKAMSGQoRcGVyaW9kX2V4ZWN1dGlvbnMYAiABKAMSGAoLcXVvdGFfbGltaXQYAyABKANIAIgBARIsCgVydWxlcxgEIAMoCzIdLm9wZXJhdGlvbnMudjEuUXVvdGFSdWxlVXNhZ2VCDgoMX3F1b3RhX2xpbWl0IhwKGkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Ii0KG0dldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRIOCgZzZWNyZXQYASABKAkiKAoaR2V0T3BlcmF0aW9uVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0T3BlcmF0aW9uVmVyc2lvblJlc3BvbnNlEjAKB3ZlcnNpb24YASABKAsyHy5vcGVyYXRpb25zLnYxLk9wZXJhdGlvblZlcnNpb24irAEKHExpc3RPcGVyYXRpb25WZXJzaW9uc1JlcXVlc3QSFAoMb3BlcmF0aW9uX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Iq0BCh1MaXN0T3BlcmF0aW9uVmVyc2lvbnNSZXNwb25zZRIxCgh2ZXJzaW9ucxgBIAMoCzIfLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ibAoeUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkSHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAIgASgJSACIAQFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKEAQofUmVzdG9yZU9wZXJhdGlvblZlcnNpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbhI0CgtuZXdfdmVyc2lvbhgCIAEoCzIfLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uVmVyc2lvbiIlChdQdWJsaXNoT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJ9ChhQdWJsaXNoT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiJwoZVW5wdWJsaXNoT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJJChpVbnB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiIuCiBHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSJOCiFHZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USKQoGc3RhdHVzGAEgASgLMhkucHVibGlzaC52MS5QdWJsaXNoU3RhdHVzIqUBCh9TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ik8KIFNjaGVkdWxlT3BlcmF0aW9uUHVibGlzaFJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIjQKJkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJIlYKJ0NhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRIrCglvcGVyYXRpb24YASABKAsyGC5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbiqAAQoNT3BlcmF0aW9uS2luZBIeChpPUEVSQVRJT05fS0lORF9VTlNQRUNJRklFRBAAEhsKF09QRVJBVElPTl9LSU5EX01VVEFUSU9OEAESGAoUT1BFUkFUSU9OX0tJTkRfUVVFUlkQAhIYChRPUEVSQVRJT05fS0lORF9GSUVMRBADKmIKDUV4ZWN1dGlvbk1vZGUSHgoaRVhFQ1VUSU9OX01PREVfVU5TUEVDSUZJRUQQABIXChNFWEVDVVRJT05fTU9ERV9TWU5DEAESGAoURVhFQ1VUSU9OX01PREVfQVNZTkMQAjKOIwoRT3BlcmF0aW9uc1NlcnZpY2USXQoOTGlzdE9wZXJhdGlvbnMSJC5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25zUmVxdWVzdBolLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXNwb25zZRJXCgxHZXRPcGVyYXRpb24SIi5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlc3BvbnNlEmAKD0NyZWF0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USYAoPVXBkYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9EZWxldGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEmMKEEV4ZWN1dGVPcGVyYXRpb24SJi5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5FeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USYwoQUmVzb2x2ZU9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuUmVzb2x2ZU9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25SZXNwb25zZRJyChVSZXNvbHZlT3BlcmF0aW9uQmF0Y2gSKy5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25CYXRjaFJlcXVlc3QaLC5vcGVyYXRpb25zLnYxLlJlc29sdmVPcGVyYXRpb25CYXRjaFJlc3BvbnNlEngKF0xpc3RPcGVyYXRpb25FeGVjdXRpb25zEi0ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzEjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2UScgoVTGlzdERlYWRMZXR0ZXJFbnRyaWVzEisub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRJvChRSZXRyeURlYWRMZXR0ZXJFbnRyeRIqLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5SZXRyeURlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEnUKFkRpc21pc3NEZWFkTGV0dGVyRW50cnkSLC5vcGVyYXRpb25zLnYxLkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USdQoWQnVsa0Rpc21pc3NEZWFkTGV0dGVycxIsLm9wZXJhdGlvbnMudjEuQnVsa0Rpc21pc3NEZWFkTGV0dGVyc1JlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkJ1bGtEaXNtaXNzRGVhZExldHRlcnNSZXNwb25zZRKHAQocRGlzbWlzc0FsbFBlbmRpbmdEZWFkTGV0dGVycxIyLm9wZXJhdGlvbnMudjEuRGlzbWlzc0FsbFBlbmRpbmdEZWFkTGV0dGVyc1JlcXVlc3QaMy5vcGVyYXRpb25zLnYxLkRpc21pc3NBbGxQZW5kaW5nRGVhZExldHRlcnNSZXNwb25zZRJvChRCdWxrUmV0cnlEZWFkTGV0dGVycxIqLm9wZXJhdGlvbnMudjEuQnVsa1JldHJ5RGVhZExldHRlcnNSZXF1ZXN0Gisub3BlcmF0aW9ucy52MS5CdWxrUmV0cnlEZWFkTGV0dGVyc1Jlc3BvbnNlEoQBChtMaXN0RGVhZExldHRlck9wZXJhdGlvbktleXMSMS5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1JlcXVlc3QaMi5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyT3BlcmF0aW9uS2V5c1Jlc3BvbnNlEmkKEkdldERlYWRMZXR0ZXJTdGF0cxIoLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdBopLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVzcG9uc2USZgoRTGlzdENpcmN1aXRTdGF0ZXMSJy5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVxdWVzdBooLm9wZXJhdGlvbnMudjEuTGlzdENpcmN1aXRTdGF0ZXNSZXNwb25zZRJXCgxSZXNldENpcmN1aXQSIi5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlc3BvbnNlEngKF0dldEFwcGxpY2FibGVPcGVyYXRpb25zEi0ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVzcG9uc2UScgoVR2V0T3BlcmF0aW9uRXhlY3V0aW9uEisub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ7ChhDYW5jZWxPcGVyYXRpb25FeGVjdXRpb24SLi5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLy5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEn4KGUNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnMSLy5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0GjAub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25zUmVzcG9uc2USgQEKGkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uEjAub3BlcmF0aW9ucy52MS5Db21wbGV0ZU9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaMS5vcGVyYXRpb25zLnYxLkNvbXBsZXRlT3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USdQoWRmFpbE9wZXJhdGlvbkV4ZWN1dGlvbhIsLm9wZXJhdGlvbnMudjEuRmFpbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkZhaWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ4ChdSZXBvcnRPcGVyYXRpb25Qcm9ncmVzcxItLm9wZXJhdGlvbnMudjEuUmVwb3J0T3BlcmF0aW9uUHJvZ3Jlc3NSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZXBvcnRPcGVyYXRpb25Qcm9ncmVzc1Jlc3BvbnNlEnUKFkdldE9wZXJhdGlvblF1b3RhVXNhZ2USLC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVzcG9uc2USYwoQR2V0U2lnbmluZ1NlY3JldBImLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRJsChNHZXRTaWduaW5nU2VjcmV0UmF3Eikub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmF3UmVxdWVzdBoqLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1Jlc3BvbnNlEngKF1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0Ei0ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USbAoTR2V0T3BlcmF0aW9uVmVyc2lvbhIpLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uVmVyc2lvblJlcXVlc3QaKi5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblZlcnNpb25SZXNwb25zZRJyChVMaXN0T3BlcmF0aW9uVmVyc2lvbnMSKy5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25WZXJzaW9uc1JlcXVlc3QaLC5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25WZXJzaW9uc1Jlc3BvbnNlEngKF1Jlc3RvcmVPcGVyYXRpb25WZXJzaW9uEi0ub3BlcmF0aW9ucy52MS5SZXN0b3JlT3BlcmF0aW9uVmVyc2lvblJlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlc3RvcmVPcGVyYXRpb25WZXJzaW9uUmVzcG9uc2USYwoQUHVibGlzaE9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuUHVibGlzaE9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLlB1Ymxpc2hPcGVyYXRpb25SZXNwb25zZRJpChJVbnB1Ymxpc2hPcGVyYXRpb24SKC5vcGVyYXRpb25zLnYxLlVucHVibGlzaE9wZXJhdGlvblJlcXVlc3QaKS5vcGVyYXRpb25zLnYxLlVucHVibGlzaE9wZXJhdGlvblJlc3BvbnNlEn4KGUdldE9wZXJhdGlvblB1Ymxpc2hTdGF0dXMSLy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblB1Ymxpc2hTdGF0dXNSZXF1ZXN0GjAub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USewoYU2NoZWR1bGVPcGVyYXRpb25QdWJsaXNoEi4ub3BlcmF0aW9ucy52MS5TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXF1ZXN0Gi8ub3BlcmF0aW9ucy52MS5TY2hlZHVsZU9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZRKQAQofQ2FuY2VsU2NoZWR1bGVkT3BlcmF0aW9uUHVibGlzaBI1Lm9wZXJhdGlvbnMudjEuQ2FuY2VsU2NoZWR1bGVkT3BlcmF0aW9uUHVibGlzaFJlcXVlc3QaNi5vcGVyYXRpb25zLnYxLkNhbmNlbFNjaGVkdWxlZE9wZXJhdGlvblB1Ymxpc2hSZXNwb25zZUJBWj9naXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vb3BlcmF0aW9ucy92MTtvcGVyYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct7, file_google_protobuf_timestamp8, file_publish_v1_publish, file_common_v1_pagination]);
1034
+ var OperationSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 2);
1035
+ var OperationExecutionSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 4);
1036
+ var DeadLetterEntrySchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 5);
1037
+ var ListOperationsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 9);
1038
+ var GetOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 11);
1039
+ var CreateOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 13);
1040
+ var UpdateOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 15);
1041
+ var DeleteOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 17);
1042
+ var ExecuteOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 19);
1043
+ var ListOperationExecutionsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 27);
1044
+ var GetOperationExecutionStatsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 29);
1045
+ var ListDeadLetterEntriesRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 31);
1046
+ var RetryDeadLetterEntryRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 33);
1047
+ var DismissDeadLetterEntryRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 35);
1048
+ var BulkDismissDeadLettersRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 37);
1049
+ var DismissAllPendingDeadLettersRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 39);
1050
+ var BulkRetryDeadLettersRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 41);
1051
+ var ListDeadLetterOperationKeysRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 43);
1052
+ var GetDeadLetterStatsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 45);
1053
+ var ListCircuitStatesRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 47);
1054
+ var ResetCircuitRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 49);
1055
+ var GetSigningSecretRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 51);
1056
+ var RegenerateSigningSecretRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 53);
1057
+ var CancelOperationExecutionRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 59);
1058
+ var CancelOperationExecutionsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 61);
1059
+ var GetOperationVersionRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 74);
1060
+ var ListOperationVersionsRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 76);
1061
+ var RestoreOperationVersionRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 78);
1062
+ var PublishOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 80);
1063
+ var UnpublishOperationRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 82);
1064
+ var GetOperationPublishStatusRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 84);
1065
+ var ScheduleOperationPublishRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 86);
1066
+ var CancelScheduledOperationPublishRequestSchema = /* @__PURE__ */ messageDesc12(file_operations_v1_operations, 88);
1061
1067
  var OperationKindSchema = /* @__PURE__ */ enumDesc8(file_operations_v1_operations, 0);
1062
1068
  var OperationKind = /* @__PURE__ */ tsEnum8(OperationKindSchema);
1063
1069
  var ExecutionModeSchema = /* @__PURE__ */ enumDesc8(file_operations_v1_operations, 1);
1064
1070
  var ExecutionMode = /* @__PURE__ */ tsEnum8(ExecutionModeSchema);
1065
- var OperationsService = /* @__PURE__ */ serviceDesc9(file_operations_v1_operations, 0);
1071
+ var OperationsService = /* @__PURE__ */ serviceDesc8(file_operations_v1_operations, 0);
1066
1072
 
1067
1073
  // ../../packages/proto-ts/src/hooks/v1/hooks_pb.js
1068
- import { fileDesc as fileDesc14, messageDesc as messageDesc14, serviceDesc as serviceDesc10 } from "@bufbuild/protobuf/codegenv2";
1069
- import { file_google_protobuf_struct as file_google_protobuf_struct9, file_google_protobuf_timestamp as file_google_protobuf_timestamp10 } from "@bufbuild/protobuf/wkt";
1070
- var file_hooks_v1_hooks = /* @__PURE__ */ fileDesc14("ChRob29rcy92MS9ob29rcy5wcm90bxIIaG9va3MudjEinQQKBEhvb2sSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARINCgVldmVudBgFIAEoCRITCgt0YXJnZXRfdHlwZRgGIAEoCRIaCg1vcGVyYXRpb25fa2V5GAcgASgJSAGIAQESOQoTbm90aWZpY2F0aW9uX2NvbmZpZxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIsCgZmaWx0ZXIYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESFgoJY29uZmlnX2lkGAogASgJSASIAQESEQoJaXNfYWN0aXZlGAsgASgIEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIBYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CEAoOX29wZXJhdGlvbl9rZXlCFgoUX25vdGlmaWNhdGlvbl9jb25maWdCCQoHX2ZpbHRlckIMCgpfY29uZmlnX2lkQg0KC19jcmVhdGVkX2J5IpQDCgxIb29rRGVsaXZlcnkSCgoCaWQYASABKAkSDwoHaG9va19pZBgCIAEoCRINCgVldmVudBgDIAEoCRIOCgZzdGF0dXMYBCABKAkSKAoHcGF5bG9hZBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoIcmVzcG9uc2UYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFZXJyb3IYByABKAlIAYgBARIQCghhdHRlbXB0cxgIIAEoBRIYCgtkdXJhdGlvbl9tcxgJIAEoBUgCiAEBEjAKDGRlbGl2ZXJlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCwoJX3Jlc3BvbnNlQggKBl9lcnJvckIOCgxfZHVyYXRpb25fbXMiwQEKEExpc3RIb29rc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Io0BChFMaXN0SG9va3NSZXNwb25zZRIdCgVob29rcxgBIAMoCzIOLmhvb2tzLnYxLkhvb2sSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIhwKDkdldEhvb2tSZXF1ZXN0EgoKAmlkGAEgASgJIi8KD0dldEhvb2tSZXNwb25zZRIcCgRob29rGAEgASgLMg4uaG9va3MudjEuSG9vayLcAgoRQ3JlYXRlSG9va1JlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgVldmVudBgEIAEoCRITCgt0YXJnZXRfdHlwZRgFIAEoCRIaCg1vcGVyYXRpb25fa2V5GAYgASgJSAGIAQESOQoTbm90aWZpY2F0aW9uX2NvbmZpZxgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIsCgZmaWx0ZXIYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESFgoJY29uZmlnX2lkGAkgASgJSASIAQFCDgoMX2Rlc2NyaXB0aW9uQhAKDl9vcGVyYXRpb25fa2V5QhYKFF9ub3RpZmljYXRpb25fY29uZmlnQgkKB19maWx0ZXJCDAoKX2NvbmZpZ19pZCIyChJDcmVhdGVIb29rUmVzcG9uc2USHAoEaG9vaxgBIAEoCzIOLmhvb2tzLnYxLkhvb2sixQIKEVVwZGF0ZUhvb2tSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhoKDW9wZXJhdGlvbl9rZXkYBCABKAlIAogBARI5ChNub3RpZmljYXRpb25fY29uZmlnGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEiwKBmZpbHRlchgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEAoOX29wZXJhdGlvbl9rZXlCFgoUX25vdGlmaWNhdGlvbl9jb25maWdCCQoHX2ZpbHRlckIMCgpfaXNfYWN0aXZlIjIKElVwZGF0ZUhvb2tSZXNwb25zZRIcCgRob29rGAEgASgLMg4uaG9va3MudjEuSG9vayIfChFEZWxldGVIb29rUmVxdWVzdBIKCgJpZBgBIAEoCSIlChJEZWxldGVIb29rUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLKAQoZTGlzdEhvb2tEZWxpdmVyaWVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiowEKGkxpc3RIb29rRGVsaXZlcmllc1Jlc3BvbnNlEioKCmRlbGl2ZXJpZXMYASADKAsyFi5ob29rcy52MS5Ib29rRGVsaXZlcnkSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIi8KGFJldHJ5SG9va0RlbGl2ZXJ5UmVxdWVzdBITCgtkZWxpdmVyeV9pZBgBIAEoCSIsChlSZXRyeUhvb2tEZWxpdmVyeVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiZwoPVGVzdEhvb2tSZXF1ZXN0Eg8KB2hvb2tfaWQYASABKAkSMgoMdGVzdF9wYXlsb2FkGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQg8KDV90ZXN0X3BheWxvYWQiQQoQVGVzdEhvb2tSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhIKBWVycm9yGAIgASgJSACIAQFCCAoGX2Vycm9yIiIKE0dldEhvb2tCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIjQKFEdldEhvb2tCeUtleVJlc3BvbnNlEhwKBGhvb2sYASABKAsyDi5ob29rcy52MS5Ib29rMsAFCgxIb29rc1NlcnZpY2USRAoJTGlzdEhvb2tzEhouaG9va3MudjEuTGlzdEhvb2tzUmVxdWVzdBobLmhvb2tzLnYxLkxpc3RIb29rc1Jlc3BvbnNlEj4KB0dldEhvb2sSGC5ob29rcy52MS5HZXRIb29rUmVxdWVzdBoZLmhvb2tzLnYxLkdldEhvb2tSZXNwb25zZRJNCgxHZXRIb29rQnlLZXkSHS5ob29rcy52MS5HZXRIb29rQnlLZXlSZXF1ZXN0Gh4uaG9va3MudjEuR2V0SG9va0J5S2V5UmVzcG9uc2USRwoKQ3JlYXRlSG9vaxIbLmhvb2tzLnYxLkNyZWF0ZUhvb2tSZXF1ZXN0GhwuaG9va3MudjEuQ3JlYXRlSG9va1Jlc3BvbnNlEkcKClVwZGF0ZUhvb2sSGy5ob29rcy52MS5VcGRhdGVIb29rUmVxdWVzdBocLmhvb2tzLnYxLlVwZGF0ZUhvb2tSZXNwb25zZRJHCgpEZWxldGVIb29rEhsuaG9va3MudjEuRGVsZXRlSG9va1JlcXVlc3QaHC5ob29rcy52MS5EZWxldGVIb29rUmVzcG9uc2USXwoSTGlzdEhvb2tEZWxpdmVyaWVzEiMuaG9va3MudjEuTGlzdEhvb2tEZWxpdmVyaWVzUmVxdWVzdBokLmhvb2tzLnYxLkxpc3RIb29rRGVsaXZlcmllc1Jlc3BvbnNlElwKEVJldHJ5SG9va0RlbGl2ZXJ5EiIuaG9va3MudjEuUmV0cnlIb29rRGVsaXZlcnlSZXF1ZXN0GiMuaG9va3MudjEuUmV0cnlIb29rRGVsaXZlcnlSZXNwb25zZRJBCghUZXN0SG9vaxIZLmhvb2tzLnYxLlRlc3RIb29rUmVxdWVzdBoaLmhvb2tzLnYxLlRlc3RIb29rUmVzcG9uc2VCN1o1Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2hvb2tzL3YxO2hvb2tzdjFiBnByb3RvMw", [file_google_protobuf_struct9, file_google_protobuf_timestamp10, file_common_v1_pagination]);
1071
- var HookSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 0);
1072
- var HookDeliverySchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 1);
1073
- var ListHooksRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 2);
1074
- var GetHookRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 4);
1075
- var CreateHookRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 6);
1076
- var UpdateHookRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 8);
1077
- var DeleteHookRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 10);
1078
- var ListHookDeliveriesRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 12);
1079
- var RetryHookDeliveryRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 14);
1080
- var TestHookRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 16);
1081
- var GetHookByKeyRequestSchema = /* @__PURE__ */ messageDesc14(file_hooks_v1_hooks, 18);
1082
- var HooksService = /* @__PURE__ */ serviceDesc10(file_hooks_v1_hooks, 0);
1074
+ import { fileDesc as fileDesc13, messageDesc as messageDesc13, serviceDesc as serviceDesc9 } from "@bufbuild/protobuf/codegenv2";
1075
+ import { file_google_protobuf_struct as file_google_protobuf_struct8, file_google_protobuf_timestamp as file_google_protobuf_timestamp9 } from "@bufbuild/protobuf/wkt";
1076
+ var file_hooks_v1_hooks = /* @__PURE__ */ fileDesc13("ChRob29rcy92MS9ob29rcy5wcm90bxIIaG9va3MudjEinQQKBEhvb2sSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARINCgVldmVudBgFIAEoCRITCgt0YXJnZXRfdHlwZRgGIAEoCRIaCg1vcGVyYXRpb25fa2V5GAcgASgJSAGIAQESOQoTbm90aWZpY2F0aW9uX2NvbmZpZxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIsCgZmaWx0ZXIYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESFgoJY29uZmlnX2lkGAogASgJSASIAQESEQoJaXNfYWN0aXZlGAsgASgIEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIBYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CEAoOX29wZXJhdGlvbl9rZXlCFgoUX25vdGlmaWNhdGlvbl9jb25maWdCCQoHX2ZpbHRlckIMCgpfY29uZmlnX2lkQg0KC19jcmVhdGVkX2J5IpQDCgxIb29rRGVsaXZlcnkSCgoCaWQYASABKAkSDwoHaG9va19pZBgCIAEoCRINCgVldmVudBgDIAEoCRIOCgZzdGF0dXMYBCABKAkSKAoHcGF5bG9hZBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoIcmVzcG9uc2UYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFZXJyb3IYByABKAlIAYgBARIQCghhdHRlbXB0cxgIIAEoBRIYCgtkdXJhdGlvbl9tcxgJIAEoBUgCiAEBEjAKDGRlbGl2ZXJlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCwoJX3Jlc3BvbnNlQggKBl9lcnJvckIOCgxfZHVyYXRpb25fbXMiwQEKEExpc3RIb29rc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Io0BChFMaXN0SG9va3NSZXNwb25zZRIdCgVob29rcxgBIAMoCzIOLmhvb2tzLnYxLkhvb2sSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIhwKDkdldEhvb2tSZXF1ZXN0EgoKAmlkGAEgASgJIi8KD0dldEhvb2tSZXNwb25zZRIcCgRob29rGAEgASgLMg4uaG9va3MudjEuSG9vayLcAgoRQ3JlYXRlSG9va1JlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgVldmVudBgEIAEoCRITCgt0YXJnZXRfdHlwZRgFIAEoCRIaCg1vcGVyYXRpb25fa2V5GAYgASgJSAGIAQESOQoTbm90aWZpY2F0aW9uX2NvbmZpZxgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIsCgZmaWx0ZXIYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESFgoJY29uZmlnX2lkGAkgASgJSASIAQFCDgoMX2Rlc2NyaXB0aW9uQhAKDl9vcGVyYXRpb25fa2V5QhYKFF9ub3RpZmljYXRpb25fY29uZmlnQgkKB19maWx0ZXJCDAoKX2NvbmZpZ19pZCIyChJDcmVhdGVIb29rUmVzcG9uc2USHAoEaG9vaxgBIAEoCzIOLmhvb2tzLnYxLkhvb2sixQIKEVVwZGF0ZUhvb2tSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhoKDW9wZXJhdGlvbl9rZXkYBCABKAlIAogBARI5ChNub3RpZmljYXRpb25fY29uZmlnGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEiwKBmZpbHRlchgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEAoOX29wZXJhdGlvbl9rZXlCFgoUX25vdGlmaWNhdGlvbl9jb25maWdCCQoHX2ZpbHRlckIMCgpfaXNfYWN0aXZlIjIKElVwZGF0ZUhvb2tSZXNwb25zZRIcCgRob29rGAEgASgLMg4uaG9va3MudjEuSG9vayIfChFEZWxldGVIb29rUmVxdWVzdBIKCgJpZBgBIAEoCSIlChJEZWxldGVIb29rUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLKAQoZTGlzdEhvb2tEZWxpdmVyaWVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiowEKGkxpc3RIb29rRGVsaXZlcmllc1Jlc3BvbnNlEioKCmRlbGl2ZXJpZXMYASADKAsyFi5ob29rcy52MS5Ib29rRGVsaXZlcnkSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIi8KGFJldHJ5SG9va0RlbGl2ZXJ5UmVxdWVzdBITCgtkZWxpdmVyeV9pZBgBIAEoCSIsChlSZXRyeUhvb2tEZWxpdmVyeVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiZwoPVGVzdEhvb2tSZXF1ZXN0Eg8KB2hvb2tfaWQYASABKAkSMgoMdGVzdF9wYXlsb2FkGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQg8KDV90ZXN0X3BheWxvYWQiQQoQVGVzdEhvb2tSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhIKBWVycm9yGAIgASgJSACIAQFCCAoGX2Vycm9yIiIKE0dldEhvb2tCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIjQKFEdldEhvb2tCeUtleVJlc3BvbnNlEhwKBGhvb2sYASABKAsyDi5ob29rcy52MS5Ib29rMsAFCgxIb29rc1NlcnZpY2USRAoJTGlzdEhvb2tzEhouaG9va3MudjEuTGlzdEhvb2tzUmVxdWVzdBobLmhvb2tzLnYxLkxpc3RIb29rc1Jlc3BvbnNlEj4KB0dldEhvb2sSGC5ob29rcy52MS5HZXRIb29rUmVxdWVzdBoZLmhvb2tzLnYxLkdldEhvb2tSZXNwb25zZRJNCgxHZXRIb29rQnlLZXkSHS5ob29rcy52MS5HZXRIb29rQnlLZXlSZXF1ZXN0Gh4uaG9va3MudjEuR2V0SG9va0J5S2V5UmVzcG9uc2USRwoKQ3JlYXRlSG9vaxIbLmhvb2tzLnYxLkNyZWF0ZUhvb2tSZXF1ZXN0GhwuaG9va3MudjEuQ3JlYXRlSG9va1Jlc3BvbnNlEkcKClVwZGF0ZUhvb2sSGy5ob29rcy52MS5VcGRhdGVIb29rUmVxdWVzdBocLmhvb2tzLnYxLlVwZGF0ZUhvb2tSZXNwb25zZRJHCgpEZWxldGVIb29rEhsuaG9va3MudjEuRGVsZXRlSG9va1JlcXVlc3QaHC5ob29rcy52MS5EZWxldGVIb29rUmVzcG9uc2USXwoSTGlzdEhvb2tEZWxpdmVyaWVzEiMuaG9va3MudjEuTGlzdEhvb2tEZWxpdmVyaWVzUmVxdWVzdBokLmhvb2tzLnYxLkxpc3RIb29rRGVsaXZlcmllc1Jlc3BvbnNlElwKEVJldHJ5SG9va0RlbGl2ZXJ5EiIuaG9va3MudjEuUmV0cnlIb29rRGVsaXZlcnlSZXF1ZXN0GiMuaG9va3MudjEuUmV0cnlIb29rRGVsaXZlcnlSZXNwb25zZRJBCghUZXN0SG9vaxIZLmhvb2tzLnYxLlRlc3RIb29rUmVxdWVzdBoaLmhvb2tzLnYxLlRlc3RIb29rUmVzcG9uc2VCN1o1Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2hvb2tzL3YxO2hvb2tzdjFiBnByb3RvMw", [file_google_protobuf_struct8, file_google_protobuf_timestamp9, file_common_v1_pagination]);
1077
+ var HookSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 0);
1078
+ var HookDeliverySchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 1);
1079
+ var ListHooksRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 2);
1080
+ var GetHookRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 4);
1081
+ var CreateHookRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 6);
1082
+ var UpdateHookRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 8);
1083
+ var DeleteHookRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 10);
1084
+ var ListHookDeliveriesRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 12);
1085
+ var RetryHookDeliveryRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 14);
1086
+ var TestHookRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 16);
1087
+ var GetHookByKeyRequestSchema = /* @__PURE__ */ messageDesc13(file_hooks_v1_hooks, 18);
1088
+ var HooksService = /* @__PURE__ */ serviceDesc9(file_hooks_v1_hooks, 0);
1083
1089
 
1084
1090
  // ../../packages/proto-ts/src/notifications/v1/notifications_pb.js
1085
- import { enumDesc as enumDesc9, fileDesc as fileDesc15, messageDesc as messageDesc15, serviceDesc as serviceDesc11, tsEnum as tsEnum9 } from "@bufbuild/protobuf/codegenv2";
1086
- import { file_google_protobuf_struct as file_google_protobuf_struct10, file_google_protobuf_timestamp as file_google_protobuf_timestamp11 } from "@bufbuild/protobuf/wkt";
1087
- var file_notifications_v1_notifications = /* @__PURE__ */ fileDesc15("CiRub3RpZmljYXRpb25zL3YxL25vdGlmaWNhdGlvbnMucHJvdG8SEG5vdGlmaWNhdGlvbnMudjEisAUKDE5vdGlmaWNhdGlvbhIKCgJpZBgBIAEoCRIPCgd1c2VyX2lkGAIgASgJEjAKBHR5cGUYAyABKA4yIi5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblR5cGUSDQoFdGl0bGUYBCABKAkSFAoHbWVzc2FnZRgFIAEoCUgAiAEBEjIKDHJpY2hfY29udGVudBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARJCCgtzb3VyY2VfdHlwZRgKIAEoDjIoLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uU291cmNlVHlwZUgCiAEBEhYKCXNvdXJjZV9pZBgLIAEoCUgDiAEBEhcKCmFjdGlvbl91cmwYDCABKAlIBIgBARIuCghtZXRhZGF0YRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIPCgdpc19yZWFkGBQgASgIEjAKB3JlYWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESEQoJdGVuYW50X2lkGB4gASgJEhcKCnByb2plY3RfaWQYHyABKAlIB4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpleHBpcmVzX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBQgoKCF9tZXNzYWdlQg8KDV9yaWNoX2NvbnRlbnRCDgoMX3NvdXJjZV90eXBlQgwKCl9zb3VyY2VfaWRCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgoKCF9yZWFkX2F0Qg0KC19wcm9qZWN0X2lkQg0KC19leHBpcmVzX2F0IskBChhMaXN0Tm90aWZpY2F0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IsMBChlMaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEjUKDW5vdGlmaWNhdGlvbnMYASADKAsyHi5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbhINCgV0b3RhbBgCIAEoBRIUCgx1bnJlYWRfY291bnQYAyABKAUSKwoJcGFnZV9pbmZvGAQgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgFIAMoCUIMCgpfcGFnZV9pbmZvIikKG01hcmtOb3RpZmljYXRpb25SZWFkUmVxdWVzdBIKCgJpZBgBIAEoCSIvChxNYXJrTm90aWZpY2F0aW9uUmVhZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiYQofTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBI1CgR0eXBlGAEgASgOMiIubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25UeXBlSACIAQFCBwoFX3R5cGUiMQogTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkUmVzcG9uc2USDQoFY291bnQYASABKAUiJwoZRGVsZXRlTm90aWZpY2F0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSItChpEZWxldGVOb3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhcKFUdldFVucmVhZENvdW50UmVxdWVzdCInChZHZXRVbnJlYWRDb3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgFIrABChdTZW5kQW5ub3VuY2VtZW50UmVxdWVzdBINCgV0aXRsZRgBIAEoCRIUCgdtZXNzYWdlGAIgASgJSACIAQESFwoKYWN0aW9uX3VybBgDIAEoCUgBiAEBEhgKC3RhcmdldF90eXBlGAQgASgJSAKIAQESEgoKdGFyZ2V0X2lkcxgFIAMoCUIKCghfbWVzc2FnZUINCgtfYWN0aW9uX3VybEIOCgxfdGFyZ2V0X3R5cGUiUAoYU2VuZEFubm91bmNlbWVudFJlc3BvbnNlEjQKDG5vdGlmaWNhdGlvbhgBIAEoCzIeLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uIpgBCh5MaXN0QW5ub3VuY2VtZW50SGlzdG9yeVJlcXVlc3QSEgoFYWZ0ZXIYASABKAlIAIgBARITCgZiZWZvcmUYAiABKAlIAYgBARISCgVmaXJzdBgDIAEoBUgCiAEBEhEKBGxhc3QYBCABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiswEKH0xpc3RBbm5vdW5jZW1lbnRIaXN0b3J5UmVzcG9uc2USNQoNYW5ub3VuY2VtZW50cxgBIAMoCzIeLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKBBAoUQ3VzdG9tZXJOb3RpZmljYXRpb24SCgoCaWQYASABKAkSEwoLY3VzdG9tZXJfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSFAoHbWVzc2FnZRgEIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAUgASgJSAGIAQESFwoKYWN0aW9uX3VybBgGIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEg8KB2lzX3JlYWQYCCABKAgSMAoHcmVhZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIWCglpbWFnZV91cmwYCiABKAlIBYgBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpleHBpcmVzX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQgoKCF9tZXNzYWdlQgsKCV9jYXRlZ29yeUINCgtfYWN0aW9uX3VybEILCglfbWV0YWRhdGFCCgoIX3JlYWRfYXRCDAoKX2ltYWdlX3VybEINCgtfZXhwaXJlc19hdCLRAQogTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Ir0BCiFMaXN0Q3VzdG9tZXJOb3RpZmljYXRpb25zUmVzcG9uc2USPQoNbm90aWZpY2F0aW9ucxgBIAMoCzImLm5vdGlmaWNhdGlvbnMudjEuQ3VzdG9tZXJOb3RpZmljYXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIoYFCh9TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEg0KBXRpdGxlGAIgASgJEhQKB21lc3NhZ2UYAyABKAlIAIgBARIVCghjYXRlZ29yeRgEIAEoCUgBiAEBEhcKCmFjdGlvbl91cmwYBSABKAlIAogBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIWCglpbWFnZV91cmwYByABKAlIBIgBARIzCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBElEKCGNoYW5uZWxzGAkgAygLMj8ubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0LkNoYW5uZWxzRW50cnkaSAoNQ2hhbm5lbHNFbnRyeRILCgNrZXkYASABKAkSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OgI4AUIKCghfbWVzc2FnZUILCglfY2F0ZWdvcnlCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgwKCl9pbWFnZV91cmxCDQoLX2V4cGlyZXNfYXRKBAgKEAtKBAgLEAxKBAgMEA1KBAgNEA5KBAgUEBVKBAgVEBZKBAgWEBdKBAgXEBhSCWRlZXBfbGlua1IFYmFkZ2VSCXRocmVhZF9pZFIJcHVzaF9kYXRhUg1lbWFpbF9zdWJqZWN0UgplbWFpbF9ib2R5Ug5lbWFpbF9yZXBseV90b1IKZW1haWxfY3RhcyJgCiBTZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRI8Cgxub3RpZmljYXRpb24YASABKAsyJi5ub3RpZmljYXRpb25zLnYxLkN1c3RvbWVyTm90aWZpY2F0aW9uIoAECiNTZW5kQnVsa0N1c3RvbWVyTm90aWZpY2F0aW9uUmVxdWVzdBIUCgxjdXN0b21lcl9pZHMYASADKAkSDQoFdGl0bGUYAiABKAkSFAoHbWVzc2FnZRgDIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAQgASgJSAGIAQESFwoKYWN0aW9uX3VybBgFIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhYKCWltYWdlX3VybBgHIAEoCUgEiAEBEjMKCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESVQoIY2hhbm5lbHMYCSADKAsyQy5ub3RpZmljYXRpb25zLnYxLlNlbmRCdWxrQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0LkNoYW5uZWxzRW50cnkaSAoNQ2hhbm5lbHNFbnRyeRILCgNrZXkYASABKAkSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OgI4AUIKCghfbWVzc2FnZUILCglfY2F0ZWdvcnlCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgwKCl9pbWFnZV91cmxCDQoLX2V4cGlyZXNfYXQiNQokU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIjEKI01hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXF1ZXN0EgoKAmlkGAEgASgJIjcKJE1hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlMKJ01hcmtBbGxDdXN0b21lck5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBIYCgtjdXN0b21lcl9pZBgBIAEoCUgAiAEBQg4KDF9jdXN0b21lcl9pZCI5CihNYXJrQWxsQ3VzdG9tZXJOb3RpZmljYXRpb25zUmVhZFJlc3BvbnNlEg0KBWNvdW50GAEgASgFItABCh9MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCK8AQogTGlzdFByb2plY3ROb3RpZmljYXRpb25zUmVzcG9uc2USPQoNbm90aWZpY2F0aW9ucxgBIAMoCzImLm5vdGlmaWNhdGlvbnMudjEuQ3VzdG9tZXJOb3RpZmljYXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIm8KFk5vdGlmaWNhdGlvblByZWZlcmVuY2USEAoIY2F0ZWdvcnkYASABKAkSFQoNZW1haWxfZW5hYmxlZBgCIAEoCBIUCgxwdXNoX2VuYWJsZWQYAyABKAgSFgoOaW5fYXBwX2VuYWJsZWQYBCABKAgiOAohR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJImMKIkdldE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUmVzcG9uc2USPQoLcHJlZmVyZW5jZXMYASADKAsyKC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblByZWZlcmVuY2Ui1gEKI1VwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhoKDWVtYWlsX2VuYWJsZWQYAyABKAhIAIgBARIZCgxwdXNoX2VuYWJsZWQYBCABKAhIAYgBARIbCg5pbl9hcHBfZW5hYmxlZBgFIAEoCEgCiAEBQhAKDl9lbWFpbF9lbmFibGVkQg8KDV9wdXNoX2VuYWJsZWRCEQoPX2luX2FwcF9lbmFibGVkIjcKJFVwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInwKGlJlZ2lzdGVyRGV2aWNlVG9rZW5SZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEg0KBXRva2VuGAIgASgJEhAKCHBsYXRmb3JtGAMgASgJEhgKC2RldmljZV9uYW1lGAQgASgJSACIAQFCDgoMX2RldmljZV9uYW1lIi4KG1JlZ2lzdGVyRGV2aWNlVG9rZW5SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi0KHFVucmVnaXN0ZXJEZXZpY2VUb2tlblJlcXVlc3QSDQoFdG9rZW4YASABKAkiMAodVW5yZWdpc3RlckRldmljZVRva2VuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLIAwoOUHVzaENyZWRlbnRpYWwSCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghwbGF0Zm9ybRgDIAEoCRIWCglidW5kbGVfaWQYCiABKAlIAIgBARIZCgxhcG5zX3RlYW1faWQYCyABKAlIAYgBARIYCgthcG5zX2tleV9pZBgMIAEoCUgCiAEBEhwKD2FwbnNfcHJvZHVjdGlvbhgNIAEoCEgDiAEBEhsKDmZjbV9wcm9qZWN0X2lkGBQgASgJSASIAQESHQoQZmNtX2NsaWVudF9lbWFpbBgVIAEoCUgFiAEBEhIKCmhhc19zZWNyZXQYHiABKAgSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2J1bmRsZV9pZEIPCg1fYXBuc190ZWFtX2lkQg4KDF9hcG5zX2tleV9pZEISChBfYXBuc19wcm9kdWN0aW9uQhEKD19mY21fcHJvamVjdF9pZEITChFfZmNtX2NsaWVudF9lbWFpbCLfAgobVXBsb2FkUHVzaENyZWRlbnRpYWxSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIcGxhdGZvcm0YAiABKAkSGAoLYXBuc19wOF9rZXkYCiABKAlIAIgBARIWCglidW5kbGVfaWQYCyABKAlIAYgBARIZCgxhcG5zX3RlYW1faWQYDCABKAlIAogBARIYCgthcG5zX2tleV9pZBgNIAEoCUgDiAEBEhwKD2FwbnNfcHJvZHVjdGlvbhgOIAEoCEgEiAEBEiUKGGZjbV9zZXJ2aWNlX2FjY291bnRfanNvbhgUIAEoCUgFiAEBQg4KDF9hcG5zX3A4X2tleUIMCgpfYnVuZGxlX2lkQg8KDV9hcG5zX3RlYW1faWRCDgoMX2FwbnNfa2V5X2lkQhIKEF9hcG5zX3Byb2R1Y3Rpb25CGwoZX2ZjbV9zZXJ2aWNlX2FjY291bnRfanNvbiJUChxVcGxvYWRQdXNoQ3JlZGVudGlhbFJlc3BvbnNlEjQKCmNyZWRlbnRpYWwYASABKAsyIC5ub3RpZmljYXRpb25zLnYxLlB1c2hDcmVkZW50aWFsIjAKGkxpc3RQdXNoQ3JlZGVudGlhbHNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiVAobTGlzdFB1c2hDcmVkZW50aWFsc1Jlc3BvbnNlEjUKC2NyZWRlbnRpYWxzGAEgAygLMiAubm90aWZpY2F0aW9ucy52MS5QdXNoQ3JlZGVudGlhbCIpChtEZWxldGVQdXNoQ3JlZGVudGlhbFJlcXVlc3QSCgoCaWQYASABKAkiLwocRGVsZXRlUHVzaENyZWRlbnRpYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKsgCChBOb3RpZmljYXRpb25UeXBlEiEKHU5PVElGSUNBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIwofTk9USUZJQ0FUSU9OX1RZUEVfSk9CX0NPTVBMRVRFRBABEiAKHE5PVElGSUNBVElPTl9UWVBFX0pPQl9GQUlMRUQQAhIiCh5OT1RJRklDQVRJT05fVFlQRV9KT0JfUFJPR1JFU1MQAxIdChlOT1RJRklDQVRJT05fVFlQRV9NRU5USU9OEAQSIAocTk9USUZJQ0FUSU9OX1RZUEVfTk9URV9SRVBMWRAFEiMKH05PVElGSUNBVElPTl9UWVBFX05PVEVfUkVTT0xWRUQQBhIcChhOT1RJRklDQVRJT05fVFlQRV9TWVNURU0QBxIiCh5OT1RJRklDQVRJT05fVFlQRV9BTk5PVU5DRU1FTlQQCCr1AQoWTm90aWZpY2F0aW9uU291cmNlVHlwZRIoCiROT1RJRklDQVRJT05fU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIjCh9OT1RJRklDQVRJT05fU09VUkNFX1RZUEVfUkVDT1JEEAESIgoeTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX01PREVMEAISIQodTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX05PVEUQAxIgChxOT1RJRklDQVRJT05fU09VUkNFX1RZUEVfSk9CEAQSIwofTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX1NZU1RFTRAFMvUTChROb3RpZmljYXRpb25zU2VydmljZRJsChFMaXN0Tm90aWZpY2F0aW9ucxIqLm5vdGlmaWNhdGlvbnMudjEuTGlzdE5vdGlmaWNhdGlvbnNSZXF1ZXN0Gisubm90aWZpY2F0aW9ucy52MS5MaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEmMKDkdldFVucmVhZENvdW50Eicubm90aWZpY2F0aW9ucy52MS5HZXRVbnJlYWRDb3VudFJlcXVlc3QaKC5ub3RpZmljYXRpb25zLnYxLkdldFVucmVhZENvdW50UmVzcG9uc2USdQoUTWFya05vdGlmaWNhdGlvblJlYWQSLS5ub3RpZmljYXRpb25zLnYxLk1hcmtOb3RpZmljYXRpb25SZWFkUmVxdWVzdBouLm5vdGlmaWNhdGlvbnMudjEuTWFya05vdGlmaWNhdGlvblJlYWRSZXNwb25zZRKBAQoYTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkEjEubm90aWZpY2F0aW9ucy52MS5NYXJrQWxsTm90aWZpY2F0aW9uc1JlYWRSZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5NYXJrQWxsTm90aWZpY2F0aW9uc1JlYWRSZXNwb25zZRJvChJEZWxldGVOb3RpZmljYXRpb24SKy5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlcXVlc3QaLC5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlc3BvbnNlEmkKEFNlbmRBbm5vdW5jZW1lbnQSKS5ub3RpZmljYXRpb25zLnYxLlNlbmRBbm5vdW5jZW1lbnRSZXF1ZXN0Gioubm90aWZpY2F0aW9ucy52MS5TZW5kQW5ub3VuY2VtZW50UmVzcG9uc2USfgoXTGlzdEFubm91bmNlbWVudEhpc3RvcnkSMC5ub3RpZmljYXRpb25zLnYxLkxpc3RBbm5vdW5jZW1lbnRIaXN0b3J5UmVxdWVzdBoxLm5vdGlmaWNhdGlvbnMudjEuTGlzdEFubm91bmNlbWVudEhpc3RvcnlSZXNwb25zZRKEAQoZTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9ucxIyLm5vdGlmaWNhdGlvbnMudjEuTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlcXVlc3QaMy5ub3RpZmljYXRpb25zLnYxLkxpc3RDdXN0b21lck5vdGlmaWNhdGlvbnNSZXNwb25zZRKBAQoYU2VuZEN1c3RvbWVyTm90aWZpY2F0aW9uEjEubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRKNAQocU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvbhI1Lm5vdGlmaWNhdGlvbnMudjEuU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvblJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLlNlbmRCdWxrQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRKNAQocTWFya0N1c3RvbWVyTm90aWZpY2F0aW9uUmVhZBI1Lm5vdGlmaWNhdGlvbnMudjEuTWFya0N1c3RvbWVyTm90aWZpY2F0aW9uUmVhZFJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLk1hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXNwb25zZRKZAQogTWFya0FsbEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlYWQSOS5ub3RpZmljYXRpb25zLnYxLk1hcmtBbGxDdXN0b21lck5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBo6Lm5vdGlmaWNhdGlvbnMudjEuTWFya0FsbEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlYWRSZXNwb25zZRKBAQoYTGlzdFByb2plY3ROb3RpZmljYXRpb25zEjEubm90aWZpY2F0aW9ucy52MS5MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXNwb25zZRKHAQoaR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXMSMy5ub3RpZmljYXRpb25zLnYxLkdldE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUmVxdWVzdBo0Lm5vdGlmaWNhdGlvbnMudjEuR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXNSZXNwb25zZRKNAQocVXBkYXRlTm90aWZpY2F0aW9uUHJlZmVyZW5jZRI1Lm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlTm90aWZpY2F0aW9uUHJlZmVyZW5jZVJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXNwb25zZRJyChNSZWdpc3RlckRldmljZVRva2VuEiwubm90aWZpY2F0aW9ucy52MS5SZWdpc3RlckRldmljZVRva2VuUmVxdWVzdBotLm5vdGlmaWNhdGlvbnMudjEuUmVnaXN0ZXJEZXZpY2VUb2tlblJlc3BvbnNlEngKFVVucmVnaXN0ZXJEZXZpY2VUb2tlbhIuLm5vdGlmaWNhdGlvbnMudjEuVW5yZWdpc3RlckRldmljZVRva2VuUmVxdWVzdBovLm5vdGlmaWNhdGlvbnMudjEuVW5yZWdpc3RlckRldmljZVRva2VuUmVzcG9uc2USdQoUVXBsb2FkUHVzaENyZWRlbnRpYWwSLS5ub3RpZmljYXRpb25zLnYxLlVwbG9hZFB1c2hDcmVkZW50aWFsUmVxdWVzdBouLm5vdGlmaWNhdGlvbnMudjEuVXBsb2FkUHVzaENyZWRlbnRpYWxSZXNwb25zZRJyChNMaXN0UHVzaENyZWRlbnRpYWxzEiwubm90aWZpY2F0aW9ucy52MS5MaXN0UHVzaENyZWRlbnRpYWxzUmVxdWVzdBotLm5vdGlmaWNhdGlvbnMudjEuTGlzdFB1c2hDcmVkZW50aWFsc1Jlc3BvbnNlEnUKFERlbGV0ZVB1c2hDcmVkZW50aWFsEi0ubm90aWZpY2F0aW9ucy52MS5EZWxldGVQdXNoQ3JlZGVudGlhbFJlcXVlc3QaLi5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZVB1c2hDcmVkZW50aWFsUmVzcG9uc2VCR1pFZ2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL25vdGlmaWNhdGlvbnMvdjE7bm90aWZpY2F0aW9uc3YxYgZwcm90bzM", [file_google_protobuf_struct10, file_google_protobuf_timestamp11, file_common_v1_pagination]);
1088
- var NotificationSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 0);
1089
- var ListNotificationsRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 1);
1090
- var MarkNotificationReadRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 3);
1091
- var MarkAllNotificationsReadRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 5);
1092
- var DeleteNotificationRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 7);
1093
- var GetUnreadCountRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 9);
1094
- var SendAnnouncementRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 11);
1095
- var ListAnnouncementHistoryRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 13);
1096
- var ListCustomerNotificationsRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 16);
1097
- var SendCustomerNotificationRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 18);
1098
- var SendBulkCustomerNotificationRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 20);
1099
- var RegisterDeviceTokenRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 33);
1100
- var UnregisterDeviceTokenRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 35);
1101
- var PushCredentialSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 37);
1102
- var UploadPushCredentialRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 38);
1103
- var ListPushCredentialsRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 40);
1104
- var DeletePushCredentialRequestSchema = /* @__PURE__ */ messageDesc15(file_notifications_v1_notifications, 42);
1091
+ import { enumDesc as enumDesc9, fileDesc as fileDesc14, messageDesc as messageDesc14, serviceDesc as serviceDesc10, tsEnum as tsEnum9 } from "@bufbuild/protobuf/codegenv2";
1092
+ import { file_google_protobuf_struct as file_google_protobuf_struct9, file_google_protobuf_timestamp as file_google_protobuf_timestamp10 } from "@bufbuild/protobuf/wkt";
1093
+ var file_notifications_v1_notifications = /* @__PURE__ */ fileDesc14("CiRub3RpZmljYXRpb25zL3YxL25vdGlmaWNhdGlvbnMucHJvdG8SEG5vdGlmaWNhdGlvbnMudjEisAUKDE5vdGlmaWNhdGlvbhIKCgJpZBgBIAEoCRIPCgd1c2VyX2lkGAIgASgJEjAKBHR5cGUYAyABKA4yIi5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblR5cGUSDQoFdGl0bGUYBCABKAkSFAoHbWVzc2FnZRgFIAEoCUgAiAEBEjIKDHJpY2hfY29udGVudBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARJCCgtzb3VyY2VfdHlwZRgKIAEoDjIoLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uU291cmNlVHlwZUgCiAEBEhYKCXNvdXJjZV9pZBgLIAEoCUgDiAEBEhcKCmFjdGlvbl91cmwYDCABKAlIBIgBARIuCghtZXRhZGF0YRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIPCgdpc19yZWFkGBQgASgIEjAKB3JlYWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESEQoJdGVuYW50X2lkGB4gASgJEhcKCnByb2plY3RfaWQYHyABKAlIB4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpleHBpcmVzX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBQgoKCF9tZXNzYWdlQg8KDV9yaWNoX2NvbnRlbnRCDgoMX3NvdXJjZV90eXBlQgwKCl9zb3VyY2VfaWRCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgoKCF9yZWFkX2F0Qg0KC19wcm9qZWN0X2lkQg0KC19leHBpcmVzX2F0IskBChhMaXN0Tm90aWZpY2F0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IsMBChlMaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEjUKDW5vdGlmaWNhdGlvbnMYASADKAsyHi5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbhINCgV0b3RhbBgCIAEoBRIUCgx1bnJlYWRfY291bnQYAyABKAUSKwoJcGFnZV9pbmZvGAQgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgFIAMoCUIMCgpfcGFnZV9pbmZvIikKG01hcmtOb3RpZmljYXRpb25SZWFkUmVxdWVzdBIKCgJpZBgBIAEoCSIvChxNYXJrTm90aWZpY2F0aW9uUmVhZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiYQofTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBI1CgR0eXBlGAEgASgOMiIubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25UeXBlSACIAQFCBwoFX3R5cGUiMQogTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkUmVzcG9uc2USDQoFY291bnQYASABKAUiJwoZRGVsZXRlTm90aWZpY2F0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSItChpEZWxldGVOb3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhcKFUdldFVucmVhZENvdW50UmVxdWVzdCInChZHZXRVbnJlYWRDb3VudFJlc3BvbnNlEg0KBWNvdW50GAEgASgFIrABChdTZW5kQW5ub3VuY2VtZW50UmVxdWVzdBINCgV0aXRsZRgBIAEoCRIUCgdtZXNzYWdlGAIgASgJSACIAQESFwoKYWN0aW9uX3VybBgDIAEoCUgBiAEBEhgKC3RhcmdldF90eXBlGAQgASgJSAKIAQESEgoKdGFyZ2V0X2lkcxgFIAMoCUIKCghfbWVzc2FnZUINCgtfYWN0aW9uX3VybEIOCgxfdGFyZ2V0X3R5cGUiUAoYU2VuZEFubm91bmNlbWVudFJlc3BvbnNlEjQKDG5vdGlmaWNhdGlvbhgBIAEoCzIeLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uIpgBCh5MaXN0QW5ub3VuY2VtZW50SGlzdG9yeVJlcXVlc3QSEgoFYWZ0ZXIYASABKAlIAIgBARITCgZiZWZvcmUYAiABKAlIAYgBARISCgVmaXJzdBgDIAEoBUgCiAEBEhEKBGxhc3QYBCABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiswEKH0xpc3RBbm5vdW5jZW1lbnRIaXN0b3J5UmVzcG9uc2USNQoNYW5ub3VuY2VtZW50cxgBIAMoCzIeLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKBBAoUQ3VzdG9tZXJOb3RpZmljYXRpb24SCgoCaWQYASABKAkSEwoLY3VzdG9tZXJfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSFAoHbWVzc2FnZRgEIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAUgASgJSAGIAQESFwoKYWN0aW9uX3VybBgGIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEg8KB2lzX3JlYWQYCCABKAgSMAoHcmVhZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIWCglpbWFnZV91cmwYCiABKAlIBYgBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpleHBpcmVzX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQgoKCF9tZXNzYWdlQgsKCV9jYXRlZ29yeUINCgtfYWN0aW9uX3VybEILCglfbWV0YWRhdGFCCgoIX3JlYWRfYXRCDAoKX2ltYWdlX3VybEINCgtfZXhwaXJlc19hdCLRAQogTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Ir0BCiFMaXN0Q3VzdG9tZXJOb3RpZmljYXRpb25zUmVzcG9uc2USPQoNbm90aWZpY2F0aW9ucxgBIAMoCzImLm5vdGlmaWNhdGlvbnMudjEuQ3VzdG9tZXJOb3RpZmljYXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIoYFCh9TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEg0KBXRpdGxlGAIgASgJEhQKB21lc3NhZ2UYAyABKAlIAIgBARIVCghjYXRlZ29yeRgEIAEoCUgBiAEBEhcKCmFjdGlvbl91cmwYBSABKAlIAogBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIWCglpbWFnZV91cmwYByABKAlIBIgBARIzCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBElEKCGNoYW5uZWxzGAkgAygLMj8ubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0LkNoYW5uZWxzRW50cnkaSAoNQ2hhbm5lbHNFbnRyeRILCgNrZXkYASABKAkSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OgI4AUIKCghfbWVzc2FnZUILCglfY2F0ZWdvcnlCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgwKCl9pbWFnZV91cmxCDQoLX2V4cGlyZXNfYXRKBAgKEAtKBAgLEAxKBAgMEA1KBAgNEA5KBAgUEBVKBAgVEBZKBAgWEBdKBAgXEBhSCWRlZXBfbGlua1IFYmFkZ2VSCXRocmVhZF9pZFIJcHVzaF9kYXRhUg1lbWFpbF9zdWJqZWN0UgplbWFpbF9ib2R5Ug5lbWFpbF9yZXBseV90b1IKZW1haWxfY3RhcyJgCiBTZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRI8Cgxub3RpZmljYXRpb24YASABKAsyJi5ub3RpZmljYXRpb25zLnYxLkN1c3RvbWVyTm90aWZpY2F0aW9uIoAECiNTZW5kQnVsa0N1c3RvbWVyTm90aWZpY2F0aW9uUmVxdWVzdBIUCgxjdXN0b21lcl9pZHMYASADKAkSDQoFdGl0bGUYAiABKAkSFAoHbWVzc2FnZRgDIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAQgASgJSAGIAQESFwoKYWN0aW9uX3VybBgFIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhYKCWltYWdlX3VybBgHIAEoCUgEiAEBEjMKCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESVQoIY2hhbm5lbHMYCSADKAsyQy5ub3RpZmljYXRpb25zLnYxLlNlbmRCdWxrQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0LkNoYW5uZWxzRW50cnkaSAoNQ2hhbm5lbHNFbnRyeRILCgNrZXkYASABKAkSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OgI4AUIKCghfbWVzc2FnZUILCglfY2F0ZWdvcnlCDQoLX2FjdGlvbl91cmxCCwoJX21ldGFkYXRhQgwKCl9pbWFnZV91cmxCDQoLX2V4cGlyZXNfYXQiNQokU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIjEKI01hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXF1ZXN0EgoKAmlkGAEgASgJIjcKJE1hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlMKJ01hcmtBbGxDdXN0b21lck5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBIYCgtjdXN0b21lcl9pZBgBIAEoCUgAiAEBQg4KDF9jdXN0b21lcl9pZCI5CihNYXJrQWxsQ3VzdG9tZXJOb3RpZmljYXRpb25zUmVhZFJlc3BvbnNlEg0KBWNvdW50GAEgASgFItABCh9MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCK8AQogTGlzdFByb2plY3ROb3RpZmljYXRpb25zUmVzcG9uc2USPQoNbm90aWZpY2F0aW9ucxgBIAMoCzImLm5vdGlmaWNhdGlvbnMudjEuQ3VzdG9tZXJOb3RpZmljYXRpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIm8KFk5vdGlmaWNhdGlvblByZWZlcmVuY2USEAoIY2F0ZWdvcnkYASABKAkSFQoNZW1haWxfZW5hYmxlZBgCIAEoCBIUCgxwdXNoX2VuYWJsZWQYAyABKAgSFgoOaW5fYXBwX2VuYWJsZWQYBCABKAgiOAohR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJImMKIkdldE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUmVzcG9uc2USPQoLcHJlZmVyZW5jZXMYASADKAsyKC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblByZWZlcmVuY2Ui1gEKI1VwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhoKDWVtYWlsX2VuYWJsZWQYAyABKAhIAIgBARIZCgxwdXNoX2VuYWJsZWQYBCABKAhIAYgBARIbCg5pbl9hcHBfZW5hYmxlZBgFIAEoCEgCiAEBQhAKDl9lbWFpbF9lbmFibGVkQg8KDV9wdXNoX2VuYWJsZWRCEQoPX2luX2FwcF9lbmFibGVkIjcKJFVwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInwKGlJlZ2lzdGVyRGV2aWNlVG9rZW5SZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJEg0KBXRva2VuGAIgASgJEhAKCHBsYXRmb3JtGAMgASgJEhgKC2RldmljZV9uYW1lGAQgASgJSACIAQFCDgoMX2RldmljZV9uYW1lIi4KG1JlZ2lzdGVyRGV2aWNlVG9rZW5SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi0KHFVucmVnaXN0ZXJEZXZpY2VUb2tlblJlcXVlc3QSDQoFdG9rZW4YASABKAkiMAodVW5yZWdpc3RlckRldmljZVRva2VuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLIAwoOUHVzaENyZWRlbnRpYWwSCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghwbGF0Zm9ybRgDIAEoCRIWCglidW5kbGVfaWQYCiABKAlIAIgBARIZCgxhcG5zX3RlYW1faWQYCyABKAlIAYgBARIYCgthcG5zX2tleV9pZBgMIAEoCUgCiAEBEhwKD2FwbnNfcHJvZHVjdGlvbhgNIAEoCEgDiAEBEhsKDmZjbV9wcm9qZWN0X2lkGBQgASgJSASIAQESHQoQZmNtX2NsaWVudF9lbWFpbBgVIAEoCUgFiAEBEhIKCmhhc19zZWNyZXQYHiABKAgSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX2J1bmRsZV9pZEIPCg1fYXBuc190ZWFtX2lkQg4KDF9hcG5zX2tleV9pZEISChBfYXBuc19wcm9kdWN0aW9uQhEKD19mY21fcHJvamVjdF9pZEITChFfZmNtX2NsaWVudF9lbWFpbCLfAgobVXBsb2FkUHVzaENyZWRlbnRpYWxSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIcGxhdGZvcm0YAiABKAkSGAoLYXBuc19wOF9rZXkYCiABKAlIAIgBARIWCglidW5kbGVfaWQYCyABKAlIAYgBARIZCgxhcG5zX3RlYW1faWQYDCABKAlIAogBARIYCgthcG5zX2tleV9pZBgNIAEoCUgDiAEBEhwKD2FwbnNfcHJvZHVjdGlvbhgOIAEoCEgEiAEBEiUKGGZjbV9zZXJ2aWNlX2FjY291bnRfanNvbhgUIAEoCUgFiAEBQg4KDF9hcG5zX3A4X2tleUIMCgpfYnVuZGxlX2lkQg8KDV9hcG5zX3RlYW1faWRCDgoMX2FwbnNfa2V5X2lkQhIKEF9hcG5zX3Byb2R1Y3Rpb25CGwoZX2ZjbV9zZXJ2aWNlX2FjY291bnRfanNvbiJUChxVcGxvYWRQdXNoQ3JlZGVudGlhbFJlc3BvbnNlEjQKCmNyZWRlbnRpYWwYASABKAsyIC5ub3RpZmljYXRpb25zLnYxLlB1c2hDcmVkZW50aWFsIjAKGkxpc3RQdXNoQ3JlZGVudGlhbHNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkiVAobTGlzdFB1c2hDcmVkZW50aWFsc1Jlc3BvbnNlEjUKC2NyZWRlbnRpYWxzGAEgAygLMiAubm90aWZpY2F0aW9ucy52MS5QdXNoQ3JlZGVudGlhbCIpChtEZWxldGVQdXNoQ3JlZGVudGlhbFJlcXVlc3QSCgoCaWQYASABKAkiLwocRGVsZXRlUHVzaENyZWRlbnRpYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhkKF0dldFdlYlB1c2hDb25maWdSZXF1ZXN0IjQKGEdldFdlYlB1c2hDb25maWdSZXNwb25zZRIYChB2YXBpZF9wdWJsaWNfa2V5GAEgASgJKsgCChBOb3RpZmljYXRpb25UeXBlEiEKHU5PVElGSUNBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIwofTk9USUZJQ0FUSU9OX1RZUEVfSk9CX0NPTVBMRVRFRBABEiAKHE5PVElGSUNBVElPTl9UWVBFX0pPQl9GQUlMRUQQAhIiCh5OT1RJRklDQVRJT05fVFlQRV9KT0JfUFJPR1JFU1MQAxIdChlOT1RJRklDQVRJT05fVFlQRV9NRU5USU9OEAQSIAocTk9USUZJQ0FUSU9OX1RZUEVfTk9URV9SRVBMWRAFEiMKH05PVElGSUNBVElPTl9UWVBFX05PVEVfUkVTT0xWRUQQBhIcChhOT1RJRklDQVRJT05fVFlQRV9TWVNURU0QBxIiCh5OT1RJRklDQVRJT05fVFlQRV9BTk5PVU5DRU1FTlQQCCr1AQoWTm90aWZpY2F0aW9uU291cmNlVHlwZRIoCiROT1RJRklDQVRJT05fU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIjCh9OT1RJRklDQVRJT05fU09VUkNFX1RZUEVfUkVDT1JEEAESIgoeTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX01PREVMEAISIQodTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX05PVEUQAxIgChxOT1RJRklDQVRJT05fU09VUkNFX1RZUEVfSk9CEAQSIwofTk9USUZJQ0FUSU9OX1NPVVJDRV9UWVBFX1NZU1RFTRAFMuAUChROb3RpZmljYXRpb25zU2VydmljZRJsChFMaXN0Tm90aWZpY2F0aW9ucxIqLm5vdGlmaWNhdGlvbnMudjEuTGlzdE5vdGlmaWNhdGlvbnNSZXF1ZXN0Gisubm90aWZpY2F0aW9ucy52MS5MaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEmMKDkdldFVucmVhZENvdW50Eicubm90aWZpY2F0aW9ucy52MS5HZXRVbnJlYWRDb3VudFJlcXVlc3QaKC5ub3RpZmljYXRpb25zLnYxLkdldFVucmVhZENvdW50UmVzcG9uc2USdQoUTWFya05vdGlmaWNhdGlvblJlYWQSLS5ub3RpZmljYXRpb25zLnYxLk1hcmtOb3RpZmljYXRpb25SZWFkUmVxdWVzdBouLm5vdGlmaWNhdGlvbnMudjEuTWFya05vdGlmaWNhdGlvblJlYWRSZXNwb25zZRKBAQoYTWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkEjEubm90aWZpY2F0aW9ucy52MS5NYXJrQWxsTm90aWZpY2F0aW9uc1JlYWRSZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5NYXJrQWxsTm90aWZpY2F0aW9uc1JlYWRSZXNwb25zZRJvChJEZWxldGVOb3RpZmljYXRpb24SKy5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlcXVlc3QaLC5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlc3BvbnNlEmkKEFNlbmRBbm5vdW5jZW1lbnQSKS5ub3RpZmljYXRpb25zLnYxLlNlbmRBbm5vdW5jZW1lbnRSZXF1ZXN0Gioubm90aWZpY2F0aW9ucy52MS5TZW5kQW5ub3VuY2VtZW50UmVzcG9uc2USfgoXTGlzdEFubm91bmNlbWVudEhpc3RvcnkSMC5ub3RpZmljYXRpb25zLnYxLkxpc3RBbm5vdW5jZW1lbnRIaXN0b3J5UmVxdWVzdBoxLm5vdGlmaWNhdGlvbnMudjEuTGlzdEFubm91bmNlbWVudEhpc3RvcnlSZXNwb25zZRKEAQoZTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9ucxIyLm5vdGlmaWNhdGlvbnMudjEuTGlzdEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlcXVlc3QaMy5ub3RpZmljYXRpb25zLnYxLkxpc3RDdXN0b21lck5vdGlmaWNhdGlvbnNSZXNwb25zZRKBAQoYU2VuZEN1c3RvbWVyTm90aWZpY2F0aW9uEjEubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5TZW5kQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRKNAQocU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvbhI1Lm5vdGlmaWNhdGlvbnMudjEuU2VuZEJ1bGtDdXN0b21lck5vdGlmaWNhdGlvblJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLlNlbmRCdWxrQ3VzdG9tZXJOb3RpZmljYXRpb25SZXNwb25zZRKNAQocTWFya0N1c3RvbWVyTm90aWZpY2F0aW9uUmVhZBI1Lm5vdGlmaWNhdGlvbnMudjEuTWFya0N1c3RvbWVyTm90aWZpY2F0aW9uUmVhZFJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLk1hcmtDdXN0b21lck5vdGlmaWNhdGlvblJlYWRSZXNwb25zZRKZAQogTWFya0FsbEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlYWQSOS5ub3RpZmljYXRpb25zLnYxLk1hcmtBbGxDdXN0b21lck5vdGlmaWNhdGlvbnNSZWFkUmVxdWVzdBo6Lm5vdGlmaWNhdGlvbnMudjEuTWFya0FsbEN1c3RvbWVyTm90aWZpY2F0aW9uc1JlYWRSZXNwb25zZRKBAQoYTGlzdFByb2plY3ROb3RpZmljYXRpb25zEjEubm90aWZpY2F0aW9ucy52MS5MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXF1ZXN0GjIubm90aWZpY2F0aW9ucy52MS5MaXN0UHJvamVjdE5vdGlmaWNhdGlvbnNSZXNwb25zZRKHAQoaR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXMSMy5ub3RpZmljYXRpb25zLnYxLkdldE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUmVxdWVzdBo0Lm5vdGlmaWNhdGlvbnMudjEuR2V0Tm90aWZpY2F0aW9uUHJlZmVyZW5jZXNSZXNwb25zZRKNAQocVXBkYXRlTm90aWZpY2F0aW9uUHJlZmVyZW5jZRI1Lm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlTm90aWZpY2F0aW9uUHJlZmVyZW5jZVJlcXVlc3QaNi5ub3RpZmljYXRpb25zLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblByZWZlcmVuY2VSZXNwb25zZRJyChNSZWdpc3RlckRldmljZVRva2VuEiwubm90aWZpY2F0aW9ucy52MS5SZWdpc3RlckRldmljZVRva2VuUmVxdWVzdBotLm5vdGlmaWNhdGlvbnMudjEuUmVnaXN0ZXJEZXZpY2VUb2tlblJlc3BvbnNlEngKFVVucmVnaXN0ZXJEZXZpY2VUb2tlbhIuLm5vdGlmaWNhdGlvbnMudjEuVW5yZWdpc3RlckRldmljZVRva2VuUmVxdWVzdBovLm5vdGlmaWNhdGlvbnMudjEuVW5yZWdpc3RlckRldmljZVRva2VuUmVzcG9uc2USaQoQR2V0V2ViUHVzaENvbmZpZxIpLm5vdGlmaWNhdGlvbnMudjEuR2V0V2ViUHVzaENvbmZpZ1JlcXVlc3QaKi5ub3RpZmljYXRpb25zLnYxLkdldFdlYlB1c2hDb25maWdSZXNwb25zZRJ1ChRVcGxvYWRQdXNoQ3JlZGVudGlhbBItLm5vdGlmaWNhdGlvbnMudjEuVXBsb2FkUHVzaENyZWRlbnRpYWxSZXF1ZXN0Gi4ubm90aWZpY2F0aW9ucy52MS5VcGxvYWRQdXNoQ3JlZGVudGlhbFJlc3BvbnNlEnIKE0xpc3RQdXNoQ3JlZGVudGlhbHMSLC5ub3RpZmljYXRpb25zLnYxLkxpc3RQdXNoQ3JlZGVudGlhbHNSZXF1ZXN0Gi0ubm90aWZpY2F0aW9ucy52MS5MaXN0UHVzaENyZWRlbnRpYWxzUmVzcG9uc2USdQoURGVsZXRlUHVzaENyZWRlbnRpYWwSLS5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZVB1c2hDcmVkZW50aWFsUmVxdWVzdBouLm5vdGlmaWNhdGlvbnMudjEuRGVsZXRlUHVzaENyZWRlbnRpYWxSZXNwb25zZUJHWkVnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vbm90aWZpY2F0aW9ucy92MTtub3RpZmljYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct9, file_google_protobuf_timestamp10, file_common_v1_pagination]);
1094
+ var NotificationSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 0);
1095
+ var ListNotificationsRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 1);
1096
+ var MarkNotificationReadRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 3);
1097
+ var MarkAllNotificationsReadRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 5);
1098
+ var DeleteNotificationRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 7);
1099
+ var GetUnreadCountRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 9);
1100
+ var SendAnnouncementRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 11);
1101
+ var ListAnnouncementHistoryRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 13);
1102
+ var ListCustomerNotificationsRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 16);
1103
+ var SendCustomerNotificationRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 18);
1104
+ var SendBulkCustomerNotificationRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 20);
1105
+ var RegisterDeviceTokenRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 33);
1106
+ var UnregisterDeviceTokenRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 35);
1107
+ var PushCredentialSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 37);
1108
+ var UploadPushCredentialRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 38);
1109
+ var ListPushCredentialsRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 40);
1110
+ var DeletePushCredentialRequestSchema = /* @__PURE__ */ messageDesc14(file_notifications_v1_notifications, 42);
1105
1111
  var NotificationTypeSchema = /* @__PURE__ */ enumDesc9(file_notifications_v1_notifications, 0);
1106
1112
  var NotificationType = /* @__PURE__ */ tsEnum9(NotificationTypeSchema);
1107
- var NotificationsService = /* @__PURE__ */ serviceDesc11(file_notifications_v1_notifications, 0);
1113
+ var NotificationsService = /* @__PURE__ */ serviceDesc10(file_notifications_v1_notifications, 0);
1108
1114
 
1109
1115
  // ../../packages/proto-ts/src/schedules/v1/schedules_pb.js
1110
- import { fileDesc as fileDesc16, messageDesc as messageDesc16, serviceDesc as serviceDesc12 } from "@bufbuild/protobuf/codegenv2";
1111
- import { file_google_protobuf_struct as file_google_protobuf_struct11, file_google_protobuf_timestamp as file_google_protobuf_timestamp12 } from "@bufbuild/protobuf/wkt";
1112
- var file_schedules_v1_schedules = /* @__PURE__ */ fileDesc16("ChxzY2hlZHVsZXMvdjEvc2NoZWR1bGVzLnByb3RvEgxzY2hlZHVsZXMudjEixAYKDENyb25TY2hlZHVsZRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEgwKBGNyb24YBSABKAkSEAoIdGltZXpvbmUYBiABKAkSFQoNb3BlcmF0aW9uX2tleRgHIAEoCRIWCgljb25maWdfaWQYCSABKAlIAYgBARIRCglpc19hY3RpdmUYCiABKAgSMgoJcGF1c2VkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhYKCXBhdXNlZF9ieRgMIAEoCUgDiAEBEjQKC2xhc3RfcnVuX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEhwKD2xhc3RfcnVuX3N0YXR1cxgOIAEoCUgFiAEBEhsKDmxhc3RfcnVuX2Vycm9yGA8gASgJSAaIAQESNAoLbmV4dF9ydW5fYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESEQoJcnVuX2NvdW50GBEgASgFEhUKDWZhaWx1cmVfY291bnQYEiABKAUSHAoUY29uc2VjdXRpdmVfZmFpbHVyZXMYEyABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRg0IAEoCUgIiAEBEhcKCnVwZGF0ZWRfYnkYNSABKAlICYgBAUIOCgxfZGVzY3JpcHRpb25CDAoKX2NvbmZpZ19pZEIMCgpfcGF1c2VkX2F0QgwKCl9wYXVzZWRfYnlCDgoMX2xhc3RfcnVuX2F0QhIKEF9sYXN0X3J1bl9zdGF0dXNCEQoPX2xhc3RfcnVuX2Vycm9yQg4KDF9uZXh0X3J1bl9hdEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLJAQoYTGlzdENyb25TY2hlZHVsZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKlAQoZTGlzdENyb25TY2hlZHVsZXNSZXNwb25zZRItCglzY2hlZHVsZXMYASADKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIkChZHZXRDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIkcKF0dldENyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSIqChtHZXRDcm9uU2NoZWR1bGVCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIkwKHEdldENyb25TY2hlZHVsZUJ5S2V5UmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIs8BChlDcmVhdGVDcm9uU2NoZWR1bGVSZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDAoEY3JvbhgEIAEoCRIVCgh0aW1lem9uZRgFIAEoCUgBiAEBEhUKDW9wZXJhdGlvbl9rZXkYBiABKAkSFgoJY29uZmlnX2lkGAcgASgJSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQgsKCV90aW1lem9uZUIMCgpfY29uZmlnX2lkIkoKGkNyZWF0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSKBAgoZVXBkYXRlQ3JvblNjaGVkdWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIRCgRjcm9uGAQgASgJSAKIAQESFQoIdGltZXpvbmUYBSABKAlIA4gBARIaCg1vcGVyYXRpb25fa2V5GAYgASgJSASIAQESFgoJaXNfYWN0aXZlGAcgASgISAWIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgcKBV9jcm9uQgsKCV90aW1lem9uZUIQCg5fb3BlcmF0aW9uX2tleUIMCgpfaXNfYWN0aXZlIkoKGlVwZGF0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSInChlEZWxldGVDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIi0KGkRlbGV0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiJgoYUGF1c2VDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIkkKGVBhdXNlQ3JvblNjaGVkdWxlUmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIicKGVJlc3VtZUNyb25TY2hlZHVsZVJlcXVlc3QSCgoCaWQYASABKAkiSgoaUmVzdW1lQ3JvblNjaGVkdWxlUmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIigKGlRyaWdnZXJDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIksKG1RyaWdnZXJDcm9uU2NoZWR1bGVSZXNwb25zZRIsCghzY2hlZHVsZRgBIAEoCzIaLnNjaGVkdWxlcy52MS5Dcm9uU2NoZWR1bGUimggKDFB1Ymxpc2hCYXRjaBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESMAoMc2NoZWR1bGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzdGF0dXMYBSABKAkSEgoKaXRlbV9jb3VudBgGIAEoBRIXCg9jb21wbGV0ZWRfY291bnQYByABKAUSFAoMZmFpbGVkX2NvdW50GAggASgFEjMKCnN0YXJ0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY29tcGxldGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjMKDWVycm9yX3N1bW1hcnkYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESHQoQc2NoZWR1bGVkX2pvYl9pZBgMIAEoCUgEiAEBEh4KEXJvbGxiYWNrX2JhdGNoX2lkGA0gASgJSAWIAQESEwoLaXNfcm9sbGJhY2sYDiABKAgSHgoRb3JpZ2luYWxfYmF0Y2hfaWQYDyABKAlIBogBARIjChZkaXNwYXRjaF9mYWlsdXJlX2NvdW50GBAgASgFSAeIAQESKgodZGlzcGF0Y2hfY29uc2VjdXRpdmVfZmFpbHVyZXMYESABKAVICIgBARIgChNkaXNwYXRjaF9sYXN0X2Vycm9yGBIgASgJSAmIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgKiAEBEhkKDGNhbmNlbGxlZF9ieRgfIAEoCUgLiAEBEjUKDGNhbmNlbGxlZF9hdBggIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIDIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0ZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIQCg5fZXJyb3Jfc3VtbWFyeUITChFfc2NoZWR1bGVkX2pvYl9pZEIUChJfcm9sbGJhY2tfYmF0Y2hfaWRCFAoSX29yaWdpbmFsX2JhdGNoX2lkQhkKF19kaXNwYXRjaF9mYWlsdXJlX2NvdW50QiAKHl9kaXNwYXRjaF9jb25zZWN1dGl2ZV9mYWlsdXJlc0IWChRfZGlzcGF0Y2hfbGFzdF9lcnJvckINCgtfY3JlYXRlZF9ieUIPCg1fY2FuY2VsbGVkX2J5Qg8KDV9jYW5jZWxsZWRfYXQirgUKEFB1Ymxpc2hCYXRjaEl0ZW0SCgoCaWQYASABKAkSEAoIYmF0Y2hfaWQYAiABKAkSEgoKdmVyc2lvbl9pZBgDIAEoCRIOCgZzdGF0dXMYBCABKAkSGgoNZXJyb3JfbWVzc2FnZRgFIAEoCUgAiAEBEioKHXByZXZpb3VzX3B1Ymxpc2hlZF92ZXJzaW9uX2lkGAYgASgJSAGIAQESHAoPcm9sbGJhY2tfYWN0aW9uGAcgASgJSAKIAQESNQoMcHJvY2Vzc2VkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEhsKDnZlcnNpb25fbnVtYmVyGAkgASgFSASIAQESGQoMdmFyaWFudF9uYW1lGAogASgJSAWIAQESGAoLbmF0dXJhbF9rZXkYCyABKAlIBogBARIWCgltb2RlbF9rZXkYDCABKAlIB4gBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgt0YXJnZXRfa2luZBg8IAEoCRIVCghtb2RlbF9pZBg9IAEoCUgIiAEBEhcKCm1vZGVsX25hbWUYPiABKAlICYgBAUIQCg5fZXJyb3JfbWVzc2FnZUIgCh5fcHJldmlvdXNfcHVibGlzaGVkX3ZlcnNpb25faWRCEgoQX3JvbGxiYWNrX2FjdGlvbkIPCg1fcHJvY2Vzc2VkX2F0QhEKD192ZXJzaW9uX251bWJlckIPCg1fdmFyaWFudF9uYW1lQg4KDF9uYXR1cmFsX2tleUIMCgpfbW9kZWxfa2V5QgsKCV9tb2RlbF9pZEINCgtfbW9kZWxfbmFtZSLKAQoZTGlzdFB1Ymxpc2hCYXRjaGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QipAEKGkxpc3RQdWJsaXNoQmF0Y2hlc1Jlc3BvbnNlEisKB2JhdGNoZXMYASADKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIkChZHZXRQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJInMKF0dldFB1Ymxpc2hCYXRjaFJlc3BvbnNlEikKBWJhdGNoGAEgASgLMhouc2NoZWR1bGVzLnYxLlB1Ymxpc2hCYXRjaBItCgVpdGVtcxgCIAMoCzIeLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2hJdGVtIv4BChlDcmVhdGVQdWJsaXNoQmF0Y2hSZXF1ZXN0EgwKBG5hbWUYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIwCgxzY2hlZHVsZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhMKC3ZlcnNpb25faWRzGAQgAygJEhEKCW1vZGVsX2lkcxgFIAMoCRIVCg1vcGVyYXRpb25faWRzGAYgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgHIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgIIAMoCUIOCgxfZGVzY3JpcHRpb24iRwoaQ3JlYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIrUBChlVcGRhdGVQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEjUKDHNjaGVkdWxlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDwoNX3NjaGVkdWxlZF9hdCJHChpVcGRhdGVQdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2giJwoZRGVsZXRlUHVibGlzaEJhdGNoUmVxdWVzdBIKCgJpZBgBIAEoCSItChpEZWxldGVQdWJsaXNoQmF0Y2hSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIigKGlRyaWdnZXJQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJIkgKG1RyaWdnZXJQdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2giJgoYUGF1c2VQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJIkYKGVBhdXNlUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIicKGVJlc3VtZVB1Ymxpc2hCYXRjaFJlcXVlc3QSCgoCaWQYASABKAkiRwoaUmVzdW1lUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIi8KG1ByZXZpZXdSb2xsYmFja0JhdGNoUmVxdWVzdBIQCghiYXRjaF9pZBgBIAEoCSJcChxQcmV2aWV3Um9sbGJhY2tCYXRjaFJlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uc2NoZWR1bGVzLnYxLlB1Ymxpc2hCYXRjaEl0ZW0SDQoFdG90YWwYAiABKAUiLwobUm9sbGJhY2tQdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJIkkKHFJvbGxiYWNrUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIjAKHFJldHJ5RmFpbGVkQmF0Y2hJdGVtc1JlcXVlc3QSEAoIYmF0Y2hfaWQYASABKAkiYQodUmV0cnlGYWlsZWRCYXRjaEl0ZW1zUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoEhUKDXJldHJpZWRfY291bnQYAiABKAUiqgEKHUFkZEl0ZW1zVG9QdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJEhMKC3ZlcnNpb25faWRzGAIgAygJEhEKCW1vZGVsX2lkcxgDIAMoCRIVCg1vcGVyYXRpb25faWRzGAQgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgFIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgGIAMoCSJLCh5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIq8BCiJSZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJEhMKC3ZlcnNpb25faWRzGAIgAygJEhEKCW1vZGVsX2lkcxgDIAMoCRIVCg1vcGVyYXRpb25faWRzGAQgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgFIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgGIAMoCSJQCiNSZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2gyxhIKEFNjaGVkdWxlc1NlcnZpY2USZAoRTGlzdENyb25TY2hlZHVsZXMSJi5zY2hlZHVsZXMudjEuTGlzdENyb25TY2hlZHVsZXNSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLkxpc3RDcm9uU2NoZWR1bGVzUmVzcG9uc2USXgoPR2V0Q3JvblNjaGVkdWxlEiQuc2NoZWR1bGVzLnYxLkdldENyb25TY2hlZHVsZVJlcXVlc3QaJS5zY2hlZHVsZXMudjEuR2V0Q3JvblNjaGVkdWxlUmVzcG9uc2USbQoUR2V0Q3JvblNjaGVkdWxlQnlLZXkSKS5zY2hlZHVsZXMudjEuR2V0Q3JvblNjaGVkdWxlQnlLZXlSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLkdldENyb25TY2hlZHVsZUJ5S2V5UmVzcG9uc2USZwoSQ3JlYXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLkNyZWF0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuQ3JlYXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSVXBkYXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLlVwZGF0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuVXBkYXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSRGVsZXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLkRlbGV0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuRGVsZXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZAoRUGF1c2VDcm9uU2NoZWR1bGUSJi5zY2hlZHVsZXMudjEuUGF1c2VDcm9uU2NoZWR1bGVSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLlBhdXNlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSUmVzdW1lQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLlJlc3VtZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuUmVzdW1lQ3JvblNjaGVkdWxlUmVzcG9uc2USagoTVHJpZ2dlckNyb25TY2hlZHVsZRIoLnNjaGVkdWxlcy52MS5UcmlnZ2VyQ3JvblNjaGVkdWxlUmVxdWVzdBopLnNjaGVkdWxlcy52MS5UcmlnZ2VyQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSTGlzdFB1Ymxpc2hCYXRjaGVzEicuc2NoZWR1bGVzLnYxLkxpc3RQdWJsaXNoQmF0Y2hlc1JlcXVlc3QaKC5zY2hlZHVsZXMudjEuTGlzdFB1Ymxpc2hCYXRjaGVzUmVzcG9uc2USXgoPR2V0UHVibGlzaEJhdGNoEiQuc2NoZWR1bGVzLnYxLkdldFB1Ymxpc2hCYXRjaFJlcXVlc3QaJS5zY2hlZHVsZXMudjEuR2V0UHVibGlzaEJhdGNoUmVzcG9uc2USZwoSQ3JlYXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLkNyZWF0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuQ3JlYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSVXBkYXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLlVwZGF0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuVXBkYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSRGVsZXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLkRlbGV0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuRGVsZXRlUHVibGlzaEJhdGNoUmVzcG9uc2USagoTVHJpZ2dlclB1Ymxpc2hCYXRjaBIoLnNjaGVkdWxlcy52MS5UcmlnZ2VyUHVibGlzaEJhdGNoUmVxdWVzdBopLnNjaGVkdWxlcy52MS5UcmlnZ2VyUHVibGlzaEJhdGNoUmVzcG9uc2USZAoRUGF1c2VQdWJsaXNoQmF0Y2gSJi5zY2hlZHVsZXMudjEuUGF1c2VQdWJsaXNoQmF0Y2hSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLlBhdXNlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSUmVzdW1lUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLlJlc3VtZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuUmVzdW1lUHVibGlzaEJhdGNoUmVzcG9uc2USbQoUUHJldmlld1JvbGxiYWNrQmF0Y2gSKS5zY2hlZHVsZXMudjEuUHJldmlld1JvbGxiYWNrQmF0Y2hSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLlByZXZpZXdSb2xsYmFja0JhdGNoUmVzcG9uc2USbQoUUm9sbGJhY2tQdWJsaXNoQmF0Y2gSKS5zY2hlZHVsZXMudjEuUm9sbGJhY2tQdWJsaXNoQmF0Y2hSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLlJvbGxiYWNrUHVibGlzaEJhdGNoUmVzcG9uc2UScAoVUmV0cnlGYWlsZWRCYXRjaEl0ZW1zEiouc2NoZWR1bGVzLnYxLlJldHJ5RmFpbGVkQmF0Y2hJdGVtc1JlcXVlc3QaKy5zY2hlZHVsZXMudjEuUmV0cnlGYWlsZWRCYXRjaEl0ZW1zUmVzcG9uc2UScwoWQWRkSXRlbXNUb1B1Ymxpc2hCYXRjaBIrLnNjaGVkdWxlcy52MS5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVxdWVzdBosLnNjaGVkdWxlcy52MS5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVzcG9uc2USggEKG1JlbW92ZUl0ZW1zRnJvbVB1Ymxpc2hCYXRjaBIwLnNjaGVkdWxlcy52MS5SZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXF1ZXN0GjEuc2NoZWR1bGVzLnYxLlJlbW92ZUl0ZW1zRnJvbVB1Ymxpc2hCYXRjaFJlc3BvbnNlQj9aPWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9zY2hlZHVsZXMvdjE7c2NoZWR1bGVzdjFiBnByb3RvMw", [file_google_protobuf_struct11, file_google_protobuf_timestamp12, file_common_v1_pagination]);
1113
- var CronScheduleSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 0);
1114
- var ListCronSchedulesRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 1);
1115
- var GetCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 3);
1116
- var GetCronScheduleByKeyRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 5);
1117
- var CreateCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 7);
1118
- var UpdateCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 9);
1119
- var DeleteCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 11);
1120
- var PauseCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 13);
1121
- var ResumeCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 15);
1122
- var TriggerCronScheduleRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 17);
1123
- var PublishBatchSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 19);
1124
- var ListPublishBatchesRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 21);
1125
- var GetPublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 23);
1126
- var CreatePublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 25);
1127
- var UpdatePublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 27);
1128
- var DeletePublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 29);
1129
- var TriggerPublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 31);
1130
- var PausePublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 33);
1131
- var ResumePublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 35);
1132
- var PreviewRollbackBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 37);
1133
- var RollbackPublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 39);
1134
- var RetryFailedBatchItemsRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 41);
1135
- var AddItemsToPublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 43);
1136
- var RemoveItemsFromPublishBatchRequestSchema = /* @__PURE__ */ messageDesc16(file_schedules_v1_schedules, 45);
1137
- var SchedulesService = /* @__PURE__ */ serviceDesc12(file_schedules_v1_schedules, 0);
1116
+ import { fileDesc as fileDesc15, messageDesc as messageDesc15, serviceDesc as serviceDesc11 } from "@bufbuild/protobuf/codegenv2";
1117
+ import { file_google_protobuf_struct as file_google_protobuf_struct10, file_google_protobuf_timestamp as file_google_protobuf_timestamp11 } from "@bufbuild/protobuf/wkt";
1118
+ var file_schedules_v1_schedules = /* @__PURE__ */ fileDesc15("ChxzY2hlZHVsZXMvdjEvc2NoZWR1bGVzLnByb3RvEgxzY2hlZHVsZXMudjEixAYKDENyb25TY2hlZHVsZRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEgwKBGNyb24YBSABKAkSEAoIdGltZXpvbmUYBiABKAkSFQoNb3BlcmF0aW9uX2tleRgHIAEoCRIWCgljb25maWdfaWQYCSABKAlIAYgBARIRCglpc19hY3RpdmUYCiABKAgSMgoJcGF1c2VkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhYKCXBhdXNlZF9ieRgMIAEoCUgDiAEBEjQKC2xhc3RfcnVuX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEhwKD2xhc3RfcnVuX3N0YXR1cxgOIAEoCUgFiAEBEhsKDmxhc3RfcnVuX2Vycm9yGA8gASgJSAaIAQESNAoLbmV4dF9ydW5fYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESEQoJcnVuX2NvdW50GBEgASgFEhUKDWZhaWx1cmVfY291bnQYEiABKAUSHAoUY29uc2VjdXRpdmVfZmFpbHVyZXMYEyABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRg0IAEoCUgIiAEBEhcKCnVwZGF0ZWRfYnkYNSABKAlICYgBAUIOCgxfZGVzY3JpcHRpb25CDAoKX2NvbmZpZ19pZEIMCgpfcGF1c2VkX2F0QgwKCl9wYXVzZWRfYnlCDgoMX2xhc3RfcnVuX2F0QhIKEF9sYXN0X3J1bl9zdGF0dXNCEQoPX2xhc3RfcnVuX2Vycm9yQg4KDF9uZXh0X3J1bl9hdEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLJAQoYTGlzdENyb25TY2hlZHVsZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKlAQoZTGlzdENyb25TY2hlZHVsZXNSZXNwb25zZRItCglzY2hlZHVsZXMYASADKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIkChZHZXRDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIkcKF0dldENyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSIqChtHZXRDcm9uU2NoZWR1bGVCeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIkwKHEdldENyb25TY2hlZHVsZUJ5S2V5UmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIs8BChlDcmVhdGVDcm9uU2NoZWR1bGVSZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDAoEY3JvbhgEIAEoCRIVCgh0aW1lem9uZRgFIAEoCUgBiAEBEhUKDW9wZXJhdGlvbl9rZXkYBiABKAkSFgoJY29uZmlnX2lkGAcgASgJSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQgsKCV90aW1lem9uZUIMCgpfY29uZmlnX2lkIkoKGkNyZWF0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSKBAgoZVXBkYXRlQ3JvblNjaGVkdWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIRCgRjcm9uGAQgASgJSAKIAQESFQoIdGltZXpvbmUYBSABKAlIA4gBARIaCg1vcGVyYXRpb25fa2V5GAYgASgJSASIAQESFgoJaXNfYWN0aXZlGAcgASgISAWIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgcKBV9jcm9uQgsKCV90aW1lem9uZUIQCg5fb3BlcmF0aW9uX2tleUIMCgpfaXNfYWN0aXZlIkoKGlVwZGF0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEiwKCHNjaGVkdWxlGAEgASgLMhouc2NoZWR1bGVzLnYxLkNyb25TY2hlZHVsZSInChlEZWxldGVDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIi0KGkRlbGV0ZUNyb25TY2hlZHVsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiJgoYUGF1c2VDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIkkKGVBhdXNlQ3JvblNjaGVkdWxlUmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIicKGVJlc3VtZUNyb25TY2hlZHVsZVJlcXVlc3QSCgoCaWQYASABKAkiSgoaUmVzdW1lQ3JvblNjaGVkdWxlUmVzcG9uc2USLAoIc2NoZWR1bGUYASABKAsyGi5zY2hlZHVsZXMudjEuQ3JvblNjaGVkdWxlIigKGlRyaWdnZXJDcm9uU2NoZWR1bGVSZXF1ZXN0EgoKAmlkGAEgASgJIksKG1RyaWdnZXJDcm9uU2NoZWR1bGVSZXNwb25zZRIsCghzY2hlZHVsZRgBIAEoCzIaLnNjaGVkdWxlcy52MS5Dcm9uU2NoZWR1bGUimggKDFB1Ymxpc2hCYXRjaBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESMAoMc2NoZWR1bGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzdGF0dXMYBSABKAkSEgoKaXRlbV9jb3VudBgGIAEoBRIXCg9jb21wbGV0ZWRfY291bnQYByABKAUSFAoMZmFpbGVkX2NvdW50GAggASgFEjMKCnN0YXJ0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY29tcGxldGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjMKDWVycm9yX3N1bW1hcnkYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESHQoQc2NoZWR1bGVkX2pvYl9pZBgMIAEoCUgEiAEBEh4KEXJvbGxiYWNrX2JhdGNoX2lkGA0gASgJSAWIAQESEwoLaXNfcm9sbGJhY2sYDiABKAgSHgoRb3JpZ2luYWxfYmF0Y2hfaWQYDyABKAlIBogBARIjChZkaXNwYXRjaF9mYWlsdXJlX2NvdW50GBAgASgFSAeIAQESKgodZGlzcGF0Y2hfY29uc2VjdXRpdmVfZmFpbHVyZXMYESABKAVICIgBARIgChNkaXNwYXRjaF9sYXN0X2Vycm9yGBIgASgJSAmIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgKiAEBEhkKDGNhbmNlbGxlZF9ieRgfIAEoCUgLiAEBEjUKDGNhbmNlbGxlZF9hdBggIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIDIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0ZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIQCg5fZXJyb3Jfc3VtbWFyeUITChFfc2NoZWR1bGVkX2pvYl9pZEIUChJfcm9sbGJhY2tfYmF0Y2hfaWRCFAoSX29yaWdpbmFsX2JhdGNoX2lkQhkKF19kaXNwYXRjaF9mYWlsdXJlX2NvdW50QiAKHl9kaXNwYXRjaF9jb25zZWN1dGl2ZV9mYWlsdXJlc0IWChRfZGlzcGF0Y2hfbGFzdF9lcnJvckINCgtfY3JlYXRlZF9ieUIPCg1fY2FuY2VsbGVkX2J5Qg8KDV9jYW5jZWxsZWRfYXQirgUKEFB1Ymxpc2hCYXRjaEl0ZW0SCgoCaWQYASABKAkSEAoIYmF0Y2hfaWQYAiABKAkSEgoKdmVyc2lvbl9pZBgDIAEoCRIOCgZzdGF0dXMYBCABKAkSGgoNZXJyb3JfbWVzc2FnZRgFIAEoCUgAiAEBEioKHXByZXZpb3VzX3B1Ymxpc2hlZF92ZXJzaW9uX2lkGAYgASgJSAGIAQESHAoPcm9sbGJhY2tfYWN0aW9uGAcgASgJSAKIAQESNQoMcHJvY2Vzc2VkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEhsKDnZlcnNpb25fbnVtYmVyGAkgASgFSASIAQESGQoMdmFyaWFudF9uYW1lGAogASgJSAWIAQESGAoLbmF0dXJhbF9rZXkYCyABKAlIBogBARIWCgltb2RlbF9rZXkYDCABKAlIB4gBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgt0YXJnZXRfa2luZBg8IAEoCRIVCghtb2RlbF9pZBg9IAEoCUgIiAEBEhcKCm1vZGVsX25hbWUYPiABKAlICYgBAUIQCg5fZXJyb3JfbWVzc2FnZUIgCh5fcHJldmlvdXNfcHVibGlzaGVkX3ZlcnNpb25faWRCEgoQX3JvbGxiYWNrX2FjdGlvbkIPCg1fcHJvY2Vzc2VkX2F0QhEKD192ZXJzaW9uX251bWJlckIPCg1fdmFyaWFudF9uYW1lQg4KDF9uYXR1cmFsX2tleUIMCgpfbW9kZWxfa2V5QgsKCV9tb2RlbF9pZEINCgtfbW9kZWxfbmFtZSLKAQoZTGlzdFB1Ymxpc2hCYXRjaGVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QipAEKGkxpc3RQdWJsaXNoQmF0Y2hlc1Jlc3BvbnNlEisKB2JhdGNoZXMYASADKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIkChZHZXRQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJInMKF0dldFB1Ymxpc2hCYXRjaFJlc3BvbnNlEikKBWJhdGNoGAEgASgLMhouc2NoZWR1bGVzLnYxLlB1Ymxpc2hCYXRjaBItCgVpdGVtcxgCIAMoCzIeLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2hJdGVtIv4BChlDcmVhdGVQdWJsaXNoQmF0Y2hSZXF1ZXN0EgwKBG5hbWUYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIwCgxzY2hlZHVsZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhMKC3ZlcnNpb25faWRzGAQgAygJEhEKCW1vZGVsX2lkcxgFIAMoCRIVCg1vcGVyYXRpb25faWRzGAYgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgHIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgIIAMoCUIOCgxfZGVzY3JpcHRpb24iRwoaQ3JlYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIrUBChlVcGRhdGVQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEjUKDHNjaGVkdWxlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDwoNX3NjaGVkdWxlZF9hdCJHChpVcGRhdGVQdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2giJwoZRGVsZXRlUHVibGlzaEJhdGNoUmVxdWVzdBIKCgJpZBgBIAEoCSItChpEZWxldGVQdWJsaXNoQmF0Y2hSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIigKGlRyaWdnZXJQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJIkgKG1RyaWdnZXJQdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2giJgoYUGF1c2VQdWJsaXNoQmF0Y2hSZXF1ZXN0EgoKAmlkGAEgASgJIkYKGVBhdXNlUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIicKGVJlc3VtZVB1Ymxpc2hCYXRjaFJlcXVlc3QSCgoCaWQYASABKAkiRwoaUmVzdW1lUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIi8KG1ByZXZpZXdSb2xsYmFja0JhdGNoUmVxdWVzdBIQCghiYXRjaF9pZBgBIAEoCSJcChxQcmV2aWV3Um9sbGJhY2tCYXRjaFJlc3BvbnNlEi0KBWl0ZW1zGAEgAygLMh4uc2NoZWR1bGVzLnYxLlB1Ymxpc2hCYXRjaEl0ZW0SDQoFdG90YWwYAiABKAUiLwobUm9sbGJhY2tQdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJIkkKHFJvbGxiYWNrUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIjAKHFJldHJ5RmFpbGVkQmF0Y2hJdGVtc1JlcXVlc3QSEAoIYmF0Y2hfaWQYASABKAkiYQodUmV0cnlGYWlsZWRCYXRjaEl0ZW1zUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoEhUKDXJldHJpZWRfY291bnQYAiABKAUiqgEKHUFkZEl0ZW1zVG9QdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJEhMKC3ZlcnNpb25faWRzGAIgAygJEhEKCW1vZGVsX2lkcxgDIAMoCRIVCg1vcGVyYXRpb25faWRzGAQgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgFIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgGIAMoCSJLCh5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVzcG9uc2USKQoFYmF0Y2gYASABKAsyGi5zY2hlZHVsZXMudjEuUHVibGlzaEJhdGNoIq8BCiJSZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXF1ZXN0EhAKCGJhdGNoX2lkGAEgASgJEhMKC3ZlcnNpb25faWRzGAIgAygJEhEKCW1vZGVsX2lkcxgDIAMoCRIVCg1vcGVyYXRpb25faWRzGAQgAygJEh0KFWNvbnRleHRfZGltZW5zaW9uX2lkcxgFIAMoCRIZChFhdXRoX3Byb3ZpZGVyX2lkcxgGIAMoCSJQCiNSZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXNwb25zZRIpCgViYXRjaBgBIAEoCzIaLnNjaGVkdWxlcy52MS5QdWJsaXNoQmF0Y2gyxhIKEFNjaGVkdWxlc1NlcnZpY2USZAoRTGlzdENyb25TY2hlZHVsZXMSJi5zY2hlZHVsZXMudjEuTGlzdENyb25TY2hlZHVsZXNSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLkxpc3RDcm9uU2NoZWR1bGVzUmVzcG9uc2USXgoPR2V0Q3JvblNjaGVkdWxlEiQuc2NoZWR1bGVzLnYxLkdldENyb25TY2hlZHVsZVJlcXVlc3QaJS5zY2hlZHVsZXMudjEuR2V0Q3JvblNjaGVkdWxlUmVzcG9uc2USbQoUR2V0Q3JvblNjaGVkdWxlQnlLZXkSKS5zY2hlZHVsZXMudjEuR2V0Q3JvblNjaGVkdWxlQnlLZXlSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLkdldENyb25TY2hlZHVsZUJ5S2V5UmVzcG9uc2USZwoSQ3JlYXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLkNyZWF0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuQ3JlYXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSVXBkYXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLlVwZGF0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuVXBkYXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSRGVsZXRlQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLkRlbGV0ZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuRGVsZXRlQ3JvblNjaGVkdWxlUmVzcG9uc2USZAoRUGF1c2VDcm9uU2NoZWR1bGUSJi5zY2hlZHVsZXMudjEuUGF1c2VDcm9uU2NoZWR1bGVSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLlBhdXNlQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSUmVzdW1lQ3JvblNjaGVkdWxlEicuc2NoZWR1bGVzLnYxLlJlc3VtZUNyb25TY2hlZHVsZVJlcXVlc3QaKC5zY2hlZHVsZXMudjEuUmVzdW1lQ3JvblNjaGVkdWxlUmVzcG9uc2USagoTVHJpZ2dlckNyb25TY2hlZHVsZRIoLnNjaGVkdWxlcy52MS5UcmlnZ2VyQ3JvblNjaGVkdWxlUmVxdWVzdBopLnNjaGVkdWxlcy52MS5UcmlnZ2VyQ3JvblNjaGVkdWxlUmVzcG9uc2USZwoSTGlzdFB1Ymxpc2hCYXRjaGVzEicuc2NoZWR1bGVzLnYxLkxpc3RQdWJsaXNoQmF0Y2hlc1JlcXVlc3QaKC5zY2hlZHVsZXMudjEuTGlzdFB1Ymxpc2hCYXRjaGVzUmVzcG9uc2USXgoPR2V0UHVibGlzaEJhdGNoEiQuc2NoZWR1bGVzLnYxLkdldFB1Ymxpc2hCYXRjaFJlcXVlc3QaJS5zY2hlZHVsZXMudjEuR2V0UHVibGlzaEJhdGNoUmVzcG9uc2USZwoSQ3JlYXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLkNyZWF0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuQ3JlYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSVXBkYXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLlVwZGF0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuVXBkYXRlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSRGVsZXRlUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLkRlbGV0ZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuRGVsZXRlUHVibGlzaEJhdGNoUmVzcG9uc2USagoTVHJpZ2dlclB1Ymxpc2hCYXRjaBIoLnNjaGVkdWxlcy52MS5UcmlnZ2VyUHVibGlzaEJhdGNoUmVxdWVzdBopLnNjaGVkdWxlcy52MS5UcmlnZ2VyUHVibGlzaEJhdGNoUmVzcG9uc2USZAoRUGF1c2VQdWJsaXNoQmF0Y2gSJi5zY2hlZHVsZXMudjEuUGF1c2VQdWJsaXNoQmF0Y2hSZXF1ZXN0Gicuc2NoZWR1bGVzLnYxLlBhdXNlUHVibGlzaEJhdGNoUmVzcG9uc2USZwoSUmVzdW1lUHVibGlzaEJhdGNoEicuc2NoZWR1bGVzLnYxLlJlc3VtZVB1Ymxpc2hCYXRjaFJlcXVlc3QaKC5zY2hlZHVsZXMudjEuUmVzdW1lUHVibGlzaEJhdGNoUmVzcG9uc2USbQoUUHJldmlld1JvbGxiYWNrQmF0Y2gSKS5zY2hlZHVsZXMudjEuUHJldmlld1JvbGxiYWNrQmF0Y2hSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLlByZXZpZXdSb2xsYmFja0JhdGNoUmVzcG9uc2USbQoUUm9sbGJhY2tQdWJsaXNoQmF0Y2gSKS5zY2hlZHVsZXMudjEuUm9sbGJhY2tQdWJsaXNoQmF0Y2hSZXF1ZXN0Giouc2NoZWR1bGVzLnYxLlJvbGxiYWNrUHVibGlzaEJhdGNoUmVzcG9uc2UScAoVUmV0cnlGYWlsZWRCYXRjaEl0ZW1zEiouc2NoZWR1bGVzLnYxLlJldHJ5RmFpbGVkQmF0Y2hJdGVtc1JlcXVlc3QaKy5zY2hlZHVsZXMudjEuUmV0cnlGYWlsZWRCYXRjaEl0ZW1zUmVzcG9uc2UScwoWQWRkSXRlbXNUb1B1Ymxpc2hCYXRjaBIrLnNjaGVkdWxlcy52MS5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVxdWVzdBosLnNjaGVkdWxlcy52MS5BZGRJdGVtc1RvUHVibGlzaEJhdGNoUmVzcG9uc2USggEKG1JlbW92ZUl0ZW1zRnJvbVB1Ymxpc2hCYXRjaBIwLnNjaGVkdWxlcy52MS5SZW1vdmVJdGVtc0Zyb21QdWJsaXNoQmF0Y2hSZXF1ZXN0GjEuc2NoZWR1bGVzLnYxLlJlbW92ZUl0ZW1zRnJvbVB1Ymxpc2hCYXRjaFJlc3BvbnNlQj9aPWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9zY2hlZHVsZXMvdjE7c2NoZWR1bGVzdjFiBnByb3RvMw", [file_google_protobuf_struct10, file_google_protobuf_timestamp11, file_common_v1_pagination]);
1119
+ var CronScheduleSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 0);
1120
+ var ListCronSchedulesRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 1);
1121
+ var GetCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 3);
1122
+ var GetCronScheduleByKeyRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 5);
1123
+ var CreateCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 7);
1124
+ var UpdateCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 9);
1125
+ var DeleteCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 11);
1126
+ var PauseCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 13);
1127
+ var ResumeCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 15);
1128
+ var TriggerCronScheduleRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 17);
1129
+ var PublishBatchSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 19);
1130
+ var ListPublishBatchesRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 21);
1131
+ var GetPublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 23);
1132
+ var CreatePublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 25);
1133
+ var UpdatePublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 27);
1134
+ var DeletePublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 29);
1135
+ var TriggerPublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 31);
1136
+ var PausePublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 33);
1137
+ var ResumePublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 35);
1138
+ var PreviewRollbackBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 37);
1139
+ var RollbackPublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 39);
1140
+ var RetryFailedBatchItemsRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 41);
1141
+ var AddItemsToPublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 43);
1142
+ var RemoveItemsFromPublishBatchRequestSchema = /* @__PURE__ */ messageDesc15(file_schedules_v1_schedules, 45);
1143
+ var SchedulesService = /* @__PURE__ */ serviceDesc11(file_schedules_v1_schedules, 0);
1138
1144
 
1139
1145
  // ../../packages/proto-ts/src/apps/v1/apps_service_pb.js
1140
- import { enumDesc as enumDesc12, fileDesc as fileDesc19, messageDesc as messageDesc19, serviceDesc as serviceDesc13, tsEnum as tsEnum12 } from "@bufbuild/protobuf/codegenv2";
1146
+ import { enumDesc as enumDesc12, fileDesc as fileDesc18, messageDesc as messageDesc18, serviceDesc as serviceDesc12, tsEnum as tsEnum12 } from "@bufbuild/protobuf/codegenv2";
1141
1147
 
1142
1148
  // ../../packages/proto-ts/src/apps/v1/apps_pb.js
1143
- import { enumDesc as enumDesc11, fileDesc as fileDesc18, messageDesc as messageDesc18, tsEnum as tsEnum11 } from "@bufbuild/protobuf/codegenv2";
1149
+ import { enumDesc as enumDesc11, fileDesc as fileDesc17, messageDesc as messageDesc17, tsEnum as tsEnum11 } from "@bufbuild/protobuf/codegenv2";
1144
1150
 
1145
1151
  // ../../packages/proto-ts/src/buf/validate/validate_pb.js
1146
- import { enumDesc as enumDesc10, extDesc, fileDesc as fileDesc17, messageDesc as messageDesc17, tsEnum as tsEnum10 } from "@bufbuild/protobuf/codegenv2";
1147
- import { file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_field_mask, file_google_protobuf_timestamp as file_google_protobuf_timestamp13 } from "@bufbuild/protobuf/wkt";
1148
- var file_buf_validate_validate = /* @__PURE__ */ fileDesc17("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSL4FgoKRmxvYXRSdWxlcxJ9CgVjb25zdBgBIAEoAkJuwkhrCmkKC2Zsb2F0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSmQEKAmx0GAIgASgCQooBwkiGAQqDAQoIZmxvYXQubHQadyFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASqQEKA2x0ZRgDIAEoAkKZAcJIlQEKkgEKCWZsb2F0Lmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtAHCgJndBgEIAEoAkLBB8JIvQcKhgEKCGZsb2F0Lmd0GnohaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq9AQoLZmxvYXQuZ3RfbHQarQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrHAQoVZmxvYXQuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKDGZsb2F0Lmd0X2x0ZRq8AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCtcBChZmbG9hdC5ndF9sdGVfZXhjbHVzaXZlGrwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARKcCAoDZ3RlGAUgASgCQowIwkiICAqVAQoJZmxvYXQuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCswBCgxmbG9hdC5ndGVfbHQauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtYBChZmbG9hdC5ndGVfbHRfZXhjbHVzaXZlGrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoNZmxvYXQuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5gEKF2Zsb2F0Lmd0ZV9sdGVfZXhjbHVzaXZlGsoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygCQm3CSGoKaAoIZmxvYXQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoAkJgwkhdClsKDGZsb2F0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEm8KBmZpbml0ZRgIIAEoCEJfwkhcCloKDGZsb2F0LmZpbml0ZRpKcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAnbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIooXCgtEb3VibGVSdWxlcxJ+CgVjb25zdBgBIAEoAUJvwkhsCmoKDGRvdWJsZS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEpoBCgJsdBgCIAEoAUKLAcJIhwEKhAEKCWRvdWJsZS5sdBp3IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKqAQoDbHRlGAMgASgBQpoBwkiWAQqTAQoKZG91YmxlLmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtUHCgJndBgEIAEoAULGB8JIwgcKhwEKCWRvdWJsZS5ndBp6IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKvgEKDGRvdWJsZS5ndF9sdBqtAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsgBChZkb3VibGUuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKDWRvdWJsZS5ndF9sdGUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrYAQoXZG91YmxlLmd0X2x0ZV9leGNsdXNpdmUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEqEICgNndGUYBSABKAFCkQjCSI0ICpYBCgpkb3VibGUuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCs0BCg1kb3VibGUuZ3RlX2x0GrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrXAQoXZG91YmxlLmd0ZV9sdF9leGNsdXNpdmUauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BCg5kb3VibGUuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5wEKGGRvdWJsZS5ndGVfbHRlX2V4Y2x1c2l2ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoAUJuwkhrCmkKCWRvdWJsZS5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygBQmHCSF4KXAoNZG91YmxlLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnAKBmZpbml0ZRgIIAEoCEJgwkhdClsKDWRvdWJsZS5maW5pdGUaSnJ1bGVzLmZpbml0ZSA/ICh0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ211c3QgYmUgZmluaXRlJyA6ICcnKSA6ICcnEiwKB2V4YW1wbGUYCSADKAFCG8JIGAoWCg5kb3VibGUuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4isBQKCkludDMyUnVsZXMSfQoFY29uc3QYASABKAVCbsJIawppCgtpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoQBCgJsdBgCIAEoBUJ2wkhzCnEKCGludDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpUBCgNsdGUYAyABKAVChQHCSIEBCn8KCWludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS+QYKAmd0GAQgASgFQuoGwkjmBgp0CghpbnQzMi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrQEKC2ludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq1AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKDGludDMyLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxQEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsUHCgNndGUYBSABKAVCtQfCSLEHCoIBCglpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq8AQoMaW50MzIuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsQBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoNaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrUAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESeQoCaW4YBiADKAVCbcJIagpoCghpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScAoGbm90X2luGAcgAygFQmDCSF0KWwoMaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgIIAMoBUIawkgXChUKDWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIrAUCgpJbnQ2NFJ1bGVzEn0KBWNvbnN0GAEgASgDQm7CSGsKaQoLaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKEAQoCbHQYAiABKANCdsJIcwpxCghpbnQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKVAQoDbHRlGAMgASgDQoUBwkiBAQp/CglpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvkGCgJndBgEIAEoA0LqBsJI5gYKdAoIaW50NjQuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq0BCgtpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtQEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BCgxpbnQ2NC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsUBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLFBwoDZ3RlGAUgASgDQrUHwkixBwqCAQoJaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvAEKDGludDY0Lmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrEAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKDWludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1AEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygDQm3CSGoKaAoIaW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoA0JgwkhdClsKDGludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLVUludDMyUnVsZXMSfgoFY29uc3QYASABKA1Cb8JIbApqCgx1aW50MzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKA1Cd8JIdApyCgl1aW50MzIubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoDUKHAcJIgwEKgAEKCnVpbnQzMi5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoDULvBsJI6wYKdQoJdWludDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMdWludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWdWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg11aW50MzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXdWludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKA1CugfCSLYHCoMBCgp1aW50MzIuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXVpbnQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3VpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOdWludDMyLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHVpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoDUJuwkhrCmkKCXVpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygNQmHCSF4KXAoNdWludDMyLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwhQKC1VJbnQ2NFJ1bGVzEn4KBWNvbnN0GAEgASgEQm/CSGwKagoMdWludDY0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycShQEKAmx0GAIgASgEQnfCSHQKcgoJdWludDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpcBCgNsdGUYAyABKARChwHCSIMBCoABCgp1aW50NjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL+BgoCZ3QYBCABKARC7wbCSOsGCnUKCXVpbnQ2NC5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrgEKDHVpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtgEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoNdWludDY0Lmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxgEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLKBwoDZ3RlGAUgASgEQroHwki2BwqDAQoKdWludDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr0BCg11aW50NjQuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsUBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKDnVpbnQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtUBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESegoCaW4YBiADKARCbsJIawppCgl1aW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnEKBm5vdF9pbhgHIAMoBEJhwkheClwKDXVpbnQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsIUCgtTSW50MzJSdWxlcxJ+CgVjb25zdBgBIAEoEUJvwkhsCmoKDHNpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoUBCgJsdBgCIAEoEUJ3wkh0CnIKCXNpbnQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKXAQoDbHRlGAMgASgRQocBwkiDAQqAAQoKc2ludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS/gYKAmd0GAQgASgRQu8GwkjrBgp1CglzaW50MzIuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq4BCgxzaW50MzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrYBChZzaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKDXNpbnQzMi5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsYBChdzaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESygcKA2d0ZRgFIAEoEUK6B8JItgcKgwEKCnNpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq9AQoNc2ludDMyLmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrFAQoXc2ludDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BCg5zaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrVAQoYc2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnoKAmluGAYgAygRQm7CSGsKaQoJc2ludDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJxCgZub3RfaW4YByADKBFCYcJIXgpcCg1zaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLU0ludDY0UnVsZXMSfgoFY29uc3QYASABKBJCb8JIbApqCgxzaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKBJCd8JIdApyCglzaW50NjQubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoEkKHAcJIgwEKgAEKCnNpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoEkLvBsJI6wYKdQoJc2ludDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMc2ludDY0Lmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWc2ludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg1zaW50NjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXc2ludDY0Lmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKBJCugfCSLYHCoMBCgpzaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXNpbnQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3NpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOc2ludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHNpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoEkJuwkhrCmkKCXNpbnQ2NC5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygSQmHCSF4KXAoNc2ludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkMzJSdWxlcxJ/CgVjb25zdBgBIAEoB0JwwkhtCmsKDWZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAdCeMJIdQpzCgpmaXhlZDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAdCiAHCSIQBCoEBCgtmaXhlZDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgHQvQGwkjwBgp2CgpmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQzMi5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgHQr8Hwki7BwqEAQoLZml4ZWQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkMzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoB0JvwkhsCmoKCmZpeGVkMzIuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoB0JiwkhfCl0KDmZpeGVkMzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkNjRSdWxlcxJ/CgVjb25zdBgBIAEoBkJwwkhtCmsKDWZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAZCeMJIdQpzCgpmaXhlZDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAZCiAHCSIQBCoEBCgtmaXhlZDY0Lmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgGQvQGwkjwBgp2CgpmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgGQr8Hwki7BwqEAQoLZml4ZWQ2NC5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkNjQuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoBkJvwkhsCmoKCmZpeGVkNjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoBkJiwkhfCl0KDmZpeGVkNjQubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDMyUnVsZXMSgAEKBWNvbnN0GAEgASgPQnHCSG4KbAoOc2ZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKA9CecJIdgp0CgtzZml4ZWQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgPQokBwkiFAQqCAQoMc2ZpeGVkMzIubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKA9C+QbCSPUGCncKC3NmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkMzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoD0LEB8JIwAcKhQEKDHNmaXhlZDMyLmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQzMi5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoD0JwwkhtCmsKC3NmaXhlZDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKA9CY8JIYApeCg9zZml4ZWQzMi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygPQh3CSBoKGAoQc2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDY0UnVsZXMSgAEKBWNvbnN0GAEgASgQQnHCSG4KbAoOc2ZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKBBCecJIdgp0CgtzZml4ZWQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgQQokBwkiFAQqCAQoMc2ZpeGVkNjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKBBC+QbCSPUGCncKC3NmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkNjQuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoEELEB8JIwAcKhQEKDHNmaXhlZDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoEEJwwkhtCmsKC3NmaXhlZDY0LmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKBBCY8JIYApeCg9zZml4ZWQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygQQh3CSBoKGAoQc2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwAEKCUJvb2xSdWxlcxJ8CgVjb25zdBgBIAEoCEJtwkhqCmgKCmJvb2wuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIi6jwKC1N0cmluZ1J1bGVzEoABCgVjb25zdBgBIAEoCUJxwkhuCmwKDHN0cmluZy5jb25zdBpcdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycScQoDbGVuGBMgASgEQmTCSGEKXwoKc3RyaW5nLmxlbhpRdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ211c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEokBCgdtaW5fbGVuGAIgASgEQnjCSHUKcwoOc3RyaW5nLm1pbl9sZW4aYXVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg5zdHJpbmcubWF4X2xlbhpgdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ211c3QgYmUgYXQgbW9zdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEosBCglsZW5fYnl0ZXMYFCABKARCeMJIdQpzChBzdHJpbmcubGVuX2J5dGVzGl91aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgIT0gcnVsZXMubGVuX2J5dGVzID8gJ211c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKUAQoJbWluX2J5dGVzGAQgASgEQoABwkh9CnsKEHN0cmluZy5taW5fYnl0ZXMaZ3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9ieXRlcyA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSkgEKCW1heF9ieXRlcxgFIAEoBEJ/wkh8CnoKEHN0cmluZy5tYXhfYnl0ZXMaZnVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKHAQoHcGF0dGVybhgGIAEoCUJ2wkhzCnEKDnN0cmluZy5wYXR0ZXJuGl8hdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ2RvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxJ+CgZwcmVmaXgYByABKAlCbsJIawppCg1zdHJpbmcucHJlZml4GlghdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEnwKBnN1ZmZpeBgIIAEoCUJswkhpCmcKDXN0cmluZy5zdWZmaXgaViF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEooBCghjb250YWlucxgJIAEoCUJ4wkh1CnMKD3N0cmluZy5jb250YWlucxpgIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ2RvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpEBCgxub3RfY29udGFpbnMYFyABKAlCe8JIeAp2ChNzdHJpbmcubm90X2NvbnRhaW5zGl90aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAnY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ6CgJpbhgKIAMoCUJuwkhrCmkKCXN0cmluZy5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAsgAygJQmHCSF4KXAoNc3RyaW5nLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEtkBCgVlbWFpbBgMIAEoCELHAcJIwwEKWwoMc3RyaW5nLmVtYWlsEh1tdXN0IGJlIGEgdmFsaWQgZW1haWwgYWRkcmVzcxosIXJ1bGVzLmVtYWlsIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0VtYWlsKCkKZAoSc3RyaW5nLmVtYWlsX2VtcHR5EjJ2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcxoaIXJ1bGVzLmVtYWlsIHx8IHRoaXMgIT0gJydIABLhAQoIaG9zdG5hbWUYDSABKAhCzAHCSMgBCl8KD3N0cmluZy5ob3N0bmFtZRIYbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lGjIhcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSG9zdG5hbWUoKQplChVzdHJpbmcuaG9zdG5hbWVfZW1wdHkSLXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZRodIXJ1bGVzLmhvc3RuYW1lIHx8IHRoaXMgIT0gJydIABLBAQoCaXAYDiABKAhCsgHCSK4BCk8KCXN0cmluZy5pcBIabXVzdCBiZSBhIHZhbGlkIElQIGFkZHJlc3MaJiFydWxlcy5pcCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCgpClsKD3N0cmluZy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaFyFydWxlcy5pcCB8fCB0aGlzICE9ICcnSAAS0AEKBGlwdjQYDyABKAhCvwHCSLsBClYKC3N0cmluZy5pcHY0EhxtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzGikhcnVsZXMuaXB2NCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg0KQphChFzdHJpbmcuaXB2NF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjQgYWRkcmVzcxoZIXJ1bGVzLmlwdjQgfHwgdGhpcyAhPSAnJ0gAEtABCgRpcHY2GBAgASgIQr8Bwki7AQpWCgtzdHJpbmcuaXB2NhIcbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxopIXJ1bGVzLmlwdjYgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNikKYQoRc3RyaW5nLmlwdjZfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MaGSFydWxlcy5pcHY2IHx8IHRoaXMgIT0gJydIABK5AQoDdXJpGBEgASgIQqkBwkilAQpLCgpzdHJpbmcudXJpEhNtdXN0IGJlIGEgdmFsaWQgVVJJGighcnVsZXMudXJpIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc1VyaSgpClYKEHN0cmluZy51cmlfZW1wdHkSKHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVUkkaGCFydWxlcy51cmkgfHwgdGhpcyAhPSAnJ0gAEmoKB3VyaV9yZWYYEiABKAhCV8JIVApSCg5zdHJpbmcudXJpX3JlZhIdbXVzdCBiZSBhIHZhbGlkIFVSSSBSZWZlcmVuY2UaISFydWxlcy51cmlfcmVmIHx8IHRoaXMuaXNVcmlSZWYoKUgAEokCCgdhZGRyZXNzGBUgASgIQvUBwkjxAQp7Cg5zdHJpbmcuYWRkcmVzcxInbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKSAgoEdXVpZBgWIAEoCEKBAsJI/QEKnwEKC3N0cmluZy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS6gEKBXR1dWlkGCEgASgIQtgBwkjUAQptCgxzdHJpbmcudHV1aWQSHG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASkAIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvIBwkjuAQpyChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SGW11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLJAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKpAsJIpQIKjQEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEi9tdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEskCChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQqkCwkilAgqNAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SL211c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS7AEKCWlwX3ByZWZpeBgdIAEoCELWAcJI0gEKZgoQc3RyaW5nLmlwX3ByZWZpeBIZbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABL9AQoLaXB2NF9wcmVmaXgYHiABKAhC5QHCSOEBCm8KEnN0cmluZy5pcHY0X3ByZWZpeBIbbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAS/QEKC2lwdjZfcHJlZml4GB8gASgIQuUBwkjhAQpvChJzdHJpbmcuaXB2Nl9wcmVmaXgSG211c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEq8CCg1ob3N0X2FuZF9wb3J0GCAgASgIQpUCwkiRAgqTAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSO211c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEu4BCgR1bGlkGCMgASgIQt0BwkjZAQp8CgtzdHJpbmcudWxpZBIUbXVzdCBiZSBhIHZhbGlkIFVMSUQaVyFydWxlcy51bGlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtN11bMC05QS1ISktNTlAtVFYtWmEtaGprbW5wLXR2LXpdezI1fSQnKQpZChFzdHJpbmcudWxpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVMSUQaGSFydWxlcy51bGlkIHx8IHRoaXMgIT0gJydIABLUAgoMcHJvdG9idWZfZnFuGCUgASgIQrsCwki3AgqvAQoTc3RyaW5nLnByb3RvYnVmX2ZxbhItbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lGmkhcnVsZXMucHJvdG9idWZfZnFuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeW0EtWmEtel9dW0EtWmEtel8wLTldKihcXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKSokJykKggEKGXN0cmluZy5wcm90b2J1Zl9mcW5fZW1wdHkSQnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZRohIXJ1bGVzLnByb3RvYnVmX2ZxbiB8fCB0aGlzICE9ICcnSAASkQMKEHByb3RvYnVmX2RvdF9mcW4YJiABKAhC9ALCSPACCs0BChdzdHJpbmcucHJvdG9idWZfZG90X2ZxbhJAbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lIHdpdGggYSBsZWFkaW5nIGRvdBpwIXJ1bGVzLnByb3RvYnVmX2RvdF9mcW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15cXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKFxcLltBLVphLXpfXVtBLVphLXpfMC05XSopKiQnKQqdAQodc3RyaW5nLnByb3RvYnVmX2RvdF9mcW5fZW1wdHkSVXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZSB3aXRoIGEgbGVhZGluZyBkb3QaJSFydWxlcy5wcm90b2J1Zl9kb3RfZnFuIHx8IHRoaXMgIT0gJydIABKcBQoQd2VsbF9rbm93bl9yZWdleBgYIAEoDjIYLmJ1Zi52YWxpZGF0ZS5Lbm93blJlZ2V4QuUEwkjhBArqAQojc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWUSIG11c3QgYmUgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGqABcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeOj9bMC05YS16QS1aISMkJSZcJyorLS5eX3x+XHg2MF0rJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKyQnKQqNAQopc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWVfZW1wdHkSNXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGilydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDEgfHwgdGhpcyAhPSAnJwrhAQokc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX3ZhbHVlEiFtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgdmFsdWUalQFydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDIgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeW15cdTAwMDAtXHUwMDA4XHUwMDBBLVx1MDAxRlx1MDA3Rl0qJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKiQnKUgAEg4KBnN0cmljdBgZIAEoCBIsCgdleGFtcGxlGCIgAygJQhvCSBgKFgoOc3RyaW5nLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIt0RCgpCeXRlc1J1bGVzEnoKBWNvbnN0GAEgASgMQmvCSGgKZgoLYnl0ZXMuY29uc3QaV3RoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgYmUgJXgnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxJrCgNsZW4YDSABKARCXsJIWwpZCglieXRlcy5sZW4aTHVpbnQodGhpcy5zaXplKCkpICE9IHJ1bGVzLmxlbiA/ICdtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSgwEKB21pbl9sZW4YAiABKARCcsJIbwptCg1ieXRlcy5taW5fbGVuGlx1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAnbXVzdCBiZSBhdCBsZWFzdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKCAQoHbWF4X2xlbhgDIAEoBEJxwkhuCmwKDWJ5dGVzLm1heF9sZW4aW3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSigEKB3BhdHRlcm4YBCABKAlCecJIdgp0Cg1ieXRlcy5wYXR0ZXJuGmMhc3RyaW5nKHRoaXMpLm1hdGNoZXMocnVsZXMucGF0dGVybikgPyAnbXVzdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycSewoGcHJlZml4GAUgASgMQmvCSGgKZgoMYnl0ZXMucHJlZml4GlYhdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggJXgnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxJ5CgZzdWZmaXgYBiABKAxCacJIZgpkCgxieXRlcy5zdWZmaXgaVCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggJXgnLmZvcm1hdChbcnVsZXMuc3VmZml4XSkgOiAnJxJ9Cghjb250YWlucxgHIAEoDEJrwkhoCmYKDmJ5dGVzLmNvbnRhaW5zGlQhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAnZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSoQEKAmluGAggAygMQpQBwkiQAQqNAQoIYnl0ZXMuaW4agAFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJwCgZub3RfaW4YCSADKAxCYMJIXQpbCgxieXRlcy5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLlAQoCaXAYCiABKAhC1gHCSNIBCm4KCGJ5dGVzLmlwEhptdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3gEKBGlwdjQYCyABKAhCzQHCSMkBCl8KCmJ5dGVzLmlwdjQSHG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3wEKBGlwdjYYDCABKAhCzgHCSMoBCmAKCmJ5dGVzLmlwdjYSHG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEs8BCgR1dWlkGA8gASgIQr4Bwki6AQpYCgpieXRlcy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLBAwoJRW51bVJ1bGVzEnwKBWNvbnN0GAEgASgFQm3CSGoKaAoKZW51bS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ4CgJpbhgDIAMoBUJswkhpCmcKB2VudW0uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEm8KBm5vdF9pbhgEIAMoBUJfwkhcCloKC2VudW0ubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKgoHZXhhbXBsZRgFIAMoBUIZwkgWChQKDGVudW0uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACIu0DCg1SZXBlYXRlZFJ1bGVzEpYBCgltaW5faXRlbXMYASABKARCggHCSH8KfQoScmVwZWF0ZWQubWluX2l0ZW1zGmd1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICdtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEpwBCgltYXhfaXRlbXMYAiABKARCiAHCSIQBCoEBChJyZXBlYXRlZC5tYXhfaXRlbXMaa3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ211c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIr8WCg1EdXJhdGlvblJ1bGVzEpsBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJxwkhuCmwKDmR1cmF0aW9uLmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSogEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnnCSHYKdAoLZHVyYXRpb24ubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAAStAEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKJAcJIhQEKggEKDGR1cmF0aW9uLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASowcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQvkGwkj1Bgp3CgtkdXJhdGlvbi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKsAEKDmR1cmF0aW9uLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq4AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwAEKD2R1cmF0aW9uLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKyAEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu8HCgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CxAfCSMAHCoUBCgxkdXJhdGlvbi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq/AQoPZHVyYXRpb24uZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCscBChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrPAQoQZHVyYXRpb24uZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrXAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESlwEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnDCSG0KawoLZHVyYXRpb24uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEo4BCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CY8JIYApeCg9kdXJhdGlvbi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i6wUKDkZpZWxkTWFza1J1bGVzErkBCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCjQHCSIkBCoYBChBmaWVsZF9tYXNrLmNvbnN0GnJ0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICdtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS0wEKAmluGAIgAygJQsYBwkjCAQq/AQoNZmllbGRfbWFzay5pbhqtASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICdtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEu0BCgZub3RfaW4YAyADKAlC3AHCSNgBCtUBChFmaWVsZF9tYXNrLm5vdF9pbhq/ASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ211c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIisBcKDlRpbWVzdGFtcFJ1bGVzEp0BCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCcsJIbwptCg90aW1lc3RhbXAuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKkAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnrCSHcKdQoMdGltZXN0YW1wLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErYBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQooBwkiGAQqDAQoNdGltZXN0YW1wLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASZgoGbHRfbm93GAcgASgIQlTCSFEKTwoQdGltZXN0YW1wLmx0X25vdxo7KHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICdtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABKpBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQv4Gwkj6Bgp4Cgx0aW1lc3RhbXAuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrEBCg90aW1lc3RhbXAuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrkBChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwQEKEHRpbWVzdGFtcC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCskBChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES9QcKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCyQfCSMUHCoYBCg10aW1lc3RhbXAuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwAEKEHRpbWVzdGFtcC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKyAEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrQAQoRdGltZXN0YW1wLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2AEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJpCgZndF9ub3cYCCABKAhCV8JIVApSChB0aW1lc3RhbXAuZ3Rfbm93Gj4ocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErEBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ChQHCSIEBCn8KEHRpbWVzdGFtcC53aXRoaW4aa3RoaXMgPCBub3ctcnVsZXMud2l0aGluIHx8IHRoaXMgPiBub3crcnVsZXMud2l0aGluID8gJ211c3QgYmUgd2l0aGluICVzIG9mIG5vdycuZm9ybWF0KFtydWxlcy53aXRoaW5dKSA6ICcnEksKB2V4YW1wbGUYCiADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQh7CSBsKGQoRdGltZXN0YW1wLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIjkKClZpb2xhdGlvbnMSKwoKdmlvbGF0aW9ucxgBIAMoCzIXLmJ1Zi52YWxpZGF0ZS5WaW9sYXRpb24inwEKCVZpb2xhdGlvbhImCgVmaWVsZBgFIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSJQoEcnVsZRgGIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSDwoHcnVsZV9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2Zvcl9rZXkYBCABKAhKBAgBEAJSCmZpZWxkX3BhdGgiPQoJRmllbGRQYXRoEjAKCGVsZW1lbnRzGAEgAygLMh4uYnVmLnZhbGlkYXRlLkZpZWxkUGF0aEVsZW1lbnQi6QIKEEZpZWxkUGF0aEVsZW1lbnQSFAoMZmllbGRfbnVtYmVyGAEgASgFEhIKCmZpZWxkX25hbWUYAiABKAkSPgoKZmllbGRfdHlwZRgDIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEjwKCGtleV90eXBlGAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPgoKdmFsdWVfdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEg8KBWluZGV4GAYgASgESAASEgoIYm9vbF9rZXkYByABKAhIABIRCgdpbnRfa2V5GAggASgDSAASEgoIdWludF9rZXkYCSABKARIABIUCgpzdHJpbmdfa2V5GAogASgJSABCCwoJc3Vic2NyaXB0KqEBCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASGAoUSUdOT1JFX0lGX1pFUk9fVkFMVUUQARIRCg1JR05PUkVfQUxXQVlTEAMiBAgCEAIqDElHTk9SRV9FTVBUWSoOSUdOT1JFX0RFRkFVTFQqF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFKhVJR05PUkVfSUZfVU5QT1BVTEFURUQqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlYKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMhouYnVmLnZhbGlkYXRlLk1lc3NhZ2VSdWxlc1IHbWVzc2FnZTpOCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLk9uZW9mUnVsZXNSBW9uZW9mOk4KBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlc1IFZmllbGQ6XQoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMh0uYnVmLnZhbGlkYXRlLlByZWRlZmluZWRSdWxlc1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU", [file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_field_mask, file_google_protobuf_timestamp13]);
1152
+ import { enumDesc as enumDesc10, extDesc, fileDesc as fileDesc16, messageDesc as messageDesc16, tsEnum as tsEnum10 } from "@bufbuild/protobuf/codegenv2";
1153
+ import { file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_field_mask, file_google_protobuf_timestamp as file_google_protobuf_timestamp12 } from "@bufbuild/protobuf/wkt";
1154
+ var file_buf_validate_validate = /* @__PURE__ */ fileDesc16("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSL4FgoKRmxvYXRSdWxlcxJ9CgVjb25zdBgBIAEoAkJuwkhrCmkKC2Zsb2F0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSmQEKAmx0GAIgASgCQooBwkiGAQqDAQoIZmxvYXQubHQadyFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASqQEKA2x0ZRgDIAEoAkKZAcJIlQEKkgEKCWZsb2F0Lmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtAHCgJndBgEIAEoAkLBB8JIvQcKhgEKCGZsb2F0Lmd0GnohaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq9AQoLZmxvYXQuZ3RfbHQarQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrHAQoVZmxvYXQuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKDGZsb2F0Lmd0X2x0ZRq8AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCtcBChZmbG9hdC5ndF9sdGVfZXhjbHVzaXZlGrwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARKcCAoDZ3RlGAUgASgCQowIwkiICAqVAQoJZmxvYXQuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCswBCgxmbG9hdC5ndGVfbHQauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtYBChZmbG9hdC5ndGVfbHRfZXhjbHVzaXZlGrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoNZmxvYXQuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5gEKF2Zsb2F0Lmd0ZV9sdGVfZXhjbHVzaXZlGsoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygCQm3CSGoKaAoIZmxvYXQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoAkJgwkhdClsKDGZsb2F0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEm8KBmZpbml0ZRgIIAEoCEJfwkhcCloKDGZsb2F0LmZpbml0ZRpKcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAnbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIooXCgtEb3VibGVSdWxlcxJ+CgVjb25zdBgBIAEoAUJvwkhsCmoKDGRvdWJsZS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEpoBCgJsdBgCIAEoAUKLAcJIhwEKhAEKCWRvdWJsZS5sdBp3IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKqAQoDbHRlGAMgASgBQpoBwkiWAQqTAQoKZG91YmxlLmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtUHCgJndBgEIAEoAULGB8JIwgcKhwEKCWRvdWJsZS5ndBp6IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKvgEKDGRvdWJsZS5ndF9sdBqtAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsgBChZkb3VibGUuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKDWRvdWJsZS5ndF9sdGUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrYAQoXZG91YmxlLmd0X2x0ZV9leGNsdXNpdmUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEqEICgNndGUYBSABKAFCkQjCSI0ICpYBCgpkb3VibGUuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCs0BCg1kb3VibGUuZ3RlX2x0GrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrXAQoXZG91YmxlLmd0ZV9sdF9leGNsdXNpdmUauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BCg5kb3VibGUuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5wEKGGRvdWJsZS5ndGVfbHRlX2V4Y2x1c2l2ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoAUJuwkhrCmkKCWRvdWJsZS5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygBQmHCSF4KXAoNZG91YmxlLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnAKBmZpbml0ZRgIIAEoCEJgwkhdClsKDWRvdWJsZS5maW5pdGUaSnJ1bGVzLmZpbml0ZSA/ICh0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ211c3QgYmUgZmluaXRlJyA6ICcnKSA6ICcnEiwKB2V4YW1wbGUYCSADKAFCG8JIGAoWCg5kb3VibGUuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4isBQKCkludDMyUnVsZXMSfQoFY29uc3QYASABKAVCbsJIawppCgtpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoQBCgJsdBgCIAEoBUJ2wkhzCnEKCGludDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpUBCgNsdGUYAyABKAVChQHCSIEBCn8KCWludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS+QYKAmd0GAQgASgFQuoGwkjmBgp0CghpbnQzMi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrQEKC2ludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq1AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKDGludDMyLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxQEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsUHCgNndGUYBSABKAVCtQfCSLEHCoIBCglpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq8AQoMaW50MzIuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsQBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoNaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrUAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESeQoCaW4YBiADKAVCbcJIagpoCghpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScAoGbm90X2luGAcgAygFQmDCSF0KWwoMaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgIIAMoBUIawkgXChUKDWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIrAUCgpJbnQ2NFJ1bGVzEn0KBWNvbnN0GAEgASgDQm7CSGsKaQoLaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKEAQoCbHQYAiABKANCdsJIcwpxCghpbnQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKVAQoDbHRlGAMgASgDQoUBwkiBAQp/CglpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvkGCgJndBgEIAEoA0LqBsJI5gYKdAoIaW50NjQuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq0BCgtpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtQEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BCgxpbnQ2NC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsUBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLFBwoDZ3RlGAUgASgDQrUHwkixBwqCAQoJaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvAEKDGludDY0Lmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrEAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKDWludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1AEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygDQm3CSGoKaAoIaW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoA0JgwkhdClsKDGludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLVUludDMyUnVsZXMSfgoFY29uc3QYASABKA1Cb8JIbApqCgx1aW50MzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKA1Cd8JIdApyCgl1aW50MzIubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoDUKHAcJIgwEKgAEKCnVpbnQzMi5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoDULvBsJI6wYKdQoJdWludDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMdWludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWdWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg11aW50MzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXdWludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKA1CugfCSLYHCoMBCgp1aW50MzIuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXVpbnQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3VpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOdWludDMyLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHVpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoDUJuwkhrCmkKCXVpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygNQmHCSF4KXAoNdWludDMyLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwhQKC1VJbnQ2NFJ1bGVzEn4KBWNvbnN0GAEgASgEQm/CSGwKagoMdWludDY0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycShQEKAmx0GAIgASgEQnfCSHQKcgoJdWludDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpcBCgNsdGUYAyABKARChwHCSIMBCoABCgp1aW50NjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL+BgoCZ3QYBCABKARC7wbCSOsGCnUKCXVpbnQ2NC5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrgEKDHVpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtgEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoNdWludDY0Lmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxgEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLKBwoDZ3RlGAUgASgEQroHwki2BwqDAQoKdWludDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr0BCg11aW50NjQuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsUBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKDnVpbnQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtUBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESegoCaW4YBiADKARCbsJIawppCgl1aW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnEKBm5vdF9pbhgHIAMoBEJhwkheClwKDXVpbnQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsIUCgtTSW50MzJSdWxlcxJ+CgVjb25zdBgBIAEoEUJvwkhsCmoKDHNpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoUBCgJsdBgCIAEoEUJ3wkh0CnIKCXNpbnQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKXAQoDbHRlGAMgASgRQocBwkiDAQqAAQoKc2ludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS/gYKAmd0GAQgASgRQu8GwkjrBgp1CglzaW50MzIuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq4BCgxzaW50MzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrYBChZzaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKDXNpbnQzMi5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsYBChdzaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESygcKA2d0ZRgFIAEoEUK6B8JItgcKgwEKCnNpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq9AQoNc2ludDMyLmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrFAQoXc2ludDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BCg5zaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrVAQoYc2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnoKAmluGAYgAygRQm7CSGsKaQoJc2ludDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJxCgZub3RfaW4YByADKBFCYcJIXgpcCg1zaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLU0ludDY0UnVsZXMSfgoFY29uc3QYASABKBJCb8JIbApqCgxzaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKBJCd8JIdApyCglzaW50NjQubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoEkKHAcJIgwEKgAEKCnNpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoEkLvBsJI6wYKdQoJc2ludDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMc2ludDY0Lmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWc2ludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg1zaW50NjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXc2ludDY0Lmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKBJCugfCSLYHCoMBCgpzaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXNpbnQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3NpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOc2ludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHNpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoEkJuwkhrCmkKCXNpbnQ2NC5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygSQmHCSF4KXAoNc2ludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkMzJSdWxlcxJ/CgVjb25zdBgBIAEoB0JwwkhtCmsKDWZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAdCeMJIdQpzCgpmaXhlZDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAdCiAHCSIQBCoEBCgtmaXhlZDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgHQvQGwkjwBgp2CgpmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQzMi5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgHQr8Hwki7BwqEAQoLZml4ZWQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkMzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoB0JvwkhsCmoKCmZpeGVkMzIuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoB0JiwkhfCl0KDmZpeGVkMzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkNjRSdWxlcxJ/CgVjb25zdBgBIAEoBkJwwkhtCmsKDWZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAZCeMJIdQpzCgpmaXhlZDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAZCiAHCSIQBCoEBCgtmaXhlZDY0Lmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgGQvQGwkjwBgp2CgpmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgGQr8Hwki7BwqEAQoLZml4ZWQ2NC5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkNjQuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoBkJvwkhsCmoKCmZpeGVkNjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoBkJiwkhfCl0KDmZpeGVkNjQubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDMyUnVsZXMSgAEKBWNvbnN0GAEgASgPQnHCSG4KbAoOc2ZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKA9CecJIdgp0CgtzZml4ZWQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgPQokBwkiFAQqCAQoMc2ZpeGVkMzIubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKA9C+QbCSPUGCncKC3NmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkMzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoD0LEB8JIwAcKhQEKDHNmaXhlZDMyLmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQzMi5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoD0JwwkhtCmsKC3NmaXhlZDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKA9CY8JIYApeCg9zZml4ZWQzMi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygPQh3CSBoKGAoQc2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDY0UnVsZXMSgAEKBWNvbnN0GAEgASgQQnHCSG4KbAoOc2ZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKBBCecJIdgp0CgtzZml4ZWQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgQQokBwkiFAQqCAQoMc2ZpeGVkNjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKBBC+QbCSPUGCncKC3NmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkNjQuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoEELEB8JIwAcKhQEKDHNmaXhlZDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoEEJwwkhtCmsKC3NmaXhlZDY0LmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKBBCY8JIYApeCg9zZml4ZWQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygQQh3CSBoKGAoQc2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwAEKCUJvb2xSdWxlcxJ8CgVjb25zdBgBIAEoCEJtwkhqCmgKCmJvb2wuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIi6jwKC1N0cmluZ1J1bGVzEoABCgVjb25zdBgBIAEoCUJxwkhuCmwKDHN0cmluZy5jb25zdBpcdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycScQoDbGVuGBMgASgEQmTCSGEKXwoKc3RyaW5nLmxlbhpRdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ211c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEokBCgdtaW5fbGVuGAIgASgEQnjCSHUKcwoOc3RyaW5nLm1pbl9sZW4aYXVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg5zdHJpbmcubWF4X2xlbhpgdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ211c3QgYmUgYXQgbW9zdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEosBCglsZW5fYnl0ZXMYFCABKARCeMJIdQpzChBzdHJpbmcubGVuX2J5dGVzGl91aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgIT0gcnVsZXMubGVuX2J5dGVzID8gJ211c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKUAQoJbWluX2J5dGVzGAQgASgEQoABwkh9CnsKEHN0cmluZy5taW5fYnl0ZXMaZ3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9ieXRlcyA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSkgEKCW1heF9ieXRlcxgFIAEoBEJ/wkh8CnoKEHN0cmluZy5tYXhfYnl0ZXMaZnVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKHAQoHcGF0dGVybhgGIAEoCUJ2wkhzCnEKDnN0cmluZy5wYXR0ZXJuGl8hdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ2RvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxJ+CgZwcmVmaXgYByABKAlCbsJIawppCg1zdHJpbmcucHJlZml4GlghdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEnwKBnN1ZmZpeBgIIAEoCUJswkhpCmcKDXN0cmluZy5zdWZmaXgaViF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEooBCghjb250YWlucxgJIAEoCUJ4wkh1CnMKD3N0cmluZy5jb250YWlucxpgIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ2RvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpEBCgxub3RfY29udGFpbnMYFyABKAlCe8JIeAp2ChNzdHJpbmcubm90X2NvbnRhaW5zGl90aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAnY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ6CgJpbhgKIAMoCUJuwkhrCmkKCXN0cmluZy5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAsgAygJQmHCSF4KXAoNc3RyaW5nLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEtkBCgVlbWFpbBgMIAEoCELHAcJIwwEKWwoMc3RyaW5nLmVtYWlsEh1tdXN0IGJlIGEgdmFsaWQgZW1haWwgYWRkcmVzcxosIXJ1bGVzLmVtYWlsIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0VtYWlsKCkKZAoSc3RyaW5nLmVtYWlsX2VtcHR5EjJ2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcxoaIXJ1bGVzLmVtYWlsIHx8IHRoaXMgIT0gJydIABLhAQoIaG9zdG5hbWUYDSABKAhCzAHCSMgBCl8KD3N0cmluZy5ob3N0bmFtZRIYbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lGjIhcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSG9zdG5hbWUoKQplChVzdHJpbmcuaG9zdG5hbWVfZW1wdHkSLXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZRodIXJ1bGVzLmhvc3RuYW1lIHx8IHRoaXMgIT0gJydIABLBAQoCaXAYDiABKAhCsgHCSK4BCk8KCXN0cmluZy5pcBIabXVzdCBiZSBhIHZhbGlkIElQIGFkZHJlc3MaJiFydWxlcy5pcCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCgpClsKD3N0cmluZy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaFyFydWxlcy5pcCB8fCB0aGlzICE9ICcnSAAS0AEKBGlwdjQYDyABKAhCvwHCSLsBClYKC3N0cmluZy5pcHY0EhxtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzGikhcnVsZXMuaXB2NCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg0KQphChFzdHJpbmcuaXB2NF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjQgYWRkcmVzcxoZIXJ1bGVzLmlwdjQgfHwgdGhpcyAhPSAnJ0gAEtABCgRpcHY2GBAgASgIQr8Bwki7AQpWCgtzdHJpbmcuaXB2NhIcbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxopIXJ1bGVzLmlwdjYgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNikKYQoRc3RyaW5nLmlwdjZfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MaGSFydWxlcy5pcHY2IHx8IHRoaXMgIT0gJydIABK5AQoDdXJpGBEgASgIQqkBwkilAQpLCgpzdHJpbmcudXJpEhNtdXN0IGJlIGEgdmFsaWQgVVJJGighcnVsZXMudXJpIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc1VyaSgpClYKEHN0cmluZy51cmlfZW1wdHkSKHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVUkkaGCFydWxlcy51cmkgfHwgdGhpcyAhPSAnJ0gAEmoKB3VyaV9yZWYYEiABKAhCV8JIVApSCg5zdHJpbmcudXJpX3JlZhIdbXVzdCBiZSBhIHZhbGlkIFVSSSBSZWZlcmVuY2UaISFydWxlcy51cmlfcmVmIHx8IHRoaXMuaXNVcmlSZWYoKUgAEokCCgdhZGRyZXNzGBUgASgIQvUBwkjxAQp7Cg5zdHJpbmcuYWRkcmVzcxInbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKSAgoEdXVpZBgWIAEoCEKBAsJI/QEKnwEKC3N0cmluZy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS6gEKBXR1dWlkGCEgASgIQtgBwkjUAQptCgxzdHJpbmcudHV1aWQSHG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASkAIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvIBwkjuAQpyChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SGW11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLJAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKpAsJIpQIKjQEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEi9tdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEskCChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQqkCwkilAgqNAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SL211c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS7AEKCWlwX3ByZWZpeBgdIAEoCELWAcJI0gEKZgoQc3RyaW5nLmlwX3ByZWZpeBIZbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABL9AQoLaXB2NF9wcmVmaXgYHiABKAhC5QHCSOEBCm8KEnN0cmluZy5pcHY0X3ByZWZpeBIbbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAS/QEKC2lwdjZfcHJlZml4GB8gASgIQuUBwkjhAQpvChJzdHJpbmcuaXB2Nl9wcmVmaXgSG211c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEq8CCg1ob3N0X2FuZF9wb3J0GCAgASgIQpUCwkiRAgqTAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSO211c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEu4BCgR1bGlkGCMgASgIQt0BwkjZAQp8CgtzdHJpbmcudWxpZBIUbXVzdCBiZSBhIHZhbGlkIFVMSUQaVyFydWxlcy51bGlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtN11bMC05QS1ISktNTlAtVFYtWmEtaGprbW5wLXR2LXpdezI1fSQnKQpZChFzdHJpbmcudWxpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVMSUQaGSFydWxlcy51bGlkIHx8IHRoaXMgIT0gJydIABLUAgoMcHJvdG9idWZfZnFuGCUgASgIQrsCwki3AgqvAQoTc3RyaW5nLnByb3RvYnVmX2ZxbhItbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lGmkhcnVsZXMucHJvdG9idWZfZnFuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeW0EtWmEtel9dW0EtWmEtel8wLTldKihcXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKSokJykKggEKGXN0cmluZy5wcm90b2J1Zl9mcW5fZW1wdHkSQnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZRohIXJ1bGVzLnByb3RvYnVmX2ZxbiB8fCB0aGlzICE9ICcnSAASkQMKEHByb3RvYnVmX2RvdF9mcW4YJiABKAhC9ALCSPACCs0BChdzdHJpbmcucHJvdG9idWZfZG90X2ZxbhJAbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lIHdpdGggYSBsZWFkaW5nIGRvdBpwIXJ1bGVzLnByb3RvYnVmX2RvdF9mcW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15cXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKFxcLltBLVphLXpfXVtBLVphLXpfMC05XSopKiQnKQqdAQodc3RyaW5nLnByb3RvYnVmX2RvdF9mcW5fZW1wdHkSVXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZSB3aXRoIGEgbGVhZGluZyBkb3QaJSFydWxlcy5wcm90b2J1Zl9kb3RfZnFuIHx8IHRoaXMgIT0gJydIABKcBQoQd2VsbF9rbm93bl9yZWdleBgYIAEoDjIYLmJ1Zi52YWxpZGF0ZS5Lbm93blJlZ2V4QuUEwkjhBArqAQojc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWUSIG11c3QgYmUgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGqABcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeOj9bMC05YS16QS1aISMkJSZcJyorLS5eX3x+XHg2MF0rJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKyQnKQqNAQopc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWVfZW1wdHkSNXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGilydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDEgfHwgdGhpcyAhPSAnJwrhAQokc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX3ZhbHVlEiFtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgdmFsdWUalQFydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDIgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeW15cdTAwMDAtXHUwMDA4XHUwMDBBLVx1MDAxRlx1MDA3Rl0qJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKiQnKUgAEg4KBnN0cmljdBgZIAEoCBIsCgdleGFtcGxlGCIgAygJQhvCSBgKFgoOc3RyaW5nLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIt0RCgpCeXRlc1J1bGVzEnoKBWNvbnN0GAEgASgMQmvCSGgKZgoLYnl0ZXMuY29uc3QaV3RoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgYmUgJXgnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxJrCgNsZW4YDSABKARCXsJIWwpZCglieXRlcy5sZW4aTHVpbnQodGhpcy5zaXplKCkpICE9IHJ1bGVzLmxlbiA/ICdtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSgwEKB21pbl9sZW4YAiABKARCcsJIbwptCg1ieXRlcy5taW5fbGVuGlx1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAnbXVzdCBiZSBhdCBsZWFzdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKCAQoHbWF4X2xlbhgDIAEoBEJxwkhuCmwKDWJ5dGVzLm1heF9sZW4aW3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSigEKB3BhdHRlcm4YBCABKAlCecJIdgp0Cg1ieXRlcy5wYXR0ZXJuGmMhc3RyaW5nKHRoaXMpLm1hdGNoZXMocnVsZXMucGF0dGVybikgPyAnbXVzdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycSewoGcHJlZml4GAUgASgMQmvCSGgKZgoMYnl0ZXMucHJlZml4GlYhdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggJXgnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxJ5CgZzdWZmaXgYBiABKAxCacJIZgpkCgxieXRlcy5zdWZmaXgaVCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggJXgnLmZvcm1hdChbcnVsZXMuc3VmZml4XSkgOiAnJxJ9Cghjb250YWlucxgHIAEoDEJrwkhoCmYKDmJ5dGVzLmNvbnRhaW5zGlQhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAnZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSoQEKAmluGAggAygMQpQBwkiQAQqNAQoIYnl0ZXMuaW4agAFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJwCgZub3RfaW4YCSADKAxCYMJIXQpbCgxieXRlcy5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLlAQoCaXAYCiABKAhC1gHCSNIBCm4KCGJ5dGVzLmlwEhptdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3gEKBGlwdjQYCyABKAhCzQHCSMkBCl8KCmJ5dGVzLmlwdjQSHG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3wEKBGlwdjYYDCABKAhCzgHCSMoBCmAKCmJ5dGVzLmlwdjYSHG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEs8BCgR1dWlkGA8gASgIQr4Bwki6AQpYCgpieXRlcy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLBAwoJRW51bVJ1bGVzEnwKBWNvbnN0GAEgASgFQm3CSGoKaAoKZW51bS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ4CgJpbhgDIAMoBUJswkhpCmcKB2VudW0uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEm8KBm5vdF9pbhgEIAMoBUJfwkhcCloKC2VudW0ubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKgoHZXhhbXBsZRgFIAMoBUIZwkgWChQKDGVudW0uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACIu0DCg1SZXBlYXRlZFJ1bGVzEpYBCgltaW5faXRlbXMYASABKARCggHCSH8KfQoScmVwZWF0ZWQubWluX2l0ZW1zGmd1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICdtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEpwBCgltYXhfaXRlbXMYAiABKARCiAHCSIQBCoEBChJyZXBlYXRlZC5tYXhfaXRlbXMaa3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ211c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIr8WCg1EdXJhdGlvblJ1bGVzEpsBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJxwkhuCmwKDmR1cmF0aW9uLmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSogEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnnCSHYKdAoLZHVyYXRpb24ubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAAStAEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKJAcJIhQEKggEKDGR1cmF0aW9uLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASowcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQvkGwkj1Bgp3CgtkdXJhdGlvbi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKsAEKDmR1cmF0aW9uLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq4AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwAEKD2R1cmF0aW9uLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKyAEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu8HCgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CxAfCSMAHCoUBCgxkdXJhdGlvbi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq/AQoPZHVyYXRpb24uZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCscBChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrPAQoQZHVyYXRpb24uZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrXAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESlwEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnDCSG0KawoLZHVyYXRpb24uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEo4BCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CY8JIYApeCg9kdXJhdGlvbi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i6wUKDkZpZWxkTWFza1J1bGVzErkBCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCjQHCSIkBCoYBChBmaWVsZF9tYXNrLmNvbnN0GnJ0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICdtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS0wEKAmluGAIgAygJQsYBwkjCAQq/AQoNZmllbGRfbWFzay5pbhqtASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICdtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEu0BCgZub3RfaW4YAyADKAlC3AHCSNgBCtUBChFmaWVsZF9tYXNrLm5vdF9pbhq/ASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ211c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIisBcKDlRpbWVzdGFtcFJ1bGVzEp0BCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCcsJIbwptCg90aW1lc3RhbXAuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKkAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnrCSHcKdQoMdGltZXN0YW1wLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErYBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQooBwkiGAQqDAQoNdGltZXN0YW1wLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASZgoGbHRfbm93GAcgASgIQlTCSFEKTwoQdGltZXN0YW1wLmx0X25vdxo7KHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICdtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABKpBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQv4Gwkj6Bgp4Cgx0aW1lc3RhbXAuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrEBCg90aW1lc3RhbXAuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrkBChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwQEKEHRpbWVzdGFtcC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCskBChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES9QcKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCyQfCSMUHCoYBCg10aW1lc3RhbXAuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwAEKEHRpbWVzdGFtcC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKyAEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrQAQoRdGltZXN0YW1wLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2AEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJpCgZndF9ub3cYCCABKAhCV8JIVApSChB0aW1lc3RhbXAuZ3Rfbm93Gj4ocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErEBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ChQHCSIEBCn8KEHRpbWVzdGFtcC53aXRoaW4aa3RoaXMgPCBub3ctcnVsZXMud2l0aGluIHx8IHRoaXMgPiBub3crcnVsZXMud2l0aGluID8gJ211c3QgYmUgd2l0aGluICVzIG9mIG5vdycuZm9ybWF0KFtydWxlcy53aXRoaW5dKSA6ICcnEksKB2V4YW1wbGUYCiADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQh7CSBsKGQoRdGltZXN0YW1wLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIjkKClZpb2xhdGlvbnMSKwoKdmlvbGF0aW9ucxgBIAMoCzIXLmJ1Zi52YWxpZGF0ZS5WaW9sYXRpb24inwEKCVZpb2xhdGlvbhImCgVmaWVsZBgFIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSJQoEcnVsZRgGIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSDwoHcnVsZV9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2Zvcl9rZXkYBCABKAhKBAgBEAJSCmZpZWxkX3BhdGgiPQoJRmllbGRQYXRoEjAKCGVsZW1lbnRzGAEgAygLMh4uYnVmLnZhbGlkYXRlLkZpZWxkUGF0aEVsZW1lbnQi6QIKEEZpZWxkUGF0aEVsZW1lbnQSFAoMZmllbGRfbnVtYmVyGAEgASgFEhIKCmZpZWxkX25hbWUYAiABKAkSPgoKZmllbGRfdHlwZRgDIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEjwKCGtleV90eXBlGAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPgoKdmFsdWVfdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEg8KBWluZGV4GAYgASgESAASEgoIYm9vbF9rZXkYByABKAhIABIRCgdpbnRfa2V5GAggASgDSAASEgoIdWludF9rZXkYCSABKARIABIUCgpzdHJpbmdfa2V5GAogASgJSABCCwoJc3Vic2NyaXB0KqEBCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASGAoUSUdOT1JFX0lGX1pFUk9fVkFMVUUQARIRCg1JR05PUkVfQUxXQVlTEAMiBAgCEAIqDElHTk9SRV9FTVBUWSoOSUdOT1JFX0RFRkFVTFQqF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFKhVJR05PUkVfSUZfVU5QT1BVTEFURUQqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlYKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMhouYnVmLnZhbGlkYXRlLk1lc3NhZ2VSdWxlc1IHbWVzc2FnZTpOCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLk9uZW9mUnVsZXNSBW9uZW9mOk4KBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlc1IFZmllbGQ6XQoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMh0uYnVmLnZhbGlkYXRlLlByZWRlZmluZWRSdWxlc1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU", [file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_field_mask, file_google_protobuf_timestamp12]);
1149
1155
 
1150
1156
  // ../../packages/proto-ts/src/apps/v1/apps_pb.js
1151
- import { file_google_protobuf_struct as file_google_protobuf_struct12 } from "@bufbuild/protobuf/wkt";
1152
- var file_apps_v1_apps = /* @__PURE__ */ fileDesc18("ChJhcHBzL3YxL2FwcHMucHJvdG8SB2FwcHMudjEi8gQKCUFwcENvbmZpZxI0CgRuYW1lGAEgASgJQia6SCNyIRhAMh1eW2Etel1bYS16MC05XSooLVthLXowLTldKykqJBIYCgd2ZXJzaW9uGAIgASgJQge6SARyAhABEiMKCG1ldGFkYXRhGAMgASgLMhEuYXBwcy52MS5NZXRhZGF0YRInCgptaWRkbGV3YXJlGAQgASgLMhMuYXBwcy52MS5NaWRkbGV3YXJlEikKC2NyZWRlbnRpYWxzGAUgASgLMhQuYXBwcy52MS5DcmVkZW50aWFscxIwCg9zZXR0aW5nc19zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjAKB3NvdXJjZXMYByADKAsyHy5hcHBzLnYxLkFwcENvbmZpZy5Tb3VyY2VzRW50cnkSLAoFc2lua3MYCCADKAsyHS5hcHBzLnYxLkFwcENvbmZpZy5TaW5rc0VudHJ5EiYKCm9wZXJhdGlvbnMYCSADKAsyEi5hcHBzLnYxLk9wZXJhdGlvbhIcCgVob29rcxgKIAMoCzINLmFwcHMudjEuSG9vaxIXCgJ1aRgLIAEoCzILLmFwcHMudjEuVUkSIQoHaW5ib3VuZBgMIAEoCzIQLmFwcHMudjEuSW5ib3VuZBpDCgxTb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMuYXBwcy52MS5Tb3VyY2VUeXBlOgI4ARpDCgpTaW5rc0VudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLmFwcHMudjEuU2lua0NvbnRyYWN0OgI4ASJlCghNZXRhZGF0YRIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDAoEaWNvbhgDIAEoCRIOCgZhdXRob3IYBCABKAkSEAoIaG9tZXBhZ2UYBSABKAkiLQoKTWlkZGxld2FyZRIfCgN1cmwYASABKAlCErpID3INMgteaHR0cHM6Ly8uKyLXAgoLQ3JlZGVudGlhbHMSLwoIc3RyYXRlZ3kYASABKA4yHS5hcHBzLnYxLkNyZWRlbnRpYWxzLlN0cmF0ZWd5EiwKBnNjaGVtYRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIoCgVvYXV0aBgDIAEoCzIULmFwcHMudjEuT0F1dGhDb25maWdIAYgBASKpAQoIU3RyYXRlZ3kSGAoUU1RSQVRFR1lfVU5TUEVDSUZJRUQQABISCg5TVFJBVEVHWV9PQVVUSBABEhQKEFNUUkFURUdZX0FQSV9LRVkQAhIaChZTVFJBVEVHWV9TSEFSRURfU0VDUkVUEAMSFAoQU1RSQVRFR1lfU1NIX0tFWRAEEhEKDVNUUkFURUdZX05PTkUQBRIUChBTVFJBVEVHWV9NQU5BR0VEEAZCCQoHX3NjaGVtYUIICgZfb2F1dGgiTAoLT0F1dGhDb25maWcSHAoUYXV0aG9yaXplX3N0YXJ0X3BhdGgYASABKAkSHwoXYXV0aG9yaXplX2NhbGxiYWNrX3BhdGgYAiABKAkiLAoHSW5ib3VuZBIhCgd3ZWJob29rGAEgASgLMhAuYXBwcy52MS5XZWJob29rIhcKB1dlYmhvb2sSDAoEcGF0aBgBIAEoCSKpAQoKU291cmNlVHlwZRINCgVsYWJlbBgBIAEoCRIvCgZmaWVsZHMYAiADKAsyHy5hcHBzLnYxLlNvdXJjZVR5cGUuRmllbGRzRW50cnkSEwoLbmF0dXJhbF9rZXkYAyABKAkaRgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuYXBwcy52MS5TdWdnZXN0ZWRGaWVsZDoCOAEiqAEKDFNpbmtDb250cmFjdBINCgVsYWJlbBgBIAEoCRIxCgZmaWVsZHMYAiADKAsyIS5hcHBzLnYxLlNpbmtDb250cmFjdC5GaWVsZHNFbnRyeRITCgtuYXR1cmFsX2tleRgDIAEoCRpBCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSIQoFdmFsdWUYAiABKAsyEi5hcHBzLnYxLlNpbmtGaWVsZDoCOAEimQEKDlN1Z2dlc3RlZEZpZWxkEgwKBHR5cGUYASABKAkSEgoFbGFiZWwYAiABKAlIAIgBARIVCghyZXF1aXJlZBgDIAEoCEgBiAEBEiwKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfbGFiZWxCCwoJX3JlcXVpcmVkQgkKB19jb25maWciWwoJU2lua0ZpZWxkEgwKBHR5cGUYASABKAkSEAoIc2VtYW50aWMYAiABKAkSEAoIcmVxdWlyZWQYAyABKAgSEgoFbGFiZWwYBCABKAlIAIgBAUIICgZfbGFiZWwi+AMKCU9wZXJhdGlvbhI6CgNrZXkYASABKAlCLbpIKnIoGEAyJF4oX18pP1thLXpdW2EtejAtOV9dKigtW2EtejAtOV9dKykqJBIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESHQoIZW5kcG9pbnQYBCABKAlCC7pICHIGMgReLy4qEhQKDGNhcGFiaWxpdGllcxgFIAMoCRIXCgp0aW1lb3V0X21zGAYgASgFSAGIAQESMgoMcmV0cnlfcG9saWN5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDGlucHV0X3NjaGVtYRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIzCg1vdXRwdXRfc2NoZW1hGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEhsKDnN1cHBvcnRzX2FzeW5jGAogASgISAWIAQESGQoRcnVuX2FmdGVyX2luc3RhbGwYCyABKAhCDgoMX2Rlc2NyaXB0aW9uQg0KC190aW1lb3V0X21zQg8KDV9yZXRyeV9wb2xpY3lCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIRCg9fc3VwcG9ydHNfYXN5bmMipgEKBEhvb2sSMwoDa2V5GAEgASgJQia6SCNyIRhAMh1eW2Etel1bYS16MC05XSooLVthLXowLTldKykqJBIMCgRuYW1lGAIgASgJEhYKBWV2ZW50GAMgASgJQge6SARyAhABEicKBmZpbHRlchgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGgoJb3BlcmF0aW9uGAUgASgJQge6SARyAhABIjcKAlVJEjEKCnBsYWNlbWVudHMYASADKAsyHS5hcHBzLnYxLlBsYWNlbWVudERlY2xhcmF0aW9uIpQEChRQbGFjZW1lbnREZWNsYXJhdGlvbhIzCgNrZXkYASABKAlCJrpII3IhGEAyHV5bYS16XVthLXowLTldKigtW2EtejAtOV0rKSokEjQKBnRhcmdldBgCIAEoDjIkLmFwcHMudjEuUGxhY2VtZW50RGVjbGFyYXRpb24uVGFyZ2V0EhIKBW1vZGVsGAMgASgJSACIAQESEgoFZmllbGQYBCABKAlIAYgBARIhChlmaWVsZF9zZWxlY3RlZF9hdF9pbnN0YWxsGAUgASgIEhAKA3RhYhgGIAEoCUgCiAEBEhYKBXRpdGxlGAcgASgJQge6SARyAhABEh8KA3VybBgIIAEoCUISukgPcg0yC15odHRwczovLy4rEh0KEHJlcGxhY2VzX2RlZmF1bHQYCSABKAhIA4gBARIrCgVoaW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBASJ0CgZUYXJnZXQSFgoSVEFSR0VUX1VOU1BFQ0lGSUVEEAASFAoQVEFSR0VUX0ZVTExfUEFHRRABEhYKElRBUkdFVF9NQUlOX0VESVRPUhACEhIKDlRBUkdFVF9TSURFQkFSEAMSEAoMVEFSR0VUX0ZJRUxEEARCCAoGX21vZGVsQggKBl9maWVsZEIGCgRfdGFiQhMKEV9yZXBsYWNlc19kZWZhdWx0QggKBl9oaW50c0I1WjNnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vYXBwcy92MTthcHBzdjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct12]);
1157
+ import { file_google_protobuf_struct as file_google_protobuf_struct11 } from "@bufbuild/protobuf/wkt";
1158
+ var file_apps_v1_apps = /* @__PURE__ */ fileDesc17("ChJhcHBzL3YxL2FwcHMucHJvdG8SB2FwcHMudjEi8gQKCUFwcENvbmZpZxI0CgRuYW1lGAEgASgJQia6SCNyIRhAMh1eW2Etel1bYS16MC05XSooLVthLXowLTldKykqJBIYCgd2ZXJzaW9uGAIgASgJQge6SARyAhABEiMKCG1ldGFkYXRhGAMgASgLMhEuYXBwcy52MS5NZXRhZGF0YRInCgptaWRkbGV3YXJlGAQgASgLMhMuYXBwcy52MS5NaWRkbGV3YXJlEikKC2NyZWRlbnRpYWxzGAUgASgLMhQuYXBwcy52MS5DcmVkZW50aWFscxIwCg9zZXR0aW5nc19zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjAKB3NvdXJjZXMYByADKAsyHy5hcHBzLnYxLkFwcENvbmZpZy5Tb3VyY2VzRW50cnkSLAoFc2lua3MYCCADKAsyHS5hcHBzLnYxLkFwcENvbmZpZy5TaW5rc0VudHJ5EiYKCm9wZXJhdGlvbnMYCSADKAsyEi5hcHBzLnYxLk9wZXJhdGlvbhIcCgVob29rcxgKIAMoCzINLmFwcHMudjEuSG9vaxIXCgJ1aRgLIAEoCzILLmFwcHMudjEuVUkSIQoHaW5ib3VuZBgMIAEoCzIQLmFwcHMudjEuSW5ib3VuZBpDCgxTb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMuYXBwcy52MS5Tb3VyY2VUeXBlOgI4ARpDCgpTaW5rc0VudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLmFwcHMudjEuU2lua0NvbnRyYWN0OgI4ASJlCghNZXRhZGF0YRIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDAoEaWNvbhgDIAEoCRIOCgZhdXRob3IYBCABKAkSEAoIaG9tZXBhZ2UYBSABKAkiLQoKTWlkZGxld2FyZRIfCgN1cmwYASABKAlCErpID3INMgteaHR0cHM6Ly8uKyLXAgoLQ3JlZGVudGlhbHMSLwoIc3RyYXRlZ3kYASABKA4yHS5hcHBzLnYxLkNyZWRlbnRpYWxzLlN0cmF0ZWd5EiwKBnNjaGVtYRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIoCgVvYXV0aBgDIAEoCzIULmFwcHMudjEuT0F1dGhDb25maWdIAYgBASKpAQoIU3RyYXRlZ3kSGAoUU1RSQVRFR1lfVU5TUEVDSUZJRUQQABISCg5TVFJBVEVHWV9PQVVUSBABEhQKEFNUUkFURUdZX0FQSV9LRVkQAhIaChZTVFJBVEVHWV9TSEFSRURfU0VDUkVUEAMSFAoQU1RSQVRFR1lfU1NIX0tFWRAEEhEKDVNUUkFURUdZX05PTkUQBRIUChBTVFJBVEVHWV9NQU5BR0VEEAZCCQoHX3NjaGVtYUIICgZfb2F1dGgiTAoLT0F1dGhDb25maWcSHAoUYXV0aG9yaXplX3N0YXJ0X3BhdGgYASABKAkSHwoXYXV0aG9yaXplX2NhbGxiYWNrX3BhdGgYAiABKAkiLAoHSW5ib3VuZBIhCgd3ZWJob29rGAEgASgLMhAuYXBwcy52MS5XZWJob29rIhcKB1dlYmhvb2sSDAoEcGF0aBgBIAEoCSKpAQoKU291cmNlVHlwZRINCgVsYWJlbBgBIAEoCRIvCgZmaWVsZHMYAiADKAsyHy5hcHBzLnYxLlNvdXJjZVR5cGUuRmllbGRzRW50cnkSEwoLbmF0dXJhbF9rZXkYAyABKAkaRgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuYXBwcy52MS5TdWdnZXN0ZWRGaWVsZDoCOAEiqAEKDFNpbmtDb250cmFjdBINCgVsYWJlbBgBIAEoCRIxCgZmaWVsZHMYAiADKAsyIS5hcHBzLnYxLlNpbmtDb250cmFjdC5GaWVsZHNFbnRyeRITCgtuYXR1cmFsX2tleRgDIAEoCRpBCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSIQoFdmFsdWUYAiABKAsyEi5hcHBzLnYxLlNpbmtGaWVsZDoCOAEimQEKDlN1Z2dlc3RlZEZpZWxkEgwKBHR5cGUYASABKAkSEgoFbGFiZWwYAiABKAlIAIgBARIVCghyZXF1aXJlZBgDIAEoCEgBiAEBEiwKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfbGFiZWxCCwoJX3JlcXVpcmVkQgkKB19jb25maWciWwoJU2lua0ZpZWxkEgwKBHR5cGUYASABKAkSEAoIc2VtYW50aWMYAiABKAkSEAoIcmVxdWlyZWQYAyABKAgSEgoFbGFiZWwYBCABKAlIAIgBAUIICgZfbGFiZWwi+AMKCU9wZXJhdGlvbhI6CgNrZXkYASABKAlCLbpIKnIoGEAyJF4oX18pP1thLXpdW2EtejAtOV9dKigtW2EtejAtOV9dKykqJBIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESHQoIZW5kcG9pbnQYBCABKAlCC7pICHIGMgReLy4qEhQKDGNhcGFiaWxpdGllcxgFIAMoCRIXCgp0aW1lb3V0X21zGAYgASgFSAGIAQESMgoMcmV0cnlfcG9saWN5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDGlucHV0X3NjaGVtYRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIzCg1vdXRwdXRfc2NoZW1hGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEhsKDnN1cHBvcnRzX2FzeW5jGAogASgISAWIAQESGQoRcnVuX2FmdGVyX2luc3RhbGwYCyABKAhCDgoMX2Rlc2NyaXB0aW9uQg0KC190aW1lb3V0X21zQg8KDV9yZXRyeV9wb2xpY3lCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIRCg9fc3VwcG9ydHNfYXN5bmMipgEKBEhvb2sSMwoDa2V5GAEgASgJQia6SCNyIRhAMh1eW2Etel1bYS16MC05XSooLVthLXowLTldKykqJBIMCgRuYW1lGAIgASgJEhYKBWV2ZW50GAMgASgJQge6SARyAhABEicKBmZpbHRlchgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGgoJb3BlcmF0aW9uGAUgASgJQge6SARyAhABIjcKAlVJEjEKCnBsYWNlbWVudHMYASADKAsyHS5hcHBzLnYxLlBsYWNlbWVudERlY2xhcmF0aW9uIpQEChRQbGFjZW1lbnREZWNsYXJhdGlvbhIzCgNrZXkYASABKAlCJrpII3IhGEAyHV5bYS16XVthLXowLTldKigtW2EtejAtOV0rKSokEjQKBnRhcmdldBgCIAEoDjIkLmFwcHMudjEuUGxhY2VtZW50RGVjbGFyYXRpb24uVGFyZ2V0EhIKBW1vZGVsGAMgASgJSACIAQESEgoFZmllbGQYBCABKAlIAYgBARIhChlmaWVsZF9zZWxlY3RlZF9hdF9pbnN0YWxsGAUgASgIEhAKA3RhYhgGIAEoCUgCiAEBEhYKBXRpdGxlGAcgASgJQge6SARyAhABEh8KA3VybBgIIAEoCUISukgPcg0yC15odHRwczovLy4rEh0KEHJlcGxhY2VzX2RlZmF1bHQYCSABKAhIA4gBARIrCgVoaW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBASJ0CgZUYXJnZXQSFgoSVEFSR0VUX1VOU1BFQ0lGSUVEEAASFAoQVEFSR0VUX0ZVTExfUEFHRRABEhYKElRBUkdFVF9NQUlOX0VESVRPUhACEhIKDlRBUkdFVF9TSURFQkFSEAMSEAoMVEFSR0VUX0ZJRUxEEARCCAoGX21vZGVsQggKBl9maWVsZEIGCgRfdGFiQhMKEV9yZXBsYWNlc19kZWZhdWx0QggKBl9oaW50c0I1WjNnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vYXBwcy92MTthcHBzdjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct11]);
1153
1159
 
1154
1160
  // ../../packages/proto-ts/src/apps/v1/apps_service_pb.js
1155
- import { file_google_protobuf_struct as file_google_protobuf_struct13, file_google_protobuf_timestamp as file_google_protobuf_timestamp14 } from "@bufbuild/protobuf/wkt";
1156
- var file_apps_v1_apps_service = /* @__PURE__ */ fileDesc19("ChphcHBzL3YxL2FwcHNfc2VydmljZS5wcm90bxIHYXBwcy52MSKRBAoDQXBwEgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEgwKBG5hbWUYBCABKAkSFAoMbWFuaWZlc3RfdXJsGAUgASgJEhUKDW1hbmlmZXN0X2hhc2gYBiABKAkSJAoIbWFuaWZlc3QYByABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIpCghzZXR0aW5ncxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWFwcGluZ3MYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYCiABKAgSMAoMaW5zdGFsbGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIZCgxpbnN0YWxsZWRfYnkYDCABKAlIAIgBARIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChRsYXN0X3B1c2hlZF9tYXBwaW5ncxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNwoObGFzdF9wdXNoZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQFCDwoNX2luc3RhbGxlZF9ieUIRCg9fbGFzdF9wdXNoZWRfYXQimQEKDVNvdXJjZU1hcHBpbmcSEAoIdG9fbW9kZWwYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkSMgoGZmllbGRzGAMgAygLMiIuYXBwcy52MS5Tb3VyY2VNYXBwaW5nLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEilQEKC1NpbmtNYXBwaW5nEhAKCHRvX21vZGVsGAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJEjAKBmZpZWxkcxgDIAMoCzIgLmFwcHMudjEuU2lua01hcHBpbmcuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0ChRQbGFjZW1lbnRGaWVsZENob2ljZRINCgVtb2RlbBgBIAEoCRINCgVmaWVsZBgCIAEoCSLdAgoRQXBwSW5zdGFsbFByZXZpZXcSJAoIbWFuaWZlc3QYASABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIVCg1tYW5pZmVzdF9oYXNoGAIgASgJEhwKFG9wZXJhdGlvbnNfdG9fY3JlYXRlGAMgAygJEhcKD2hvb2tzX3RvX2NyZWF0ZRgEIAMoCRIcChRwbGFjZW1lbnRzX3RvX2NyZWF0ZRgFIAMoCRI6ChNjcmVkZW50aWFsX3N0cmF0ZWd5GAYgASgOMh0uYXBwcy52MS5DcmVkZW50aWFscy5TdHJhdGVneRIbChNzb3VyY2VfdHlwZXNfdG9fbWFwGAcgAygJEh0KFXNpbmtfY29udHJhY3RzX3RvX21hcBgIIAMoCRIpCiFwbGFjZW1lbnRzX3JlcXVpcmluZ19maWVsZF9jaG9pY2UYCSADKAkSEwoLd2ViaG9va191cmwYCiABKAki5wEKD0xpc3RBcHBzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRISCgVmaXJzdBgDIAEoBUgAiAEBEhIKBWFmdGVyGAQgASgJSAGIAQESEQoEbGFzdBgFIAEoBUgCiAEBEhMKBmJlZm9yZRgGIAEoCUgDiAEBEisKBXdoZXJlGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZUIICgZfd2hlcmUiiQEKEExpc3RBcHBzUmVzcG9uc2USGgoEYXBwcxgBIAMoCzIMLmFwcHMudjEuQXBwEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJECg1HZXRBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkiKwoOR2V0QXBwUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAiUAoRSW5zdGFsbEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFAoMbWFuaWZlc3RfdXJsGAMgASgJIokBChJJbnN0YWxsQXBwUmVzcG9uc2USFgoOaW5zdGFsbF90aWNrZXQYASABKAkSKwoHcHJldmlldxgCIAEoCzIaLmFwcHMudjEuQXBwSW5zdGFsbFByZXZpZXcSLgoKZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi/wQKGENvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdBIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRJOCg9zb3VyY2VfbWFwcGluZ3MYAiADKAsyNS5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkoKDXNpbmtfbWFwcGluZ3MYAyADKAsyMy5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5TaW5rTWFwcGluZ3NFbnRyeRIuCghzZXR0aW5ncxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJdChdwbGFjZW1lbnRfZmllbGRfY2hvaWNlcxgFIAMoCzI8LmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0LlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIGk0KE1NvdXJjZU1hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuYXBwcy52MS5Tb3VyY2VNYXBwaW5nOgI4ARpJChFTaW5rTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5hcHBzLnYxLlNpbmtNYXBwaW5nOgI4ARpbChpQbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5hcHBzLnYxLlBsYWNlbWVudEZpZWxkQ2hvaWNlOgI4AUILCglfc2V0dGluZ3MiNgoZQ29uZmlybUluc3RhbGxBcHBSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJHChBVcGRhdGVBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkilgEKEVVwZGF0ZUFwcFJlc3BvbnNlEhkKEW5ld19tYW5pZmVzdF9oYXNoGAEgASgJEigKDG5ld19tYW5pZmVzdBgCIAEoCzISLmFwcHMudjEuQXBwQ29uZmlnEigKB2NoYW5nZXMYAyADKAsyFy5hcHBzLnYxLk1hbmlmZXN0Q2hhbmdlEhIKCm5vX2NoYW5nZXMYBCABKAgiywEKDk1hbmlmZXN0Q2hhbmdlEiwKBWNsYXNzGAEgASgOMh0uYXBwcy52MS5NYW5pZmVzdENoYW5nZS5DbGFzcxIMCgRwYXRoGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJImgKBUNsYXNzEhUKEUNMQVNTX1VOU1BFQ0lGSUVEEAASEwoPQ0xBU1NfU0FGRV9BVVRPEAESHwobQ0xBU1NfUkVRVUlSRVNfQ09ORklSTUFUSU9OEAISEgoOQ0xBU1NfUkVKRUNURUQQAyJ4ChdDb25maXJtVXBkYXRlQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhkKEW5ld19tYW5pZmVzdF9oYXNoGAQgASgJEg0KBWZvcmNlGAUgASgIIjUKGENvbmZpcm1VcGRhdGVBcHBSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJZChNVbmluc3RhbGxBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDQoFZm9yY2UYBCABKAgiNwoUVW5pbnN0YWxsQXBwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZmb3JjZWQYAiABKAgi5gQKFFNldEFwcE1hcHBpbmdSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSSgoPc291cmNlX21hcHBpbmdzGAQgAygLMjEuYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkYKDXNpbmtfbWFwcGluZ3MYBSADKAsyLy5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0LlNpbmtNYXBwaW5nc0VudHJ5ElkKF3BsYWNlbWVudF9maWVsZF9jaG9pY2VzGAYgAygLMjguYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5QbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRIcChR1cGRhdGVfcHVzaF9zbmFwc2hvdBgHIAEoCBIVCg1zbmFwc2hvdF9vbmx5GAggASgIGk0KE1NvdXJjZU1hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuYXBwcy52MS5Tb3VyY2VNYXBwaW5nOgI4ARpJChFTaW5rTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5hcHBzLnYxLlNpbmtNYXBwaW5nOgI4ARpbChpQbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5hcHBzLnYxLlBsYWNlbWVudEZpZWxkQ2hvaWNlOgI4ASIyChVTZXRBcHBNYXBwaW5nUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAiVAoXVmFsaWRhdGVNYW5pZmVzdFJlcXVlc3QSFgoMbWFuaWZlc3RfdXJsGAEgASgJSAASFwoNbWFuaWZlc3RfanNvbhgCIAEoCUgAQggKBnNvdXJjZSK1AQoPVmFsaWRhdGlvbklzc3VlEjMKCHNldmVyaXR5GAEgASgOMiEuYXBwcy52MS5WYWxpZGF0aW9uSXNzdWUuU2V2ZXJpdHkSDAoEcGF0aBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIk4KCFNldmVyaXR5EhgKFFNFVkVSSVRZX1VOU1BFQ0lGSUVEEAASEgoOU0VWRVJJVFlfRVJST1IQARIUChBTRVZFUklUWV9XQVJOSU5HEAIiUAoYVmFsaWRhdGVNYW5pZmVzdFJlc3BvbnNlEigKBmlzc3VlcxgBIAMoCzIYLmFwcHMudjEuVmFsaWRhdGlvbklzc3VlEgoKAm9rGAIgASgIIo4BChdUcmlnZ2VyT3BlcmF0aW9uUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIVCg1vcGVyYXRpb25fa2V5GAMgASgJEisKBWlucHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl9pbnB1dCIwChhUcmlnZ2VyT3BlcmF0aW9uUmVzcG9uc2USFAoMZXhlY3V0aW9uX2lkGAEgASgJIn0KGUNvbXBsZXRlQXBwSW5zdGFsbFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkSJwoGdmFsdWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCItChpDb21wbGV0ZUFwcEluc3RhbGxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInwKGlJvdGF0ZUFwcENyZWRlbnRpYWxSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhIKCmZpZWxkX25hbWUYBCABKAkSEQoJcGxhaW50ZXh0GAUgASgMIi4KG1JvdGF0ZUFwcENyZWRlbnRpYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlgKHUdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJIlwKHkdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXNwb25zZRInCgZ2YWx1ZXMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCXBvcHVsYXRlZBgCIAEoCCJkCilBcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSI9CipBcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJVChpJc3N1ZUV4Y2hhbmdlVGlja2V0UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSJdChtJc3N1ZUV4Y2hhbmdlVGlja2V0UmVzcG9uc2USDgoGdGlja2V0GAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi0KG1JlZGVlbUV4Y2hhbmdlVGlja2V0UmVxdWVzdBIOCgZ0aWNrZXQYASABKAkiZAocUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXNwb25zZRIUCgxzY29wZWRfdG9rZW4YASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiMgoZUmVmcmVzaFNjb3BlZFRva2VuUmVxdWVzdBIVCg1jdXJyZW50X3Rva2VuGAEgASgJImIKGlJlZnJlc2hTY29wZWRUb2tlblJlc3BvbnNlEhQKDHNjb3BlZF90b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL7BAoJQXBwU3RhdHVzEhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEjUKDGxhc3Rfc3luY19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIiChVsYXN0X3N5bmNfZHVyYXRpb25fbXMYBSABKANIAYgBARIjChZsYXN0X3N5bmNfcmVjb3JkX2NvdW50GAYgASgDSAKIAQESFwoKbGFzdF9lcnJvchgHIAEoCUgDiAEBEjYKDWxhc3RfZXJyb3JfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoTc3Vic2NyaXB0aW9uX2hlYWx0aBgJIAEoCRITCgthdXRoX3N0YXR1cxgKIAEoCRIeChFkZWxldGlvbl9zdHJhdGVneRgLIAEoCUgFiAEBEisKBWV4dHJhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnVwZGF0ZWRfYnlfanRpGA4gASgJSAeIAQFCDwoNX2xhc3Rfc3luY19hdEIYChZfbGFzdF9zeW5jX2R1cmF0aW9uX21zQhkKF19sYXN0X3N5bmNfcmVjb3JkX2NvdW50Qg0KC19sYXN0X2Vycm9yQhAKDl9sYXN0X2Vycm9yX2F0QhQKEl9kZWxldGlvbl9zdHJhdGVneUIICgZfZXh0cmFCEQoPX3VwZGF0ZWRfYnlfanRpIk4KE0dldEFwcFN0YXR1c1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkiOgoUR2V0QXBwU3RhdHVzUmVzcG9uc2USIgoGc3RhdHVzGAEgASgLMhIuYXBwcy52MS5BcHBTdGF0dXMiPAoWVXBzZXJ0QXBwU3RhdHVzUmVxdWVzdBIiCgZzdGF0dXMYASABKAsyEi5hcHBzLnYxLkFwcFN0YXR1cyIqChdVcHNlcnRBcHBTdGF0dXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIuYBCghBcHBFdmVudBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIQCghhcHBfbmFtZRgEIAEoCRINCgVldmVudBgFIAEoCRISCgVhY3RvchgGIAEoCUgAiAEBEiwKBmRldGFpbBgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIvCgtvY2N1cnJlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGX2FjdG9yQgkKB19kZXRhaWwi/gEKFExpc3RBcHBFdmVudHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhIKBWFmdGVyGAQgASgJSACIAQESEwoGYmVmb3JlGAUgASgJSAGIAQESEgoFZmlyc3QYBiABKAVIAogBARIRCgRsYXN0GAcgASgFSAOIAQESKwoFd2hlcmUYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QggKBl93aGVyZSKGAQoVTGlzdEFwcEV2ZW50c1Jlc3BvbnNlEiEKBmV2ZW50cxgBIAMoCzIRLmFwcHMudjEuQXBwRXZlbnQSKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvMpgGCgtBcHBzU2VydmljZRI/CghMaXN0QXBwcxIYLmFwcHMudjEuTGlzdEFwcHNSZXF1ZXN0GhkuYXBwcy52MS5MaXN0QXBwc1Jlc3BvbnNlEjkKBkdldEFwcBIWLmFwcHMudjEuR2V0QXBwUmVxdWVzdBoXLmFwcHMudjEuR2V0QXBwUmVzcG9uc2USRQoKSW5zdGFsbEFwcBIaLmFwcHMudjEuSW5zdGFsbEFwcFJlcXVlc3QaGy5hcHBzLnYxLkluc3RhbGxBcHBSZXNwb25zZRJaChFDb25maXJtSW5zdGFsbEFwcBIhLmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0GiIuYXBwcy52MS5Db25maXJtSW5zdGFsbEFwcFJlc3BvbnNlEkIKCVVwZGF0ZUFwcBIZLmFwcHMudjEuVXBkYXRlQXBwUmVxdWVzdBoaLmFwcHMudjEuVXBkYXRlQXBwUmVzcG9uc2USVwoQQ29uZmlybVVwZGF0ZUFwcBIgLmFwcHMudjEuQ29uZmlybVVwZGF0ZUFwcFJlcXVlc3QaIS5hcHBzLnYxLkNvbmZpcm1VcGRhdGVBcHBSZXNwb25zZRJLCgxVbmluc3RhbGxBcHASHC5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlcXVlc3QaHS5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlc3BvbnNlEk4KDVNldEFwcE1hcHBpbmcSHS5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0Gh4uYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVzcG9uc2USVwoQVmFsaWRhdGVNYW5pZmVzdBIgLmFwcHMudjEuVmFsaWRhdGVNYW5pZmVzdFJlcXVlc3QaIS5hcHBzLnYxLlZhbGlkYXRlTWFuaWZlc3RSZXNwb25zZRJXChBUcmlnZ2VyT3BlcmF0aW9uEiAuYXBwcy52MS5UcmlnZ2VyT3BlcmF0aW9uUmVxdWVzdBohLmFwcHMudjEuVHJpZ2dlck9wZXJhdGlvblJlc3BvbnNlMr0DChZBcHBJbnN0YWxsYXRpb25TZXJ2aWNlEl0KEkNvbXBsZXRlQXBwSW5zdGFsbBIiLmFwcHMudjEuQ29tcGxldGVBcHBJbnN0YWxsUmVxdWVzdBojLmFwcHMudjEuQ29tcGxldGVBcHBJbnN0YWxsUmVzcG9uc2USYAoTUm90YXRlQXBwQ3JlZGVudGlhbBIjLmFwcHMudjEuUm90YXRlQXBwQ3JlZGVudGlhbFJlcXVlc3QaJC5hcHBzLnYxLlJvdGF0ZUFwcENyZWRlbnRpYWxSZXNwb25zZRJpChZHZXRBcHBDcmVkZW50aWFsU3RydWN0EiYuYXBwcy52MS5HZXRBcHBDcmVkZW50aWFsU3RydWN0UmVxdWVzdBonLmFwcHMudjEuR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlc3BvbnNlEncKDFVuaW5zdGFsbEFwcBIyLmFwcHMudjEuQXBwSW5zdGFsbGF0aW9uU2VydmljZVVuaW5zdGFsbEFwcFJlcXVlc3QaMy5hcHBzLnYxLkFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXNwb25zZTK2AgoOQXBwQXV0aFNlcnZpY2USYAoTSXNzdWVFeGNoYW5nZVRpY2tldBIjLmFwcHMudjEuSXNzdWVFeGNoYW5nZVRpY2tldFJlcXVlc3QaJC5hcHBzLnYxLklzc3VlRXhjaGFuZ2VUaWNrZXRSZXNwb25zZRJjChRSZWRlZW1FeGNoYW5nZVRpY2tldBIkLmFwcHMudjEuUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXF1ZXN0GiUuYXBwcy52MS5SZWRlZW1FeGNoYW5nZVRpY2tldFJlc3BvbnNlEl0KElJlZnJlc2hTY29wZWRUb2tlbhIiLmFwcHMudjEuUmVmcmVzaFNjb3BlZFRva2VuUmVxdWVzdBojLmFwcHMudjEuUmVmcmVzaFNjb3BlZFRva2VuUmVzcG9uc2UyhQIKEEFwcFN0YXR1c1NlcnZpY2USSwoMR2V0QXBwU3RhdHVzEhwuYXBwcy52MS5HZXRBcHBTdGF0dXNSZXF1ZXN0Gh0uYXBwcy52MS5HZXRBcHBTdGF0dXNSZXNwb25zZRJUCg9VcHNlcnRBcHBTdGF0dXMSHy5hcHBzLnYxLlVwc2VydEFwcFN0YXR1c1JlcXVlc3QaIC5hcHBzLnYxLlVwc2VydEFwcFN0YXR1c1Jlc3BvbnNlEk4KDUxpc3RBcHBFdmVudHMSHS5hcHBzLnYxLkxpc3RBcHBFdmVudHNSZXF1ZXN0Gh4uYXBwcy52MS5MaXN0QXBwRXZlbnRzUmVzcG9uc2VCNVozZ2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL2FwcHMvdjE7YXBwc3YxYgZwcm90bzM", [file_apps_v1_apps, file_google_protobuf_struct13, file_google_protobuf_timestamp14, file_common_v1_pagination]);
1157
- var AppSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 0);
1158
- var ListAppsRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 5);
1159
- var GetAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 7);
1160
- var InstallAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 9);
1161
- var ConfirmInstallAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 11);
1162
- var UpdateAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 13);
1163
- var ConfirmUpdateAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 16);
1164
- var UninstallAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 18);
1165
- var SetAppMappingRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 20);
1166
- var ValidateManifestRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 22);
1167
- var ValidateManifestResponseSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 24);
1168
- var TriggerOperationRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 25);
1169
- var CompleteAppInstallRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 27);
1170
- var RotateAppCredentialRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 29);
1171
- var GetAppCredentialStructRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 31);
1172
- var AppInstallationServiceUninstallAppRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 33);
1173
- var ListAppEventsRequestSchema = /* @__PURE__ */ messageDesc19(file_apps_v1_apps_service, 47);
1174
- var AppsService = /* @__PURE__ */ serviceDesc13(file_apps_v1_apps_service, 0);
1175
- var AppInstallationService = /* @__PURE__ */ serviceDesc13(file_apps_v1_apps_service, 1);
1176
- var AppStatusService = /* @__PURE__ */ serviceDesc13(file_apps_v1_apps_service, 3);
1161
+ import { file_google_protobuf_struct as file_google_protobuf_struct12, file_google_protobuf_timestamp as file_google_protobuf_timestamp13 } from "@bufbuild/protobuf/wkt";
1162
+ var file_apps_v1_apps_service = /* @__PURE__ */ fileDesc18("ChphcHBzL3YxL2FwcHNfc2VydmljZS5wcm90bxIHYXBwcy52MSKiBAoJUGxhY2VtZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCWNvbmZpZ19pZBgEIAEoCRILCgNrZXkYBSABKAkSKQoGdGFyZ2V0GAYgASgOMhkuYXBwcy52MS5QbGFjZW1lbnQuVGFyZ2V0EhIKBW1vZGVsGAcgASgJSACIAQESEgoFZmllbGQYCCABKAlIAYgBARIQCgN0YWIYCSABKAlIAogBARINCgV0aXRsZRgKIAEoCRILCgN1cmwYCyABKAkSGAoQcmVwbGFjZXNfZGVmYXVsdBgMIAEoCBIrCgVoaW50cxgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ0CgZUYXJnZXQSFgoSVEFSR0VUX1VOU1BFQ0lGSUVEEAASFAoQVEFSR0VUX0ZVTExfUEFHRRABEhYKElRBUkdFVF9NQUlOX0VESVRPUhACEhIKDlRBUkdFVF9TSURFQkFSEAMSEAoMVEFSR0VUX0ZJRUxEEARCCAoGX21vZGVsQggKBl9maWVsZEIGCgRfdGFiQggKBl9oaW50cyLtAQoVTGlzdFBsYWNlbWVudHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEisKBXdoZXJlGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAQgASgFSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBARIRCgRsYXN0GAYgASgFSAOIAQESEwoGYmVmb3JlGAcgASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSKbAQoWTGlzdFBsYWNlbWVudHNSZXNwb25zZRImCgpwbGFjZW1lbnRzGAEgAygLMhIuYXBwcy52MS5QbGFjZW1lbnQSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIoMCChxMaXN0UGxhY2VtZW50c0J5TW9kZWxSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEg0KBW1vZGVsGAMgASgJEisKBXdoZXJlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWZpcnN0GAUgASgFSAGIAQESEgoFYWZ0ZXIYBiABKAlIAogBARIRCgRsYXN0GAcgASgFSAOIAQESEwoGYmVmb3JlGAggASgJSASIAQFCCAoGX3doZXJlQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZSKiAQodTGlzdFBsYWNlbWVudHNCeU1vZGVsUmVzcG9uc2USJgoKcGxhY2VtZW50cxgBIAMoCzISLmFwcHMudjEuUGxhY2VtZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKRBAoDQXBwEgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEgwKBG5hbWUYBCABKAkSFAoMbWFuaWZlc3RfdXJsGAUgASgJEhUKDW1hbmlmZXN0X2hhc2gYBiABKAkSJAoIbWFuaWZlc3QYByABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIpCghzZXR0aW5ncxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWFwcGluZ3MYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYCiABKAgSMAoMaW5zdGFsbGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIZCgxpbnN0YWxsZWRfYnkYDCABKAlIAIgBARIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChRsYXN0X3B1c2hlZF9tYXBwaW5ncxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNwoObGFzdF9wdXNoZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQFCDwoNX2luc3RhbGxlZF9ieUIRCg9fbGFzdF9wdXNoZWRfYXQimQEKDVNvdXJjZU1hcHBpbmcSEAoIdG9fbW9kZWwYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkSMgoGZmllbGRzGAMgAygLMiIuYXBwcy52MS5Tb3VyY2VNYXBwaW5nLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEilQEKC1NpbmtNYXBwaW5nEhAKCHRvX21vZGVsGAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJEjAKBmZpZWxkcxgDIAMoCzIgLmFwcHMudjEuU2lua01hcHBpbmcuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0ChRQbGFjZW1lbnRGaWVsZENob2ljZRINCgVtb2RlbBgBIAEoCRINCgVmaWVsZBgCIAEoCSLdAgoRQXBwSW5zdGFsbFByZXZpZXcSJAoIbWFuaWZlc3QYASABKAsyEi5hcHBzLnYxLkFwcENvbmZpZxIVCg1tYW5pZmVzdF9oYXNoGAIgASgJEhwKFG9wZXJhdGlvbnNfdG9fY3JlYXRlGAMgAygJEhcKD2hvb2tzX3RvX2NyZWF0ZRgEIAMoCRIcChRwbGFjZW1lbnRzX3RvX2NyZWF0ZRgFIAMoCRI6ChNjcmVkZW50aWFsX3N0cmF0ZWd5GAYgASgOMh0uYXBwcy52MS5DcmVkZW50aWFscy5TdHJhdGVneRIbChNzb3VyY2VfdHlwZXNfdG9fbWFwGAcgAygJEh0KFXNpbmtfY29udHJhY3RzX3RvX21hcBgIIAMoCRIpCiFwbGFjZW1lbnRzX3JlcXVpcmluZ19maWVsZF9jaG9pY2UYCSADKAkSEwoLd2ViaG9va191cmwYCiABKAki5wEKD0xpc3RBcHBzUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRISCgVmaXJzdBgDIAEoBUgAiAEBEhIKBWFmdGVyGAQgASgJSAGIAQESEQoEbGFzdBgFIAEoBUgCiAEBEhMKBmJlZm9yZRgGIAEoCUgDiAEBEisKBXdoZXJlGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBQggKBl9maXJzdEIICgZfYWZ0ZXJCBwoFX2xhc3RCCQoHX2JlZm9yZUIICgZfd2hlcmUiiQEKEExpc3RBcHBzUmVzcG9uc2USGgoEYXBwcxgBIAMoCzIMLmFwcHMudjEuQXBwEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJECg1HZXRBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkiKwoOR2V0QXBwUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAiUAoRSW5zdGFsbEFwcFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSFAoMbWFuaWZlc3RfdXJsGAMgASgJIokBChJJbnN0YWxsQXBwUmVzcG9uc2USFgoOaW5zdGFsbF90aWNrZXQYASABKAkSKwoHcHJldmlldxgCIAEoCzIaLmFwcHMudjEuQXBwSW5zdGFsbFByZXZpZXcSLgoKZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi/wQKGENvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdBIWCg5pbnN0YWxsX3RpY2tldBgBIAEoCRJOCg9zb3VyY2VfbWFwcGluZ3MYAiADKAsyNS5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkoKDXNpbmtfbWFwcGluZ3MYAyADKAsyMy5hcHBzLnYxLkNvbmZpcm1JbnN0YWxsQXBwUmVxdWVzdC5TaW5rTWFwcGluZ3NFbnRyeRIuCghzZXR0aW5ncxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJdChdwbGFjZW1lbnRfZmllbGRfY2hvaWNlcxgFIAMoCzI8LmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0LlBsYWNlbWVudEZpZWxkQ2hvaWNlc0VudHJ5EhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIGk0KE1NvdXJjZU1hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuYXBwcy52MS5Tb3VyY2VNYXBwaW5nOgI4ARpJChFTaW5rTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5hcHBzLnYxLlNpbmtNYXBwaW5nOgI4ARpbChpQbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5hcHBzLnYxLlBsYWNlbWVudEZpZWxkQ2hvaWNlOgI4AUILCglfc2V0dGluZ3MiNgoZQ29uZmlybUluc3RhbGxBcHBSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJHChBVcGRhdGVBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkilgEKEVVwZGF0ZUFwcFJlc3BvbnNlEhkKEW5ld19tYW5pZmVzdF9oYXNoGAEgASgJEigKDG5ld19tYW5pZmVzdBgCIAEoCzISLmFwcHMudjEuQXBwQ29uZmlnEigKB2NoYW5nZXMYAyADKAsyFy5hcHBzLnYxLk1hbmlmZXN0Q2hhbmdlEhIKCm5vX2NoYW5nZXMYBCABKAgiywEKDk1hbmlmZXN0Q2hhbmdlEiwKBWNsYXNzGAEgASgOMh0uYXBwcy52MS5NYW5pZmVzdENoYW5nZS5DbGFzcxIMCgRwYXRoGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJImgKBUNsYXNzEhUKEUNMQVNTX1VOU1BFQ0lGSUVEEAASEwoPQ0xBU1NfU0FGRV9BVVRPEAESHwobQ0xBU1NfUkVRVUlSRVNfQ09ORklSTUFUSU9OEAISEgoOQ0xBU1NfUkVKRUNURUQQAyJ4ChdDb25maXJtVXBkYXRlQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhkKEW5ld19tYW5pZmVzdF9oYXNoGAQgASgJEg0KBWZvcmNlGAUgASgIIjUKGENvbmZpcm1VcGRhdGVBcHBSZXNwb25zZRIZCgNhcHAYASABKAsyDC5hcHBzLnYxLkFwcCJZChNVbmluc3RhbGxBcHBSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDQoFZm9yY2UYBCABKAgiNwoUVW5pbnN0YWxsQXBwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZmb3JjZWQYAiABKAgi5gQKFFNldEFwcE1hcHBpbmdSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSSgoPc291cmNlX21hcHBpbmdzGAQgAygLMjEuYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5Tb3VyY2VNYXBwaW5nc0VudHJ5EkYKDXNpbmtfbWFwcGluZ3MYBSADKAsyLy5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0LlNpbmtNYXBwaW5nc0VudHJ5ElkKF3BsYWNlbWVudF9maWVsZF9jaG9pY2VzGAYgAygLMjguYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVxdWVzdC5QbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRIcChR1cGRhdGVfcHVzaF9zbmFwc2hvdBgHIAEoCBIVCg1zbmFwc2hvdF9vbmx5GAggASgIGk0KE1NvdXJjZU1hcHBpbmdzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuYXBwcy52MS5Tb3VyY2VNYXBwaW5nOgI4ARpJChFTaW5rTWFwcGluZ3NFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5hcHBzLnYxLlNpbmtNYXBwaW5nOgI4ARpbChpQbGFjZW1lbnRGaWVsZENob2ljZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5hcHBzLnYxLlBsYWNlbWVudEZpZWxkQ2hvaWNlOgI4ASIyChVTZXRBcHBNYXBwaW5nUmVzcG9uc2USGQoDYXBwGAEgASgLMgwuYXBwcy52MS5BcHAiVAoXVmFsaWRhdGVNYW5pZmVzdFJlcXVlc3QSFgoMbWFuaWZlc3RfdXJsGAEgASgJSAASFwoNbWFuaWZlc3RfanNvbhgCIAEoCUgAQggKBnNvdXJjZSK1AQoPVmFsaWRhdGlvbklzc3VlEjMKCHNldmVyaXR5GAEgASgOMiEuYXBwcy52MS5WYWxpZGF0aW9uSXNzdWUuU2V2ZXJpdHkSDAoEcGF0aBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIk4KCFNldmVyaXR5EhgKFFNFVkVSSVRZX1VOU1BFQ0lGSUVEEAASEgoOU0VWRVJJVFlfRVJST1IQARIUChBTRVZFUklUWV9XQVJOSU5HEAIiUAoYVmFsaWRhdGVNYW5pZmVzdFJlc3BvbnNlEigKBmlzc3VlcxgBIAMoCzIYLmFwcHMudjEuVmFsaWRhdGlvbklzc3VlEgoKAm9rGAIgASgIIo4BChdUcmlnZ2VyT3BlcmF0aW9uUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIVCg1vcGVyYXRpb25fa2V5GAMgASgJEisKBWlucHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl9pbnB1dCIwChhUcmlnZ2VyT3BlcmF0aW9uUmVzcG9uc2USFAoMZXhlY3V0aW9uX2lkGAEgASgJIn0KGUNvbXBsZXRlQXBwSW5zdGFsbFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkSJwoGdmFsdWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCItChpDb21wbGV0ZUFwcEluc3RhbGxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIInwKGlJvdGF0ZUFwcENyZWRlbnRpYWxSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhIKCmZpZWxkX25hbWUYBCABKAkSEQoJcGxhaW50ZXh0GAUgASgMIi4KG1JvdGF0ZUFwcENyZWRlbnRpYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlgKHUdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJIlwKHkdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXNwb25zZRInCgZ2YWx1ZXMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCXBvcHVsYXRlZBgCIAEoCCJkCilBcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSI9CipBcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJVChpJc3N1ZUV4Y2hhbmdlVGlja2V0UmVxdWVzdBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIQCghhcHBfbmFtZRgDIAEoCSJdChtJc3N1ZUV4Y2hhbmdlVGlja2V0UmVzcG9uc2USDgoGdGlja2V0GAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi0KG1JlZGVlbUV4Y2hhbmdlVGlja2V0UmVxdWVzdBIOCgZ0aWNrZXQYASABKAkiZAocUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXNwb25zZRIUCgxzY29wZWRfdG9rZW4YASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiMgoZUmVmcmVzaFNjb3BlZFRva2VuUmVxdWVzdBIVCg1jdXJyZW50X3Rva2VuGAEgASgJImIKGlJlZnJlc2hTY29wZWRUb2tlblJlc3BvbnNlEhQKDHNjb3BlZF90b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL7BAoJQXBwU3RhdHVzEhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEjUKDGxhc3Rfc3luY19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIiChVsYXN0X3N5bmNfZHVyYXRpb25fbXMYBSABKANIAYgBARIjChZsYXN0X3N5bmNfcmVjb3JkX2NvdW50GAYgASgDSAKIAQESFwoKbGFzdF9lcnJvchgHIAEoCUgDiAEBEjYKDWxhc3RfZXJyb3JfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoTc3Vic2NyaXB0aW9uX2hlYWx0aBgJIAEoCRITCgthdXRoX3N0YXR1cxgKIAEoCRIeChFkZWxldGlvbl9zdHJhdGVneRgLIAEoCUgFiAEBEisKBWV4dHJhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnVwZGF0ZWRfYnlfanRpGA4gASgJSAeIAQFCDwoNX2xhc3Rfc3luY19hdEIYChZfbGFzdF9zeW5jX2R1cmF0aW9uX21zQhkKF19sYXN0X3N5bmNfcmVjb3JkX2NvdW50Qg0KC19sYXN0X2Vycm9yQhAKDl9sYXN0X2Vycm9yX2F0QhQKEl9kZWxldGlvbl9zdHJhdGVneUIICgZfZXh0cmFCEQoPX3VwZGF0ZWRfYnlfanRpIk4KE0dldEFwcFN0YXR1c1JlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIYXBwX25hbWUYAyABKAkiOgoUR2V0QXBwU3RhdHVzUmVzcG9uc2USIgoGc3RhdHVzGAEgASgLMhIuYXBwcy52MS5BcHBTdGF0dXMiPAoWVXBzZXJ0QXBwU3RhdHVzUmVxdWVzdBIiCgZzdGF0dXMYASABKAsyEi5hcHBzLnYxLkFwcFN0YXR1cyIqChdVcHNlcnRBcHBTdGF0dXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIuYBCghBcHBFdmVudBIKCgJpZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIQCghhcHBfbmFtZRgEIAEoCRINCgVldmVudBgFIAEoCRISCgVhY3RvchgGIAEoCUgAiAEBEiwKBmRldGFpbBgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIvCgtvY2N1cnJlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCAoGX2FjdG9yQgkKB19kZXRhaWwi/gEKFExpc3RBcHBFdmVudHNSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhAKCGFwcF9uYW1lGAMgASgJEhIKBWFmdGVyGAQgASgJSACIAQESEwoGYmVmb3JlGAUgASgJSAGIAQESEgoFZmlyc3QYBiABKAVIAogBARIRCgRsYXN0GAcgASgFSAOIAQESKwoFd2hlcmUYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QggKBl93aGVyZSKGAQoVTGlzdEFwcEV2ZW50c1Jlc3BvbnNlEiEKBmV2ZW50cxgBIAMoCzIRLmFwcHMudjEuQXBwRXZlbnQSKwoJcGFnZV9pbmZvGAIgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgDIAMoCUIMCgpfcGFnZV9pbmZvMtMHCgtBcHBzU2VydmljZRI/CghMaXN0QXBwcxIYLmFwcHMudjEuTGlzdEFwcHNSZXF1ZXN0GhkuYXBwcy52MS5MaXN0QXBwc1Jlc3BvbnNlEjkKBkdldEFwcBIWLmFwcHMudjEuR2V0QXBwUmVxdWVzdBoXLmFwcHMudjEuR2V0QXBwUmVzcG9uc2USRQoKSW5zdGFsbEFwcBIaLmFwcHMudjEuSW5zdGFsbEFwcFJlcXVlc3QaGy5hcHBzLnYxLkluc3RhbGxBcHBSZXNwb25zZRJaChFDb25maXJtSW5zdGFsbEFwcBIhLmFwcHMudjEuQ29uZmlybUluc3RhbGxBcHBSZXF1ZXN0GiIuYXBwcy52MS5Db25maXJtSW5zdGFsbEFwcFJlc3BvbnNlEkIKCVVwZGF0ZUFwcBIZLmFwcHMudjEuVXBkYXRlQXBwUmVxdWVzdBoaLmFwcHMudjEuVXBkYXRlQXBwUmVzcG9uc2USVwoQQ29uZmlybVVwZGF0ZUFwcBIgLmFwcHMudjEuQ29uZmlybVVwZGF0ZUFwcFJlcXVlc3QaIS5hcHBzLnYxLkNvbmZpcm1VcGRhdGVBcHBSZXNwb25zZRJLCgxVbmluc3RhbGxBcHASHC5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlcXVlc3QaHS5hcHBzLnYxLlVuaW5zdGFsbEFwcFJlc3BvbnNlEk4KDVNldEFwcE1hcHBpbmcSHS5hcHBzLnYxLlNldEFwcE1hcHBpbmdSZXF1ZXN0Gh4uYXBwcy52MS5TZXRBcHBNYXBwaW5nUmVzcG9uc2USVwoQVmFsaWRhdGVNYW5pZmVzdBIgLmFwcHMudjEuVmFsaWRhdGVNYW5pZmVzdFJlcXVlc3QaIS5hcHBzLnYxLlZhbGlkYXRlTWFuaWZlc3RSZXNwb25zZRJXChBUcmlnZ2VyT3BlcmF0aW9uEiAuYXBwcy52MS5UcmlnZ2VyT3BlcmF0aW9uUmVxdWVzdBohLmFwcHMudjEuVHJpZ2dlck9wZXJhdGlvblJlc3BvbnNlElEKDkxpc3RQbGFjZW1lbnRzEh4uYXBwcy52MS5MaXN0UGxhY2VtZW50c1JlcXVlc3QaHy5hcHBzLnYxLkxpc3RQbGFjZW1lbnRzUmVzcG9uc2USZgoVTGlzdFBsYWNlbWVudHNCeU1vZGVsEiUuYXBwcy52MS5MaXN0UGxhY2VtZW50c0J5TW9kZWxSZXF1ZXN0GiYuYXBwcy52MS5MaXN0UGxhY2VtZW50c0J5TW9kZWxSZXNwb25zZTK9AwoWQXBwSW5zdGFsbGF0aW9uU2VydmljZRJdChJDb21wbGV0ZUFwcEluc3RhbGwSIi5hcHBzLnYxLkNvbXBsZXRlQXBwSW5zdGFsbFJlcXVlc3QaIy5hcHBzLnYxLkNvbXBsZXRlQXBwSW5zdGFsbFJlc3BvbnNlEmAKE1JvdGF0ZUFwcENyZWRlbnRpYWwSIy5hcHBzLnYxLlJvdGF0ZUFwcENyZWRlbnRpYWxSZXF1ZXN0GiQuYXBwcy52MS5Sb3RhdGVBcHBDcmVkZW50aWFsUmVzcG9uc2USaQoWR2V0QXBwQ3JlZGVudGlhbFN0cnVjdBImLmFwcHMudjEuR2V0QXBwQ3JlZGVudGlhbFN0cnVjdFJlcXVlc3QaJy5hcHBzLnYxLkdldEFwcENyZWRlbnRpYWxTdHJ1Y3RSZXNwb25zZRJ3CgxVbmluc3RhbGxBcHASMi5hcHBzLnYxLkFwcEluc3RhbGxhdGlvblNlcnZpY2VVbmluc3RhbGxBcHBSZXF1ZXN0GjMuYXBwcy52MS5BcHBJbnN0YWxsYXRpb25TZXJ2aWNlVW5pbnN0YWxsQXBwUmVzcG9uc2UytgIKDkFwcEF1dGhTZXJ2aWNlEmAKE0lzc3VlRXhjaGFuZ2VUaWNrZXQSIy5hcHBzLnYxLklzc3VlRXhjaGFuZ2VUaWNrZXRSZXF1ZXN0GiQuYXBwcy52MS5Jc3N1ZUV4Y2hhbmdlVGlja2V0UmVzcG9uc2USYwoUUmVkZWVtRXhjaGFuZ2VUaWNrZXQSJC5hcHBzLnYxLlJlZGVlbUV4Y2hhbmdlVGlja2V0UmVxdWVzdBolLmFwcHMudjEuUmVkZWVtRXhjaGFuZ2VUaWNrZXRSZXNwb25zZRJdChJSZWZyZXNoU2NvcGVkVG9rZW4SIi5hcHBzLnYxLlJlZnJlc2hTY29wZWRUb2tlblJlcXVlc3QaIy5hcHBzLnYxLlJlZnJlc2hTY29wZWRUb2tlblJlc3BvbnNlMoUCChBBcHBTdGF0dXNTZXJ2aWNlEksKDEdldEFwcFN0YXR1cxIcLmFwcHMudjEuR2V0QXBwU3RhdHVzUmVxdWVzdBodLmFwcHMudjEuR2V0QXBwU3RhdHVzUmVzcG9uc2USVAoPVXBzZXJ0QXBwU3RhdHVzEh8uYXBwcy52MS5VcHNlcnRBcHBTdGF0dXNSZXF1ZXN0GiAuYXBwcy52MS5VcHNlcnRBcHBTdGF0dXNSZXNwb25zZRJOCg1MaXN0QXBwRXZlbnRzEh0uYXBwcy52MS5MaXN0QXBwRXZlbnRzUmVxdWVzdBoeLmFwcHMudjEuTGlzdEFwcEV2ZW50c1Jlc3BvbnNlQjVaM2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9hcHBzL3YxO2FwcHN2MWIGcHJvdG8z", [file_apps_v1_apps, file_google_protobuf_struct12, file_google_protobuf_timestamp13, file_common_v1_pagination]);
1163
+ var AppSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 5);
1164
+ var ListAppsRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 10);
1165
+ var GetAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 12);
1166
+ var InstallAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 14);
1167
+ var ConfirmInstallAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 16);
1168
+ var UpdateAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 18);
1169
+ var ConfirmUpdateAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 21);
1170
+ var UninstallAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 23);
1171
+ var SetAppMappingRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 25);
1172
+ var ValidateManifestRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 27);
1173
+ var ValidateManifestResponseSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 29);
1174
+ var TriggerOperationRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 30);
1175
+ var CompleteAppInstallRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 32);
1176
+ var RotateAppCredentialRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 34);
1177
+ var GetAppCredentialStructRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 36);
1178
+ var AppInstallationServiceUninstallAppRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 38);
1179
+ var ListAppEventsRequestSchema = /* @__PURE__ */ messageDesc18(file_apps_v1_apps_service, 52);
1180
+ var AppsService = /* @__PURE__ */ serviceDesc12(file_apps_v1_apps_service, 0);
1181
+ var AppInstallationService = /* @__PURE__ */ serviceDesc12(file_apps_v1_apps_service, 1);
1182
+ var AppStatusService = /* @__PURE__ */ serviceDesc12(file_apps_v1_apps_service, 3);
1177
1183
 
1178
1184
  // ../../packages/proto-ts/src/secrets/v1/secrets_pb.js
1179
- import { enumDesc as enumDesc13, fileDesc as fileDesc20, messageDesc as messageDesc20, serviceDesc as serviceDesc14, tsEnum as tsEnum13 } from "@bufbuild/protobuf/codegenv2";
1180
- import { file_google_protobuf_struct as file_google_protobuf_struct14, file_google_protobuf_timestamp as file_google_protobuf_timestamp15 } from "@bufbuild/protobuf/wkt";
1181
- var file_secrets_v1_secrets = /* @__PURE__ */ fileDesc20("ChhzZWNyZXRzL3YxL3NlY3JldHMucHJvdG8SCnNlY3JldHMudjEivQQKDlNlY3JldE1ldGFkYXRhEgsKA3JlZhgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIpCgpvd25lcl9raW5kGAQgASgOMhUuc2VjcmV0cy52MS5Pd25lcktpbmQSEAoIb3duZXJfaWQYBSABKAkSDQoFbGFiZWwYBiABKAkSMwoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI1CgxsYXN0X3JlYWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMwoPbGFzdF93cml0dGVuX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAsgASgJSAKIAQESOAoPc29mdF9kZWxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjQKC3B1cmdlX2FmdGVyGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBQg0KC19leHBpcmVzX2F0Qg8KDV9sYXN0X3JlYWRfYXRCDQoLX2NyZWF0ZWRfYnlCEgoQX3NvZnRfZGVsZXRlZF9hdEIOCgxfcHVyZ2VfYWZ0ZXIigwIKEFB1dFNlY3JldFJlcXVlc3QSGgoJdGVuYW50X2lkGAEgASgJQge6SARyAhABEhsKCnByb2plY3RfaWQYAiABKAlCB7pIBHICEAESNQoKb3duZXJfa2luZBgDIAEoDjIVLnNlY3JldHMudjEuT3duZXJLaW5kQgq6SAeCAQQQASAAEhAKCG93bmVyX2lkGAQgASgJEg0KBWxhYmVsGAUgASgJEhoKCXBsYWludGV4dBgGIAEoDEIHukgEegIQARIzCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg0KC19leHBpcmVzX2F0IiAKEVB1dFNlY3JldFJlc3BvbnNlEgsKA3JlZhgBIAEoCSI5ChBHZXRTZWNyZXRSZXF1ZXN0EhQKA3JlZhgBIAEoCUIHukgEcgIQARIPCgdwdXJwb3NlGAIgASgJIlQKEUdldFNlY3JldFJlc3BvbnNlEhEKCXBsYWludGV4dBgBIAEoDBIsCghtZXRhZGF0YRgCIAEoCzIaLnNlY3JldHMudjEuU2VjcmV0TWV0YWRhdGEi1wIKEkxpc3RTZWNyZXRzUmVxdWVzdBIaCgl0ZW5hbnRfaWQYASABKAlCB7pIBHICEAESGwoKcHJvamVjdF9pZBgCIAEoCUIHukgEcgIQARIpCgpvd25lcl9raW5kGAMgASgOMhUuc2VjcmV0cy52MS5Pd25lcktpbmQSEAoIb3duZXJfaWQYBCABKAkSHAoUaW5jbHVkZV9zb2Z0X2RlbGV0ZWQYBSABKAgSEgoFZmlyc3QYBiABKAVIAIgBARISCgVhZnRlchgHIAEoCUgBiAEBEhEKBGxhc3QYCCABKAVIAogBARITCgZiZWZvcmUYCSABKAlIA4gBARIrCgV3aGVyZRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBAUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmVCCAoGX3doZXJlIp0BChNMaXN0U2VjcmV0c1Jlc3BvbnNlEisKB3NlY3JldHMYASADKAsyGi5zZWNyZXRzLnYxLlNlY3JldE1ldGFkYXRhEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKLAQoTUm90YXRlU2VjcmV0UmVxdWVzdBIUCgNyZWYYASABKAlCB7pIBHICEAESGgoJcGxhaW50ZXh0GAIgASgMQge6SAR6AhABEjMKCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiJwoUUm90YXRlU2VjcmV0UmVzcG9uc2USDwoHbmV3X3JlZhgBIAEoCSIrChNEZWxldGVTZWNyZXRSZXF1ZXN0EhQKA3JlZhgBIAEoCUIHukgEcgIQASIWChREZWxldGVTZWNyZXRSZXNwb25zZSIsChRSZXN0b3JlU2VjcmV0UmVxdWVzdBIUCgNyZWYYASABKAlCB7pIBHICEAEiFwoVUmVzdG9yZVNlY3JldFJlc3BvbnNlIkAKF1B1cmdlU29mdERlbGV0ZWRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJIjAKGFB1cmdlU29mdERlbGV0ZWRSZXNwb25zZRIUCgxwdXJnZWRfY291bnQYASABKAMqbAoJT3duZXJLaW5kEhoKFk9XTkVSX0tJTkRfVU5TUEVDSUZJRUQQABIWChJPV05FUl9LSU5EX1BST0pFQ1QQARISCg5PV05FUl9LSU5EX0FQUBACEhcKE09XTkVSX0tJTkRfQ1VTVE9NRVIQAzLPBAoOU2VjcmV0c1NlcnZpY2USSAoJUHV0U2VjcmV0Ehwuc2VjcmV0cy52MS5QdXRTZWNyZXRSZXF1ZXN0Gh0uc2VjcmV0cy52MS5QdXRTZWNyZXRSZXNwb25zZRJICglHZXRTZWNyZXQSHC5zZWNyZXRzLnYxLkdldFNlY3JldFJlcXVlc3QaHS5zZWNyZXRzLnYxLkdldFNlY3JldFJlc3BvbnNlEk4KC0xpc3RTZWNyZXRzEh4uc2VjcmV0cy52MS5MaXN0U2VjcmV0c1JlcXVlc3QaHy5zZWNyZXRzLnYxLkxpc3RTZWNyZXRzUmVzcG9uc2USUQoMUm90YXRlU2VjcmV0Eh8uc2VjcmV0cy52MS5Sb3RhdGVTZWNyZXRSZXF1ZXN0GiAuc2VjcmV0cy52MS5Sb3RhdGVTZWNyZXRSZXNwb25zZRJRCgxEZWxldGVTZWNyZXQSHy5zZWNyZXRzLnYxLkRlbGV0ZVNlY3JldFJlcXVlc3QaIC5zZWNyZXRzLnYxLkRlbGV0ZVNlY3JldFJlc3BvbnNlElQKDVJlc3RvcmVTZWNyZXQSIC5zZWNyZXRzLnYxLlJlc3RvcmVTZWNyZXRSZXF1ZXN0GiEuc2VjcmV0cy52MS5SZXN0b3JlU2VjcmV0UmVzcG9uc2USXQoQUHVyZ2VTb2Z0RGVsZXRlZBIjLnNlY3JldHMudjEuUHVyZ2VTb2Z0RGVsZXRlZFJlcXVlc3QaJC5zZWNyZXRzLnYxLlB1cmdlU29mdERlbGV0ZWRSZXNwb25zZUI7WjlnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vc2VjcmV0cy92MTtzZWNyZXRzdjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_pagination, file_google_protobuf_struct14, file_google_protobuf_timestamp15]);
1182
- var PutSecretRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 1);
1183
- var GetSecretRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 3);
1184
- var ListSecretsRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 5);
1185
- var RotateSecretRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 7);
1186
- var DeleteSecretRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 9);
1187
- var RestoreSecretRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 11);
1188
- var PurgeSoftDeletedRequestSchema = /* @__PURE__ */ messageDesc20(file_secrets_v1_secrets, 13);
1185
+ import { enumDesc as enumDesc13, fileDesc as fileDesc19, messageDesc as messageDesc19, serviceDesc as serviceDesc13, tsEnum as tsEnum13 } from "@bufbuild/protobuf/codegenv2";
1186
+ import { file_google_protobuf_struct as file_google_protobuf_struct13, file_google_protobuf_timestamp as file_google_protobuf_timestamp14 } from "@bufbuild/protobuf/wkt";
1187
+ var file_secrets_v1_secrets = /* @__PURE__ */ fileDesc19("ChhzZWNyZXRzL3YxL3NlY3JldHMucHJvdG8SCnNlY3JldHMudjEivQQKDlNlY3JldE1ldGFkYXRhEgsKA3JlZhgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSEgoKcHJvamVjdF9pZBgDIAEoCRIpCgpvd25lcl9raW5kGAQgASgOMhUuc2VjcmV0cy52MS5Pd25lcktpbmQSEAoIb3duZXJfaWQYBSABKAkSDQoFbGFiZWwYBiABKAkSMwoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI1CgxsYXN0X3JlYWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMwoPbGFzdF93cml0dGVuX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAsgASgJSAKIAQESOAoPc29mdF9kZWxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjQKC3B1cmdlX2FmdGVyGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBQg0KC19leHBpcmVzX2F0Qg8KDV9sYXN0X3JlYWRfYXRCDQoLX2NyZWF0ZWRfYnlCEgoQX3NvZnRfZGVsZXRlZF9hdEIOCgxfcHVyZ2VfYWZ0ZXIigwIKEFB1dFNlY3JldFJlcXVlc3QSGgoJdGVuYW50X2lkGAEgASgJQge6SARyAhABEhsKCnByb2plY3RfaWQYAiABKAlCB7pIBHICEAESNQoKb3duZXJfa2luZBgDIAEoDjIVLnNlY3JldHMudjEuT3duZXJLaW5kQgq6SAeCAQQQASAAEhAKCG93bmVyX2lkGAQgASgJEg0KBWxhYmVsGAUgASgJEhoKCXBsYWludGV4dBgGIAEoDEIHukgEegIQARIzCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg0KC19leHBpcmVzX2F0IiAKEVB1dFNlY3JldFJlc3BvbnNlEgsKA3JlZhgBIAEoCSI5ChBHZXRTZWNyZXRSZXF1ZXN0EhQKA3JlZhgBIAEoCUIHukgEcgIQARIPCgdwdXJwb3NlGAIgASgJIlQKEUdldFNlY3JldFJlc3BvbnNlEhEKCXBsYWludGV4dBgBIAEoDBIsCghtZXRhZGF0YRgCIAEoCzIaLnNlY3JldHMudjEuU2VjcmV0TWV0YWRhdGEi1wIKEkxpc3RTZWNyZXRzUmVxdWVzdBIaCgl0ZW5hbnRfaWQYASABKAlCB7pIBHICEAESGwoKcHJvamVjdF9pZBgCIAEoCUIHukgEcgIQARIpCgpvd25lcl9raW5kGAMgASgOMhUuc2VjcmV0cy52MS5Pd25lcktpbmQSEAoIb3duZXJfaWQYBCABKAkSHAoUaW5jbHVkZV9zb2Z0X2RlbGV0ZWQYBSABKAgSEgoFZmlyc3QYBiABKAVIAIgBARISCgVhZnRlchgHIAEoCUgBiAEBEhEKBGxhc3QYCCABKAVIAogBARITCgZiZWZvcmUYCSABKAlIA4gBARIrCgV3aGVyZRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBAUIICgZfZmlyc3RCCAoGX2FmdGVyQgcKBV9sYXN0QgkKB19iZWZvcmVCCAoGX3doZXJlIp0BChNMaXN0U2VjcmV0c1Jlc3BvbnNlEisKB3NlY3JldHMYASADKAsyGi5zZWNyZXRzLnYxLlNlY3JldE1ldGFkYXRhEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKLAQoTUm90YXRlU2VjcmV0UmVxdWVzdBIUCgNyZWYYASABKAlCB7pIBHICEAESGgoJcGxhaW50ZXh0GAIgASgMQge6SAR6AhABEjMKCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiJwoUUm90YXRlU2VjcmV0UmVzcG9uc2USDwoHbmV3X3JlZhgBIAEoCSIrChNEZWxldGVTZWNyZXRSZXF1ZXN0EhQKA3JlZhgBIAEoCUIHukgEcgIQASIWChREZWxldGVTZWNyZXRSZXNwb25zZSIsChRSZXN0b3JlU2VjcmV0UmVxdWVzdBIUCgNyZWYYASABKAlCB7pIBHICEAEiFwoVUmVzdG9yZVNlY3JldFJlc3BvbnNlIkAKF1B1cmdlU29mdERlbGV0ZWRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJIjAKGFB1cmdlU29mdERlbGV0ZWRSZXNwb25zZRIUCgxwdXJnZWRfY291bnQYASABKAMqbAoJT3duZXJLaW5kEhoKFk9XTkVSX0tJTkRfVU5TUEVDSUZJRUQQABIWChJPV05FUl9LSU5EX1BST0pFQ1QQARISCg5PV05FUl9LSU5EX0FQUBACEhcKE09XTkVSX0tJTkRfQ1VTVE9NRVIQAzLPBAoOU2VjcmV0c1NlcnZpY2USSAoJUHV0U2VjcmV0Ehwuc2VjcmV0cy52MS5QdXRTZWNyZXRSZXF1ZXN0Gh0uc2VjcmV0cy52MS5QdXRTZWNyZXRSZXNwb25zZRJICglHZXRTZWNyZXQSHC5zZWNyZXRzLnYxLkdldFNlY3JldFJlcXVlc3QaHS5zZWNyZXRzLnYxLkdldFNlY3JldFJlc3BvbnNlEk4KC0xpc3RTZWNyZXRzEh4uc2VjcmV0cy52MS5MaXN0U2VjcmV0c1JlcXVlc3QaHy5zZWNyZXRzLnYxLkxpc3RTZWNyZXRzUmVzcG9uc2USUQoMUm90YXRlU2VjcmV0Eh8uc2VjcmV0cy52MS5Sb3RhdGVTZWNyZXRSZXF1ZXN0GiAuc2VjcmV0cy52MS5Sb3RhdGVTZWNyZXRSZXNwb25zZRJRCgxEZWxldGVTZWNyZXQSHy5zZWNyZXRzLnYxLkRlbGV0ZVNlY3JldFJlcXVlc3QaIC5zZWNyZXRzLnYxLkRlbGV0ZVNlY3JldFJlc3BvbnNlElQKDVJlc3RvcmVTZWNyZXQSIC5zZWNyZXRzLnYxLlJlc3RvcmVTZWNyZXRSZXF1ZXN0GiEuc2VjcmV0cy52MS5SZXN0b3JlU2VjcmV0UmVzcG9uc2USXQoQUHVyZ2VTb2Z0RGVsZXRlZBIjLnNlY3JldHMudjEuUHVyZ2VTb2Z0RGVsZXRlZFJlcXVlc3QaJC5zZWNyZXRzLnYxLlB1cmdlU29mdERlbGV0ZWRSZXNwb25zZUI7WjlnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vc2VjcmV0cy92MTtzZWNyZXRzdjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_pagination, file_google_protobuf_struct13, file_google_protobuf_timestamp14]);
1188
+ var PutSecretRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 1);
1189
+ var GetSecretRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 3);
1190
+ var ListSecretsRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 5);
1191
+ var RotateSecretRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 7);
1192
+ var DeleteSecretRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 9);
1193
+ var RestoreSecretRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 11);
1194
+ var PurgeSoftDeletedRequestSchema = /* @__PURE__ */ messageDesc19(file_secrets_v1_secrets, 13);
1189
1195
  var OwnerKindSchema = /* @__PURE__ */ enumDesc13(file_secrets_v1_secrets, 0);
1190
1196
  var OwnerKind = /* @__PURE__ */ tsEnum13(OwnerKindSchema);
1191
- var SecretsService = /* @__PURE__ */ serviceDesc14(file_secrets_v1_secrets, 0);
1197
+ var SecretsService = /* @__PURE__ */ serviceDesc13(file_secrets_v1_secrets, 0);
1192
1198
 
1193
1199
  // ../../packages/rpc-core/src/identity.ts
1194
1200
  import { create } from "@bufbuild/protobuf";
@@ -1624,6 +1630,190 @@ function createIdentityMethods(client) {
1624
1630
  );
1625
1631
  return { success: resp.success };
1626
1632
  },
1633
+ // ── Project Groups (EID-358/359/361) ──────────────────
1634
+ // Tenant-level control plane over related projects (environment | fleet).
1635
+ // Per-project DATA isolation never moves; these drive the schema/deploy
1636
+ // promote/broadcast axes. Fleet mode is ungated (selectable by any tenant).
1637
+ async listProjectGroups(tenantId) {
1638
+ const resp = await client.listProjectGroups(
1639
+ create(ListProjectGroupsRequestSchema, { tenantId })
1640
+ );
1641
+ return { items: resp.items ?? [], total: Number(resp.total) };
1642
+ },
1643
+ // EID-388: set or clear a tenant's project-limit override. The backend RPC
1644
+ // is exposed here for completeness (maps both request fields).
1645
+ async setTenantProjectLimitOverride(params) {
1646
+ return client.setTenantProjectLimitOverride(
1647
+ create(SetTenantProjectLimitOverrideRequestSchema, {
1648
+ tenantId: params.tenantId,
1649
+ projectLimitOverride: params.projectLimitOverride
1650
+ })
1651
+ );
1652
+ },
1653
+ async createProjectGroup(params) {
1654
+ const resp = await client.createProjectGroup(
1655
+ create(CreateProjectGroupRequestSchema, {
1656
+ tenantId: params.tenantId,
1657
+ name: params.name,
1658
+ mode: params.mode,
1659
+ sourceProjectId: params.sourceProjectId
1660
+ })
1661
+ );
1662
+ return resp.group ?? null;
1663
+ },
1664
+ async getProjectGroup(id) {
1665
+ const resp = await client.getProjectGroup(
1666
+ create(GetProjectGroupRequestSchema, { id })
1667
+ );
1668
+ return resp.group ?? null;
1669
+ },
1670
+ async updateProjectGroup(params) {
1671
+ const resp = await client.updateProjectGroup(
1672
+ create(UpdateProjectGroupRequestSchema, {
1673
+ id: params.id,
1674
+ name: params.name,
1675
+ mode: params.mode,
1676
+ sourceProjectId: params.sourceProjectId
1677
+ })
1678
+ );
1679
+ return resp.group ?? null;
1680
+ },
1681
+ async deleteProjectGroup(id) {
1682
+ const resp = await client.deleteProjectGroup(
1683
+ create(DeleteProjectGroupRequestSchema, { id })
1684
+ );
1685
+ return { success: resp.success };
1686
+ },
1687
+ async addProjectToGroup(params) {
1688
+ const resp = await client.addProjectToGroup(
1689
+ create(AddProjectToGroupRequestSchema, {
1690
+ groupId: params.groupId,
1691
+ projectId: params.projectId,
1692
+ role: params.role,
1693
+ stageOrder: params.stageOrder
1694
+ })
1695
+ );
1696
+ return resp.member ?? null;
1697
+ },
1698
+ async removeProjectFromGroup(params) {
1699
+ const resp = await client.removeProjectFromGroup(
1700
+ create(RemoveProjectFromGroupRequestSchema, {
1701
+ groupId: params.groupId,
1702
+ projectId: params.projectId
1703
+ })
1704
+ );
1705
+ return { success: resp.success };
1706
+ },
1707
+ async getProjectGroupStatus(groupId) {
1708
+ const resp = await client.getProjectGroupStatus(
1709
+ create(GetProjectGroupStatusRequestSchema, { groupId })
1710
+ );
1711
+ return {
1712
+ sourceSchemaVersion: resp.sourceSchemaVersion,
1713
+ sourceDeployVersion: resp.sourceDeployVersion,
1714
+ members: resp.members ?? []
1715
+ };
1716
+ },
1717
+ async getProjectGroupDrift(groupId) {
1718
+ const resp = await client.getProjectGroupDrift(
1719
+ create(GetProjectGroupDriftRequestSchema, { groupId })
1720
+ );
1721
+ return { clients: resp.clients ?? [] };
1722
+ },
1723
+ // ── Project Group actions (EID-363 v1b): promote / broadcast / provision ──
1724
+ // Gated server-side on the validated principal (tc_ control cred or
1725
+ // tenant-owner); the client sends no privilege hints. status/state are
1726
+ // plain strings (e.g. completed / failed / running, applied / held / skipped).
1727
+ async promoteSchema(params) {
1728
+ const resp = await client.promoteSchema(
1729
+ create(PromoteSchemaRequestSchema, {
1730
+ sourceProjectId: params.sourceProjectId,
1731
+ groupId: params.groupId,
1732
+ confirmBreaking: params.confirmBreaking ?? false,
1733
+ canaryOnly: params.canaryOnly ?? false,
1734
+ targetProjectIds: params.targetProjectIds ?? []
1735
+ })
1736
+ );
1737
+ return {
1738
+ jobId: resp.jobId,
1739
+ status: resp.status,
1740
+ targets: resp.targets ?? []
1741
+ };
1742
+ },
1743
+ async getPromoteStatus(jobId) {
1744
+ const resp = await client.getPromoteStatus(
1745
+ create(GetPromoteStatusRequestSchema, { jobId })
1746
+ );
1747
+ return {
1748
+ jobId: resp.jobId,
1749
+ status: resp.status,
1750
+ targets: resp.targets ?? []
1751
+ };
1752
+ },
1753
+ async broadcastDeploy(params) {
1754
+ const resp = await client.broadcastDeploy(
1755
+ create(BroadcastDeployRequestSchema, {
1756
+ sourceProjectId: params.sourceProjectId,
1757
+ groupId: params.groupId,
1758
+ canaryOnly: params.canaryOnly ?? false,
1759
+ targetProjectIds: params.targetProjectIds ?? [],
1760
+ sourceDeployVersion: params.sourceDeployVersion
1761
+ })
1762
+ );
1763
+ return {
1764
+ jobId: resp.jobId,
1765
+ status: resp.status,
1766
+ targets: resp.targets ?? []
1767
+ };
1768
+ },
1769
+ async getBroadcastStatus(jobId) {
1770
+ const resp = await client.getBroadcastStatus(
1771
+ create(GetBroadcastStatusRequestSchema, { jobId })
1772
+ );
1773
+ return {
1774
+ jobId: resp.jobId,
1775
+ status: resp.status,
1776
+ targets: resp.targets ?? []
1777
+ };
1778
+ },
1779
+ async provisionProject(params) {
1780
+ const resp = await client.provisionProject(
1781
+ create(ProvisionProjectRequestSchema, {
1782
+ provisionId: params.provisionId,
1783
+ tenantId: params.tenantId,
1784
+ groupId: params.groupId,
1785
+ name: params.name,
1786
+ branding: params.branding,
1787
+ appId: params.appId,
1788
+ appSecretLabel: params.appSecretLabel,
1789
+ appSecretValue: params.appSecretValue,
1790
+ manifestUrl: params.manifestUrl,
1791
+ appMappings: params.appMappings,
1792
+ allowListKeyIds: params.allowListKeyIds ?? []
1793
+ })
1794
+ );
1795
+ return {
1796
+ provisionId: resp.provisionId,
1797
+ projectId: resp.projectId,
1798
+ schemaVersion: resp.schemaVersion,
1799
+ deployVersion: resp.deployVersion,
1800
+ status: resp.status,
1801
+ steps: resp.steps ?? null
1802
+ };
1803
+ },
1804
+ async getProvisionStatus(provisionId) {
1805
+ const resp = await client.getProvisionStatus(
1806
+ create(GetProvisionStatusRequestSchema, { provisionId })
1807
+ );
1808
+ return {
1809
+ provisionId: resp.provisionId,
1810
+ projectId: resp.projectId,
1811
+ schemaVersion: resp.schemaVersion,
1812
+ deployVersion: resp.deployVersion,
1813
+ status: resp.status,
1814
+ steps: resp.steps ?? null
1815
+ };
1816
+ },
1627
1817
  async getDefaultProject(tenantId) {
1628
1818
  const resp = await client.getDefaultProject(
1629
1819
  create(GetDefaultProjectRequestSchema, { tenantId })
@@ -1787,7 +1977,8 @@ function createIdentityMethods(client) {
1787
1977
  expiresAt: params.expiresAt ? timestampFromDate(new Date(params.expiresAt)) : void 0,
1788
1978
  allowedModels: params.allowedModels,
1789
1979
  allowedFileTypes: params.allowedFileTypes,
1790
- configId: params.configId
1980
+ configId: params.configId,
1981
+ projectIds: params.projectIds
1791
1982
  })
1792
1983
  );
1793
1984
  return { apiKey: resp.apiKey ?? null };
@@ -2347,6 +2538,42 @@ function createIdentityMethods(client) {
2347
2538
  await client.revokeRelyingPartyGrant(
2348
2539
  create(RevokeRelyingPartyGrantRequestSchema, { id })
2349
2540
  );
2541
+ },
2542
+ // ── MFA step-up + enrollment (EID-298 P3 — platform-mediated BFF) ──
2543
+ // The platform drives the native Kratos aal2/settings flows server-side; the
2544
+ // browser only runs navigator.credentials.* with the relayed options.
2545
+ async beginStepUp(password) {
2546
+ const resp = await client.beginStepUp(
2547
+ create(BeginStepUpRequestSchema, { password })
2548
+ );
2549
+ return {
2550
+ handle: resp.handle,
2551
+ webauthn: resp.webauthn,
2552
+ totp: resp.totp,
2553
+ webauthnOptionsJson: resp.webauthnOptionsJson
2554
+ };
2555
+ },
2556
+ async completeStepUp(params) {
2557
+ const resp = await client.completeStepUp(
2558
+ create(CompleteStepUpRequestSchema, params)
2559
+ );
2560
+ return { steppedUp: resp.steppedUp, amr: resp.amr };
2561
+ },
2562
+ async beginMfaEnrollment(password, method) {
2563
+ const resp = await client.beginMfaEnrollment(
2564
+ create(BeginMfaEnrollmentRequestSchema, { password, method })
2565
+ );
2566
+ return {
2567
+ handle: resp.handle,
2568
+ webauthnOptionsJson: resp.webauthnOptionsJson,
2569
+ totpSecret: resp.totpSecret,
2570
+ totpQr: resp.totpQr
2571
+ };
2572
+ },
2573
+ async completeMfaEnrollment(params) {
2574
+ await client.completeMfaEnrollment(
2575
+ create(CompleteMfaEnrollmentRequestSchema, params)
2576
+ );
2350
2577
  }
2351
2578
  };
2352
2579
  }
@@ -2498,13 +2725,17 @@ function stripUndefined(obj) {
2498
2725
  }
2499
2726
  return result;
2500
2727
  }
2728
+ var RELATIONSHIP_KIND_ASSOCIATION_READ = 3;
2501
2729
  function relationshipKindToProto(kind) {
2502
2730
  if (kind === "composition") return RelationshipKind.COMPOSITION;
2731
+ if (kind === "association_read") return RELATIONSHIP_KIND_ASSOCIATION_READ;
2503
2732
  if (kind === "association") return RelationshipKind.ASSOCIATION;
2504
2733
  return RelationshipKind.UNSPECIFIED;
2505
2734
  }
2506
2735
  function relationshipKindFromProto(k) {
2507
- return k === RelationshipKind.COMPOSITION ? "composition" : "association";
2736
+ if (k === RelationshipKind.COMPOSITION) return "composition";
2737
+ if (k === RELATIONSHIP_KIND_ASSOCIATION_READ) return "association_read";
2738
+ return "association";
2508
2739
  }
2509
2740
  function fieldConfigWithRelationship(f) {
2510
2741
  const config2 = {
@@ -2561,7 +2792,6 @@ function jsConfigToProto(c) {
2561
2792
  variants: c.variants ?? false,
2562
2793
  inline: c.inline ?? false,
2563
2794
  singleton: c.singleton ?? false,
2564
- customerContext: c.customerContext ?? false,
2565
2795
  access: c.access ? create3(AccessConfigSchema, {
2566
2796
  ownerPlane: ownerPlaneFromJs(c.access.ownerPlane),
2567
2797
  defaultVisibility: c.access.defaultVisibility
@@ -2726,6 +2956,18 @@ function createModelsMethods(client) {
2726
2956
  breakingChanges: resp.breakingChanges ?? []
2727
2957
  };
2728
2958
  },
2959
+ // Atomically publish several models as one release — single transaction,
2960
+ // one cache invalidation, all-or-nothing. Breaking changes are aggregated
2961
+ // across the set (each carries entity_key).
2962
+ async publishModels(ids) {
2963
+ const resp = await client.publishModels(
2964
+ create3(PublishModelsRequestSchema, { ids })
2965
+ );
2966
+ return {
2967
+ models: resp.models ?? [],
2968
+ breakingChanges: resp.breakingChanges ?? []
2969
+ };
2970
+ },
2729
2971
  async unpublishModel(id) {
2730
2972
  const resp = await client.unpublishModel(
2731
2973
  create3(UnpublishModelRequestSchema, { id })
@@ -2738,6 +2980,14 @@ function createModelsMethods(client) {
2738
2980
  );
2739
2981
  return resp.status ?? null;
2740
2982
  },
2983
+ // Reverts the live draft (fields + config) back to the published
2984
+ // snapshot, clearing pending changes. Requires a prior publish.
2985
+ async discardDraft(id) {
2986
+ const resp = await client.discardDraft(
2987
+ create3(DiscardDraftRequestSchema, { id })
2988
+ );
2989
+ return resp.model ?? null;
2990
+ },
2741
2991
  // ── Scheduled publishing ──────────────────────────────────
2742
2992
  async scheduleModelPublish(id, publishAt, unpublishAt) {
2743
2993
  const resp = await client.scheduleModelPublish(
@@ -3176,6 +3426,72 @@ function createRecordsMethods(client) {
3176
3426
  );
3177
3427
  return resp.results ?? [];
3178
3428
  },
3429
+ // ── Geo proximity (EID-408) ──────────────────────────────
3430
+ // Geo analog of searchEmbeddings / findSimilarRecords: proximity by
3431
+ // true metric distance instead of vector similarity.
3432
+ async searchByLocation(params) {
3433
+ const resp = await client.searchByLocation(
3434
+ create4(SearchByLocationRequestSchema, {
3435
+ lat: params.lat,
3436
+ lng: params.lng,
3437
+ radiusMeters: params.radiusMeters,
3438
+ modelKey: params.modelKey,
3439
+ key: params.key,
3440
+ first: params.first ?? 10,
3441
+ after: params.after,
3442
+ last: params.last,
3443
+ before: params.before
3444
+ })
3445
+ );
3446
+ return resp.results ?? [];
3447
+ },
3448
+ async findNearestRecords(params) {
3449
+ const resp = await client.findNearestRecords(
3450
+ create4(FindNearestRecordsRequestSchema, {
3451
+ recordId: params.recordId,
3452
+ radiusMeters: params.radiusMeters,
3453
+ modelKey: params.modelKey,
3454
+ first: params.first ?? 10,
3455
+ after: params.after,
3456
+ last: params.last,
3457
+ before: params.before
3458
+ })
3459
+ );
3460
+ return resp.records ?? [];
3461
+ },
3462
+ // RecordsMissingGeometry lists the records of a model with no materialized
3463
+ // point for a geometry slot (the geo analog of RecordsMissingEmbedding) —
3464
+ // the coverage gap a backfill needs to fill. Forward cursor pagination on
3465
+ // record id; `total` is the full count.
3466
+ async recordsMissingGeometry(params) {
3467
+ const resp = await client.recordsMissingGeometry(
3468
+ create4(RecordsMissingGeometryRequestSchema, {
3469
+ modelKey: params.modelKey,
3470
+ key: params.key,
3471
+ first: params.first ?? DEFAULT_PAGE_SIZE,
3472
+ after: params.after
3473
+ })
3474
+ );
3475
+ const pi = resp.pageInfo;
3476
+ return {
3477
+ records: resp.records ?? [],
3478
+ total: resp.total,
3479
+ hasNextPage: pi?.hasNextPage ?? false,
3480
+ endCursor: pi?.endCursor ?? "",
3481
+ cursors: resp.cursors ?? []
3482
+ };
3483
+ },
3484
+ // BackfillRecordGeometry walks every record of a model and (re)materializes
3485
+ // its geopoint fields into record_geometry (the geo analog of
3486
+ // BackfillQueryableIndex). Idempotent; returns the count of records indexed.
3487
+ async backfillRecordGeometry(params) {
3488
+ const resp = await client.backfillRecordGeometry(
3489
+ create4(BackfillRecordGeometryRequestSchema, {
3490
+ modelKey: params.modelKey
3491
+ })
3492
+ );
3493
+ return resp.recordsIndexed ?? 0;
3494
+ },
3179
3495
  // ── Lookups (Stage 5 admin surfaces) ──────────────────────
3180
3496
  /**
3181
3497
  * Inline-validation check for record-edit forms. Returns true
@@ -3297,7 +3613,8 @@ function createRealtimeMethods(client) {
3297
3613
  projectId: params.projectId ?? "",
3298
3614
  roomNamespace: params.roomNamespace,
3299
3615
  roomId: params.roomId,
3300
- capability: params.capability
3616
+ capability: params.capability,
3617
+ roomVariant: params.roomVariant ?? ""
3301
3618
  })
3302
3619
  );
3303
3620
  return {
@@ -3424,7 +3741,10 @@ function createConfigsMethods(client) {
3424
3741
  };
3425
3742
  }
3426
3743
 
3427
- // ../../packages/rpc-core/src/segments.ts
3744
+ // ../../packages/rpc-core/src/settings.ts
3745
+ import { create as create8 } from "@bufbuild/protobuf";
3746
+
3747
+ // ../../packages/rpc-core/src/rules.ts
3428
3748
  import { create as create7 } from "@bufbuild/protobuf";
3429
3749
  function rawOperandToProto(raw) {
3430
3750
  return create7(RuleOperandSchema, {
@@ -3447,117 +3767,13 @@ function rawRulesToProto(raw) {
3447
3767
  value: raw.value !== void 0 ? JSON.stringify(raw.value ?? null) : void 0
3448
3768
  });
3449
3769
  }
3450
- function createSegmentsMethods(client) {
3451
- return {
3452
- // ── Queries ──────────────────────────────────────────────
3453
- async getSegment(id) {
3454
- const resp = await client.getSegment(
3455
- create7(GetSegmentRequestSchema, { id })
3456
- );
3457
- return resp.segment ?? null;
3458
- },
3459
- async getSegmentByKey(key) {
3460
- const resp = await client.getSegmentByKey(
3461
- create7(GetSegmentByKeyRequestSchema, { key })
3462
- );
3463
- return resp.segment ?? null;
3464
- },
3465
- async listSegments(params = {}) {
3466
- return client.listSegments(
3467
- create7(ListSegmentsRequestSchema, {
3468
- where: params.where,
3469
- first: params.first ?? DEFAULT_PAGE_SIZE,
3470
- after: params.after,
3471
- last: params.last,
3472
- before: params.before
3473
- })
3474
- );
3475
- },
3476
- // ── Mutations ────────────────────────────────────────────
3477
- async createSegment(params) {
3478
- const rules = params.rules && !("$typeName" in params.rules) ? rawRulesToProto(params.rules) : params.rules;
3479
- const resp = await client.createSegment(
3480
- create7(CreateSegmentRequestSchema, {
3481
- key: params.key,
3482
- name: params.name,
3483
- description: params.description,
3484
- rules,
3485
- evaluationMode: params.evaluationMode,
3486
- isActive: params.isActive,
3487
- manualMemberIds: params.manualMemberIds,
3488
- manualMemberMode: params.manualMemberMode,
3489
- configId: params.configId
3490
- })
3491
- );
3492
- return resp.segment ?? null;
3493
- },
3494
- async updateSegment(params) {
3495
- const rules = params.rules && !("$typeName" in params.rules) ? rawRulesToProto(params.rules) : params.rules;
3496
- const resp = await client.updateSegment(
3497
- create7(UpdateSegmentRequestSchema, {
3498
- id: params.id,
3499
- name: params.name,
3500
- description: params.description,
3501
- rules,
3502
- evaluationMode: params.evaluationMode,
3503
- isActive: params.isActive,
3504
- manualMemberIds: params.manualMemberIds,
3505
- manualMemberMode: params.manualMemberMode
3506
- })
3507
- );
3508
- return resp.segment ?? null;
3509
- },
3510
- async deleteSegment(id) {
3511
- const resp = await client.deleteSegment(
3512
- create7(DeleteSegmentRequestSchema, { id })
3513
- );
3514
- return resp.success;
3515
- },
3516
- // ── Customer Operations ──────────────────────────────────
3517
- async getCustomerMemberships(customerId) {
3518
- return client.getCustomerMemberships(
3519
- create7(GetCustomerMembershipsRequestSchema, { customerId })
3520
- );
3521
- },
3522
- async previewSegmentRules(rules, sampleSize) {
3523
- const resp = await client.previewSegmentRules(
3524
- create7(PreviewSegmentRulesRequestSchema, {
3525
- rules,
3526
- sampleSize: sampleSize ?? 10
3527
- })
3528
- );
3529
- return resp.preview ?? null;
3530
- },
3531
- async testSegmentEvaluation(segmentId, customerId) {
3532
- const resp = await client.testSegmentEvaluation(
3533
- create7(TestSegmentEvaluationRequestSchema, { segmentId, customerId })
3534
- );
3535
- return resp.result ?? null;
3536
- },
3537
- // ── Opt-out Management ───────────────────────────────────
3538
- async setGlobalOptOut(customerId, optedOut) {
3539
- const resp = await client.setGlobalOptOut(
3540
- create7(SetGlobalOptOutRequestSchema, { customerId, optedOut })
3541
- );
3542
- return resp.success;
3543
- },
3544
- async optOutOfSegment(customerId, segmentId) {
3545
- const resp = await client.optOutOfSegment(
3546
- create7(OptOutOfSegmentRequestSchema, { customerId, segmentId })
3547
- );
3548
- return resp.success;
3549
- },
3550
- async optBackIntoSegment(customerId, segmentId) {
3551
- const resp = await client.optBackIntoSegment(
3552
- create7(OptBackIntoSegmentRequestSchema, { customerId, segmentId })
3553
- );
3554
- return resp.success;
3555
- }
3556
- };
3770
+ function toRuleExpression(v) {
3771
+ if (v == null) return void 0;
3772
+ if (typeof v === "object" && "$typeName" in v) return v;
3773
+ return rawRulesToProto(v);
3557
3774
  }
3558
3775
 
3559
3776
  // ../../packages/rpc-core/src/settings.ts
3560
- import { create as create8 } from "@bufbuild/protobuf";
3561
3777
  function createSettingsMethods(client) {
3562
3778
  return {
3563
3779
  // ── Settings ─────────────────────────────────────────────
@@ -3674,8 +3890,10 @@ function createSettingsMethods(client) {
3674
3890
  name: params.name,
3675
3891
  description: params.description,
3676
3892
  sourceType: params.sourceType,
3677
- sourceModelKey: params.sourceModelKey,
3678
- defaultRecordKey: params.defaultRecordKey
3893
+ sourceModelKey: params.sourceModelKey ?? "",
3894
+ defaultRecordKey: params.defaultRecordKey,
3895
+ evaluationRules: toRuleExpression(params.evaluationRules),
3896
+ configId: params.configId
3679
3897
  })
3680
3898
  );
3681
3899
  return resp.dimension ?? null;
@@ -3688,7 +3906,8 @@ function createSettingsMethods(client) {
3688
3906
  description: params.description,
3689
3907
  sourceModelKey: params.sourceModelKey,
3690
3908
  defaultRecordKey: params.defaultRecordKey,
3691
- publish: params.publish
3909
+ publish: params.publish,
3910
+ evaluationRules: toRuleExpression(params.evaluationRules)
3692
3911
  })
3693
3912
  );
3694
3913
  return resp.dimension ?? null;
@@ -5190,7 +5409,6 @@ function createNodePlatformClient(apiUrl, headers) {
5190
5409
  records: createRecordsMethods(createRpcClient(RecordsService, transport)),
5191
5410
  realtime: createRealtimeMethods(createRpcClient(RealtimeService, transport)),
5192
5411
  configs: createConfigsMethods(createRpcClient(ConfigsService, transport)),
5193
- segments: createSegmentsMethods(createRpcClient(SegmentsService, transport)),
5194
5412
  settings: createSettingsMethods(createRpcClient(SettingsService, transport)),
5195
5413
  storage: createStorageMethods(createRpcClient(StorageService, transport)),
5196
5414
  operations: createOperationsMethods(
@@ -6939,7 +7157,7 @@ async function reconcileConfig(client, configId, manifest, options = {}) {
6939
7157
  models: zeroCounts(),
6940
7158
  operations: zeroCounts(),
6941
7159
  hooks: zeroCounts(),
6942
- segments: zeroCounts(),
7160
+ contextDimensions: zeroCounts(),
6943
7161
  cronSchedules: zeroCounts(),
6944
7162
  authProviders: zeroCounts(),
6945
7163
  relyingParties: zeroCounts(),
@@ -6968,7 +7186,7 @@ async function reconcileConfig(client, configId, manifest, options = {}) {
6968
7186
  );
6969
7187
  await reconcileOperations(client, configId, manifest.operations ?? [], operationBaseUrl, summary);
6970
7188
  await reconcileHooks(client, configId, manifest.hooks ?? [], summary);
6971
- await reconcileSegments(client, configId, manifest.segments ?? [], summary);
7189
+ await reconcileContextDimensions(client, configId, manifest.contextDimensions ?? [], summary);
6972
7190
  await reconcileCronSchedules(client, configId, manifest.schedules ?? [], summary);
6973
7191
  await reconcileAuthProviders(client, manifest.authProviders ?? [], summary);
6974
7192
  await reconcileRelyingParties(
@@ -6992,7 +7210,9 @@ async function reconcileConfig(client, configId, manifest, options = {}) {
6992
7210
  manifest.key,
6993
7211
  manifest.apiKeys ?? [],
6994
7212
  summary,
6995
- options.rotateKeys ?? false
7213
+ options.rotateKeys ?? false,
7214
+ options.tenantId,
7215
+ options.projectId
6996
7216
  );
6997
7217
  await reconcileApps(
6998
7218
  client,
@@ -7032,11 +7252,12 @@ async function planReconcile(client, manifest, options = {}) {
7032
7252
  classify("model", manifestKeys, new Set(items.map((m) => m.key)), new Set(owned));
7033
7253
  }
7034
7254
  if (configId) {
7035
- const [operations, hooks, segments, schedules] = await Promise.all([
7255
+ const [operations, hooks, schedules, contextDimensions] = await Promise.all([
7036
7256
  client.operations.listOperations({ where: { configId: { eq: configId } }, first: 200 }),
7037
7257
  client.hooks.listHooks({ where: { configId: { eq: configId } }, first: 200 }),
7038
- client.segments.listSegments({ where: { configId: { eq: configId } }, first: 200 }),
7039
- client.cronSchedules.listCronSchedules({ where: { configId: { eq: configId } }, first: 200 })
7258
+ client.cronSchedules.listCronSchedules({ where: { configId: { eq: configId } }, first: 200 }),
7259
+ // No server-side config filter; owned-ness is derived from config_id below.
7260
+ client.settings.listContextDimensions({ first: 200 })
7040
7261
  ]);
7041
7262
  const opKeys = new Set(
7042
7263
  (operations.operations ?? []).map((o) => o.key)
@@ -7058,15 +7279,6 @@ async function planReconcile(client, manifest, options = {}) {
7058
7279
  hookKeys,
7059
7280
  hookKeys
7060
7281
  );
7061
- const segmentKeys = new Set(
7062
- (segments.segments ?? []).map((s) => s.key)
7063
- );
7064
- classify(
7065
- "segment",
7066
- new Set((manifest.segments ?? []).filter((s) => s.key && s.name).map((s) => s.key)),
7067
- segmentKeys,
7068
- segmentKeys
7069
- );
7070
7282
  const scheduleKeys = new Set(
7071
7283
  (schedules.schedules ?? []).map((s) => s.key)
7072
7284
  );
@@ -7078,6 +7290,17 @@ async function planReconcile(client, manifest, options = {}) {
7078
7290
  scheduleKeys,
7079
7291
  scheduleKeys
7080
7292
  );
7293
+ const cdims = contextDimensions.dimensions ?? [];
7294
+ classify(
7295
+ "contextDimension",
7296
+ new Set(
7297
+ (manifest.contextDimensions ?? []).filter((d) => d.key && d.name).map((d) => d.key)
7298
+ ),
7299
+ new Set(cdims.filter((d) => !d.isSystem).map((d) => d.key)),
7300
+ new Set(
7301
+ cdims.filter((d) => !d.isSystem && d.configId === configId).map((d) => d.key)
7302
+ )
7303
+ );
7081
7304
  } else {
7082
7305
  for (const o of manifest.operations ?? []) {
7083
7306
  if (o.key && o.name) plan.creates.push({ resource: "operation", key: o.key });
@@ -7085,13 +7308,13 @@ async function planReconcile(client, manifest, options = {}) {
7085
7308
  for (const h of manifest.hooks ?? []) {
7086
7309
  if (h.event) plan.creates.push({ resource: "hook", key: h.key || `${h.event}-${h.operationKey ?? "default"}` });
7087
7310
  }
7088
- for (const s of manifest.segments ?? []) {
7089
- if (s.key && s.name) plan.creates.push({ resource: "segment", key: s.key });
7090
- }
7091
7311
  for (const s of manifest.schedules ?? []) {
7092
7312
  const key = s.key ?? s.operationKey;
7093
7313
  if (key && s.cron) plan.creates.push({ resource: "schedule", key });
7094
7314
  }
7315
+ for (const d of manifest.contextDimensions ?? []) {
7316
+ if (d.key && d.name) plan.creates.push({ resource: "contextDimension", key: d.key });
7317
+ }
7095
7318
  }
7096
7319
  if (options.tenantId && options.projectId) {
7097
7320
  const declaredRps = (manifest.relyingParties ?? []).filter(
@@ -7390,53 +7613,46 @@ async function reconcileHooks(client, configId, hooks, summary) {
7390
7613
  }
7391
7614
  }
7392
7615
  }
7393
- async function reconcileSegments(client, configId, segments, summary) {
7394
- const [scoped, all] = await Promise.all([
7395
- client.segments.listSegments({ where: { configId: { eq: configId } }, first: 200 }),
7396
- client.segments.listSegments({ first: 200 })
7397
- ]);
7616
+ async function reconcileContextDimensions(client, configId, dims, summary) {
7617
+ const existing = await client.settings.listContextDimensions({ first: 200 });
7398
7618
  const existingByKey = /* @__PURE__ */ new Map();
7399
- for (const s of all.segments ?? []) {
7400
- existingByKey.set(s.key, s);
7401
- }
7402
- for (const s of scoped.segments ?? []) {
7403
- existingByKey.set(s.key, s);
7619
+ for (const d of existing.dimensions ?? []) {
7620
+ if (d.id && !d.isSystem) existingByKey.set(d.key, d);
7404
7621
  }
7405
7622
  const manifestKeys = /* @__PURE__ */ new Set();
7406
- for (const seg of segments) {
7407
- if (!seg.key || !seg.name) continue;
7408
- manifestKeys.add(seg.key);
7409
- const ex = existingByKey.get(seg.key);
7623
+ for (const dim of dims) {
7624
+ if (!dim.key || !dim.name) continue;
7625
+ manifestKeys.add(dim.key);
7626
+ const ex = existingByKey.get(dim.key);
7410
7627
  if (ex) {
7411
- await client.segments.updateSegment({
7628
+ await client.settings.updateContextDimension({
7412
7629
  id: ex.id,
7413
- name: seg.name,
7414
- description: seg.description,
7415
- rules: seg.rules,
7416
- evaluationMode: seg.evaluationMode,
7417
- isActive: seg.isActive
7630
+ name: dim.name,
7631
+ description: dim.description,
7632
+ sourceModelKey: dim.sourceModelKey,
7633
+ defaultRecordKey: dim.defaultRecordKey,
7634
+ evaluationRules: dim.evaluationRules,
7635
+ publish: true
7418
7636
  });
7419
- summary.segments.updated++;
7637
+ summary.contextDimensions.updated++;
7420
7638
  } else {
7421
- await client.segments.createSegment({
7422
- key: seg.key,
7423
- name: seg.name,
7424
- description: seg.description,
7425
- rules: seg.rules,
7426
- evaluationMode: seg.evaluationMode,
7427
- isActive: seg.isActive,
7639
+ await client.settings.createContextDimension({
7640
+ key: dim.key,
7641
+ name: dim.name,
7642
+ description: dim.description,
7643
+ sourceType: dim.sourceType,
7644
+ sourceModelKey: dim.sourceModelKey,
7645
+ defaultRecordKey: dim.defaultRecordKey,
7646
+ evaluationRules: dim.evaluationRules,
7428
7647
  configId
7429
7648
  });
7430
- summary.segments.created++;
7649
+ summary.contextDimensions.created++;
7431
7650
  }
7432
7651
  }
7433
- const scopedByKey = new Map(
7434
- (scoped.segments ?? []).map((s) => [s.key, s])
7435
- );
7436
- for (const [key, ex] of scopedByKey) {
7437
- if (!manifestKeys.has(key)) {
7438
- await client.segments.deleteSegment(ex.id);
7439
- summary.segments.deleted++;
7652
+ for (const [key, ex] of existingByKey) {
7653
+ if (ex.configId === configId && !manifestKeys.has(key)) {
7654
+ await client.settings.deleteContextDimension(ex.id);
7655
+ summary.contextDimensions.deleted++;
7440
7656
  }
7441
7657
  }
7442
7658
  }
@@ -7690,7 +7906,7 @@ async function reconcileDesignTokens(client, manifest, summary, publishAfterAppl
7690
7906
  summary.designTokensPublished = true;
7691
7907
  }
7692
7908
  }
7693
- async function reconcileApiKeys(client, configKey, apiKeys, summary, rotateKeys) {
7909
+ async function reconcileApiKeys(client, configKey, apiKeys, summary, rotateKeys, tenantId, projectId) {
7694
7910
  if (apiKeys.length === 0) return;
7695
7911
  const existing = await client.identity.listApiKeys({ first: 200 });
7696
7912
  const existingByName = new Map(
@@ -7734,6 +7950,23 @@ async function reconcileApiKeys(client, configKey, apiKeys, summary, rotateKeys)
7734
7950
  rawKey
7735
7951
  });
7736
7952
  newKeys.push({ name: key.name, rawKey });
7953
+ if (tenantId && projectId) {
7954
+ const target = key.keyType === "secret" || (key.scopes ?? []).includes("drafts:read") ? "preview" : "all";
7955
+ try {
7956
+ await client.secrets.put({
7957
+ tenantId,
7958
+ projectId,
7959
+ ownerKind: OwnerKind.PROJECT,
7960
+ label: `deploy/connection/${target}/${key.envVar}`,
7961
+ plaintext: new TextEncoder().encode(rawKey)
7962
+ });
7963
+ } catch (err) {
7964
+ console.warn(
7965
+ `Warning: could not stow connection key ${key.envVar} to the project vault:`,
7966
+ err
7967
+ );
7968
+ }
7969
+ }
7737
7970
  }
7738
7971
  }
7739
7972
  if (newKeys.length > 0) {
@@ -8141,7 +8374,7 @@ function printSummary(summary) {
8141
8374
  fmt("Models:", summary.models);
8142
8375
  fmt("Operations:", summary.operations);
8143
8376
  fmt("Hooks:", summary.hooks);
8144
- fmt("Segments:", summary.segments);
8377
+ fmt("Context dims:", summary.contextDimensions);
8145
8378
  fmt("Schedules:", summary.cronSchedules);
8146
8379
  fmt("Auth:", summary.authProviders);
8147
8380
  fmt("Customer roles:", summary.customerRoles);
@@ -8627,14 +8860,15 @@ export default defineConfig(${jsonContent});
8627
8860
  const models = configData.models ?? [];
8628
8861
  const operations = configData.operations ?? [];
8629
8862
  const hooks = configData.hooks ?? [];
8630
- const segments = configData.segments ?? [];
8863
+ const contextDimensions = configData.contextDimensions ?? [];
8631
8864
  const schedules = configData.schedules ?? [];
8632
8865
  const authProviders = configData.authProviders ?? [];
8633
8866
  const parts = [];
8634
8867
  if (models.length > 0) parts.push(`${models.length} model(s)`);
8635
8868
  if (operations.length > 0) parts.push(`${operations.length} operation(s)`);
8636
8869
  if (hooks.length > 0) parts.push(`${hooks.length} hook(s)`);
8637
- if (segments.length > 0) parts.push(`${segments.length} segment(s)`);
8870
+ if (contextDimensions.length > 0)
8871
+ parts.push(`${contextDimensions.length} context dimension(s)`);
8638
8872
  if (schedules.length > 0) parts.push(`${schedules.length} schedule(s)`);
8639
8873
  if (authProviders.length > 0) parts.push(`${authProviders.length} auth provider(s)`);
8640
8874
  if (designTokens) parts.push("design tokens");
@@ -9778,128 +10012,94 @@ function registerOperationsCommands(program2, globalOpts) {
9778
10012
  );
9779
10013
  }
9780
10014
 
9781
- // src/commands/segments.ts
9782
- function registerSegmentsCommands(program2, globalOpts) {
9783
- const segments = program2.command("segments").description("Manage segments");
9784
- segments.command("list").description("List segments").option("--active", "Only active segments").option("--first <n>", "Page size", "50").option("--after <cursor>", "Opaque cursor from previous page").action(
10015
+ // src/commands/context-dimensions.ts
10016
+ function registerContextDimensionsCommands(program2, globalOpts) {
10017
+ const dims = program2.command("context-dimensions").alias("context-dims").description("Manage context dimensions (segments + customer-context sources)");
10018
+ dims.command("list").description("List context dimensions").option("--first <n>", "Max results", "50").action(
9785
10019
  withErrorHandler(globalOpts, async (cmdOpts) => {
9786
10020
  const opts = globalOpts();
9787
10021
  const client = await createPlatformClient(opts);
9788
- const data = await client.segments.listSegments({
9789
- where: cmdOpts.active ? { isActive: { eq: true } } : void 0,
9790
- first: parseInt(String(cmdOpts.first ?? "50"), 10),
9791
- after: cmdOpts.after
10022
+ const result = await client.settings.listContextDimensions({
10023
+ first: parseInt(String(cmdOpts.first ?? "50"), 10)
9792
10024
  });
9793
- formatListProto(SegmentSchema, data.segments, opts, {
10025
+ formatListProto(ContextDimensionSchema, result.dimensions, opts, {
9794
10026
  columns: [
9795
- { key: "id", header: "ID", width: 28 },
9796
- { key: "key", header: "Key", width: 20 },
10027
+ { key: "key", header: "Key", width: 22 },
9797
10028
  { key: "name", header: "Name", width: 24 },
9798
- { key: "memberCount", header: "Members", width: 10 },
9799
- {
9800
- key: "isActive",
9801
- header: "Active",
9802
- width: 8,
9803
- format: (v) => v ? "yes" : "no"
9804
- },
9805
- {
9806
- key: "updatedAt",
9807
- header: "Updated",
9808
- width: 12,
9809
- format: (v) => timeAgo(v)
9810
- }
10029
+ { key: "sourceType", header: "Source", width: 10 },
10030
+ { key: "category", header: "Category", width: 12 }
9811
10031
  ]
9812
10032
  });
9813
10033
  })
9814
10034
  );
9815
- segments.command("get <idOrKey>").description("Get a segment by ID or key").action(
10035
+ dims.command("get <idOrKey>").description("Get a context dimension by ID or key").action(
9816
10036
  withErrorHandler(globalOpts, async (idOrKey) => {
9817
10037
  const opts = globalOpts();
9818
10038
  const client = await createPlatformClient(opts);
9819
10039
  let result;
9820
10040
  if (isUUID(idOrKey)) {
9821
- result = await client.segments.getSegment(idOrKey);
10041
+ result = await client.settings.getContextDimension(idOrKey);
9822
10042
  } else {
9823
- result = await client.segments.getSegmentByKey(idOrKey);
10043
+ const list = await client.settings.listContextDimensions({
10044
+ first: 200
10045
+ });
10046
+ result = list.dimensions.find(
10047
+ (d) => d.key === idOrKey
10048
+ ) ?? null;
9824
10049
  }
9825
- if (!result) throw new Error(`Segment "${idOrKey}" not found.`);
9826
- formatOutputProto(SegmentSchema, result, opts);
10050
+ if (!result)
10051
+ throw new Error(`Context dimension "${idOrKey}" not found.`);
10052
+ formatOutputProto(ContextDimensionSchema, result, opts);
9827
10053
  })
9828
10054
  );
9829
- segments.command("create").description("Create a new segment").option("-d, --data <json>", "Segment data as JSON").option("-f, --file <path>", "Read data from file").action(
10055
+ dims.command("create").description("Create a context dimension").option("-d, --data <json>", "Dimension data as JSON").option("-f, --file <path>", "Read data from file").action(
9830
10056
  withErrorHandler(globalOpts, async (cmdOpts) => {
9831
10057
  const opts = globalOpts();
9832
10058
  const client = await createPlatformClient(opts);
9833
10059
  const input = await parseInputData(cmdOpts);
9834
- const result = await client.segments.createSegment(
10060
+ const result = await client.settings.createContextDimension(
9835
10061
  input
9836
10062
  );
9837
- formatOutputProto(SegmentSchema, result, opts);
10063
+ formatOutputProto(ContextDimensionSchema, result, opts);
9838
10064
  if (!(opts.json || opts.jsonl || opts.quiet))
9839
- success(`Created segment ${result?.key}`);
10065
+ success(`Created context dimension ${result?.key}`);
9840
10066
  })
9841
10067
  );
9842
- segments.command("update <id>").description("Update a segment").option("-d, --data <json>", "Segment data as JSON").option("-f, --file <path>", "Read data from file").action(
10068
+ dims.command("update <id>").description("Update a context dimension").option("-d, --data <json>", "Dimension data as JSON").option("-f, --file <path>", "Read data from file").action(
9843
10069
  withErrorHandler(
9844
10070
  globalOpts,
9845
10071
  async (id, cmdOpts) => {
9846
10072
  const opts = globalOpts();
9847
10073
  const client = await createPlatformClient(opts);
9848
10074
  const input = await parseInputData(cmdOpts);
9849
- const result = await client.segments.updateSegment({
10075
+ const result = await client.settings.updateContextDimension({
9850
10076
  id,
9851
10077
  ...input
9852
10078
  });
9853
- formatOutputProto(SegmentSchema, result, opts);
10079
+ formatOutputProto(ContextDimensionSchema, result, opts);
9854
10080
  if (!(opts.json || opts.jsonl || opts.quiet))
9855
- success(`Updated segment ${id}`);
10081
+ success(`Updated context dimension ${result?.key}`);
9856
10082
  }
9857
10083
  )
9858
10084
  );
9859
- segments.command("delete <id>").description("Delete a segment").option("--confirm", "Skip confirmation prompt").action(
10085
+ dims.command("delete <id>").description("Delete a context dimension").option("--confirm", "Skip confirmation prompt").action(
9860
10086
  withErrorHandler(
9861
10087
  globalOpts,
9862
10088
  async (id, cmdOpts) => {
9863
10089
  const opts = globalOpts();
9864
- const confirmed = await confirmAction(`Delete segment ${id}?`, {
9865
- confirm: !!cmdOpts.confirm
9866
- });
10090
+ const confirmed = await confirmAction(
10091
+ `Delete context dimension ${id}?`,
10092
+ { confirm: !!cmdOpts.confirm }
10093
+ );
9867
10094
  if (!confirmed) {
9868
10095
  console.log("Aborted.");
9869
10096
  return;
9870
10097
  }
9871
10098
  const client = await createPlatformClient(opts);
9872
- await client.segments.deleteSegment(id);
10099
+ await client.settings.deleteContextDimension(id);
9873
10100
  if (opts.json || opts.jsonl)
9874
10101
  formatOutput({ deleted: true, id }, opts);
9875
- else success(`Deleted segment ${id}`);
9876
- }
9877
- )
9878
- );
9879
- segments.command("preview").description("Preview segment rules against sample customers").option("-f, --file <path>", "Rules JSON file").option("-d, --data <json>", "Rules as inline JSON").option("--sample-size <n>", "Sample size", "100").action(
9880
- withErrorHandler(globalOpts, async (cmdOpts) => {
9881
- const opts = globalOpts();
9882
- const client = await createPlatformClient(opts);
9883
- const inputData = await parseInputData(cmdOpts);
9884
- const rules = inputData.rules ?? inputData;
9885
- const result = await client.segments.previewSegmentRules(
9886
- rules,
9887
- parseInt(cmdOpts.sampleSize ?? "100", 10)
9888
- );
9889
- formatOutputProto(SegmentPreviewSchema, result, opts);
9890
- })
9891
- );
9892
- segments.command("test <segmentId> <customerId>").description("Test whether a customer matches a segment").action(
9893
- withErrorHandler(
9894
- globalOpts,
9895
- async (segmentId, customerId) => {
9896
- const opts = globalOpts();
9897
- const client = await createPlatformClient(opts);
9898
- const result = await client.segments.testSegmentEvaluation(
9899
- segmentId,
9900
- customerId
9901
- );
9902
- formatOutputProto(SegmentEvaluationResultSchema, result, opts);
10102
+ else success(`Deleted context dimension ${id}`);
9903
10103
  }
9904
10104
  )
9905
10105
  );
@@ -10523,6 +10723,130 @@ function registerEmbeddingsCommands(program2, globalOpts) {
10523
10723
  );
10524
10724
  }
10525
10725
 
10726
+ // src/commands/geometry.ts
10727
+ import chalk13 from "chalk";
10728
+ function requireNumber(raw, flag) {
10729
+ const n = Number(raw);
10730
+ if (raw === void 0 || raw === "" || Number.isNaN(n)) {
10731
+ throw new Error(`${flag} must be a valid number`);
10732
+ }
10733
+ return n;
10734
+ }
10735
+ function optionalNumber(raw) {
10736
+ if (raw === void 0 || raw === "") return void 0;
10737
+ const n = Number(raw);
10738
+ return Number.isNaN(n) ? void 0 : n;
10739
+ }
10740
+ function registerGeometryCommands(program2, globalOpts) {
10741
+ const geometry = program2.command("geometry").description("Proximity search and geometry coverage for geopoint fields");
10742
+ geometry.command("search").description("Find records near a point, ordered by true distance").requiredOption("--lat <lat>", "Latitude of the query point").requiredOption("--lng <lng>", "Longitude of the query point").option("--radius <meters>", "Cap results to this radius (meters)").option("--model-key <key>", "Limit matches to a specific model").option("--key <key>", "Geometry slot to search (default when omitted)").option("--first <n>", "Page size").action(
10743
+ withErrorHandler(globalOpts, async (cmdOpts) => {
10744
+ const opts = globalOpts();
10745
+ const lat = requireNumber(cmdOpts.lat, "--lat");
10746
+ const lng = requireNumber(cmdOpts.lng, "--lng");
10747
+ const client = await createPlatformClient(opts);
10748
+ const results = await client.records.searchByLocation({
10749
+ lat,
10750
+ lng,
10751
+ radiusMeters: optionalNumber(cmdOpts.radius),
10752
+ modelKey: cmdOpts.modelKey,
10753
+ key: cmdOpts.key,
10754
+ first: cmdOpts.first ? parseInt(String(cmdOpts.first), 10) : void 0
10755
+ });
10756
+ if (opts.json || opts.jsonl) {
10757
+ formatOutput(results, opts);
10758
+ return;
10759
+ }
10760
+ if (results.length === 0) {
10761
+ console.log(chalk13.dim("No nearby records."));
10762
+ return;
10763
+ }
10764
+ for (const r of results) {
10765
+ const dist = typeof r.distanceMeters === "number" ? `${r.distanceMeters.toFixed(1)}m` : "\u2014";
10766
+ console.log(
10767
+ ` ${chalk13.cyan(r.id)} ${chalk13.dim(r.modelKey ?? "")} ${chalk13.gray(`dist=${dist}`)}`
10768
+ );
10769
+ }
10770
+ })
10771
+ );
10772
+ geometry.command("nearest <recordId>").description("Find records near a source record's own location").option("--radius <meters>", "Cap results to this radius (meters)").option("--model-key <key>", "Limit matches to a specific model").option("--first <n>", "Page size").action(
10773
+ withErrorHandler(
10774
+ globalOpts,
10775
+ async (recordId, cmdOpts) => {
10776
+ const opts = globalOpts();
10777
+ const client = await createPlatformClient(opts);
10778
+ const results = await client.records.findNearestRecords({
10779
+ recordId,
10780
+ radiusMeters: optionalNumber(cmdOpts.radius),
10781
+ modelKey: cmdOpts.modelKey,
10782
+ first: cmdOpts.first ? parseInt(String(cmdOpts.first), 10) : void 0
10783
+ });
10784
+ if (opts.json || opts.jsonl) {
10785
+ formatOutput(results, opts);
10786
+ return;
10787
+ }
10788
+ if (results.length === 0) {
10789
+ console.log(chalk13.dim("No nearby records."));
10790
+ return;
10791
+ }
10792
+ for (const r of results) {
10793
+ const dist = typeof r.distanceMeters === "number" ? `${r.distanceMeters.toFixed(1)}m` : "\u2014";
10794
+ console.log(
10795
+ ` ${chalk13.cyan(r.id)} ${chalk13.dim(r.modelKey ?? "")} ${chalk13.gray(`dist=${dist}`)}`
10796
+ );
10797
+ }
10798
+ }
10799
+ )
10800
+ );
10801
+ geometry.command("missing <modelKey>").description("List records of a model that have no materialized geometry").option("--key <key>", "Geometry slot to check (default when omitted)").option("--first <n>", "Page size").option("--after <cursor>", "Forward pagination cursor").action(
10802
+ withErrorHandler(
10803
+ globalOpts,
10804
+ async (modelKey, cmdOpts) => {
10805
+ const opts = globalOpts();
10806
+ const client = await createPlatformClient(opts);
10807
+ const res = await client.records.recordsMissingGeometry({
10808
+ modelKey,
10809
+ key: cmdOpts.key,
10810
+ first: cmdOpts.first ? parseInt(String(cmdOpts.first), 10) : void 0,
10811
+ after: cmdOpts.after
10812
+ });
10813
+ if (opts.json || opts.jsonl) {
10814
+ formatOutput(res, opts);
10815
+ return;
10816
+ }
10817
+ console.log(
10818
+ chalk13.dim(
10819
+ `${res.total} record(s) missing geometry in ${modelKey}`
10820
+ )
10821
+ );
10822
+ for (const r of res.records) {
10823
+ console.log(
10824
+ ` ${chalk13.cyan(r.recordId)} ${chalk13.dim(r.naturalKey ?? "")}`
10825
+ );
10826
+ }
10827
+ }
10828
+ )
10829
+ );
10830
+ geometry.command("backfill <modelKey>").description(
10831
+ "(Re)materialize geopoint fields into geometry for every record of a model"
10832
+ ).action(
10833
+ withErrorHandler(globalOpts, async (modelKey) => {
10834
+ const opts = globalOpts();
10835
+ const client = await createPlatformClient(opts);
10836
+ const recordsIndexed = await client.records.backfillRecordGeometry({
10837
+ modelKey
10838
+ });
10839
+ if (opts.json || opts.jsonl) {
10840
+ formatOutput({ modelKey, recordsIndexed }, opts);
10841
+ return;
10842
+ }
10843
+ success(
10844
+ `Backfilled geometry for ${recordsIndexed} record(s) in ${modelKey}`
10845
+ );
10846
+ })
10847
+ );
10848
+ }
10849
+
10526
10850
  // src/commands/hooks.ts
10527
10851
  function registerHooksCommands(program2, globalOpts) {
10528
10852
  const hooks = program2.command("hooks").description("Manage lifecycle hooks (event-driven webhooks)");
@@ -10722,7 +11046,7 @@ function registerHooksCommands(program2, globalOpts) {
10722
11046
  }
10723
11047
 
10724
11048
  // src/commands/rollouts.ts
10725
- import chalk13 from "chalk";
11049
+ import chalk14 from "chalk";
10726
11050
  function parseScheduledAt(value) {
10727
11051
  const date = new Date(value);
10728
11052
  if (Number.isNaN(date.getTime())) {
@@ -10769,10 +11093,10 @@ function registerRolloutsCommands(program2, globalOpts) {
10769
11093
  formatOutputProto(PublishBatchSchema, batch, opts);
10770
11094
  if (items.length > 0) {
10771
11095
  console.log();
10772
- console.log(chalk13.bold(`Items (${items.length}):`));
11096
+ console.log(chalk14.bold(`Items (${items.length}):`));
10773
11097
  for (const it of items) {
10774
11098
  console.log(
10775
- ` ${chalk13.cyan(it.id)} ${chalk13.dim(it.targetKind)} ${chalk13.gray(it.status ?? "")}`
11099
+ ` ${chalk14.cyan(it.id)} ${chalk14.dim(it.targetKind)} ${chalk14.gray(it.status ?? "")}`
10776
11100
  );
10777
11101
  }
10778
11102
  }
@@ -11193,7 +11517,7 @@ function registerSettingsCommands(program2, globalOpts) {
11193
11517
  // src/commands/design-tokens.ts
11194
11518
  import { existsSync as existsSync6, readFileSync as readFileSync2 } from "fs";
11195
11519
  import { resolve as resolve6 } from "path";
11196
- import chalk14 from "chalk";
11520
+ import chalk15 from "chalk";
11197
11521
  function registerDesignTokensCommands(program2, globalOpts) {
11198
11522
  const tokens = program2.command("design-tokens").description("Manage project design tokens (W3C-formatted)");
11199
11523
  tokens.command("get").description("Print the current design tokens document").option("--channel <channel>", "draft | published", "draft").option(
@@ -11241,7 +11565,7 @@ function registerDesignTokensCommands(program2, globalOpts) {
11241
11565
  const resp = await client.settings.publishDesignTokens();
11242
11566
  success("Design tokens published");
11243
11567
  if (resp.breakingChanges && resp.breakingChanges.length > 0) {
11244
- console.log(chalk14.yellow("\nBreaking changes:"));
11568
+ console.log(chalk15.yellow("\nBreaking changes:"));
11245
11569
  for (const c of resp.breakingChanges) {
11246
11570
  console.log(` ${c.severity} ${c.path}: ${c.description}`);
11247
11571
  }
@@ -11257,7 +11581,7 @@ function registerDesignTokensCommands(program2, globalOpts) {
11257
11581
  const resp = await client.settings.publishDesignTokens();
11258
11582
  success("Design tokens published");
11259
11583
  if (resp.breakingChanges && resp.breakingChanges.length > 0) {
11260
- console.log(chalk14.yellow("\nBreaking changes:"));
11584
+ console.log(chalk15.yellow("\nBreaking changes:"));
11261
11585
  for (const c of resp.breakingChanges) {
11262
11586
  console.log(` ${c.severity} ${c.path}: ${c.description}`);
11263
11587
  }
@@ -11282,12 +11606,12 @@ function registerDesignTokensCommands(program2, globalOpts) {
11282
11606
  return;
11283
11607
  }
11284
11608
  if (status.hasPendingChanges) {
11285
- console.log(chalk14.yellow("\u25CF Pending changes"));
11609
+ console.log(chalk15.yellow("\u25CF Pending changes"));
11286
11610
  } else {
11287
- console.log(chalk14.green("\u25CF Up to date"));
11611
+ console.log(chalk15.green("\u25CF Up to date"));
11288
11612
  }
11289
11613
  if (status.breakingChanges && status.breakingChanges.length > 0) {
11290
- console.log(chalk14.yellow("\nPending changes:"));
11614
+ console.log(chalk15.yellow("\nPending changes:"));
11291
11615
  for (const c of status.breakingChanges) {
11292
11616
  console.log(` ${c.severity} ${c.path}: ${c.description}`);
11293
11617
  }
@@ -11893,7 +12217,7 @@ function registerConfigsCommands(program2, globalOpts) {
11893
12217
  }
11894
12218
 
11895
12219
  // src/commands/apps.ts
11896
- import chalk16 from "chalk";
12220
+ import chalk17 from "chalk";
11897
12221
  import { spawn as spawn2 } from "child_process";
11898
12222
  import { existsSync as existsSync8, watch as fsWatch } from "fs";
11899
12223
  import { resolve as resolvePath } from "path";
@@ -11901,7 +12225,7 @@ import { resolve as resolvePath } from "path";
11901
12225
  // src/lib/tunnel.ts
11902
12226
  import { spawn } from "child_process";
11903
12227
  import { once } from "events";
11904
- import chalk15 from "chalk";
12228
+ import chalk16 from "chalk";
11905
12229
  async function startTunnel(opts) {
11906
12230
  const host = opts.host ?? "localhost";
11907
12231
  if (opts.kind === "cloudflared") return startCloudflared(host, opts.port, opts.logs ?? true);
@@ -11937,7 +12261,7 @@ function startCloudflared(host, port, logs) {
11937
12261
  let buffered = "";
11938
12262
  const onData = (chunk) => {
11939
12263
  const text = chunk.toString("utf-8");
11940
- if (logs) process.stderr.write(chalk15.dim(text));
12264
+ if (logs) process.stderr.write(chalk16.dim(text));
11941
12265
  buffered += text;
11942
12266
  const match = buffered.match(CLOUDFLARED_URL_RE);
11943
12267
  if (match && !resolved) {
@@ -11985,8 +12309,8 @@ function startNgrok(port, logs) {
11985
12309
  return;
11986
12310
  }
11987
12311
  if (logs) {
11988
- child.stdout.on("data", (c) => process.stderr.write(chalk15.dim(c.toString("utf-8"))));
11989
- child.stderr.on("data", (c) => process.stderr.write(chalk15.dim(c.toString("utf-8"))));
12312
+ child.stdout.on("data", (c) => process.stderr.write(chalk16.dim(c.toString("utf-8"))));
12313
+ child.stderr.on("data", (c) => process.stderr.write(chalk16.dim(c.toString("utf-8"))));
11990
12314
  }
11991
12315
  let resolved = false;
11992
12316
  child.once("error", (err) => {
@@ -12328,7 +12652,7 @@ function registerAppsCommands(program2, globalOpts) {
12328
12652
  return;
12329
12653
  }
12330
12654
  if (!opts.json) {
12331
- console.error(chalk16.dim(`Starting ${kind} tunnel \u2192 http://${cmdOpts.host}:${port}\u2026`));
12655
+ console.error(chalk17.dim(`Starting ${kind} tunnel \u2192 http://${cmdOpts.host}:${port}\u2026`));
12332
12656
  }
12333
12657
  const handle = await startTunnel({
12334
12658
  kind,
@@ -12384,20 +12708,20 @@ function runDevSession(info) {
12384
12708
  }
12385
12709
  const host = hostOf(info.publicUrl);
12386
12710
  console.log();
12387
- console.log(chalk16.bold.green(" Tunnel ready"));
12388
- console.log(` ${chalk16.bold(info.publicUrl)} ${chalk16.dim("\u2192")} http://${info.localHost ?? "localhost"}:${info.port}`);
12711
+ console.log(chalk17.bold.green(" Tunnel ready"));
12712
+ console.log(` ${chalk17.bold(info.publicUrl)} ${chalk17.dim("\u2192")} http://${info.localHost ?? "localhost"}:${info.port}`);
12389
12713
  console.log();
12390
- console.log(chalk16.dim(" Point `foir push` at the tunnel so app manifests resolve here."));
12391
- console.log(chalk16.dim(" If your foir.config.ts uses an env-gated source (recommended):"));
12392
- console.log(chalk16.dim(` FOIR_APPS_HOST=${host} foir push`));
12393
- console.log(chalk16.dim(" Otherwise: update apps.<name>.source in foir.config.ts to a URL on"));
12394
- console.log(chalk16.dim(` ${host} and run foir push.`));
12714
+ console.log(chalk17.dim(" Point `foir push` at the tunnel so app manifests resolve here."));
12715
+ console.log(chalk17.dim(" If your foir.config.ts uses an env-gated source (recommended):"));
12716
+ console.log(chalk17.dim(` FOIR_APPS_HOST=${host} foir push`));
12717
+ console.log(chalk17.dim(" Otherwise: update apps.<name>.source in foir.config.ts to a URL on"));
12718
+ console.log(chalk17.dim(` ${host} and run foir push.`));
12395
12719
  console.log();
12396
12720
  if (info.kind === "byo") {
12397
- console.log(chalk16.dim(" (BYO tunnel \u2014 leaving lifecycle to you.)"));
12721
+ console.log(chalk17.dim(" (BYO tunnel \u2014 leaving lifecycle to you.)"));
12398
12722
  return Promise.resolve();
12399
12723
  }
12400
- console.log(chalk16.dim(" Press Ctrl+C to stop the tunnel."));
12724
+ console.log(chalk17.dim(" Press Ctrl+C to stop the tunnel."));
12401
12725
  return Promise.resolve();
12402
12726
  }
12403
12727
  function hostOf(url) {
@@ -12411,7 +12735,7 @@ function runPush(host, jsonMode) {
12411
12735
  return new Promise((resolve9, reject) => {
12412
12736
  if (!jsonMode) {
12413
12737
  console.log();
12414
- console.log(chalk16.dim(`\u2192 foir push (${FOIR_APPS_HOST_ENV}=${host})`));
12738
+ console.log(chalk17.dim(`\u2192 foir push (${FOIR_APPS_HOST_ENV}=${host})`));
12415
12739
  }
12416
12740
  const entry = process.argv[1];
12417
12741
  if (!entry) {
@@ -12434,12 +12758,12 @@ function startWatchLoop(host, jsonMode) {
12434
12758
  const target = WATCH_FILES.map((n) => resolvePath(cwd, n)).find((p) => existsSync8(p));
12435
12759
  if (!target) {
12436
12760
  if (!jsonMode) {
12437
- console.error(chalk16.yellow(`! --watch: no foir.config.* in ${cwd}; skipping watch loop.`));
12761
+ console.error(chalk17.yellow(`! --watch: no foir.config.* in ${cwd}; skipping watch loop.`));
12438
12762
  }
12439
12763
  return null;
12440
12764
  }
12441
12765
  if (!jsonMode) {
12442
- console.log(chalk16.dim(`Watching ${target} \u2014 saving triggers foir push.`));
12766
+ console.log(chalk17.dim(`Watching ${target} \u2014 saving triggers foir push.`));
12443
12767
  }
12444
12768
  let pending = false;
12445
12769
  let running = false;
@@ -12452,7 +12776,7 @@ function startWatchLoop(host, jsonMode) {
12452
12776
  running = true;
12453
12777
  pending = false;
12454
12778
  runPush(host, jsonMode).catch((err) => {
12455
- if (!jsonMode) console.error(chalk16.red(`push failed: ${err.message}`));
12779
+ if (!jsonMode) console.error(chalk17.red(`push failed: ${err.message}`));
12456
12780
  }).finally(() => {
12457
12781
  running = false;
12458
12782
  if (pending) tick();
@@ -12949,11 +13273,12 @@ registerRecordsCommands(program, getGlobalOpts);
12949
13273
  registerCustomersCommands(program, getGlobalOpts);
12950
13274
  registerCustomerRolesCommands(program, getGlobalOpts);
12951
13275
  registerOperationsCommands(program, getGlobalOpts);
12952
- registerSegmentsCommands(program, getGlobalOpts);
13276
+ registerContextDimensionsCommands(program, getGlobalOpts);
12953
13277
  registerSchedulesCommands(program, getGlobalOpts);
12954
13278
  registerApiKeysCommands(program, getGlobalOpts);
12955
13279
  registerAuthProvidersCommands(program, getGlobalOpts);
12956
13280
  registerEmbeddingsCommands(program, getGlobalOpts);
13281
+ registerGeometryCommands(program, getGlobalOpts);
12957
13282
  registerHooksCommands(program, getGlobalOpts);
12958
13283
  registerRolloutsCommands(program, getGlobalOpts);
12959
13284
  registerLocalesCommands(program, getGlobalOpts);