@githolon/runtime 0.119.12 → 0.119.28

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.
@@ -9,7 +9,7 @@ import { file_google_protobuf_any } from "@bufbuild/protobuf/wkt";
9
9
  * Describes the file nomos/kernel/v1/kernel.proto.
10
10
  */
11
11
  export const file_nomos_kernel_v1_kernel = /*@__PURE__*/
12
- fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEixgkKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEkAKCWNvbmZpZ3VyZRgQIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxDb25maWd1cmF0aW9uUmVxdWVzdEgAEkgKE3NpZ25fcHJlcGFyZWRfb2ZmZXIYESABKAsyKS5ub21vcy5rZXJuZWwudjEuU2lnblByZXBhcmVkT2ZmZXJSZXF1ZXN0SAASSgoUcHJlcGFyZV9yZW1vdGVfb2ZmZXIYEiABKAsyKi5ub21vcy5rZXJuZWwudjEuUHJlcGFyZVJlbW90ZU9mZmVyUmVxdWVzdEgAEk4KFnNpZ25fb2ZmZXJfcHJlcGFyYXRpb24YEyABKAsyLC5ub21vcy5rZXJuZWwudjEuU2lnbk9mZmVyUHJlcGFyYXRpb25SZXF1ZXN0SAASTgoWc2lnbl9iaXJ0aF9jZXJ0aWZpY2F0ZRgUIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5TaWduQmlydGhDZXJ0aWZpY2F0ZVJlcXVlc3RIABJDChBzaWduaW5nX2lkZW50aXR5GBcgASgLMicubm9tb3Mua2VybmVsLnYxLlNpZ25pbmdJZGVudGl0eVJlcXVlc3RIABJWChpzaWduX2F1dGhvcml0eV9hdHRlc3RhdGlvbhgYIAEoCzIwLm5vbW9zLmtlcm5lbC52MS5TaWduQXV0aG9yaXR5QXR0ZXN0YXRpb25SZXF1ZXN0SAASPAoNbWludF90eXBlZF9pZBgZIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5NaW50VHlwZWRJZFJlcXVlc3RIABJJChNlbmNyeXB0aW9uX2lkZW50aXR5GBogASgLMioubm9tb3Mua2VybmVsLnYxLkVuY3J5cHRpb25JZGVudGl0eVJlcXVlc3RIABI+Cg53cmFwX3Njb3BlX2tleRgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5XcmFwU2NvcGVLZXlSZXF1ZXN0SAASQgoQdW53cmFwX3Njb3BlX2tleRgcIAEoCzImLm5vbW9zLmtlcm5lbC52MS5VbndyYXBTY29wZUtleVJlcXVlc3RIAEILCglvcGVyYXRpb25KBAgVEBZKBAgWEBdSFGluaXRpYWxpemVfd29ya3NwYWNlUhZhcHBseV93b3Jrc3BhY2VfZWZmZWN0IoMKCgxDYWxsUmVzcG9uc2USGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEisKB2ZhaWx1cmUYCiABKAsyGC5ub21vcy5rZXJuZWwudjEuRmFpbHVyZUgAEi0KBG9wZW4YCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT3BlblJlc3BvbnNlSAASLwoFb2ZmZXIYDCABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXNwb25zZUgAEi8KBXF1ZXJ5GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5UmVzcG9uc2VIABIxCgZvdXRib3gYDiABKAsyHy5ub21vcy5rZXJuZWwudjEuT3V0Ym94UmVzcG9uc2VIABItCgRzeW5jGA8gASgLMh0ubm9tb3Mua2VybmVsLnYxLlN5bmNSZXNwb25zZUgAEjMKB2N1c3RvZHkYECABKAsyIC5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVJlc3BvbnNlSAASQQoJY29uZmlndXJlGBEgASgLMiwubm9tb3Mua2VybmVsLnYxLktlcm5lbENvbmZpZ3VyYXRpb25SZXNwb25zZUgAEkkKE3NpZ25fcHJlcGFyZWRfb2ZmZXIYEiABKAsyKi5ub21vcy5rZXJuZWwudjEuU2lnblByZXBhcmVkT2ZmZXJSZXNwb25zZUgAEksKFHByZXBhcmVfcmVtb3RlX29mZmVyGBMgASgLMisubm9tb3Mua2VybmVsLnYxLlByZXBhcmVSZW1vdGVPZmZlclJlc3BvbnNlSAASTwoWc2lnbl9vZmZlcl9wcmVwYXJhdGlvbhgUIAEoCzItLm5vbW9zLmtlcm5lbC52MS5TaWduT2ZmZXJQcmVwYXJhdGlvblJlc3BvbnNlSAASTwoWc2lnbl9iaXJ0aF9jZXJ0aWZpY2F0ZRgVIAEoCzItLm5vbW9zLmtlcm5lbC52MS5TaWduQmlydGhDZXJ0aWZpY2F0ZVJlc3BvbnNlSAASRAoQc2lnbmluZ19pZGVudGl0eRgYIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5TaWduaW5nSWRlbnRpdHlSZXNwb25zZUgAElcKGnNpZ25fYXV0aG9yaXR5X2F0dGVzdGF0aW9uGBkgASgLMjEubm9tb3Mua2VybmVsLnYxLlNpZ25BdXRob3JpdHlBdHRlc3RhdGlvblJlc3BvbnNlSAASPQoNbWludF90eXBlZF9pZBgaIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5NaW50VHlwZWRJZFJlc3BvbnNlSAASSgoTZW5jcnlwdGlvbl9pZGVudGl0eRgbIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5FbmNyeXB0aW9uSWRlbnRpdHlSZXNwb25zZUgAEj8KDndyYXBfc2NvcGVfa2V5GBwgASgLMiUubm9tb3Mua2VybmVsLnYxLldyYXBTY29wZUtleVJlc3BvbnNlSAASQwoQdW53cmFwX3Njb3BlX2tleRgdIAEoCzInLm5vbW9zLmtlcm5lbC52MS5VbndyYXBTY29wZUtleVJlc3BvbnNlSABCCQoHb3V0Y29tZUoECBYQF0oECBcQGFIUaW5pdGlhbGl6ZV93b3Jrc3BhY2VSFmFwcGx5X3dvcmtzcGFjZV9lZmZlY3QitwIKB0ZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEi0KB2RldGFpbHMYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSYQoiaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzc19yZXF1aXJlZBgKIAEoCzIwLm5vbW9zLmtlcm5lbC52MS5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVpcmVkSACIAQESPwoQaGlzdG9yeV9yZXF1aXJlZBgLIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5IaXN0b3J5UmVxdWlyZWRIAYgBAUIlCiNfaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzc19yZXF1aXJlZEITChFfaGlzdG9yeV9yZXF1aXJlZCJRCh9JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVpcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSFAoMcmVxdWlyZWRfa2lkGAIgASgJIjwKDE9wZW5SZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiugQKDU9mZmVyUmVzcG9uc2USMgoIYWRtaXR0ZWQYASABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJBZG1pdHRlZEgAEjAKB3JlZnVzZWQYAiABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZWZ1c2VkSAASOwoNZGVhZF9sZXR0ZXJlZBgDIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5PZmZlckRlYWRMZXR0ZXJlZEgAEjgKC3F1YXJhbnRpbmVkGAQgASgLMiEubm9tb3Mua2VybmVsLnYxLk9mZmVyUXVhcmFudGluZWRIABJKChVibG9ja2VkX29uX2RlcGVuZGVuY3kYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuT2ZmZXJCbG9ja2VkT25EZXBlbmRlbmN5SAASMgoIcHJlcGFyZWQYBiABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJQcmVwYXJlZEgAEkIKEHdvcmtzcGFjZV9lZmZlY3QYByABKAsyKC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlRWZmZWN0SWRlbnRpdHkSGwoOanVkZ2VkX2F0X2hlYWQYCCABKAlIAYgBARJNChJqdWRnbWVudF9zaWduYXR1cmUYCSABKAsyMS5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlRWZmZWN0SnVkZ21lbnRTaWduYXR1cmVCCQoHb3V0Y29tZUIRCg9fanVkZ2VkX2F0X2hlYWQifwogV29ya3NwYWNlRWZmZWN0SnVkZ21lbnRTaWduYXR1cmUSDwoHdmVyc2lvbhgBIAEoDRISCgpwdWJsaWNfa2V5GAIgASgMEhEKCWtleV9lcG9jaBgDIAEoEhIRCglzaWduYXR1cmUYBCABKAwSEAoIanVkZ21lbnQYBSABKAwiqAEKF1dvcmtzcGFjZUVmZmVjdElkZW50aXR5EhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSIAoYc291cmNlX3dvcmtzcGFjZV9nZW5lc2lzGAIgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAyABKAkSIAoYdGFyZ2V0X3dvcmtzcGFjZV9nZW5lc2lzGAQgASgJEhUKDWVmZmVjdF9kaWdlc3QYBSABKAkiVwocV29ya3NwYWNlRWZmZWN0U3RhdHVzUmVxdWVzdBIgChhzb3VyY2Vfd29ya3NwYWNlX2dlbmVzaXMYASABKAkSFQoNZWZmZWN0X2RpZ2VzdBgCIAEoCSJRCh1Xb3Jrc3BhY2VFZmZlY3RTdGF0dXNSZXNwb25zZRIwCghqdWRnbWVudBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlIoYCCiNSZWNvcmRXb3Jrc3BhY2VFZmZlY3RPdXRjb21lUmVxdWVzdBIwCgZzb3VyY2UYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhkKEXNvdXJjZV9vZmZlcl9wYXRoGAIgASgJEhUKC21haWxib3hfdXJsGAMgASgJSAASPQoRcmVjaXBpZW50X2N1c3RvZHkYBSABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0SAASMAoIanVkZ21lbnQYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXNwb25zZUIKCghldmlkZW5jZSJaCh5SZWNvcmRlZFdvcmtzcGFjZUVmZmVjdE91dGNvbWUSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCRIYChB0ZXJtaW5hbF9yZWZ1c2FsGAMgASgIIq4FCg1PZmZlckFkbWl0dGVkEgwKBGhlYWQYASABKAkSEQoJaW50ZW50X2lkGAIgASgJEhcKCmludGVudF9vdXQYAyABKAlIAIgBARIzCgdjcmVhdGVkGAQgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEjQKCGFmZmVjdGVkGAUgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEiwKBGJvcm4YBiADKAsyHi5ub21vcy5rZXJuZWwudjEuQm9ybldvcmtzcGFjZRI1Cg5iaXJ0aF9vdXRjb21lcxgHIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUSNwoMa2VybmVsX3NwYW5zGAggASgLMhwubm9tb3Mua2VybmVsLnYxLktlcm5lbFNwYW5zSAGIAQESDwoHZHJ5X3J1bhgJIAEoCBIfChJpbnN0YWxsZWRfbGF3X2hhc2gYCiABKAlIAogBARI5CglwbGFjZW1lbnQYCyABKAsyIS5ub21vcy5rZXJuZWwudjEuUGxhY2VtZW50QWRvcHRlZEgDiAEBEhcKD2FscmVhZHlfYXBwbGllZBgMIAEoCBI8CgxzdGF0ZV9jaGFuZ2UYDSABKAsyIS5ub21vcy5rZXJuZWwudjEuT2ZmZXJTdGF0ZUNoYW5nZUgEiAEBEkAKFGxhd192ZXJzaW9uX3dhcm5pbmdzGA4gAygLMiIubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25XYXJuaW5nQg0KC19pbnRlbnRfb3V0Qg8KDV9rZXJuZWxfc3BhbnNCFQoTX2luc3RhbGxlZF9sYXdfaGFzaEIMCgpfcGxhY2VtZW50Qg8KDV9zdGF0ZV9jaGFuZ2UiIwoLTGF3SWRlbnRpdHkSFAoMcGFja2FnZV9uYW1lGAEgASgJIiQKCkxhd1ZlcnNpb24SFgoOY2xvc3VyZV9zaGEyNTYYASABKAkiIQoPTGF3VmVyc2lvbkNsYWltEg4KBnNlbXZlchgBIAEoCSLgAgoRTGF3VmVyc2lvbldhcm5pbmcSKQoDbGF3GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLkxhd0lkZW50aXR5Ei8KBW9yZGVyGAIgASgOMiAubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25PcmRlchI5Cg9pbnN0YWxsZWRfY2xhaW0YAyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGF3VmVyc2lvbkNsYWltEjYKEWluc3RhbGxlZF92ZXJzaW9uGAQgASgLMhsubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb24SNgoMc2VydmVkX2NsYWltGAUgASgLMiAubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25DbGFpbRIzCg5zZXJ2ZWRfdmVyc2lvbhgGIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5MYXdWZXJzaW9uEg8KB21lc3NhZ2UYByABKAkiUgoQT2ZmZXJTdGF0ZUNoYW5nZRITCgtwYXJlbnRfaGVhZBgBIAEoCRIXCg9hZ2dyZWdhdGVfdHlwZXMYAiADKAkSEAoIYXJjaGl2ZXMYAyABKAgiLQoRT2ZmZXJBZ2dyZWdhdGVSZWYSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIwCg1Cb3JuV29ya3NwYWNlEhEKCXdvcmtzcGFjZRgBIAEoCRIMCgRoZWFkGAIgASgJIssDCgxCaXJ0aE91dGNvbWUSFgoJd29ya3NwYWNlGAEgASgJSACIAQESMwoGc3RhdHVzGAIgASgOMiMubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZVN0YXR1cxITCgZyZWFzb24YAyABKAlIAYgBARIRCgRjb2RlGAQgASgJSAKIAQESEAoIcmVwbGF5ZWQYBSABKAgSFQoIbGF3X2hhc2gYBiABKAlIA4gBARIdChBwYXJlbnRfd29ya3NwYWNlGAcgASgJSASIAQESHAoPY2hpbGRfd29ya3NwYWNlGAggASgJSAWIAQESJwoaY2VydGlmaWNhdGVfcmVmdXNhbF9yZWFzb24YCSABKAlIBogBARI0CgdyZWZ1c2FsGAogASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWxIB4gBAUIMCgpfd29ya3NwYWNlQgkKB19yZWFzb25CBwoFX2NvZGVCCwoJX2xhd19oYXNoQhMKEV9wYXJlbnRfd29ya3NwYWNlQhIKEF9jaGlsZF93b3Jrc3BhY2VCHQobX2NlcnRpZmljYXRlX3JlZnVzYWxfcmVhc29uQgoKCF9yZWZ1c2FsIi8KEEtlcm5lbFNwYW5NZXRyaWMSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoBCKjAQoKS2VybmVsU3BhbhINCgVsYWJlbBgBIAEoCRIQCgh0b3RhbF91cxgCIAEoBBIPCgdyZWNvcmRzGAMgASgEEjEKBnBoYXNlcxgEIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuTWV0cmljEjAKBW5vdGVzGAUgAygLMiEubm9tb3Mua2VybmVsLnYxLktlcm5lbFNwYW5NZXRyaWMicQoLS2VybmVsU3BhbnMSLwoKb3BlcmF0aW9ucxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuEjEKBmVuZ2luZRgCIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuTWV0cmljImEKDURvbWFpblJlZnVzYWwSEgoKbGF3X3NoYTI1NhgBIAEoDBIRCglpbnZhcmlhbnQYAiABKAkSFQoNdHlwZV9pZGVudGl0eRgDIAEoCRISCgp2YWx1ZV91c2RhGAQgASgMIs4BCgxPZmZlclJlZnVzZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIvCgdyZWZ1c2FsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWwSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSNgoOZG9tYWluX3JlZnVzYWwYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuRG9tYWluUmVmdXNhbEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIsABChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSPQoSYXdhaXRzX21haW50ZW5hbmNlGAQgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRJbmRleFBlbmRpbmdCCwoJX29mZmVyX2lkIr8BCg1PZmZlclByZXBhcmVkEhwKFGF1dGhvcmVkX2NoYW5nZV91c2RhGAEgASgMEhkKEXdvcmtzcGFjZV9iaW5kaW5nGAIgASgJEhgKEHByZXBhcmVkX2F0X2hlYWQYAyABKAkSIQoZYXV0aG9yX3NpZ25hdHVyZV9yZXF1aXJlZBgEIAEoCBI4CghkZXRhY2hlZBgFIAEoCzImLm5vbW9zLmtlcm5lbC52MS5EZXRhY2hlZFNpZ25pbmdJbnB1dHMiYwoVRGV0YWNoZWRTaWduaW5nSW5wdXRzEhIKCnB1YmxpY19rZXkYASABKAwSEQoJaW50ZW50X2lkGAIgASgJEg4KBmF1dGhvchgDIAEoDBITCgtvZmZlcl90b2tlbhgEIAEoCSKVAQoURGV0YWNoZWRTaWduZWRDaGFuZ2USHAoUYXV0aG9yZWRfY2hhbmdlX3VzZGEYASABKAwSEgoKcHVibGljX2tleRgCIAEoDBIYChBhdXRob3Jfc2lnbmF0dXJlGAMgASgMEhIKCm9mZmVyX2Jhc2UYBCABKAkSHQoVb2ZmZXJfdG9rZW5fc2lnbmF0dXJlGAUgASgMImoKGFNpZ25QcmVwYXJlZE9mZmVyUmVxdWVzdBIcChRhdXRob3JlZF9jaGFuZ2VfdXNkYRgBIAEoDBIZChF3b3Jrc3BhY2VfYmluZGluZxgCIAEoCRIVCg1hdXRob3Jfc2VjcmV0GAMgASgMIjcKGVNpZ25QcmVwYXJlZE9mZmVyUmVzcG9uc2USGgoSc2lnbmVkX2NoYW5nZV91c2RhGAEgASgMIq0BChlQcmVwYXJlUmVtb3RlT2ZmZXJSZXF1ZXN0EhUKDW9mZmVyX3JlcXVlc3QYASABKAwSGQoRd29ya3NwYWNlX2JpbmRpbmcYAiABKAkSGAoQcHJlcGFyZWRfYXRfaGVhZBgDIAEoCRISCgpwdWJsaWNfa2V5GAQgASgMEhEKCXNpZ25hdHVyZRgFIAEoDBIdChVyZXF1aXJlZF9jdXN0b2R5X2hlYWQYBiABKAkiUAoZT2ZmZXJQcmVwYXJhdGlvbkNoYWxsZW5nZRIZChF3b3Jrc3BhY2VfYmluZGluZxgBIAEoCRIYChBwcmVwYXJlZF9hdF9oZWFkGAIgASgJIpkBChpQcmVwYXJlUmVtb3RlT2ZmZXJSZXNwb25zZRI/CgljaGFsbGVuZ2UYASABKAsyKi5ub21vcy5rZXJuZWwudjEuT2ZmZXJQcmVwYXJhdGlvbkNoYWxsZW5nZUgAEi8KBW9mZmVyGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2VIAEIJCgdvdXRjb21lIoABChtTaWduT2ZmZXJQcmVwYXJhdGlvblJlcXVlc3QSFQoNb2ZmZXJfcmVxdWVzdBgBIAEoDBIZChF3b3Jrc3BhY2VfYmluZGluZxgCIAEoCRIYChBwcmVwYXJlZF9hdF9oZWFkGAMgASgJEhUKDWF1dGhvcl9zZWNyZXQYBCABKAwiRQocU2lnbk9mZmVyUHJlcGFyYXRpb25SZXNwb25zZRISCgpwdWJsaWNfa2V5GAEgASgMEhEKCXNpZ25hdHVyZRgCIAEoDCKkAQoWU2lnbmluZ0lkZW50aXR5UmVxdWVzdBI7CghnZW5lcmF0ZRgBIAEoCzInLm5vbW9zLmtlcm5lbC52MS5HZW5lcmF0ZVNpZ25pbmdLZXlQYWlySAASQAoNZGVyaXZlX3B1YmxpYxgCIAEoCzInLm5vbW9zLmtlcm5lbC52MS5EZXJpdmVTaWduaW5nUHVibGljS2V5SABCCwoJb3BlcmF0aW9uIhgKFkdlbmVyYXRlU2lnbmluZ0tleVBhaXIiKAoWRGVyaXZlU2lnbmluZ1B1YmxpY0tleRIOCgZzZWNyZXQYASABKAwilgEKF1NpZ25pbmdJZGVudGl0eVJlc3BvbnNlEjQKCWdlbmVyYXRlZBgBIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5TaWduaW5nS2V5UGFpckgAEjsKDmRlcml2ZWRfcHVibGljGAIgASgLMiEubm9tb3Mua2VybmVsLnYxLlNpZ25pbmdQdWJsaWNLZXlIAEIICgZyZXN1bHQiNAoOU2lnbmluZ0tleVBhaXISDgoGc2VjcmV0GAEgASgMEhIKCnB1YmxpY19rZXkYAiABKAwiJgoQU2lnbmluZ1B1YmxpY0tleRISCgpwdWJsaWNfa2V5GAEgASgMIpwBCh9TaWduQXV0aG9yaXR5QXR0ZXN0YXRpb25SZXF1ZXN0EhUKDXNpZ25lcl9zZWNyZXQYASABKAwSGgoSYXNzZXJ0ZXJfd29ya3NwYWNlGAIgASgJEg4KBm9iamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIPCgdzdWJqZWN0GAUgASgJEhMKC2F0dGVzdGVkX2F0GAYgASgJIkkKIFNpZ25BdXRob3JpdHlBdHRlc3RhdGlvblJlc3BvbnNlEhEKCXNpZ25hdHVyZRgBIAEoDBISCgpwdWJsaWNfa2V5GAIgASgMIkQKEk1pbnRUeXBlZElkUmVxdWVzdBIQCgh0eXBlX3RhZxgBIAEoCRIcChRjYXB0dXJlZF91bml4X21pbGxpcxgCIAEoBCIhChNNaW50VHlwZWRJZFJlc3BvbnNlEgoKAmlkGAEgASgJIhsKGUVuY3J5cHRpb25JZGVudGl0eVJlcXVlc3QiRAoaRW5jcnlwdGlvbklkZW50aXR5UmVzcG9uc2USEgoKc2VjcmV0X2tleRgBIAEoDBISCgpwdWJsaWNfa2V5GAIgASgMIkYKE1dyYXBTY29wZUtleVJlcXVlc3QSHAoUcmVjaXBpZW50X3B1YmxpY19rZXkYASABKAwSEQoJc2NvcGVfa2V5GAIgASgMIkgKFFdyYXBTY29wZUtleVJlc3BvbnNlEhwKFGVwaGVtZXJhbF9wdWJsaWNfa2V5GAEgASgMEhIKCmNpcGhlcnRleHQYAiABKAwiZwoVVW53cmFwU2NvcGVLZXlSZXF1ZXN0EhwKFHJlY2lwaWVudF9zZWNyZXRfa2V5GAEgASgMEhwKFGVwaGVtZXJhbF9wdWJsaWNfa2V5GAIgASgMEhIKCmNpcGhlcnRleHQYAyABKAwiKwoWVW53cmFwU2NvcGVLZXlSZXNwb25zZRIRCglzY29wZV9rZXkYASABKAwikwEKDUtlcm5lbFJlZnVzYWwSMAoEY29kZRgBIAEoDjIiLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsQ29kZRIPCgdtZXNzYWdlGAIgASgJEi0KB2RldGFpbHMYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEAoIdGVybWluYWwYBCABKAgi/A8KDVF1ZXJ5UmVzcG9uc2USFQoLcmVzdWx0X3VzZGEYAiABKAxIABIsCgV2YWx1ZRgBIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEj4KDW9zZ2lfcmVzb3VyY2UYDCABKAsyJS5ub21vcy5rZXJuZWwudjEuT3NnaVJlc291cmNlUmVzcG9uc2VIABJKChNmcm9udGllcl90cmFuc2l0aW9uGA0gASgLMisubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblJlc3BvbnNlSAASSwoUb3duZWRfZGV2aWNlX3JlcXVlc3QYDiABKAsyKy5ub21vcy5rZXJuZWwudjEuT3duZWREZXZpY2VSZXF1ZXN0UmVzcG9uc2VIABJPChZvd25lZF9wcmVwYXJlX2FwcHJvdmFsGA8gASgLMi0ubm9tb3Mua2VybmVsLnYxLk93bmVkUHJlcGFyZUFwcHJvdmFsUmVzcG9uc2VIABIXCg1pbnRlZ2VyX3ZhbHVlGBAgASgSSAASUAoWYXV0aGVudGljYXRpb25fcG9zdHVyZRgRIAEoCzIuLm5vbW9zLmtlcm5lbC52MS5BdXRoZW50aWNhdGlvblBvc3R1cmVSZXNwb25zZUgAEkgKEGNoaWxkX3dvcmtzcGFjZXMYEiABKAsyLC5ub21vcy5rZXJuZWwudjEuQ2hpbGRXb3Jrc3BhY2VRdWVyeVJlc3BvbnNlSAASWQoWYXV0aG9yaW5nX3JlcXVpcmVtZW50cxgTIAEoCzI3Lm5vbW9zLmtlcm5lbC52MS5EaXJlY3RpdmVBdXRob3JpbmdSZXF1aXJlbWVudHNSZXNwb25zZUgAEj4KDXdhcm1fcHJvZ3Jlc3MYFSABKAsyJS5ub21vcy5rZXJuZWwudjEuV2FybVByb2dyZXNzUmVzcG9uc2VIABJVChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGBYgASgLMjAubm9tb3Mua2VybmVsLnYxLklkZW50aXR5UHJvdmlkZXJXaXRuZXNzUmVzcG9uc2VIABJSChdpbnRlcmZhY2VfY29tcGF0aWJpbGl0eRgXIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5JbnRlcmZhY2VDb21wYXRpYmlsaXR5UmVzcG9uc2VIABIyChJhcHBsaWNhdGlvbl9yZXN1bHQYGCABKAsyFC5nb29nbGUucHJvdG9idWYuQW55SAASSgoTbWFpbnRlbmFuY2VfcXVhbnR1bRgZIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5NYWludGVuYW5jZVF1YW50dW1SZXNwb25zZUgAEj8KEnJlYWRfaW5kZXhfcGVuZGluZxgaIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZWFkSW5kZXhQZW5kaW5nSAASRwoSZnVsbF9oaXN0b3J5X2F1ZGl0GBsgASgLMikubm9tb3Mua2VybmVsLnYxLkZ1bGxIaXN0b3J5QXVkaXRSZXNwb25zZUgAElMKGHdvcmtzcGFjZV9lZmZlY3RfcmVjZWlwdBgcIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VFZmZlY3RSZWNlaXB0UmVzcG9uc2VIABJLChRvcGVuX2FwaV9kZXNjcmlwdGlvbhgdIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5PcGVuQXBpRGVzY3JpcHRpb25SZXNwb25zZUgAElcKGmluc3RhbGxlZF9sYXdfZGVjbGFyYXRpb25zGB4gASgLMjEubm9tb3Mua2VybmVsLnYxLkluc3RhbGxlZExhd0RlY2xhcmF0aW9uc1Jlc3BvbnNlSAASSwoYYXBwbGljYXRpb25fcmVzdWx0X2RlbHRhGB8gASgLMicubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uUmVzdWx0RGVsdGFIABJJChh2ZXJpZnlfY2hhaW5fZGlhZ25vc3RpY3MYFCABKAsyJy5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5EaWFnbm9zdGljcxIcCg9yZXN1bHRfZnJvbnRpZXIYICABKAlIAYgBARJCChJmdWxsX3Jlc3VsdF9yZWFzb24YISABKA4yIS5ub21vcy5rZXJuZWwudjEuRnVsbFJlc3VsdFJlYXNvbkgCiAEBEkMKE3Jlc3VsdF9kZXBlbmRlbmNpZXMYIiABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVhZERlcGVuZGVuY2llc0gDiAEBEkAKEXJlYWRfaW5kZXhfYmVoaW5kGCMgASgLMiAubm9tb3Mua2VybmVsLnYxLlJlYWRJbmRleEJlaGluZEgEiAEBQggKBnJlc3VsdEISChBfcmVzdWx0X2Zyb250aWVyQhUKE19mdWxsX3Jlc3VsdF9yZWFzb25CFgoUX3Jlc3VsdF9kZXBlbmRlbmNpZXNCFAoSX3JlYWRfaW5kZXhfYmVoaW5kIoABCg9SZWFkSW5kZXhCZWhpbmQSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIXCg9zZXJ2ZWRfZnJvbnRpZXIYAyABKAkSGgoScmVxdWVzdGVkX2Zyb250aWVyGAQgASgJEhUKDXN1Y2Nlc3Nvcl9sYXcYBSABKAgiVAoQUmVhZERlcGVuZGVuY2llcxIXCg9hZ2dyZWdhdGVfdHlwZXMYASADKAkSFgoOcmVhZHNfYXJjaGl2ZXMYAiABKAgSDwoHcmVhZF9hdBgDIAEoCSKCAQoWQXBwbGljYXRpb25SZXN1bHREZWx0YRIVCg1iYXNlX2Zyb250aWVyGAEgASgJEhAKCGZyb250aWVyGAIgASgJEioKDGNoYW5nZWRfcm93cxgDIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkSEwoLcmVtb3ZlZF9pZHMYBCADKAkiMwoaT3BlbkFwaURlc2NyaXB0aW9uUmVzcG9uc2USFQoNZG9jdW1lbnRfanNvbhgBIAEoCSJxChtJbnRlcmZhY2VDb21wYXRpYmlsaXR5UXVlcnkSHwoXYXBwbGljYXRpb25fbWF0cml4X3VzZGEYASABKAwSMQoPY2FuZGlkYXRlX3VuaXRzGAIgAygLMhgubm9tb3Mua2VybmVsLnYxLkxhd1VuaXQisAIKFkludGVyZmFjZU1lbWJlclZlcmRpY3QSDgoGZG9tYWluGAEgASgJEjIKBGtpbmQYAiABKA4yJC5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlTWVtYmVyS2luZBIOCgZtZW1iZXIYAyABKAkSEgoFZmllbGQYBCABKAlIAIgBARI9CgZzdGF0dXMYBSABKA4yLS5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlQ29tcGF0aWJpbGl0eVN0YXR1cxI9CgZyZWFzb24YBiABKA4yLS5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlQ29tcGF0aWJpbGl0eVJlYXNvbhIXCgpkaWFnbm9zdGljGAcgASgJSAGIAQFCCAoGX2ZpZWxkQg0KC19kaWFnbm9zdGljIqIBCh5JbnRlcmZhY2VDb21wYXRpYmlsaXR5UmVzcG9uc2USEgoKY29tcGF0aWJsZRgBIAEoCBI4CgdtZW1iZXJzGAIgAygLMicubm9tb3Mua2VybmVsLnYxLkludGVyZmFjZU1lbWJlclZlcmRpY3QSGgoSd29ya3NwYWNlX2Zyb250aWVyGAMgASgJEhYKDmNhbmRpZGF0ZV9oYXNoGAQgASgJIv8BChRXYXJtUHJvZ3Jlc3NSZXNwb25zZRIbChNtYWludGVuYW5jZV9wZW5kaW5nGAEgASgIEiQKF3ByZXBhcmVkX2NvbW1hbmRfZG9tYWluGAIgASgJSACIAQESJQoYcHJlcGFyZWRfY29tbWFuZF9wYWNrYWdlGAMgASgJSAGIAQESJgoZcHJlcGFyZWRfY29tbWFuZF9zZWxlY3RvchgEIAEoCUgCiAEBQhoKGF9wcmVwYXJlZF9jb21tYW5kX2RvbWFpbkIbChlfcHJlcGFyZWRfY29tbWFuZF9wYWNrYWdlQhwKGl9wcmVwYXJlZF9jb21tYW5kX3NlbGVjdG9yImwKEFJlYWRJbmRleFBlbmRpbmcSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIaChJyZXF1ZXN0ZWRfZnJvbnRpZXIYAyABKAkSGQoRbGFzdF9yZWFkeV9hYnNlbnQYBCABKAki6AIKF01haW50ZW5hbmNlUXVhbnR1bVF1ZXJ5Eh0KEHJlcXVlc3RlZF9kb21haW4YASABKAlIAIgBARIeChFyZXF1ZXN0ZWRfcGFja2FnZRgCIAEoCUgBiAEBEiAKE3JlcXVlc3RlZF9kaXJlY3RpdmUYAyABKAlIAogBARIXCg9sb2NhbF9yZWFkX29ubHkYBCABKAgSHAoUbWFpbnRhaW5fZ2l0X2N1c3RvZHkYBSABKAgSFwoPcmVhZF9pbmRleF9vbmx5GAYgASgIEiQKHG1haW50YWluX2FkZHJlc3NlZF9mcm9udGllcnMYByABKAgSGAoQZmx1c2hfZHVyYWJpbGl0eRgIIAEoCBIZChFsb2NhbF93cml0ZV9idXJzdBgJIAEoCEITChFfcmVxdWVzdGVkX2RvbWFpbkIUChJfcmVxdWVzdGVkX3BhY2thZ2VCFgoUX3JlcXVlc3RlZF9kaXJlY3RpdmUiogQKGk1haW50ZW5hbmNlUXVhbnR1bVJlc3BvbnNlEhEKCXdvcmtzcGFjZRgBIAEoCRIbChNtYWludGVuYW5jZV9wZW5kaW5nGAIgASgIEjAKBXBoYXNlGAMgASgOMiEubm9tb3Mua2VybmVsLnYxLk1haW50ZW5hbmNlUGhhc2USGQoMZ2l0X2Zyb250aWVyGAQgASgJSACIAQESGgoNcmVhZF9mcm9udGllchgFIAEoCUgBiAEBEhwKD3NxbGl0ZV9mcm9udGllchgGIAEoCUgCiAEBEhIKCndvcmtfdW5pdHMYByABKAQSFgoOZWxhcHNlZF9taWNyb3MYCCABKAQSJAoXcHJlcGFyZWRfY29tbWFuZF9kb21haW4YCSABKAlIA4gBARIlChhwcmVwYXJlZF9jb21tYW5kX3BhY2thZ2UYCiABKAlIBIgBARImChlwcmVwYXJlZF9jb21tYW5kX3NlbGVjdG9yGAsgASgJSAWIAQESHgoWbG9vc2VfY3VzdG9keV9wcmVzc3VyZRgMIAEoCEIPCg1fZ2l0X2Zyb250aWVyQhAKDl9yZWFkX2Zyb250aWVyQhIKEF9zcWxpdGVfZnJvbnRpZXJCGgoYX3ByZXBhcmVkX2NvbW1hbmRfZG9tYWluQhsKGV9wcmVwYXJlZF9jb21tYW5kX3BhY2thZ2VCHAoaX3ByZXBhcmVkX2NvbW1hbmRfc2VsZWN0b3IiSAoNT3NnaUF0dHJpYnV0ZRIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJEhEKBHR5cGUYAyABKAlIAIgBAUIHCgVfdHlwZSIsCg1Pc2dpRGlyZWN0aXZlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiiwEKDk9zZ2lDYXBhYmlsaXR5EhEKCW5hbWVzcGFjZRgBIAEoCRIyCgphdHRyaWJ1dGVzGAIgAygLMh4ubm9tb3Mua2VybmVsLnYxLk9zZ2lBdHRyaWJ1dGUSMgoKZGlyZWN0aXZlcxgDIAMoCzIeLm5vbW9zLmtlcm5lbC52MS5Pc2dpRGlyZWN0aXZlIowBCg9Pc2dpUmVxdWlyZW1lbnQSEQoJbmFtZXNwYWNlGAEgASgJEjIKCmF0dHJpYnV0ZXMYAiADKAsyHi5ub21vcy5rZXJuZWwudjEuT3NnaUF0dHJpYnV0ZRIyCgpkaXJlY3RpdmVzGAMgAygLMh4ubm9tb3Mua2VybmVsLnYxLk9zZ2lEaXJlY3RpdmUimgEKFE9zZ2lSZXNvdXJjZVJlc3BvbnNlEhMKC3NvdXJjZV91c2RhGAEgASgMEjUKDGNhcGFiaWxpdGllcxgCIAMoCzIfLm5vbW9zLmtlcm5lbC52MS5Pc2dpQ2FwYWJpbGl0eRI2CgxyZXF1aXJlbWVudHMYAyADKAsyIC5ub21vcy5rZXJuZWwudjEuT3NnaVJlcXVpcmVtZW50IucBChNWZXJpZnlDaGFpblN0ZXBTcGFuEg0KBWluZGV4GAEgASgEEhIKCmNvbW1pdF9vaWQYAiABKAkSDgoGZG9tYWluGAMgASgJEhEKCWRpcmVjdGl2ZRgEIAEoCRIQCgh0b3RhbF91cxgFIAEoBBI2CgZwaGFzZXMYBiABKAsyJi5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEkAKDmVuZ2luZV90aW1pbmdzGAcgAygLMigubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRW5naW5lVGltaW5nIpgCChVWZXJpZnlDaGFpblN0ZXBQaGFzZXMSHgoWcnVudGltZV9sYXdfcmVmcmVzaF91cxgBIAEoBBITCgttYW5pZmVzdF91cxgCIAEoBBIZChFsYXdfcmVzb2x1dGlvbl91cxgDIAEoBBIdChVtYW5hZ2VkX3RyYW5zaXRpb25fdXMYBCABKAQSFAoMcHJpbmNpcGFsX3VzGAUgASgEEhQKDGV2b2x1dGlvbl91cxgGIAEoBBIaChJjb2xvY2F0ZWRfcmVhZHNfdXMYByABKAQSIQoZdHlwZWRfaW5zdGFsbF92ZXJpZmllcl91cxgIIAEoBBIUCgxhZG1pc3Npb25fdXMYCSABKAQSDwoHZm9sZF91cxgKIAEoBCLaBQoWVmVyaWZ5Q2hhaW5EaWFnbm9zdGljcxIuCgR3YWxrGAEgASgOMiAubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluV2FsaxIQCgh0b3RhbF91cxgCIAEoBBIbChNyZWZlcmVuY2VfbG9va3VwX3VzGAMgASgEEhoKEnJlcG9zaXRvcnlfb3Blbl91cxgEIAEoBBIVCg1jaGFpbl9yZWFkX3VzGAUgASgEEhYKDmVuZ2luZV9pbml0X3VzGAYgASgEEhgKEHRpbWVsaW5lX3JlYWRfdXMYByABKAQSGAoQbGF3X2h5ZHJhdGlvbl91cxgIIAEoBBIbChNyZWNvdmVyeV9wcmVzY2FuX3VzGAkgASgEEhgKEGZvbGRfZnJvbnRpZXJfdXMYCiABKAQSMwoFc3RlcHMYCyADKAsyJC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5TdGVwU3BhbhJACg5lbmdpbmVfdGltaW5ncxgMIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZxJNChVsYXdfaHlkcmF0aW9uX3RpbWluZ3MYDSADKAsyLi5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5MYXdIeWRyYXRpb25UaW1pbmcSGQoRbGF3X2Nsb3N1cmVfY291bnQYDiABKAQSHgoWbGF3X2Nsb3N1cmVfY2FjaGVfaGl0cxgPIAEoBBIgChhsYXdfY2xvc3VyZV9jYWNoZV9taXNzZXMYECABKAQSEgoKc3RlcF9jb3VudBgRIAEoBBIVCg1zdGVwX3RvdGFsX3VzGBIgASgEEkEKEXN0ZXBfcGhhc2VfdG90YWxzGBMgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxIaChJvbWl0dGVkX3N0ZXBfY291bnQYFCABKAQiOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiQAodVmVyaWZ5Q2hhaW5MYXdIeWRyYXRpb25UaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiqwEKFEh0dHBzRXhlY3V0aW9uUG9saWN5EjwKCXBsYWNlbWVudBgBIAEoDjIpLm5vbW9zLmtlcm5lbC52MS5FZmZlY3RFeGVjdXRpb25QbGFjZW1lbnQSQAoLY2FyZGluYWxpdHkYAiABKA4yKy5ub21vcy5rZXJuZWwudjEuRWZmZWN0RXhlY3V0aW9uQ2FyZGluYWxpdHkSEwoLbGF3X2Nsb3N1cmUYAyABKAkiWwoSSHR0cHNPdXRib3VuZFJvdXRlEgsKA3VybBgBIAEoCRI4CglleGVjdXRpb24YAiABKAsyJS5ub21vcy5rZXJuZWwudjEuSHR0cHNFeGVjdXRpb25Qb2xpY3kiKwoWV29ya3NwYWNlT3V0Ym91bmRSb3V0ZRIRCgl3b3Jrc3BhY2UYASABKAkihQIKFUNhcnJpZWRXb3Jrc3BhY2VPZmZlchIwCgZzb3VyY2UYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhUKDXNvdXJjZV9jb21taXQYAiABKAkSGQoRc291cmNlX29mZmVyX3BhdGgYAyABKAkSHAoUc291cmNlX2V2aWRlbmNlX3BhY2sYBSABKAwSIwobYWRtaXNzaW9uX2NoZWNrcG9pbnRfc2VjcmV0GAYgASgMEhUKDWVmZmVjdF9kaWdlc3QYByABKAkSIAoYc291cmNlX3dvcmtzcGFjZV9nZW5lc2lzGAggASgJSgQIBBAFUgZ0YXJnZXQizAQKDU91dGJvdW5kT2ZmZXISCgoCaWQYASABKAkSFwoLZGVzdGluYXRpb24YAiABKAlCAhgBEhQKDHNlYWxlZF9vZmZlchgDIAEoDBIUCgxjb250ZW50X3R5cGUYBCABKAkSGAoQc291cmNlX3dvcmtzcGFjZRgFIAEoCRIUCgxjdXN0b2R5X2hlYWQYBiABKAkSFwoPY2F1c2VkX2J5X29mZmVyGAcgASgJEhsKE3NjaGVkdWxlZF9hdF9taWxsaXMYCCABKAQSGgoSZGVhZGxpbmVfYXRfbWlsbGlzGAkgASgEEhQKDGN1c3RvZHlfcGF0aBgKIAEoCRITCgtjdXN0b2R5X29pZBgLIAEoCRIUCgxkZWxpdmVyeV9yZWYYDCABKAkSFQoNb2JsaWdhdGlvbl9pZBgNIAEoCRI6CgtodHRwc19yb3V0ZRgOIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5IdHRwc091dGJvdW5kUm91dGVIABJCCg93b3Jrc3BhY2Vfcm91dGUYDyABKAsyJy5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlT3V0Ym91bmRSb3V0ZUgAEhUKDXNvdXJjZV9jb21taXQYECABKAkSHAoUc291cmNlX2V2aWRlbmNlX3BhY2sYESABKAwSGQoRc291cmNlX29mZmVyX3BhdGgYEiABKAkSFQoNZWZmZWN0X2RpZ2VzdBgTIAEoCRIgChhzb3VyY2Vfd29ya3NwYWNlX2dlbmVzaXMYFCABKAlCBwoFcm91dGUi7gEKDk91dGJveFJlc3BvbnNlEi4KBm9mZmVycxgBIAMoCzIeLm5vbW9zLmtlcm5lbC52MS5PdXRib3VuZE9mZmVyEh8KEm5leHRfZHVlX2F0X21pbGxpcxgCIAEoBEgAiAEBEi0KB2VudHJpZXMYAyADKAsyHC5ub21vcy5rZXJuZWwudjEuT3V0Ym94RW50cnkSFAoMd29ya19wZW5kaW5nGAQgASgIEhUKDWVudHJpZXNfdG90YWwYBSABKA0SGAoQZW50cmllc19wcmVwYXJlZBgGIAEoDUIVChNfbmV4dF9kdWVfYXRfbWlsbGlzIr0BCgtPdXRib3hFbnRyeRIKCgJpZBgBIAEoCRIZChFzb3VyY2Vfb2ZmZXJfcGF0aBgCIAEoCRI6CgtodHRwc19yb3V0ZRgDIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5IdHRwc091dGJvdW5kUm91dGVIABJCCg93b3Jrc3BhY2Vfcm91dGUYBCABKAsyJy5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlT3V0Ym91bmRSb3V0ZUgAQgcKBXJvdXRlIpQBChRQcmVwYXJlT3V0Ym91bmRPZmZlchIYChB0YXJnZXRfd29ya3NwYWNlGAEgASgJEhoKDXNvdXJjZV9jb21taXQYAiABKAlIAIgBARIeChFzb3VyY2Vfb2ZmZXJfcGF0aBgDIAEoCUgBiAEBQhAKDl9zb3VyY2VfY29tbWl0QhQKEl9zb3VyY2Vfb2ZmZXJfcGF0aCKJBQoMU3luY1Jlc3BvbnNlEhAKCGFkbWl0dGVkGAIgASgIEgwKBGhlYWQYAyABKAkSFgoOY2FuZGlkYXRlX2hlYWQYBCABKAkSHAoUYWRtaXR0ZWRfcmVtb3RlX2hlYWQYBSABKAkSHAoUcmVwbGF5ZWRfcmVtb3RlX2hlYWQYBiABKAkSPAoPYWRtaXR0ZWRfcmVtb3RlGAcgAygLMiMubm9tb3Mua2VybmVsLnYxLlN5bmNBZG1pdHRlZEludGVudBI8ChVyZW1vdGVfYmlydGhfb3V0Y29tZXMYCCADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEjkKDnJlbW90ZV9yZWZ1c2FsGAkgASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZWZ1c2FsSACIAQESOwoOcmVwbGF5ZWRfbG9jYWwYCiADKAsyIy5ub21vcy5rZXJuZWwudjEuU3luY1JlcGxheWVkSW50ZW50EiAKGHNraXBwZWRfbG9jYWxfaW50ZW50X2lkcxgLIAMoCRI5Cg1yZWZ1c2VkX2xvY2FsGAwgAygLMiIubm9tb3Mua2VybmVsLnYxLlN5bmNSZWZ1c2VkSW50ZW50EkcKFGN1c3RvZHlfZGlzYWdyZWVtZW50GA0gASgLMiQubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlEaXNhZ3JlZW1lbnRIAYgBARIZChFwYXJrZWRfbG9jYWxfcmVmcxgOIAMoCRIWCg5yZXBsYXlfcGVuZGluZxgPIAEoCEIRCg9fcmVtb3RlX3JlZnVzYWxCFwoVX2N1c3RvZHlfZGlzYWdyZWVtZW50SgQIARACUgZyZXN1bHQiUQoTQ3VzdG9keURpc2FncmVlbWVudBISCgpsb2NhbF9oZWFkGAEgASgJEhYKDmNhbmRpZGF0ZV9oZWFkGAIgASgJEg4KBnJlYXNvbhgDIAEoCSJPChJTeW5jQWRtaXR0ZWRJbnRlbnQSEQoJaW50ZW50X2lkGAEgASgJEhgKEGNhbmRpZGF0ZV9jb21taXQYAiABKAkSDAoEaGVhZBgDIAEoCSJsChJTeW5jUmVwbGF5ZWRJbnRlbnQSEQoJaW50ZW50X2lkGAEgASgJEgwKBGhlYWQYAiABKAkSNQoOYmlydGhfb3V0Y29tZXMYAyADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lIqEBCgtTeW5jUmVmdXNhbBIWCglpbnRlbnRfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSEQoEY29kZRgDIAEoCUgBiAEBEjQKB3JlZnVzYWwYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbEgCiAEBQgwKCl9pbnRlbnRfaWRCBwoFX2NvZGVCCgoIX3JlZnVzYWwijQEKEVN5bmNSZWZ1c2VkSW50ZW50EhEKCWludGVudF9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkSEwoLY2hhbmdlX3VzZGEYAyABKAwSNAoHcmVmdXNhbBgEIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsSACIAQFCCgoIX3JlZnVzYWwiQgoPV29ya3NwYWNlVGFyZ2V0EgwKBHJlcG8YASABKAkSEQoJd29ya3NwYWNlGAIgASgJEg4KBmJyYW5jaBgDIAEoCSJOCgtPcGVuUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0Eg0KBXNwYW5zGAIgASgIIg4KDEdlbmVzaXNPZmZlciKjAQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEicKCW9wZXJhdGlvbhgFIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkSFgoOYXJndW1lbnRzX2pzb24YBiABKAlKBAgDEARKBAgEEAVSCWNhbGxfdXNkYVIHcGF5bG9hZFIObGVnYWN5X3BheWxvYWQi1gIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2sSFAoMcHJlcGFyZV9vbmx5GAwgASgIQhMKEV92YWxpZF9mcm9tX2Vwb2NoQhUKE19wcmluY2lwYWxfdmVyaWZpZWQiSgoNQ2FwdHVyZWRDbG9jaxIXCg9waHlzaWNhbF9taWxsaXMYASABKAQSDwoHbG9naWNhbBgCIAEoDRIPCgdyZXBsaWNhGAMgASgEIsMDChBCaXJ0aENlcnRpZmljYXRlEg0KBWNoaWxkGAEgASgJEg8KB2ZvdW5kZXIYAiABKAkSEAoIdmVyaWZpZWQYAyABKAgSEgoKcGFyZW50X2tleRgEIAEoDBIRCglwYXJlbnRfaWQYBSABKAkSDQoFZXBvY2gYBiABKAMSEQoJc2lnbmF0dXJlGAcgASgMEhkKDHZlcmlmaWVkX3ZpYRgIIAEoCUgAiAEBEhYKCWlkcF90b2tlbhgJIAEoCUgBiAEBEhsKDmNhcHR1cmVkX2Nsb2NrGAogASgDSAKIAQESIQoUYXV0aF9wcm92aWRlcl9pc3N1ZXIYCyABKAlIA4gBARIfChJhdXRoX3Byb3ZpZGVyX2p3a3MYDCABKAlIBIgBARIjChZhdXRoX3Byb3ZpZGVyX2F1ZGllbmNlGA0gASgJSAWIAQFCDwoNX3ZlcmlmaWVkX3ZpYUIMCgpfaWRwX3Rva2VuQhEKD19jYXB0dXJlZF9jbG9ja0IXChVfYXV0aF9wcm92aWRlcl9pc3N1ZXJCFQoTX2F1dGhfcHJvdmlkZXJfandrc0IZChdfYXV0aF9wcm92aWRlcl9hdWRpZW5jZSJsChtTaWduQmlydGhDZXJ0aWZpY2F0ZVJlcXVlc3QSNgoLY2VydGlmaWNhdGUYASABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZRIVCg1zaWduZXJfc2VjcmV0GAIgASgMIlYKHFNpZ25CaXJ0aENlcnRpZmljYXRlUmVzcG9uc2USNgoLY2VydGlmaWNhdGUYASABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZSLsAgoUTW9kZWxMaWZlY3ljbGVJbnRlbnQSOwoJb3BlcmF0aW9uGAEgASgOMigubm9tb3Mua2VybmVsLnYxLk1vZGVsTGlmZWN5Y2xlT3BlcmF0aW9uEhQKDGluc3RhbGxlZF9ieRgCIAEoCRIXCgpzdXBlcnNlZGVzGAMgASgJSACIAQESRAoKdHJhbnNpdGlvbhgEIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5Gcm9udGllclRyYW5zaXRpb25SZXNwb25zZUgBiAEBEhUKCHJlcGxhY2VzGAUgASgJSAKIAQESHgoRYWNjZXB0YW5jZV9yZWFzb24YBiABKAlIA4gBARIZCgxsYXdfaWRlbnRpdHkYByABKAlIBIgBAUINCgtfc3VwZXJzZWRlc0INCgtfdHJhbnNpdGlvbkILCglfcmVwbGFjZXNCFAoSX2FjY2VwdGFuY2VfcmVhc29uQg8KDV9sYXdfaWRlbnRpdHkiOwofSWRlbnRpdHlQcm92aWRlcldpdG5lc3NBZG9wdGlvbhIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJIucHCgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABJACg9tb2RlbF9saWZlY3ljbGUYDCABKAsyJS5ub21vcy5rZXJuZWwudjEuTW9kZWxMaWZlY3ljbGVJbnRlbnRIABJeCiJpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzX2Fkb3B0aW9uGA0gASgLMjAubm9tb3Mua2VybmVsLnYxLklkZW50aXR5UHJvdmlkZXJXaXRuZXNzQWRvcHRpb25IABIwCgdnZW5lc2lzGA4gASgLMh0ubm9tb3Mua2VybmVsLnYxLkdlbmVzaXNPZmZlckgAEkkKF2NhcnJpZWRfd29ya3NwYWNlX29mZmVyGA8gASgLMiYubm9tb3Mua2VybmVsLnYxLkNhcnJpZWRXb3Jrc3BhY2VPZmZlckgAEjQKCXBsYWNlbWVudBgQIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5QbGFjZW1lbnRPZmZlckgAEkcKFmRldGFjaGVkX3NpZ25lZF9jaGFuZ2UYEiABKAsyJS5ub21vcy5rZXJuZWwudjEuRGV0YWNoZWRTaWduZWRDaGFuZ2VIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGUSKwoJbGF3X3VuaXRzGBEgAygLMhgubm9tb3Mua2VybmVsLnYxLkxhd1VuaXRCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IjYKB0xhd1VuaXQSKwoFZmlsZXMYASADKAsyHC5ub21vcy5rZXJuZWwudjEuTGF3VW5pdEZpbGUiLAoLTGF3VW5pdEZpbGUSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMIsUBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEjIKCGV2aWRlbmNlGAUgASgLMiAubm9tb3Mua2VybmVsLnYxLlJlYWRBdHRlc3RhdGlvbkoECAQQBVILYXR0ZXN0YXRpb24i1QEKD1JlYWRBdHRlc3RhdGlvbhIPCgd2ZXJzaW9uGAEgASgDEhgKEHNvdXJjZV93b3Jrc3BhY2UYAiABKAkSFgoOc291cmNlX2dlbmVzaXMYAyABKAkSEwoLc291cmNlX2hlYWQYBCABKAkSEQoJZm9sZF9yb290GAUgASgJEhQKDHNvdXJjZV9lcG9jaBgGIAEoAxIaChJhdHRlc3RlZF9hdF9taWxsaXMYByABKAMSEgoKcHVibGljX2tleRgIIAEoDBIRCglzaWduYXR1cmUYCSABKAwidQoQQ29uZmxpY3RTbmFwc2hvdBIWCg5hZ2dyZWdhdGVfdHlwZRgBIAEoCRIUCgxhZ2dyZWdhdGVfaWQYAiABKAkSDQoFZmllbGQYAyABKAkSFQoNdGFyZ2V0X3NjaGVtYRgEIAEoCRINCgV0b2tlbhgFIAEoCSKqDwoMUXVlcnlSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSMgoJYXV0aG9yaXR5GAIgASgLMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5QXV0aG9yaXR5Eg0KBXNwYW5zGAMgASgIEjkKDXJlc3VsdF9mb3JtYXQYBCABKA4yIi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXN1bHRGb3JtYXQSGAoQc2VydmVfbGFzdF9yZWFkeRgFIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABJFChJyZWZlcmVuY2VfdmVyc2lvbnMYDiABKAsyJy5ub21vcy5rZXJuZWwudjEuUmVmZXJlbmNlVmVyc2lvbnNRdWVyeUgAEiwKBWNvdW50GA8gASgLMhsubm9tb3Mua2VybmVsLnYxLlRhbGx5UXVlcnlIABIqCgNzdW0YECABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEjAKB3NwYXRpYWwYESABKAsyHS5ub21vcy5rZXJuZWwudjEuU3BhdGlhbFF1ZXJ5SAASLAoFbmFtZWQYEiABKAsyGy5ub21vcy5rZXJuZWwudjEuTmFtZWRRdWVyeUgAEkkKE2F1dGhvcml6YXRpb25fY2hlY2sYEyABKAsyKi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNoZWNrUmVxdWVzdEgAEksKFGF1dGhvcml6YXRpb25fZXhwYW5kGBQgASgLMisubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXF1ZXN0SAASSQoTZnJvbnRpZXJfdHJhbnNpdGlvbhgVIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5Gcm9udGllclRyYW5zaXRpb25SZXF1ZXN0SAASLwoHYnlfdHlwZRgWIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5CeVR5cGVRdWVyeUgAEkgKFG93bmVkX2RldmljZV9yZXF1ZXN0GBcgASgLMigubm9tb3Mua2VybmVsLnYxLk93bmVkRGV2aWNlUmVxdWVzdFF1ZXJ5SAASTAoWb3duZWRfcHJlcGFyZV9hcHByb3ZhbBgYIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5Pd25lZFByZXBhcmVBcHByb3ZhbFF1ZXJ5SAASQwoRcGVuZGluZ19jb25mbGljdHMYGSABKAsyJi5ub21vcy5rZXJuZWwudjEuUGVuZGluZ0NvbmZsaWN0c1F1ZXJ5SAASUAoYcGVuZGluZ19jb25mbGljdF9zdW1tYXJ5GBogASgLMiwubm9tb3Mua2VybmVsLnYxLlBlbmRpbmdDb25mbGljdFN1bW1hcnlRdWVyeUgAEk0KFmF1dGhlbnRpY2F0aW9uX3Bvc3R1cmUYGyABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aGVudGljYXRpb25Qb3N0dXJlUXVlcnlIABJAChBjaGlsZF93b3Jrc3BhY2VzGBwgASgLMiQubm9tb3Mua2VybmVsLnYxLkNoaWxkV29ya3NwYWNlUXVlcnlIABJWChZhdXRob3JpbmdfcmVxdWlyZW1lbnRzGB0gASgLMjQubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUF1dGhvcmluZ1JlcXVpcmVtZW50c1F1ZXJ5SAASUgoZaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzcxgeIAEoCzItLm5vbW9zLmtlcm5lbC52MS5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1F1ZXJ5SAASTwoXaW50ZXJmYWNlX2NvbXBhdGliaWxpdHkYHyABKAsyLC5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlQ29tcGF0aWJpbGl0eVF1ZXJ5SAASRwoTbWFpbnRlbmFuY2VfcXVhbnR1bRggIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5NYWludGVuYW5jZVF1YW50dW1RdWVyeUgAEkQKEmZ1bGxfaGlzdG9yeV9hdWRpdBghIAEoCzImLm5vbW9zLmtlcm5lbC52MS5GdWxsSGlzdG9yeUF1ZGl0UXVlcnlIABJQChh3b3Jrc3BhY2VfZWZmZWN0X3JlY2VpcHQYIiABKAsyLC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlRWZmZWN0UmVjZWlwdFF1ZXJ5SAASVAoaaW5zdGFsbGVkX2xhd19kZWNsYXJhdGlvbnMYIyABKAsyLi5ub21vcy5rZXJuZWwudjEuSW5zdGFsbGVkTGF3RGVjbGFyYXRpb25zUXVlcnlIAEIHCgVxdWVyeSJWChtXb3Jrc3BhY2VFZmZlY3RSZWNlaXB0UXVlcnkSIAoYc291cmNlX3dvcmtzcGFjZV9nZW5lc2lzGAEgASgJEhUKDWVmZmVjdF9kaWdlc3QYAiABKAki5AEKHldvcmtzcGFjZUVmZmVjdFJlY2VpcHRSZXNwb25zZRIYChB0YXJnZXRfd29ya3NwYWNlGAEgASgJEiAKGHRhcmdldF93b3Jrc3BhY2VfZ2VuZXNpcxgCIAEoCRIVCg1vYnNlcnZlZF9oZWFkGAMgASgJEiAKGHNvdXJjZV93b3Jrc3BhY2VfZ2VuZXNpcxgEIAEoCRIVCg1lZmZlY3RfZGlnZXN0GAUgASgJEh8KEmFkbWl0dGVkX2ludGVudF9pZBgGIAEoCUgAiAEBQhUKE19hZG1pdHRlZF9pbnRlbnRfaWQiFwoVRnVsbEhpc3RvcnlBdWRpdFF1ZXJ5IrADChhGdWxsSGlzdG9yeUF1ZGl0UmVzcG9uc2USDQoFdmFsaWQYASABKAgSLgoEd2FsaxgCIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEQoEaGVhZBgDIAEoCUgAiAEBEhQKB2ludGVudHMYBCABKARIAYgBARIYCgtwbGFuc19yZXJ1bhgFIAEoBEgCiAEBEhwKD2NvbnRyb2xsZXJfaGFzaBgGIAEoCUgDiAEBEhkKEWluc3RhbGxlZF9kb21haW5zGAcgAygJEhIKBWNoZWNrGAggASgJSASIAQESFQoIYXRfaW5kZXgYCSABKARIBYgBARISCgVlcnJvchgKIAEoCUgGiAEBEjQKB3JlZnVzYWwYCyABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbEgHiAEBQgcKBV9oZWFkQgoKCF9pbnRlbnRzQg4KDF9wbGFuc19yZXJ1bkISChBfY29udHJvbGxlcl9oYXNoQggKBl9jaGVja0ILCglfYXRfaW5kZXhCCAoGX2Vycm9yQgoKCF9yZWZ1c2FsIh4KHElkZW50aXR5UHJvdmlkZXJXaXRuZXNzUXVlcnkiiwIKGklkZW50aXR5UHJvdmlkZXJXaXRuZXNzS2V5Eg8KB29yZGluYWwYASABKAQSCwoDa3R5GAIgASgJEhAKA2tpZBgDIAEoCUgAiAEBEhAKA2FsZxgEIAEoCUgBiAEBEhAKA3VzZRgFIAEoCUgCiAEBEhAKA2NydhgGIAEoCUgDiAEBEg4KAXgYByABKAlIBIgBARIOCgF5GAggASgJSAWIAQESDgoBbhgJIAEoCUgGiAEBEg4KAWUYCiABKAlIB4gBARIPCgdrZXlfb3BzGAsgAygJQgYKBF9raWRCBgoEX2FsZ0IGCgRfdXNlQgYKBF9jcnZCBAoCX3hCBAoCX3lCBAoCX25CBAoCX2UiYwoiSWRlbnRpdHlQcm92aWRlcldpdG5lc3NDZXJ0aWZpY2F0ZRITCgtrZXlfb3JkaW5hbBgBIAEoBBIbChNjZXJ0aWZpY2F0ZV9vcmRpbmFsGAIgASgEEgsKA2RlchgDIAEoDCLFBAofSWRlbnRpdHlQcm92aWRlcldpdG5lc3NSZXNwb25zZRIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJEhYKDnNvdXJjZV9nZW5lc2lzGAIgASgJEhMKC3NvdXJjZV9oZWFkGAMgASgJEg0KBWVwb2NoGAQgASgEEh8KEnByZWRlY2Vzc29yX3NoYTI1NhgFIAEoDEgAiAEBEg4KBmlzc3VlchgGIAEoCRIVCghhdWRpZW5jZRgHIAEoCUgBiAEBEhcKD3ByaW5jaXBhbF9jbGFpbRgIIAEoCRIhChRkZXZpY2VfYmluZGluZ19jbGFpbRgJIAEoCUgCiAEBEh4KFnJlcXVpcmVfZGV2aWNlX2JpbmRpbmcYCiABKAgSOQoEa2V5cxgLIAMoCzIrLm5vbW9zLmtlcm5lbC52MS5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc0tleRJJCgxjZXJ0aWZpY2F0ZXMYDCADKAsyMy5ub21vcy5rZXJuZWwudjEuSWRlbnRpdHlQcm92aWRlcldpdG5lc3NDZXJ0aWZpY2F0ZRIXCg9tYXRlcmlhbF9zaGEyNTYYDSABKAwSMwoMYXR0ZXN0YXRpb25zGA8gAygLMh0ubm9tb3Mua2VybmVsLnYxLkF0dGVzdGVkUmVhZEIVChNfcHJlZGVjZXNzb3Jfc2hhMjU2QgsKCV9hdWRpZW5jZUIXChVfZGV2aWNlX2JpbmRpbmdfY2xhaW1KBAgOEA9SEXNvdXJjZV9wcm9vZl91c2RhIhUKE0NoaWxkV29ya3NwYWNlUXVlcnkikAEKGUNoaWxkV29ya3NwYWNlUXVlcnlSZWNvcmQSEQoJd29ya3NwYWNlGAEgASgJEj4KBnN0YXR1cxgCIAEoDjIuLm5vbW9zLmtlcm5lbC52MS5DaGlsZFdvcmtzcGFjZUxpZmVjeWNsZVN0YXR1cxIUCgdib3JuX2F0GAMgASgJSACIAQFCCgoIX2Jvcm5fYXQiWwobQ2hpbGRXb3Jrc3BhY2VRdWVyeVJlc3BvbnNlEjwKCGNoaWxkcmVuGAEgAygLMioubm9tb3Mua2VybmVsLnYxLkNoaWxkV29ya3NwYWNlUXVlcnlSZWNvcmQiHwodSW5zdGFsbGVkTGF3RGVjbGFyYXRpb25zUXVlcnkiNwoQSW5zdGFsbGVkTGF3VW5pdBIQCgh1bml0X2tleRgBIAEoCRIRCgl1bml0X2hhc2gYAiABKAkijAEKE0luc3RhbGxlZExhd1VuaXRTZXQSFAoMc2V0X2lkZW50aXR5GAEgASgJEhgKEGNvbXBvc2VyX3ZlcnNpb24YAiABKAkSEwoLb3BlbnVzZF9yZXYYAyABKAkSMAoFdW5pdHMYBCADKAsyIS5ub21vcy5rZXJuZWwudjEuSW5zdGFsbGVkTGF3VW5pdCKBAgoeRGVjbGFyZWRBdXRoZW50aWNhdGlvblByb3ZpZGVyEg4KBmRvbWFpbhgBIAEoCRIOCgZtZW1iZXIYAiABKAkSOwoLbWVtYmVyX2tpbmQYAyABKA4yJi5ub21vcy5rZXJuZWwudjEuRGVjbGFyZWRMYXdNZW1iZXJLaW5kEkEKBGtpbmQYBCABKA4yMy5ub21vcy5rZXJuZWwudjEuRGVjbGFyZWRBdXRoZW50aWNhdGlvblByb3ZpZGVyS2luZBINCgVzY29wZRgFIAEoCRIcCg9pZGVudGl0eV9zaGEyNTYYBiABKAlIAIgBAUISChBfaWRlbnRpdHlfc2hhMjU2IukBCh9JbnN0YWxsZWRMYXdDbG9zdXJlRGVjbGFyYXRpb25zEhgKEGNsb3N1cmVfaWRlbnRpdHkYASABKAkSDwoHZG9tYWlucxgCIAMoCRI7Cgh1bml0X3NldBgDIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnN0YWxsZWRMYXdVbml0U2V0SACIAQESUQoYYXV0aGVudGljYXRpb25fcHJvdmlkZXJzGAQgAygLMi8ubm9tb3Mua2VybmVsLnYxLkRlY2xhcmVkQXV0aGVudGljYXRpb25Qcm92aWRlckILCglfdW5pdF9zZXQidAogSW5zdGFsbGVkTGF3RGVjbGFyYXRpb25zUmVzcG9uc2USDAoEaGVhZBgBIAEoCRJCCghjbG9zdXJlcxgCIAMoCzIwLm5vbW9zLmtlcm5lbC52MS5JbnN0YWxsZWRMYXdDbG9zdXJlRGVjbGFyYXRpb25zIsoBCiNEaXJlY3RpdmVBdXRob3JpbmdSZXF1aXJlbWVudHNRdWVyeRIRCglkaXJlY3RpdmUYASABKAkSFgoJcHJpbmNpcGFsGAIgASgJSACIAQESFwoKcHVibGljX2tleRgDIAEoDEgBiAEBEhUKCGtleV9oYXNoGAQgASgJSAKIAQESEwoGZG9tYWluGAUgASgJSAOIAQFCDAoKX3ByaW5jaXBhbEINCgtfcHVibGljX2tleUILCglfa2V5X2hhc2hCCQoHX2RvbWFpbiKMAgomRGlyZWN0aXZlQXV0aG9yaW5nUmVxdWlyZW1lbnRzUmVzcG9uc2USDQoFZm91bmQYASABKAgSEwoGZG9tYWluGAIgASgJSACIAQESFQoIcmVsYXRpb24YAyABKAlIAYgBARITCgZvYmplY3QYBCABKAlIAogBARISCgVhY3RvchgFIAEoCUgDiAEBEhUKCGtleV9oYXNoGAYgASgJSASIAQESFwoPc2lnbmVyX2Vucm9sbGVkGAcgASgIEhQKDHJvbGVfYWxsb3dlZBgIIAEoCEIJCgdfZG9tYWluQgsKCV9yZWxhdGlvbkIJCgdfb2JqZWN0QggKBl9hY3RvckILCglfa2V5X2hhc2gicgoaQXV0aGVudGljYXRpb25Qb3N0dXJlUXVlcnkSHgoWaW5jbHVkZV9iaXJ0aF9ldmlkZW5jZRgBIAEoCBIeChFkZXZpY2VfcHVibGljX2tleRgCIAEoDEgAiAEBQhQKEl9kZXZpY2VfcHVibGljX2tleSLsAgodQXV0aGVudGljYXRpb25Qb3N0dXJlUmVzcG9uc2USSAoOcHJvdmlkZXJfdG9rZW4YASABKA4yMC5ub21vcy5rZXJuZWwudjEuUHJvdmlkZXJUb2tlblZlcmlmaWNhdGlvblN0YXR1cxIXCg9lbnJvbGxlZF9kZXZpY2UYAiABKAgSGgoScmVzb2x2ZWRfcHJpbmNpcGFsGAMgASgJEkQKDmJpcnRoX2V2aWRlbmNlGAQgASgLMicubm9tb3Mua2VybmVsLnYxLkJpcnRoRXZpZGVuY2VSZWFkaW5lc3NIAIgBARJBChRkZXZpY2Vfc2lnbmVyX3N0YXR1cxgFIAEoDjIjLm5vbW9zLmtlcm5lbC52MS5EZXZpY2VTaWduZXJTdGF0dXMSGgoSZGV2aWNlX2tleV9zdWJqZWN0GAYgASgJEhQKDHNpZ25lcl9lcG9jaBgHIAEoA0IRCg9fYmlydGhfZXZpZGVuY2UiXgoWQmlydGhFdmlkZW5jZVJlYWRpbmVzcxI0CgZzdGF0dXMYASABKA4yJC5ub21vcy5rZXJuZWwudjEuQmlydGhFdmlkZW5jZVN0YXR1cxIOCgZkZXRhaWwYAiABKAkiKAoXT3duZWREZXZpY2VSZXF1ZXN0UXVlcnkSDQoFc2NvcGUYASABKAkiMgoaT3duZWREZXZpY2VSZXF1ZXN0UmVzcG9uc2USFAoMcmVxdWVzdF91c2RhGAEgASgMIkAKGU93bmVkUHJlcGFyZUFwcHJvdmFsUXVlcnkSDQoFc2NvcGUYASABKAkSFAoMcmVxdWVzdF91c2RhGAIgASgMIr8BChxPd25lZFByZXBhcmVBcHByb3ZhbFJlc3BvbnNlEhcKD25ld19rZXlfc3ViamVjdBgBIAEoCRIaChJvd25lZF9jdXN0b2R5X3VzZGEYAiABKAwSFAoMdmVyaWZpZWRfdmlhGAMgASgJEhgKEHZhbGlkX2Zyb21fZXBvY2gYBCABKAQSHwoXYXBwcm92ZWRfYXRfdW5peF9taWxsaXMYBSABKAQSGQoRb3duZWRfa2V5X3N1YmplY3QYBiABKAkikgEKDlF1ZXJ5QXV0aG9yaXR5EhcKD3ByaW5jaXBhbF9jbGFpbRgBIAEoCRISCgphdXRoX3Rva2VuGAIgASgMEhAKCG5vd191bml4GAMgASgEEhUKDWF1dGhvcl9zZWNyZXQYBCABKAwSKgoEa2V5cxgFIAMoCzIcLm5vbW9zLmtlcm5lbC52MS5JbmplY3RlZEtleSI4CgtJbmplY3RlZEtleRINCgVzY29wZRgBIAEoCRINCgVlcG9jaBgCIAEoBBILCgNrZXkYAyABKAwi2AEKCVJvd3NRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJEhYKDmFyZ3VtZW50c191c2RhGAQgASgMEjMKFWFwcGxpY2F0aW9uX2FyZ3VtZW50cxgFIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkSGwoOc2luY2VfZnJvbnRpZXIYBiABKAlIAIgBAUIRCg9fc2luY2VfZnJvbnRpZXIixgEKCVBhZ2VRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSDQoFbGltaXQYAyABKA0SDQoFYWZ0ZXIYBCABKAkSEQoJcHJpbmNpcGFsGAUgASgJEhYKDmFyZ3VtZW50c191c2RhGAYgASgMEjMKFWFwcGxpY2F0aW9uX2FyZ3VtZW50cxgHIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkiTAoJQnlJZFF1ZXJ5EhYKDmFnZ3JlZ2F0ZV90eXBlGAEgASgJEhQKDGFnZ3JlZ2F0ZV9pZBgCIAEoCRIRCglwcmluY2lwYWwYAyABKAkiOAoLQnlUeXBlUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSEQoJcHJpbmNpcGFsGAIgASgJIlwKCE5vbW9zUmVmEhEKCXdvcmtzcGFjZRgBIAEoCRIWCg5hZ2dyZWdhdGVfdHlwZRgCIAEoCRIUCgxhZ2dyZWdhdGVfaWQYAyABKAkSDwoHdmVyc2lvbhgEIAEoCSJOChBSZXNvbHZlUmVmc1F1ZXJ5EicKBHJlZnMYASADKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSEQoJcHJpbmNpcGFsGAIgASgJIk4KFlJlZmVyZW5jZVZlcnNpb25zUXVlcnkSNAoEcmVmcxgBIAMoCzImLm5vbW9zLmtlcm5lbC52MS5SZWZlcmVuY2VWZXJzaW9uQ2hlY2sihAEKFVJlZmVyZW5jZVZlcnNpb25DaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiYgoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIRCglwcmluY2lwYWwYAyABKAkSFgoJZ3JvdXBfa2V5GAQgASgJSACIAQFCDAoKX2dyb3VwX2tleUoECAIQA1IJYXJndW1lbnRzInoKDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIRCglwcmluY2lwYWwYAyABKAkSDQoFbWluX3gYBCABKAESDQoFbWluX3kYBSABKAESDQoFbWF4X3gYBiABKAESDQoFbWF4X3kYByABKAFKBAgCEANSCWFyZ3VtZW50cyJaChVQZW5kaW5nQ29uZmxpY3RzUXVlcnkSGwoOYWdncmVnYXRlX3R5cGUYASABKAlIAIgBARIRCglwcmluY2lwYWwYAiABKAlCEQoPX2FnZ3JlZ2F0ZV90eXBlIjAKG1BlbmRpbmdDb25mbGljdFN1bW1hcnlRdWVyeRIRCglwcmluY2lwYWwYASABKAkicQoKTmFtZWRRdWVyeRIyCglvcGVyYXRpb24YASABKA4yHy5ub21vcy5rZXJuZWwudjEuUXVlcnlPcGVyYXRpb24SLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IuQBChlGcm9udGllclRyYW5zaXRpb25SZXF1ZXN0Eg4KBmRvbWFpbhgBIAEoCRIWCg5jYW5kaWRhdGVfaGFzaBgCIAEoCRIPCgdhdF9oYXNoGAMgASgJEiEKGWFja25vd2xlZGdlbWVudF9wcmluY2lwYWwYBCABKAkSIAoTcmVzdG9yZV9wcmV2aW91c19vZhgFIAEoCUgAiAEBEjEKD2NhbmRpZGF0ZV91bml0cxgGIAMoCzIYLm5vbW9zLmtlcm5lbC52MS5MYXdVbml0QhYKFF9yZXN0b3JlX3ByZXZpb3VzX29mIloKJUZyb250aWVyVHJhbnNpdGlvbkRpc3Bvc2l0aW9uTWFwRW50cnkSGAoQc291cmNlX3N0YWJsZV9pZBgBIAEoCRIXCg9hY2tub3dsZWRnZW1lbnQYAiABKAki9QEKHkZyb250aWVyVHJhbnNpdGlvbkRpc3Bvc2l0aW9ucxIPCgdyZXRpcmVkGAEgAygJEkcKB3JldHlwZWQYAiADKAsyNi5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJUcmFuc2l0aW9uRGlzcG9zaXRpb25NYXBFbnRyeRJHCgdyZWJpbmRzGAMgAygLMjYubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvbkRpc3Bvc2l0aW9uTWFwRW50cnkSHAoPYWNrbm93bGVkZ2VkX2J5GAQgASgJSACIAQFCEgoQX2Fja25vd2xlZGdlZF9ieSI9ChtGcm9udGllclRyYW5zaXRpb25WaW9sYXRpb24SDgoGZG9tYWluGAEgASgJEg4KBmRldGFpbBgCIAEoCSLXAgoaRnJvbnRpZXJUcmFuc2l0aW9uUmVzcG9uc2USDwoHYXRfaGFzaBgBIAEoCRIZCgxjdXJyZW50X2hhc2gYAiABKAlIAIgBARIVCg1hdF9zdGF0ZV9yb290GAMgASgJEhYKDmNhbmRpZGF0ZV9oYXNoGAQgASgJEg4KBmRvbWFpbhgFIAEoCRIPCgdkb21haW5zGAYgAygJEg0KBXJlYWR5GAcgASgIEkAKCnZpb2xhdGlvbnMYCCADKAsyLC5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJUcmFuc2l0aW9uVmlvbGF0aW9uEkoKDGRpc3Bvc2l0aW9ucxgJIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5Gcm9udGllclRyYW5zaXRpb25EaXNwb3NpdGlvbnNIAYgBAUIPCg1fY3VycmVudF9oYXNoQg8KDV9kaXNwb3NpdGlvbnMiLwoTQXV0aG9yaXphdGlvbk9iamVjdBIMCgR0eXBlGAEgASgJEgoKAmlkGAIgASgJIlQKFEF1dGhvcml6YXRpb25TdWJqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSFQoIcmVsYXRpb24YAyABKAlIAIgBAUILCglfcmVsYXRpb24inAEKGFJlbGF0aW9uc2hpcFR1cGxlQWRkcmVzcxI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhAKCHJlbGF0aW9uGAIgASgJEjYKB3N1YmplY3QYAyABKAsyJS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvblN1YmplY3QigQEKGEF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRIjChljdXJyZW50X3ZlcmlmaWVkX2Zyb250aWVyGAEgASgISAASGQoPYXRfbGVhc3RfY29tbWl0GAIgASgJSAASFgoMZXhhY3RfY29tbWl0GAMgASgJSABCDQoLcmVxdWlyZW1lbnQiZgodQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSFAoMY29uZGl0aW9uX2lkGAEgASgJEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCL3AgoZQXV0aG9yaXphdGlvbkNoZWNrUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI+Cgtjb25zaXN0ZW5jeRgEIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ29uc2lzdGVuY3kSPwoHY29udGV4dBgFIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIgChNleHBlY3RlZF9tb2RlbF9oYXNoGAYgASgJSACIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgHIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaCLtAgoaQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3QSNgoIcmVzb3VyY2UYASABKAsyJC5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbk9iamVjdBISCgpwZXJtaXNzaW9uGAIgASgJEj4KC2NvbnNpc3RlbmN5GAMgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAQgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBSABKAlIAIgBARINCgVsaW1pdBgGIAEoDRISCgVhZnRlchgHIAEoCUgBiAEBEhsKE2luY2x1ZGVfZXhwbGFuYXRpb24YCCABKAhCFgoUX2V4cGVjdGVkX21vZGVsX2hhc2hCCAoGX2FmdGVyIr0BChlSZWxhdGlvbnNoaXBUdXBsZUV2aWRlbmNlEjgKBXR1cGxlGAEgASgLMikubm9tb3Mua2VybmVsLnYxLlJlbGF0aW9uc2hpcFR1cGxlQWRkcmVzcxIQCgh0dXBsZV9pZBgCIAEoCRIaChJhc3NlcnRpb25fZXZlbnRfaWQYAyABKAkSIAoTcmV2b2NhdGlvbl9ldmVudF9pZBgEIAEoCUgAiAEBQhYKFF9yZXZvY2F0aW9uX2V2ZW50X2lkIuEDChhBdXRob3JpemF0aW9uRXhwbGFuYXRpb24SRgoJb3BlcmF0aW9uGAEgASgOMjMubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBsYW5hdGlvbi5PcGVyYXRpb24SEAoIcmVsYXRpb24YAiABKAkSDgoGcmVzdWx0GAMgASgIEjwKCGV2aWRlbmNlGAQgAygLMioubm9tb3Mua2VybmVsLnYxLlJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOwoIY2hpbGRyZW4YBSADKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uIt8BCglPcGVyYXRpb24SGQoVT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASFAoQT1BFUkFUSU9OX0RJUkVDVBABEh4KGk9QRVJBVElPTl9DT01QVVRFRF9VU0VSU0VUEAISHgoaT1BFUkFUSU9OX1RVUExFX1RPX1VTRVJTRVQQAxITCg9PUEVSQVRJT05fVU5JT04QBBIaChZPUEVSQVRJT05fSU5URVJTRUNUSU9OEAUSFwoTT1BFUkFUSU9OX0VYQ0xVU0lPThAGEhcKE09QRVJBVElPTl9DT05ESVRJT04QByJ3ChpBdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIgChhhdXRob3JpemF0aW9uX21vZGVsX2hhc2gYASABKAkSIQoZcmVsYXRpb25zaGlwX3N0YXRlX2NvbW1pdBgCIAEoCRIUCgxjb250ZXh0X2hhc2gYAyABKAwivgEKGkF1dGhvcml6YXRpb25DaGVja1Jlc3BvbnNlEg8KB2FsbG93ZWQYASABKAgSOgoFYmFzaXMYAiABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkRlY2lzaW9uQmFzaXMSQwoLZXhwbGFuYXRpb24YAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSACIAQFCDgoMX2V4cGxhbmF0aW9uIoMCChtBdXRob3JpemF0aW9uRXhwYW5kUmVzcG9uc2USNwoIc3ViamVjdHMYASADKAsyJS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvblN1YmplY3QSOgoFYmFzaXMYAiABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkRlY2lzaW9uQmFzaXMSEQoEbmV4dBgDIAEoCUgAiAEBEkMKC2V4cGxhbmF0aW9uGAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBsYW5hdGlvbkgBiAEBQgcKBV9uZXh0Qg4KDF9leHBsYW5hdGlvbiKoAQoNT3V0Ym94UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0Ei0KBWNsb2NrGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2sSNgoHcHJlcGFyZRgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5QcmVwYXJlT3V0Ym91bmRPZmZlciK2AQoLU3luY1JlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIRCglmcm9tX2Jhc2UYAiABKAkSDwoHdG9faGVhZBgDIAEoCRIaChJwYXJrX3JlZnVzZWRfbG9jYWwYBCABKAgSGAoQcGFya2VkX2F0X21pbGxpcxgFIAEoBBIbChNyZXBsYXlfb2ZmZXJfYnVkZ2V0GAYgASgNItMBChpLZXJuZWxDb25maWd1cmF0aW9uUmVxdWVzdBIdChV0cnVzdF9yb290X3B1YmxpY19rZXkYASABKAwSJQoYdHJ1c3RzX2N1c3RvZGlhbl9oaXN0b3J5GAIgASgISACIAQESIAoTZGVmZXJyZWRfZHVyYWJpbGl0eRgDIAEoCEgBiAEBEhgKEGhvc3RfY2FsbF9sZWRnZXIYBCABKAhCGwoZX3RydXN0c19jdXN0b2RpYW5faGlzdG9yeUIWChRfZGVmZXJyZWRfZHVyYWJpbGl0eSKAAQobS2VybmVsQ29uZmlndXJhdGlvblJlc3BvbnNlEi0KBnJlc3VsdBgBIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWQSHQoQaG9zdF9jYWxsX2xlZGdlchgCIAEoDUgAiAEBQhMKEV9ob3N0X2NhbGxfbGVkZ2VyIvMRCg5DdXN0b2R5UmVxdWVzdBI3CgpwYWNrX2RlbHRhGAogASgLMiEubm9tb3Mua2VybmVsLnYxLlBhY2tEZWx0YVJlcXVlc3RIABI3CgphcHBseV9wYWNrGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkFwcGx5UGFja1JlcXVlc3RIABI3CgpyZXBvX3N0YXRzGAwgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1JlcXVlc3RIABI9Cg1pbnRlbnRzX2Fib3ZlGA0gASgLMiQubm9tb3Mua2VybmVsLnYxLkludGVudHNBYm92ZVJlcXVlc3RIABI/Cg5pbnNwZWN0X2NoYW5nZRgOIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnNwZWN0Q2hhbmdlUmVxdWVzdEgAEk4KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLC5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0SAASUAoXaW5zcGVjdF9yZWZ1c2FsX3ZlcmRpY3QYECABKAsyLS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAEjUKCXJlYWRfYmxvYhgRIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5SZWFkQmxvYlJlcXVlc3RIABI5CgtyZXNvbHZlX3JlZhgSIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVxdWVzdEgAEjUKCWxpc3RfcmVmcxgTIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5MaXN0UmVmc1JlcXVlc3RIABI1Cgl3cml0ZV9yZWYYFCABKAsyIC5ub21vcy5rZXJuZWwudjEuV3JpdGVSZWZSZXF1ZXN0SAASNwoKZGVsZXRlX3JlZhgVIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5EZWxldGVSZWZSZXF1ZXN0SAASRAoRd3JpdGVfbWV0YV9jb21taXQYFiABKAsyJy5ub21vcy5rZXJuZWwudjEuV3JpdGVNZXRhQ29tbWl0UmVxdWVzdEgAEkIKEGxhd19jbG9zdXJlX2luZm8YFyABKAsyJi5ub21vcy5rZXJuZWwudjEuTGF3Q2xvc3VyZUluZm9SZXF1ZXN0SAASRQoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlcXVlc3RIABJFChFjaGVja3BvaW50X2ltcG9ydBgZIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50SW1wb3J0UmVxdWVzdEgAEkMKEGNhcGFjaXR5X3Jlc2VydmUYGiABKAsyJy5ub21vcy5rZXJuZWwudjEuQ2FwYWNpdHlSZXNlcnZlUmVxdWVzdEgAEjsKDHJlc3RvcmVfbWFpbhgbIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlcXVlc3RIABJOChZyZXNvbHZlX3N0YXRlX3Bvc2l0aW9uGBwgASgLMiwubm9tb3Mua2VybmVsLnYxLlJlc29sdmVTdGF0ZVBvc2l0aW9uUmVxdWVzdEgAEkcKEnJlc2lkZW50X2Zvb3RwcmludBgdIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5SZXNpZGVudEZvb3RwcmludFJlcXVlc3RIABJBCg9oaXN0b3J5X3N1bW1hcnkYHiABKAsyJi5ub21vcy5rZXJuZWwudjEuSGlzdG9yeVN1bW1hcnlSZXF1ZXN0SAASWgoccHJvdmVfY29tcGFjdGlvbl9lcXVpdmFsZW5jZRgfIAEoCzIyLm5vbW9zLmtlcm5lbC52MS5Qcm92ZUNvbXBhY3Rpb25FcXVpdmFsZW5jZVJlcXVlc3RIABI+Cg5vcGVuX2dpdF9zdGF0ZRggIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5PcGVuR2l0U3RhdGVSZXF1ZXN0SAASTgoWcmVhZF9jdXN0b2R5X3BsYWNlbWVudBghIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5SZWFkQ3VzdG9keVBsYWNlbWVudFJlcXVlc3RIABJUChlpbnNwZWN0X2N1c3RvZHlfcGxhY2VtZW50GCMgASgLMi8ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDdXN0b2R5UGxhY2VtZW50UmVxdWVzdEgAElAKF3JlbGVhc2Vfd29ya3NwYWNlX3N0YXRlGCQgASgLMi0ubm9tb3Mua2VybmVsLnYxLlJlbGVhc2VXb3Jrc3BhY2VTdGF0ZVJlcXVlc3RIABJfCh9yZWNvcmRfd29ya3NwYWNlX2VmZmVjdF9vdXRjb21lGCUgASgLMjQubm9tb3Mua2VybmVsLnYxLlJlY29yZFdvcmtzcGFjZUVmZmVjdE91dGNvbWVSZXF1ZXN0SAASTAoVYXR0YWNoX2xvY2FsX2Zyb250aWVyGCYgASgLMisubm9tb3Mua2VybmVsLnYxLkF0dGFjaExvY2FsRnJvbnRpZXJSZXF1ZXN0SAASQwoQYWdncmVnYXRlX2NlbnN1cxgnIAEoCzInLm5vbW9zLmtlcm5lbC52MS5BZ2dyZWdhdGVDZW5zdXNSZXF1ZXN0SAASPQoNYXVkaXRfY3VzdG9keRgoIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdWRpdEN1c3RvZHlSZXF1ZXN0SAASSAoTZXhwb3J0X2xhd19wcm9kdWN0cxgpIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5FeHBvcnRMYXdQcm9kdWN0c1JlcXVlc3RIABJIChNpbXBvcnRfbGF3X3Byb2R1Y3RzGCogASgLMikubm9tb3Mua2VybmVsLnYxLkltcG9ydExhd1Byb2R1Y3RzUmVxdWVzdEgAQgsKCW9wZXJhdGlvbkoECCIQI1IXYWRvcHRfY3VzdG9keV9wbGFjZW1lbnQiXgoWQWdncmVnYXRlQ2Vuc3VzUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhIKCnR5cGVfbGltaXQYAiABKA0iMQoSQWdncmVnYXRlVHlwZUNvdW50EgwKBHR5cGUYASABKAkSDQoFY291bnQYAiABKAQi+wEKF0FnZ3JlZ2F0ZUNlbnN1c1Jlc3BvbnNlEhEKBGhlYWQYASABKAlIAIgBARIcCg9hZ2dyZWdhdGVfY291bnQYAiABKARIAYgBARIXCgpzdGF0ZV9yb290GAMgASgJSAKIAQESNgoJdG9wX3R5cGVzGAQgAygLMiMubm9tb3Mua2VybmVsLnYxLkFnZ3JlZ2F0ZVR5cGVDb3VudBIdChB0eXBlc19zdGF0ZV9yb290GAUgASgJSAOIAQFCBwoFX2hlYWRCEgoQX2FnZ3JlZ2F0ZV9jb3VudEINCgtfc3RhdGVfcm9vdEITChFfdHlwZXNfc3RhdGVfcm9vdCIoChhSZXNpZGVudEZvb3RwcmludFJlcXVlc3QSDAoEZGVlcBgBIAEoCCL0AwoRUmVzaWRlbnRGb290cHJpbnQSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIYChByZWFkX21vZGVsX2J5dGVzGAMgASgEEh0KFXJlYWRfbW9kZWxfcnVzdF9ieXRlcxgEIAEoBBIYChBmb2xkX3N0YXRlX2J5dGVzGAUgASgEEhMKC2ZvbGRfaW1hZ2VzGAYgASgNEh8KF3NoYXJlZF9hdHRyaWJ1dGVkX2J5dGVzGAcgASgEEhIKCmFnZ3JlZ2F0ZXMYCCABKAQSNgoKY29tcG9uZW50cxgJIAMoCzIiLm5vbW9zLmtlcm5lbC52MS5SZXNpZGVudENvbXBvbmVudBISCgpjb21wdXRlX3VzGAogASgEEkUKEXJlYWRfc3RvcmFnZV9raW5kGAsgASgOMioubm9tb3Mua2VybmVsLnYxLlJlYWRQcm9qZWN0aW9uU3RvcmFnZUtpbmQSHwoXc3FsaXRlX2NhY2hlX3VzZWRfYnl0ZXMYDCABKAQSGAoQZmxhdF9zY2FsYXJfcm93cxgNIAEoBBIdChVmbGF0X3NjYWxhcl9yb3dzX3JlYWQYDiABKAQSHQoQZnVsbF9yZXBsYXlfaGVhZBgPIAEoCUgAiAEBQhMKEV9mdWxsX3JlcGxheV9oZWFkImkKEVJlc2lkZW50Q29tcG9uZW50EjQKBGtpbmQYASABKA4yJi5ub21vcy5rZXJuZWwudjEuUmVzaWRlbnRDb21wb25lbnRLaW5kEg0KBWJ5dGVzGAIgASgEEg8KB2NlaWxpbmcYAyABKAgiygEKGVJlc2lkZW50Rm9vdHByaW50UmVzcG9uc2USNQoJcmVzaWRlbnRzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlc2lkZW50Rm9vdHByaW50EhwKFGFsbG9jYXRvcl9saXZlX2J5dGVzGAIgASgEEhgKEGF0dHJpYnV0ZWRfYnl0ZXMYAyABKAQSGQoRdW5hY2NvdW50ZWRfYnl0ZXMYBCABKAQSFQoNYWNjb3VudGluZ191cxgFIAEoBBIMCgRkZWVwGAYgASgIIuIBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBEhIKBWRlcHRoGAYgASgNSAOIAQESEgoKYmVsb3dfaGVhZBgHIAEoCBISCgphbHNvX2hlYWRzGAggAygJQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlQggKBl9kZXB0aCL6AQoQQXBwbHlQYWNrUmVxdWVzdBIMCgRyZXBvGAEgASgJEg4KBHBhY2sYAiABKAxIABIaChBzdGFnZWRfcGFja19maWxlGAQgASgJSAASGgoQY29udGludWVfcGVuZGluZxgIIAEoCEgAEhgKDmNhbmNlbF9wZW5kaW5nGAogASgISAASEQoEaGVhZBgDIAEoCUgBiAEBEg8KB3NoYWxsb3cYBSADKAkSEQoJdW5zaGFsbG93GAYgAygJEhkKEXdvcmtfYnVkZ2V0X2J5dGVzGAcgASgEEhEKCWltcG9ydF9pZBgJIAEoBEIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIr8BChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCBIRCglmcm9tX2Jhc2UYCCABKAhCBwoFX2hlYWRCBwoFX2Jhc2UibQoVSGlzdG9yeVN1bW1hcnlSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEg4KBmJyYW5jaBgDIAEoCRIRCgRiYXNlGAQgASgJSAGIAQFCBwoFX2hlYWRCBwoFX2Jhc2UiKwoUSW5zcGVjdENoYW5nZVJlcXVlc3QSEwoLY2hhbmdlX3VzZGEYASABKAwi3wEKDlJlZnVzYWxWZXJkaWN0EhUKCG9mZmVyX2lkGAEgASgJSACIAQESEAoDb2lkGAIgASgJSAGIAQESEwoGZG9tYWluGAMgASgJSAKIAQESGQoMZGlyZWN0aXZlX2lkGAQgASgJSAOIAQESFAoHc2Vzc2lvbhgFIAEoCUgEiAEBEhEKCXBhcmtlZF9hdBgGIAEoCRIOCgZyZWFzb24YByABKAlCCwoJX29mZmVyX2lkQgYKBF9vaWRCCQoHX2RvbWFpbkIPCg1fZGlyZWN0aXZlX2lkQgoKCF9zZXNzaW9uIk8KG0VuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdBIwCgd2ZXJkaWN0GAEgASgLMh8ubm9tb3Mua2VybmVsLnYxLlJlZnVzYWxWZXJkaWN0IjQKHEluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3QSFAoMdmVyZGljdF91c2RhGAEgASgMItQBChVDb21wYWN0aW9uRXF1aXZhbGVuY2USEwoLc291cmNlX2hlYWQYASABKAkSFgoOc291cmNlX2dlbmVzaXMYAiABKAkSFgoOY2FuZGlkYXRlX2hlYWQYAyABKAkSGQoRY2FuZGlkYXRlX2dlbmVzaXMYBCABKAkSFgoOc291cmNlX2ludGVudHMYBSABKAQSFwoPY2FycmllZF9pbnRlbnRzGAYgASgEEhYKDnBhcmtlZF9pbnRlbnRzGAcgASgEEhIKCmVxdWl2YWxlbnQYCCABKAgifQohUHJvdmVDb21wYWN0aW9uRXF1aXZhbGVuY2VSZXF1ZXN0EhMKC3NvdXJjZV9yZXBvGAEgASgJEhMKC3NvdXJjZV9oZWFkGAIgASgJEhYKDmNhbmRpZGF0ZV9yZXBvGAMgASgJEhYKDmNhbmRpZGF0ZV9oZWFkGAQgASgJIjoKD1JlYWRCbG9iUmVxdWVzdBIMCgRyZXBvGAEgASgJEgsKA29pZBgCIAEoCRIMCgRwYXRoGAMgASgJIlAKEVJlc29sdmVSZWZSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoJcmVmZXJlbmNlGAIgASgJEhEKBHBhdGgYAyABKAlIAIgBAUIHCgVfcGF0aCI2Cg9QaHlzaWNhbFJlZkZpbGUSEQoJcmVmZXJlbmNlGAEgASgJEhAKCGNvbnRlbnRzGAIgASgMIqcCCg9MaXN0UmVmc1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgZwcmVmaXgYAiABKAkSGAoQbG9vc2VfcmVmZXJlbmNlcxgDIAMoCRIgChhsb29zZV9pbnZlbnRvcnlfY29tcGxldGUYBCABKAgSIAoTcGFja2VkX3JlZnNfcHJlc2VudBgFIAEoCEgAiAEBEj0KE3BoeXNpY2FsX2xvb3NlX3JlZnMYBiADKAsyIC5ub21vcy5rZXJuZWwudjEuUGh5c2ljYWxSZWZGaWxlEhwKFHBoeXNpY2FsX3BhY2tlZF9yZWZzGAcgASgMEiMKG3BoeXNpY2FsX2ludmVudG9yeV9jb21wbGV0ZRgIIAEoCEIWChRfcGFja2VkX3JlZnNfcHJlc2VudCJCCg9Xcml0ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkSDgoGdGFyZ2V0GAMgASgJIjMKEERlbGV0ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiKQoITWV0YUZpbGUSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMIq4BChZXcml0ZU1ldGFDb21taXRSZXF1ZXN0EgwKBHJlcG8YASABKAkSDwoHcGFyZW50cxgCIAMoCRIoCgVmaWxlcxgDIAMoCzIZLm5vbW9zLmtlcm5lbC52MS5NZXRhRmlsZRIPCgdtZXNzYWdlGAQgASgJEhQKDHRpbWVfc2Vjb25kcxgFIAEoEhIWCglyZWZlcmVuY2UYBiABKAlIAIgBAUIMCgpfcmVmZXJlbmNlImcKFUxhd0Nsb3N1cmVJbmZvUmVxdWVzdBIUCgxjbG9zdXJlX2ZpbGUYASABKAkSOAoKY2FwYWJpbGl0eRgCIAEoDjIkLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxMYXdDYXBhYmlsaXR5IocBChdDaGVja3BvaW50RXhwb3J0UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EiEKFHN0YWdlZF9mcm9udGllcl9maWxlGAIgASgJSACIAQFCFwoVX3N0YWdlZF9mcm9udGllcl9maWxlIkEKC0Zyb250aWVySGxjEhAKCHBoeXNpY2FsGAEgASgEEg8KB2xvZ2ljYWwYAiABKA0SDwoHcmVwbGljYRgDIAEoBCLtBAoXVmVyaWZpZWRGcm9udGllclJlY2VpcHQSFgoOZm9ybWF0X3ZlcnNpb24YASABKA0SCwoDb2lkGAIgASgJEg8KB2ludGVudHMYAyABKAQSEwoLcGxhbnNfcmVydW4YBCABKAQSHAoPY29udHJvbGxlcl9oYXNoGAUgASgJSACIAQESGQoRaW5zdGFsbGVkX2RvbWFpbnMYBiADKAkSDgoGbGluZWFyGAcgASgIEjMKCGxhc3RfaGxjGAggASgLMhwubm9tb3Mua2VybmVsLnYxLkZyb250aWVySGxjSAGIAQESFAoHbGFzdF9pZBgJIAEoCUgCiAEBEhEKCXN0YXRlX29pZBgKIAEoCRIUCgxzdGF0ZV9zaGEyNTYYCyABKAkSOQoOc3RhdGVfbGFzdF9obGMYDCABKAsyHC5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJIbGNIA4gBARIaCg1zdGF0ZV9sYXN0X2lkGA0gASgJSASIAQESFwoPbWFuaWZlc3Rfc2hhMjU2GA4gASgJEh4KFmxhd19jbG9zdXJlX2lkZW50aXRpZXMYDyADKAkSGgoScmVzb2x2YWJsZV9kb21haW5zGBAgAygJEiIKFXByb2plY3Rpb25fc3RhdGVfcm9vdBgRIAEoCUgFiAEBEg4KBndhbGtlZBgSIAEoCEISChBfY29udHJvbGxlcl9oYXNoQgsKCV9sYXN0X2hsY0IKCghfbGFzdF9pZEIRCg9fc3RhdGVfbGFzdF9obGNCEAoOX3N0YXRlX2xhc3RfaWRCGAoWX3Byb2plY3Rpb25fc3RhdGVfcm9vdCJFChVGb2xkRnJvbnRpZXJBZ2dyZWdhdGUSFAoMYWdncmVnYXRlX2lkGAEgASgJEhYKDmFnZ3JlZ2F0ZV91c2RhGAIgASgMIkEKF0ZvbGRGcm9udGllckZpbmdlcnByaW50EhEKCWludGVudF9pZBgBIAEoCRITCgtmaW5nZXJwcmludBgCIAEoCSLWAwoURm9sZEZyb250aWVyU25hcHNob3QSFgoOZm9ybWF0X3ZlcnNpb24YASABKA0SCwoDdGlwGAIgASgJEg8KB2dlbmVzaXMYAyABKAkSFQoNaGlzdG9yeV9kZXB0aBgEIAEoBBI6CgphZ2dyZWdhdGVzGAUgAygLMiYubm9tb3Mua2VybmVsLnYxLkZvbGRGcm9udGllckFnZ3JlZ2F0ZRI4Cg1obGNfd2F0ZXJtYXJrGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLkZyb250aWVySGxjSACIAQESMwoIbGFzdF9obGMYByABKAsyHC5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJIbGNIAYgBARIUCgdsYXN0X2lkGAggASgJSAKIAQESFgoOc3RyaWtlX3RhcmdldHMYCSADKAkSRQoTaW50ZW50X2ZpbmdlcnByaW50cxgKIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5Gb2xkRnJvbnRpZXJGaW5nZXJwcmludBIXCgpzdGF0ZV9yb290GAsgASgJSAOIAQFCEAoOX2hsY193YXRlcm1hcmtCCwoJX2xhc3RfaGxjQgoKCF9sYXN0X2lkQg0KC19zdGF0ZV9yb290IpsDChhTdG9yZWRDaGVja3BvaW50TWFuaWZlc3QSFgoOZm9ybWF0X3ZlcnNpb24YASABKA0SEwoGY3Vyc29yGAIgASgJSACIAQESGAoQY2hlY2twb2ludF9ieXRlcxgDIAEoBBIQCghsYXdfaGFzaBgEIAEoCRI7Cgtjb21wcmVzc2lvbhgFIAEoDjImLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50Q29tcHJlc3Npb24SEQoJcmF3X2J5dGVzGAYgASgEEhQKDHN0b3JlZF9ieXRlcxgHIAEoBBIdChVmcm9udGllcl9zdG9yZWRfYnl0ZXMYCCABKAQSFwoKc3RhdGVfcm9vdBgJIAEoCUgBiAEBElAKGXZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQYCiABKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZpZWRGcm9udGllclJlY2VpcHRIAogBAUIJCgdfY3Vyc29yQg0KC19zdGF0ZV9yb290QhwKGl92ZXJpZmllZF9mcm9udGllcl9yZWNlaXB0IsEDChdDaGVja3BvaW50SW1wb3J0UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhIKCGZyb250aWVyGAIgASgMSAASHgoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYBiABKAlIABITCgZjdXJzb3IYAyABKAlIAYgBARIXCgpzdGF0ZV9yb290GAQgASgJSAKIAQESDQoFc3BhbnMYBSABKAgSEQoEaGVhZBgHIAEoCUgDiAEBElAKGXZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQYCCABKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZpZWRGcm9udGllclJlY2VpcHRIBIgBARJKChN2ZXJpZmljYXRpb25fcG9saWN5GAkgASgOMi0ubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRWZXJpZmljYXRpb25Qb2xpY3lCEQoPZnJvbnRpZXJfc291cmNlQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCBwoFX2hlYWRCHAoaX3ZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQiMQoWQ2FwYWNpdHlSZXNlcnZlUmVxdWVzdBIXCg9hZ2dyZWdhdGVfY291bnQYASABKAQimQIKElJlc3RvcmVNYWluUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EgwKBGhlYWQYAiABKAkSEwoLZGlhZ25vc3RpY3MYAyABKAgSGAoQb3BlcmF0b3JfY3VzdG9keRgEIAEoCBIgChNleHBlY3RlZF9sb2NhbF9oZWFkGAUgASgJSACIAQESQAoTY3VzdG9keV9jZXJ0aWZpY2F0ZRgGIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5Q2VydGlmaWNhdGUSGAoQcHJvdmlkZXJfY3VzdG9keRgHIAEoCEIWChRfZXhwZWN0ZWRfbG9jYWxfaGVhZCJtChNBdWRpdEN1c3RvZHlSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSFQoNYnVkZ2V0X21pY3JvcxgCIAEoDRINCgVzdGFydBgDIAEoCCKUAQoUQXVkaXRDdXN0b2R5UmVzcG9uc2USDwoHcGVuZGluZxgBIAEoCBIMCgRoZWFkGAIgASgJEg4KBndhbGtlZBgDIAEoBBINCgV0b3RhbBgEIAEoBBIPCgdvdXRjb21lGAUgASgJEi0KB3ZlcmRpY3QYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QifgoLTGF3UHJvZHVjdHMSFAoMbGF3X2lkZW50aXR5GAEgASgJEhYKDmZvcm1hdF92ZXJzaW9uGAIgASgNEhIKCnJlYWRfbGF5ZXIYAyABKAwSFQoNY29tbWFuZF9sYXllchgEIAEoDBIWCg5zZW1hbnRpY19sYXllchgFIAEoDCJMChhFeHBvcnRMYXdQcm9kdWN0c1JlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJZChlFeHBvcnRMYXdQcm9kdWN0c1Jlc3BvbnNlEgwKBGhlYWQYASABKAkSLgoIcHJvZHVjdHMYAiADKAsyHC5ub21vcy5rZXJuZWwudjEuTGF3UHJvZHVjdHMifAoYSW1wb3J0TGF3UHJvZHVjdHNSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSLgoIcHJvZHVjdHMYAiADKAsyHC5ub21vcy5rZXJuZWwudjEuTGF3UHJvZHVjdHMiLQoZSW1wb3J0TGF3UHJvZHVjdHNSZXNwb25zZRIQCghpbXBvcnRlZBgBIAMoCSJvChJDdXN0b2R5Q2VydGlmaWNhdGUSEQoJd29ya3NwYWNlGAEgASgJEgwKBGhlYWQYAiABKAkSEQoJa2V5X2Vwb2NoGAMgASgDEhIKCnB1YmxpY19rZXkYBCABKAwSEQoJc2lnbmF0dXJlGAUgASgMImQKE09wZW5HaXRTdGF0ZVJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJEg0KBXNwYW5zGAMgASgIImsKGkF0dGFjaExvY2FsRnJvbnRpZXJSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDAoEaGVhZBgCIAEoCRINCgVzcGFucxgDIAEoCCJTCg1DdXN0b2R5UmVtb3RlEgwKBG5hbWUYASABKAkSCwoDdXJsGAIgASgJEhUKDXBlZXJfaWRlbnRpdHkYAyABKAkSEAoIcHJpb3JpdHkYBCABKA0ixgEKFEN1c3RvZHlQbGFjZW1lbnRSdWxlEhIKCnBlZXJfY2xhc3MYASABKAkSQAoQa2VybmVsX3Jlc2lkZW5jeRgCIAEoDjImLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZXNpZGVuY3lJbnRlbnQSQgoRY3VzdG9keV9yZXRlbnRpb24YAyABKA4yJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVJldGVudGlvbkludGVudBIUCgxyZW1vdGVfbmFtZXMYBCADKAkirgIKFkN1c3RvZHlQbGFjZW1lbnRQb2xpY3kSEwoLZGVjbGFyYXRpb24YASABKAkSFgoOcGFja2FnZV9zaGEyNTYYAiABKAkSNAoFcnVsZXMYAyADKAsyJS5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFJ1bGUSEgoKYWRvcHRlZF9ieRgEIAEoCRIOCgZyZWFzb24YBSABKAkSHgoWZWZmZWN0aXZlX3RpbWVfc2Vjb25kcxgGIAEoEhIvCgdyZW1vdGVzGAcgAygLMh4ubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlSZW1vdGUSIgoVcmVjaXBpZW50X21haWxib3hfdXJsGAggASgJSACIAQFCGAoWX3JlY2lwaWVudF9tYWlsYm94X3VybCJZChtDdXN0b2R5UGxhY2VtZW50RXhwZWN0YXRpb24SEAoGYWJzZW50GAEgASgISAASDQoDb2lkGAIgASgJSAASDQoDYW55GAMgASgISABCCgoIZnJvbnRpZXIiKwobUmVhZEN1c3RvZHlQbGFjZW1lbnRSZXF1ZXN0EgwKBHJlcG8YASABKAkiNQoeSW5zcGVjdEN1c3RvZHlQbGFjZW1lbnRSZXF1ZXN0EhMKC3BvbGljeV91c2RhGAEgASgMIokBCg5QbGFjZW1lbnRPZmZlchI+CghleHBlY3RlZBgBIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UGxhY2VtZW50RXhwZWN0YXRpb24SNwoGcG9saWN5GAIgASgLMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlQbGFjZW1lbnRQb2xpY3kiaQobUmVzb2x2ZVN0YXRlUG9zaXRpb25SZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoJbWFpbl9oZWFkGAIgASgJEhUKDWhpbnRlZF9jb21taXQYAyABKAkSEgoKc3RhdGVfcm9vdBgEIAEoCSKFEgoPQ3VzdG9keVJlc3BvbnNlEjgKCnBhY2tfZGVsdGEYCiABKAsyIi5ub21vcy5rZXJuZWwudjEuUGFja0RlbHRhUmVzcG9uc2VIABI4CgphcHBseV9wYWNrGAsgASgLMiIubm9tb3Mua2VybmVsLnYxLkFwcGx5UGFja1Jlc3BvbnNlSAASOAoKcmVwb19zdGF0cxgMIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXNwb25zZUgAEj4KDWludGVudHNfYWJvdmUYDSABKAsyJS5ub21vcy5rZXJuZWwudjEuSW50ZW50c0Fib3ZlUmVzcG9uc2VIABJACg5pbnNwZWN0X2NoYW5nZRgOIAEoCzImLm5vbW9zLmtlcm5lbC52MS5JbnNwZWN0Q2hhbmdlUmVzcG9uc2VIABJPChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMi0ubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVzcG9uc2VIABJRChdpbnNwZWN0X3JlZnVzYWxfdmVyZGljdBgQIAEoCzIuLm5vbW9zLmtlcm5lbC52MS5JbnNwZWN0UmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAEjYKCXJlYWRfYmxvYhgRIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZWFkQmxvYlJlc3BvbnNlSAASOgoLcmVzb2x2ZV9yZWYYEiABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlc3BvbnNlSAASNgoJbGlzdF9yZWZzGBMgASgLMiEubm9tb3Mua2VybmVsLnYxLkxpc3RSZWZzUmVzcG9uc2VIABIyCgl3cml0ZV9yZWYYFCABKAsyHS5ub21vcy5rZXJuZWwudjEuQWNrbm93bGVkZ2VkSAASMwoKZGVsZXRlX3JlZhgVIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABJFChF3cml0ZV9tZXRhX2NvbW1pdBgWIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5Xcml0ZU1ldGFDb21taXRSZXNwb25zZUgAEkMKEGxhd19jbG9zdXJlX2luZm8YFyABKAsyJy5ub21vcy5rZXJuZWwudjEuTGF3Q2xvc3VyZUluZm9SZXNwb25zZUgAEkYKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMikubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXNwb25zZUgAEkYKEWNoZWNrcG9pbnRfaW1wb3J0GBkgASgLMikubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRJbXBvcnRSZXNwb25zZUgAEkQKEGNhcGFjaXR5X3Jlc2VydmUYGiABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2FwYWNpdHlSZXNlcnZlUmVzcG9uc2VIABI8CgxyZXN0b3JlX21haW4YGyABKAsyJC5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXNwb25zZUgAEk8KFnJlc29sdmVfc3RhdGVfcG9zaXRpb24YHCABKAsyLS5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVN0YXRlUG9zaXRpb25SZXNwb25zZUgAEkgKEnJlc2lkZW50X2Zvb3RwcmludBgdIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5SZXNpZGVudEZvb3RwcmludFJlc3BvbnNlSAASQgoPaGlzdG9yeV9zdW1tYXJ5GB4gASgLMicubm9tb3Mua2VybmVsLnYxLkhpc3RvcnlTdW1tYXJ5UmVzcG9uc2VIABJbChxwcm92ZV9jb21wYWN0aW9uX2VxdWl2YWxlbmNlGB8gASgLMjMubm9tb3Mua2VybmVsLnYxLlByb3ZlQ29tcGFjdGlvbkVxdWl2YWxlbmNlUmVzcG9uc2VIABI/Cg5vcGVuX2dpdF9zdGF0ZRggIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5PcGVuR2l0U3RhdGVSZXNwb25zZUgAEk8KFnJlYWRfY3VzdG9keV9wbGFjZW1lbnQYISABKAsyLS5ub21vcy5rZXJuZWwudjEuUmVhZEN1c3RvZHlQbGFjZW1lbnRSZXNwb25zZUgAElUKGWluc3BlY3RfY3VzdG9keV9wbGFjZW1lbnQYIyABKAsyMC5ub21vcy5rZXJuZWwudjEuSW5zcGVjdEN1c3RvZHlQbGFjZW1lbnRSZXNwb25zZUgAElEKF3JlbGVhc2Vfd29ya3NwYWNlX3N0YXRlGCQgASgLMi4ubm9tb3Mua2VybmVsLnYxLlJlbGVhc2VXb3Jrc3BhY2VTdGF0ZVJlc3BvbnNlSAASWgofcmVjb3JkX3dvcmtzcGFjZV9lZmZlY3Rfb3V0Y29tZRglIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5SZWNvcmRlZFdvcmtzcGFjZUVmZmVjdE91dGNvbWVIABJNChVhdHRhY2hfbG9jYWxfZnJvbnRpZXIYJiABKAsyLC5ub21vcy5rZXJuZWwudjEuQXR0YWNoTG9jYWxGcm9udGllclJlc3BvbnNlSAASRAoQYWdncmVnYXRlX2NlbnN1cxgnIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5BZ2dyZWdhdGVDZW5zdXNSZXNwb25zZUgAEj4KDWF1ZGl0X2N1c3RvZHkYKCABKAsyJS5ub21vcy5rZXJuZWwudjEuQXVkaXRDdXN0b2R5UmVzcG9uc2VIABJJChNleHBvcnRfbGF3X3Byb2R1Y3RzGCkgASgLMioubm9tb3Mua2VybmVsLnYxLkV4cG9ydExhd1Byb2R1Y3RzUmVzcG9uc2VIABJJChNpbXBvcnRfbGF3X3Byb2R1Y3RzGCogASgLMioubm9tb3Mua2VybmVsLnYxLkltcG9ydExhd1Byb2R1Y3RzUmVzcG9uc2VIAEILCglvcGVyYXRpb25KBAgiECNSF2Fkb3B0X2N1c3RvZHlfcGxhY2VtZW50InAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQSDwoHc2hhbGxvdxgDIAMoCRIPCgdjb21taXRzGAQgASgNEg0KBXRyZWVzGAUgASgNEg0KBWJsb2JzGAYgASgNIuIBChFBcHBseVBhY2tSZXNwb25zZRIUCgxvYmplY3RfY291bnQYASABKAQSEQoJcGFja19oYXNoGAIgASgJEjsKB2Nsb3N1cmUYAyABKAsyJS5ub21vcy5rZXJuZWwudjEuUGh5c2ljYWxDbG9zdXJlQ2hlY2tIAIgBARIWCg5pbXBvcnRfcGVuZGluZxgEIAEoCBIXCg93b3JrX2RvbmVfYnl0ZXMYBSABKAQSEQoJaW1wb3J0X2lkGAYgASgEEhcKD2ltcG9ydF9kZWZlcnJlZBgHIAEoCEIKCghfY2xvc3VyZSJtChRQaHlzaWNhbENsb3N1cmVDaGVjaxIWCg5yZXVzZWRfcmVjZWlwdBgBIAEoCBIUCgxjb21taXRzX3JlYWQYAiABKAQSEgoKdHJlZXNfcmVhZBgDIAEoBBITCgtsZWF2ZXNfcmVhZBgEIAEoBCK4AQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEEg8KB3NoYWxsb3cYCCADKAki4gEKDEludGVudFJlY29yZBILCgNvaWQYASABKAkSEQoJaW50ZW50X2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEwoLY2hhbmdlX3VzZGEYBSABKAwSLgoIc2VtYW50aWMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSSgoVdHJhbnNwb3J0X3JlcXVpcmVtZW50GAcgASgOMisubm9tb3Mua2VybmVsLnYxLkludGVudFRyYW5zcG9ydFJlcXVpcmVtZW50IkYKFEludGVudHNBYm92ZVJlc3BvbnNlEi4KB2ludGVudHMYASADKAsyHS5ub21vcy5rZXJuZWwudjEuSW50ZW50UmVjb3JkInQKFkhpc3RvcnlTdW1tYXJ5UmVzcG9uc2USDAoEaGVhZBgBIAEoCRIOCgZvbGRlc3QYAiABKAkSFAoMY29tbWl0X2NvdW50GAMgASgEEhAKCGNvbXBsZXRlGAQgASgIEhQKDHJlYWNoZWRfYmFzZRgFIAEoCCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJaCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkSEQoJZm9sZF9yb290GAMgASgJIrQCChVJbnNwZWN0Q2hhbmdlUmVzcG9uc2USLgoIc2VtYW50aWMYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJaW50ZW50X2lkGAIgASgJEjIKBGNhbGwYAyABKAsyJC5ub21vcy5rZXJuZWwudjEuTm9taW5hbENhbGxJZGVudGl0eRIQCghhdXRob3JlZBgEIAEoCBJEChFsaWZlY3ljbGVfaW5zdGFsbBgFIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5MaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSTAoUcmVxdWlyZWRfcmVzaWRlbmNpZXMYBiADKAsyLi5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlUmVzaWRlbmN5UmVxdWlyZW1lbnQiTAocUmVzb2x2ZVN0YXRlUG9zaXRpb25SZXNwb25zZRIaCg1yZXNvbHZlZF9oZWFkGAEgASgJSACIAQFCEAoOX3Jlc29sdmVkX2hlYWQiNAocRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZRIUCgx2ZXJkaWN0X3VzZGEYASABKAwiUQodSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVzcG9uc2USMAoHdmVyZGljdBgBIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5SZWZ1c2FsVmVyZGljdCJ1CiJQcm92ZUNvbXBhY3Rpb25FcXVpdmFsZW5jZVJlc3BvbnNlEjgKCGV2aWRlbmNlGAEgASgLMiYubm9tb3Mua2VybmVsLnYxLkNvbXBhY3Rpb25FcXVpdmFsZW5jZRIVCg1ldmlkZW5jZV91c2RhGAIgASgMIi8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLfAwoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBElAKGXZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQYCyABKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZpZWRGcm9udGllclJlY2VpcHRIBIgBAUIJCgdfY3Vyc29yQg0KC19zdGF0ZV9yb290QhoKGF9yZWFkX2luZGV4X3NxbGl0ZV9ieXRlc0IbChlfcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzQhwKGl92ZXJpZmllZF9mcm9udGllcl9yZWNlaXB0IusCChhDaGVja3BvaW50SW1wb3J0UmVzcG9uc2USEAoIcmVzdG9yZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESFwoPZnJvbnRpZXJfc2VlZGVkGAMgASgIEiUKHWZyb250aWVyX3ZlcmlmaWNhdGlvbl9wZW5kaW5nGAQgASgIEhcKD2FnZ3JlZ2F0ZV9jb3VudBgFIAEoBBIrCgVzcGFucxgGIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBITCgZjdXJzb3IYByABKAlIAYgBARIRCglyZWFkX29ubHkYCCABKAgSFwoPbGF6eV9yZWFkX2luZGV4GAkgASgIEjcKCWFzc3VyYW5jZRgKIAEoDjIkLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50QXNzdXJhbmNlEhIKCnJlYWRfcmVhZHkYCyABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIsABChRPcGVuR2l0U3RhdGVSZXNwb25zZRIOCgZvcGVuZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESFwoPYWdncmVnYXRlX2NvdW50GAMgASgEEisKBXNwYW5zGAQgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgFIAEoCUgBiAEBEhIKCnJlYWRfcmVhZHkYBiABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIukBChtBdHRhY2hMb2NhbEZyb250aWVyUmVzcG9uc2USEAoIYXR0YWNoZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESDAoEaGVhZBgDIAEoCRISCgpzdGF0ZV9yb290GAQgASgJEhcKD2FnZ3JlZ2F0ZV9jb3VudBgFIAEoBBIrCgVzcGFucxgGIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBISCgpyZWFkX3JlYWR5GAcgASgIEhwKFGZvcmVpZ25fc291cmNlX3JlYWR5GAggASgIQgkKB19yZWFzb24iMQocUmVsZWFzZVdvcmtzcGFjZVN0YXRlUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiMQodUmVsZWFzZVdvcmtzcGFjZVN0YXRlUmVzcG9uc2USEAoIcmVsZWFzZWQYASABKAgiiwEKHFJlYWRDdXN0b2R5UGxhY2VtZW50UmVzcG9uc2USFQoIZnJvbnRpZXIYASABKAlIAIgBARI8CgZwb2xpY3kYAiABKAsyJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFBvbGljeUgBiAEBQgsKCV9mcm9udGllckIJCgdfcG9saWN5Il0KEFBsYWNlbWVudEFkb3B0ZWQSEAoIZnJvbnRpZXIYASABKAkSNwoGcG9saWN5GAIgASgLMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlQbGFjZW1lbnRQb2xpY3kiWgofSW5zcGVjdEN1c3RvZHlQbGFjZW1lbnRSZXNwb25zZRI3CgZwb2xpY3kYASABKAsyJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFBvbGljeSJKChdDYXBhY2l0eVJlc2VydmVSZXNwb25zZRIXCg9hZ2dyZWdhdGVfY291bnQYASABKAQSFgoOcmVzZXJ2ZWRfYnl0ZXMYAiABKAQi+QIKEFJlc3RvcmVNYWluU3BhbnMSEAoIdG90YWxfdXMYASABKAQSGgoSbGl2ZV9yZWZfbG9va3VwX3VzGAIgASgEEhgKEHRhcmdldF9kZWNvZGVfdXMYAyABKAQSJAocY3VzdG9keV9jb21wbGV0ZW5lc3NfcmVhZF91cxgEIAEoBBIZChFxdWFyYW50aW5lX3JlZl91cxgFIAEoBBIlCh1jaGFpbl9zaWduYXR1cmVfbGF3X3JlcGxheV91cxgGIAEoBBIZChF2ZXJkaWN0X2RlY29kZV91cxgHIAEoBBIjChtwcm9tb3RlX2FuZF9jbGVhbnVwX3JlZnNfdXMYCCABKAQSGwoTZnJvbnRpZXJfcmVidWlsZF91cxgJIAEoBBIZChFmcm9udGllcl9zdG9yZV91cxgKIAEoBBI9Cgx2ZXJpZmljYXRpb24YCyABKAsyJy5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5EaWFnbm9zdGljcyLvAQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucxItCgd2ZXJkaWN0GAUgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EjcKCWFzc3VyYW5jZRgGIAEoDjIkLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50QXNzdXJhbmNlEhAKCGFjY2VwdGVkGAcgASgIIpsCCgpOb21vc1ZhbHVlEiUKBG51bGwYASABKAsyFS5ub21vcy5rZXJuZWwudjEuTnVsbEgAEhEKB2Jvb2xlYW4YAiABKAhIABIYCg5zaWduZWRfaW50ZWdlchgDIAEoEkgAEhoKEHVuc2lnbmVkX2ludGVnZXIYBCABKARIABIYCg5mbG9hdGluZ19wb2ludBgFIAEoAUgAEg4KBHRleHQYBiABKAlIABIPCgVieXRlcxgHIAEoDEgAEioKBGxpc3QYCCABKAsyGi5ub21vcy5rZXJuZWwudjEuTm9tb3NMaXN0SAASLgoGb2JqZWN0GAkgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0SABCBgoEa2luZCIGCgROdWxsIjgKCU5vbW9zTGlzdBIrCgZ2YWx1ZXMYASADKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZSKTAQoLTm9tb3NTdHJ1Y3QSOAoGZmllbGRzGAEgAygLMigubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0LkZpZWxkc0VudHJ5GkoKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIqCgV2YWx1ZRgCIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlOgI4ASI6Cg9IaXN0b3J5UmVxdWlyZWQSEQoJd29ya3NwYWNlGAEgASgJEhQKDHVudGlsX2NvbW1pdBgCIAEoCSpuCg9MYXdWZXJzaW9uT3JkZXISIQodTEFXX1ZFUlNJT05fT1JERVJfVU5TUEVDSUZJRUQQABIbChdMQVdfVkVSU0lPTl9PUkRFUl9FUVVBTBABEhsKF0xBV19WRVJTSU9OX09SREVSX0xPV0VSEAIq6gEKEkJpcnRoT3V0Y29tZVN0YXR1cxIkCiBCSVJUSF9PVVRDT01FX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGUJJUlRIX09VVENPTUVfU1RBVFVTX0JPUk4QARIhCh1CSVJUSF9PVVRDT01FX1NUQVRVU19ERUZFUlJFRBACEh8KG0JJUlRIX09VVENPTUVfU1RBVFVTX0ZBSUxFRBADEiAKHEJJUlRIX09VVENPTUVfU1RBVFVTX1JFRlVTRUQQBBIpCiVCSVJUSF9PVVRDT01FX1NUQVRVU19VTldBUlJBTlRFRF9DRVJUEAUqzBQKEUtlcm5lbFJlZnVzYWxDb2RlEiMKH0tFUk5FTF9SRUZVU0FMX0NPREVfVU5TUEVDSUZJRUQQABIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JBRF9TSUdOQVRVUkUQARIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX1VOQVVUSE9SSVpFRBACEicKI0tFUk5FTF9SRUZVU0FMX0NPREVfUE9MSUNZX0RJU0FCTEVEEAMSKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkNFUlRJRklFRF9QT0xJQ1kQBBIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1JFRkVSRU5USUFMEAUSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9QT0lOVF9TVEFURV9VTkFWQUlMQUJMRRAGEiQKIEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0VYQ0VFREVEEAcSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBfQ09VTlRfVU5BVkFJTEFCTEUQCBIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0VWSURFTkNFX1VOQkFDS0VEEAkSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9PUlBIQU5fUkVDRUlQVBAKEjYKMktFUk5FTF9SRUZVU0FMX0NPREVfUkVDRUlQVF9PTl9URVJNSU5BTF9PQkxJR0FUSU9OEAsSIgoeS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfTUlOVEVEEAwSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fTElGRUNZQ0xFEA0SKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9UWVBFX1RBR19NSVNNQVRDSBAOEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfUkVUSVJFRF9SRUFEX1NVUkZBQ0UQDxIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0NST1NTX1dPUktTUEFDRV9ERUNMSU5FRBAQEisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfQUdHUkVHQVRFX0lOVkFSSUFOVBAREisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfV09SS1NQQUNFX0lOVkFSSUFOVBASEi4KKktFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9DT05GTElDVBATEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfQ09ORkxJQ1RfU05BUFNIT1RfUkVRVUlSRUQQFBI0CjBLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1VOREVDTEFSRUQQFRIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX0lOVkFMSUQQFhIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1NUQUxFEBcSMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1VOREVDTEFSRUQQGBItCilLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfUFJJVkFURRAZEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTkRFQ0xBUkVEEBoSMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9LRVkQGxI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5UUlVTVEVEX1NPVVJDRRAcEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9GT1JHRUQQHRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfU1RBTEUQHhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfT1ZFUlNJWkUQHxI3CjNLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRElTSE9OT1JFRF9TT1VSQ0UQIBI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0VRVUlWT0NBVElPTl9FVklERU5DRV9JTlZBTElEECESMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9SRUNFSVBUX0lOVkFMSUQQIhIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9ST1NURVJfTUlTTUFUQ0gQIxIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9FUE9DSF9OT1RfTU9OT1RPTklDECQSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9XUklURV9FUE9DSF9TVEFMRRAlEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfRU5WRUxPUEVfU0lEX01JU01BVENIECYSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9SRVZPS0VEX01FTUJFUl9SRVNVUlJFQ1RFRBAnEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRk9SR0VEX1BSSU5DSVBBTBAoEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfS0VZX0FOQ0hPUhApEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfUkVDT1ZFUlkQKhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1NVUkZBQ0VEX0JBU0lTX0FIRUFEECsSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9TSUdORVJfRVBPQ0hfT1VUX09GX1dJTkRPVxAsEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRVZPTFZFX1JFRlVTRUQQLRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEFUSU9OX0lOVkFMSUQQLhItCilLRVJORUxfUkVGVVNBTF9DT0RFX1BBUkVOVF9ESURfTk9UX0FUVEVTVBAvEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfQ0VSVF9DSEFJTl9CUk9LRU4QMBIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX05PVF9ST09URURfQVRfUk9PVBAxEioKJktFUk5FTF9SRUZVU0FMX0NPREVfREVMRUdBVElPTl9JTlZBTElEEDISJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9QTEFOX1JFSkVDVEVEEDMSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fUkVGVVNFRBA0EjEKLUtFUk5FTF9SRUZVU0FMX0NPREVfSU5WQVJJQU5UX0VYRUNVVElPTl9GQVVMVBA1EjUKMUtFUk5FTF9SRUZVU0FMX0NPREVfQ0hFQ0tQT0lOVF9TSUdORVJfVU5BVkFJTEFCTEUQNhIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09GRkVSX0JBU0VfU1RBTEUQNxIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JJUlRIX1JFRlVTRUQQOCrvAgoQRnVsbFJlc3VsdFJlYXNvbhIiCh5GVUxMX1JFU1VMVF9SRUFTT05fVU5TUEVDSUZJRUQQABIeChpGVUxMX1JFU1VMVF9SRUFTT05fTk9fQkFTRRABEiIKHkZVTExfUkVTVUxUX1JFQVNPTl9MQVdfQ0hBTkdFRBACEi0KKUZVTExfUkVTVUxUX1JFQVNPTl9SRUFEX0FVVEhPUklUWV9DSEFOR0VEEAMSKQolRlVMTF9SRVNVTFRfUkVBU09OX1BFUl9SRUNPUkRfUkVGVVNBTBAEEiMKH0ZVTExfUkVTVUxUX1JFQVNPTl9PUkRFUkVEX1JFQUQQBRImCiJGVUxMX1JFU1VMVF9SRUFTT05fVEVNUE9SQUxfRklFTERTEAYSJwojRlVMTF9SRVNVTFRfUkVBU09OX0JBU0VfVU5BVkFJTEFCTEUQBxIjCh9GVUxMX1JFU1VMVF9SRUFTT05fTEVHQUNZX1NUQVRFEAgqyQEKE0ludGVyZmFjZU1lbWJlcktpbmQSJQohSU5URVJGQUNFX01FTUJFUl9LSU5EX1VOU1BFQ0lGSUVEEAASIAocSU5URVJGQUNFX01FTUJFUl9LSU5EX0RPTUFJThABEiMKH0lOVEVSRkFDRV9NRU1CRVJfS0lORF9ESVJFQ1RJVkUQAhIjCh9JTlRFUkZBQ0VfTUVNQkVSX0tJTkRfQUdHUkVHQVRFEAMSHwobSU5URVJGQUNFX01FTUJFUl9LSU5EX0ZJRUxEEAQqiAIKHEludGVyZmFjZUNvbXBhdGliaWxpdHlTdGF0dXMSLgoqSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKAokSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfU1RBVFVTX0VYQUNUEAESLQopSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfU1RBVFVTX0NPTVBBVElCTEUQAhIuCipJTlRFUkZBQ0VfQ09NUEFUSUJJTElUWV9TVEFUVVNfVU5BVkFJTEFCTEUQAxIvCitJTlRFUkZBQ0VfQ09NUEFUSUJJTElUWV9TVEFUVVNfSU5DT01QQVRJQkxFEAQqwwMKHEludGVyZmFjZUNvbXBhdGliaWxpdHlSZWFzb24SLgoqSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX1VOU1BFQ0lGSUVEEAASMQotSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX0RPTUFJTl9NSVNTSU5HEAESMQotSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX01FTUJFUl9NSVNTSU5HEAISMAosSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX0ZJRUxEX01JU1NJTkcQAxI1CjFJTlRFUkZBQ0VfQ09NUEFUSUJJTElUWV9SRUFTT05fVkFMVUVfS0lORF9DSEFOR0VEEAQSNwozSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX1JFUVVJUkVEX0lOUFVUX0FEREVEEAUSMQotSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX01BVFJJWF9JTlZBTElEEAYSOAo0SU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX1dJUkVfQ09OVFJBQ1RfQ0hBTkdFRBAHKrcCChBNYWludGVuYW5jZVBoYXNlEiEKHU1BSU5URU5BTkNFX1BIQVNFX1VOU1BFQ0lGSUVEEAASJAogTUFJTlRFTkFOQ0VfUEhBU0VfUkVBRF9ET0NVTUVOVFMQARIiCh5NQUlOVEVOQU5DRV9QSEFTRV9TUUxJVEVfSU5ERVgQAhImCiJNQUlOVEVOQU5DRV9QSEFTRV9DT01NQU5EX0ZST05USUVSEAMSIwofTUFJTlRFTkFOQ0VfUEhBU0VfQ09NTUFORF9ST1VURRAEEiEKHU1BSU5URU5BTkNFX1BIQVNFX0dJVF9DVVNUT0RZEAUSJgoiTUFJTlRFTkFOQ0VfUEhBU0VfUkVBRF9JTkRFWF9DQUNIRRAGEh4KGk1BSU5URU5BTkNFX1BIQVNFX0NPTVBMRVRFEAcqigEKD1ZlcmlmeUNoYWluV2FsaxIhCh1WRVJJRllfQ0hBSU5fV0FMS19VTlNQRUNJRklFRBAAEhoKFlZFUklGWV9DSEFJTl9XQUxLX0ZVTEwQARIcChhWRVJJRllfQ0hBSU5fV0FMS19TVUZGSVgQAhIaChZWRVJJRllfQ0hBSU5fV0FMS19NRU1PEAMqcAoYRWZmZWN0RXhlY3V0aW9uUGxhY2VtZW50EioKJkVGRkVDVF9FWEVDVVRJT05fUExBQ0VNRU5UX1VOU1BFQ0lGSUVEEAASKAokRUZGRUNUX0VYRUNVVElPTl9QTEFDRU1FTlRfQ1VTVE9ESUFOEAEqdgoaRWZmZWN0RXhlY3V0aW9uQ2FyZGluYWxpdHkSLAooRUZGRUNUX0VYRUNVVElPTl9DQVJESU5BTElUWV9VTlNQRUNJRklFRBAAEioKJkVGRkVDVF9FWEVDVVRJT05fQ0FSRElOQUxJVFlfU0lOR0xFVE9OEAEqtwEKF01vZGVsTGlmZWN5Y2xlT3BlcmF0aW9uEikKJU1PREVMX0xJRkVDWUNMRV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIlCiFNT0RFTF9MSUZFQ1lDTEVfT1BFUkFUSU9OX0lOU1RBTEwQARIjCh9NT0RFTF9MSUZFQ1lDTEVfT1BFUkFUSU9OX1NUQUdFEAISJQohTU9ERUxfTElGRUNZQ0xFX09QRVJBVElPTl9QUk9NT1RFEAMq3AEKHUNoaWxkV29ya3NwYWNlTGlmZWN5Y2xlU3RhdHVzEjAKLENISUxEX1dPUktTUEFDRV9MSUZFQ1lDTEVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQ0hJTERfV09SS1NQQUNFX0xJRkVDWUNMRV9TVEFUVVNfQUNUSVZFEAESLAooQ0hJTERfV09SS1NQQUNFX0xJRkVDWUNMRV9TVEFUVVNfUkVUSVJFRBACEi4KKkNISUxEX1dPUktTUEFDRV9MSUZFQ1lDTEVfU1RBVFVTX1JFQ0xBSU1FRBADKvgBCiJEZWNsYXJlZEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJLaW5kEjUKMURFQ0xBUkVEX0FVVEhFTlRJQ0FUSU9OX1BST1ZJREVSX0tJTkRfVU5TUEVDSUZJRUQQABIyCi5ERUNMQVJFRF9BVVRIRU5USUNBVElPTl9QUk9WSURFUl9LSU5EX1NFTEVDVEVEEAESMgouREVDTEFSRURfQVVUSEVOVElDQVRJT05fUFJPVklERVJfS0lORF9FTlJPTExFRBACEjMKL0RFQ0xBUkVEX0FVVEhFTlRJQ0FUSU9OX1BST1ZJREVSX0tJTkRfU09WRVJFSUdOEAMqigEKFURlY2xhcmVkTGF3TWVtYmVyS2luZBIoCiRERUNMQVJFRF9MQVdfTUVNQkVSX0tJTkRfVU5TUEVDSUZJRUQQABIkCiBERUNMQVJFRF9MQVdfTUVNQkVSX0tJTkRfQ09NTUFORBABEiEKHURFQ0xBUkVEX0xBV19NRU1CRVJfS0lORF9SRUFEEAIqiwYKH1Byb3ZpZGVyVG9rZW5WZXJpZmljYXRpb25TdGF0dXMSMgouUFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEiwKKFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfVkFMSUQQARI2CjJQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX05PX01BVENISU5HX0tFWRACEi4KKlBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfRVhQSVJFRBADEjQKMFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfTk9UX1lFVF9WQUxJRBAEEjYKMlBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfSVNTVUVSX01JU01BVENIEAUSOAo0UFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19BVURJRU5DRV9NSVNNQVRDSBAGEjQKMFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfQkFEX1NJR05BVFVSRRAHEjAKLFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfTUFMRk9STUVEEAgSPAo4UFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19VTlNVUFBPUlRFRF9BTEdPUklUSE0QCRIuCipQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX0JBRF9LRVkQChI2CjJQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX01JU1NJTkdfU1VCSkVDVBALEjIKLlBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfTk9fVkVSSUZJRVIQDBI0CjBQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX01JU1NJTkdfVE9LRU4QDSrIAQoSRGV2aWNlU2lnbmVyU3RhdHVzEiQKIERFVklDRV9TSUdORVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobREVWSUNFX1NJR05FUl9TVEFUVVNfQUNUSVZFEAESHwobREVWSUNFX1NJR05FUl9TVEFUVVNfQUJTRU5UEAISIAocREVWSUNFX1NJR05FUl9TVEFUVVNfUkVWT0tFRBADEigKJERFVklDRV9TSUdORVJfU1RBVFVTX0tFWV9VTkFWQUlMQUJMRRAEKtcBChNCaXJ0aEV2aWRlbmNlU3RhdHVzEiUKIUJJUlRIX0VWSURFTkNFX1NUQVRVU19VTlNQRUNJRklFRBAAEiYKIkJJUlRIX0VWSURFTkNFX1NUQVRVU19OT1RfUkVRVUlSRUQQARIfChtCSVJUSF9FVklERU5DRV9TVEFUVVNfUkVBRFkQAhItCilCSVJUSF9FVklERU5DRV9TVEFUVVNfREVMRUdBVElPTl9SRVFVSVJFRBADEiEKHUJJUlRIX0VWSURFTkNFX1NUQVRVU19JTlZBTElEEAQqsgEKEVF1ZXJ5UmVzdWx0Rm9ybWF0EiMKH1FVRVJZX1JFU1VMVF9GT1JNQVRfVU5TUEVDSUZJRUQQABIkCiBRVUVSWV9SRVNVTFRfRk9STUFUX0xFR0FDWV9WQUxVRRABEiQKIFFVRVJZX1JFU1VMVF9GT1JNQVRfTk9NSU5BTF9VU0RBEAISLAooUVVFUllfUkVTVUxUX0ZPUk1BVF9BUFBMSUNBVElPTl9QUk9UT0JVRhADKpUMCg5RdWVyeU9wZXJhdGlvbhIfChtRVUVSWV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhRVUVSWV9PUEVSQVRJT05fRVhUUkVNVU0QARIgChxRVUVSWV9PUEVSQVRJT05fUkVBRF9QT1NUVVJFEAQSHwobUVVFUllfT1BFUkFUSU9OX0NVUlJFTlRfTEFXEAUSIwofUVVFUllfT1BFUkFUSU9OX0lOVEVSRkFDRV9PRkZFUhAGEicKI1FVRVJZX09QRVJBVElPTl9SRUxBVElPTl9HQVRFX09GRkVSEAcSHQoZUVVFUllfT1BFUkFUSU9OX1NDRU5FX0xBVxAIEiEKHVFVRVJZX09QRVJBVElPTl9JTlNUQUxMRURfTEFXEAkSHAoYUVVFUllfT1BFUkFUSU9OX0RFU0NSSUJFEAoSIwofUVVFUllfT1BFUkFUSU9OX0tFUk5FTF9SRVNPVVJDRRALEiMKH1FVRVJZX09QRVJBVElPTl9ERVZFTE9QRVJfU1BBTlMQDBIpCiVRVUVSWV9PUEVSQVRJT05fREVDTEFSRURfQ0FQQUJJTElUSUVTEA0SHQoZUVVFUllfT1BFUkFUSU9OX1JFQURJTkVTUxAOEiQKIFFVRVJZX09QRVJBVElPTl9QUk9KRUNUSU9OX1NUQVRTEA8SJQohUVVFUllfT1BFUkFUSU9OX01FTU9SWV9EUk9QX1BST0JFEBASGAoUUVVFUllfT1BFUkFUSU9OX1dBUk0QERIbChdRVUVSWV9PUEVSQVRJT05fUkVGUkVTSBASEiAKHFFVRVJZX09QRVJBVElPTl9WRVJJRllfQ0hBSU4QExIiCh5RVUVSWV9PUEVSQVRJT05fQ09VTlRFUkZBQ1RVQUwQFBIZChVRVUVSWV9PUEVSQVRJT05fUk9VVEUQFRIlCiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1NFQUxfRklFTEQQGBIsCihRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX0JMSU5EX0lOREVYX1RPS0VOEBkSKgomUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9TQ09QRV9LRVkQGhIvCitRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX0RFVklDRV9SRVFVRVNUEBsSMQotUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9QUkVQQVJFX0FQUFJPVkFMEBwSMQotUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9QUkVQQVJFX1JFQ09WRVJZEB0SIAocUVVFUllfT1BFUkFUSU9OX1JFQ0VJUFRfUEFUSBAiEh0KGVFVRVJZX09QRVJBVElPTl9DRVJUX1NJR04QIxIlCiFRVUVSWV9PUEVSQVRJT05fQklSVEhfVFJVU1RfU1RBVEUQJBIhCh1RVUVSWV9PUEVSQVRJT05fRVJBX0NFUlRfU0lHThAlEigKJFFVRVJZX09QRVJBVElPTl9ERUxFR0FUSU9OX0NFUlRfU0lHThAmEikKJVFVRVJZX09QRVJBVElPTl9DQU5PTklDQUxJWkVfRlJPTlRJRVIQJxIrCidRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX1BST0pFQ1RJT04QKCIECAIQAiIECAMQAyIECBYQFiIECBcQFyIECB4QHiIECB8QHyIECCAQICIECCEQISohUVVFUllfT1BFUkFUSU9OX1BFTkRJTkdfQ09ORkxJQ1RTKihRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVF9TVU1NQVJZKhRRVUVSWV9PUEVSQVRJT05fTUlOVCodUVVFUllfT1BFUkFUSU9OX0NSWVBUT19LRVlHRU4qH1FVRVJZX09QRVJBVElPTl9DUllQVE9fV1JBUF9LRVkqIVFVRVJZX09QRVJBVElPTl9DUllQVE9fVU5XUkFQX0tFWSodUVVFUllfT1BFUkFUSU9OX0FVVEhPUl9LRVlHRU4qIFFVRVJZX09QRVJBVElPTl9BVFRFU1RBVElPTl9TSUdOKqkBChlSZWFkUHJvamVjdGlvblN0b3JhZ2VLaW5kEiwKKFJFQURfUFJPSkVDVElPTl9TVE9SQUdFX0tJTkRfVU5TUEVDSUZJRUQQABIpCiVSRUFEX1BST0pFQ1RJT05fU1RPUkFHRV9LSU5EX1JFU0lERU5UEAESMwovUkVBRF9QUk9KRUNUSU9OX1NUT1JBR0VfS0lORF9GSUxFX0JBQ0tFRF9TQ0FMQVIQAirSAgoVUmVzaWRlbnRDb21wb25lbnRLaW5kEicKI1JFU0lERU5UX0NPTVBPTkVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJgoiUkVTSURFTlRfQ09NUE9ORU5UX0tJTkRfRk9MRF9TVEFURRABEi0KKVJFU0lERU5UX0NPTVBPTkVOVF9LSU5EX1JFQURfTU9ERUxfU1FMSVRFEAISLgoqUkVTSURFTlRfQ09NUE9ORU5UX0tJTkRfUkVBRF9NT0RFTF9JTkRFWEVTEAMSLQopUkVTSURFTlRfQ09NUE9ORU5UX0tJTkRfU0hBUkVEX0FUVFJJQlVURUQQBBIsCihSRVNJREVOVF9DT01QT05FTlRfS0lORF9XT1JLU1BBQ0VfQ0FDSEVTEAUSLAooUkVTSURFTlRfQ09NUE9ORU5UX0tJTkRfR0lUX09CSkVDVF9DQUNIRRAGKmwKE0tlcm5lbExhd0NhcGFiaWxpdHkSJQohS0VSTkVMX0xBV19DQVBBQklMSVRZX1VOU1BFQ0lGSUVEEAASLgoqS0VSTkVMX0xBV19DQVBBQklMSVRZX1NUQUdFX1pFUk9fQk9PVFNUUkFQEAEqWQoVQ2hlY2twb2ludENvbXByZXNzaW9uEh8KG0NIRUNLUE9JTlRfQ09NUFJFU1NJT05fTk9ORRAAEh8KG0NIRUNLUE9JTlRfQ09NUFJFU1NJT05fR1pJUBABKpEBChxDaGVja3BvaW50VmVyaWZpY2F0aW9uUG9saWN5EjMKL0NIRUNLUE9JTlRfVkVSSUZJQ0FUSU9OX1BPTElDWV9WRVJJRllfQ0FOT05JQ0FMEAASPAo4Q0hFQ0tQT0lOVF9WRVJJRklDQVRJT05fUE9MSUNZX1RSVVNUX1BSRVZJT1VTTFlfVkVSSUZJRUQQASqAAQoTQ2hlY2twb2ludEFzc3VyYW5jZRIkCiBDSEVDS1BPSU5UX0FTU1VSQU5DRV9VTlNQRUNJRklFRBAAEiAKHENIRUNLUE9JTlRfQVNTVVJBTkNFX1RSVVNURUQQARIhCh1DSEVDS1BPSU5UX0FTU1VSQU5DRV9WRVJJRklFRBACKokBChVLZXJuZWxSZXNpZGVuY3lJbnRlbnQSJwojS0VSTkVMX1JFU0lERU5DWV9JTlRFTlRfVU5TUEVDSUZJRUQQABIgChxLRVJORUxfUkVTSURFTkNZX0lOVEVOVF9XQVJNEAESJQohS0VSTkVMX1JFU0lERU5DWV9JTlRFTlRfT05fREVNQU5EEAIqrgEKFkN1c3RvZHlSZXRlbnRpb25JbnRlbnQSKAokQ1VTVE9EWV9SRVRFTlRJT05fSU5URU5UX1VOU1BFQ0lGSUVEEAASIwofQ1VTVE9EWV9SRVRFTlRJT05fSU5URU5UX1JFVEFJThABEiIKHkNVU1RPRFlfUkVURU5USU9OX0lOVEVOVF9DQUNIRRACEiEKHUNVU1RPRFlfUkVURU5USU9OX0lOVEVOVF9OT05FEAMqqAEKGkludGVudFRyYW5zcG9ydFJlcXVpcmVtZW50EiwKKElOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfVU5TUEVDSUZJRUQQABIuCipJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1NFQUxFRF9DSEFOR0UQARIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX0NPTU1JVF9UUkVFEAIqiQEKFUxpZmVjeWNsZUluc3RhbGxQaGFzZRInCiNMSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9VTlNQRUNJRklFRBAAEiIKHkxJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX0FDVElWRRABEiMKH0xJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX1BFTkRJTkcQAjJZChJOb21vc0tlcm5lbFNlcnZpY2USQwoEQ2FsbBIcLm5vbW9zLmtlcm5lbC52MS5DYWxsUmVxdWVzdBodLm5vbW9zLmtlcm5lbC52MS5DYWxsUmVzcG9uc2ViBnByb3RvMw", [file_google_protobuf_any]);
12
+ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEixgkKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEkAKCWNvbmZpZ3VyZRgQIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxDb25maWd1cmF0aW9uUmVxdWVzdEgAEkgKE3NpZ25fcHJlcGFyZWRfb2ZmZXIYESABKAsyKS5ub21vcy5rZXJuZWwudjEuU2lnblByZXBhcmVkT2ZmZXJSZXF1ZXN0SAASSgoUcHJlcGFyZV9yZW1vdGVfb2ZmZXIYEiABKAsyKi5ub21vcy5rZXJuZWwudjEuUHJlcGFyZVJlbW90ZU9mZmVyUmVxdWVzdEgAEk4KFnNpZ25fb2ZmZXJfcHJlcGFyYXRpb24YEyABKAsyLC5ub21vcy5rZXJuZWwudjEuU2lnbk9mZmVyUHJlcGFyYXRpb25SZXF1ZXN0SAASTgoWc2lnbl9iaXJ0aF9jZXJ0aWZpY2F0ZRgUIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5TaWduQmlydGhDZXJ0aWZpY2F0ZVJlcXVlc3RIABJDChBzaWduaW5nX2lkZW50aXR5GBcgASgLMicubm9tb3Mua2VybmVsLnYxLlNpZ25pbmdJZGVudGl0eVJlcXVlc3RIABJWChpzaWduX2F1dGhvcml0eV9hdHRlc3RhdGlvbhgYIAEoCzIwLm5vbW9zLmtlcm5lbC52MS5TaWduQXV0aG9yaXR5QXR0ZXN0YXRpb25SZXF1ZXN0SAASPAoNbWludF90eXBlZF9pZBgZIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5NaW50VHlwZWRJZFJlcXVlc3RIABJJChNlbmNyeXB0aW9uX2lkZW50aXR5GBogASgLMioubm9tb3Mua2VybmVsLnYxLkVuY3J5cHRpb25JZGVudGl0eVJlcXVlc3RIABI+Cg53cmFwX3Njb3BlX2tleRgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5XcmFwU2NvcGVLZXlSZXF1ZXN0SAASQgoQdW53cmFwX3Njb3BlX2tleRgcIAEoCzImLm5vbW9zLmtlcm5lbC52MS5VbndyYXBTY29wZUtleVJlcXVlc3RIAEILCglvcGVyYXRpb25KBAgVEBZKBAgWEBdSFGluaXRpYWxpemVfd29ya3NwYWNlUhZhcHBseV93b3Jrc3BhY2VfZWZmZWN0IoMKCgxDYWxsUmVzcG9uc2USGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEisKB2ZhaWx1cmUYCiABKAsyGC5ub21vcy5rZXJuZWwudjEuRmFpbHVyZUgAEi0KBG9wZW4YCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT3BlblJlc3BvbnNlSAASLwoFb2ZmZXIYDCABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXNwb25zZUgAEi8KBXF1ZXJ5GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5UmVzcG9uc2VIABIxCgZvdXRib3gYDiABKAsyHy5ub21vcy5rZXJuZWwudjEuT3V0Ym94UmVzcG9uc2VIABItCgRzeW5jGA8gASgLMh0ubm9tb3Mua2VybmVsLnYxLlN5bmNSZXNwb25zZUgAEjMKB2N1c3RvZHkYECABKAsyIC5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVJlc3BvbnNlSAASQQoJY29uZmlndXJlGBEgASgLMiwubm9tb3Mua2VybmVsLnYxLktlcm5lbENvbmZpZ3VyYXRpb25SZXNwb25zZUgAEkkKE3NpZ25fcHJlcGFyZWRfb2ZmZXIYEiABKAsyKi5ub21vcy5rZXJuZWwudjEuU2lnblByZXBhcmVkT2ZmZXJSZXNwb25zZUgAEksKFHByZXBhcmVfcmVtb3RlX29mZmVyGBMgASgLMisubm9tb3Mua2VybmVsLnYxLlByZXBhcmVSZW1vdGVPZmZlclJlc3BvbnNlSAASTwoWc2lnbl9vZmZlcl9wcmVwYXJhdGlvbhgUIAEoCzItLm5vbW9zLmtlcm5lbC52MS5TaWduT2ZmZXJQcmVwYXJhdGlvblJlc3BvbnNlSAASTwoWc2lnbl9iaXJ0aF9jZXJ0aWZpY2F0ZRgVIAEoCzItLm5vbW9zLmtlcm5lbC52MS5TaWduQmlydGhDZXJ0aWZpY2F0ZVJlc3BvbnNlSAASRAoQc2lnbmluZ19pZGVudGl0eRgYIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5TaWduaW5nSWRlbnRpdHlSZXNwb25zZUgAElcKGnNpZ25fYXV0aG9yaXR5X2F0dGVzdGF0aW9uGBkgASgLMjEubm9tb3Mua2VybmVsLnYxLlNpZ25BdXRob3JpdHlBdHRlc3RhdGlvblJlc3BvbnNlSAASPQoNbWludF90eXBlZF9pZBgaIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5NaW50VHlwZWRJZFJlc3BvbnNlSAASSgoTZW5jcnlwdGlvbl9pZGVudGl0eRgbIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5FbmNyeXB0aW9uSWRlbnRpdHlSZXNwb25zZUgAEj8KDndyYXBfc2NvcGVfa2V5GBwgASgLMiUubm9tb3Mua2VybmVsLnYxLldyYXBTY29wZUtleVJlc3BvbnNlSAASQwoQdW53cmFwX3Njb3BlX2tleRgdIAEoCzInLm5vbW9zLmtlcm5lbC52MS5VbndyYXBTY29wZUtleVJlc3BvbnNlSABCCQoHb3V0Y29tZUoECBYQF0oECBcQGFIUaW5pdGlhbGl6ZV93b3Jrc3BhY2VSFmFwcGx5X3dvcmtzcGFjZV9lZmZlY3QitwIKB0ZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEi0KB2RldGFpbHMYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSYQoiaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzc19yZXF1aXJlZBgKIAEoCzIwLm5vbW9zLmtlcm5lbC52MS5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVpcmVkSACIAQESPwoQaGlzdG9yeV9yZXF1aXJlZBgLIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5IaXN0b3J5UmVxdWlyZWRIAYgBAUIlCiNfaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzc19yZXF1aXJlZEITChFfaGlzdG9yeV9yZXF1aXJlZCJRCh9JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVpcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSFAoMcmVxdWlyZWRfa2lkGAIgASgJIjwKDE9wZW5SZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiugQKDU9mZmVyUmVzcG9uc2USMgoIYWRtaXR0ZWQYASABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJBZG1pdHRlZEgAEjAKB3JlZnVzZWQYAiABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZWZ1c2VkSAASOwoNZGVhZF9sZXR0ZXJlZBgDIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5PZmZlckRlYWRMZXR0ZXJlZEgAEjgKC3F1YXJhbnRpbmVkGAQgASgLMiEubm9tb3Mua2VybmVsLnYxLk9mZmVyUXVhcmFudGluZWRIABJKChVibG9ja2VkX29uX2RlcGVuZGVuY3kYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuT2ZmZXJCbG9ja2VkT25EZXBlbmRlbmN5SAASMgoIcHJlcGFyZWQYBiABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJQcmVwYXJlZEgAEkIKEHdvcmtzcGFjZV9lZmZlY3QYByABKAsyKC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlRWZmZWN0SWRlbnRpdHkSGwoOanVkZ2VkX2F0X2hlYWQYCCABKAlIAYgBARJNChJqdWRnbWVudF9zaWduYXR1cmUYCSABKAsyMS5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlRWZmZWN0SnVkZ21lbnRTaWduYXR1cmVCCQoHb3V0Y29tZUIRCg9fanVkZ2VkX2F0X2hlYWQifwogV29ya3NwYWNlRWZmZWN0SnVkZ21lbnRTaWduYXR1cmUSDwoHdmVyc2lvbhgBIAEoDRISCgpwdWJsaWNfa2V5GAIgASgMEhEKCWtleV9lcG9jaBgDIAEoEhIRCglzaWduYXR1cmUYBCABKAwSEAoIanVkZ21lbnQYBSABKAwiqAEKF1dvcmtzcGFjZUVmZmVjdElkZW50aXR5EhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSIAoYc291cmNlX3dvcmtzcGFjZV9nZW5lc2lzGAIgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAyABKAkSIAoYdGFyZ2V0X3dvcmtzcGFjZV9nZW5lc2lzGAQgASgJEhUKDWVmZmVjdF9kaWdlc3QYBSABKAkiVwocV29ya3NwYWNlRWZmZWN0U3RhdHVzUmVxdWVzdBIgChhzb3VyY2Vfd29ya3NwYWNlX2dlbmVzaXMYASABKAkSFQoNZWZmZWN0X2RpZ2VzdBgCIAEoCSJRCh1Xb3Jrc3BhY2VFZmZlY3RTdGF0dXNSZXNwb25zZRIwCghqdWRnbWVudBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlIoYCCiNSZWNvcmRXb3Jrc3BhY2VFZmZlY3RPdXRjb21lUmVxdWVzdBIwCgZzb3VyY2UYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhkKEXNvdXJjZV9vZmZlcl9wYXRoGAIgASgJEhUKC21haWxib3hfdXJsGAMgASgJSAASPQoRcmVjaXBpZW50X2N1c3RvZHkYBSABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0SAASMAoIanVkZ21lbnQYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXNwb25zZUIKCghldmlkZW5jZSJaCh5SZWNvcmRlZFdvcmtzcGFjZUVmZmVjdE91dGNvbWUSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCRIYChB0ZXJtaW5hbF9yZWZ1c2FsGAMgASgIIq4FCg1PZmZlckFkbWl0dGVkEgwKBGhlYWQYASABKAkSEQoJaW50ZW50X2lkGAIgASgJEhcKCmludGVudF9vdXQYAyABKAlIAIgBARIzCgdjcmVhdGVkGAQgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEjQKCGFmZmVjdGVkGAUgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEiwKBGJvcm4YBiADKAsyHi5ub21vcy5rZXJuZWwudjEuQm9ybldvcmtzcGFjZRI1Cg5iaXJ0aF9vdXRjb21lcxgHIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUSNwoMa2VybmVsX3NwYW5zGAggASgLMhwubm9tb3Mua2VybmVsLnYxLktlcm5lbFNwYW5zSAGIAQESDwoHZHJ5X3J1bhgJIAEoCBIfChJpbnN0YWxsZWRfbGF3X2hhc2gYCiABKAlIAogBARI5CglwbGFjZW1lbnQYCyABKAsyIS5ub21vcy5rZXJuZWwudjEuUGxhY2VtZW50QWRvcHRlZEgDiAEBEhcKD2FscmVhZHlfYXBwbGllZBgMIAEoCBI8CgxzdGF0ZV9jaGFuZ2UYDSABKAsyIS5ub21vcy5rZXJuZWwudjEuT2ZmZXJTdGF0ZUNoYW5nZUgEiAEBEkAKFGxhd192ZXJzaW9uX3dhcm5pbmdzGA4gAygLMiIubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25XYXJuaW5nQg0KC19pbnRlbnRfb3V0Qg8KDV9rZXJuZWxfc3BhbnNCFQoTX2luc3RhbGxlZF9sYXdfaGFzaEIMCgpfcGxhY2VtZW50Qg8KDV9zdGF0ZV9jaGFuZ2UiIwoLTGF3SWRlbnRpdHkSFAoMcGFja2FnZV9uYW1lGAEgASgJIiQKCkxhd1ZlcnNpb24SFgoOY2xvc3VyZV9zaGEyNTYYASABKAkiIQoPTGF3VmVyc2lvbkNsYWltEg4KBnNlbXZlchgBIAEoCSLgAgoRTGF3VmVyc2lvbldhcm5pbmcSKQoDbGF3GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLkxhd0lkZW50aXR5Ei8KBW9yZGVyGAIgASgOMiAubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25PcmRlchI5Cg9pbnN0YWxsZWRfY2xhaW0YAyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGF3VmVyc2lvbkNsYWltEjYKEWluc3RhbGxlZF92ZXJzaW9uGAQgASgLMhsubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb24SNgoMc2VydmVkX2NsYWltGAUgASgLMiAubm9tb3Mua2VybmVsLnYxLkxhd1ZlcnNpb25DbGFpbRIzCg5zZXJ2ZWRfdmVyc2lvbhgGIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5MYXdWZXJzaW9uEg8KB21lc3NhZ2UYByABKAkiUgoQT2ZmZXJTdGF0ZUNoYW5nZRITCgtwYXJlbnRfaGVhZBgBIAEoCRIXCg9hZ2dyZWdhdGVfdHlwZXMYAiADKAkSEAoIYXJjaGl2ZXMYAyABKAgiLQoRT2ZmZXJBZ2dyZWdhdGVSZWYSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIwCg1Cb3JuV29ya3NwYWNlEhEKCXdvcmtzcGFjZRgBIAEoCRIMCgRoZWFkGAIgASgJIssDCgxCaXJ0aE91dGNvbWUSFgoJd29ya3NwYWNlGAEgASgJSACIAQESMwoGc3RhdHVzGAIgASgOMiMubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZVN0YXR1cxITCgZyZWFzb24YAyABKAlIAYgBARIRCgRjb2RlGAQgASgJSAKIAQESEAoIcmVwbGF5ZWQYBSABKAgSFQoIbGF3X2hhc2gYBiABKAlIA4gBARIdChBwYXJlbnRfd29ya3NwYWNlGAcgASgJSASIAQESHAoPY2hpbGRfd29ya3NwYWNlGAggASgJSAWIAQESJwoaY2VydGlmaWNhdGVfcmVmdXNhbF9yZWFzb24YCSABKAlIBogBARI0CgdyZWZ1c2FsGAogASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWxIB4gBAUIMCgpfd29ya3NwYWNlQgkKB19yZWFzb25CBwoFX2NvZGVCCwoJX2xhd19oYXNoQhMKEV9wYXJlbnRfd29ya3NwYWNlQhIKEF9jaGlsZF93b3Jrc3BhY2VCHQobX2NlcnRpZmljYXRlX3JlZnVzYWxfcmVhc29uQgoKCF9yZWZ1c2FsIi8KEEtlcm5lbFNwYW5NZXRyaWMSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoBCKjAQoKS2VybmVsU3BhbhINCgVsYWJlbBgBIAEoCRIQCgh0b3RhbF91cxgCIAEoBBIPCgdyZWNvcmRzGAMgASgEEjEKBnBoYXNlcxgEIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuTWV0cmljEjAKBW5vdGVzGAUgAygLMiEubm9tb3Mua2VybmVsLnYxLktlcm5lbFNwYW5NZXRyaWMicQoLS2VybmVsU3BhbnMSLwoKb3BlcmF0aW9ucxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuEjEKBmVuZ2luZRgCIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxTcGFuTWV0cmljImEKDURvbWFpblJlZnVzYWwSEgoKbGF3X3NoYTI1NhgBIAEoDBIRCglpbnZhcmlhbnQYAiABKAkSFQoNdHlwZV9pZGVudGl0eRgDIAEoCRISCgp2YWx1ZV91c2RhGAQgASgMIs4BCgxPZmZlclJlZnVzZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIvCgdyZWZ1c2FsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWwSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSNgoOZG9tYWluX3JlZnVzYWwYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuRG9tYWluUmVmdXNhbEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIsABChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSPQoSYXdhaXRzX21haW50ZW5hbmNlGAQgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRJbmRleFBlbmRpbmdCCwoJX29mZmVyX2lkIr8BCg1PZmZlclByZXBhcmVkEhwKFGF1dGhvcmVkX2NoYW5nZV91c2RhGAEgASgMEhkKEXdvcmtzcGFjZV9iaW5kaW5nGAIgASgJEhgKEHByZXBhcmVkX2F0X2hlYWQYAyABKAkSIQoZYXV0aG9yX3NpZ25hdHVyZV9yZXF1aXJlZBgEIAEoCBI4CghkZXRhY2hlZBgFIAEoCzImLm5vbW9zLmtlcm5lbC52MS5EZXRhY2hlZFNpZ25pbmdJbnB1dHMiYwoVRGV0YWNoZWRTaWduaW5nSW5wdXRzEhIKCnB1YmxpY19rZXkYASABKAwSEQoJaW50ZW50X2lkGAIgASgJEg4KBmF1dGhvchgDIAEoDBITCgtvZmZlcl90b2tlbhgEIAEoCSKVAQoURGV0YWNoZWRTaWduZWRDaGFuZ2USHAoUYXV0aG9yZWRfY2hhbmdlX3VzZGEYASABKAwSEgoKcHVibGljX2tleRgCIAEoDBIYChBhdXRob3Jfc2lnbmF0dXJlGAMgASgMEhIKCm9mZmVyX2Jhc2UYBCABKAkSHQoVb2ZmZXJfdG9rZW5fc2lnbmF0dXJlGAUgASgMImoKGFNpZ25QcmVwYXJlZE9mZmVyUmVxdWVzdBIcChRhdXRob3JlZF9jaGFuZ2VfdXNkYRgBIAEoDBIZChF3b3Jrc3BhY2VfYmluZGluZxgCIAEoCRIVCg1hdXRob3Jfc2VjcmV0GAMgASgMIjcKGVNpZ25QcmVwYXJlZE9mZmVyUmVzcG9uc2USGgoSc2lnbmVkX2NoYW5nZV91c2RhGAEgASgMIq0BChlQcmVwYXJlUmVtb3RlT2ZmZXJSZXF1ZXN0EhUKDW9mZmVyX3JlcXVlc3QYASABKAwSGQoRd29ya3NwYWNlX2JpbmRpbmcYAiABKAkSGAoQcHJlcGFyZWRfYXRfaGVhZBgDIAEoCRISCgpwdWJsaWNfa2V5GAQgASgMEhEKCXNpZ25hdHVyZRgFIAEoDBIdChVyZXF1aXJlZF9jdXN0b2R5X2hlYWQYBiABKAkiUAoZT2ZmZXJQcmVwYXJhdGlvbkNoYWxsZW5nZRIZChF3b3Jrc3BhY2VfYmluZGluZxgBIAEoCRIYChBwcmVwYXJlZF9hdF9oZWFkGAIgASgJIpkBChpQcmVwYXJlUmVtb3RlT2ZmZXJSZXNwb25zZRI/CgljaGFsbGVuZ2UYASABKAsyKi5ub21vcy5rZXJuZWwudjEuT2ZmZXJQcmVwYXJhdGlvbkNoYWxsZW5nZUgAEi8KBW9mZmVyGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2VIAEIJCgdvdXRjb21lIoABChtTaWduT2ZmZXJQcmVwYXJhdGlvblJlcXVlc3QSFQoNb2ZmZXJfcmVxdWVzdBgBIAEoDBIZChF3b3Jrc3BhY2VfYmluZGluZxgCIAEoCRIYChBwcmVwYXJlZF9hdF9oZWFkGAMgASgJEhUKDWF1dGhvcl9zZWNyZXQYBCABKAwiRQocU2lnbk9mZmVyUHJlcGFyYXRpb25SZXNwb25zZRISCgpwdWJsaWNfa2V5GAEgASgMEhEKCXNpZ25hdHVyZRgCIAEoDCKkAQoWU2lnbmluZ0lkZW50aXR5UmVxdWVzdBI7CghnZW5lcmF0ZRgBIAEoCzInLm5vbW9zLmtlcm5lbC52MS5HZW5lcmF0ZVNpZ25pbmdLZXlQYWlySAASQAoNZGVyaXZlX3B1YmxpYxgCIAEoCzInLm5vbW9zLmtlcm5lbC52MS5EZXJpdmVTaWduaW5nUHVibGljS2V5SABCCwoJb3BlcmF0aW9uIhgKFkdlbmVyYXRlU2lnbmluZ0tleVBhaXIiKAoWRGVyaXZlU2lnbmluZ1B1YmxpY0tleRIOCgZzZWNyZXQYASABKAwilgEKF1NpZ25pbmdJZGVudGl0eVJlc3BvbnNlEjQKCWdlbmVyYXRlZBgBIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5TaWduaW5nS2V5UGFpckgAEjsKDmRlcml2ZWRfcHVibGljGAIgASgLMiEubm9tb3Mua2VybmVsLnYxLlNpZ25pbmdQdWJsaWNLZXlIAEIICgZyZXN1bHQiNAoOU2lnbmluZ0tleVBhaXISDgoGc2VjcmV0GAEgASgMEhIKCnB1YmxpY19rZXkYAiABKAwiJgoQU2lnbmluZ1B1YmxpY0tleRISCgpwdWJsaWNfa2V5GAEgASgMIpwBCh9TaWduQXV0aG9yaXR5QXR0ZXN0YXRpb25SZXF1ZXN0EhUKDXNpZ25lcl9zZWNyZXQYASABKAwSGgoSYXNzZXJ0ZXJfd29ya3NwYWNlGAIgASgJEg4KBm9iamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIPCgdzdWJqZWN0GAUgASgJEhMKC2F0dGVzdGVkX2F0GAYgASgJIkkKIFNpZ25BdXRob3JpdHlBdHRlc3RhdGlvblJlc3BvbnNlEhEKCXNpZ25hdHVyZRgBIAEoDBISCgpwdWJsaWNfa2V5GAIgASgMIkQKEk1pbnRUeXBlZElkUmVxdWVzdBIQCgh0eXBlX3RhZxgBIAEoCRIcChRjYXB0dXJlZF91bml4X21pbGxpcxgCIAEoBCIhChNNaW50VHlwZWRJZFJlc3BvbnNlEgoKAmlkGAEgASgJIhsKGUVuY3J5cHRpb25JZGVudGl0eVJlcXVlc3QiRAoaRW5jcnlwdGlvbklkZW50aXR5UmVzcG9uc2USEgoKc2VjcmV0X2tleRgBIAEoDBISCgpwdWJsaWNfa2V5GAIgASgMIkYKE1dyYXBTY29wZUtleVJlcXVlc3QSHAoUcmVjaXBpZW50X3B1YmxpY19rZXkYASABKAwSEQoJc2NvcGVfa2V5GAIgASgMIkgKFFdyYXBTY29wZUtleVJlc3BvbnNlEhwKFGVwaGVtZXJhbF9wdWJsaWNfa2V5GAEgASgMEhIKCmNpcGhlcnRleHQYAiABKAwiZwoVVW53cmFwU2NvcGVLZXlSZXF1ZXN0EhwKFHJlY2lwaWVudF9zZWNyZXRfa2V5GAEgASgMEhwKFGVwaGVtZXJhbF9wdWJsaWNfa2V5GAIgASgMEhIKCmNpcGhlcnRleHQYAyABKAwiKwoWVW53cmFwU2NvcGVLZXlSZXNwb25zZRIRCglzY29wZV9rZXkYASABKAwikwEKDUtlcm5lbFJlZnVzYWwSMAoEY29kZRgBIAEoDjIiLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsQ29kZRIPCgdtZXNzYWdlGAIgASgJEi0KB2RldGFpbHMYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEAoIdGVybWluYWwYBCABKAgixxAKDVF1ZXJ5UmVzcG9uc2USFQoLcmVzdWx0X3VzZGEYAiABKAxIABIsCgV2YWx1ZRgBIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEj4KDW9zZ2lfcmVzb3VyY2UYDCABKAsyJS5ub21vcy5rZXJuZWwudjEuT3NnaVJlc291cmNlUmVzcG9uc2VIABJKChNmcm9udGllcl90cmFuc2l0aW9uGA0gASgLMisubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblJlc3BvbnNlSAASSwoUb3duZWRfZGV2aWNlX3JlcXVlc3QYDiABKAsyKy5ub21vcy5rZXJuZWwudjEuT3duZWREZXZpY2VSZXF1ZXN0UmVzcG9uc2VIABJPChZvd25lZF9wcmVwYXJlX2FwcHJvdmFsGA8gASgLMi0ubm9tb3Mua2VybmVsLnYxLk93bmVkUHJlcGFyZUFwcHJvdmFsUmVzcG9uc2VIABIXCg1pbnRlZ2VyX3ZhbHVlGBAgASgSSAASUAoWYXV0aGVudGljYXRpb25fcG9zdHVyZRgRIAEoCzIuLm5vbW9zLmtlcm5lbC52MS5BdXRoZW50aWNhdGlvblBvc3R1cmVSZXNwb25zZUgAEkgKEGNoaWxkX3dvcmtzcGFjZXMYEiABKAsyLC5ub21vcy5rZXJuZWwudjEuQ2hpbGRXb3Jrc3BhY2VRdWVyeVJlc3BvbnNlSAASWQoWYXV0aG9yaW5nX3JlcXVpcmVtZW50cxgTIAEoCzI3Lm5vbW9zLmtlcm5lbC52MS5EaXJlY3RpdmVBdXRob3JpbmdSZXF1aXJlbWVudHNSZXNwb25zZUgAEj4KDXdhcm1fcHJvZ3Jlc3MYFSABKAsyJS5ub21vcy5rZXJuZWwudjEuV2FybVByb2dyZXNzUmVzcG9uc2VIABJVChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGBYgASgLMjAubm9tb3Mua2VybmVsLnYxLklkZW50aXR5UHJvdmlkZXJXaXRuZXNzUmVzcG9uc2VIABJSChdpbnRlcmZhY2VfY29tcGF0aWJpbGl0eRgXIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5JbnRlcmZhY2VDb21wYXRpYmlsaXR5UmVzcG9uc2VIABIyChJhcHBsaWNhdGlvbl9yZXN1bHQYGCABKAsyFC5nb29nbGUucHJvdG9idWYuQW55SAASSgoTbWFpbnRlbmFuY2VfcXVhbnR1bRgZIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5NYWludGVuYW5jZVF1YW50dW1SZXNwb25zZUgAEj8KEnJlYWRfaW5kZXhfcGVuZGluZxgaIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZWFkSW5kZXhQZW5kaW5nSAASRwoSZnVsbF9oaXN0b3J5X2F1ZGl0GBsgASgLMikubm9tb3Mua2VybmVsLnYxLkZ1bGxIaXN0b3J5QXVkaXRSZXNwb25zZUgAElMKGHdvcmtzcGFjZV9lZmZlY3RfcmVjZWlwdBgcIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VFZmZlY3RSZWNlaXB0UmVzcG9uc2VIABJLChRvcGVuX2FwaV9kZXNjcmlwdGlvbhgdIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5PcGVuQXBpRGVzY3JpcHRpb25SZXNwb25zZUgAElcKGmluc3RhbGxlZF9sYXdfZGVjbGFyYXRpb25zGB4gASgLMjEubm9tb3Mua2VybmVsLnYxLkluc3RhbGxlZExhd0RlY2xhcmF0aW9uc1Jlc3BvbnNlSAASSwoYYXBwbGljYXRpb25fcmVzdWx0X2RlbHRhGB8gASgLMicubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uUmVzdWx0RGVsdGFIABJJChNyZXNvbHZlX2RvbWFpbl9wbGFuGCQgASgLMioubm9tb3Mua2VybmVsLnYxLlJlc29sdmVEb21haW5QbGFuUmVzcG9uc2VIABJJChh2ZXJpZnlfY2hhaW5fZGlhZ25vc3RpY3MYFCABKAsyJy5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5EaWFnbm9zdGljcxIcCg9yZXN1bHRfZnJvbnRpZXIYICABKAlIAYgBARJCChJmdWxsX3Jlc3VsdF9yZWFzb24YISABKA4yIS5ub21vcy5rZXJuZWwudjEuRnVsbFJlc3VsdFJlYXNvbkgCiAEBEkMKE3Jlc3VsdF9kZXBlbmRlbmNpZXMYIiABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVhZERlcGVuZGVuY2llc0gDiAEBEkAKEXJlYWRfaW5kZXhfYmVoaW5kGCMgASgLMiAubm9tb3Mua2VybmVsLnYxLlJlYWRJbmRleEJlaGluZEgEiAEBQggKBnJlc3VsdEISChBfcmVzdWx0X2Zyb250aWVyQhUKE19mdWxsX3Jlc3VsdF9yZWFzb25CFgoUX3Jlc3VsdF9kZXBlbmRlbmNpZXNCFAoSX3JlYWRfaW5kZXhfYmVoaW5kIoABCg9SZWFkSW5kZXhCZWhpbmQSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIXCg9zZXJ2ZWRfZnJvbnRpZXIYAyABKAkSGgoScmVxdWVzdGVkX2Zyb250aWVyGAQgASgJEhUKDXN1Y2Nlc3Nvcl9sYXcYBSABKAgiVAoQUmVhZERlcGVuZGVuY2llcxIXCg9hZ2dyZWdhdGVfdHlwZXMYASADKAkSFgoOcmVhZHNfYXJjaGl2ZXMYAiABKAgSDwoHcmVhZF9hdBgDIAEoCSKCAQoWQXBwbGljYXRpb25SZXN1bHREZWx0YRIVCg1iYXNlX2Zyb250aWVyGAEgASgJEhAKCGZyb250aWVyGAIgASgJEioKDGNoYW5nZWRfcm93cxgDIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkSEwoLcmVtb3ZlZF9pZHMYBCADKAkiMwoaT3BlbkFwaURlc2NyaXB0aW9uUmVzcG9uc2USFQoNZG9jdW1lbnRfanNvbhgBIAEoCSJxChtJbnRlcmZhY2VDb21wYXRpYmlsaXR5UXVlcnkSHwoXYXBwbGljYXRpb25fbWF0cml4X3VzZGEYASABKAwSMQoPY2FuZGlkYXRlX3VuaXRzGAIgAygLMhgubm9tb3Mua2VybmVsLnYxLkxhd1VuaXQisAIKFkludGVyZmFjZU1lbWJlclZlcmRpY3QSDgoGZG9tYWluGAEgASgJEjIKBGtpbmQYAiABKA4yJC5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlTWVtYmVyS2luZBIOCgZtZW1iZXIYAyABKAkSEgoFZmllbGQYBCABKAlIAIgBARI9CgZzdGF0dXMYBSABKA4yLS5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlQ29tcGF0aWJpbGl0eVN0YXR1cxI9CgZyZWFzb24YBiABKA4yLS5ub21vcy5rZXJuZWwudjEuSW50ZXJmYWNlQ29tcGF0aWJpbGl0eVJlYXNvbhIXCgpkaWFnbm9zdGljGAcgASgJSAGIAQFCCAoGX2ZpZWxkQg0KC19kaWFnbm9zdGljIsIBCh5JbnRlcmZhY2VDb21wYXRpYmlsaXR5UmVzcG9uc2USEgoKY29tcGF0aWJsZRgBIAEoCBI4CgdtZW1iZXJzGAIgAygLMicubm9tb3Mua2VybmVsLnYxLkludGVyZmFjZU1lbWJlclZlcmRpY3QSGgoSd29ya3NwYWNlX2Zyb250aWVyGAMgASgJEhYKDmNhbmRpZGF0ZV9oYXNoGAQgASgJEh4KFmVmZmVjdGl2ZV9sYXdfaWRlbnRpdHkYBSABKAki/wEKFFdhcm1Qcm9ncmVzc1Jlc3BvbnNlEhsKE21haW50ZW5hbmNlX3BlbmRpbmcYASABKAgSJAoXcHJlcGFyZWRfY29tbWFuZF9kb21haW4YAiABKAlIAIgBARIlChhwcmVwYXJlZF9jb21tYW5kX3BhY2thZ2UYAyABKAlIAYgBARImChlwcmVwYXJlZF9jb21tYW5kX3NlbGVjdG9yGAQgASgJSAKIAQFCGgoYX3ByZXBhcmVkX2NvbW1hbmRfZG9tYWluQhsKGV9wcmVwYXJlZF9jb21tYW5kX3BhY2thZ2VCHAoaX3ByZXBhcmVkX2NvbW1hbmRfc2VsZWN0b3IibAoQUmVhZEluZGV4UGVuZGluZxIRCgl3b3Jrc3BhY2UYASABKAkSDgoGYnJhbmNoGAIgASgJEhoKEnJlcXVlc3RlZF9mcm9udGllchgDIAEoCRIZChFsYXN0X3JlYWR5X2Fic2VudBgEIAEoCSLoAgoXTWFpbnRlbmFuY2VRdWFudHVtUXVlcnkSHQoQcmVxdWVzdGVkX2RvbWFpbhgBIAEoCUgAiAEBEh4KEXJlcXVlc3RlZF9wYWNrYWdlGAIgASgJSAGIAQESIAoTcmVxdWVzdGVkX2RpcmVjdGl2ZRgDIAEoCUgCiAEBEhcKD2xvY2FsX3JlYWRfb25seRgEIAEoCBIcChRtYWludGFpbl9naXRfY3VzdG9keRgFIAEoCBIXCg9yZWFkX2luZGV4X29ubHkYBiABKAgSJAocbWFpbnRhaW5fYWRkcmVzc2VkX2Zyb250aWVycxgHIAEoCBIYChBmbHVzaF9kdXJhYmlsaXR5GAggASgIEhkKEWxvY2FsX3dyaXRlX2J1cnN0GAkgASgIQhMKEV9yZXF1ZXN0ZWRfZG9tYWluQhQKEl9yZXF1ZXN0ZWRfcGFja2FnZUIWChRfcmVxdWVzdGVkX2RpcmVjdGl2ZSKiBAoaTWFpbnRlbmFuY2VRdWFudHVtUmVzcG9uc2USEQoJd29ya3NwYWNlGAEgASgJEhsKE21haW50ZW5hbmNlX3BlbmRpbmcYAiABKAgSMAoFcGhhc2UYAyABKA4yIS5ub21vcy5rZXJuZWwudjEuTWFpbnRlbmFuY2VQaGFzZRIZCgxnaXRfZnJvbnRpZXIYBCABKAlIAIgBARIaCg1yZWFkX2Zyb250aWVyGAUgASgJSAGIAQESHAoPc3FsaXRlX2Zyb250aWVyGAYgASgJSAKIAQESEgoKd29ya191bml0cxgHIAEoBBIWCg5lbGFwc2VkX21pY3JvcxgIIAEoBBIkChdwcmVwYXJlZF9jb21tYW5kX2RvbWFpbhgJIAEoCUgDiAEBEiUKGHByZXBhcmVkX2NvbW1hbmRfcGFja2FnZRgKIAEoCUgEiAEBEiYKGXByZXBhcmVkX2NvbW1hbmRfc2VsZWN0b3IYCyABKAlIBYgBARIeChZsb29zZV9jdXN0b2R5X3ByZXNzdXJlGAwgASgIQg8KDV9naXRfZnJvbnRpZXJCEAoOX3JlYWRfZnJvbnRpZXJCEgoQX3NxbGl0ZV9mcm9udGllckIaChhfcHJlcGFyZWRfY29tbWFuZF9kb21haW5CGwoZX3ByZXBhcmVkX2NvbW1hbmRfcGFja2FnZUIcChpfcHJlcGFyZWRfY29tbWFuZF9zZWxlY3RvciJICg1Pc2dpQXR0cmlidXRlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSEQoEdHlwZRgDIAEoCUgAiAEBQgcKBV90eXBlIiwKDU9zZ2lEaXJlY3RpdmUSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKLAQoOT3NnaUNhcGFiaWxpdHkSEQoJbmFtZXNwYWNlGAEgASgJEjIKCmF0dHJpYnV0ZXMYAiADKAsyHi5ub21vcy5rZXJuZWwudjEuT3NnaUF0dHJpYnV0ZRIyCgpkaXJlY3RpdmVzGAMgAygLMh4ubm9tb3Mua2VybmVsLnYxLk9zZ2lEaXJlY3RpdmUijAEKD09zZ2lSZXF1aXJlbWVudBIRCgluYW1lc3BhY2UYASABKAkSMgoKYXR0cmlidXRlcxgCIAMoCzIeLm5vbW9zLmtlcm5lbC52MS5Pc2dpQXR0cmlidXRlEjIKCmRpcmVjdGl2ZXMYAyADKAsyHi5ub21vcy5rZXJuZWwudjEuT3NnaURpcmVjdGl2ZSKaAQoUT3NnaVJlc291cmNlUmVzcG9uc2USEwoLc291cmNlX3VzZGEYASABKAwSNQoMY2FwYWJpbGl0aWVzGAIgAygLMh8ubm9tb3Mua2VybmVsLnYxLk9zZ2lDYXBhYmlsaXR5EjYKDHJlcXVpcmVtZW50cxgDIAMoCzIgLm5vbW9zLmtlcm5lbC52MS5Pc2dpUmVxdWlyZW1lbnQi5wEKE1ZlcmlmeUNoYWluU3RlcFNwYW4SDQoFaW5kZXgYASABKAQSEgoKY29tbWl0X29pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhAKCHRvdGFsX3VzGAUgASgEEjYKBnBoYXNlcxgGIAEoCzImLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpblN0ZXBQaGFzZXMSQAoOZW5naW5lX3RpbWluZ3MYByADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcimAIKFVZlcmlmeUNoYWluU3RlcFBoYXNlcxIeChZydW50aW1lX2xhd19yZWZyZXNoX3VzGAEgASgEEhMKC21hbmlmZXN0X3VzGAIgASgEEhkKEWxhd19yZXNvbHV0aW9uX3VzGAMgASgEEh0KFW1hbmFnZWRfdHJhbnNpdGlvbl91cxgEIAEoBBIUCgxwcmluY2lwYWxfdXMYBSABKAQSFAoMZXZvbHV0aW9uX3VzGAYgASgEEhoKEmNvbG9jYXRlZF9yZWFkc191cxgHIAEoBBIhChl0eXBlZF9pbnN0YWxsX3ZlcmlmaWVyX3VzGAggASgEEhQKDGFkbWlzc2lvbl91cxgJIAEoBBIPCgdmb2xkX3VzGAogASgEItoFChZWZXJpZnlDaGFpbkRpYWdub3N0aWNzEi4KBHdhbGsYASABKA4yIC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5XYWxrEhAKCHRvdGFsX3VzGAIgASgEEhsKE3JlZmVyZW5jZV9sb29rdXBfdXMYAyABKAQSGgoScmVwb3NpdG9yeV9vcGVuX3VzGAQgASgEEhUKDWNoYWluX3JlYWRfdXMYBSABKAQSFgoOZW5naW5lX2luaXRfdXMYBiABKAQSGAoQdGltZWxpbmVfcmVhZF91cxgHIAEoBBIYChBsYXdfaHlkcmF0aW9uX3VzGAggASgEEhsKE3JlY292ZXJ5X3ByZXNjYW5fdXMYCSABKAQSGAoQZm9sZF9mcm9udGllcl91cxgKIAEoBBIzCgVzdGVwcxgLIAMoCzIkLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpblN0ZXBTcGFuEkAKDmVuZ2luZV90aW1pbmdzGAwgAygLMigubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRW5naW5lVGltaW5nEk0KFWxhd19oeWRyYXRpb25fdGltaW5ncxgNIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkxhd0h5ZHJhdGlvblRpbWluZxIZChFsYXdfY2xvc3VyZV9jb3VudBgOIAEoBBIeChZsYXdfY2xvc3VyZV9jYWNoZV9oaXRzGA8gASgEEiAKGGxhd19jbG9zdXJlX2NhY2hlX21pc3NlcxgQIAEoBBISCgpzdGVwX2NvdW50GBEgASgEEhUKDXN0ZXBfdG90YWxfdXMYEiABKAQSQQoRc3RlcF9waGFzZV90b3RhbHMYEyABKAsyJi5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEhoKEm9taXR0ZWRfc3RlcF9jb3VudBgUIAEoBCI6ChdWZXJpZnlDaGFpbkVuZ2luZVRpbWluZxINCgVwaGFzZRgBIAEoCRIQCgh0b3RhbF91cxgCIAEoBCJACh1WZXJpZnlDaGFpbkxhd0h5ZHJhdGlvblRpbWluZxINCgVwaGFzZRgBIAEoCRIQCgh0b3RhbF91cxgCIAEoBCKrAQoUSHR0cHNFeGVjdXRpb25Qb2xpY3kSPAoJcGxhY2VtZW50GAEgASgOMikubm9tb3Mua2VybmVsLnYxLkVmZmVjdEV4ZWN1dGlvblBsYWNlbWVudBJACgtjYXJkaW5hbGl0eRgCIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5FZmZlY3RFeGVjdXRpb25DYXJkaW5hbGl0eRITCgtsYXdfY2xvc3VyZRgDIAEoCSJbChJIdHRwc091dGJvdW5kUm91dGUSCwoDdXJsGAEgASgJEjgKCWV4ZWN1dGlvbhgCIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5IdHRwc0V4ZWN1dGlvblBvbGljeSIrChZXb3Jrc3BhY2VPdXRib3VuZFJvdXRlEhEKCXdvcmtzcGFjZRgBIAEoCSKFAgoVQ2FycmllZFdvcmtzcGFjZU9mZmVyEjAKBnNvdXJjZRgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSFQoNc291cmNlX2NvbW1pdBgCIAEoCRIZChFzb3VyY2Vfb2ZmZXJfcGF0aBgDIAEoCRIcChRzb3VyY2VfZXZpZGVuY2VfcGFjaxgFIAEoDBIjChthZG1pc3Npb25fY2hlY2twb2ludF9zZWNyZXQYBiABKAwSFQoNZWZmZWN0X2RpZ2VzdBgHIAEoCRIgChhzb3VyY2Vfd29ya3NwYWNlX2dlbmVzaXMYCCABKAlKBAgEEAVSBnRhcmdldCLMBAoNT3V0Ym91bmRPZmZlchIKCgJpZBgBIAEoCRIXCgtkZXN0aW5hdGlvbhgCIAEoCUICGAESFAoMc2VhbGVkX29mZmVyGAMgASgMEhQKDGNvbnRlbnRfdHlwZRgEIAEoCRIYChBzb3VyY2Vfd29ya3NwYWNlGAUgASgJEhQKDGN1c3RvZHlfaGVhZBgGIAEoCRIXCg9jYXVzZWRfYnlfb2ZmZXIYByABKAkSGwoTc2NoZWR1bGVkX2F0X21pbGxpcxgIIAEoBBIaChJkZWFkbGluZV9hdF9taWxsaXMYCSABKAQSFAoMY3VzdG9keV9wYXRoGAogASgJEhMKC2N1c3RvZHlfb2lkGAsgASgJEhQKDGRlbGl2ZXJ5X3JlZhgMIAEoCRIVCg1vYmxpZ2F0aW9uX2lkGA0gASgJEjoKC2h0dHBzX3JvdXRlGA4gASgLMiMubm9tb3Mua2VybmVsLnYxLkh0dHBzT3V0Ym91bmRSb3V0ZUgAEkIKD3dvcmtzcGFjZV9yb3V0ZRgPIAEoCzInLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VPdXRib3VuZFJvdXRlSAASFQoNc291cmNlX2NvbW1pdBgQIAEoCRIcChRzb3VyY2VfZXZpZGVuY2VfcGFjaxgRIAEoDBIZChFzb3VyY2Vfb2ZmZXJfcGF0aBgSIAEoCRIVCg1lZmZlY3RfZGlnZXN0GBMgASgJEiAKGHNvdXJjZV93b3Jrc3BhY2VfZ2VuZXNpcxgUIAEoCUIHCgVyb3V0ZSLuAQoOT3V0Ym94UmVzcG9uc2USLgoGb2ZmZXJzGAEgAygLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJvdW5kT2ZmZXISHwoSbmV4dF9kdWVfYXRfbWlsbGlzGAIgASgESACIAQESLQoHZW50cmllcxgDIAMoCzIcLm5vbW9zLmtlcm5lbC52MS5PdXRib3hFbnRyeRIUCgx3b3JrX3BlbmRpbmcYBCABKAgSFQoNZW50cmllc190b3RhbBgFIAEoDRIYChBlbnRyaWVzX3ByZXBhcmVkGAYgASgNQhUKE19uZXh0X2R1ZV9hdF9taWxsaXMivQEKC091dGJveEVudHJ5EgoKAmlkGAEgASgJEhkKEXNvdXJjZV9vZmZlcl9wYXRoGAIgASgJEjoKC2h0dHBzX3JvdXRlGAMgASgLMiMubm9tb3Mua2VybmVsLnYxLkh0dHBzT3V0Ym91bmRSb3V0ZUgAEkIKD3dvcmtzcGFjZV9yb3V0ZRgEIAEoCzInLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VPdXRib3VuZFJvdXRlSABCBwoFcm91dGUilAEKFFByZXBhcmVPdXRib3VuZE9mZmVyEhgKEHRhcmdldF93b3Jrc3BhY2UYASABKAkSGgoNc291cmNlX2NvbW1pdBgCIAEoCUgAiAEBEh4KEXNvdXJjZV9vZmZlcl9wYXRoGAMgASgJSAGIAQFCEAoOX3NvdXJjZV9jb21taXRCFAoSX3NvdXJjZV9vZmZlcl9wYXRoIokFCgxTeW5jUmVzcG9uc2USEAoIYWRtaXR0ZWQYAiABKAgSDAoEaGVhZBgDIAEoCRIWCg5jYW5kaWRhdGVfaGVhZBgEIAEoCRIcChRhZG1pdHRlZF9yZW1vdGVfaGVhZBgFIAEoCRIcChRyZXBsYXllZF9yZW1vdGVfaGVhZBgGIAEoCRI8Cg9hZG1pdHRlZF9yZW1vdGUYByADKAsyIy5ub21vcy5rZXJuZWwudjEuU3luY0FkbWl0dGVkSW50ZW50EjwKFXJlbW90ZV9iaXJ0aF9vdXRjb21lcxgIIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUSOQoOcmVtb3RlX3JlZnVzYWwYCSABKAsyHC5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzYWxIAIgBARI7Cg5yZXBsYXllZF9sb2NhbBgKIAMoCzIjLm5vbW9zLmtlcm5lbC52MS5TeW5jUmVwbGF5ZWRJbnRlbnQSIAoYc2tpcHBlZF9sb2NhbF9pbnRlbnRfaWRzGAsgAygJEjkKDXJlZnVzZWRfbG9jYWwYDCADKAsyIi5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzZWRJbnRlbnQSRwoUY3VzdG9keV9kaXNhZ3JlZW1lbnQYDSABKAsyJC5ub21vcy5rZXJuZWwudjEuQ3VzdG9keURpc2FncmVlbWVudEgBiAEBEhkKEXBhcmtlZF9sb2NhbF9yZWZzGA4gAygJEhYKDnJlcGxheV9wZW5kaW5nGA8gASgIQhEKD19yZW1vdGVfcmVmdXNhbEIXChVfY3VzdG9keV9kaXNhZ3JlZW1lbnRKBAgBEAJSBnJlc3VsdCJRChNDdXN0b2R5RGlzYWdyZWVtZW50EhIKCmxvY2FsX2hlYWQYASABKAkSFgoOY2FuZGlkYXRlX2hlYWQYAiABKAkSDgoGcmVhc29uGAMgASgJIk8KElN5bmNBZG1pdHRlZEludGVudBIRCglpbnRlbnRfaWQYASABKAkSGAoQY2FuZGlkYXRlX2NvbW1pdBgCIAEoCRIMCgRoZWFkGAMgASgJImwKElN5bmNSZXBsYXllZEludGVudBIRCglpbnRlbnRfaWQYASABKAkSDAoEaGVhZBgCIAEoCRI1Cg5iaXJ0aF9vdXRjb21lcxgDIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUioQEKC1N5bmNSZWZ1c2FsEhYKCWludGVudF9pZBgBIAEoCUgAiAEBEg4KBnJlYXNvbhgCIAEoCRIRCgRjb2RlGAMgASgJSAGIAQESNAoHcmVmdXNhbBgEIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsSAKIAQFCDAoKX2ludGVudF9pZEIHCgVfY29kZUIKCghfcmVmdXNhbCKNAQoRU3luY1JlZnVzZWRJbnRlbnQSEQoJaW50ZW50X2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRITCgtjaGFuZ2VfdXNkYRgDIAEoDBI0CgdyZWZ1c2FsGAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWxIAIgBAUIKCghfcmVmdXNhbCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiDgoMR2VuZXNpc09mZmVyIqMBCg1EaXJlY3RpdmVDYWxsEg4KBmRvbWFpbhgBIAEoCRIRCglkaXJlY3RpdmUYAiABKAkSJwoJb3BlcmF0aW9uGAUgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueRIWCg5hcmd1bWVudHNfanNvbhgGIAEoCUoECAMQBEoECAQQBVIJY2FsbF91c2RhUgdwYXlsb2FkUg5sZWdhY3lfcGF5bG9hZCLWAgoQQXV0aG9yaW5nT3B0aW9ucxINCgVhY3RvchgBIAEoCRISCgphdXRoX3Rva2VuGAIgASgMEhUKDWF1dGhvcl9zZWNyZXQYAyABKAwSHQoQdmFsaWRfZnJvbV9lcG9jaBgEIAEoBEgAiAEBEh8KEnByaW5jaXBhbF92ZXJpZmllZBgFIAEoCEgBiAEBEgsKA3JuZxgGIAMoARIYChBkZWZlcl9wcm9qZWN0aW9uGAcgASgIEg0KBXNwYW5zGAggASgIEg8KB2RyeV9ydW4YCSABKAgSEAoIc2VxdWVuY2UYCiABKAQSLQoFY2xvY2sYCyABKAsyHi5ub21vcy5rZXJuZWwudjEuQ2FwdHVyZWRDbG9jaxIUCgxwcmVwYXJlX29ubHkYDCABKAhCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlImwKG1NpZ25CaXJ0aENlcnRpZmljYXRlUmVxdWVzdBI2CgtjZXJ0aWZpY2F0ZRgBIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5CaXJ0aENlcnRpZmljYXRlEhUKDXNpZ25lcl9zZWNyZXQYAiABKAwiVgocU2lnbkJpcnRoQ2VydGlmaWNhdGVSZXNwb25zZRI2CgtjZXJ0aWZpY2F0ZRgBIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5CaXJ0aENlcnRpZmljYXRlIs8DChRNb2RlbExpZmVjeWNsZUludGVudBI7CglvcGVyYXRpb24YASABKA4yKC5ub21vcy5rZXJuZWwudjEuTW9kZWxMaWZlY3ljbGVPcGVyYXRpb24SFAoMaW5zdGFsbGVkX2J5GAIgASgJEhcKCnN1cGVyc2VkZXMYAyABKAlIAIgBARJECgp0cmFuc2l0aW9uGAQgASgLMisubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblJlc3BvbnNlSAGIAQESFQoIcmVwbGFjZXMYBSABKAlIAogBARIeChFhY2NlcHRhbmNlX3JlYXNvbhgGIAEoCUgDiAEBEhkKDGxhd19pZGVudGl0eRgHIAEoCUgEiAEBEksKEWRvbWFpbl90cmFuc2l0aW9uGAggASgLMisubm9tb3Mua2VybmVsLnYxLkRvbWFpblRyYW5zaXRpb25BY3RpdmF0aW9uSAWIAQFCDQoLX3N1cGVyc2VkZXNCDQoLX3RyYW5zaXRpb25CCwoJX3JlcGxhY2VzQhQKEl9hY2NlcHRhbmNlX3JlYXNvbkIPCg1fbGF3X2lkZW50aXR5QhQKEl9kb21haW5fdHJhbnNpdGlvbiJwCgpEb21haW5QbGFuEi4KB2FjdGlvbnMYASADKAsyHS5ub21vcy5rZXJuZWwudjEuRG9tYWluQWN0aW9uEjIKB3N1cHBvcnQYAiADKAsyIS5ub21vcy5rZXJuZWwudjEuRG9tYWluU3VwcG9ydFBpbiJoCgxEb21haW5BY3Rpb24SDgoGZG9tYWluGAEgASgJEhUKDWV4cGVjdGVkX3VuaXQYAiABKAkSEwoLdGFyZ2V0X3VuaXQYAyABKAkSEgoFZ3JvdXAYBCABKAlIAIgBAUIICgZfZ3JvdXAiQQoQRG9tYWluU3VwcG9ydFBpbhINCgVncm91cBgBIAEoCRILCgNrZXkYAiABKAkSEQoJdW5pdF9oYXNoGAMgASgJIpICChhSZXNvbHZlRG9tYWluUGxhblJlcXVlc3QSKQoEcGxhbhgBIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Eb21haW5QbGFuEg8KB2F0X2hhc2gYAiABKAkSFAoManVkZ2Vfc3RhZ2VkGAMgASgIEiEKGWFja25vd2xlZGdlbWVudF9wcmluY2lwYWwYBCABKAkSDwoHcXVhbGlmeRgFIAEoCBI9Cgljb25zdW1lcnMYBiADKAsyKi5ub21vcy5rZXJuZWwudjEuRG9tYWluQ29uc3VtZXJSZXF1aXJlbWVudBIxCg9hdmFpbGFibGVfdW5pdHMYByADKAsyGC5ub21vcy5rZXJuZWwudjEuTGF3VW5pdCJKChlEb21haW5Db25zdW1lclJlcXVpcmVtZW50EgwKBG5hbWUYASABKAkSHwoXYXBwbGljYXRpb25fbWF0cml4X3VzZGEYAiABKAwiSgoVRG9tYWluQ29uc3VtZXJWZXJkaWN0EgwKBG5hbWUYASABKAkSEgoKY29tcGF0aWJsZRgCIAEoCBIPCgdmYWlsaW5nGAMgAygJImsKE1Jlc29sdmVkRG9tYWluR3JvdXASDQoFZ3JvdXAYASABKAkSFgoOY2FuZGlkYXRlX2hhc2gYAiABKAkSLQoFdW5pdHMYAyADKAsyHi5ub21vcy5rZXJuZWwudjEuRG9tYWluVW5pdFBpbiIvCg1Eb21haW5Vbml0UGluEgsKA2tleRgBIAEoCRIRCgl1bml0X2hhc2gYAiABKAkitAMKGVJlc29sdmVEb21haW5QbGFuUmVzcG9uc2USDwoHYXRfaGFzaBgBIAEoCRIVCg1hdF9zdGF0ZV9yb290GAIgASgJEjQKBmdyb3VwcxgDIAMoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlZERvbWFpbkdyb3VwEhwKFHJldGlyZV9pbnN0YWxsYXRpb25zGAQgAygJEjgKEHNlbGVjdGVkX2RvbWFpbnMYBSADKAsyHi5ub21vcy5rZXJuZWwudjEuRG9tYWluVW5pdFBpbhISCgVyZWFkeRgGIAEoCEgAiAEBEhIKCnZpb2xhdGlvbnMYByADKAkSOQoJY29uc3VtZXJzGAggAygLMiYubm9tb3Mua2VybmVsLnYxLkRvbWFpbkNvbnN1bWVyVmVyZGljdBI5Cgl1bml0X3NldHMYCSADKAsyJi5ub21vcy5rZXJuZWwudjEuTGF3UHJlcGFyYXRpb25Vbml0U2V0EhkKEWtlcm5lbF9nZW5lcmF0aW9uGAogASgJEh4KFmVmZmVjdGl2ZV9sYXdfaWRlbnRpdHkYCyABKAlCCAoGX3JlYWR5IoUBChpEb21haW5UcmFuc2l0aW9uQWN0aXZhdGlvbhIpCgRwbGFuGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLkRvbWFpblBsYW4SPAoIcmVzb2x2ZWQYAiABKAsyKi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZURvbWFpblBsYW5SZXNwb25zZSI7Ch9JZGVudGl0eVByb3ZpZGVyV2l0bmVzc0Fkb3B0aW9uEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAki5wcKDE9mZmVyUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0Ei4KBGNhbGwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuRGlyZWN0aXZlQ2FsbEgAEhwKEnNlYWxlZF9jaGFuZ2VfdXNkYRgHIAEoDEgAEkAKD21vZGVsX2xpZmVjeWNsZRgMIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5Nb2RlbExpZmVjeWNsZUludGVudEgAEl4KImlkZW50aXR5X3Byb3ZpZGVyX3dpdG5lc3NfYWRvcHRpb24YDSABKAsyMC5ub21vcy5rZXJuZWwudjEuSWRlbnRpdHlQcm92aWRlcldpdG5lc3NBZG9wdGlvbkgAEjAKB2dlbmVzaXMYDiABKAsyHS5ub21vcy5rZXJuZWwudjEuR2VuZXNpc09mZmVySAASSQoXY2FycmllZF93b3Jrc3BhY2Vfb2ZmZXIYDyABKAsyJi5ub21vcy5rZXJuZWwudjEuQ2FycmllZFdvcmtzcGFjZU9mZmVySAASNAoJcGxhY2VtZW50GBAgASgLMh8ubm9tb3Mua2VybmVsLnYxLlBsYWNlbWVudE9mZmVySAASRwoWZGV0YWNoZWRfc2lnbmVkX2NoYW5nZRgSIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5EZXRhY2hlZFNpZ25lZENoYW5nZUgAEjQKCWF1dGhvcmluZxgDIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpbmdPcHRpb25zEhAKCGxhd191c2R6GAQgASgMEjMKDGF0dGVzdGF0aW9ucxgFIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5BdHRlc3RlZFJlYWQSPQoSY29uZmxpY3Rfc25hcHNob3RzGAYgAygLMiEubm9tb3Mua2VybmVsLnYxLkNvbmZsaWN0U25hcHNob3QSGgoSZXhlY3V0aW9uX2xhd191c2R6GAggASgMEiAKE2NvbnRyb2xsZXJfbGF3X2hhc2gYCSABKAlIAYgBARIdChBjYW5kaWRhdGVfY29tbWl0GAogASgJSAKIAQESPAoRYmlydGhfY2VydGlmaWNhdGUYCyABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZRIrCglsYXdfdW5pdHMYESADKAsyGC5ub21vcy5rZXJuZWwudjEuTGF3VW5pdEIICgZpbnRlbnRCFgoUX2NvbnRyb2xsZXJfbGF3X2hhc2hCEwoRX2NhbmRpZGF0ZV9jb21taXQiNgoHTGF3VW5pdBIrCgVmaWxlcxgBIAMoCzIcLm5vbW9zLmtlcm5lbC52MS5MYXdVbml0RmlsZSIsCgtMYXdVbml0RmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwixQEKDEF0dGVzdGVkUmVhZBIQCghxdWVyeV9pZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSKwoGcmVzdWx0GAMgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWUSMgoIZXZpZGVuY2UYBSABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEF0dGVzdGF0aW9uSgQIBBAFUgthdHRlc3RhdGlvbiLVAQoPUmVhZEF0dGVzdGF0aW9uEg8KB3ZlcnNpb24YASABKAMSGAoQc291cmNlX3dvcmtzcGFjZRgCIAEoCRIWCg5zb3VyY2VfZ2VuZXNpcxgDIAEoCRITCgtzb3VyY2VfaGVhZBgEIAEoCRIRCglmb2xkX3Jvb3QYBSABKAkSFAoMc291cmNlX2Vwb2NoGAYgASgDEhoKEmF0dGVzdGVkX2F0X21pbGxpcxgHIAEoAxISCgpwdWJsaWNfa2V5GAggASgMEhEKCXNpZ25hdHVyZRgJIAEoDCJ1ChBDb25mbGljdFNuYXBzaG90EhYKDmFnZ3JlZ2F0ZV90eXBlGAEgASgJEhQKDGFnZ3JlZ2F0ZV9pZBgCIAEoCRINCgVmaWVsZBgDIAEoCRIVCg10YXJnZXRfc2NoZW1hGAQgASgJEg0KBXRva2VuGAUgASgJIvQPCgxRdWVyeVJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIyCglhdXRob3JpdHkYAiABKAsyHy5ub21vcy5rZXJuZWwudjEuUXVlcnlBdXRob3JpdHkSDQoFc3BhbnMYAyABKAgSOQoNcmVzdWx0X2Zvcm1hdBgEIAEoDjIiLm5vbW9zLmtlcm5lbC52MS5RdWVyeVJlc3VsdEZvcm1hdBIYChBzZXJ2ZV9sYXN0X3JlYWR5GAUgASgIEioKBHJvd3MYCiABKAsyGi5ub21vcy5rZXJuZWwudjEuUm93c1F1ZXJ5SAASKgoEcGFnZRgLIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5QYWdlUXVlcnlIABIrCgVieV9pZBgMIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5CeUlkUXVlcnlIABI5CgxyZXNvbHZlX3JlZnMYDSABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZnNRdWVyeUgAEkUKEnJlZmVyZW5jZV92ZXJzaW9ucxgOIAEoCzInLm5vbW9zLmtlcm5lbC52MS5SZWZlcmVuY2VWZXJzaW9uc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIABJJChNmcm9udGllcl90cmFuc2l0aW9uGBUgASgLMioubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblJlcXVlc3RIABIvCgdieV90eXBlGBYgASgLMhwubm9tb3Mua2VybmVsLnYxLkJ5VHlwZVF1ZXJ5SAASSAoUb3duZWRfZGV2aWNlX3JlcXVlc3QYFyABKAsyKC5ub21vcy5rZXJuZWwudjEuT3duZWREZXZpY2VSZXF1ZXN0UXVlcnlIABJMChZvd25lZF9wcmVwYXJlX2FwcHJvdmFsGBggASgLMioubm9tb3Mua2VybmVsLnYxLk93bmVkUHJlcGFyZUFwcHJvdmFsUXVlcnlIABJDChFwZW5kaW5nX2NvbmZsaWN0cxgZIAEoCzImLm5vbW9zLmtlcm5lbC52MS5QZW5kaW5nQ29uZmxpY3RzUXVlcnlIABJQChhwZW5kaW5nX2NvbmZsaWN0X3N1bW1hcnkYGiABKAsyLC5ub21vcy5rZXJuZWwudjEuUGVuZGluZ0NvbmZsaWN0U3VtbWFyeVF1ZXJ5SAASTQoWYXV0aGVudGljYXRpb25fcG9zdHVyZRgbIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRoZW50aWNhdGlvblBvc3R1cmVRdWVyeUgAEkAKEGNoaWxkX3dvcmtzcGFjZXMYHCABKAsyJC5ub21vcy5rZXJuZWwudjEuQ2hpbGRXb3Jrc3BhY2VRdWVyeUgAElYKFmF1dGhvcmluZ19yZXF1aXJlbWVudHMYHSABKAsyNC5ub21vcy5rZXJuZWwudjEuRGlyZWN0aXZlQXV0aG9yaW5nUmVxdWlyZW1lbnRzUXVlcnlIABJSChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGB4gASgLMi0ubm9tb3Mua2VybmVsLnYxLklkZW50aXR5UHJvdmlkZXJXaXRuZXNzUXVlcnlIABJPChdpbnRlcmZhY2VfY29tcGF0aWJpbGl0eRgfIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5JbnRlcmZhY2VDb21wYXRpYmlsaXR5UXVlcnlIABJHChNtYWludGVuYW5jZV9xdWFudHVtGCAgASgLMigubm9tb3Mua2VybmVsLnYxLk1haW50ZW5hbmNlUXVhbnR1bVF1ZXJ5SAASRAoSZnVsbF9oaXN0b3J5X2F1ZGl0GCEgASgLMiYubm9tb3Mua2VybmVsLnYxLkZ1bGxIaXN0b3J5QXVkaXRRdWVyeUgAElAKGHdvcmtzcGFjZV9lZmZlY3RfcmVjZWlwdBgiIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VFZmZlY3RSZWNlaXB0UXVlcnlIABJUChppbnN0YWxsZWRfbGF3X2RlY2xhcmF0aW9ucxgjIAEoCzIuLm5vbW9zLmtlcm5lbC52MS5JbnN0YWxsZWRMYXdEZWNsYXJhdGlvbnNRdWVyeUgAEkgKE3Jlc29sdmVfZG9tYWluX3BsYW4YJCABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZURvbWFpblBsYW5SZXF1ZXN0SABCBwoFcXVlcnkiVgobV29ya3NwYWNlRWZmZWN0UmVjZWlwdFF1ZXJ5EiAKGHNvdXJjZV93b3Jrc3BhY2VfZ2VuZXNpcxgBIAEoCRIVCg1lZmZlY3RfZGlnZXN0GAIgASgJIuQBCh5Xb3Jrc3BhY2VFZmZlY3RSZWNlaXB0UmVzcG9uc2USGAoQdGFyZ2V0X3dvcmtzcGFjZRgBIAEoCRIgChh0YXJnZXRfd29ya3NwYWNlX2dlbmVzaXMYAiABKAkSFQoNb2JzZXJ2ZWRfaGVhZBgDIAEoCRIgChhzb3VyY2Vfd29ya3NwYWNlX2dlbmVzaXMYBCABKAkSFQoNZWZmZWN0X2RpZ2VzdBgFIAEoCRIfChJhZG1pdHRlZF9pbnRlbnRfaWQYBiABKAlIAIgBAUIVChNfYWRtaXR0ZWRfaW50ZW50X2lkIhcKFUZ1bGxIaXN0b3J5QXVkaXRRdWVyeSKwAwoYRnVsbEhpc3RvcnlBdWRpdFJlc3BvbnNlEg0KBXZhbGlkGAEgASgIEi4KBHdhbGsYAiABKA4yIC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5XYWxrEhEKBGhlYWQYAyABKAlIAIgBARIUCgdpbnRlbnRzGAQgASgESAGIAQESGAoLcGxhbnNfcmVydW4YBSABKARIAogBARIcCg9jb250cm9sbGVyX2hhc2gYBiABKAlIA4gBARIZChFpbnN0YWxsZWRfZG9tYWlucxgHIAMoCRISCgVjaGVjaxgIIAEoCUgEiAEBEhUKCGF0X2luZGV4GAkgASgESAWIAQESEgoFZXJyb3IYCiABKAlIBogBARI0CgdyZWZ1c2FsGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWxIB4gBAUIHCgVfaGVhZEIKCghfaW50ZW50c0IOCgxfcGxhbnNfcmVydW5CEgoQX2NvbnRyb2xsZXJfaGFzaEIICgZfY2hlY2tCCwoJX2F0X2luZGV4QggKBl9lcnJvckIKCghfcmVmdXNhbCIeChxJZGVudGl0eVByb3ZpZGVyV2l0bmVzc1F1ZXJ5IosCChpJZGVudGl0eVByb3ZpZGVyV2l0bmVzc0tleRIPCgdvcmRpbmFsGAEgASgEEgsKA2t0eRgCIAEoCRIQCgNraWQYAyABKAlIAIgBARIQCgNhbGcYBCABKAlIAYgBARIQCgN1c2UYBSABKAlIAogBARIQCgNjcnYYBiABKAlIA4gBARIOCgF4GAcgASgJSASIAQESDgoBeRgIIAEoCUgFiAEBEg4KAW4YCSABKAlIBogBARIOCgFlGAogASgJSAeIAQESDwoHa2V5X29wcxgLIAMoCUIGCgRfa2lkQgYKBF9hbGdCBgoEX3VzZUIGCgRfY3J2QgQKAl94QgQKAl95QgQKAl9uQgQKAl9lImMKIklkZW50aXR5UHJvdmlkZXJXaXRuZXNzQ2VydGlmaWNhdGUSEwoLa2V5X29yZGluYWwYASABKAQSGwoTY2VydGlmaWNhdGVfb3JkaW5hbBgCIAEoBBILCgNkZXIYAyABKAwixQQKH0lkZW50aXR5UHJvdmlkZXJXaXRuZXNzUmVzcG9uc2USGAoQc291cmNlX3dvcmtzcGFjZRgBIAEoCRIWCg5zb3VyY2VfZ2VuZXNpcxgCIAEoCRITCgtzb3VyY2VfaGVhZBgDIAEoCRINCgVlcG9jaBgEIAEoBBIfChJwcmVkZWNlc3Nvcl9zaGEyNTYYBSABKAxIAIgBARIOCgZpc3N1ZXIYBiABKAkSFQoIYXVkaWVuY2UYByABKAlIAYgBARIXCg9wcmluY2lwYWxfY2xhaW0YCCABKAkSIQoUZGV2aWNlX2JpbmRpbmdfY2xhaW0YCSABKAlIAogBARIeChZyZXF1aXJlX2RldmljZV9iaW5kaW5nGAogASgIEjkKBGtleXMYCyADKAsyKy5ub21vcy5rZXJuZWwudjEuSWRlbnRpdHlQcm92aWRlcldpdG5lc3NLZXkSSQoMY2VydGlmaWNhdGVzGAwgAygLMjMubm9tb3Mua2VybmVsLnYxLklkZW50aXR5UHJvdmlkZXJXaXRuZXNzQ2VydGlmaWNhdGUSFwoPbWF0ZXJpYWxfc2hhMjU2GA0gASgMEjMKDGF0dGVzdGF0aW9ucxgPIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5BdHRlc3RlZFJlYWRCFQoTX3ByZWRlY2Vzc29yX3NoYTI1NkILCglfYXVkaWVuY2VCFwoVX2RldmljZV9iaW5kaW5nX2NsYWltSgQIDhAPUhFzb3VyY2VfcHJvb2ZfdXNkYSIVChNDaGlsZFdvcmtzcGFjZVF1ZXJ5IpABChlDaGlsZFdvcmtzcGFjZVF1ZXJ5UmVjb3JkEhEKCXdvcmtzcGFjZRgBIAEoCRI+CgZzdGF0dXMYAiABKA4yLi5ub21vcy5rZXJuZWwudjEuQ2hpbGRXb3Jrc3BhY2VMaWZlY3ljbGVTdGF0dXMSFAoHYm9ybl9hdBgDIAEoCUgAiAEBQgoKCF9ib3JuX2F0IlsKG0NoaWxkV29ya3NwYWNlUXVlcnlSZXNwb25zZRI8CghjaGlsZHJlbhgBIAMoCzIqLm5vbW9zLmtlcm5lbC52MS5DaGlsZFdvcmtzcGFjZVF1ZXJ5UmVjb3JkIh8KHUluc3RhbGxlZExhd0RlY2xhcmF0aW9uc1F1ZXJ5IjcKEEluc3RhbGxlZExhd1VuaXQSEAoIdW5pdF9rZXkYASABKAkSEQoJdW5pdF9oYXNoGAIgASgJIowBChNJbnN0YWxsZWRMYXdVbml0U2V0EhQKDHNldF9pZGVudGl0eRgBIAEoCRIYChBjb21wb3Nlcl92ZXJzaW9uGAIgASgJEhMKC29wZW51c2RfcmV2GAMgASgJEjAKBXVuaXRzGAQgAygLMiEubm9tb3Mua2VybmVsLnYxLkluc3RhbGxlZExhd1VuaXQigQIKHkRlY2xhcmVkQXV0aGVudGljYXRpb25Qcm92aWRlchIOCgZkb21haW4YASABKAkSDgoGbWVtYmVyGAIgASgJEjsKC21lbWJlcl9raW5kGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkRlY2xhcmVkTGF3TWVtYmVyS2luZBJBCgRraW5kGAQgASgOMjMubm9tb3Mua2VybmVsLnYxLkRlY2xhcmVkQXV0aGVudGljYXRpb25Qcm92aWRlcktpbmQSDQoFc2NvcGUYBSABKAkSHAoPaWRlbnRpdHlfc2hhMjU2GAYgASgJSACIAQFCEgoQX2lkZW50aXR5X3NoYTI1NiLpAQofSW5zdGFsbGVkTGF3Q2xvc3VyZURlY2xhcmF0aW9ucxIYChBjbG9zdXJlX2lkZW50aXR5GAEgASgJEg8KB2RvbWFpbnMYAiADKAkSOwoIdW5pdF9zZXQYAyABKAsyJC5ub21vcy5rZXJuZWwudjEuSW5zdGFsbGVkTGF3VW5pdFNldEgAiAEBElEKGGF1dGhlbnRpY2F0aW9uX3Byb3ZpZGVycxgEIAMoCzIvLm5vbW9zLmtlcm5lbC52MS5EZWNsYXJlZEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJCCwoJX3VuaXRfc2V0InQKIEluc3RhbGxlZExhd0RlY2xhcmF0aW9uc1Jlc3BvbnNlEgwKBGhlYWQYASABKAkSQgoIY2xvc3VyZXMYAiADKAsyMC5ub21vcy5rZXJuZWwudjEuSW5zdGFsbGVkTGF3Q2xvc3VyZURlY2xhcmF0aW9ucyLKAQojRGlyZWN0aXZlQXV0aG9yaW5nUmVxdWlyZW1lbnRzUXVlcnkSEQoJZGlyZWN0aXZlGAEgASgJEhYKCXByaW5jaXBhbBgCIAEoCUgAiAEBEhcKCnB1YmxpY19rZXkYAyABKAxIAYgBARIVCghrZXlfaGFzaBgEIAEoCUgCiAEBEhMKBmRvbWFpbhgFIAEoCUgDiAEBQgwKCl9wcmluY2lwYWxCDQoLX3B1YmxpY19rZXlCCwoJX2tleV9oYXNoQgkKB19kb21haW4ijAIKJkRpcmVjdGl2ZUF1dGhvcmluZ1JlcXVpcmVtZW50c1Jlc3BvbnNlEg0KBWZvdW5kGAEgASgIEhMKBmRvbWFpbhgCIAEoCUgAiAEBEhUKCHJlbGF0aW9uGAMgASgJSAGIAQESEwoGb2JqZWN0GAQgASgJSAKIAQESEgoFYWN0b3IYBSABKAlIA4gBARIVCghrZXlfaGFzaBgGIAEoCUgEiAEBEhcKD3NpZ25lcl9lbnJvbGxlZBgHIAEoCBIUCgxyb2xlX2FsbG93ZWQYCCABKAhCCQoHX2RvbWFpbkILCglfcmVsYXRpb25CCQoHX29iamVjdEIICgZfYWN0b3JCCwoJX2tleV9oYXNoInIKGkF1dGhlbnRpY2F0aW9uUG9zdHVyZVF1ZXJ5Eh4KFmluY2x1ZGVfYmlydGhfZXZpZGVuY2UYASABKAgSHgoRZGV2aWNlX3B1YmxpY19rZXkYAiABKAxIAIgBAUIUChJfZGV2aWNlX3B1YmxpY19rZXki7AIKHUF1dGhlbnRpY2F0aW9uUG9zdHVyZVJlc3BvbnNlEkgKDnByb3ZpZGVyX3Rva2VuGAEgASgOMjAubm9tb3Mua2VybmVsLnYxLlByb3ZpZGVyVG9rZW5WZXJpZmljYXRpb25TdGF0dXMSFwoPZW5yb2xsZWRfZGV2aWNlGAIgASgIEhoKEnJlc29sdmVkX3ByaW5jaXBhbBgDIAEoCRJECg5iaXJ0aF9ldmlkZW5jZRgEIAEoCzInLm5vbW9zLmtlcm5lbC52MS5CaXJ0aEV2aWRlbmNlUmVhZGluZXNzSACIAQESQQoUZGV2aWNlX3NpZ25lcl9zdGF0dXMYBSABKA4yIy5ub21vcy5rZXJuZWwudjEuRGV2aWNlU2lnbmVyU3RhdHVzEhoKEmRldmljZV9rZXlfc3ViamVjdBgGIAEoCRIUCgxzaWduZXJfZXBvY2gYByABKANCEQoPX2JpcnRoX2V2aWRlbmNlIl4KFkJpcnRoRXZpZGVuY2VSZWFkaW5lc3MSNAoGc3RhdHVzGAEgASgOMiQubm9tb3Mua2VybmVsLnYxLkJpcnRoRXZpZGVuY2VTdGF0dXMSDgoGZGV0YWlsGAIgASgJIigKF093bmVkRGV2aWNlUmVxdWVzdFF1ZXJ5Eg0KBXNjb3BlGAEgASgJIjIKGk93bmVkRGV2aWNlUmVxdWVzdFJlc3BvbnNlEhQKDHJlcXVlc3RfdXNkYRgBIAEoDCJAChlPd25lZFByZXBhcmVBcHByb3ZhbFF1ZXJ5Eg0KBXNjb3BlGAEgASgJEhQKDHJlcXVlc3RfdXNkYRgCIAEoDCK/AQocT3duZWRQcmVwYXJlQXBwcm92YWxSZXNwb25zZRIXCg9uZXdfa2V5X3N1YmplY3QYASABKAkSGgoSb3duZWRfY3VzdG9keV91c2RhGAIgASgMEhQKDHZlcmlmaWVkX3ZpYRgDIAEoCRIYChB2YWxpZF9mcm9tX2Vwb2NoGAQgASgEEh8KF2FwcHJvdmVkX2F0X3VuaXhfbWlsbGlzGAUgASgEEhkKEW93bmVkX2tleV9zdWJqZWN0GAYgASgJIpIBCg5RdWVyeUF1dGhvcml0eRIXCg9wcmluY2lwYWxfY2xhaW0YASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIQCghub3dfdW5peBgDIAEoBBIVCg1hdXRob3Jfc2VjcmV0GAQgASgMEioKBGtleXMYBSADKAsyHC5ub21vcy5rZXJuZWwudjEuSW5qZWN0ZWRLZXkiOAoLSW5qZWN0ZWRLZXkSDQoFc2NvcGUYASABKAkSDQoFZXBvY2gYAiABKAQSCwoDa2V5GAMgASgMItgBCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCRIWCg5hcmd1bWVudHNfdXNkYRgEIAEoDBIzChVhcHBsaWNhdGlvbl9hcmd1bWVudHMYBSABKAsyFC5nb29nbGUucHJvdG9idWYuQW55EhsKDnNpbmNlX2Zyb250aWVyGAYgASgJSACIAQFCEQoPX3NpbmNlX2Zyb250aWVyIsYBCglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCRIWCg5hcmd1bWVudHNfdXNkYRgGIAEoDBIzChVhcHBsaWNhdGlvbl9hcmd1bWVudHMYByABKAsyFC5nb29nbGUucHJvdG9idWYuQW55IkwKCUJ5SWRRdWVyeRIWCg5hZ2dyZWdhdGVfdHlwZRgBIAEoCRIUCgxhZ2dyZWdhdGVfaWQYAiABKAkSEQoJcHJpbmNpcGFsGAMgASgJIjgKC0J5VHlwZVF1ZXJ5EhYKDmFnZ3JlZ2F0ZV90eXBlGAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJOChZSZWZlcmVuY2VWZXJzaW9uc1F1ZXJ5EjQKBHJlZnMYASADKAsyJi5ub21vcy5rZXJuZWwudjEuUmVmZXJlbmNlVmVyc2lvbkNoZWNrIoQBChVSZWZlcmVuY2VWZXJzaW9uQ2hlY2sSKQoGcGlubmVkGAEgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEikKBnNlcmllcxgCIAEoCzIZLm5vbW9zLmtlcm5lbC52MS5Ob21vc1JlZhIVCg1jdXJyZW50X2ZpZWxkGAMgASgJImIKClRhbGx5UXVlcnkSCgoCaWQYASABKAkSEQoJcHJpbmNpcGFsGAMgASgJEhYKCWdyb3VwX2tleRgEIAEoCUgAiAEBQgwKCl9ncm91cF9rZXlKBAgCEANSCWFyZ3VtZW50cyJ6CgxTcGF0aWFsUXVlcnkSCgoCaWQYASABKAkSEQoJcHJpbmNpcGFsGAMgASgJEg0KBW1pbl94GAQgASgBEg0KBW1pbl95GAUgASgBEg0KBW1heF94GAYgASgBEg0KBW1heF95GAcgASgBSgQIAhADUglhcmd1bWVudHMiWgoVUGVuZGluZ0NvbmZsaWN0c1F1ZXJ5EhsKDmFnZ3JlZ2F0ZV90eXBlGAEgASgJSACIAQESEQoJcHJpbmNpcGFsGAIgASgJQhEKD19hZ2dyZWdhdGVfdHlwZSIwChtQZW5kaW5nQ29uZmxpY3RTdW1tYXJ5UXVlcnkSEQoJcHJpbmNpcGFsGAEgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCLkAQoZRnJvbnRpZXJUcmFuc2l0aW9uUmVxdWVzdBIOCgZkb21haW4YASABKAkSFgoOY2FuZGlkYXRlX2hhc2gYAiABKAkSDwoHYXRfaGFzaBgDIAEoCRIhChlhY2tub3dsZWRnZW1lbnRfcHJpbmNpcGFsGAQgASgJEiAKE3Jlc3RvcmVfcHJldmlvdXNfb2YYBSABKAlIAIgBARIxCg9jYW5kaWRhdGVfdW5pdHMYBiADKAsyGC5ub21vcy5rZXJuZWwudjEuTGF3VW5pdEIWChRfcmVzdG9yZV9wcmV2aW91c19vZiJaCiVGcm9udGllclRyYW5zaXRpb25EaXNwb3NpdGlvbk1hcEVudHJ5EhgKEHNvdXJjZV9zdGFibGVfaWQYASABKAkSFwoPYWNrbm93bGVkZ2VtZW50GAIgASgJIvUBCh5Gcm9udGllclRyYW5zaXRpb25EaXNwb3NpdGlvbnMSDwoHcmV0aXJlZBgBIAMoCRJHCgdyZXR5cGVkGAIgAygLMjYubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvbkRpc3Bvc2l0aW9uTWFwRW50cnkSRwoHcmViaW5kcxgDIAMoCzI2Lm5vbW9zLmtlcm5lbC52MS5Gcm9udGllclRyYW5zaXRpb25EaXNwb3NpdGlvbk1hcEVudHJ5EhwKD2Fja25vd2xlZGdlZF9ieRgEIAEoCUgAiAEBQhIKEF9hY2tub3dsZWRnZWRfYnkiPQobRnJvbnRpZXJUcmFuc2l0aW9uVmlvbGF0aW9uEg4KBmRvbWFpbhgBIAEoCRIOCgZkZXRhaWwYAiABKAki1wIKGkZyb250aWVyVHJhbnNpdGlvblJlc3BvbnNlEg8KB2F0X2hhc2gYASABKAkSGQoMY3VycmVudF9oYXNoGAIgASgJSACIAQESFQoNYXRfc3RhdGVfcm9vdBgDIAEoCRIWCg5jYW5kaWRhdGVfaGFzaBgEIAEoCRIOCgZkb21haW4YBSABKAkSDwoHZG9tYWlucxgGIAMoCRINCgVyZWFkeRgHIAEoCBJACgp2aW9sYXRpb25zGAggAygLMiwubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblZpb2xhdGlvbhJKCgxkaXNwb3NpdGlvbnMYCSABKAsyLy5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJUcmFuc2l0aW9uRGlzcG9zaXRpb25zSAGIAQFCDwoNX2N1cnJlbnRfaGFzaEIPCg1fZGlzcG9zaXRpb25zIi8KE0F1dGhvcml6YXRpb25PYmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSJUChRBdXRob3JpemF0aW9uU3ViamVjdBIMCgR0eXBlGAEgASgJEgoKAmlkGAIgASgJEhUKCHJlbGF0aW9uGAMgASgJSACIAQFCCwoJX3JlbGF0aW9uIpwBChhSZWxhdGlvbnNoaXBUdXBsZUFkZHJlc3MSNgoIcmVzb3VyY2UYASABKAsyJC5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbk9iamVjdBIQCghyZWxhdGlvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0IoEBChhBdXRob3JpemF0aW9uQ29uc2lzdGVuY3kSIwoZY3VycmVudF92ZXJpZmllZF9mcm9udGllchgBIAEoCEgAEhkKD2F0X2xlYXN0X2NvbW1pdBgCIAEoCUgAEhYKDGV4YWN0X2NvbW1pdBgDIAEoCUgAQg0KC3JlcXVpcmVtZW50ImYKHUF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EhQKDGNvbmRpdGlvbl9pZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3Qi9wIKGUF1dGhvcml6YXRpb25DaGVja1JlcXVlc3QSNgoIcmVzb3VyY2UYASABKAsyJC5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbk9iamVjdBISCgpwZXJtaXNzaW9uGAIgASgJEjYKB3N1YmplY3QYAyABKAsyJS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvblN1YmplY3QSPgoLY29uc2lzdGVuY3kYBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBSADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgGIAEoCUgAiAEBEhsKE2luY2x1ZGVfZXhwbGFuYXRpb24YByABKAhCFgoUX2V4cGVjdGVkX21vZGVsX2hhc2gi7QIKGkF1dGhvcml6YXRpb25FeHBhbmRSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI+Cgtjb25zaXN0ZW5jeRgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ29uc2lzdGVuY3kSPwoHY29udGV4dBgEIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIgChNleHBlY3RlZF9tb2RlbF9oYXNoGAUgASgJSACIAQESDQoFbGltaXQYBiABKA0SEgoFYWZ0ZXIYByABKAlIAYgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAggASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoQggKBl9hZnRlciK9AQoZUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI4CgV0dXBsZRgBIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5SZWxhdGlvbnNoaXBUdXBsZUFkZHJlc3MSEAoIdHVwbGVfaWQYAiABKAkSGgoSYXNzZXJ0aW9uX2V2ZW50X2lkGAMgASgJEiAKE3Jldm9jYXRpb25fZXZlbnRfaWQYBCABKAlIAIgBAUIWChRfcmV2b2NhdGlvbl9ldmVudF9pZCLhAwoYQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uEkYKCW9wZXJhdGlvbhgBIAEoDjIzLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24uT3BlcmF0aW9uEhAKCHJlbGF0aW9uGAIgASgJEg4KBnJlc3VsdBgDIAEoCBI8CghldmlkZW5jZRgEIAMoCzIqLm5vbW9zLmtlcm5lbC52MS5SZWxhdGlvbnNoaXBUdXBsZUV2aWRlbmNlEjsKCGNoaWxkcmVuGAUgAygLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBsYW5hdGlvbiLfAQoJT3BlcmF0aW9uEhkKFU9QRVJBVElPTl9VTlNQRUNJRklFRBAAEhQKEE9QRVJBVElPTl9ESVJFQ1QQARIeChpPUEVSQVRJT05fQ09NUFVURURfVVNFUlNFVBACEh4KGk9QRVJBVElPTl9UVVBMRV9UT19VU0VSU0VUEAMSEwoPT1BFUkFUSU9OX1VOSU9OEAQSGgoWT1BFUkFUSU9OX0lOVEVSU0VDVElPThAFEhcKE09QRVJBVElPTl9FWENMVVNJT04QBhIXChNPUEVSQVRJT05fQ09ORElUSU9OEAcidwoaQXV0aG9yaXphdGlvbkRlY2lzaW9uQmFzaXMSIAoYYXV0aG9yaXphdGlvbl9tb2RlbF9oYXNoGAEgASgJEiEKGXJlbGF0aW9uc2hpcF9zdGF0ZV9jb21taXQYAiABKAkSFAoMY29udGV4dF9oYXNoGAMgASgMIr4BChpBdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZRIPCgdhbGxvd2VkGAEgASgIEjoKBWJhc2lzGAIgASgLMisubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEkMKC2V4cGxhbmF0aW9uGAMgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBsYW5hdGlvbkgAiAEBQg4KDF9leHBsYW5hdGlvbiKDAgobQXV0aG9yaXphdGlvbkV4cGFuZFJlc3BvbnNlEjcKCHN1YmplY3RzGAEgAygLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0EjoKBWJhc2lzGAIgASgLMisubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEhEKBG5leHQYAyABKAlIAIgBARJDCgtleHBsYW5hdGlvbhgEIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAYgBAUIHCgVfbmV4dEIOCgxfZXhwbGFuYXRpb24iqAEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBItCgVjbG9jaxgCIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5DYXB0dXJlZENsb2NrEjYKB3ByZXBhcmUYAyABKAsyJS5ub21vcy5rZXJuZWwudjEuUHJlcGFyZU91dGJvdW5kT2ZmZXIitgEKC1N5bmNSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEQoJZnJvbV9iYXNlGAIgASgJEg8KB3RvX2hlYWQYAyABKAkSGgoScGFya19yZWZ1c2VkX2xvY2FsGAQgASgIEhgKEHBhcmtlZF9hdF9taWxsaXMYBSABKAQSGwoTcmVwbGF5X29mZmVyX2J1ZGdldBgGIAEoDSLTAQoaS2VybmVsQ29uZmlndXJhdGlvblJlcXVlc3QSHQoVdHJ1c3Rfcm9vdF9wdWJsaWNfa2V5GAEgASgMEiUKGHRydXN0c19jdXN0b2RpYW5faGlzdG9yeRgCIAEoCEgAiAEBEiAKE2RlZmVycmVkX2R1cmFiaWxpdHkYAyABKAhIAYgBARIYChBob3N0X2NhbGxfbGVkZ2VyGAQgASgIQhsKGV90cnVzdHNfY3VzdG9kaWFuX2hpc3RvcnlCFgoUX2RlZmVycmVkX2R1cmFiaWxpdHkigAEKG0tlcm5lbENvbmZpZ3VyYXRpb25SZXNwb25zZRItCgZyZXN1bHQYASABKAsyHS5ub21vcy5rZXJuZWwudjEuQWNrbm93bGVkZ2VkEh0KEGhvc3RfY2FsbF9sZWRnZXIYAiABKA1IAIgBAUITChFfaG9zdF9jYWxsX2xlZGdlciKTEwoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SAASTgoWcmVzb2x2ZV9zdGF0ZV9wb3NpdGlvbhgcIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlU3RhdGVQb3NpdGlvblJlcXVlc3RIABJHChJyZXNpZGVudF9mb290cHJpbnQYHSABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVzaWRlbnRGb290cHJpbnRSZXF1ZXN0SAASQQoPaGlzdG9yeV9zdW1tYXJ5GB4gASgLMiYubm9tb3Mua2VybmVsLnYxLkhpc3RvcnlTdW1tYXJ5UmVxdWVzdEgAEloKHHByb3ZlX2NvbXBhY3Rpb25fZXF1aXZhbGVuY2UYHyABKAsyMi5ub21vcy5rZXJuZWwudjEuUHJvdmVDb21wYWN0aW9uRXF1aXZhbGVuY2VSZXF1ZXN0SAASPgoOb3Blbl9naXRfc3RhdGUYICABKAsyJC5ub21vcy5rZXJuZWwudjEuT3BlbkdpdFN0YXRlUmVxdWVzdEgAEk4KFnJlYWRfY3VzdG9keV9wbGFjZW1lbnQYISABKAsyLC5ub21vcy5rZXJuZWwudjEuUmVhZEN1c3RvZHlQbGFjZW1lbnRSZXF1ZXN0SAASVAoZaW5zcGVjdF9jdXN0b2R5X3BsYWNlbWVudBgjIAEoCzIvLm5vbW9zLmtlcm5lbC52MS5JbnNwZWN0Q3VzdG9keVBsYWNlbWVudFJlcXVlc3RIABJQChdyZWxlYXNlX3dvcmtzcGFjZV9zdGF0ZRgkIAEoCzItLm5vbW9zLmtlcm5lbC52MS5SZWxlYXNlV29ya3NwYWNlU3RhdGVSZXF1ZXN0SAASXwofcmVjb3JkX3dvcmtzcGFjZV9lZmZlY3Rfb3V0Y29tZRglIAEoCzI0Lm5vbW9zLmtlcm5lbC52MS5SZWNvcmRXb3Jrc3BhY2VFZmZlY3RPdXRjb21lUmVxdWVzdEgAEkwKFWF0dGFjaF9sb2NhbF9mcm9udGllchgmIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdHRhY2hMb2NhbEZyb250aWVyUmVxdWVzdEgAEkMKEGFnZ3JlZ2F0ZV9jZW5zdXMYJyABKAsyJy5ub21vcy5rZXJuZWwudjEuQWdncmVnYXRlQ2Vuc3VzUmVxdWVzdEgAEj0KDWF1ZGl0X2N1c3RvZHkYKCABKAsyJC5ub21vcy5rZXJuZWwudjEuQXVkaXRDdXN0b2R5UmVxdWVzdEgAEkgKE2V4cG9ydF9sYXdfcHJvZHVjdHMYKSABKAsyKS5ub21vcy5rZXJuZWwudjEuRXhwb3J0TGF3UHJvZHVjdHNSZXF1ZXN0SAASSAoTaW1wb3J0X2xhd19wcm9kdWN0cxgqIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5JbXBvcnRMYXdQcm9kdWN0c1JlcXVlc3RIABJKChRwcmVwYXJlX2xhd19wcm9kdWN0cxgrIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5QcmVwYXJlTGF3UHJvZHVjdHNSZXF1ZXN0SAASUgoYcmVjb3Zlcl9kZXRhY2hlZF9yZWNlaXB0GCwgASgLMi4ubm9tb3Mua2VybmVsLnYxLlJlY292ZXJEZXRhY2hlZFJlY2VpcHRSZXF1ZXN0SABCCwoJb3BlcmF0aW9uSgQIIhAjUhdhZG9wdF9jdXN0b2R5X3BsYWNlbWVudCJeChZBZ2dyZWdhdGVDZW5zdXNSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoKdHlwZV9saW1pdBgCIAEoDSIxChJBZ2dyZWdhdGVUeXBlQ291bnQSDAoEdHlwZRgBIAEoCRINCgVjb3VudBgCIAEoBCL7AQoXQWdncmVnYXRlQ2Vuc3VzUmVzcG9uc2USEQoEaGVhZBgBIAEoCUgAiAEBEhwKD2FnZ3JlZ2F0ZV9jb3VudBgCIAEoBEgBiAEBEhcKCnN0YXRlX3Jvb3QYAyABKAlIAogBARI2Cgl0b3BfdHlwZXMYBCADKAsyIy5ub21vcy5rZXJuZWwudjEuQWdncmVnYXRlVHlwZUNvdW50Eh0KEHR5cGVzX3N0YXRlX3Jvb3QYBSABKAlIA4gBAUIHCgVfaGVhZEISChBfYWdncmVnYXRlX2NvdW50Qg0KC19zdGF0ZV9yb290QhMKEV90eXBlc19zdGF0ZV9yb290IigKGFJlc2lkZW50Rm9vdHByaW50UmVxdWVzdBIMCgRkZWVwGAEgASgIIvQDChFSZXNpZGVudEZvb3RwcmludBIRCgl3b3Jrc3BhY2UYASABKAkSDgoGYnJhbmNoGAIgASgJEhgKEHJlYWRfbW9kZWxfYnl0ZXMYAyABKAQSHQoVcmVhZF9tb2RlbF9ydXN0X2J5dGVzGAQgASgEEhgKEGZvbGRfc3RhdGVfYnl0ZXMYBSABKAQSEwoLZm9sZF9pbWFnZXMYBiABKA0SHwoXc2hhcmVkX2F0dHJpYnV0ZWRfYnl0ZXMYByABKAQSEgoKYWdncmVnYXRlcxgIIAEoBBI2Cgpjb21wb25lbnRzGAkgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlc2lkZW50Q29tcG9uZW50EhIKCmNvbXB1dGVfdXMYCiABKAQSRQoRcmVhZF9zdG9yYWdlX2tpbmQYCyABKA4yKi5ub21vcy5rZXJuZWwudjEuUmVhZFByb2plY3Rpb25TdG9yYWdlS2luZBIfChdzcWxpdGVfY2FjaGVfdXNlZF9ieXRlcxgMIAEoBBIYChBmbGF0X3NjYWxhcl9yb3dzGA0gASgEEh0KFWZsYXRfc2NhbGFyX3Jvd3NfcmVhZBgOIAEoBBIdChBmdWxsX3JlcGxheV9oZWFkGA8gASgJSACIAQFCEwoRX2Z1bGxfcmVwbGF5X2hlYWQiaQoRUmVzaWRlbnRDb21wb25lbnQSNAoEa2luZBgBIAEoDjImLm5vbW9zLmtlcm5lbC52MS5SZXNpZGVudENvbXBvbmVudEtpbmQSDQoFYnl0ZXMYAiABKAQSDwoHY2VpbGluZxgDIAEoCCLKAQoZUmVzaWRlbnRGb290cHJpbnRSZXNwb25zZRI1CglyZXNpZGVudHMYASADKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzaWRlbnRGb290cHJpbnQSHAoUYWxsb2NhdG9yX2xpdmVfYnl0ZXMYAiABKAQSGAoQYXR0cmlidXRlZF9ieXRlcxgDIAEoBBIZChF1bmFjY291bnRlZF9ieXRlcxgEIAEoBBIVCg1hY2NvdW50aW5nX3VzGAUgASgEEgwKBGRlZXAYBiABKAgi4gEKEFBhY2tEZWx0YVJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCgRoZWFkGAIgASgJSACIAQESEQoEYmFzZRgDIAEoCUgBiAEBEg4KBmJyYW5jaBgEIAEoCRIdChBzdGFnZWRfcGFja19maWxlGAUgASgJSAKIAQESEgoFZGVwdGgYBiABKA1IA4gBARISCgpiZWxvd19oZWFkGAcgASgIEhIKCmFsc29faGVhZHMYCCADKAlCBwoFX2hlYWRCBwoFX2Jhc2VCEwoRX3N0YWdlZF9wYWNrX2ZpbGVCCAoGX2RlcHRoIvoBChBBcHBseVBhY2tSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoEcGFjaxgCIAEoDEgAEhoKEHN0YWdlZF9wYWNrX2ZpbGUYBCABKAlIABIaChBjb250aW51ZV9wZW5kaW5nGAggASgISAASGAoOY2FuY2VsX3BlbmRpbmcYCiABKAhIABIRCgRoZWFkGAMgASgJSAGIAQESDwoHc2hhbGxvdxgFIAMoCRIRCgl1bnNoYWxsb3cYBiADKAkSGQoRd29ya19idWRnZXRfYnl0ZXMYByABKAQSEQoJaW1wb3J0X2lkGAkgASgEQggKBnNvdXJjZUIHCgVfaGVhZCIgChBSZXBvU3RhdHNSZXF1ZXN0EgwKBHJlcG8YASABKAkivwEKE0ludGVudHNBYm92ZVJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCgRoZWFkGAIgASgJSACIAQESEQoEYmFzZRgDIAEoCUgBiAEBEg4KBmJyYW5jaBgEIAEoCRINCgVsaW1pdBgFIAEoBBIYChBjb21wbGV0ZV9sb2dpY2FsGAYgASgIEhYKDmNvbXBhY3Rfc3RvcmVkGAcgASgIEhEKCWZyb21fYmFzZRgIIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSJtChVIaXN0b3J5U3VtbWFyeVJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCgRoZWFkGAIgASgJSACIAQESDgoGYnJhbmNoGAMgASgJEhEKBGJhc2UYBCABKAlIAYgBAUIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwi1AEKFUNvbXBhY3Rpb25FcXVpdmFsZW5jZRITCgtzb3VyY2VfaGVhZBgBIAEoCRIWCg5zb3VyY2VfZ2VuZXNpcxgCIAEoCRIWCg5jYW5kaWRhdGVfaGVhZBgDIAEoCRIZChFjYW5kaWRhdGVfZ2VuZXNpcxgEIAEoCRIWCg5zb3VyY2VfaW50ZW50cxgFIAEoBBIXCg9jYXJyaWVkX2ludGVudHMYBiABKAQSFgoOcGFya2VkX2ludGVudHMYByABKAQSEgoKZXF1aXZhbGVudBgIIAEoCCJ9CiFQcm92ZUNvbXBhY3Rpb25FcXVpdmFsZW5jZVJlcXVlc3QSEwoLc291cmNlX3JlcG8YASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkSFgoOY2FuZGlkYXRlX3JlcG8YAyABKAkSFgoOY2FuZGlkYXRlX2hlYWQYBCABKAkiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiUAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkSEQoEcGF0aBgDIAEoCUgAiAEBQgcKBV9wYXRoIjYKD1BoeXNpY2FsUmVmRmlsZRIRCglyZWZlcmVuY2UYASABKAkSEAoIY29udGVudHMYAiABKAwipwIKD0xpc3RSZWZzUmVxdWVzdBIMCgRyZXBvGAEgASgJEg4KBnByZWZpeBgCIAEoCRIYChBsb29zZV9yZWZlcmVuY2VzGAMgAygJEiAKGGxvb3NlX2ludmVudG9yeV9jb21wbGV0ZRgEIAEoCBIgChNwYWNrZWRfcmVmc19wcmVzZW50GAUgASgISACIAQESPQoTcGh5c2ljYWxfbG9vc2VfcmVmcxgGIAMoCzIgLm5vbW9zLmtlcm5lbC52MS5QaHlzaWNhbFJlZkZpbGUSHAoUcGh5c2ljYWxfcGFja2VkX3JlZnMYByABKAwSIwobcGh5c2ljYWxfaW52ZW50b3J5X2NvbXBsZXRlGAggASgIQhYKFF9wYWNrZWRfcmVmc19wcmVzZW50IkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUiQQoLRnJvbnRpZXJIbGMSEAoIcGh5c2ljYWwYASABKAQSDwoHbG9naWNhbBgCIAEoDRIPCgdyZXBsaWNhGAMgASgEIu0EChdWZXJpZmllZEZyb250aWVyUmVjZWlwdBIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRILCgNvaWQYAiABKAkSDwoHaW50ZW50cxgDIAEoBBITCgtwbGFuc19yZXJ1bhgEIAEoBBIcCg9jb250cm9sbGVyX2hhc2gYBSABKAlIAIgBARIZChFpbnN0YWxsZWRfZG9tYWlucxgGIAMoCRIOCgZsaW5lYXIYByABKAgSMwoIbGFzdF9obGMYCCABKAsyHC5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJIbGNIAYgBARIUCgdsYXN0X2lkGAkgASgJSAKIAQESEQoJc3RhdGVfb2lkGAogASgJEhQKDHN0YXRlX3NoYTI1NhgLIAEoCRI5Cg5zdGF0ZV9sYXN0X2hsYxgMIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Gcm9udGllckhsY0gDiAEBEhoKDXN0YXRlX2xhc3RfaWQYDSABKAlIBIgBARIXCg9tYW5pZmVzdF9zaGEyNTYYDiABKAkSHgoWbGF3X2Nsb3N1cmVfaWRlbnRpdGllcxgPIAMoCRIaChJyZXNvbHZhYmxlX2RvbWFpbnMYECADKAkSIgoVcHJvamVjdGlvbl9zdGF0ZV9yb290GBEgASgJSAWIAQESDgoGd2Fsa2VkGBIgASgIQhIKEF9jb250cm9sbGVyX2hhc2hCCwoJX2xhc3RfaGxjQgoKCF9sYXN0X2lkQhEKD19zdGF0ZV9sYXN0X2hsY0IQCg5fc3RhdGVfbGFzdF9pZEIYChZfcHJvamVjdGlvbl9zdGF0ZV9yb290IkUKFUZvbGRGcm9udGllckFnZ3JlZ2F0ZRIUCgxhZ2dyZWdhdGVfaWQYASABKAkSFgoOYWdncmVnYXRlX3VzZGEYAiABKAwiQQoXRm9sZEZyb250aWVyRmluZ2VycHJpbnQSEQoJaW50ZW50X2lkGAEgASgJEhMKC2ZpbmdlcnByaW50GAIgASgJItYDChRGb2xkRnJvbnRpZXJTbmFwc2hvdBIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRILCgN0aXAYAiABKAkSDwoHZ2VuZXNpcxgDIAEoCRIVCg1oaXN0b3J5X2RlcHRoGAQgASgEEjoKCmFnZ3JlZ2F0ZXMYBSADKAsyJi5ub21vcy5rZXJuZWwudjEuRm9sZEZyb250aWVyQWdncmVnYXRlEjgKDWhsY193YXRlcm1hcmsYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJIbGNIAIgBARIzCghsYXN0X2hsYxgHIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Gcm9udGllckhsY0gBiAEBEhQKB2xhc3RfaWQYCCABKAlIAogBARIWCg5zdHJpa2VfdGFyZ2V0cxgJIAMoCRJFChNpbnRlbnRfZmluZ2VycHJpbnRzGAogAygLMigubm9tb3Mua2VybmVsLnYxLkZvbGRGcm9udGllckZpbmdlcnByaW50EhcKCnN0YXRlX3Jvb3QYCyABKAlIA4gBAUIQCg5faGxjX3dhdGVybWFya0ILCglfbGFzdF9obGNCCgoIX2xhc3RfaWRCDQoLX3N0YXRlX3Jvb3QimwMKGFN0b3JlZENoZWNrcG9pbnRNYW5pZmVzdBIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRITCgZjdXJzb3IYAiABKAlIAIgBARIYChBjaGVja3BvaW50X2J5dGVzGAMgASgEEhAKCGxhd19oYXNoGAQgASgJEjsKC2NvbXByZXNzaW9uGAUgASgOMiYubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRDb21wcmVzc2lvbhIRCglyYXdfYnl0ZXMYBiABKAQSFAoMc3RvcmVkX2J5dGVzGAcgASgEEh0KFWZyb250aWVyX3N0b3JlZF9ieXRlcxgIIAEoBBIXCgpzdGF0ZV9yb290GAkgASgJSAGIAQESUAoZdmVyaWZpZWRfZnJvbnRpZXJfcmVjZWlwdBgKIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZmllZEZyb250aWVyUmVjZWlwdEgCiAEBQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCHAoaX3ZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQiwQMKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCBIRCgRoZWFkGAcgASgJSAOIAQESUAoZdmVyaWZpZWRfZnJvbnRpZXJfcmVjZWlwdBgIIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZmllZEZyb250aWVyUmVjZWlwdEgEiAEBEkoKE3ZlcmlmaWNhdGlvbl9wb2xpY3kYCSABKA4yLS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludFZlcmlmaWNhdGlvblBvbGljeUIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdEIHCgVfaGVhZEIcChpfdmVyaWZpZWRfZnJvbnRpZXJfcmVjZWlwdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCKZAgoSUmVzdG9yZU1haW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDAoEaGVhZBgCIAEoCRITCgtkaWFnbm9zdGljcxgDIAEoCBIYChBvcGVyYXRvcl9jdXN0b2R5GAQgASgIEiAKE2V4cGVjdGVkX2xvY2FsX2hlYWQYBSABKAlIAIgBARJAChNjdXN0b2R5X2NlcnRpZmljYXRlGAYgASgLMiMubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlDZXJ0aWZpY2F0ZRIYChBwcm92aWRlcl9jdXN0b2R5GAcgASgIQhYKFF9leHBlY3RlZF9sb2NhbF9oZWFkIm0KE0F1ZGl0Q3VzdG9keVJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIVCg1idWRnZXRfbWljcm9zGAIgASgNEg0KBXN0YXJ0GAMgASgIIpQBChRBdWRpdEN1c3RvZHlSZXNwb25zZRIPCgdwZW5kaW5nGAEgASgIEgwKBGhlYWQYAiABKAkSDgoGd2Fsa2VkGAMgASgEEg0KBXRvdGFsGAQgASgEEg8KB291dGNvbWUYBSABKAkSLQoHdmVyZGljdBgGIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJ+CgtMYXdQcm9kdWN0cxIUCgxsYXdfaWRlbnRpdHkYASABKAkSFgoOZm9ybWF0X3ZlcnNpb24YAiABKA0SEgoKcmVhZF9sYXllchgDIAEoDBIVCg1jb21tYW5kX2xheWVyGAQgASgMEhYKDnNlbWFudGljX2xheWVyGAUgASgMIkwKGEV4cG9ydExhd1Byb2R1Y3RzUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0IlkKGUV4cG9ydExhd1Byb2R1Y3RzUmVzcG9uc2USDAoEaGVhZBgBIAEoCRIuCghwcm9kdWN0cxgCIAMoCzIcLm5vbW9zLmtlcm5lbC52MS5MYXdQcm9kdWN0cyJ8ChhJbXBvcnRMYXdQcm9kdWN0c1JlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCghwcm9kdWN0cxgCIAMoCzIcLm5vbW9zLmtlcm5lbC52MS5MYXdQcm9kdWN0cyItChlJbXBvcnRMYXdQcm9kdWN0c1Jlc3BvbnNlEhAKCGltcG9ydGVkGAEgAygJIm8KEkN1c3RvZHlDZXJ0aWZpY2F0ZRIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCRIRCglrZXlfZXBvY2gYAyABKAMSEgoKcHVibGljX2tleRgEIAEoDBIRCglzaWduYXR1cmUYBSABKAwiZAoTT3BlbkdpdFN0YXRlUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EgwKBGhlYWQYAiABKAkSDQoFc3BhbnMYAyABKAgiawoaQXR0YWNoTG9jYWxGcm9udGllclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJEg0KBXNwYW5zGAMgASgIIlMKDUN1c3RvZHlSZW1vdGUSDAoEbmFtZRgBIAEoCRILCgN1cmwYAiABKAkSFQoNcGVlcl9pZGVudGl0eRgDIAEoCRIQCghwcmlvcml0eRgEIAEoDSLGAQoUQ3VzdG9keVBsYWNlbWVudFJ1bGUSEgoKcGVlcl9jbGFzcxgBIAEoCRJAChBrZXJuZWxfcmVzaWRlbmN5GAIgASgOMiYubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlc2lkZW5jeUludGVudBJCChFjdXN0b2R5X3JldGVudGlvbhgDIAEoDjInLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmV0ZW50aW9uSW50ZW50EhQKDHJlbW90ZV9uYW1lcxgEIAMoCSKuAgoWQ3VzdG9keVBsYWNlbWVudFBvbGljeRITCgtkZWNsYXJhdGlvbhgBIAEoCRIWCg5wYWNrYWdlX3NoYTI1NhgCIAEoCRI0CgVydWxlcxgDIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UGxhY2VtZW50UnVsZRISCgphZG9wdGVkX2J5GAQgASgJEg4KBnJlYXNvbhgFIAEoCRIeChZlZmZlY3RpdmVfdGltZV9zZWNvbmRzGAYgASgSEi8KB3JlbW90ZXMYByADKAsyHi5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVJlbW90ZRIiChVyZWNpcGllbnRfbWFpbGJveF91cmwYCCABKAlIAIgBAUIYChZfcmVjaXBpZW50X21haWxib3hfdXJsIlkKG0N1c3RvZHlQbGFjZW1lbnRFeHBlY3RhdGlvbhIQCgZhYnNlbnQYASABKAhIABINCgNvaWQYAiABKAlIABINCgNhbnkYAyABKAhIAEIKCghmcm9udGllciIrChtSZWFkQ3VzdG9keVBsYWNlbWVudFJlcXVlc3QSDAoEcmVwbxgBIAEoCSI1Ch5JbnNwZWN0Q3VzdG9keVBsYWNlbWVudFJlcXVlc3QSEwoLcG9saWN5X3VzZGEYASABKAwiiQEKDlBsYWNlbWVudE9mZmVyEj4KCGV4cGVjdGVkGAEgASgLMiwubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlQbGFjZW1lbnRFeHBlY3RhdGlvbhI3CgZwb2xpY3kYAiABKAsyJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFBvbGljeSJpChtSZXNvbHZlU3RhdGVQb3NpdGlvblJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCgltYWluX2hlYWQYAiABKAkSFQoNaGludGVkX2NvbW1pdBgDIAEoCRISCgpzdGF0ZV9yb290GAQgASgJIpYTCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSAASTwoWcmVzb2x2ZV9zdGF0ZV9wb3NpdGlvbhgcIAEoCzItLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlU3RhdGVQb3NpdGlvblJlc3BvbnNlSAASSAoScmVzaWRlbnRfZm9vdHByaW50GB0gASgLMioubm9tb3Mua2VybmVsLnYxLlJlc2lkZW50Rm9vdHByaW50UmVzcG9uc2VIABJCCg9oaXN0b3J5X3N1bW1hcnkYHiABKAsyJy5ub21vcy5rZXJuZWwudjEuSGlzdG9yeVN1bW1hcnlSZXNwb25zZUgAElsKHHByb3ZlX2NvbXBhY3Rpb25fZXF1aXZhbGVuY2UYHyABKAsyMy5ub21vcy5rZXJuZWwudjEuUHJvdmVDb21wYWN0aW9uRXF1aXZhbGVuY2VSZXNwb25zZUgAEj8KDm9wZW5fZ2l0X3N0YXRlGCAgASgLMiUubm9tb3Mua2VybmVsLnYxLk9wZW5HaXRTdGF0ZVJlc3BvbnNlSAASTwoWcmVhZF9jdXN0b2R5X3BsYWNlbWVudBghIAEoCzItLm5vbW9zLmtlcm5lbC52MS5SZWFkQ3VzdG9keVBsYWNlbWVudFJlc3BvbnNlSAASVQoZaW5zcGVjdF9jdXN0b2R5X3BsYWNlbWVudBgjIAEoCzIwLm5vbW9zLmtlcm5lbC52MS5JbnNwZWN0Q3VzdG9keVBsYWNlbWVudFJlc3BvbnNlSAASUQoXcmVsZWFzZV93b3Jrc3BhY2Vfc3RhdGUYJCABKAsyLi5ub21vcy5rZXJuZWwudjEuUmVsZWFzZVdvcmtzcGFjZVN0YXRlUmVzcG9uc2VIABJaCh9yZWNvcmRfd29ya3NwYWNlX2VmZmVjdF9vdXRjb21lGCUgASgLMi8ubm9tb3Mua2VybmVsLnYxLlJlY29yZGVkV29ya3NwYWNlRWZmZWN0T3V0Y29tZUgAEk0KFWF0dGFjaF9sb2NhbF9mcm9udGllchgmIAEoCzIsLm5vbW9zLmtlcm5lbC52MS5BdHRhY2hMb2NhbEZyb250aWVyUmVzcG9uc2VIABJEChBhZ2dyZWdhdGVfY2Vuc3VzGCcgASgLMigubm9tb3Mua2VybmVsLnYxLkFnZ3JlZ2F0ZUNlbnN1c1Jlc3BvbnNlSAASPgoNYXVkaXRfY3VzdG9keRgoIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdWRpdEN1c3RvZHlSZXNwb25zZUgAEkkKE2V4cG9ydF9sYXdfcHJvZHVjdHMYKSABKAsyKi5ub21vcy5rZXJuZWwudjEuRXhwb3J0TGF3UHJvZHVjdHNSZXNwb25zZUgAEkkKE2ltcG9ydF9sYXdfcHJvZHVjdHMYKiABKAsyKi5ub21vcy5rZXJuZWwudjEuSW1wb3J0TGF3UHJvZHVjdHNSZXNwb25zZUgAEksKFHByZXBhcmVfbGF3X3Byb2R1Y3RzGCsgASgLMisubm9tb3Mua2VybmVsLnYxLlByZXBhcmVMYXdQcm9kdWN0c1Jlc3BvbnNlSAASQgoYcmVjb3Zlcl9kZXRhY2hlZF9yZWNlaXB0GCwgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2VIAEILCglvcGVyYXRpb25KBAgiECNSF2Fkb3B0X2N1c3RvZHlfcGxhY2VtZW50InAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQSDwoHc2hhbGxvdxgDIAMoCRIPCgdjb21taXRzGAQgASgNEg0KBXRyZWVzGAUgASgNEg0KBWJsb2JzGAYgASgNIuIBChFBcHBseVBhY2tSZXNwb25zZRIUCgxvYmplY3RfY291bnQYASABKAQSEQoJcGFja19oYXNoGAIgASgJEjsKB2Nsb3N1cmUYAyABKAsyJS5ub21vcy5rZXJuZWwudjEuUGh5c2ljYWxDbG9zdXJlQ2hlY2tIAIgBARIWCg5pbXBvcnRfcGVuZGluZxgEIAEoCBIXCg93b3JrX2RvbmVfYnl0ZXMYBSABKAQSEQoJaW1wb3J0X2lkGAYgASgEEhcKD2ltcG9ydF9kZWZlcnJlZBgHIAEoCEIKCghfY2xvc3VyZSJtChRQaHlzaWNhbENsb3N1cmVDaGVjaxIWCg5yZXVzZWRfcmVjZWlwdBgBIAEoCBIUCgxjb21taXRzX3JlYWQYAiABKAQSEgoKdHJlZXNfcmVhZBgDIAEoBBITCgtsZWF2ZXNfcmVhZBgEIAEoBCK4AQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEEg8KB3NoYWxsb3cYCCADKAki4gEKDEludGVudFJlY29yZBILCgNvaWQYASABKAkSEQoJaW50ZW50X2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEwoLY2hhbmdlX3VzZGEYBSABKAwSLgoIc2VtYW50aWMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSSgoVdHJhbnNwb3J0X3JlcXVpcmVtZW50GAcgASgOMisubm9tb3Mua2VybmVsLnYxLkludGVudFRyYW5zcG9ydFJlcXVpcmVtZW50IkYKFEludGVudHNBYm92ZVJlc3BvbnNlEi4KB2ludGVudHMYASADKAsyHS5ub21vcy5rZXJuZWwudjEuSW50ZW50UmVjb3JkInQKFkhpc3RvcnlTdW1tYXJ5UmVzcG9uc2USDAoEaGVhZBgBIAEoCRIOCgZvbGRlc3QYAiABKAkSFAoMY29tbWl0X2NvdW50GAMgASgEEhAKCGNvbXBsZXRlGAQgASgIEhQKDHJlYWNoZWRfYmFzZRgFIAEoCCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJaCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkSEQoJZm9sZF9yb290GAMgASgJIrQCChVJbnNwZWN0Q2hhbmdlUmVzcG9uc2USLgoIc2VtYW50aWMYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJaW50ZW50X2lkGAIgASgJEjIKBGNhbGwYAyABKAsyJC5ub21vcy5rZXJuZWwudjEuTm9taW5hbENhbGxJZGVudGl0eRIQCghhdXRob3JlZBgEIAEoCBJEChFsaWZlY3ljbGVfaW5zdGFsbBgFIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5MaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSTAoUcmVxdWlyZWRfcmVzaWRlbmNpZXMYBiADKAsyLi5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlUmVzaWRlbmN5UmVxdWlyZW1lbnQiTAocUmVzb2x2ZVN0YXRlUG9zaXRpb25SZXNwb25zZRIaCg1yZXNvbHZlZF9oZWFkGAEgASgJSACIAQFCEAoOX3Jlc29sdmVkX2hlYWQiNAocRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZRIUCgx2ZXJkaWN0X3VzZGEYASABKAwiUQodSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVzcG9uc2USMAoHdmVyZGljdBgBIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5SZWZ1c2FsVmVyZGljdCJ1CiJQcm92ZUNvbXBhY3Rpb25FcXVpdmFsZW5jZVJlc3BvbnNlEjgKCGV2aWRlbmNlGAEgASgLMiYubm9tb3Mua2VybmVsLnYxLkNvbXBhY3Rpb25FcXVpdmFsZW5jZRIVCg1ldmlkZW5jZV91c2RhGAIgASgMIi8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLfAwoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBElAKGXZlcmlmaWVkX2Zyb250aWVyX3JlY2VpcHQYCyABKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZpZWRGcm9udGllclJlY2VpcHRIBIgBAUIJCgdfY3Vyc29yQg0KC19zdGF0ZV9yb290QhoKGF9yZWFkX2luZGV4X3NxbGl0ZV9ieXRlc0IbChlfcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzQhwKGl92ZXJpZmllZF9mcm9udGllcl9yZWNlaXB0IusCChhDaGVja3BvaW50SW1wb3J0UmVzcG9uc2USEAoIcmVzdG9yZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESFwoPZnJvbnRpZXJfc2VlZGVkGAMgASgIEiUKHWZyb250aWVyX3ZlcmlmaWNhdGlvbl9wZW5kaW5nGAQgASgIEhcKD2FnZ3JlZ2F0ZV9jb3VudBgFIAEoBBIrCgVzcGFucxgGIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBITCgZjdXJzb3IYByABKAlIAYgBARIRCglyZWFkX29ubHkYCCABKAgSFwoPbGF6eV9yZWFkX2luZGV4GAkgASgIEjcKCWFzc3VyYW5jZRgKIAEoDjIkLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50QXNzdXJhbmNlEhIKCnJlYWRfcmVhZHkYCyABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIsABChRPcGVuR2l0U3RhdGVSZXNwb25zZRIOCgZvcGVuZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESFwoPYWdncmVnYXRlX2NvdW50GAMgASgEEisKBXNwYW5zGAQgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgFIAEoCUgBiAEBEhIKCnJlYWRfcmVhZHkYBiABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIukBChtBdHRhY2hMb2NhbEZyb250aWVyUmVzcG9uc2USEAoIYXR0YWNoZWQYASABKAgSEwoGcmVhc29uGAIgASgJSACIAQESDAoEaGVhZBgDIAEoCRISCgpzdGF0ZV9yb290GAQgASgJEhcKD2FnZ3JlZ2F0ZV9jb3VudBgFIAEoBBIrCgVzcGFucxgGIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBISCgpyZWFkX3JlYWR5GAcgASgIEhwKFGZvcmVpZ25fc291cmNlX3JlYWR5GAggASgIQgkKB19yZWFzb24iMQocUmVsZWFzZVdvcmtzcGFjZVN0YXRlUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiMQodUmVsZWFzZVdvcmtzcGFjZVN0YXRlUmVzcG9uc2USEAoIcmVsZWFzZWQYASABKAgiiwEKHFJlYWRDdXN0b2R5UGxhY2VtZW50UmVzcG9uc2USFQoIZnJvbnRpZXIYASABKAlIAIgBARI8CgZwb2xpY3kYAiABKAsyJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFBvbGljeUgBiAEBQgsKCV9mcm9udGllckIJCgdfcG9saWN5Il0KEFBsYWNlbWVudEFkb3B0ZWQSEAoIZnJvbnRpZXIYASABKAkSNwoGcG9saWN5GAIgASgLMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlQbGFjZW1lbnRQb2xpY3kiWgofSW5zcGVjdEN1c3RvZHlQbGFjZW1lbnRSZXNwb25zZRI3CgZwb2xpY3kYASABKAsyJy5ub21vcy5rZXJuZWwudjEuQ3VzdG9keVBsYWNlbWVudFBvbGljeSJKChdDYXBhY2l0eVJlc2VydmVSZXNwb25zZRIXCg9hZ2dyZWdhdGVfY291bnQYASABKAQSFgoOcmVzZXJ2ZWRfYnl0ZXMYAiABKAQi+QIKEFJlc3RvcmVNYWluU3BhbnMSEAoIdG90YWxfdXMYASABKAQSGgoSbGl2ZV9yZWZfbG9va3VwX3VzGAIgASgEEhgKEHRhcmdldF9kZWNvZGVfdXMYAyABKAQSJAocY3VzdG9keV9jb21wbGV0ZW5lc3NfcmVhZF91cxgEIAEoBBIZChFxdWFyYW50aW5lX3JlZl91cxgFIAEoBBIlCh1jaGFpbl9zaWduYXR1cmVfbGF3X3JlcGxheV91cxgGIAEoBBIZChF2ZXJkaWN0X2RlY29kZV91cxgHIAEoBBIjChtwcm9tb3RlX2FuZF9jbGVhbnVwX3JlZnNfdXMYCCABKAQSGwoTZnJvbnRpZXJfcmVidWlsZF91cxgJIAEoBBIZChFmcm9udGllcl9zdG9yZV91cxgKIAEoBBI9Cgx2ZXJpZmljYXRpb24YCyABKAsyJy5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5EaWFnbm9zdGljcyLvAQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucxItCgd2ZXJkaWN0GAUgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EjcKCWFzc3VyYW5jZRgGIAEoDjIkLm5vbW9zLmtlcm5lbC52MS5DaGVja3BvaW50QXNzdXJhbmNlEhAKCGFjY2VwdGVkGAcgASgIIpsCCgpOb21vc1ZhbHVlEiUKBG51bGwYASABKAsyFS5ub21vcy5rZXJuZWwudjEuTnVsbEgAEhEKB2Jvb2xlYW4YAiABKAhIABIYCg5zaWduZWRfaW50ZWdlchgDIAEoEkgAEhoKEHVuc2lnbmVkX2ludGVnZXIYBCABKARIABIYCg5mbG9hdGluZ19wb2ludBgFIAEoAUgAEg4KBHRleHQYBiABKAlIABIPCgVieXRlcxgHIAEoDEgAEioKBGxpc3QYCCABKAsyGi5ub21vcy5rZXJuZWwudjEuTm9tb3NMaXN0SAASLgoGb2JqZWN0GAkgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0SABCBgoEa2luZCIGCgROdWxsIjgKCU5vbW9zTGlzdBIrCgZ2YWx1ZXMYASADKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZSKTAQoLTm9tb3NTdHJ1Y3QSOAoGZmllbGRzGAEgAygLMigubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0LkZpZWxkc0VudHJ5GkoKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIqCgV2YWx1ZRgCIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlOgI4ASI6Cg9IaXN0b3J5UmVxdWlyZWQSEQoJd29ya3NwYWNlGAEgASgJEhQKDHVudGlsX2NvbW1pdBgCIAEoCSJAChVMYXdQcmVwYXJhdGlvblVuaXRTZXQSJwoFdW5pdHMYASADKAsyGC5ub21vcy5rZXJuZWwudjEuTGF3VW5pdCJNChBQcmVwYXJlZExhd0xheWVyEg0KBWlucHV0GAEgASgJEgsKA2tleRgCIAEoCRINCgVsYXllchgDIAEoDBIOCgZzaGEyNTYYBCABKAki6AIKGVByZXBhcmVMYXdQcm9kdWN0c1JlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBI5Cgl1bml0X3NldHMYAiADKAsyJi5ub21vcy5rZXJuZWwudjEuTGF3UHJlcGFyYXRpb25Vbml0U2V0Ej0KCGV4cGVjdGVkGAMgASgLMisubm9tb3Mua2VybmVsLnYxLlByZXBhcmVMYXdQcm9kdWN0c1Jlc3BvbnNlEjEKD2NhbmRpZGF0ZV91bml0cxgEIAMoCzIYLm5vbW9zLmtlcm5lbC52MS5MYXdVbml0EhUKDWNvdmVyYWdlX29ubHkYBSABKAgSFQoNY3VzdG9keV9oZWFkcxgGIAMoCRI+Cgtkb21haW5fcGxhbhgHIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlRG9tYWluUGxhblJlcXVlc3QiyAEKGlByZXBhcmVMYXdQcm9kdWN0c1Jlc3BvbnNlEhkKEWtlcm5lbF9nZW5lcmF0aW9uGAEgASgJEhEKCXVuaXRfc2V0cxgCIAMoCRIYChBwcmVwYXJhdGlvbl9rZXlzGAMgAygJEjEKBmxheWVycxgEIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5QcmVwYXJlZExhd0xheWVyEhMKC2Rlcml2YXRpb25zGAUgASgEEhoKEnByZXBhcmF0aW9uX21pY3JvcxgGIAEoBCKIAQodUmVjb3ZlckRldGFjaGVkUmVjZWlwdFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBI1CgZjaGFuZ2UYAiABKAsyJS5ub21vcy5rZXJuZWwudjEuRGV0YWNoZWRTaWduZWRDaGFuZ2UqbgoPTGF3VmVyc2lvbk9yZGVyEiEKHUxBV19WRVJTSU9OX09SREVSX1VOU1BFQ0lGSUVEEAASGwoXTEFXX1ZFUlNJT05fT1JERVJfRVFVQUwQARIbChdMQVdfVkVSU0lPTl9PUkRFUl9MT1dFUhACKuoBChJCaXJ0aE91dGNvbWVTdGF0dXMSJAogQklSVEhfT1VUQ09NRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIdChlCSVJUSF9PVVRDT01FX1NUQVRVU19CT1JOEAESIQodQklSVEhfT1VUQ09NRV9TVEFUVVNfREVGRVJSRUQQAhIfChtCSVJUSF9PVVRDT01FX1NUQVRVU19GQUlMRUQQAxIgChxCSVJUSF9PVVRDT01FX1NUQVRVU19SRUZVU0VEEAQSKQolQklSVEhfT1VUQ09NRV9TVEFUVVNfVU5XQVJSQU5URURfQ0VSVBAFKswUChFLZXJuZWxSZWZ1c2FsQ29kZRIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1VOU1BFQ0lGSUVEEAASJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CQURfU0lHTkFUVVJFEAESJAogS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkFVVEhPUklaRUQQAhInCiNLRVJORUxfUkVGVVNBTF9DT0RFX1BPTElDWV9ESVNBQkxFRBADEioKJktFUk5FTF9SRUZVU0FMX0NPREVfVU5DRVJUSUZJRURfUE9MSUNZEAQSIwofS0VSTkVMX1JFRlVTQUxfQ09ERV9SRUZFUkVOVElBTBAFEi8KK0tFUk5FTF9SRUZVU0FMX0NPREVfUE9JTlRfU1RBVEVfVU5BVkFJTEFCTEUQBhIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX0NBUF9FWENFRURFRBAHEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0NPVU5UX1VOQVZBSUxBQkxFEAgSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9FVklERU5DRV9VTkJBQ0tFRBAJEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1JQSEFOX1JFQ0VJUFQQChI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX1JFQ0VJUFRfT05fVEVSTUlOQUxfT0JMSUdBVElPThALEiIKHktFUk5FTF9SRUZVU0FMX0NPREVfTk9UX01JTlRFRBAMEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX0xJRkVDWUNMRRANEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfVFlQRV9UQUdfTUlTTUFUQ0gQDhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1JFVElSRURfUkVBRF9TVVJGQUNFEA8SMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DUk9TU19XT1JLU1BBQ0VfREVDTElORUQQEBIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FHR1JFR0FURV9JTlZBUklBTlQQERIrCidLRVJORUxfUkVGVVNBTF9DT0RFX1dPUktTUEFDRV9JTlZBUklBTlQQEhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfQ09ORkxJQ1QQExIyCi5LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1JFUVVJUkVEEBQSNAowS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9VTkRFQ0xBUkVEEBUSMQotS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9JTlZBTElEEBYSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9TVEFMRRAXEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9VTkRFQ0xBUkVEEBgSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1BSSVZBVEUQGRIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5ERUNMQVJFRBAaEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTlRSVVNURURfS0VZEBsSNgoyS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9TT1VSQ0UQHBIsCihLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRk9SR0VEEB0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1NUQUxFEB4SLgoqS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX09WRVJTSVpFEB8SNwozS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX0RJU0hPTk9SRURfU09VUkNFECASNQoxS0VSTkVMX1JFRlVTQUxfQ09ERV9FUVVJVk9DQVRJT05fRVZJREVOQ0VfSU5WQUxJRBAhEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNUQVRJT05fUkVDRUlQVF9JTlZBTElEECISKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfUk9TVEVSX01JU01BVENIECMSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfRVBPQ0hfTk9UX01PTk9UT05JQxAkEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfV1JJVEVfRVBPQ0hfU1RBTEUQJRItCilLRVJORUxfUkVGVVNBTF9DT0RFX0VOVkVMT1BFX1NJRF9NSVNNQVRDSBAmEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfUkVWT0tFRF9NRU1CRVJfUkVTVVJSRUNURUQQJxIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX0ZPUkdFRF9QUklOQ0lQQUwQKBIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX0tFWV9BTkNIT1IQKRImCiJLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX1JFQ09WRVJZECoSLAooS0VSTkVMX1JFRlVTQUxfQ09ERV9TVVJGQUNFRF9CQVNJU19BSEVBRBArEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfU0lHTkVSX0VQT0NIX09VVF9PRl9XSU5ET1cQLBImCiJLRVJORUxfUkVGVVNBTF9DT0RFX0VWT0xWRV9SRUZVU0VEEC0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9JTlZBTElEEC4SLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9QQVJFTlRfRElEX05PVF9BVFRFU1QQLxIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0NFUlRfQ0hBSU5fQlJPS0VOEDASKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfUk9PVEVEX0FUX1JPT1QQMRIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX0RFTEVHQVRJT05fSU5WQUxJRBAyEiUKIUtFUk5FTF9SRUZVU0FMX0NPREVfUExBTl9SRUpFQ1RFRBAzEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX1JFRlVTRUQQNBIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0lOVkFSSUFOVF9FWEVDVVRJT05fRkFVTFQQNRI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0NIRUNLUE9JTlRfU0lHTkVSX1VOQVZBSUxBQkxFEDYSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9PRkZFUl9CQVNFX1NUQUxFEDcSJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CSVJUSF9SRUZVU0VEEDgq7wIKEEZ1bGxSZXN1bHRSZWFzb24SIgoeRlVMTF9SRVNVTFRfUkVBU09OX1VOU1BFQ0lGSUVEEAASHgoaRlVMTF9SRVNVTFRfUkVBU09OX05PX0JBU0UQARIiCh5GVUxMX1JFU1VMVF9SRUFTT05fTEFXX0NIQU5HRUQQAhItCilGVUxMX1JFU1VMVF9SRUFTT05fUkVBRF9BVVRIT1JJVFlfQ0hBTkdFRBADEikKJUZVTExfUkVTVUxUX1JFQVNPTl9QRVJfUkVDT1JEX1JFRlVTQUwQBBIjCh9GVUxMX1JFU1VMVF9SRUFTT05fT1JERVJFRF9SRUFEEAUSJgoiRlVMTF9SRVNVTFRfUkVBU09OX1RFTVBPUkFMX0ZJRUxEUxAGEicKI0ZVTExfUkVTVUxUX1JFQVNPTl9CQVNFX1VOQVZBSUxBQkxFEAcSIwofRlVMTF9SRVNVTFRfUkVBU09OX0xFR0FDWV9TVEFURRAIKskBChNJbnRlcmZhY2VNZW1iZXJLaW5kEiUKIUlOVEVSRkFDRV9NRU1CRVJfS0lORF9VTlNQRUNJRklFRBAAEiAKHElOVEVSRkFDRV9NRU1CRVJfS0lORF9ET01BSU4QARIjCh9JTlRFUkZBQ0VfTUVNQkVSX0tJTkRfRElSRUNUSVZFEAISIwofSU5URVJGQUNFX01FTUJFUl9LSU5EX0FHR1JFR0FURRADEh8KG0lOVEVSRkFDRV9NRU1CRVJfS0lORF9GSUVMRBAEKogCChxJbnRlcmZhY2VDb21wYXRpYmlsaXR5U3RhdHVzEi4KKklOVEVSRkFDRV9DT01QQVRJQklMSVRZX1NUQVRVU19VTlNQRUNJRklFRBAAEigKJElOVEVSRkFDRV9DT01QQVRJQklMSVRZX1NUQVRVU19FWEFDVBABEi0KKUlOVEVSRkFDRV9DT01QQVRJQklMSVRZX1NUQVRVU19DT01QQVRJQkxFEAISLgoqSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfU1RBVFVTX1VOQVZBSUxBQkxFEAMSLworSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfU1RBVFVTX0lOQ09NUEFUSUJMRRAEKsMDChxJbnRlcmZhY2VDb21wYXRpYmlsaXR5UmVhc29uEi4KKklOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9VTlNQRUNJRklFRBAAEjEKLUlOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9ET01BSU5fTUlTU0lORxABEjEKLUlOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9NRU1CRVJfTUlTU0lORxACEjAKLElOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9GSUVMRF9NSVNTSU5HEAMSNQoxSU5URVJGQUNFX0NPTVBBVElCSUxJVFlfUkVBU09OX1ZBTFVFX0tJTkRfQ0hBTkdFRBAEEjcKM0lOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9SRVFVSVJFRF9JTlBVVF9BRERFRBAFEjEKLUlOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9NQVRSSVhfSU5WQUxJRBAGEjgKNElOVEVSRkFDRV9DT01QQVRJQklMSVRZX1JFQVNPTl9XSVJFX0NPTlRSQUNUX0NIQU5HRUQQByq3AgoQTWFpbnRlbmFuY2VQaGFzZRIhCh1NQUlOVEVOQU5DRV9QSEFTRV9VTlNQRUNJRklFRBAAEiQKIE1BSU5URU5BTkNFX1BIQVNFX1JFQURfRE9DVU1FTlRTEAESIgoeTUFJTlRFTkFOQ0VfUEhBU0VfU1FMSVRFX0lOREVYEAISJgoiTUFJTlRFTkFOQ0VfUEhBU0VfQ09NTUFORF9GUk9OVElFUhADEiMKH01BSU5URU5BTkNFX1BIQVNFX0NPTU1BTkRfUk9VVEUQBBIhCh1NQUlOVEVOQU5DRV9QSEFTRV9HSVRfQ1VTVE9EWRAFEiYKIk1BSU5URU5BTkNFX1BIQVNFX1JFQURfSU5ERVhfQ0FDSEUQBhIeChpNQUlOVEVOQU5DRV9QSEFTRV9DT01QTEVURRAHKooBCg9WZXJpZnlDaGFpbldhbGsSIQodVkVSSUZZX0NIQUlOX1dBTEtfVU5TUEVDSUZJRUQQABIaChZWRVJJRllfQ0hBSU5fV0FMS19GVUxMEAESHAoYVkVSSUZZX0NIQUlOX1dBTEtfU1VGRklYEAISGgoWVkVSSUZZX0NIQUlOX1dBTEtfTUVNTxADKnAKGEVmZmVjdEV4ZWN1dGlvblBsYWNlbWVudBIqCiZFRkZFQ1RfRVhFQ1VUSU9OX1BMQUNFTUVOVF9VTlNQRUNJRklFRBAAEigKJEVGRkVDVF9FWEVDVVRJT05fUExBQ0VNRU5UX0NVU1RPRElBThABKnYKGkVmZmVjdEV4ZWN1dGlvbkNhcmRpbmFsaXR5EiwKKEVGRkVDVF9FWEVDVVRJT05fQ0FSRElOQUxJVFlfVU5TUEVDSUZJRUQQABIqCiZFRkZFQ1RfRVhFQ1VUSU9OX0NBUkRJTkFMSVRZX1NJTkdMRVRPThABKrcBChdNb2RlbExpZmVjeWNsZU9wZXJhdGlvbhIpCiVNT0RFTF9MSUZFQ1lDTEVfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASJQohTU9ERUxfTElGRUNZQ0xFX09QRVJBVElPTl9JTlNUQUxMEAESIwofTU9ERUxfTElGRUNZQ0xFX09QRVJBVElPTl9TVEFHRRACEiUKIU1PREVMX0xJRkVDWUNMRV9PUEVSQVRJT05fUFJPTU9URRADKtwBCh1DaGlsZFdvcmtzcGFjZUxpZmVjeWNsZVN0YXR1cxIwCixDSElMRF9XT1JLU1BBQ0VfTElGRUNZQ0xFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0NISUxEX1dPUktTUEFDRV9MSUZFQ1lDTEVfU1RBVFVTX0FDVElWRRABEiwKKENISUxEX1dPUktTUEFDRV9MSUZFQ1lDTEVfU1RBVFVTX1JFVElSRUQQAhIuCipDSElMRF9XT1JLU1BBQ0VfTElGRUNZQ0xFX1NUQVRVU19SRUNMQUlNRUQQAyr4AQoiRGVjbGFyZWRBdXRoZW50aWNhdGlvblByb3ZpZGVyS2luZBI1CjFERUNMQVJFRF9BVVRIRU5USUNBVElPTl9QUk9WSURFUl9LSU5EX1VOU1BFQ0lGSUVEEAASMgouREVDTEFSRURfQVVUSEVOVElDQVRJT05fUFJPVklERVJfS0lORF9TRUxFQ1RFRBABEjIKLkRFQ0xBUkVEX0FVVEhFTlRJQ0FUSU9OX1BST1ZJREVSX0tJTkRfRU5ST0xMRUQQAhIzCi9ERUNMQVJFRF9BVVRIRU5USUNBVElPTl9QUk9WSURFUl9LSU5EX1NPVkVSRUlHThADKooBChVEZWNsYXJlZExhd01lbWJlcktpbmQSKAokREVDTEFSRURfTEFXX01FTUJFUl9LSU5EX1VOU1BFQ0lGSUVEEAASJAogREVDTEFSRURfTEFXX01FTUJFUl9LSU5EX0NPTU1BTkQQARIhCh1ERUNMQVJFRF9MQVdfTUVNQkVSX0tJTkRfUkVBRBACKosGCh9Qcm92aWRlclRva2VuVmVyaWZpY2F0aW9uU3RhdHVzEjIKLlBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIsCihQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX1ZBTElEEAESNgoyUFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19OT19NQVRDSElOR19LRVkQAhIuCipQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX0VYUElSRUQQAxI0CjBQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX05PVF9ZRVRfVkFMSUQQBBI2CjJQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX0lTU1VFUl9NSVNNQVRDSBAFEjgKNFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfQVVESUVOQ0VfTUlTTUFUQ0gQBhI0CjBQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX0JBRF9TSUdOQVRVUkUQBxIwCixQUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX01BTEZPUk1FRBAIEjwKOFBST1ZJREVSX1RPS0VOX1ZFUklGSUNBVElPTl9TVEFUVVNfVU5TVVBQT1JURURfQUxHT1JJVEhNEAkSLgoqUFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19CQURfS0VZEAoSNgoyUFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19NSVNTSU5HX1NVQkpFQ1QQCxIyCi5QUk9WSURFUl9UT0tFTl9WRVJJRklDQVRJT05fU1RBVFVTX05PX1ZFUklGSUVSEAwSNAowUFJPVklERVJfVE9LRU5fVkVSSUZJQ0FUSU9OX1NUQVRVU19NSVNTSU5HX1RPS0VOEA0qyAEKEkRldmljZVNpZ25lclN0YXR1cxIkCiBERVZJQ0VfU0lHTkVSX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG0RFVklDRV9TSUdORVJfU1RBVFVTX0FDVElWRRABEh8KG0RFVklDRV9TSUdORVJfU1RBVFVTX0FCU0VOVBACEiAKHERFVklDRV9TSUdORVJfU1RBVFVTX1JFVk9LRUQQAxIoCiRERVZJQ0VfU0lHTkVSX1NUQVRVU19LRVlfVU5BVkFJTEFCTEUQBCrXAQoTQmlydGhFdmlkZW5jZVN0YXR1cxIlCiFCSVJUSF9FVklERU5DRV9TVEFUVVNfVU5TUEVDSUZJRUQQABImCiJCSVJUSF9FVklERU5DRV9TVEFUVVNfTk9UX1JFUVVJUkVEEAESHwobQklSVEhfRVZJREVOQ0VfU1RBVFVTX1JFQURZEAISLQopQklSVEhfRVZJREVOQ0VfU1RBVFVTX0RFTEVHQVRJT05fUkVRVUlSRUQQAxIhCh1CSVJUSF9FVklERU5DRV9TVEFUVVNfSU5WQUxJRBAEKrIBChFRdWVyeVJlc3VsdEZvcm1hdBIjCh9RVUVSWV9SRVNVTFRfRk9STUFUX1VOU1BFQ0lGSUVEEAASJAogUVVFUllfUkVTVUxUX0ZPUk1BVF9MRUdBQ1lfVkFMVUUQARIkCiBRVUVSWV9SRVNVTFRfRk9STUFUX05PTUlOQUxfVVNEQRACEiwKKFFVRVJZX1JFU1VMVF9GT1JNQVRfQVBQTElDQVRJT05fUFJPVE9CVUYQAyqVDAoOUXVlcnlPcGVyYXRpb24SHwobUVVFUllfT1BFUkFUSU9OX1VOU1BFQ0lGSUVEEAASHAoYUVVFUllfT1BFUkFUSU9OX0VYVFJFTVVNEAESIAocUVVFUllfT1BFUkFUSU9OX1JFQURfUE9TVFVSRRAEEh8KG1FVRVJZX09QRVJBVElPTl9DVVJSRU5UX0xBVxAFEiMKH1FVRVJZX09QRVJBVElPTl9JTlRFUkZBQ0VfT0ZGRVIQBhInCiNRVUVSWV9PUEVSQVRJT05fUkVMQVRJT05fR0FURV9PRkZFUhAHEh0KGVFVRVJZX09QRVJBVElPTl9TQ0VORV9MQVcQCBIhCh1RVUVSWV9PUEVSQVRJT05fSU5TVEFMTEVEX0xBVxAJEhwKGFFVRVJZX09QRVJBVElPTl9ERVNDUklCRRAKEiMKH1FVRVJZX09QRVJBVElPTl9LRVJORUxfUkVTT1VSQ0UQCxIjCh9RVUVSWV9PUEVSQVRJT05fREVWRUxPUEVSX1NQQU5TEAwSKQolUVVFUllfT1BFUkFUSU9OX0RFQ0xBUkVEX0NBUEFCSUxJVElFUxANEh0KGVFVRVJZX09QRVJBVElPTl9SRUFESU5FU1MQDhIkCiBRVUVSWV9PUEVSQVRJT05fUFJPSkVDVElPTl9TVEFUUxAPEiUKIVFVRVJZX09QRVJBVElPTl9NRU1PUllfRFJPUF9QUk9CRRAQEhgKFFFVRVJZX09QRVJBVElPTl9XQVJNEBESGwoXUVVFUllfT1BFUkFUSU9OX1JFRlJFU0gQEhIgChxRVUVSWV9PUEVSQVRJT05fVkVSSUZZX0NIQUlOEBMSIgoeUVVFUllfT1BFUkFUSU9OX0NPVU5URVJGQUNUVUFMEBQSGQoVUVVFUllfT1BFUkFUSU9OX1JPVVRFEBUSJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19TRUFMX0ZJRUxEEBgSLAooUVVFUllfT1BFUkFUSU9OX0NSWVBUT19CTElORF9JTkRFWF9UT0tFThAZEioKJlFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfU0NPUEVfS0VZEBoSLworUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9ERVZJQ0VfUkVRVUVTVBAbEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9BUFBST1ZBTBAcEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9SRUNPVkVSWRAdEiAKHFFVRVJZX09QRVJBVElPTl9SRUNFSVBUX1BBVEgQIhIdChlRVUVSWV9PUEVSQVRJT05fQ0VSVF9TSUdOECMSJQohUVVFUllfT1BFUkFUSU9OX0JJUlRIX1RSVVNUX1NUQVRFECQSIQodUVVFUllfT1BFUkFUSU9OX0VSQV9DRVJUX1NJR04QJRIoCiRRVUVSWV9PUEVSQVRJT05fREVMRUdBVElPTl9DRVJUX1NJR04QJhIpCiVRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX0ZST05USUVSECcSKwonUVVFUllfT1BFUkFUSU9OX0NBTk9OSUNBTElaRV9QUk9KRUNUSU9OECgiBAgCEAIiBAgDEAMiBAgWEBYiBAgXEBciBAgeEB4iBAgfEB8iBAggECAiBAghECEqIVFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUUyooUVVFUllfT1BFUkFUSU9OX1BFTkRJTkdfQ09ORkxJQ1RfU1VNTUFSWSoUUVVFUllfT1BFUkFUSU9OX01JTlQqHVFVRVJZX09QRVJBVElPTl9DUllQVE9fS0VZR0VOKh9RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1dSQVBfS0VZKiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1VOV1JBUF9LRVkqHVFVRVJZX09QRVJBVElPTl9BVVRIT1JfS0VZR0VOKiBRVUVSWV9PUEVSQVRJT05fQVRURVNUQVRJT05fU0lHTiqpAQoZUmVhZFByb2plY3Rpb25TdG9yYWdlS2luZBIsCihSRUFEX1BST0pFQ1RJT05fU1RPUkFHRV9LSU5EX1VOU1BFQ0lGSUVEEAASKQolUkVBRF9QUk9KRUNUSU9OX1NUT1JBR0VfS0lORF9SRVNJREVOVBABEjMKL1JFQURfUFJPSkVDVElPTl9TVE9SQUdFX0tJTkRfRklMRV9CQUNLRURfU0NBTEFSEAIq0gIKFVJlc2lkZW50Q29tcG9uZW50S2luZBInCiNSRVNJREVOVF9DT01QT05FTlRfS0lORF9VTlNQRUNJRklFRBAAEiYKIlJFU0lERU5UX0NPTVBPTkVOVF9LSU5EX0ZPTERfU1RBVEUQARItCilSRVNJREVOVF9DT01QT05FTlRfS0lORF9SRUFEX01PREVMX1NRTElURRACEi4KKlJFU0lERU5UX0NPTVBPTkVOVF9LSU5EX1JFQURfTU9ERUxfSU5ERVhFUxADEi0KKVJFU0lERU5UX0NPTVBPTkVOVF9LSU5EX1NIQVJFRF9BVFRSSUJVVEVEEAQSLAooUkVTSURFTlRfQ09NUE9ORU5UX0tJTkRfV09SS1NQQUNFX0NBQ0hFUxAFEiwKKFJFU0lERU5UX0NPTVBPTkVOVF9LSU5EX0dJVF9PQkpFQ1RfQ0FDSEUQBipsChNLZXJuZWxMYXdDYXBhYmlsaXR5EiUKIUtFUk5FTF9MQVdfQ0FQQUJJTElUWV9VTlNQRUNJRklFRBAAEi4KKktFUk5FTF9MQVdfQ0FQQUJJTElUWV9TVEFHRV9aRVJPX0JPT1RTVFJBUBABKlkKFUNoZWNrcG9pbnRDb21wcmVzc2lvbhIfChtDSEVDS1BPSU5UX0NPTVBSRVNTSU9OX05PTkUQABIfChtDSEVDS1BPSU5UX0NPTVBSRVNTSU9OX0daSVAQASqRAQocQ2hlY2twb2ludFZlcmlmaWNhdGlvblBvbGljeRIzCi9DSEVDS1BPSU5UX1ZFUklGSUNBVElPTl9QT0xJQ1lfVkVSSUZZX0NBTk9OSUNBTBAAEjwKOENIRUNLUE9JTlRfVkVSSUZJQ0FUSU9OX1BPTElDWV9UUlVTVF9QUkVWSU9VU0xZX1ZFUklGSUVEEAEqgAEKE0NoZWNrcG9pbnRBc3N1cmFuY2USJAogQ0hFQ0tQT0lOVF9BU1NVUkFOQ0VfVU5TUEVDSUZJRUQQABIgChxDSEVDS1BPSU5UX0FTU1VSQU5DRV9UUlVTVEVEEAESIQodQ0hFQ0tQT0lOVF9BU1NVUkFOQ0VfVkVSSUZJRUQQAiqJAQoVS2VybmVsUmVzaWRlbmN5SW50ZW50EicKI0tFUk5FTF9SRVNJREVOQ1lfSU5URU5UX1VOU1BFQ0lGSUVEEAASIAocS0VSTkVMX1JFU0lERU5DWV9JTlRFTlRfV0FSTRABEiUKIUtFUk5FTF9SRVNJREVOQ1lfSU5URU5UX09OX0RFTUFORBACKq4BChZDdXN0b2R5UmV0ZW50aW9uSW50ZW50EigKJENVU1RPRFlfUkVURU5USU9OX0lOVEVOVF9VTlNQRUNJRklFRBAAEiMKH0NVU1RPRFlfUkVURU5USU9OX0lOVEVOVF9SRVRBSU4QARIiCh5DVVNUT0RZX1JFVEVOVElPTl9JTlRFTlRfQ0FDSEUQAhIhCh1DVVNUT0RZX1JFVEVOVElPTl9JTlRFTlRfTk9ORRADKqgBChpJbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudBIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1VOU1BFQ0lGSUVEEAASLgoqSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9TRUFMRURfQ0hBTkdFEAESLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9DT01NSVRfVFJFRRACKokBChVMaWZlY3ljbGVJbnN0YWxsUGhhc2USJwojTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfVU5TUEVDSUZJRUQQABIiCh5MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9BQ1RJVkUQARIjCh9MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9QRU5ESU5HEAIyWQoSTm9tb3NLZXJuZWxTZXJ2aWNlEkMKBENhbGwSHC5ub21vcy5rZXJuZWwudjEuQ2FsbFJlcXVlc3QaHS5ub21vcy5rZXJuZWwudjEuQ2FsbFJlc3BvbnNlYgZwcm90bzM", [file_google_protobuf_any]);
13
13
 
14
14
  /**
15
15
  * Describes the message nomos.kernel.v1.CallRequest.
@@ -725,452 +725,522 @@ export const SignBirthCertificateResponseSchema = /*@__PURE__*/
725
725
  export const ModelLifecycleIntentSchema = /*@__PURE__*/
726
726
  messageDesc(file_nomos_kernel_v1_kernel, 101);
727
727
 
728
+ /**
729
+ * Describes the message nomos.kernel.v1.DomainPlan.
730
+ * Use `create(DomainPlanSchema)` to create a new message.
731
+ */
732
+ export const DomainPlanSchema = /*@__PURE__*/
733
+ messageDesc(file_nomos_kernel_v1_kernel, 102);
734
+
735
+ /**
736
+ * Describes the message nomos.kernel.v1.DomainAction.
737
+ * Use `create(DomainActionSchema)` to create a new message.
738
+ */
739
+ export const DomainActionSchema = /*@__PURE__*/
740
+ messageDesc(file_nomos_kernel_v1_kernel, 103);
741
+
742
+ /**
743
+ * Describes the message nomos.kernel.v1.DomainSupportPin.
744
+ * Use `create(DomainSupportPinSchema)` to create a new message.
745
+ */
746
+ export const DomainSupportPinSchema = /*@__PURE__*/
747
+ messageDesc(file_nomos_kernel_v1_kernel, 104);
748
+
749
+ /**
750
+ * Describes the message nomos.kernel.v1.ResolveDomainPlanRequest.
751
+ * Use `create(ResolveDomainPlanRequestSchema)` to create a new message.
752
+ */
753
+ export const ResolveDomainPlanRequestSchema = /*@__PURE__*/
754
+ messageDesc(file_nomos_kernel_v1_kernel, 105);
755
+
756
+ /**
757
+ * Describes the message nomos.kernel.v1.DomainConsumerRequirement.
758
+ * Use `create(DomainConsumerRequirementSchema)` to create a new message.
759
+ */
760
+ export const DomainConsumerRequirementSchema = /*@__PURE__*/
761
+ messageDesc(file_nomos_kernel_v1_kernel, 106);
762
+
763
+ /**
764
+ * Describes the message nomos.kernel.v1.DomainConsumerVerdict.
765
+ * Use `create(DomainConsumerVerdictSchema)` to create a new message.
766
+ */
767
+ export const DomainConsumerVerdictSchema = /*@__PURE__*/
768
+ messageDesc(file_nomos_kernel_v1_kernel, 107);
769
+
770
+ /**
771
+ * Describes the message nomos.kernel.v1.ResolvedDomainGroup.
772
+ * Use `create(ResolvedDomainGroupSchema)` to create a new message.
773
+ */
774
+ export const ResolvedDomainGroupSchema = /*@__PURE__*/
775
+ messageDesc(file_nomos_kernel_v1_kernel, 108);
776
+
777
+ /**
778
+ * Describes the message nomos.kernel.v1.DomainUnitPin.
779
+ * Use `create(DomainUnitPinSchema)` to create a new message.
780
+ */
781
+ export const DomainUnitPinSchema = /*@__PURE__*/
782
+ messageDesc(file_nomos_kernel_v1_kernel, 109);
783
+
784
+ /**
785
+ * Describes the message nomos.kernel.v1.ResolveDomainPlanResponse.
786
+ * Use `create(ResolveDomainPlanResponseSchema)` to create a new message.
787
+ */
788
+ export const ResolveDomainPlanResponseSchema = /*@__PURE__*/
789
+ messageDesc(file_nomos_kernel_v1_kernel, 110);
790
+
791
+ /**
792
+ * Describes the message nomos.kernel.v1.DomainTransitionActivation.
793
+ * Use `create(DomainTransitionActivationSchema)` to create a new message.
794
+ */
795
+ export const DomainTransitionActivationSchema = /*@__PURE__*/
796
+ messageDesc(file_nomos_kernel_v1_kernel, 111);
797
+
728
798
  /**
729
799
  * Describes the message nomos.kernel.v1.IdentityProviderWitnessAdoption.
730
800
  * Use `create(IdentityProviderWitnessAdoptionSchema)` to create a new message.
731
801
  */
732
802
  export const IdentityProviderWitnessAdoptionSchema = /*@__PURE__*/
733
- messageDesc(file_nomos_kernel_v1_kernel, 102);
803
+ messageDesc(file_nomos_kernel_v1_kernel, 112);
734
804
 
735
805
  /**
736
806
  * Describes the message nomos.kernel.v1.OfferRequest.
737
807
  * Use `create(OfferRequestSchema)` to create a new message.
738
808
  */
739
809
  export const OfferRequestSchema = /*@__PURE__*/
740
- messageDesc(file_nomos_kernel_v1_kernel, 103);
810
+ messageDesc(file_nomos_kernel_v1_kernel, 113);
741
811
 
742
812
  /**
743
813
  * Describes the message nomos.kernel.v1.LawUnit.
744
814
  * Use `create(LawUnitSchema)` to create a new message.
745
815
  */
746
816
  export const LawUnitSchema = /*@__PURE__*/
747
- messageDesc(file_nomos_kernel_v1_kernel, 104);
817
+ messageDesc(file_nomos_kernel_v1_kernel, 114);
748
818
 
749
819
  /**
750
820
  * Describes the message nomos.kernel.v1.LawUnitFile.
751
821
  * Use `create(LawUnitFileSchema)` to create a new message.
752
822
  */
753
823
  export const LawUnitFileSchema = /*@__PURE__*/
754
- messageDesc(file_nomos_kernel_v1_kernel, 105);
824
+ messageDesc(file_nomos_kernel_v1_kernel, 115);
755
825
 
756
826
  /**
757
827
  * Describes the message nomos.kernel.v1.AttestedRead.
758
828
  * Use `create(AttestedReadSchema)` to create a new message.
759
829
  */
760
830
  export const AttestedReadSchema = /*@__PURE__*/
761
- messageDesc(file_nomos_kernel_v1_kernel, 106);
831
+ messageDesc(file_nomos_kernel_v1_kernel, 116);
762
832
 
763
833
  /**
764
834
  * Describes the message nomos.kernel.v1.ReadAttestation.
765
835
  * Use `create(ReadAttestationSchema)` to create a new message.
766
836
  */
767
837
  export const ReadAttestationSchema = /*@__PURE__*/
768
- messageDesc(file_nomos_kernel_v1_kernel, 107);
838
+ messageDesc(file_nomos_kernel_v1_kernel, 117);
769
839
 
770
840
  /**
771
841
  * Describes the message nomos.kernel.v1.ConflictSnapshot.
772
842
  * Use `create(ConflictSnapshotSchema)` to create a new message.
773
843
  */
774
844
  export const ConflictSnapshotSchema = /*@__PURE__*/
775
- messageDesc(file_nomos_kernel_v1_kernel, 108);
845
+ messageDesc(file_nomos_kernel_v1_kernel, 118);
776
846
 
777
847
  /**
778
848
  * Describes the message nomos.kernel.v1.QueryRequest.
779
849
  * Use `create(QueryRequestSchema)` to create a new message.
780
850
  */
781
851
  export const QueryRequestSchema = /*@__PURE__*/
782
- messageDesc(file_nomos_kernel_v1_kernel, 109);
852
+ messageDesc(file_nomos_kernel_v1_kernel, 119);
783
853
 
784
854
  /**
785
855
  * Describes the message nomos.kernel.v1.WorkspaceEffectReceiptQuery.
786
856
  * Use `create(WorkspaceEffectReceiptQuerySchema)` to create a new message.
787
857
  */
788
858
  export const WorkspaceEffectReceiptQuerySchema = /*@__PURE__*/
789
- messageDesc(file_nomos_kernel_v1_kernel, 110);
859
+ messageDesc(file_nomos_kernel_v1_kernel, 120);
790
860
 
791
861
  /**
792
862
  * Describes the message nomos.kernel.v1.WorkspaceEffectReceiptResponse.
793
863
  * Use `create(WorkspaceEffectReceiptResponseSchema)` to create a new message.
794
864
  */
795
865
  export const WorkspaceEffectReceiptResponseSchema = /*@__PURE__*/
796
- messageDesc(file_nomos_kernel_v1_kernel, 111);
866
+ messageDesc(file_nomos_kernel_v1_kernel, 121);
797
867
 
798
868
  /**
799
869
  * Describes the message nomos.kernel.v1.FullHistoryAuditQuery.
800
870
  * Use `create(FullHistoryAuditQuerySchema)` to create a new message.
801
871
  */
802
872
  export const FullHistoryAuditQuerySchema = /*@__PURE__*/
803
- messageDesc(file_nomos_kernel_v1_kernel, 112);
873
+ messageDesc(file_nomos_kernel_v1_kernel, 122);
804
874
 
805
875
  /**
806
876
  * Describes the message nomos.kernel.v1.FullHistoryAuditResponse.
807
877
  * Use `create(FullHistoryAuditResponseSchema)` to create a new message.
808
878
  */
809
879
  export const FullHistoryAuditResponseSchema = /*@__PURE__*/
810
- messageDesc(file_nomos_kernel_v1_kernel, 113);
880
+ messageDesc(file_nomos_kernel_v1_kernel, 123);
811
881
 
812
882
  /**
813
883
  * Describes the message nomos.kernel.v1.IdentityProviderWitnessQuery.
814
884
  * Use `create(IdentityProviderWitnessQuerySchema)` to create a new message.
815
885
  */
816
886
  export const IdentityProviderWitnessQuerySchema = /*@__PURE__*/
817
- messageDesc(file_nomos_kernel_v1_kernel, 114);
887
+ messageDesc(file_nomos_kernel_v1_kernel, 124);
818
888
 
819
889
  /**
820
890
  * Describes the message nomos.kernel.v1.IdentityProviderWitnessKey.
821
891
  * Use `create(IdentityProviderWitnessKeySchema)` to create a new message.
822
892
  */
823
893
  export const IdentityProviderWitnessKeySchema = /*@__PURE__*/
824
- messageDesc(file_nomos_kernel_v1_kernel, 115);
894
+ messageDesc(file_nomos_kernel_v1_kernel, 125);
825
895
 
826
896
  /**
827
897
  * Describes the message nomos.kernel.v1.IdentityProviderWitnessCertificate.
828
898
  * Use `create(IdentityProviderWitnessCertificateSchema)` to create a new message.
829
899
  */
830
900
  export const IdentityProviderWitnessCertificateSchema = /*@__PURE__*/
831
- messageDesc(file_nomos_kernel_v1_kernel, 116);
901
+ messageDesc(file_nomos_kernel_v1_kernel, 126);
832
902
 
833
903
  /**
834
904
  * Describes the message nomos.kernel.v1.IdentityProviderWitnessResponse.
835
905
  * Use `create(IdentityProviderWitnessResponseSchema)` to create a new message.
836
906
  */
837
907
  export const IdentityProviderWitnessResponseSchema = /*@__PURE__*/
838
- messageDesc(file_nomos_kernel_v1_kernel, 117);
908
+ messageDesc(file_nomos_kernel_v1_kernel, 127);
839
909
 
840
910
  /**
841
911
  * Describes the message nomos.kernel.v1.ChildWorkspaceQuery.
842
912
  * Use `create(ChildWorkspaceQuerySchema)` to create a new message.
843
913
  */
844
914
  export const ChildWorkspaceQuerySchema = /*@__PURE__*/
845
- messageDesc(file_nomos_kernel_v1_kernel, 118);
915
+ messageDesc(file_nomos_kernel_v1_kernel, 128);
846
916
 
847
917
  /**
848
918
  * Describes the message nomos.kernel.v1.ChildWorkspaceQueryRecord.
849
919
  * Use `create(ChildWorkspaceQueryRecordSchema)` to create a new message.
850
920
  */
851
921
  export const ChildWorkspaceQueryRecordSchema = /*@__PURE__*/
852
- messageDesc(file_nomos_kernel_v1_kernel, 119);
922
+ messageDesc(file_nomos_kernel_v1_kernel, 129);
853
923
 
854
924
  /**
855
925
  * Describes the message nomos.kernel.v1.ChildWorkspaceQueryResponse.
856
926
  * Use `create(ChildWorkspaceQueryResponseSchema)` to create a new message.
857
927
  */
858
928
  export const ChildWorkspaceQueryResponseSchema = /*@__PURE__*/
859
- messageDesc(file_nomos_kernel_v1_kernel, 120);
929
+ messageDesc(file_nomos_kernel_v1_kernel, 130);
860
930
 
861
931
  /**
862
932
  * Describes the message nomos.kernel.v1.InstalledLawDeclarationsQuery.
863
933
  * Use `create(InstalledLawDeclarationsQuerySchema)` to create a new message.
864
934
  */
865
935
  export const InstalledLawDeclarationsQuerySchema = /*@__PURE__*/
866
- messageDesc(file_nomos_kernel_v1_kernel, 121);
936
+ messageDesc(file_nomos_kernel_v1_kernel, 131);
867
937
 
868
938
  /**
869
939
  * Describes the message nomos.kernel.v1.InstalledLawUnit.
870
940
  * Use `create(InstalledLawUnitSchema)` to create a new message.
871
941
  */
872
942
  export const InstalledLawUnitSchema = /*@__PURE__*/
873
- messageDesc(file_nomos_kernel_v1_kernel, 122);
943
+ messageDesc(file_nomos_kernel_v1_kernel, 132);
874
944
 
875
945
  /**
876
946
  * Describes the message nomos.kernel.v1.InstalledLawUnitSet.
877
947
  * Use `create(InstalledLawUnitSetSchema)` to create a new message.
878
948
  */
879
949
  export const InstalledLawUnitSetSchema = /*@__PURE__*/
880
- messageDesc(file_nomos_kernel_v1_kernel, 123);
950
+ messageDesc(file_nomos_kernel_v1_kernel, 133);
881
951
 
882
952
  /**
883
953
  * Describes the message nomos.kernel.v1.DeclaredAuthenticationProvider.
884
954
  * Use `create(DeclaredAuthenticationProviderSchema)` to create a new message.
885
955
  */
886
956
  export const DeclaredAuthenticationProviderSchema = /*@__PURE__*/
887
- messageDesc(file_nomos_kernel_v1_kernel, 124);
957
+ messageDesc(file_nomos_kernel_v1_kernel, 134);
888
958
 
889
959
  /**
890
960
  * Describes the message nomos.kernel.v1.InstalledLawClosureDeclarations.
891
961
  * Use `create(InstalledLawClosureDeclarationsSchema)` to create a new message.
892
962
  */
893
963
  export const InstalledLawClosureDeclarationsSchema = /*@__PURE__*/
894
- messageDesc(file_nomos_kernel_v1_kernel, 125);
964
+ messageDesc(file_nomos_kernel_v1_kernel, 135);
895
965
 
896
966
  /**
897
967
  * Describes the message nomos.kernel.v1.InstalledLawDeclarationsResponse.
898
968
  * Use `create(InstalledLawDeclarationsResponseSchema)` to create a new message.
899
969
  */
900
970
  export const InstalledLawDeclarationsResponseSchema = /*@__PURE__*/
901
- messageDesc(file_nomos_kernel_v1_kernel, 126);
971
+ messageDesc(file_nomos_kernel_v1_kernel, 136);
902
972
 
903
973
  /**
904
974
  * Describes the message nomos.kernel.v1.DirectiveAuthoringRequirementsQuery.
905
975
  * Use `create(DirectiveAuthoringRequirementsQuerySchema)` to create a new message.
906
976
  */
907
977
  export const DirectiveAuthoringRequirementsQuerySchema = /*@__PURE__*/
908
- messageDesc(file_nomos_kernel_v1_kernel, 127);
978
+ messageDesc(file_nomos_kernel_v1_kernel, 137);
909
979
 
910
980
  /**
911
981
  * Describes the message nomos.kernel.v1.DirectiveAuthoringRequirementsResponse.
912
982
  * Use `create(DirectiveAuthoringRequirementsResponseSchema)` to create a new message.
913
983
  */
914
984
  export const DirectiveAuthoringRequirementsResponseSchema = /*@__PURE__*/
915
- messageDesc(file_nomos_kernel_v1_kernel, 128);
985
+ messageDesc(file_nomos_kernel_v1_kernel, 138);
916
986
 
917
987
  /**
918
988
  * Describes the message nomos.kernel.v1.AuthenticationPostureQuery.
919
989
  * Use `create(AuthenticationPostureQuerySchema)` to create a new message.
920
990
  */
921
991
  export const AuthenticationPostureQuerySchema = /*@__PURE__*/
922
- messageDesc(file_nomos_kernel_v1_kernel, 129);
992
+ messageDesc(file_nomos_kernel_v1_kernel, 139);
923
993
 
924
994
  /**
925
995
  * Describes the message nomos.kernel.v1.AuthenticationPostureResponse.
926
996
  * Use `create(AuthenticationPostureResponseSchema)` to create a new message.
927
997
  */
928
998
  export const AuthenticationPostureResponseSchema = /*@__PURE__*/
929
- messageDesc(file_nomos_kernel_v1_kernel, 130);
999
+ messageDesc(file_nomos_kernel_v1_kernel, 140);
930
1000
 
931
1001
  /**
932
1002
  * Describes the message nomos.kernel.v1.BirthEvidenceReadiness.
933
1003
  * Use `create(BirthEvidenceReadinessSchema)` to create a new message.
934
1004
  */
935
1005
  export const BirthEvidenceReadinessSchema = /*@__PURE__*/
936
- messageDesc(file_nomos_kernel_v1_kernel, 131);
1006
+ messageDesc(file_nomos_kernel_v1_kernel, 141);
937
1007
 
938
1008
  /**
939
1009
  * Describes the message nomos.kernel.v1.OwnedDeviceRequestQuery.
940
1010
  * Use `create(OwnedDeviceRequestQuerySchema)` to create a new message.
941
1011
  */
942
1012
  export const OwnedDeviceRequestQuerySchema = /*@__PURE__*/
943
- messageDesc(file_nomos_kernel_v1_kernel, 132);
1013
+ messageDesc(file_nomos_kernel_v1_kernel, 142);
944
1014
 
945
1015
  /**
946
1016
  * Describes the message nomos.kernel.v1.OwnedDeviceRequestResponse.
947
1017
  * Use `create(OwnedDeviceRequestResponseSchema)` to create a new message.
948
1018
  */
949
1019
  export const OwnedDeviceRequestResponseSchema = /*@__PURE__*/
950
- messageDesc(file_nomos_kernel_v1_kernel, 133);
1020
+ messageDesc(file_nomos_kernel_v1_kernel, 143);
951
1021
 
952
1022
  /**
953
1023
  * Describes the message nomos.kernel.v1.OwnedPrepareApprovalQuery.
954
1024
  * Use `create(OwnedPrepareApprovalQuerySchema)` to create a new message.
955
1025
  */
956
1026
  export const OwnedPrepareApprovalQuerySchema = /*@__PURE__*/
957
- messageDesc(file_nomos_kernel_v1_kernel, 134);
1027
+ messageDesc(file_nomos_kernel_v1_kernel, 144);
958
1028
 
959
1029
  /**
960
1030
  * Describes the message nomos.kernel.v1.OwnedPrepareApprovalResponse.
961
1031
  * Use `create(OwnedPrepareApprovalResponseSchema)` to create a new message.
962
1032
  */
963
1033
  export const OwnedPrepareApprovalResponseSchema = /*@__PURE__*/
964
- messageDesc(file_nomos_kernel_v1_kernel, 135);
1034
+ messageDesc(file_nomos_kernel_v1_kernel, 145);
965
1035
 
966
1036
  /**
967
1037
  * Describes the message nomos.kernel.v1.QueryAuthority.
968
1038
  * Use `create(QueryAuthoritySchema)` to create a new message.
969
1039
  */
970
1040
  export const QueryAuthoritySchema = /*@__PURE__*/
971
- messageDesc(file_nomos_kernel_v1_kernel, 136);
1041
+ messageDesc(file_nomos_kernel_v1_kernel, 146);
972
1042
 
973
1043
  /**
974
1044
  * Describes the message nomos.kernel.v1.InjectedKey.
975
1045
  * Use `create(InjectedKeySchema)` to create a new message.
976
1046
  */
977
1047
  export const InjectedKeySchema = /*@__PURE__*/
978
- messageDesc(file_nomos_kernel_v1_kernel, 137);
1048
+ messageDesc(file_nomos_kernel_v1_kernel, 147);
979
1049
 
980
1050
  /**
981
1051
  * Describes the message nomos.kernel.v1.RowsQuery.
982
1052
  * Use `create(RowsQuerySchema)` to create a new message.
983
1053
  */
984
1054
  export const RowsQuerySchema = /*@__PURE__*/
985
- messageDesc(file_nomos_kernel_v1_kernel, 138);
1055
+ messageDesc(file_nomos_kernel_v1_kernel, 148);
986
1056
 
987
1057
  /**
988
1058
  * Describes the message nomos.kernel.v1.PageQuery.
989
1059
  * Use `create(PageQuerySchema)` to create a new message.
990
1060
  */
991
1061
  export const PageQuerySchema = /*@__PURE__*/
992
- messageDesc(file_nomos_kernel_v1_kernel, 139);
1062
+ messageDesc(file_nomos_kernel_v1_kernel, 149);
993
1063
 
994
1064
  /**
995
1065
  * Describes the message nomos.kernel.v1.ByIdQuery.
996
1066
  * Use `create(ByIdQuerySchema)` to create a new message.
997
1067
  */
998
1068
  export const ByIdQuerySchema = /*@__PURE__*/
999
- messageDesc(file_nomos_kernel_v1_kernel, 140);
1069
+ messageDesc(file_nomos_kernel_v1_kernel, 150);
1000
1070
 
1001
1071
  /**
1002
1072
  * Describes the message nomos.kernel.v1.ByTypeQuery.
1003
1073
  * Use `create(ByTypeQuerySchema)` to create a new message.
1004
1074
  */
1005
1075
  export const ByTypeQuerySchema = /*@__PURE__*/
1006
- messageDesc(file_nomos_kernel_v1_kernel, 141);
1076
+ messageDesc(file_nomos_kernel_v1_kernel, 151);
1007
1077
 
1008
1078
  /**
1009
1079
  * Describes the message nomos.kernel.v1.NomosRef.
1010
1080
  * Use `create(NomosRefSchema)` to create a new message.
1011
1081
  */
1012
1082
  export const NomosRefSchema = /*@__PURE__*/
1013
- messageDesc(file_nomos_kernel_v1_kernel, 142);
1083
+ messageDesc(file_nomos_kernel_v1_kernel, 152);
1014
1084
 
1015
1085
  /**
1016
1086
  * Describes the message nomos.kernel.v1.ResolveRefsQuery.
1017
1087
  * Use `create(ResolveRefsQuerySchema)` to create a new message.
1018
1088
  */
1019
1089
  export const ResolveRefsQuerySchema = /*@__PURE__*/
1020
- messageDesc(file_nomos_kernel_v1_kernel, 143);
1090
+ messageDesc(file_nomos_kernel_v1_kernel, 153);
1021
1091
 
1022
1092
  /**
1023
1093
  * Describes the message nomos.kernel.v1.ReferenceVersionsQuery.
1024
1094
  * Use `create(ReferenceVersionsQuerySchema)` to create a new message.
1025
1095
  */
1026
1096
  export const ReferenceVersionsQuerySchema = /*@__PURE__*/
1027
- messageDesc(file_nomos_kernel_v1_kernel, 144);
1097
+ messageDesc(file_nomos_kernel_v1_kernel, 154);
1028
1098
 
1029
1099
  /**
1030
1100
  * Describes the message nomos.kernel.v1.ReferenceVersionCheck.
1031
1101
  * Use `create(ReferenceVersionCheckSchema)` to create a new message.
1032
1102
  */
1033
1103
  export const ReferenceVersionCheckSchema = /*@__PURE__*/
1034
- messageDesc(file_nomos_kernel_v1_kernel, 145);
1104
+ messageDesc(file_nomos_kernel_v1_kernel, 155);
1035
1105
 
1036
1106
  /**
1037
1107
  * Describes the message nomos.kernel.v1.TallyQuery.
1038
1108
  * Use `create(TallyQuerySchema)` to create a new message.
1039
1109
  */
1040
1110
  export const TallyQuerySchema = /*@__PURE__*/
1041
- messageDesc(file_nomos_kernel_v1_kernel, 146);
1111
+ messageDesc(file_nomos_kernel_v1_kernel, 156);
1042
1112
 
1043
1113
  /**
1044
1114
  * Describes the message nomos.kernel.v1.SpatialQuery.
1045
1115
  * Use `create(SpatialQuerySchema)` to create a new message.
1046
1116
  */
1047
1117
  export const SpatialQuerySchema = /*@__PURE__*/
1048
- messageDesc(file_nomos_kernel_v1_kernel, 147);
1118
+ messageDesc(file_nomos_kernel_v1_kernel, 157);
1049
1119
 
1050
1120
  /**
1051
1121
  * Describes the message nomos.kernel.v1.PendingConflictsQuery.
1052
1122
  * Use `create(PendingConflictsQuerySchema)` to create a new message.
1053
1123
  */
1054
1124
  export const PendingConflictsQuerySchema = /*@__PURE__*/
1055
- messageDesc(file_nomos_kernel_v1_kernel, 148);
1125
+ messageDesc(file_nomos_kernel_v1_kernel, 158);
1056
1126
 
1057
1127
  /**
1058
1128
  * Describes the message nomos.kernel.v1.PendingConflictSummaryQuery.
1059
1129
  * Use `create(PendingConflictSummaryQuerySchema)` to create a new message.
1060
1130
  */
1061
1131
  export const PendingConflictSummaryQuerySchema = /*@__PURE__*/
1062
- messageDesc(file_nomos_kernel_v1_kernel, 149);
1132
+ messageDesc(file_nomos_kernel_v1_kernel, 159);
1063
1133
 
1064
1134
  /**
1065
1135
  * Describes the message nomos.kernel.v1.NamedQuery.
1066
1136
  * Use `create(NamedQuerySchema)` to create a new message.
1067
1137
  */
1068
1138
  export const NamedQuerySchema = /*@__PURE__*/
1069
- messageDesc(file_nomos_kernel_v1_kernel, 150);
1139
+ messageDesc(file_nomos_kernel_v1_kernel, 160);
1070
1140
 
1071
1141
  /**
1072
1142
  * Describes the message nomos.kernel.v1.FrontierTransitionRequest.
1073
1143
  * Use `create(FrontierTransitionRequestSchema)` to create a new message.
1074
1144
  */
1075
1145
  export const FrontierTransitionRequestSchema = /*@__PURE__*/
1076
- messageDesc(file_nomos_kernel_v1_kernel, 151);
1146
+ messageDesc(file_nomos_kernel_v1_kernel, 161);
1077
1147
 
1078
1148
  /**
1079
1149
  * Describes the message nomos.kernel.v1.FrontierTransitionDispositionMapEntry.
1080
1150
  * Use `create(FrontierTransitionDispositionMapEntrySchema)` to create a new message.
1081
1151
  */
1082
1152
  export const FrontierTransitionDispositionMapEntrySchema = /*@__PURE__*/
1083
- messageDesc(file_nomos_kernel_v1_kernel, 152);
1153
+ messageDesc(file_nomos_kernel_v1_kernel, 162);
1084
1154
 
1085
1155
  /**
1086
1156
  * Describes the message nomos.kernel.v1.FrontierTransitionDispositions.
1087
1157
  * Use `create(FrontierTransitionDispositionsSchema)` to create a new message.
1088
1158
  */
1089
1159
  export const FrontierTransitionDispositionsSchema = /*@__PURE__*/
1090
- messageDesc(file_nomos_kernel_v1_kernel, 153);
1160
+ messageDesc(file_nomos_kernel_v1_kernel, 163);
1091
1161
 
1092
1162
  /**
1093
1163
  * Describes the message nomos.kernel.v1.FrontierTransitionViolation.
1094
1164
  * Use `create(FrontierTransitionViolationSchema)` to create a new message.
1095
1165
  */
1096
1166
  export const FrontierTransitionViolationSchema = /*@__PURE__*/
1097
- messageDesc(file_nomos_kernel_v1_kernel, 154);
1167
+ messageDesc(file_nomos_kernel_v1_kernel, 164);
1098
1168
 
1099
1169
  /**
1100
1170
  * Describes the message nomos.kernel.v1.FrontierTransitionResponse.
1101
1171
  * Use `create(FrontierTransitionResponseSchema)` to create a new message.
1102
1172
  */
1103
1173
  export const FrontierTransitionResponseSchema = /*@__PURE__*/
1104
- messageDesc(file_nomos_kernel_v1_kernel, 155);
1174
+ messageDesc(file_nomos_kernel_v1_kernel, 165);
1105
1175
 
1106
1176
  /**
1107
1177
  * Describes the message nomos.kernel.v1.AuthorizationObject.
1108
1178
  * Use `create(AuthorizationObjectSchema)` to create a new message.
1109
1179
  */
1110
1180
  export const AuthorizationObjectSchema = /*@__PURE__*/
1111
- messageDesc(file_nomos_kernel_v1_kernel, 156);
1181
+ messageDesc(file_nomos_kernel_v1_kernel, 166);
1112
1182
 
1113
1183
  /**
1114
1184
  * Describes the message nomos.kernel.v1.AuthorizationSubject.
1115
1185
  * Use `create(AuthorizationSubjectSchema)` to create a new message.
1116
1186
  */
1117
1187
  export const AuthorizationSubjectSchema = /*@__PURE__*/
1118
- messageDesc(file_nomos_kernel_v1_kernel, 157);
1188
+ messageDesc(file_nomos_kernel_v1_kernel, 167);
1119
1189
 
1120
1190
  /**
1121
1191
  * Describes the message nomos.kernel.v1.RelationshipTupleAddress.
1122
1192
  * Use `create(RelationshipTupleAddressSchema)` to create a new message.
1123
1193
  */
1124
1194
  export const RelationshipTupleAddressSchema = /*@__PURE__*/
1125
- messageDesc(file_nomos_kernel_v1_kernel, 158);
1195
+ messageDesc(file_nomos_kernel_v1_kernel, 168);
1126
1196
 
1127
1197
  /**
1128
1198
  * Describes the message nomos.kernel.v1.AuthorizationConsistency.
1129
1199
  * Use `create(AuthorizationConsistencySchema)` to create a new message.
1130
1200
  */
1131
1201
  export const AuthorizationConsistencySchema = /*@__PURE__*/
1132
- messageDesc(file_nomos_kernel_v1_kernel, 159);
1202
+ messageDesc(file_nomos_kernel_v1_kernel, 169);
1133
1203
 
1134
1204
  /**
1135
1205
  * Describes the message nomos.kernel.v1.AuthorizationConditionContext.
1136
1206
  * Use `create(AuthorizationConditionContextSchema)` to create a new message.
1137
1207
  */
1138
1208
  export const AuthorizationConditionContextSchema = /*@__PURE__*/
1139
- messageDesc(file_nomos_kernel_v1_kernel, 160);
1209
+ messageDesc(file_nomos_kernel_v1_kernel, 170);
1140
1210
 
1141
1211
  /**
1142
1212
  * Describes the message nomos.kernel.v1.AuthorizationCheckRequest.
1143
1213
  * Use `create(AuthorizationCheckRequestSchema)` to create a new message.
1144
1214
  */
1145
1215
  export const AuthorizationCheckRequestSchema = /*@__PURE__*/
1146
- messageDesc(file_nomos_kernel_v1_kernel, 161);
1216
+ messageDesc(file_nomos_kernel_v1_kernel, 171);
1147
1217
 
1148
1218
  /**
1149
1219
  * Describes the message nomos.kernel.v1.AuthorizationExpandRequest.
1150
1220
  * Use `create(AuthorizationExpandRequestSchema)` to create a new message.
1151
1221
  */
1152
1222
  export const AuthorizationExpandRequestSchema = /*@__PURE__*/
1153
- messageDesc(file_nomos_kernel_v1_kernel, 162);
1223
+ messageDesc(file_nomos_kernel_v1_kernel, 172);
1154
1224
 
1155
1225
  /**
1156
1226
  * Describes the message nomos.kernel.v1.RelationshipTupleEvidence.
1157
1227
  * Use `create(RelationshipTupleEvidenceSchema)` to create a new message.
1158
1228
  */
1159
1229
  export const RelationshipTupleEvidenceSchema = /*@__PURE__*/
1160
- messageDesc(file_nomos_kernel_v1_kernel, 163);
1230
+ messageDesc(file_nomos_kernel_v1_kernel, 173);
1161
1231
 
1162
1232
  /**
1163
1233
  * Describes the message nomos.kernel.v1.AuthorizationExplanation.
1164
1234
  * Use `create(AuthorizationExplanationSchema)` to create a new message.
1165
1235
  */
1166
1236
  export const AuthorizationExplanationSchema = /*@__PURE__*/
1167
- messageDesc(file_nomos_kernel_v1_kernel, 164);
1237
+ messageDesc(file_nomos_kernel_v1_kernel, 174);
1168
1238
 
1169
1239
  /**
1170
1240
  * Describes the enum nomos.kernel.v1.AuthorizationExplanation.Operation.
1171
1241
  */
1172
1242
  export const AuthorizationExplanation_OperationSchema = /*@__PURE__*/
1173
- enumDesc(file_nomos_kernel_v1_kernel, 164, 0);
1243
+ enumDesc(file_nomos_kernel_v1_kernel, 174, 0);
1174
1244
 
1175
1245
  /**
1176
1246
  * @generated from enum nomos.kernel.v1.AuthorizationExplanation.Operation
@@ -1183,721 +1253,756 @@ export const AuthorizationExplanation_Operation = /*@__PURE__*/
1183
1253
  * Use `create(AuthorizationDecisionBasisSchema)` to create a new message.
1184
1254
  */
1185
1255
  export const AuthorizationDecisionBasisSchema = /*@__PURE__*/
1186
- messageDesc(file_nomos_kernel_v1_kernel, 165);
1256
+ messageDesc(file_nomos_kernel_v1_kernel, 175);
1187
1257
 
1188
1258
  /**
1189
1259
  * Describes the message nomos.kernel.v1.AuthorizationCheckResponse.
1190
1260
  * Use `create(AuthorizationCheckResponseSchema)` to create a new message.
1191
1261
  */
1192
1262
  export const AuthorizationCheckResponseSchema = /*@__PURE__*/
1193
- messageDesc(file_nomos_kernel_v1_kernel, 166);
1263
+ messageDesc(file_nomos_kernel_v1_kernel, 176);
1194
1264
 
1195
1265
  /**
1196
1266
  * Describes the message nomos.kernel.v1.AuthorizationExpandResponse.
1197
1267
  * Use `create(AuthorizationExpandResponseSchema)` to create a new message.
1198
1268
  */
1199
1269
  export const AuthorizationExpandResponseSchema = /*@__PURE__*/
1200
- messageDesc(file_nomos_kernel_v1_kernel, 167);
1270
+ messageDesc(file_nomos_kernel_v1_kernel, 177);
1201
1271
 
1202
1272
  /**
1203
1273
  * Describes the message nomos.kernel.v1.OutboxRequest.
1204
1274
  * Use `create(OutboxRequestSchema)` to create a new message.
1205
1275
  */
1206
1276
  export const OutboxRequestSchema = /*@__PURE__*/
1207
- messageDesc(file_nomos_kernel_v1_kernel, 168);
1277
+ messageDesc(file_nomos_kernel_v1_kernel, 178);
1208
1278
 
1209
1279
  /**
1210
1280
  * Describes the message nomos.kernel.v1.SyncRequest.
1211
1281
  * Use `create(SyncRequestSchema)` to create a new message.
1212
1282
  */
1213
1283
  export const SyncRequestSchema = /*@__PURE__*/
1214
- messageDesc(file_nomos_kernel_v1_kernel, 169);
1284
+ messageDesc(file_nomos_kernel_v1_kernel, 179);
1215
1285
 
1216
1286
  /**
1217
1287
  * Describes the message nomos.kernel.v1.KernelConfigurationRequest.
1218
1288
  * Use `create(KernelConfigurationRequestSchema)` to create a new message.
1219
1289
  */
1220
1290
  export const KernelConfigurationRequestSchema = /*@__PURE__*/
1221
- messageDesc(file_nomos_kernel_v1_kernel, 170);
1291
+ messageDesc(file_nomos_kernel_v1_kernel, 180);
1222
1292
 
1223
1293
  /**
1224
1294
  * Describes the message nomos.kernel.v1.KernelConfigurationResponse.
1225
1295
  * Use `create(KernelConfigurationResponseSchema)` to create a new message.
1226
1296
  */
1227
1297
  export const KernelConfigurationResponseSchema = /*@__PURE__*/
1228
- messageDesc(file_nomos_kernel_v1_kernel, 171);
1298
+ messageDesc(file_nomos_kernel_v1_kernel, 181);
1229
1299
 
1230
1300
  /**
1231
1301
  * Describes the message nomos.kernel.v1.CustodyRequest.
1232
1302
  * Use `create(CustodyRequestSchema)` to create a new message.
1233
1303
  */
1234
1304
  export const CustodyRequestSchema = /*@__PURE__*/
1235
- messageDesc(file_nomos_kernel_v1_kernel, 172);
1305
+ messageDesc(file_nomos_kernel_v1_kernel, 182);
1236
1306
 
1237
1307
  /**
1238
1308
  * Describes the message nomos.kernel.v1.AggregateCensusRequest.
1239
1309
  * Use `create(AggregateCensusRequestSchema)` to create a new message.
1240
1310
  */
1241
1311
  export const AggregateCensusRequestSchema = /*@__PURE__*/
1242
- messageDesc(file_nomos_kernel_v1_kernel, 173);
1312
+ messageDesc(file_nomos_kernel_v1_kernel, 183);
1243
1313
 
1244
1314
  /**
1245
1315
  * Describes the message nomos.kernel.v1.AggregateTypeCount.
1246
1316
  * Use `create(AggregateTypeCountSchema)` to create a new message.
1247
1317
  */
1248
1318
  export const AggregateTypeCountSchema = /*@__PURE__*/
1249
- messageDesc(file_nomos_kernel_v1_kernel, 174);
1319
+ messageDesc(file_nomos_kernel_v1_kernel, 184);
1250
1320
 
1251
1321
  /**
1252
1322
  * Describes the message nomos.kernel.v1.AggregateCensusResponse.
1253
1323
  * Use `create(AggregateCensusResponseSchema)` to create a new message.
1254
1324
  */
1255
1325
  export const AggregateCensusResponseSchema = /*@__PURE__*/
1256
- messageDesc(file_nomos_kernel_v1_kernel, 175);
1326
+ messageDesc(file_nomos_kernel_v1_kernel, 185);
1257
1327
 
1258
1328
  /**
1259
1329
  * Describes the message nomos.kernel.v1.ResidentFootprintRequest.
1260
1330
  * Use `create(ResidentFootprintRequestSchema)` to create a new message.
1261
1331
  */
1262
1332
  export const ResidentFootprintRequestSchema = /*@__PURE__*/
1263
- messageDesc(file_nomos_kernel_v1_kernel, 176);
1333
+ messageDesc(file_nomos_kernel_v1_kernel, 186);
1264
1334
 
1265
1335
  /**
1266
1336
  * Describes the message nomos.kernel.v1.ResidentFootprint.
1267
1337
  * Use `create(ResidentFootprintSchema)` to create a new message.
1268
1338
  */
1269
1339
  export const ResidentFootprintSchema = /*@__PURE__*/
1270
- messageDesc(file_nomos_kernel_v1_kernel, 177);
1340
+ messageDesc(file_nomos_kernel_v1_kernel, 187);
1271
1341
 
1272
1342
  /**
1273
1343
  * Describes the message nomos.kernel.v1.ResidentComponent.
1274
1344
  * Use `create(ResidentComponentSchema)` to create a new message.
1275
1345
  */
1276
1346
  export const ResidentComponentSchema = /*@__PURE__*/
1277
- messageDesc(file_nomos_kernel_v1_kernel, 178);
1347
+ messageDesc(file_nomos_kernel_v1_kernel, 188);
1278
1348
 
1279
1349
  /**
1280
1350
  * Describes the message nomos.kernel.v1.ResidentFootprintResponse.
1281
1351
  * Use `create(ResidentFootprintResponseSchema)` to create a new message.
1282
1352
  */
1283
1353
  export const ResidentFootprintResponseSchema = /*@__PURE__*/
1284
- messageDesc(file_nomos_kernel_v1_kernel, 179);
1354
+ messageDesc(file_nomos_kernel_v1_kernel, 189);
1285
1355
 
1286
1356
  /**
1287
1357
  * Describes the message nomos.kernel.v1.PackDeltaRequest.
1288
1358
  * Use `create(PackDeltaRequestSchema)` to create a new message.
1289
1359
  */
1290
1360
  export const PackDeltaRequestSchema = /*@__PURE__*/
1291
- messageDesc(file_nomos_kernel_v1_kernel, 180);
1361
+ messageDesc(file_nomos_kernel_v1_kernel, 190);
1292
1362
 
1293
1363
  /**
1294
1364
  * Describes the message nomos.kernel.v1.ApplyPackRequest.
1295
1365
  * Use `create(ApplyPackRequestSchema)` to create a new message.
1296
1366
  */
1297
1367
  export const ApplyPackRequestSchema = /*@__PURE__*/
1298
- messageDesc(file_nomos_kernel_v1_kernel, 181);
1368
+ messageDesc(file_nomos_kernel_v1_kernel, 191);
1299
1369
 
1300
1370
  /**
1301
1371
  * Describes the message nomos.kernel.v1.RepoStatsRequest.
1302
1372
  * Use `create(RepoStatsRequestSchema)` to create a new message.
1303
1373
  */
1304
1374
  export const RepoStatsRequestSchema = /*@__PURE__*/
1305
- messageDesc(file_nomos_kernel_v1_kernel, 182);
1375
+ messageDesc(file_nomos_kernel_v1_kernel, 192);
1306
1376
 
1307
1377
  /**
1308
1378
  * Describes the message nomos.kernel.v1.IntentsAboveRequest.
1309
1379
  * Use `create(IntentsAboveRequestSchema)` to create a new message.
1310
1380
  */
1311
1381
  export const IntentsAboveRequestSchema = /*@__PURE__*/
1312
- messageDesc(file_nomos_kernel_v1_kernel, 183);
1382
+ messageDesc(file_nomos_kernel_v1_kernel, 193);
1313
1383
 
1314
1384
  /**
1315
1385
  * Describes the message nomos.kernel.v1.HistorySummaryRequest.
1316
1386
  * Use `create(HistorySummaryRequestSchema)` to create a new message.
1317
1387
  */
1318
1388
  export const HistorySummaryRequestSchema = /*@__PURE__*/
1319
- messageDesc(file_nomos_kernel_v1_kernel, 184);
1389
+ messageDesc(file_nomos_kernel_v1_kernel, 194);
1320
1390
 
1321
1391
  /**
1322
1392
  * Describes the message nomos.kernel.v1.InspectChangeRequest.
1323
1393
  * Use `create(InspectChangeRequestSchema)` to create a new message.
1324
1394
  */
1325
1395
  export const InspectChangeRequestSchema = /*@__PURE__*/
1326
- messageDesc(file_nomos_kernel_v1_kernel, 185);
1396
+ messageDesc(file_nomos_kernel_v1_kernel, 195);
1327
1397
 
1328
1398
  /**
1329
1399
  * Describes the message nomos.kernel.v1.RefusalVerdict.
1330
1400
  * Use `create(RefusalVerdictSchema)` to create a new message.
1331
1401
  */
1332
1402
  export const RefusalVerdictSchema = /*@__PURE__*/
1333
- messageDesc(file_nomos_kernel_v1_kernel, 186);
1403
+ messageDesc(file_nomos_kernel_v1_kernel, 196);
1334
1404
 
1335
1405
  /**
1336
1406
  * Describes the message nomos.kernel.v1.EncodeRefusalVerdictRequest.
1337
1407
  * Use `create(EncodeRefusalVerdictRequestSchema)` to create a new message.
1338
1408
  */
1339
1409
  export const EncodeRefusalVerdictRequestSchema = /*@__PURE__*/
1340
- messageDesc(file_nomos_kernel_v1_kernel, 187);
1410
+ messageDesc(file_nomos_kernel_v1_kernel, 197);
1341
1411
 
1342
1412
  /**
1343
1413
  * Describes the message nomos.kernel.v1.InspectRefusalVerdictRequest.
1344
1414
  * Use `create(InspectRefusalVerdictRequestSchema)` to create a new message.
1345
1415
  */
1346
1416
  export const InspectRefusalVerdictRequestSchema = /*@__PURE__*/
1347
- messageDesc(file_nomos_kernel_v1_kernel, 188);
1417
+ messageDesc(file_nomos_kernel_v1_kernel, 198);
1348
1418
 
1349
1419
  /**
1350
1420
  * Describes the message nomos.kernel.v1.CompactionEquivalence.
1351
1421
  * Use `create(CompactionEquivalenceSchema)` to create a new message.
1352
1422
  */
1353
1423
  export const CompactionEquivalenceSchema = /*@__PURE__*/
1354
- messageDesc(file_nomos_kernel_v1_kernel, 189);
1424
+ messageDesc(file_nomos_kernel_v1_kernel, 199);
1355
1425
 
1356
1426
  /**
1357
1427
  * Describes the message nomos.kernel.v1.ProveCompactionEquivalenceRequest.
1358
1428
  * Use `create(ProveCompactionEquivalenceRequestSchema)` to create a new message.
1359
1429
  */
1360
1430
  export const ProveCompactionEquivalenceRequestSchema = /*@__PURE__*/
1361
- messageDesc(file_nomos_kernel_v1_kernel, 190);
1431
+ messageDesc(file_nomos_kernel_v1_kernel, 200);
1362
1432
 
1363
1433
  /**
1364
1434
  * Describes the message nomos.kernel.v1.ReadBlobRequest.
1365
1435
  * Use `create(ReadBlobRequestSchema)` to create a new message.
1366
1436
  */
1367
1437
  export const ReadBlobRequestSchema = /*@__PURE__*/
1368
- messageDesc(file_nomos_kernel_v1_kernel, 191);
1438
+ messageDesc(file_nomos_kernel_v1_kernel, 201);
1369
1439
 
1370
1440
  /**
1371
1441
  * Describes the message nomos.kernel.v1.ResolveRefRequest.
1372
1442
  * Use `create(ResolveRefRequestSchema)` to create a new message.
1373
1443
  */
1374
1444
  export const ResolveRefRequestSchema = /*@__PURE__*/
1375
- messageDesc(file_nomos_kernel_v1_kernel, 192);
1445
+ messageDesc(file_nomos_kernel_v1_kernel, 202);
1376
1446
 
1377
1447
  /**
1378
1448
  * Describes the message nomos.kernel.v1.PhysicalRefFile.
1379
1449
  * Use `create(PhysicalRefFileSchema)` to create a new message.
1380
1450
  */
1381
1451
  export const PhysicalRefFileSchema = /*@__PURE__*/
1382
- messageDesc(file_nomos_kernel_v1_kernel, 193);
1452
+ messageDesc(file_nomos_kernel_v1_kernel, 203);
1383
1453
 
1384
1454
  /**
1385
1455
  * Describes the message nomos.kernel.v1.ListRefsRequest.
1386
1456
  * Use `create(ListRefsRequestSchema)` to create a new message.
1387
1457
  */
1388
1458
  export const ListRefsRequestSchema = /*@__PURE__*/
1389
- messageDesc(file_nomos_kernel_v1_kernel, 194);
1459
+ messageDesc(file_nomos_kernel_v1_kernel, 204);
1390
1460
 
1391
1461
  /**
1392
1462
  * Describes the message nomos.kernel.v1.WriteRefRequest.
1393
1463
  * Use `create(WriteRefRequestSchema)` to create a new message.
1394
1464
  */
1395
1465
  export const WriteRefRequestSchema = /*@__PURE__*/
1396
- messageDesc(file_nomos_kernel_v1_kernel, 195);
1466
+ messageDesc(file_nomos_kernel_v1_kernel, 205);
1397
1467
 
1398
1468
  /**
1399
1469
  * Describes the message nomos.kernel.v1.DeleteRefRequest.
1400
1470
  * Use `create(DeleteRefRequestSchema)` to create a new message.
1401
1471
  */
1402
1472
  export const DeleteRefRequestSchema = /*@__PURE__*/
1403
- messageDesc(file_nomos_kernel_v1_kernel, 196);
1473
+ messageDesc(file_nomos_kernel_v1_kernel, 206);
1404
1474
 
1405
1475
  /**
1406
1476
  * Describes the message nomos.kernel.v1.MetaFile.
1407
1477
  * Use `create(MetaFileSchema)` to create a new message.
1408
1478
  */
1409
1479
  export const MetaFileSchema = /*@__PURE__*/
1410
- messageDesc(file_nomos_kernel_v1_kernel, 197);
1480
+ messageDesc(file_nomos_kernel_v1_kernel, 207);
1411
1481
 
1412
1482
  /**
1413
1483
  * Describes the message nomos.kernel.v1.WriteMetaCommitRequest.
1414
1484
  * Use `create(WriteMetaCommitRequestSchema)` to create a new message.
1415
1485
  */
1416
1486
  export const WriteMetaCommitRequestSchema = /*@__PURE__*/
1417
- messageDesc(file_nomos_kernel_v1_kernel, 198);
1487
+ messageDesc(file_nomos_kernel_v1_kernel, 208);
1418
1488
 
1419
1489
  /**
1420
1490
  * Describes the message nomos.kernel.v1.LawClosureInfoRequest.
1421
1491
  * Use `create(LawClosureInfoRequestSchema)` to create a new message.
1422
1492
  */
1423
1493
  export const LawClosureInfoRequestSchema = /*@__PURE__*/
1424
- messageDesc(file_nomos_kernel_v1_kernel, 199);
1494
+ messageDesc(file_nomos_kernel_v1_kernel, 209);
1425
1495
 
1426
1496
  /**
1427
1497
  * Describes the message nomos.kernel.v1.CheckpointExportRequest.
1428
1498
  * Use `create(CheckpointExportRequestSchema)` to create a new message.
1429
1499
  */
1430
1500
  export const CheckpointExportRequestSchema = /*@__PURE__*/
1431
- messageDesc(file_nomos_kernel_v1_kernel, 200);
1501
+ messageDesc(file_nomos_kernel_v1_kernel, 210);
1432
1502
 
1433
1503
  /**
1434
1504
  * Describes the message nomos.kernel.v1.FrontierHlc.
1435
1505
  * Use `create(FrontierHlcSchema)` to create a new message.
1436
1506
  */
1437
1507
  export const FrontierHlcSchema = /*@__PURE__*/
1438
- messageDesc(file_nomos_kernel_v1_kernel, 201);
1508
+ messageDesc(file_nomos_kernel_v1_kernel, 211);
1439
1509
 
1440
1510
  /**
1441
1511
  * Describes the message nomos.kernel.v1.VerifiedFrontierReceipt.
1442
1512
  * Use `create(VerifiedFrontierReceiptSchema)` to create a new message.
1443
1513
  */
1444
1514
  export const VerifiedFrontierReceiptSchema = /*@__PURE__*/
1445
- messageDesc(file_nomos_kernel_v1_kernel, 202);
1515
+ messageDesc(file_nomos_kernel_v1_kernel, 212);
1446
1516
 
1447
1517
  /**
1448
1518
  * Describes the message nomos.kernel.v1.FoldFrontierAggregate.
1449
1519
  * Use `create(FoldFrontierAggregateSchema)` to create a new message.
1450
1520
  */
1451
1521
  export const FoldFrontierAggregateSchema = /*@__PURE__*/
1452
- messageDesc(file_nomos_kernel_v1_kernel, 203);
1522
+ messageDesc(file_nomos_kernel_v1_kernel, 213);
1453
1523
 
1454
1524
  /**
1455
1525
  * Describes the message nomos.kernel.v1.FoldFrontierFingerprint.
1456
1526
  * Use `create(FoldFrontierFingerprintSchema)` to create a new message.
1457
1527
  */
1458
1528
  export const FoldFrontierFingerprintSchema = /*@__PURE__*/
1459
- messageDesc(file_nomos_kernel_v1_kernel, 204);
1529
+ messageDesc(file_nomos_kernel_v1_kernel, 214);
1460
1530
 
1461
1531
  /**
1462
1532
  * Describes the message nomos.kernel.v1.FoldFrontierSnapshot.
1463
1533
  * Use `create(FoldFrontierSnapshotSchema)` to create a new message.
1464
1534
  */
1465
1535
  export const FoldFrontierSnapshotSchema = /*@__PURE__*/
1466
- messageDesc(file_nomos_kernel_v1_kernel, 205);
1536
+ messageDesc(file_nomos_kernel_v1_kernel, 215);
1467
1537
 
1468
1538
  /**
1469
1539
  * Describes the message nomos.kernel.v1.StoredCheckpointManifest.
1470
1540
  * Use `create(StoredCheckpointManifestSchema)` to create a new message.
1471
1541
  */
1472
1542
  export const StoredCheckpointManifestSchema = /*@__PURE__*/
1473
- messageDesc(file_nomos_kernel_v1_kernel, 206);
1543
+ messageDesc(file_nomos_kernel_v1_kernel, 216);
1474
1544
 
1475
1545
  /**
1476
1546
  * Describes the message nomos.kernel.v1.CheckpointImportRequest.
1477
1547
  * Use `create(CheckpointImportRequestSchema)` to create a new message.
1478
1548
  */
1479
1549
  export const CheckpointImportRequestSchema = /*@__PURE__*/
1480
- messageDesc(file_nomos_kernel_v1_kernel, 207);
1550
+ messageDesc(file_nomos_kernel_v1_kernel, 217);
1481
1551
 
1482
1552
  /**
1483
1553
  * Describes the message nomos.kernel.v1.CapacityReserveRequest.
1484
1554
  * Use `create(CapacityReserveRequestSchema)` to create a new message.
1485
1555
  */
1486
1556
  export const CapacityReserveRequestSchema = /*@__PURE__*/
1487
- messageDesc(file_nomos_kernel_v1_kernel, 208);
1557
+ messageDesc(file_nomos_kernel_v1_kernel, 218);
1488
1558
 
1489
1559
  /**
1490
1560
  * Describes the message nomos.kernel.v1.RestoreMainRequest.
1491
1561
  * Use `create(RestoreMainRequestSchema)` to create a new message.
1492
1562
  */
1493
1563
  export const RestoreMainRequestSchema = /*@__PURE__*/
1494
- messageDesc(file_nomos_kernel_v1_kernel, 209);
1564
+ messageDesc(file_nomos_kernel_v1_kernel, 219);
1495
1565
 
1496
1566
  /**
1497
1567
  * Describes the message nomos.kernel.v1.AuditCustodyRequest.
1498
1568
  * Use `create(AuditCustodyRequestSchema)` to create a new message.
1499
1569
  */
1500
1570
  export const AuditCustodyRequestSchema = /*@__PURE__*/
1501
- messageDesc(file_nomos_kernel_v1_kernel, 210);
1571
+ messageDesc(file_nomos_kernel_v1_kernel, 220);
1502
1572
 
1503
1573
  /**
1504
1574
  * Describes the message nomos.kernel.v1.AuditCustodyResponse.
1505
1575
  * Use `create(AuditCustodyResponseSchema)` to create a new message.
1506
1576
  */
1507
1577
  export const AuditCustodyResponseSchema = /*@__PURE__*/
1508
- messageDesc(file_nomos_kernel_v1_kernel, 211);
1578
+ messageDesc(file_nomos_kernel_v1_kernel, 221);
1509
1579
 
1510
1580
  /**
1511
1581
  * Describes the message nomos.kernel.v1.LawProducts.
1512
1582
  * Use `create(LawProductsSchema)` to create a new message.
1513
1583
  */
1514
1584
  export const LawProductsSchema = /*@__PURE__*/
1515
- messageDesc(file_nomos_kernel_v1_kernel, 212);
1585
+ messageDesc(file_nomos_kernel_v1_kernel, 222);
1516
1586
 
1517
1587
  /**
1518
1588
  * Describes the message nomos.kernel.v1.ExportLawProductsRequest.
1519
1589
  * Use `create(ExportLawProductsRequestSchema)` to create a new message.
1520
1590
  */
1521
1591
  export const ExportLawProductsRequestSchema = /*@__PURE__*/
1522
- messageDesc(file_nomos_kernel_v1_kernel, 213);
1592
+ messageDesc(file_nomos_kernel_v1_kernel, 223);
1523
1593
 
1524
1594
  /**
1525
1595
  * Describes the message nomos.kernel.v1.ExportLawProductsResponse.
1526
1596
  * Use `create(ExportLawProductsResponseSchema)` to create a new message.
1527
1597
  */
1528
1598
  export const ExportLawProductsResponseSchema = /*@__PURE__*/
1529
- messageDesc(file_nomos_kernel_v1_kernel, 214);
1599
+ messageDesc(file_nomos_kernel_v1_kernel, 224);
1530
1600
 
1531
1601
  /**
1532
1602
  * Describes the message nomos.kernel.v1.ImportLawProductsRequest.
1533
1603
  * Use `create(ImportLawProductsRequestSchema)` to create a new message.
1534
1604
  */
1535
1605
  export const ImportLawProductsRequestSchema = /*@__PURE__*/
1536
- messageDesc(file_nomos_kernel_v1_kernel, 215);
1606
+ messageDesc(file_nomos_kernel_v1_kernel, 225);
1537
1607
 
1538
1608
  /**
1539
1609
  * Describes the message nomos.kernel.v1.ImportLawProductsResponse.
1540
1610
  * Use `create(ImportLawProductsResponseSchema)` to create a new message.
1541
1611
  */
1542
1612
  export const ImportLawProductsResponseSchema = /*@__PURE__*/
1543
- messageDesc(file_nomos_kernel_v1_kernel, 216);
1613
+ messageDesc(file_nomos_kernel_v1_kernel, 226);
1544
1614
 
1545
1615
  /**
1546
1616
  * Describes the message nomos.kernel.v1.CustodyCertificate.
1547
1617
  * Use `create(CustodyCertificateSchema)` to create a new message.
1548
1618
  */
1549
1619
  export const CustodyCertificateSchema = /*@__PURE__*/
1550
- messageDesc(file_nomos_kernel_v1_kernel, 217);
1620
+ messageDesc(file_nomos_kernel_v1_kernel, 227);
1551
1621
 
1552
1622
  /**
1553
1623
  * Describes the message nomos.kernel.v1.OpenGitStateRequest.
1554
1624
  * Use `create(OpenGitStateRequestSchema)` to create a new message.
1555
1625
  */
1556
1626
  export const OpenGitStateRequestSchema = /*@__PURE__*/
1557
- messageDesc(file_nomos_kernel_v1_kernel, 218);
1627
+ messageDesc(file_nomos_kernel_v1_kernel, 228);
1558
1628
 
1559
1629
  /**
1560
1630
  * Describes the message nomos.kernel.v1.AttachLocalFrontierRequest.
1561
1631
  * Use `create(AttachLocalFrontierRequestSchema)` to create a new message.
1562
1632
  */
1563
1633
  export const AttachLocalFrontierRequestSchema = /*@__PURE__*/
1564
- messageDesc(file_nomos_kernel_v1_kernel, 219);
1634
+ messageDesc(file_nomos_kernel_v1_kernel, 229);
1565
1635
 
1566
1636
  /**
1567
1637
  * Describes the message nomos.kernel.v1.CustodyRemote.
1568
1638
  * Use `create(CustodyRemoteSchema)` to create a new message.
1569
1639
  */
1570
1640
  export const CustodyRemoteSchema = /*@__PURE__*/
1571
- messageDesc(file_nomos_kernel_v1_kernel, 220);
1641
+ messageDesc(file_nomos_kernel_v1_kernel, 230);
1572
1642
 
1573
1643
  /**
1574
1644
  * Describes the message nomos.kernel.v1.CustodyPlacementRule.
1575
1645
  * Use `create(CustodyPlacementRuleSchema)` to create a new message.
1576
1646
  */
1577
1647
  export const CustodyPlacementRuleSchema = /*@__PURE__*/
1578
- messageDesc(file_nomos_kernel_v1_kernel, 221);
1648
+ messageDesc(file_nomos_kernel_v1_kernel, 231);
1579
1649
 
1580
1650
  /**
1581
1651
  * Describes the message nomos.kernel.v1.CustodyPlacementPolicy.
1582
1652
  * Use `create(CustodyPlacementPolicySchema)` to create a new message.
1583
1653
  */
1584
1654
  export const CustodyPlacementPolicySchema = /*@__PURE__*/
1585
- messageDesc(file_nomos_kernel_v1_kernel, 222);
1655
+ messageDesc(file_nomos_kernel_v1_kernel, 232);
1586
1656
 
1587
1657
  /**
1588
1658
  * Describes the message nomos.kernel.v1.CustodyPlacementExpectation.
1589
1659
  * Use `create(CustodyPlacementExpectationSchema)` to create a new message.
1590
1660
  */
1591
1661
  export const CustodyPlacementExpectationSchema = /*@__PURE__*/
1592
- messageDesc(file_nomos_kernel_v1_kernel, 223);
1662
+ messageDesc(file_nomos_kernel_v1_kernel, 233);
1593
1663
 
1594
1664
  /**
1595
1665
  * Describes the message nomos.kernel.v1.ReadCustodyPlacementRequest.
1596
1666
  * Use `create(ReadCustodyPlacementRequestSchema)` to create a new message.
1597
1667
  */
1598
1668
  export const ReadCustodyPlacementRequestSchema = /*@__PURE__*/
1599
- messageDesc(file_nomos_kernel_v1_kernel, 224);
1669
+ messageDesc(file_nomos_kernel_v1_kernel, 234);
1600
1670
 
1601
1671
  /**
1602
1672
  * Describes the message nomos.kernel.v1.InspectCustodyPlacementRequest.
1603
1673
  * Use `create(InspectCustodyPlacementRequestSchema)` to create a new message.
1604
1674
  */
1605
1675
  export const InspectCustodyPlacementRequestSchema = /*@__PURE__*/
1606
- messageDesc(file_nomos_kernel_v1_kernel, 225);
1676
+ messageDesc(file_nomos_kernel_v1_kernel, 235);
1607
1677
 
1608
1678
  /**
1609
1679
  * Describes the message nomos.kernel.v1.PlacementOffer.
1610
1680
  * Use `create(PlacementOfferSchema)` to create a new message.
1611
1681
  */
1612
1682
  export const PlacementOfferSchema = /*@__PURE__*/
1613
- messageDesc(file_nomos_kernel_v1_kernel, 226);
1683
+ messageDesc(file_nomos_kernel_v1_kernel, 236);
1614
1684
 
1615
1685
  /**
1616
1686
  * Describes the message nomos.kernel.v1.ResolveStatePositionRequest.
1617
1687
  * Use `create(ResolveStatePositionRequestSchema)` to create a new message.
1618
1688
  */
1619
1689
  export const ResolveStatePositionRequestSchema = /*@__PURE__*/
1620
- messageDesc(file_nomos_kernel_v1_kernel, 227);
1690
+ messageDesc(file_nomos_kernel_v1_kernel, 237);
1621
1691
 
1622
1692
  /**
1623
1693
  * Describes the message nomos.kernel.v1.CustodyResponse.
1624
1694
  * Use `create(CustodyResponseSchema)` to create a new message.
1625
1695
  */
1626
1696
  export const CustodyResponseSchema = /*@__PURE__*/
1627
- messageDesc(file_nomos_kernel_v1_kernel, 228);
1697
+ messageDesc(file_nomos_kernel_v1_kernel, 238);
1628
1698
 
1629
1699
  /**
1630
1700
  * Describes the message nomos.kernel.v1.PackDeltaResponse.
1631
1701
  * Use `create(PackDeltaResponseSchema)` to create a new message.
1632
1702
  */
1633
1703
  export const PackDeltaResponseSchema = /*@__PURE__*/
1634
- messageDesc(file_nomos_kernel_v1_kernel, 229);
1704
+ messageDesc(file_nomos_kernel_v1_kernel, 239);
1635
1705
 
1636
1706
  /**
1637
1707
  * Describes the message nomos.kernel.v1.ApplyPackResponse.
1638
1708
  * Use `create(ApplyPackResponseSchema)` to create a new message.
1639
1709
  */
1640
1710
  export const ApplyPackResponseSchema = /*@__PURE__*/
1641
- messageDesc(file_nomos_kernel_v1_kernel, 230);
1711
+ messageDesc(file_nomos_kernel_v1_kernel, 240);
1642
1712
 
1643
1713
  /**
1644
1714
  * Describes the message nomos.kernel.v1.PhysicalClosureCheck.
1645
1715
  * Use `create(PhysicalClosureCheckSchema)` to create a new message.
1646
1716
  */
1647
1717
  export const PhysicalClosureCheckSchema = /*@__PURE__*/
1648
- messageDesc(file_nomos_kernel_v1_kernel, 231);
1718
+ messageDesc(file_nomos_kernel_v1_kernel, 241);
1649
1719
 
1650
1720
  /**
1651
1721
  * Describes the message nomos.kernel.v1.RepoStatsResponse.
1652
1722
  * Use `create(RepoStatsResponseSchema)` to create a new message.
1653
1723
  */
1654
1724
  export const RepoStatsResponseSchema = /*@__PURE__*/
1655
- messageDesc(file_nomos_kernel_v1_kernel, 232);
1725
+ messageDesc(file_nomos_kernel_v1_kernel, 242);
1656
1726
 
1657
1727
  /**
1658
1728
  * Describes the message nomos.kernel.v1.IntentRecord.
1659
1729
  * Use `create(IntentRecordSchema)` to create a new message.
1660
1730
  */
1661
1731
  export const IntentRecordSchema = /*@__PURE__*/
1662
- messageDesc(file_nomos_kernel_v1_kernel, 233);
1732
+ messageDesc(file_nomos_kernel_v1_kernel, 243);
1663
1733
 
1664
1734
  /**
1665
1735
  * Describes the message nomos.kernel.v1.IntentsAboveResponse.
1666
1736
  * Use `create(IntentsAboveResponseSchema)` to create a new message.
1667
1737
  */
1668
1738
  export const IntentsAboveResponseSchema = /*@__PURE__*/
1669
- messageDesc(file_nomos_kernel_v1_kernel, 234);
1739
+ messageDesc(file_nomos_kernel_v1_kernel, 244);
1670
1740
 
1671
1741
  /**
1672
1742
  * Describes the message nomos.kernel.v1.HistorySummaryResponse.
1673
1743
  * Use `create(HistorySummaryResponseSchema)` to create a new message.
1674
1744
  */
1675
1745
  export const HistorySummaryResponseSchema = /*@__PURE__*/
1676
- messageDesc(file_nomos_kernel_v1_kernel, 235);
1746
+ messageDesc(file_nomos_kernel_v1_kernel, 245);
1677
1747
 
1678
1748
  /**
1679
1749
  * Describes the message nomos.kernel.v1.NominalCallIdentity.
1680
1750
  * Use `create(NominalCallIdentitySchema)` to create a new message.
1681
1751
  */
1682
1752
  export const NominalCallIdentitySchema = /*@__PURE__*/
1683
- messageDesc(file_nomos_kernel_v1_kernel, 236);
1753
+ messageDesc(file_nomos_kernel_v1_kernel, 246);
1684
1754
 
1685
1755
  /**
1686
1756
  * Describes the message nomos.kernel.v1.LifecycleInstallIdentity.
1687
1757
  * Use `create(LifecycleInstallIdentitySchema)` to create a new message.
1688
1758
  */
1689
1759
  export const LifecycleInstallIdentitySchema = /*@__PURE__*/
1690
- messageDesc(file_nomos_kernel_v1_kernel, 237);
1760
+ messageDesc(file_nomos_kernel_v1_kernel, 247);
1691
1761
 
1692
1762
  /**
1693
1763
  * Describes the message nomos.kernel.v1.WorkspaceResidencyRequirement.
1694
1764
  * Use `create(WorkspaceResidencyRequirementSchema)` to create a new message.
1695
1765
  */
1696
1766
  export const WorkspaceResidencyRequirementSchema = /*@__PURE__*/
1697
- messageDesc(file_nomos_kernel_v1_kernel, 238);
1767
+ messageDesc(file_nomos_kernel_v1_kernel, 248);
1698
1768
 
1699
1769
  /**
1700
1770
  * Describes the message nomos.kernel.v1.InspectChangeResponse.
1701
1771
  * Use `create(InspectChangeResponseSchema)` to create a new message.
1702
1772
  */
1703
1773
  export const InspectChangeResponseSchema = /*@__PURE__*/
1704
- messageDesc(file_nomos_kernel_v1_kernel, 239);
1774
+ messageDesc(file_nomos_kernel_v1_kernel, 249);
1705
1775
 
1706
1776
  /**
1707
1777
  * Describes the message nomos.kernel.v1.ResolveStatePositionResponse.
1708
1778
  * Use `create(ResolveStatePositionResponseSchema)` to create a new message.
1709
1779
  */
1710
1780
  export const ResolveStatePositionResponseSchema = /*@__PURE__*/
1711
- messageDesc(file_nomos_kernel_v1_kernel, 240);
1781
+ messageDesc(file_nomos_kernel_v1_kernel, 250);
1712
1782
 
1713
1783
  /**
1714
1784
  * Describes the message nomos.kernel.v1.EncodeRefusalVerdictResponse.
1715
1785
  * Use `create(EncodeRefusalVerdictResponseSchema)` to create a new message.
1716
1786
  */
1717
1787
  export const EncodeRefusalVerdictResponseSchema = /*@__PURE__*/
1718
- messageDesc(file_nomos_kernel_v1_kernel, 241);
1788
+ messageDesc(file_nomos_kernel_v1_kernel, 251);
1719
1789
 
1720
1790
  /**
1721
1791
  * Describes the message nomos.kernel.v1.InspectRefusalVerdictResponse.
1722
1792
  * Use `create(InspectRefusalVerdictResponseSchema)` to create a new message.
1723
1793
  */
1724
1794
  export const InspectRefusalVerdictResponseSchema = /*@__PURE__*/
1725
- messageDesc(file_nomos_kernel_v1_kernel, 242);
1795
+ messageDesc(file_nomos_kernel_v1_kernel, 252);
1726
1796
 
1727
1797
  /**
1728
1798
  * Describes the message nomos.kernel.v1.ProveCompactionEquivalenceResponse.
1729
1799
  * Use `create(ProveCompactionEquivalenceResponseSchema)` to create a new message.
1730
1800
  */
1731
1801
  export const ProveCompactionEquivalenceResponseSchema = /*@__PURE__*/
1732
- messageDesc(file_nomos_kernel_v1_kernel, 243);
1802
+ messageDesc(file_nomos_kernel_v1_kernel, 253);
1733
1803
 
1734
1804
  /**
1735
1805
  * Describes the message nomos.kernel.v1.ReadBlobResponse.
1736
1806
  * Use `create(ReadBlobResponseSchema)` to create a new message.
1737
1807
  */
1738
1808
  export const ReadBlobResponseSchema = /*@__PURE__*/
1739
- messageDesc(file_nomos_kernel_v1_kernel, 244);
1809
+ messageDesc(file_nomos_kernel_v1_kernel, 254);
1740
1810
 
1741
1811
  /**
1742
1812
  * Describes the message nomos.kernel.v1.ResolveRefResponse.
1743
1813
  * Use `create(ResolveRefResponseSchema)` to create a new message.
1744
1814
  */
1745
1815
  export const ResolveRefResponseSchema = /*@__PURE__*/
1746
- messageDesc(file_nomos_kernel_v1_kernel, 245);
1816
+ messageDesc(file_nomos_kernel_v1_kernel, 255);
1747
1817
 
1748
1818
  /**
1749
1819
  * Describes the message nomos.kernel.v1.RefRecord.
1750
1820
  * Use `create(RefRecordSchema)` to create a new message.
1751
1821
  */
1752
1822
  export const RefRecordSchema = /*@__PURE__*/
1753
- messageDesc(file_nomos_kernel_v1_kernel, 246);
1823
+ messageDesc(file_nomos_kernel_v1_kernel, 256);
1754
1824
 
1755
1825
  /**
1756
1826
  * Describes the message nomos.kernel.v1.ListRefsResponse.
1757
1827
  * Use `create(ListRefsResponseSchema)` to create a new message.
1758
1828
  */
1759
1829
  export const ListRefsResponseSchema = /*@__PURE__*/
1760
- messageDesc(file_nomos_kernel_v1_kernel, 247);
1830
+ messageDesc(file_nomos_kernel_v1_kernel, 257);
1761
1831
 
1762
1832
  /**
1763
1833
  * Describes the message nomos.kernel.v1.Acknowledged.
1764
1834
  * Use `create(AcknowledgedSchema)` to create a new message.
1765
1835
  */
1766
1836
  export const AcknowledgedSchema = /*@__PURE__*/
1767
- messageDesc(file_nomos_kernel_v1_kernel, 248);
1837
+ messageDesc(file_nomos_kernel_v1_kernel, 258);
1768
1838
 
1769
1839
  /**
1770
1840
  * Describes the message nomos.kernel.v1.WriteMetaCommitResponse.
1771
1841
  * Use `create(WriteMetaCommitResponseSchema)` to create a new message.
1772
1842
  */
1773
1843
  export const WriteMetaCommitResponseSchema = /*@__PURE__*/
1774
- messageDesc(file_nomos_kernel_v1_kernel, 249);
1844
+ messageDesc(file_nomos_kernel_v1_kernel, 259);
1775
1845
 
1776
1846
  /**
1777
1847
  * Describes the message nomos.kernel.v1.LawClosureInfoResponse.
1778
1848
  * Use `create(LawClosureInfoResponseSchema)` to create a new message.
1779
1849
  */
1780
1850
  export const LawClosureInfoResponseSchema = /*@__PURE__*/
1781
- messageDesc(file_nomos_kernel_v1_kernel, 250);
1851
+ messageDesc(file_nomos_kernel_v1_kernel, 260);
1782
1852
 
1783
1853
  /**
1784
1854
  * Describes the message nomos.kernel.v1.CheckpointExportResponse.
1785
1855
  * Use `create(CheckpointExportResponseSchema)` to create a new message.
1786
1856
  */
1787
1857
  export const CheckpointExportResponseSchema = /*@__PURE__*/
1788
- messageDesc(file_nomos_kernel_v1_kernel, 251);
1858
+ messageDesc(file_nomos_kernel_v1_kernel, 261);
1789
1859
 
1790
1860
  /**
1791
1861
  * Describes the message nomos.kernel.v1.CheckpointImportResponse.
1792
1862
  * Use `create(CheckpointImportResponseSchema)` to create a new message.
1793
1863
  */
1794
1864
  export const CheckpointImportResponseSchema = /*@__PURE__*/
1795
- messageDesc(file_nomos_kernel_v1_kernel, 252);
1865
+ messageDesc(file_nomos_kernel_v1_kernel, 262);
1796
1866
 
1797
1867
  /**
1798
1868
  * Describes the message nomos.kernel.v1.OpenGitStateResponse.
1799
1869
  * Use `create(OpenGitStateResponseSchema)` to create a new message.
1800
1870
  */
1801
1871
  export const OpenGitStateResponseSchema = /*@__PURE__*/
1802
- messageDesc(file_nomos_kernel_v1_kernel, 253);
1872
+ messageDesc(file_nomos_kernel_v1_kernel, 263);
1803
1873
 
1804
1874
  /**
1805
1875
  * Describes the message nomos.kernel.v1.AttachLocalFrontierResponse.
1806
1876
  * Use `create(AttachLocalFrontierResponseSchema)` to create a new message.
1807
1877
  */
1808
1878
  export const AttachLocalFrontierResponseSchema = /*@__PURE__*/
1809
- messageDesc(file_nomos_kernel_v1_kernel, 254);
1879
+ messageDesc(file_nomos_kernel_v1_kernel, 264);
1810
1880
 
1811
1881
  /**
1812
1882
  * Describes the message nomos.kernel.v1.ReleaseWorkspaceStateRequest.
1813
1883
  * Use `create(ReleaseWorkspaceStateRequestSchema)` to create a new message.
1814
1884
  */
1815
1885
  export const ReleaseWorkspaceStateRequestSchema = /*@__PURE__*/
1816
- messageDesc(file_nomos_kernel_v1_kernel, 255);
1886
+ messageDesc(file_nomos_kernel_v1_kernel, 265);
1817
1887
 
1818
1888
  /**
1819
1889
  * Describes the message nomos.kernel.v1.ReleaseWorkspaceStateResponse.
1820
1890
  * Use `create(ReleaseWorkspaceStateResponseSchema)` to create a new message.
1821
1891
  */
1822
1892
  export const ReleaseWorkspaceStateResponseSchema = /*@__PURE__*/
1823
- messageDesc(file_nomos_kernel_v1_kernel, 256);
1893
+ messageDesc(file_nomos_kernel_v1_kernel, 266);
1824
1894
 
1825
1895
  /**
1826
1896
  * Describes the message nomos.kernel.v1.ReadCustodyPlacementResponse.
1827
1897
  * Use `create(ReadCustodyPlacementResponseSchema)` to create a new message.
1828
1898
  */
1829
1899
  export const ReadCustodyPlacementResponseSchema = /*@__PURE__*/
1830
- messageDesc(file_nomos_kernel_v1_kernel, 257);
1900
+ messageDesc(file_nomos_kernel_v1_kernel, 267);
1831
1901
 
1832
1902
  /**
1833
1903
  * Describes the message nomos.kernel.v1.PlacementAdopted.
1834
1904
  * Use `create(PlacementAdoptedSchema)` to create a new message.
1835
1905
  */
1836
1906
  export const PlacementAdoptedSchema = /*@__PURE__*/
1837
- messageDesc(file_nomos_kernel_v1_kernel, 258);
1907
+ messageDesc(file_nomos_kernel_v1_kernel, 268);
1838
1908
 
1839
1909
  /**
1840
1910
  * Describes the message nomos.kernel.v1.InspectCustodyPlacementResponse.
1841
1911
  * Use `create(InspectCustodyPlacementResponseSchema)` to create a new message.
1842
1912
  */
1843
1913
  export const InspectCustodyPlacementResponseSchema = /*@__PURE__*/
1844
- messageDesc(file_nomos_kernel_v1_kernel, 259);
1914
+ messageDesc(file_nomos_kernel_v1_kernel, 269);
1845
1915
 
1846
1916
  /**
1847
1917
  * Describes the message nomos.kernel.v1.CapacityReserveResponse.
1848
1918
  * Use `create(CapacityReserveResponseSchema)` to create a new message.
1849
1919
  */
1850
1920
  export const CapacityReserveResponseSchema = /*@__PURE__*/
1851
- messageDesc(file_nomos_kernel_v1_kernel, 260);
1921
+ messageDesc(file_nomos_kernel_v1_kernel, 270);
1852
1922
 
1853
1923
  /**
1854
1924
  * Describes the message nomos.kernel.v1.RestoreMainSpans.
1855
1925
  * Use `create(RestoreMainSpansSchema)` to create a new message.
1856
1926
  */
1857
1927
  export const RestoreMainSpansSchema = /*@__PURE__*/
1858
- messageDesc(file_nomos_kernel_v1_kernel, 261);
1928
+ messageDesc(file_nomos_kernel_v1_kernel, 271);
1859
1929
 
1860
1930
  /**
1861
1931
  * Describes the message nomos.kernel.v1.RestoreMainResponse.
1862
1932
  * Use `create(RestoreMainResponseSchema)` to create a new message.
1863
1933
  */
1864
1934
  export const RestoreMainResponseSchema = /*@__PURE__*/
1865
- messageDesc(file_nomos_kernel_v1_kernel, 262);
1935
+ messageDesc(file_nomos_kernel_v1_kernel, 272);
1866
1936
 
1867
1937
  /**
1868
1938
  * Describes the message nomos.kernel.v1.NomosValue.
1869
1939
  * Use `create(NomosValueSchema)` to create a new message.
1870
1940
  */
1871
1941
  export const NomosValueSchema = /*@__PURE__*/
1872
- messageDesc(file_nomos_kernel_v1_kernel, 263);
1942
+ messageDesc(file_nomos_kernel_v1_kernel, 273);
1873
1943
 
1874
1944
  /**
1875
1945
  * Describes the message nomos.kernel.v1.Null.
1876
1946
  * Use `create(NullSchema)` to create a new message.
1877
1947
  */
1878
1948
  export const NullSchema = /*@__PURE__*/
1879
- messageDesc(file_nomos_kernel_v1_kernel, 264);
1949
+ messageDesc(file_nomos_kernel_v1_kernel, 274);
1880
1950
 
1881
1951
  /**
1882
1952
  * Describes the message nomos.kernel.v1.NomosList.
1883
1953
  * Use `create(NomosListSchema)` to create a new message.
1884
1954
  */
1885
1955
  export const NomosListSchema = /*@__PURE__*/
1886
- messageDesc(file_nomos_kernel_v1_kernel, 265);
1956
+ messageDesc(file_nomos_kernel_v1_kernel, 275);
1887
1957
 
1888
1958
  /**
1889
1959
  * Describes the message nomos.kernel.v1.NomosStruct.
1890
1960
  * Use `create(NomosStructSchema)` to create a new message.
1891
1961
  */
1892
1962
  export const NomosStructSchema = /*@__PURE__*/
1893
- messageDesc(file_nomos_kernel_v1_kernel, 266);
1963
+ messageDesc(file_nomos_kernel_v1_kernel, 276);
1894
1964
 
1895
1965
  /**
1896
1966
  * Describes the message nomos.kernel.v1.HistoryRequired.
1897
1967
  * Use `create(HistoryRequiredSchema)` to create a new message.
1898
1968
  */
1899
1969
  export const HistoryRequiredSchema = /*@__PURE__*/
1900
- messageDesc(file_nomos_kernel_v1_kernel, 267);
1970
+ messageDesc(file_nomos_kernel_v1_kernel, 277);
1971
+
1972
+ /**
1973
+ * Describes the message nomos.kernel.v1.LawPreparationUnitSet.
1974
+ * Use `create(LawPreparationUnitSetSchema)` to create a new message.
1975
+ */
1976
+ export const LawPreparationUnitSetSchema = /*@__PURE__*/
1977
+ messageDesc(file_nomos_kernel_v1_kernel, 278);
1978
+
1979
+ /**
1980
+ * Describes the message nomos.kernel.v1.PreparedLawLayer.
1981
+ * Use `create(PreparedLawLayerSchema)` to create a new message.
1982
+ */
1983
+ export const PreparedLawLayerSchema = /*@__PURE__*/
1984
+ messageDesc(file_nomos_kernel_v1_kernel, 279);
1985
+
1986
+ /**
1987
+ * Describes the message nomos.kernel.v1.PrepareLawProductsRequest.
1988
+ * Use `create(PrepareLawProductsRequestSchema)` to create a new message.
1989
+ */
1990
+ export const PrepareLawProductsRequestSchema = /*@__PURE__*/
1991
+ messageDesc(file_nomos_kernel_v1_kernel, 280);
1992
+
1993
+ /**
1994
+ * Describes the message nomos.kernel.v1.PrepareLawProductsResponse.
1995
+ * Use `create(PrepareLawProductsResponseSchema)` to create a new message.
1996
+ */
1997
+ export const PrepareLawProductsResponseSchema = /*@__PURE__*/
1998
+ messageDesc(file_nomos_kernel_v1_kernel, 281);
1999
+
2000
+ /**
2001
+ * Describes the message nomos.kernel.v1.RecoverDetachedReceiptRequest.
2002
+ * Use `create(RecoverDetachedReceiptRequestSchema)` to create a new message.
2003
+ */
2004
+ export const RecoverDetachedReceiptRequestSchema = /*@__PURE__*/
2005
+ messageDesc(file_nomos_kernel_v1_kernel, 282);
1901
2006
 
1902
2007
  /**
1903
2008
  * Describes the enum nomos.kernel.v1.LawVersionOrder.