githolon 0.103.10 → 0.103.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compile_mountability_entry.js +63 -5
- package/dist/dev-server.mjs +38 -7
- package/dist/full-cli.mjs +66 -8
- package/package.json +2 -2
|
@@ -488,7 +488,7 @@ var file_nomos_kernel_v1_kernel, CallRequestSchema, CallResponseSchema, Workspac
|
|
|
488
488
|
var init_kernel_pb = __esm({
|
|
489
489
|
"vendor/engine/proto/nomos/kernel/v1/kernel_pb.js"() {
|
|
490
490
|
"use strict";
|
|
491
|
-
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSLmAQoVSW5zcGVjdENoYW5nZVJlc3BvbnNlEi4KCHNlbWFudGljGAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCWludGVudF9pZBgCIAEoCRIyCgRjYWxsGAMgASgLMiQubm9tb3Mua2VybmVsLnYxLk5vbWluYWxDYWxsSWRlbnRpdHkSEAoIYXV0aG9yZWQYBCABKAgSRAoRbGlmZWN5Y2xlX2luc3RhbGwYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuTGlmZWN5Y2xlSW5zdGFsbElkZW50aXR5IjQKHEVuY29kZVJlZnVzYWxWZXJkaWN0UmVzcG9uc2USFAoMdmVyZGljdF91c2RhGAEgASgMIlEKHUluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiLwoQUmVhZEJsb2JSZXNwb25zZRINCgVmb3VuZBgBIAEoCBIMCgRibG9iGAIgASgMIi4KElJlc29sdmVSZWZSZXNwb25zZRIQCgNvaWQYASABKAlIAIgBAUIGCgRfb2lkIisKCVJlZlJlY29yZBIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIjwKEExpc3RSZWZzUmVzcG9uc2USKAoEcmVmcxgBIAMoCzIaLm5vbW9zLmtlcm5lbC52MS5SZWZSZWNvcmQiDgoMQWNrbm93bGVkZ2VkIiYKF1dyaXRlTWV0YUNvbW1pdFJlc3BvbnNlEgsKA29pZBgBIAEoCSKDAQoWTGF3Q2xvc3VyZUluZm9SZXNwb25zZRIQCghpZGVudGl0eRgBIAEoCRIZChFyb290X2xvZ2ljYWxfcGF0aBgCIAEoCRITCgthc3NldF9jb3VudBgDIAEoBBISCgpwcmltX2NvdW50GAQgASgEEhMKC2RvbWFpbl9rZXlzGAUgAygJIu8CChhDaGVja3BvaW50RXhwb3J0UmVzcG9uc2USDQoFZW1wdHkYASABKAgSEwoGY3Vyc29yGAIgASgJSACIAQESEAoIZnJvbnRpZXIYAyABKAwSFwoKc3RhdGVfcm9vdBgEIAEoCUgBiAEBEhIKCnN0YXRlX3RyZWUYBSABKAgSDgoGcGlubmVkGAYgASgIEhsKE3JlYWRfaW5kZXhfc25hcHNob3QYByABKAgSIwobcmVhZF9pbmRleF9zbmFwc2hvdF9wZW5kaW5nGAggASgIEiQKF3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzGAkgASgESAKIAQESJQoYcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzGAogASgESAOIAQFCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdEIaChhfcmVhZF9pbmRleF9zcWxpdGVfYnl0ZXNCGwoZX3JlYWRfaW5kZXhfY3VzdG9keV9ieXRlcyKeAgoYQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlEhAKCHJlc3RvcmVkGAEgASgIEhMKBnJlYXNvbhgCIAEoCUgAiAEBEhcKD2Zyb250aWVyX3NlZWRlZBgDIAEoCBIlCh1mcm9udGllcl92ZXJpZmljYXRpb25fcGVuZGluZxgEIAEoCBIXCg9hZ2dyZWdhdGVfY291bnQYBSABKAQSKwoFc3BhbnMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEwoGY3Vyc29yGAcgASgJSAGIAQESEQoJcmVhZF9vbmx5GAggASgIEhcKD2xhenlfcmVhZF9pbmRleBgJIAEoCEIJCgdfcmVhc29uQgkKB19jdXJzb3IiSgoXQ2FwYWNpdHlSZXNlcnZlUmVzcG9uc2USFwoPYWdncmVnYXRlX2NvdW50GAEgASgEEhYKDnJlc2VydmVkX2J5dGVzGAIgASgEIvkCChBSZXN0b3JlTWFpblNwYW5zEhAKCHRvdGFsX3VzGAEgASgEEhoKEmxpdmVfcmVmX2xvb2t1cF91cxgCIAEoBBIYChB0YXJnZXRfZGVjb2RlX3VzGAMgASgEEiQKHGN1c3RvZHlfY29tcGxldGVuZXNzX3JlYWRfdXMYBCABKAQSGQoRcXVhcmFudGluZV9yZWZfdXMYBSABKAQSJQodY2hhaW5fc2lnbmF0dXJlX2xhd19yZXBsYXlfdXMYBiABKAQSGQoRdmVyZGljdF9kZWNvZGVfdXMYByABKAQSIwobcHJvbW90ZV9hbmRfY2xlYW51cF9yZWZzX3VzGAggASgEEhsKE2Zyb250aWVyX3JlYnVpbGRfdXMYCSABKAQSGQoRZnJvbnRpZXJfc3RvcmVfdXMYCiABKAQSPQoMdmVyaWZpY2F0aW9uGAsgASgLMicubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRGlhZ25vc3RpY3MidQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucyKbAgoKTm9tb3NWYWx1ZRIlCgRudWxsGAEgASgLMhUubm9tb3Mua2VybmVsLnYxLk51bGxIABIRCgdib29sZWFuGAIgASgISAASGAoOc2lnbmVkX2ludGVnZXIYAyABKBJIABIaChB1bnNpZ25lZF9pbnRlZ2VyGAQgASgESAASGAoOZmxvYXRpbmdfcG9pbnQYBSABKAFIABIOCgR0ZXh0GAYgASgJSAASDwoFYnl0ZXMYByABKAxIABIqCgRsaXN0GAggASgLMhoubm9tb3Mua2VybmVsLnYxLk5vbW9zTGlzdEgAEi4KBm9iamVjdBgJIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEgAQgYKBGtpbmQiBgoETnVsbCI4CglOb21vc0xpc3QSKwoGdmFsdWVzGAEgAygLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWUikwEKC05vbW9zU3RydWN0EjgKBmZpZWxkcxgBIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdC5GaWVsZHNFbnRyeRpKCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSKgoFdmFsdWUYAiABKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZToCOAEq6RIKEUtlcm5lbFJlZnVzYWxDb2RlEiMKH0tFUk5FTF9SRUZVU0FMX0NPREVfVU5TUEVDSUZJRUQQABIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JBRF9TSUdOQVRVUkUQARIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX1VOQVVUSE9SSVpFRBACEicKI0tFUk5FTF9SRUZVU0FMX0NPREVfUE9MSUNZX0RJU0FCTEVEEAMSKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkNFUlRJRklFRF9QT0xJQ1kQBBIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1JFRkVSRU5USUFMEAUSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9QT0lOVF9TVEFURV9VTkFWQUlMQUJMRRAGEiQKIEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0VYQ0VFREVEEAcSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBfQ09VTlRfVU5BVkFJTEFCTEUQCBIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0VWSURFTkNFX1VOQkFDS0VEEAkSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9PUlBIQU5fUkVDRUlQVBAKEjYKMktFUk5FTF9SRUZVU0FMX0NPREVfUkVDRUlQVF9PTl9URVJNSU5BTF9PQkxJR0FUSU9OEAsSIgoeS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfTUlOVEVEEAwSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fTElGRUNZQ0xFEA0SKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9UWVBFX1RBR19NSVNNQVRDSBAOEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfUkVUSVJFRF9SRUFEX1NVUkZBQ0UQDxIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0NST1NTX1dPUktTUEFDRV9ERUNMSU5FRBAQEisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfQUdHUkVHQVRFX0lOVkFSSUFOVBAREisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfV09SS1NQQUNFX0lOVkFSSUFOVBASEi4KKktFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9DT05GTElDVBATEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfQ09ORkxJQ1RfU05BUFNIT1RfUkVRVUlSRUQQFBI0CjBLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1VOREVDTEFSRUQQFRIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX0lOVkFMSUQQFhIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1NUQUxFEBcSMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1VOREVDTEFSRUQQGBItCilLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfUFJJVkFURRAZEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTkRFQ0xBUkVEEBoSMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9LRVkQGxI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5UUlVTVEVEX1NPVVJDRRAcEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9GT1JHRUQQHRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfU1RBTEUQHhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfT1ZFUlNJWkUQHxI3CjNLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRElTSE9OT1JFRF9TT1VSQ0UQIBI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0VRVUlWT0NBVElPTl9FVklERU5DRV9JTlZBTElEECESMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9SRUNFSVBUX0lOVkFMSUQQIhIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9ST1NURVJfTUlTTUFUQ0gQIxIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9FUE9DSF9OT1RfTU9OT1RPTklDECQSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9XUklURV9FUE9DSF9TVEFMRRAlEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfRU5WRUxPUEVfU0lEX01JU01BVENIECYSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9SRVZPS0VEX01FTUJFUl9SRVNVUlJFQ1RFRBAnEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRk9SR0VEX1BSSU5DSVBBTBAoEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfS0VZX0FOQ0hPUhApEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfUkVDT1ZFUlkQKhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1NVUkZBQ0VEX0JBU0lTX0FIRUFEECsSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9TSUdORVJfRVBPQ0hfT1VUX09GX1dJTkRPVxAsEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRVZPTFZFX1JFRlVTRUQQLRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEFUSU9OX0lOVkFMSUQQLhItCilLRVJORUxfUkVGVVNBTF9DT0RFX1BBUkVOVF9ESURfTk9UX0FUVEVTVBAvEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfQ0VSVF9DSEFJTl9CUk9LRU4QMBIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX05PVF9ST09URURfQVRfUk9PVBAxEioKJktFUk5FTF9SRUZVU0FMX0NPREVfREVMRUdBVElPTl9JTlZBTElEEDISJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9QTEFOX1JFSkVDVEVEEDMqigEKD1ZlcmlmeUNoYWluV2FsaxIhCh1WRVJJRllfQ0hBSU5fV0FMS19VTlNQRUNJRklFRBAAEhoKFlZFUklGWV9DSEFJTl9XQUxLX0ZVTEwQARIcChhWRVJJRllfQ0hBSU5fV0FMS19TVUZGSVgQAhIaChZWRVJJRllfQ0hBSU5fV0FMS19NRU1PEAMqhQwKDlF1ZXJ5T3BlcmF0aW9uEh8KG1FVRVJZX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhwKGFFVRVJZX09QRVJBVElPTl9FWFRSRU1VTRABEiUKIVFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUUxACEiwKKFFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUX1NVTU1BUlkQAxIgChxRVUVSWV9PUEVSQVRJT05fUkVBRF9QT1NUVVJFEAQSHwobUVVFUllfT1BFUkFUSU9OX0NVUlJFTlRfTEFXEAUSIwofUVVFUllfT1BFUkFUSU9OX0lOVEVSRkFDRV9PRkZFUhAGEicKI1FVRVJZX09QRVJBVElPTl9SRUxBVElPTl9HQVRFX09GRkVSEAcSHQoZUVVFUllfT1BFUkFUSU9OX1NDRU5FX0xBVxAIEiEKHVFVRVJZX09QRVJBVElPTl9JTlNUQUxMRURfTEFXEAkSHAoYUVVFUllfT1BFUkFUSU9OX0RFU0NSSUJFEAoSIAocUVVFUllfT1BFUkFUSU9OX0tFUk5FTF9TVEFNUBALEiMKH1FVRVJZX09QRVJBVElPTl9ERVZFTE9QRVJfU1BBTlMQDBIpCiVRVUVSWV9PUEVSQVRJT05fREVDTEFSRURfQ0FQQUJJTElUSUVTEA0SHQoZUVVFUllfT1BFUkFUSU9OX1JFQURJTkVTUxAOEiQKIFFVRVJZX09QRVJBVElPTl9QUk9KRUNUSU9OX1NUQVRTEA8SJQohUVVFUllfT1BFUkFUSU9OX01FTU9SWV9EUk9QX1BST0JFEBASGAoUUVVFUllfT1BFUkFUSU9OX1dBUk0QERIbChdRVUVSWV9PUEVSQVRJT05fUkVGUkVTSBASEiAKHFFVRVJZX09QRVJBVElPTl9WRVJJRllfQ0hBSU4QExIlCiFRVUVSWV9PUEVSQVRJT05fSElTVE9SWV9QUkVGTElHSFQQFBIZChVRVUVSWV9PUEVSQVRJT05fUk9VVEUQFRIYChRRVUVSWV9PUEVSQVRJT05fTUlOVBAWEiEKHVFVRVJZX09QRVJBVElPTl9DUllQVE9fS0VZR0VOEBcSJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19TRUFMX0ZJRUxEEBgSLAooUVVFUllfT1BFUkFUSU9OX0NSWVBUT19CTElORF9JTkRFWF9UT0tFThAZEioKJlFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfU0NPUEVfS0VZEBoSLworUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9ERVZJQ0VfUkVRVUVTVBAbEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9BUFBST1ZBTBAcEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9SRUNPVkVSWRAdEiMKH1FVRVJZX09QRVJBVElPTl9DUllQVE9fV1JBUF9LRVkQHhIlCiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1VOV1JBUF9LRVkQHxIhCh1RVUVSWV9PUEVSQVRJT05fQVVUSE9SX0tFWUdFThAgEiQKIFFVRVJZX09QRVJBVElPTl9BVFRFU1RBVElPTl9TSUdOECESIAocUVVFUllfT1BFUkFUSU9OX1JFQ0VJUFRfUEFUSBAiEh0KGVFVRVJZX09QRVJBVElPTl9DRVJUX1NJR04QIxIlCiFRVUVSWV9PUEVSQVRJT05fQklSVEhfVFJVU1RfU1RBVEUQJBIhCh1RVUVSWV9PUEVSQVRJT05fRVJBX0NFUlRfU0lHThAlEigKJFFVRVJZX09QRVJBVElPTl9ERUxFR0FUSU9OX0NFUlRfU0lHThAmEikKJVFVRVJZX09QRVJBVElPTl9DQU5PTklDQUxJWkVfRlJPTlRJRVIQJxIrCidRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX1BST0pFQ1RJT04QKCpsChNLZXJuZWxMYXdDYXBhYmlsaXR5EiUKIUtFUk5FTF9MQVdfQ0FQQUJJTElUWV9VTlNQRUNJRklFRBAAEi4KKktFUk5FTF9MQVdfQ0FQQUJJTElUWV9TVEFHRV9aRVJPX0JPT1RTVFJBUBABKqgBChpJbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudBIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1VOU1BFQ0lGSUVEEAASLgoqSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9TRUFMRURfQ0hBTkdFEAESLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9DT01NSVRfVFJFRRACKokBChVMaWZlY3ljbGVJbnN0YWxsUGhhc2USJwojTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfVU5TUEVDSUZJRUQQABIiCh5MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9BQ1RJVkUQARIjCh9MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9QRU5ESU5HEAIyWQoSTm9tb3NLZXJuZWxTZXJ2aWNlEkMKBENhbGwSHC5ub21vcy5rZXJuZWwudjEuQ2FsbFJlcXVlc3QaHS5ub21vcy5rZXJuZWwudjEuQ2FsbFJlc3BvbnNlYgZwcm90bzM");
|
|
491
|
+
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJHCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkitAIKFUluc3BlY3RDaGFuZ2VSZXNwb25zZRIuCghzZW1hbnRpYxgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBIRCglpbnRlbnRfaWQYAiABKAkSMgoEY2FsbBgDIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5Ob21pbmFsQ2FsbElkZW50aXR5EhAKCGF1dGhvcmVkGAQgASgIEkQKEWxpZmVjeWNsZV9pbnN0YWxsGAUgASgLMikubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxJZGVudGl0eRJMChRyZXF1aXJlZF9yZXNpZGVuY2llcxgGIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudCI0ChxFbmNvZGVSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEhQKDHZlcmRpY3RfdXNkYRgBIAEoDCJRCh1JbnNwZWN0UmVmdXNhbFZlcmRpY3RSZXNwb25zZRIwCgd2ZXJkaWN0GAEgASgLMh8ubm9tb3Mua2VybmVsLnYxLlJlZnVzYWxWZXJkaWN0Ii8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLvAgoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCGgoYX3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzQhsKGV9yZWFkX2luZGV4X2N1c3RvZHlfYnl0ZXMingIKGENoZWNrcG9pbnRJbXBvcnRSZXNwb25zZRIQCghyZXN0b3JlZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARIXCg9mcm9udGllcl9zZWVkZWQYAyABKAgSJQodZnJvbnRpZXJfdmVyaWZpY2F0aW9uX3BlbmRpbmcYBCABKAgSFwoPYWdncmVnYXRlX2NvdW50GAUgASgEEisKBXNwYW5zGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgHIAEoCUgBiAEBEhEKCXJlYWRfb25seRgIIAEoCBIXCg9sYXp5X3JlYWRfaW5kZXgYCSABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIkoKF0NhcGFjaXR5UmVzZXJ2ZVJlc3BvbnNlEhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBBIWCg5yZXNlcnZlZF9ieXRlcxgCIAEoBCL5AgoQUmVzdG9yZU1haW5TcGFucxIQCgh0b3RhbF91cxgBIAEoBBIaChJsaXZlX3JlZl9sb29rdXBfdXMYAiABKAQSGAoQdGFyZ2V0X2RlY29kZV91cxgDIAEoBBIkChxjdXN0b2R5X2NvbXBsZXRlbmVzc19yZWFkX3VzGAQgASgEEhkKEXF1YXJhbnRpbmVfcmVmX3VzGAUgASgEEiUKHWNoYWluX3NpZ25hdHVyZV9sYXdfcmVwbGF5X3VzGAYgASgEEhkKEXZlcmRpY3RfZGVjb2RlX3VzGAcgASgEEiMKG3Byb21vdGVfYW5kX2NsZWFudXBfcmVmc191cxgIIAEoBBIbChNmcm9udGllcl9yZWJ1aWxkX3VzGAkgASgEEhkKEWZyb250aWVyX3N0b3JlX3VzGAogASgEEj0KDHZlcmlmaWNhdGlvbhgLIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzIqQBChNSZXN0b3JlTWFpblJlc3BvbnNlEgwKBGhlYWQYASABKAkSEAoIdmVyaWZpZWQYAiABKAgSDAoEd2FsaxgDIAEoCRIwCgVzcGFucxgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblNwYW5zEi0KB3ZlcmRpY3QYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QimwIKCk5vbW9zVmFsdWUSJQoEbnVsbBgBIAEoCzIVLm5vbW9zLmtlcm5lbC52MS5OdWxsSAASEQoHYm9vbGVhbhgCIAEoCEgAEhgKDnNpZ25lZF9pbnRlZ2VyGAMgASgSSAASGgoQdW5zaWduZWRfaW50ZWdlchgEIAEoBEgAEhgKDmZsb2F0aW5nX3BvaW50GAUgASgBSAASDgoEdGV4dBgGIAEoCUgAEg8KBWJ5dGVzGAcgASgMSAASKgoEbGlzdBgIIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5Ob21vc0xpc3RIABIuCgZvYmplY3QYCSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RIAEIGCgRraW5kIgYKBE51bGwiOAoJTm9tb3NMaXN0EisKBnZhbHVlcxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlIpMBCgtOb21vc1N0cnVjdBI4CgZmaWVsZHMYASADKAsyKC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QuRmllbGRzRW50cnkaSgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEioKBXZhbHVlGAIgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWU6AjgBKukSChFLZXJuZWxSZWZ1c2FsQ29kZRIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1VOU1BFQ0lGSUVEEAASJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CQURfU0lHTkFUVVJFEAESJAogS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkFVVEhPUklaRUQQAhInCiNLRVJORUxfUkVGVVNBTF9DT0RFX1BPTElDWV9ESVNBQkxFRBADEioKJktFUk5FTF9SRUZVU0FMX0NPREVfVU5DRVJUSUZJRURfUE9MSUNZEAQSIwofS0VSTkVMX1JFRlVTQUxfQ09ERV9SRUZFUkVOVElBTBAFEi8KK0tFUk5FTF9SRUZVU0FMX0NPREVfUE9JTlRfU1RBVEVfVU5BVkFJTEFCTEUQBhIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX0NBUF9FWENFRURFRBAHEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0NPVU5UX1VOQVZBSUxBQkxFEAgSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9FVklERU5DRV9VTkJBQ0tFRBAJEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1JQSEFOX1JFQ0VJUFQQChI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX1JFQ0VJUFRfT05fVEVSTUlOQUxfT0JMSUdBVElPThALEiIKHktFUk5FTF9SRUZVU0FMX0NPREVfTk9UX01JTlRFRBAMEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX0xJRkVDWUNMRRANEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfVFlQRV9UQUdfTUlTTUFUQ0gQDhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1JFVElSRURfUkVBRF9TVVJGQUNFEA8SMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DUk9TU19XT1JLU1BBQ0VfREVDTElORUQQEBIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FHR1JFR0FURV9JTlZBUklBTlQQERIrCidLRVJORUxfUkVGVVNBTF9DT0RFX1dPUktTUEFDRV9JTlZBUklBTlQQEhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfQ09ORkxJQ1QQExIyCi5LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1JFUVVJUkVEEBQSNAowS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9VTkRFQ0xBUkVEEBUSMQotS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9JTlZBTElEEBYSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9TVEFMRRAXEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9VTkRFQ0xBUkVEEBgSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1BSSVZBVEUQGRIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5ERUNMQVJFRBAaEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTlRSVVNURURfS0VZEBsSNgoyS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9TT1VSQ0UQHBIsCihLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRk9SR0VEEB0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1NUQUxFEB4SLgoqS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX09WRVJTSVpFEB8SNwozS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX0RJU0hPTk9SRURfU09VUkNFECASNQoxS0VSTkVMX1JFRlVTQUxfQ09ERV9FUVVJVk9DQVRJT05fRVZJREVOQ0VfSU5WQUxJRBAhEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNUQVRJT05fUkVDRUlQVF9JTlZBTElEECISKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfUk9TVEVSX01JU01BVENIECMSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfRVBPQ0hfTk9UX01PTk9UT05JQxAkEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfV1JJVEVfRVBPQ0hfU1RBTEUQJRItCilLRVJORUxfUkVGVVNBTF9DT0RFX0VOVkVMT1BFX1NJRF9NSVNNQVRDSBAmEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfUkVWT0tFRF9NRU1CRVJfUkVTVVJSRUNURUQQJxIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX0ZPUkdFRF9QUklOQ0lQQUwQKBIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX0tFWV9BTkNIT1IQKRImCiJLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX1JFQ09WRVJZECoSLAooS0VSTkVMX1JFRlVTQUxfQ09ERV9TVVJGQUNFRF9CQVNJU19BSEVBRBArEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfU0lHTkVSX0VQT0NIX09VVF9PRl9XSU5ET1cQLBImCiJLRVJORUxfUkVGVVNBTF9DT0RFX0VWT0xWRV9SRUZVU0VEEC0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9JTlZBTElEEC4SLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9QQVJFTlRfRElEX05PVF9BVFRFU1QQLxIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0NFUlRfQ0hBSU5fQlJPS0VOEDASKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfUk9PVEVEX0FUX1JPT1QQMRIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX0RFTEVHQVRJT05fSU5WQUxJRBAyEiUKIUtFUk5FTF9SRUZVU0FMX0NPREVfUExBTl9SRUpFQ1RFRBAzKooBCg9WZXJpZnlDaGFpbldhbGsSIQodVkVSSUZZX0NIQUlOX1dBTEtfVU5TUEVDSUZJRUQQABIaChZWRVJJRllfQ0hBSU5fV0FMS19GVUxMEAESHAoYVkVSSUZZX0NIQUlOX1dBTEtfU1VGRklYEAISGgoWVkVSSUZZX0NIQUlOX1dBTEtfTUVNTxADKoUMCg5RdWVyeU9wZXJhdGlvbhIfChtRVUVSWV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhRVUVSWV9PUEVSQVRJT05fRVhUUkVNVU0QARIlCiFRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVFMQAhIsCihRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVF9TVU1NQVJZEAMSIAocUVVFUllfT1BFUkFUSU9OX1JFQURfUE9TVFVSRRAEEh8KG1FVRVJZX09QRVJBVElPTl9DVVJSRU5UX0xBVxAFEiMKH1FVRVJZX09QRVJBVElPTl9JTlRFUkZBQ0VfT0ZGRVIQBhInCiNRVUVSWV9PUEVSQVRJT05fUkVMQVRJT05fR0FURV9PRkZFUhAHEh0KGVFVRVJZX09QRVJBVElPTl9TQ0VORV9MQVcQCBIhCh1RVUVSWV9PUEVSQVRJT05fSU5TVEFMTEVEX0xBVxAJEhwKGFFVRVJZX09QRVJBVElPTl9ERVNDUklCRRAKEiAKHFFVRVJZX09QRVJBVElPTl9LRVJORUxfU1RBTVAQCxIjCh9RVUVSWV9PUEVSQVRJT05fREVWRUxPUEVSX1NQQU5TEAwSKQolUVVFUllfT1BFUkFUSU9OX0RFQ0xBUkVEX0NBUEFCSUxJVElFUxANEh0KGVFVRVJZX09QRVJBVElPTl9SRUFESU5FU1MQDhIkCiBRVUVSWV9PUEVSQVRJT05fUFJPSkVDVElPTl9TVEFUUxAPEiUKIVFVRVJZX09QRVJBVElPTl9NRU1PUllfRFJPUF9QUk9CRRAQEhgKFFFVRVJZX09QRVJBVElPTl9XQVJNEBESGwoXUVVFUllfT1BFUkFUSU9OX1JFRlJFU0gQEhIgChxRVUVSWV9PUEVSQVRJT05fVkVSSUZZX0NIQUlOEBMSJQohUVVFUllfT1BFUkFUSU9OX0hJU1RPUllfUFJFRkxJR0hUEBQSGQoVUVVFUllfT1BFUkFUSU9OX1JPVVRFEBUSGAoUUVVFUllfT1BFUkFUSU9OX01JTlQQFhIhCh1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX0tFWUdFThAXEiUKIVFVRVJZX09QRVJBVElPTl9DUllQVE9fU0VBTF9GSUVMRBAYEiwKKFFVRVJZX09QRVJBVElPTl9DUllQVE9fQkxJTkRfSU5ERVhfVE9LRU4QGRIqCiZRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1NDT1BFX0tFWRAaEi8KK1FVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfREVWSUNFX1JFUVVFU1QQGxIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfQVBQUk9WQUwQHBIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfUkVDT1ZFUlkQHRIjCh9RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1dSQVBfS0VZEB4SJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19VTldSQVBfS0VZEB8SIQodUVVFUllfT1BFUkFUSU9OX0FVVEhPUl9LRVlHRU4QIBIkCiBRVUVSWV9PUEVSQVRJT05fQVRURVNUQVRJT05fU0lHThAhEiAKHFFVRVJZX09QRVJBVElPTl9SRUNFSVBUX1BBVEgQIhIdChlRVUVSWV9PUEVSQVRJT05fQ0VSVF9TSUdOECMSJQohUVVFUllfT1BFUkFUSU9OX0JJUlRIX1RSVVNUX1NUQVRFECQSIQodUVVFUllfT1BFUkFUSU9OX0VSQV9DRVJUX1NJR04QJRIoCiRRVUVSWV9PUEVSQVRJT05fREVMRUdBVElPTl9DRVJUX1NJR04QJhIpCiVRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX0ZST05USUVSECcSKwonUVVFUllfT1BFUkFUSU9OX0NBTk9OSUNBTElaRV9QUk9KRUNUSU9OECgqbAoTS2VybmVsTGF3Q2FwYWJpbGl0eRIlCiFLRVJORUxfTEFXX0NBUEFCSUxJVFlfVU5TUEVDSUZJRUQQABIuCipLRVJORUxfTEFXX0NBUEFCSUxJVFlfU1RBR0VfWkVST19CT09UU1RSQVAQASqoAQoaSW50ZW50VHJhbnNwb3J0UmVxdWlyZW1lbnQSLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9VTlNQRUNJRklFRBAAEi4KKklOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfU0VBTEVEX0NIQU5HRRABEiwKKElOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfQ09NTUlUX1RSRUUQAiqJAQoVTGlmZWN5Y2xlSW5zdGFsbFBoYXNlEicKI0xJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX1VOU1BFQ0lGSUVEEAASIgoeTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfQUNUSVZFEAESIwofTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfUEVORElORxACMlkKEk5vbW9zS2VybmVsU2VydmljZRJDCgRDYWxsEhwubm9tb3Mua2VybmVsLnYxLkNhbGxSZXF1ZXN0Gh0ubm9tb3Mua2VybmVsLnYxLkNhbGxSZXNwb25zZWIGcHJvdG8z");
|
|
492
492
|
CallRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 0);
|
|
493
493
|
CallResponseSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 1);
|
|
494
494
|
WorkspaceTargetSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 19);
|
|
@@ -535,8 +535,8 @@ var init_kernel_pb = __esm({
|
|
|
535
535
|
CheckpointImportRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 76);
|
|
536
536
|
CapacityReserveRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 77);
|
|
537
537
|
RestoreMainRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 78);
|
|
538
|
-
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
539
|
-
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
538
|
+
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 103);
|
|
539
|
+
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 106);
|
|
540
540
|
QueryOperationSchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 2);
|
|
541
541
|
QueryOperation = /* @__PURE__ */ tsEnum(QueryOperationSchema);
|
|
542
542
|
KernelLawCapabilitySchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 3);
|
|
@@ -594,6 +594,7 @@ __export(engine_exports, {
|
|
|
594
594
|
describe: () => describe,
|
|
595
595
|
directiveRoutes: () => directiveRoutes,
|
|
596
596
|
emitOutbox: () => emitOutbox,
|
|
597
|
+
ensureWorkspaceResidency: () => ensureWorkspaceResidency,
|
|
597
598
|
eraCertSign: () => eraCertSign,
|
|
598
599
|
evalCanonicalPred: () => evalCanonicalPred,
|
|
599
600
|
evolveDryRun: () => evolveDryRun,
|
|
@@ -603,12 +604,14 @@ __export(engine_exports, {
|
|
|
603
604
|
flushDeferredProjections: () => flushDeferredProjections,
|
|
604
605
|
gitdirOf: () => gitdirOf,
|
|
605
606
|
globalAggregates: () => globalAggregates,
|
|
607
|
+
hasWorkspaceResidency: () => hasWorkspaceResidency,
|
|
606
608
|
historyPreflight: () => historyPreflight,
|
|
607
609
|
historyRestorePreflight: () => historyRestorePreflight,
|
|
608
610
|
importCheckpoint: () => importCheckpoint,
|
|
609
611
|
importCustodyObjects: () => importCustodyObjects,
|
|
610
612
|
ingestPackAsCustody: () => ingestPackAsCustody,
|
|
611
613
|
installedLaw: () => installedLaw,
|
|
614
|
+
intentOfferResidencies: () => intentOfferResidencies,
|
|
612
615
|
isWarranted: () => isWarranted,
|
|
613
616
|
kernelStamp: () => kernelStamp,
|
|
614
617
|
kgit: () => kgit,
|
|
@@ -1745,6 +1748,49 @@ async function admitIntentOffers(eng, ws, ledger, offers, { receiptFence = null,
|
|
|
1745
1748
|
const bornPacked = born.length ? packBornChildren(eng, born) : born;
|
|
1746
1749
|
return { sessions: [...sessions.values()].map((s) => ({ ...s, ...s.skipped.length ? {} : { skipped: void 0 } })), main: head, deadLetters, timings, summary: summary ?? null, born: bornPacked, birthOutcomes, ...resultPackB64 ? { resultPackB64, resultBase: clientBase } : {} };
|
|
1747
1750
|
}
|
|
1751
|
+
function intentOfferResidencies(eng, offers) {
|
|
1752
|
+
const unique = /* @__PURE__ */ new Map();
|
|
1753
|
+
for (const offer of Array.isArray(offers) ? offers : []) {
|
|
1754
|
+
let blob = offer?.blob instanceof Uint8Array ? offer.blob : null;
|
|
1755
|
+
if (!blob && typeof offer?.changeB64 === "string") {
|
|
1756
|
+
blob = Uint8Array.from(atob(offer.changeB64), (c) => c.charCodeAt(0));
|
|
1757
|
+
}
|
|
1758
|
+
if (!blob?.byteLength) continue;
|
|
1759
|
+
const inspected = kgit.inspectChange(eng, blob);
|
|
1760
|
+
for (const residency of inspected.requiredResidencies || []) {
|
|
1761
|
+
if (!residency.workspace || !residency.sourceHead) continue;
|
|
1762
|
+
unique.set(`${residency.workspace}\0${residency.sourceHead}`, {
|
|
1763
|
+
workspace: residency.workspace,
|
|
1764
|
+
sourceHead: residency.sourceHead
|
|
1765
|
+
});
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
return [...unique.values()];
|
|
1769
|
+
}
|
|
1770
|
+
function hasWorkspaceResidency(eng, workspace, sourceHead) {
|
|
1771
|
+
if (!eng.mounted.has(workspace)) return false;
|
|
1772
|
+
const gitdir = gitdirOf(workspace);
|
|
1773
|
+
const main = kgit.resolveRef(eng, gitdir, BRANCH);
|
|
1774
|
+
if (!main) return false;
|
|
1775
|
+
if (main === sourceHead) return true;
|
|
1776
|
+
try {
|
|
1777
|
+
kgit.intentsAbove(eng, gitdir, main, sourceHead, 1);
|
|
1778
|
+
return true;
|
|
1779
|
+
} catch {
|
|
1780
|
+
return false;
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
async function ensureWorkspaceResidency(eng, workspace, sourceHead, ledger) {
|
|
1784
|
+
if (hasWorkspaceResidency(eng, workspace, sourceHead)) return { workspace, sourceHead, reused: true };
|
|
1785
|
+
if (eng.mounted.has(workspace)) unmount(eng, workspace);
|
|
1786
|
+
const mounted = await mountWorkspace(eng, workspace, ledger);
|
|
1787
|
+
if (!mounted.restored || !hasWorkspaceResidency(eng, workspace, sourceHead)) {
|
|
1788
|
+
throw new Error(
|
|
1789
|
+
`workspace residency '${workspace}' does not contain required source head ${sourceHead}`
|
|
1790
|
+
);
|
|
1791
|
+
}
|
|
1792
|
+
return { workspace, sourceHead, reused: false };
|
|
1793
|
+
}
|
|
1748
1794
|
async function checkpointStateHash(eng, ws) {
|
|
1749
1795
|
const rows = query(eng, ws, "aggregatesByType", JSON.stringify({ __type: "NomosSummarySubtotal" }));
|
|
1750
1796
|
const canon = rows.map((r) => {
|
|
@@ -1814,10 +1860,14 @@ function stageWorkspaceDir(eng, ws) {
|
|
|
1814
1860
|
dirOf(eng.preopen.dir.contents.get("ws")).contents.set(ws, new Directory(wsContents));
|
|
1815
1861
|
}
|
|
1816
1862
|
async function mountWorkspace(eng, ws, ledger) {
|
|
1817
|
-
|
|
1863
|
+
const existing = eng.mounted.get(ws);
|
|
1864
|
+
if (existing && !existing.restoreError) return existing;
|
|
1865
|
+
if (existing) unmount(eng, ws);
|
|
1818
1866
|
stageWorkspaceDir(eng, ws);
|
|
1819
1867
|
const gitdir = gitdirOf(ws);
|
|
1820
1868
|
let restored = false, remoteMain = null, restoreError = null;
|
|
1869
|
+
let verificationVerdict = null;
|
|
1870
|
+
let requiredResidencies = [];
|
|
1821
1871
|
try {
|
|
1822
1872
|
await custodySkeleton(eng, gitdir);
|
|
1823
1873
|
remoteMain = await custodyFetch(eng, ws, ledger, { remoteRef: "refs/heads/main", writeRef: false });
|
|
@@ -1827,11 +1877,19 @@ async function mountWorkspace(eng, ws, ledger) {
|
|
|
1827
1877
|
throw new Error(`kernel refused restored main ${remoteMain}: ${JSON.stringify(mounted)}`);
|
|
1828
1878
|
}
|
|
1829
1879
|
restored = true;
|
|
1880
|
+
verificationVerdict = jsStruct(mounted.verdict);
|
|
1830
1881
|
}
|
|
1831
1882
|
} catch (e) {
|
|
1832
1883
|
restoreError = String(e?.stack || e).split("\n").slice(0, 5).join(" | ");
|
|
1884
|
+
if (remoteMain) {
|
|
1885
|
+
try {
|
|
1886
|
+
const imported = kgit.intentsAbove(eng, gitdir, remoteMain);
|
|
1887
|
+
requiredResidencies = intentOfferResidencies(eng, imported);
|
|
1888
|
+
} catch {
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1833
1891
|
}
|
|
1834
|
-
const m = { restored, remoteMain, restoreError };
|
|
1892
|
+
const m = { restored, remoteMain, restoreError, verificationVerdict, requiredResidencies };
|
|
1835
1893
|
eng.mounted.set(ws, m);
|
|
1836
1894
|
return m;
|
|
1837
1895
|
}
|
package/dist/dev-server.mjs
CHANGED
|
@@ -353,7 +353,7 @@ var file_nomos_kernel_v1_kernel, CallRequestSchema, CallResponseSchema, Workspac
|
|
|
353
353
|
var init_kernel_pb = __esm({
|
|
354
354
|
"../adapter/proto/nomos/kernel/v1/kernel_pb.js"() {
|
|
355
355
|
"use strict";
|
|
356
|
-
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSLmAQoVSW5zcGVjdENoYW5nZVJlc3BvbnNlEi4KCHNlbWFudGljGAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCWludGVudF9pZBgCIAEoCRIyCgRjYWxsGAMgASgLMiQubm9tb3Mua2VybmVsLnYxLk5vbWluYWxDYWxsSWRlbnRpdHkSEAoIYXV0aG9yZWQYBCABKAgSRAoRbGlmZWN5Y2xlX2luc3RhbGwYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuTGlmZWN5Y2xlSW5zdGFsbElkZW50aXR5IjQKHEVuY29kZVJlZnVzYWxWZXJkaWN0UmVzcG9uc2USFAoMdmVyZGljdF91c2RhGAEgASgMIlEKHUluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiLwoQUmVhZEJsb2JSZXNwb25zZRINCgVmb3VuZBgBIAEoCBIMCgRibG9iGAIgASgMIi4KElJlc29sdmVSZWZSZXNwb25zZRIQCgNvaWQYASABKAlIAIgBAUIGCgRfb2lkIisKCVJlZlJlY29yZBIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIjwKEExpc3RSZWZzUmVzcG9uc2USKAoEcmVmcxgBIAMoCzIaLm5vbW9zLmtlcm5lbC52MS5SZWZSZWNvcmQiDgoMQWNrbm93bGVkZ2VkIiYKF1dyaXRlTWV0YUNvbW1pdFJlc3BvbnNlEgsKA29pZBgBIAEoCSKDAQoWTGF3Q2xvc3VyZUluZm9SZXNwb25zZRIQCghpZGVudGl0eRgBIAEoCRIZChFyb290X2xvZ2ljYWxfcGF0aBgCIAEoCRITCgthc3NldF9jb3VudBgDIAEoBBISCgpwcmltX2NvdW50GAQgASgEEhMKC2RvbWFpbl9rZXlzGAUgAygJIu8CChhDaGVja3BvaW50RXhwb3J0UmVzcG9uc2USDQoFZW1wdHkYASABKAgSEwoGY3Vyc29yGAIgASgJSACIAQESEAoIZnJvbnRpZXIYAyABKAwSFwoKc3RhdGVfcm9vdBgEIAEoCUgBiAEBEhIKCnN0YXRlX3RyZWUYBSABKAgSDgoGcGlubmVkGAYgASgIEhsKE3JlYWRfaW5kZXhfc25hcHNob3QYByABKAgSIwobcmVhZF9pbmRleF9zbmFwc2hvdF9wZW5kaW5nGAggASgIEiQKF3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzGAkgASgESAKIAQESJQoYcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzGAogASgESAOIAQFCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdEIaChhfcmVhZF9pbmRleF9zcWxpdGVfYnl0ZXNCGwoZX3JlYWRfaW5kZXhfY3VzdG9keV9ieXRlcyKeAgoYQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlEhAKCHJlc3RvcmVkGAEgASgIEhMKBnJlYXNvbhgCIAEoCUgAiAEBEhcKD2Zyb250aWVyX3NlZWRlZBgDIAEoCBIlCh1mcm9udGllcl92ZXJpZmljYXRpb25fcGVuZGluZxgEIAEoCBIXCg9hZ2dyZWdhdGVfY291bnQYBSABKAQSKwoFc3BhbnMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEwoGY3Vyc29yGAcgASgJSAGIAQESEQoJcmVhZF9vbmx5GAggASgIEhcKD2xhenlfcmVhZF9pbmRleBgJIAEoCEIJCgdfcmVhc29uQgkKB19jdXJzb3IiSgoXQ2FwYWNpdHlSZXNlcnZlUmVzcG9uc2USFwoPYWdncmVnYXRlX2NvdW50GAEgASgEEhYKDnJlc2VydmVkX2J5dGVzGAIgASgEIvkCChBSZXN0b3JlTWFpblNwYW5zEhAKCHRvdGFsX3VzGAEgASgEEhoKEmxpdmVfcmVmX2xvb2t1cF91cxgCIAEoBBIYChB0YXJnZXRfZGVjb2RlX3VzGAMgASgEEiQKHGN1c3RvZHlfY29tcGxldGVuZXNzX3JlYWRfdXMYBCABKAQSGQoRcXVhcmFudGluZV9yZWZfdXMYBSABKAQSJQodY2hhaW5fc2lnbmF0dXJlX2xhd19yZXBsYXlfdXMYBiABKAQSGQoRdmVyZGljdF9kZWNvZGVfdXMYByABKAQSIwobcHJvbW90ZV9hbmRfY2xlYW51cF9yZWZzX3VzGAggASgEEhsKE2Zyb250aWVyX3JlYnVpbGRfdXMYCSABKAQSGQoRZnJvbnRpZXJfc3RvcmVfdXMYCiABKAQSPQoMdmVyaWZpY2F0aW9uGAsgASgLMicubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRGlhZ25vc3RpY3MidQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucyKbAgoKTm9tb3NWYWx1ZRIlCgRudWxsGAEgASgLMhUubm9tb3Mua2VybmVsLnYxLk51bGxIABIRCgdib29sZWFuGAIgASgISAASGAoOc2lnbmVkX2ludGVnZXIYAyABKBJIABIaChB1bnNpZ25lZF9pbnRlZ2VyGAQgASgESAASGAoOZmxvYXRpbmdfcG9pbnQYBSABKAFIABIOCgR0ZXh0GAYgASgJSAASDwoFYnl0ZXMYByABKAxIABIqCgRsaXN0GAggASgLMhoubm9tb3Mua2VybmVsLnYxLk5vbW9zTGlzdEgAEi4KBm9iamVjdBgJIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEgAQgYKBGtpbmQiBgoETnVsbCI4CglOb21vc0xpc3QSKwoGdmFsdWVzGAEgAygLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWUikwEKC05vbW9zU3RydWN0EjgKBmZpZWxkcxgBIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdC5GaWVsZHNFbnRyeRpKCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSKgoFdmFsdWUYAiABKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZToCOAEq6RIKEUtlcm5lbFJlZnVzYWxDb2RlEiMKH0tFUk5FTF9SRUZVU0FMX0NPREVfVU5TUEVDSUZJRUQQABIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JBRF9TSUdOQVRVUkUQARIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX1VOQVVUSE9SSVpFRBACEicKI0tFUk5FTF9SRUZVU0FMX0NPREVfUE9MSUNZX0RJU0FCTEVEEAMSKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkNFUlRJRklFRF9QT0xJQ1kQBBIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1JFRkVSRU5USUFMEAUSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9QT0lOVF9TVEFURV9VTkFWQUlMQUJMRRAGEiQKIEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0VYQ0VFREVEEAcSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBfQ09VTlRfVU5BVkFJTEFCTEUQCBIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0VWSURFTkNFX1VOQkFDS0VEEAkSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9PUlBIQU5fUkVDRUlQVBAKEjYKMktFUk5FTF9SRUZVU0FMX0NPREVfUkVDRUlQVF9PTl9URVJNSU5BTF9PQkxJR0FUSU9OEAsSIgoeS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfTUlOVEVEEAwSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fTElGRUNZQ0xFEA0SKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9UWVBFX1RBR19NSVNNQVRDSBAOEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfUkVUSVJFRF9SRUFEX1NVUkZBQ0UQDxIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0NST1NTX1dPUktTUEFDRV9ERUNMSU5FRBAQEisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfQUdHUkVHQVRFX0lOVkFSSUFOVBAREisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfV09SS1NQQUNFX0lOVkFSSUFOVBASEi4KKktFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9DT05GTElDVBATEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfQ09ORkxJQ1RfU05BUFNIT1RfUkVRVUlSRUQQFBI0CjBLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1VOREVDTEFSRUQQFRIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX0lOVkFMSUQQFhIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1NUQUxFEBcSMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1VOREVDTEFSRUQQGBItCilLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfUFJJVkFURRAZEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTkRFQ0xBUkVEEBoSMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9LRVkQGxI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5UUlVTVEVEX1NPVVJDRRAcEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9GT1JHRUQQHRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfU1RBTEUQHhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfT1ZFUlNJWkUQHxI3CjNLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRElTSE9OT1JFRF9TT1VSQ0UQIBI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0VRVUlWT0NBVElPTl9FVklERU5DRV9JTlZBTElEECESMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9SRUNFSVBUX0lOVkFMSUQQIhIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9ST1NURVJfTUlTTUFUQ0gQIxIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9FUE9DSF9OT1RfTU9OT1RPTklDECQSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9XUklURV9FUE9DSF9TVEFMRRAlEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfRU5WRUxPUEVfU0lEX01JU01BVENIECYSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9SRVZPS0VEX01FTUJFUl9SRVNVUlJFQ1RFRBAnEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRk9SR0VEX1BSSU5DSVBBTBAoEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfS0VZX0FOQ0hPUhApEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfUkVDT1ZFUlkQKhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1NVUkZBQ0VEX0JBU0lTX0FIRUFEECsSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9TSUdORVJfRVBPQ0hfT1VUX09GX1dJTkRPVxAsEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRVZPTFZFX1JFRlVTRUQQLRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEFUSU9OX0lOVkFMSUQQLhItCilLRVJORUxfUkVGVVNBTF9DT0RFX1BBUkVOVF9ESURfTk9UX0FUVEVTVBAvEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfQ0VSVF9DSEFJTl9CUk9LRU4QMBIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX05PVF9ST09URURfQVRfUk9PVBAxEioKJktFUk5FTF9SRUZVU0FMX0NPREVfREVMRUdBVElPTl9JTlZBTElEEDISJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9QTEFOX1JFSkVDVEVEEDMqigEKD1ZlcmlmeUNoYWluV2FsaxIhCh1WRVJJRllfQ0hBSU5fV0FMS19VTlNQRUNJRklFRBAAEhoKFlZFUklGWV9DSEFJTl9XQUxLX0ZVTEwQARIcChhWRVJJRllfQ0hBSU5fV0FMS19TVUZGSVgQAhIaChZWRVJJRllfQ0hBSU5fV0FMS19NRU1PEAMqhQwKDlF1ZXJ5T3BlcmF0aW9uEh8KG1FVRVJZX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhwKGFFVRVJZX09QRVJBVElPTl9FWFRSRU1VTRABEiUKIVFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUUxACEiwKKFFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUX1NVTU1BUlkQAxIgChxRVUVSWV9PUEVSQVRJT05fUkVBRF9QT1NUVVJFEAQSHwobUVVFUllfT1BFUkFUSU9OX0NVUlJFTlRfTEFXEAUSIwofUVVFUllfT1BFUkFUSU9OX0lOVEVSRkFDRV9PRkZFUhAGEicKI1FVRVJZX09QRVJBVElPTl9SRUxBVElPTl9HQVRFX09GRkVSEAcSHQoZUVVFUllfT1BFUkFUSU9OX1NDRU5FX0xBVxAIEiEKHVFVRVJZX09QRVJBVElPTl9JTlNUQUxMRURfTEFXEAkSHAoYUVVFUllfT1BFUkFUSU9OX0RFU0NSSUJFEAoSIAocUVVFUllfT1BFUkFUSU9OX0tFUk5FTF9TVEFNUBALEiMKH1FVRVJZX09QRVJBVElPTl9ERVZFTE9QRVJfU1BBTlMQDBIpCiVRVUVSWV9PUEVSQVRJT05fREVDTEFSRURfQ0FQQUJJTElUSUVTEA0SHQoZUVVFUllfT1BFUkFUSU9OX1JFQURJTkVTUxAOEiQKIFFVRVJZX09QRVJBVElPTl9QUk9KRUNUSU9OX1NUQVRTEA8SJQohUVVFUllfT1BFUkFUSU9OX01FTU9SWV9EUk9QX1BST0JFEBASGAoUUVVFUllfT1BFUkFUSU9OX1dBUk0QERIbChdRVUVSWV9PUEVSQVRJT05fUkVGUkVTSBASEiAKHFFVRVJZX09QRVJBVElPTl9WRVJJRllfQ0hBSU4QExIlCiFRVUVSWV9PUEVSQVRJT05fSElTVE9SWV9QUkVGTElHSFQQFBIZChVRVUVSWV9PUEVSQVRJT05fUk9VVEUQFRIYChRRVUVSWV9PUEVSQVRJT05fTUlOVBAWEiEKHVFVRVJZX09QRVJBVElPTl9DUllQVE9fS0VZR0VOEBcSJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19TRUFMX0ZJRUxEEBgSLAooUVVFUllfT1BFUkFUSU9OX0NSWVBUT19CTElORF9JTkRFWF9UT0tFThAZEioKJlFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfU0NPUEVfS0VZEBoSLworUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9ERVZJQ0VfUkVRVUVTVBAbEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9BUFBST1ZBTBAcEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9SRUNPVkVSWRAdEiMKH1FVRVJZX09QRVJBVElPTl9DUllQVE9fV1JBUF9LRVkQHhIlCiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1VOV1JBUF9LRVkQHxIhCh1RVUVSWV9PUEVSQVRJT05fQVVUSE9SX0tFWUdFThAgEiQKIFFVRVJZX09QRVJBVElPTl9BVFRFU1RBVElPTl9TSUdOECESIAocUVVFUllfT1BFUkFUSU9OX1JFQ0VJUFRfUEFUSBAiEh0KGVFVRVJZX09QRVJBVElPTl9DRVJUX1NJR04QIxIlCiFRVUVSWV9PUEVSQVRJT05fQklSVEhfVFJVU1RfU1RBVEUQJBIhCh1RVUVSWV9PUEVSQVRJT05fRVJBX0NFUlRfU0lHThAlEigKJFFVRVJZX09QRVJBVElPTl9ERUxFR0FUSU9OX0NFUlRfU0lHThAmEikKJVFVRVJZX09QRVJBVElPTl9DQU5PTklDQUxJWkVfRlJPTlRJRVIQJxIrCidRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX1BST0pFQ1RJT04QKCpsChNLZXJuZWxMYXdDYXBhYmlsaXR5EiUKIUtFUk5FTF9MQVdfQ0FQQUJJTElUWV9VTlNQRUNJRklFRBAAEi4KKktFUk5FTF9MQVdfQ0FQQUJJTElUWV9TVEFHRV9aRVJPX0JPT1RTVFJBUBABKqgBChpJbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudBIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1VOU1BFQ0lGSUVEEAASLgoqSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9TRUFMRURfQ0hBTkdFEAESLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9DT01NSVRfVFJFRRACKokBChVMaWZlY3ljbGVJbnN0YWxsUGhhc2USJwojTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfVU5TUEVDSUZJRUQQABIiCh5MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9BQ1RJVkUQARIjCh9MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9QRU5ESU5HEAIyWQoSTm9tb3NLZXJuZWxTZXJ2aWNlEkMKBENhbGwSHC5ub21vcy5rZXJuZWwudjEuQ2FsbFJlcXVlc3QaHS5ub21vcy5rZXJuZWwudjEuQ2FsbFJlc3BvbnNlYgZwcm90bzM");
|
|
356
|
+
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJHCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkitAIKFUluc3BlY3RDaGFuZ2VSZXNwb25zZRIuCghzZW1hbnRpYxgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBIRCglpbnRlbnRfaWQYAiABKAkSMgoEY2FsbBgDIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5Ob21pbmFsQ2FsbElkZW50aXR5EhAKCGF1dGhvcmVkGAQgASgIEkQKEWxpZmVjeWNsZV9pbnN0YWxsGAUgASgLMikubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxJZGVudGl0eRJMChRyZXF1aXJlZF9yZXNpZGVuY2llcxgGIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudCI0ChxFbmNvZGVSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEhQKDHZlcmRpY3RfdXNkYRgBIAEoDCJRCh1JbnNwZWN0UmVmdXNhbFZlcmRpY3RSZXNwb25zZRIwCgd2ZXJkaWN0GAEgASgLMh8ubm9tb3Mua2VybmVsLnYxLlJlZnVzYWxWZXJkaWN0Ii8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLvAgoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCGgoYX3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzQhsKGV9yZWFkX2luZGV4X2N1c3RvZHlfYnl0ZXMingIKGENoZWNrcG9pbnRJbXBvcnRSZXNwb25zZRIQCghyZXN0b3JlZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARIXCg9mcm9udGllcl9zZWVkZWQYAyABKAgSJQodZnJvbnRpZXJfdmVyaWZpY2F0aW9uX3BlbmRpbmcYBCABKAgSFwoPYWdncmVnYXRlX2NvdW50GAUgASgEEisKBXNwYW5zGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgHIAEoCUgBiAEBEhEKCXJlYWRfb25seRgIIAEoCBIXCg9sYXp5X3JlYWRfaW5kZXgYCSABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIkoKF0NhcGFjaXR5UmVzZXJ2ZVJlc3BvbnNlEhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBBIWCg5yZXNlcnZlZF9ieXRlcxgCIAEoBCL5AgoQUmVzdG9yZU1haW5TcGFucxIQCgh0b3RhbF91cxgBIAEoBBIaChJsaXZlX3JlZl9sb29rdXBfdXMYAiABKAQSGAoQdGFyZ2V0X2RlY29kZV91cxgDIAEoBBIkChxjdXN0b2R5X2NvbXBsZXRlbmVzc19yZWFkX3VzGAQgASgEEhkKEXF1YXJhbnRpbmVfcmVmX3VzGAUgASgEEiUKHWNoYWluX3NpZ25hdHVyZV9sYXdfcmVwbGF5X3VzGAYgASgEEhkKEXZlcmRpY3RfZGVjb2RlX3VzGAcgASgEEiMKG3Byb21vdGVfYW5kX2NsZWFudXBfcmVmc191cxgIIAEoBBIbChNmcm9udGllcl9yZWJ1aWxkX3VzGAkgASgEEhkKEWZyb250aWVyX3N0b3JlX3VzGAogASgEEj0KDHZlcmlmaWNhdGlvbhgLIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzIqQBChNSZXN0b3JlTWFpblJlc3BvbnNlEgwKBGhlYWQYASABKAkSEAoIdmVyaWZpZWQYAiABKAgSDAoEd2FsaxgDIAEoCRIwCgVzcGFucxgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblNwYW5zEi0KB3ZlcmRpY3QYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QimwIKCk5vbW9zVmFsdWUSJQoEbnVsbBgBIAEoCzIVLm5vbW9zLmtlcm5lbC52MS5OdWxsSAASEQoHYm9vbGVhbhgCIAEoCEgAEhgKDnNpZ25lZF9pbnRlZ2VyGAMgASgSSAASGgoQdW5zaWduZWRfaW50ZWdlchgEIAEoBEgAEhgKDmZsb2F0aW5nX3BvaW50GAUgASgBSAASDgoEdGV4dBgGIAEoCUgAEg8KBWJ5dGVzGAcgASgMSAASKgoEbGlzdBgIIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5Ob21vc0xpc3RIABIuCgZvYmplY3QYCSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RIAEIGCgRraW5kIgYKBE51bGwiOAoJTm9tb3NMaXN0EisKBnZhbHVlcxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlIpMBCgtOb21vc1N0cnVjdBI4CgZmaWVsZHMYASADKAsyKC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QuRmllbGRzRW50cnkaSgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEioKBXZhbHVlGAIgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWU6AjgBKukSChFLZXJuZWxSZWZ1c2FsQ29kZRIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1VOU1BFQ0lGSUVEEAASJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CQURfU0lHTkFUVVJFEAESJAogS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkFVVEhPUklaRUQQAhInCiNLRVJORUxfUkVGVVNBTF9DT0RFX1BPTElDWV9ESVNBQkxFRBADEioKJktFUk5FTF9SRUZVU0FMX0NPREVfVU5DRVJUSUZJRURfUE9MSUNZEAQSIwofS0VSTkVMX1JFRlVTQUxfQ09ERV9SRUZFUkVOVElBTBAFEi8KK0tFUk5FTF9SRUZVU0FMX0NPREVfUE9JTlRfU1RBVEVfVU5BVkFJTEFCTEUQBhIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX0NBUF9FWENFRURFRBAHEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0NPVU5UX1VOQVZBSUxBQkxFEAgSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9FVklERU5DRV9VTkJBQ0tFRBAJEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1JQSEFOX1JFQ0VJUFQQChI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX1JFQ0VJUFRfT05fVEVSTUlOQUxfT0JMSUdBVElPThALEiIKHktFUk5FTF9SRUZVU0FMX0NPREVfTk9UX01JTlRFRBAMEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX0xJRkVDWUNMRRANEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfVFlQRV9UQUdfTUlTTUFUQ0gQDhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1JFVElSRURfUkVBRF9TVVJGQUNFEA8SMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DUk9TU19XT1JLU1BBQ0VfREVDTElORUQQEBIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FHR1JFR0FURV9JTlZBUklBTlQQERIrCidLRVJORUxfUkVGVVNBTF9DT0RFX1dPUktTUEFDRV9JTlZBUklBTlQQEhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfQ09ORkxJQ1QQExIyCi5LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1JFUVVJUkVEEBQSNAowS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9VTkRFQ0xBUkVEEBUSMQotS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9JTlZBTElEEBYSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9TVEFMRRAXEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9VTkRFQ0xBUkVEEBgSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1BSSVZBVEUQGRIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5ERUNMQVJFRBAaEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTlRSVVNURURfS0VZEBsSNgoyS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9TT1VSQ0UQHBIsCihLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRk9SR0VEEB0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1NUQUxFEB4SLgoqS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX09WRVJTSVpFEB8SNwozS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX0RJU0hPTk9SRURfU09VUkNFECASNQoxS0VSTkVMX1JFRlVTQUxfQ09ERV9FUVVJVk9DQVRJT05fRVZJREVOQ0VfSU5WQUxJRBAhEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNUQVRJT05fUkVDRUlQVF9JTlZBTElEECISKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfUk9TVEVSX01JU01BVENIECMSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfRVBPQ0hfTk9UX01PTk9UT05JQxAkEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfV1JJVEVfRVBPQ0hfU1RBTEUQJRItCilLRVJORUxfUkVGVVNBTF9DT0RFX0VOVkVMT1BFX1NJRF9NSVNNQVRDSBAmEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfUkVWT0tFRF9NRU1CRVJfUkVTVVJSRUNURUQQJxIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX0ZPUkdFRF9QUklOQ0lQQUwQKBIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX0tFWV9BTkNIT1IQKRImCiJLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX1JFQ09WRVJZECoSLAooS0VSTkVMX1JFRlVTQUxfQ09ERV9TVVJGQUNFRF9CQVNJU19BSEVBRBArEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfU0lHTkVSX0VQT0NIX09VVF9PRl9XSU5ET1cQLBImCiJLRVJORUxfUkVGVVNBTF9DT0RFX0VWT0xWRV9SRUZVU0VEEC0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9JTlZBTElEEC4SLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9QQVJFTlRfRElEX05PVF9BVFRFU1QQLxIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0NFUlRfQ0hBSU5fQlJPS0VOEDASKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfUk9PVEVEX0FUX1JPT1QQMRIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX0RFTEVHQVRJT05fSU5WQUxJRBAyEiUKIUtFUk5FTF9SRUZVU0FMX0NPREVfUExBTl9SRUpFQ1RFRBAzKooBCg9WZXJpZnlDaGFpbldhbGsSIQodVkVSSUZZX0NIQUlOX1dBTEtfVU5TUEVDSUZJRUQQABIaChZWRVJJRllfQ0hBSU5fV0FMS19GVUxMEAESHAoYVkVSSUZZX0NIQUlOX1dBTEtfU1VGRklYEAISGgoWVkVSSUZZX0NIQUlOX1dBTEtfTUVNTxADKoUMCg5RdWVyeU9wZXJhdGlvbhIfChtRVUVSWV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhRVUVSWV9PUEVSQVRJT05fRVhUUkVNVU0QARIlCiFRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVFMQAhIsCihRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVF9TVU1NQVJZEAMSIAocUVVFUllfT1BFUkFUSU9OX1JFQURfUE9TVFVSRRAEEh8KG1FVRVJZX09QRVJBVElPTl9DVVJSRU5UX0xBVxAFEiMKH1FVRVJZX09QRVJBVElPTl9JTlRFUkZBQ0VfT0ZGRVIQBhInCiNRVUVSWV9PUEVSQVRJT05fUkVMQVRJT05fR0FURV9PRkZFUhAHEh0KGVFVRVJZX09QRVJBVElPTl9TQ0VORV9MQVcQCBIhCh1RVUVSWV9PUEVSQVRJT05fSU5TVEFMTEVEX0xBVxAJEhwKGFFVRVJZX09QRVJBVElPTl9ERVNDUklCRRAKEiAKHFFVRVJZX09QRVJBVElPTl9LRVJORUxfU1RBTVAQCxIjCh9RVUVSWV9PUEVSQVRJT05fREVWRUxPUEVSX1NQQU5TEAwSKQolUVVFUllfT1BFUkFUSU9OX0RFQ0xBUkVEX0NBUEFCSUxJVElFUxANEh0KGVFVRVJZX09QRVJBVElPTl9SRUFESU5FU1MQDhIkCiBRVUVSWV9PUEVSQVRJT05fUFJPSkVDVElPTl9TVEFUUxAPEiUKIVFVRVJZX09QRVJBVElPTl9NRU1PUllfRFJPUF9QUk9CRRAQEhgKFFFVRVJZX09QRVJBVElPTl9XQVJNEBESGwoXUVVFUllfT1BFUkFUSU9OX1JFRlJFU0gQEhIgChxRVUVSWV9PUEVSQVRJT05fVkVSSUZZX0NIQUlOEBMSJQohUVVFUllfT1BFUkFUSU9OX0hJU1RPUllfUFJFRkxJR0hUEBQSGQoVUVVFUllfT1BFUkFUSU9OX1JPVVRFEBUSGAoUUVVFUllfT1BFUkFUSU9OX01JTlQQFhIhCh1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX0tFWUdFThAXEiUKIVFVRVJZX09QRVJBVElPTl9DUllQVE9fU0VBTF9GSUVMRBAYEiwKKFFVRVJZX09QRVJBVElPTl9DUllQVE9fQkxJTkRfSU5ERVhfVE9LRU4QGRIqCiZRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1NDT1BFX0tFWRAaEi8KK1FVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfREVWSUNFX1JFUVVFU1QQGxIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfQVBQUk9WQUwQHBIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfUkVDT1ZFUlkQHRIjCh9RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1dSQVBfS0VZEB4SJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19VTldSQVBfS0VZEB8SIQodUVVFUllfT1BFUkFUSU9OX0FVVEhPUl9LRVlHRU4QIBIkCiBRVUVSWV9PUEVSQVRJT05fQVRURVNUQVRJT05fU0lHThAhEiAKHFFVRVJZX09QRVJBVElPTl9SRUNFSVBUX1BBVEgQIhIdChlRVUVSWV9PUEVSQVRJT05fQ0VSVF9TSUdOECMSJQohUVVFUllfT1BFUkFUSU9OX0JJUlRIX1RSVVNUX1NUQVRFECQSIQodUVVFUllfT1BFUkFUSU9OX0VSQV9DRVJUX1NJR04QJRIoCiRRVUVSWV9PUEVSQVRJT05fREVMRUdBVElPTl9DRVJUX1NJR04QJhIpCiVRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX0ZST05USUVSECcSKwonUVVFUllfT1BFUkFUSU9OX0NBTk9OSUNBTElaRV9QUk9KRUNUSU9OECgqbAoTS2VybmVsTGF3Q2FwYWJpbGl0eRIlCiFLRVJORUxfTEFXX0NBUEFCSUxJVFlfVU5TUEVDSUZJRUQQABIuCipLRVJORUxfTEFXX0NBUEFCSUxJVFlfU1RBR0VfWkVST19CT09UU1RSQVAQASqoAQoaSW50ZW50VHJhbnNwb3J0UmVxdWlyZW1lbnQSLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9VTlNQRUNJRklFRBAAEi4KKklOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfU0VBTEVEX0NIQU5HRRABEiwKKElOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfQ09NTUlUX1RSRUUQAiqJAQoVTGlmZWN5Y2xlSW5zdGFsbFBoYXNlEicKI0xJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX1VOU1BFQ0lGSUVEEAASIgoeTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfQUNUSVZFEAESIwofTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfUEVORElORxACMlkKEk5vbW9zS2VybmVsU2VydmljZRJDCgRDYWxsEhwubm9tb3Mua2VybmVsLnYxLkNhbGxSZXF1ZXN0Gh0ubm9tb3Mua2VybmVsLnYxLkNhbGxSZXNwb25zZWIGcHJvdG8z");
|
|
357
357
|
CallRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 0);
|
|
358
358
|
CallResponseSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 1);
|
|
359
359
|
WorkspaceTargetSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 19);
|
|
@@ -389,8 +389,8 @@ var init_kernel_pb = __esm({
|
|
|
389
389
|
WriteMetaCommitRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 73);
|
|
390
390
|
LawClosureInfoRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 74);
|
|
391
391
|
RestoreMainRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 78);
|
|
392
|
-
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
393
|
-
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
392
|
+
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 103);
|
|
393
|
+
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 106);
|
|
394
394
|
QueryOperationSchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 2);
|
|
395
395
|
QueryOperation = /* @__PURE__ */ tsEnum(QueryOperationSchema);
|
|
396
396
|
KernelLawCapabilitySchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 3);
|
|
@@ -1037,6 +1037,25 @@ async function admitIntentOffers(eng, ws, ledger, offers, { receiptFence = null,
|
|
|
1037
1037
|
const bornPacked = born.length ? packBornChildren(eng, born) : born;
|
|
1038
1038
|
return { sessions: [...sessions.values()].map((s) => ({ ...s, ...s.skipped.length ? {} : { skipped: void 0 } })), main: head, deadLetters, timings, summary: summary ?? null, born: bornPacked, birthOutcomes, ...resultPackB64 ? { resultPackB64, resultBase: clientBase } : {} };
|
|
1039
1039
|
}
|
|
1040
|
+
function intentOfferResidencies(eng, offers) {
|
|
1041
|
+
const unique = /* @__PURE__ */ new Map();
|
|
1042
|
+
for (const offer of Array.isArray(offers) ? offers : []) {
|
|
1043
|
+
let blob = offer?.blob instanceof Uint8Array ? offer.blob : null;
|
|
1044
|
+
if (!blob && typeof offer?.changeB64 === "string") {
|
|
1045
|
+
blob = Uint8Array.from(atob(offer.changeB64), (c) => c.charCodeAt(0));
|
|
1046
|
+
}
|
|
1047
|
+
if (!blob?.byteLength) continue;
|
|
1048
|
+
const inspected = kgit.inspectChange(eng, blob);
|
|
1049
|
+
for (const residency of inspected.requiredResidencies || []) {
|
|
1050
|
+
if (!residency.workspace || !residency.sourceHead) continue;
|
|
1051
|
+
unique.set(`${residency.workspace}\0${residency.sourceHead}`, {
|
|
1052
|
+
workspace: residency.workspace,
|
|
1053
|
+
sourceHead: residency.sourceHead
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
return [...unique.values()];
|
|
1058
|
+
}
|
|
1040
1059
|
async function authorOn(eng, ws, ledger, domain, directiveId, payload, lawHash, opts = {}) {
|
|
1041
1060
|
await mountWorkspace(eng, ws, ledger);
|
|
1042
1061
|
let res;
|
|
@@ -1055,10 +1074,14 @@ function stageWorkspaceDir(eng, ws) {
|
|
|
1055
1074
|
dirOf(eng.preopen.dir.contents.get("ws")).contents.set(ws, new Directory(wsContents));
|
|
1056
1075
|
}
|
|
1057
1076
|
async function mountWorkspace(eng, ws, ledger) {
|
|
1058
|
-
|
|
1077
|
+
const existing = eng.mounted.get(ws);
|
|
1078
|
+
if (existing && !existing.restoreError) return existing;
|
|
1079
|
+
if (existing) unmount(eng, ws);
|
|
1059
1080
|
stageWorkspaceDir(eng, ws);
|
|
1060
1081
|
const gitdir = gitdirOf(ws);
|
|
1061
1082
|
let restored = false, remoteMain = null, restoreError = null;
|
|
1083
|
+
let verificationVerdict = null;
|
|
1084
|
+
let requiredResidencies = [];
|
|
1062
1085
|
try {
|
|
1063
1086
|
await custodySkeleton(eng, gitdir);
|
|
1064
1087
|
remoteMain = await custodyFetch(eng, ws, ledger, { remoteRef: "refs/heads/main", writeRef: false });
|
|
@@ -1068,11 +1091,19 @@ async function mountWorkspace(eng, ws, ledger) {
|
|
|
1068
1091
|
throw new Error(`kernel refused restored main ${remoteMain}: ${JSON.stringify(mounted)}`);
|
|
1069
1092
|
}
|
|
1070
1093
|
restored = true;
|
|
1094
|
+
verificationVerdict = jsStruct(mounted.verdict);
|
|
1071
1095
|
}
|
|
1072
1096
|
} catch (e) {
|
|
1073
1097
|
restoreError = String(e?.stack || e).split("\n").slice(0, 5).join(" | ");
|
|
1098
|
+
if (remoteMain) {
|
|
1099
|
+
try {
|
|
1100
|
+
const imported = kgit.intentsAbove(eng, gitdir, remoteMain);
|
|
1101
|
+
requiredResidencies = intentOfferResidencies(eng, imported);
|
|
1102
|
+
} catch {
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1074
1105
|
}
|
|
1075
|
-
const m = { restored, remoteMain, restoreError };
|
|
1106
|
+
const m = { restored, remoteMain, restoreError, verificationVerdict, requiredResidencies };
|
|
1076
1107
|
eng.mounted.set(ws, m);
|
|
1077
1108
|
return m;
|
|
1078
1109
|
}
|
|
@@ -2595,8 +2626,8 @@ function resolveGatewayOperation(spec, opName, method) {
|
|
|
2595
2626
|
|
|
2596
2627
|
// ../cloud/cloudflare-shell/src/kernel-registry.generated.ts
|
|
2597
2628
|
var DEPLOYED_KERNELS = [
|
|
2598
|
-
{ prefix: "
|
|
2599
|
-
{ prefix: "
|
|
2629
|
+
{ prefix: "64114746", hash: "64114746f15783fc912d2af699a94ff2caccc187e56ccd644a23ea7357e61883", version: "kernel-64114746", note: "production (this candidate)", features: ["compoundKeys", "capturedReads", "invariantGate", "surfacedMerge", "fieldProvenance", "nullSemantics", "attestedReads", "conflictSnapshots", "ownedAudience"] },
|
|
2630
|
+
{ prefix: "044dbc79", hash: "044dbc796c299115830602aad3798542365c28b119ea9bb1c43cc15c3af17cee", version: "kernel-044dbc79", note: "test-mint (this candidate) \u2014 feature-equivalent to production", features: ["compoundKeys", "capturedReads", "invariantGate", "surfacedMerge", "fieldProvenance", "nullSemantics", "attestedReads", "conflictSnapshots", "ownedAudience"] }
|
|
2600
2631
|
];
|
|
2601
2632
|
|
|
2602
2633
|
// ../cloud/cloudflare-shell/src/staged-intents.ts
|
package/dist/full-cli.mjs
CHANGED
|
@@ -2920,7 +2920,7 @@ var file_nomos_kernel_v1_kernel, CallRequestSchema, CallResponseSchema, Workspac
|
|
|
2920
2920
|
var init_kernel_pb = __esm({
|
|
2921
2921
|
"../cloud/web-client/src/_adapter/proto/nomos/kernel/v1/kernel_pb.js"() {
|
|
2922
2922
|
"use strict";
|
|
2923
|
-
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSLmAQoVSW5zcGVjdENoYW5nZVJlc3BvbnNlEi4KCHNlbWFudGljGAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCWludGVudF9pZBgCIAEoCRIyCgRjYWxsGAMgASgLMiQubm9tb3Mua2VybmVsLnYxLk5vbWluYWxDYWxsSWRlbnRpdHkSEAoIYXV0aG9yZWQYBCABKAgSRAoRbGlmZWN5Y2xlX2luc3RhbGwYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuTGlmZWN5Y2xlSW5zdGFsbElkZW50aXR5IjQKHEVuY29kZVJlZnVzYWxWZXJkaWN0UmVzcG9uc2USFAoMdmVyZGljdF91c2RhGAEgASgMIlEKHUluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiLwoQUmVhZEJsb2JSZXNwb25zZRINCgVmb3VuZBgBIAEoCBIMCgRibG9iGAIgASgMIi4KElJlc29sdmVSZWZSZXNwb25zZRIQCgNvaWQYASABKAlIAIgBAUIGCgRfb2lkIisKCVJlZlJlY29yZBIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIjwKEExpc3RSZWZzUmVzcG9uc2USKAoEcmVmcxgBIAMoCzIaLm5vbW9zLmtlcm5lbC52MS5SZWZSZWNvcmQiDgoMQWNrbm93bGVkZ2VkIiYKF1dyaXRlTWV0YUNvbW1pdFJlc3BvbnNlEgsKA29pZBgBIAEoCSKDAQoWTGF3Q2xvc3VyZUluZm9SZXNwb25zZRIQCghpZGVudGl0eRgBIAEoCRIZChFyb290X2xvZ2ljYWxfcGF0aBgCIAEoCRITCgthc3NldF9jb3VudBgDIAEoBBISCgpwcmltX2NvdW50GAQgASgEEhMKC2RvbWFpbl9rZXlzGAUgAygJIu8CChhDaGVja3BvaW50RXhwb3J0UmVzcG9uc2USDQoFZW1wdHkYASABKAgSEwoGY3Vyc29yGAIgASgJSACIAQESEAoIZnJvbnRpZXIYAyABKAwSFwoKc3RhdGVfcm9vdBgEIAEoCUgBiAEBEhIKCnN0YXRlX3RyZWUYBSABKAgSDgoGcGlubmVkGAYgASgIEhsKE3JlYWRfaW5kZXhfc25hcHNob3QYByABKAgSIwobcmVhZF9pbmRleF9zbmFwc2hvdF9wZW5kaW5nGAggASgIEiQKF3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzGAkgASgESAKIAQESJQoYcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzGAogASgESAOIAQFCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdEIaChhfcmVhZF9pbmRleF9zcWxpdGVfYnl0ZXNCGwoZX3JlYWRfaW5kZXhfY3VzdG9keV9ieXRlcyKeAgoYQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlEhAKCHJlc3RvcmVkGAEgASgIEhMKBnJlYXNvbhgCIAEoCUgAiAEBEhcKD2Zyb250aWVyX3NlZWRlZBgDIAEoCBIlCh1mcm9udGllcl92ZXJpZmljYXRpb25fcGVuZGluZxgEIAEoCBIXCg9hZ2dyZWdhdGVfY291bnQYBSABKAQSKwoFc3BhbnMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEwoGY3Vyc29yGAcgASgJSAGIAQESEQoJcmVhZF9vbmx5GAggASgIEhcKD2xhenlfcmVhZF9pbmRleBgJIAEoCEIJCgdfcmVhc29uQgkKB19jdXJzb3IiSgoXQ2FwYWNpdHlSZXNlcnZlUmVzcG9uc2USFwoPYWdncmVnYXRlX2NvdW50GAEgASgEEhYKDnJlc2VydmVkX2J5dGVzGAIgASgEIvkCChBSZXN0b3JlTWFpblNwYW5zEhAKCHRvdGFsX3VzGAEgASgEEhoKEmxpdmVfcmVmX2xvb2t1cF91cxgCIAEoBBIYChB0YXJnZXRfZGVjb2RlX3VzGAMgASgEEiQKHGN1c3RvZHlfY29tcGxldGVuZXNzX3JlYWRfdXMYBCABKAQSGQoRcXVhcmFudGluZV9yZWZfdXMYBSABKAQSJQodY2hhaW5fc2lnbmF0dXJlX2xhd19yZXBsYXlfdXMYBiABKAQSGQoRdmVyZGljdF9kZWNvZGVfdXMYByABKAQSIwobcHJvbW90ZV9hbmRfY2xlYW51cF9yZWZzX3VzGAggASgEEhsKE2Zyb250aWVyX3JlYnVpbGRfdXMYCSABKAQSGQoRZnJvbnRpZXJfc3RvcmVfdXMYCiABKAQSPQoMdmVyaWZpY2F0aW9uGAsgASgLMicubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRGlhZ25vc3RpY3MidQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucyKbAgoKTm9tb3NWYWx1ZRIlCgRudWxsGAEgASgLMhUubm9tb3Mua2VybmVsLnYxLk51bGxIABIRCgdib29sZWFuGAIgASgISAASGAoOc2lnbmVkX2ludGVnZXIYAyABKBJIABIaChB1bnNpZ25lZF9pbnRlZ2VyGAQgASgESAASGAoOZmxvYXRpbmdfcG9pbnQYBSABKAFIABIOCgR0ZXh0GAYgASgJSAASDwoFYnl0ZXMYByABKAxIABIqCgRsaXN0GAggASgLMhoubm9tb3Mua2VybmVsLnYxLk5vbW9zTGlzdEgAEi4KBm9iamVjdBgJIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEgAQgYKBGtpbmQiBgoETnVsbCI4CglOb21vc0xpc3QSKwoGdmFsdWVzGAEgAygLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWUikwEKC05vbW9zU3RydWN0EjgKBmZpZWxkcxgBIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdC5GaWVsZHNFbnRyeRpKCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSKgoFdmFsdWUYAiABKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZToCOAEq6RIKEUtlcm5lbFJlZnVzYWxDb2RlEiMKH0tFUk5FTF9SRUZVU0FMX0NPREVfVU5TUEVDSUZJRUQQABIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JBRF9TSUdOQVRVUkUQARIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX1VOQVVUSE9SSVpFRBACEicKI0tFUk5FTF9SRUZVU0FMX0NPREVfUE9MSUNZX0RJU0FCTEVEEAMSKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkNFUlRJRklFRF9QT0xJQ1kQBBIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1JFRkVSRU5USUFMEAUSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9QT0lOVF9TVEFURV9VTkFWQUlMQUJMRRAGEiQKIEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0VYQ0VFREVEEAcSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBfQ09VTlRfVU5BVkFJTEFCTEUQCBIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0VWSURFTkNFX1VOQkFDS0VEEAkSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9PUlBIQU5fUkVDRUlQVBAKEjYKMktFUk5FTF9SRUZVU0FMX0NPREVfUkVDRUlQVF9PTl9URVJNSU5BTF9PQkxJR0FUSU9OEAsSIgoeS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfTUlOVEVEEAwSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fTElGRUNZQ0xFEA0SKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9UWVBFX1RBR19NSVNNQVRDSBAOEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfUkVUSVJFRF9SRUFEX1NVUkZBQ0UQDxIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0NST1NTX1dPUktTUEFDRV9ERUNMSU5FRBAQEisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfQUdHUkVHQVRFX0lOVkFSSUFOVBAREisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfV09SS1NQQUNFX0lOVkFSSUFOVBASEi4KKktFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9DT05GTElDVBATEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfQ09ORkxJQ1RfU05BUFNIT1RfUkVRVUlSRUQQFBI0CjBLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1VOREVDTEFSRUQQFRIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX0lOVkFMSUQQFhIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1NUQUxFEBcSMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1VOREVDTEFSRUQQGBItCilLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfUFJJVkFURRAZEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTkRFQ0xBUkVEEBoSMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9LRVkQGxI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5UUlVTVEVEX1NPVVJDRRAcEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9GT1JHRUQQHRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfU1RBTEUQHhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfT1ZFUlNJWkUQHxI3CjNLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRElTSE9OT1JFRF9TT1VSQ0UQIBI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0VRVUlWT0NBVElPTl9FVklERU5DRV9JTlZBTElEECESMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9SRUNFSVBUX0lOVkFMSUQQIhIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9ST1NURVJfTUlTTUFUQ0gQIxIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9FUE9DSF9OT1RfTU9OT1RPTklDECQSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9XUklURV9FUE9DSF9TVEFMRRAlEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfRU5WRUxPUEVfU0lEX01JU01BVENIECYSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9SRVZPS0VEX01FTUJFUl9SRVNVUlJFQ1RFRBAnEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRk9SR0VEX1BSSU5DSVBBTBAoEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfS0VZX0FOQ0hPUhApEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfUkVDT1ZFUlkQKhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1NVUkZBQ0VEX0JBU0lTX0FIRUFEECsSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9TSUdORVJfRVBPQ0hfT1VUX09GX1dJTkRPVxAsEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRVZPTFZFX1JFRlVTRUQQLRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEFUSU9OX0lOVkFMSUQQLhItCilLRVJORUxfUkVGVVNBTF9DT0RFX1BBUkVOVF9ESURfTk9UX0FUVEVTVBAvEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfQ0VSVF9DSEFJTl9CUk9LRU4QMBIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX05PVF9ST09URURfQVRfUk9PVBAxEioKJktFUk5FTF9SRUZVU0FMX0NPREVfREVMRUdBVElPTl9JTlZBTElEEDISJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9QTEFOX1JFSkVDVEVEEDMqigEKD1ZlcmlmeUNoYWluV2FsaxIhCh1WRVJJRllfQ0hBSU5fV0FMS19VTlNQRUNJRklFRBAAEhoKFlZFUklGWV9DSEFJTl9XQUxLX0ZVTEwQARIcChhWRVJJRllfQ0hBSU5fV0FMS19TVUZGSVgQAhIaChZWRVJJRllfQ0hBSU5fV0FMS19NRU1PEAMqhQwKDlF1ZXJ5T3BlcmF0aW9uEh8KG1FVRVJZX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhwKGFFVRVJZX09QRVJBVElPTl9FWFRSRU1VTRABEiUKIVFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUUxACEiwKKFFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUX1NVTU1BUlkQAxIgChxRVUVSWV9PUEVSQVRJT05fUkVBRF9QT1NUVVJFEAQSHwobUVVFUllfT1BFUkFUSU9OX0NVUlJFTlRfTEFXEAUSIwofUVVFUllfT1BFUkFUSU9OX0lOVEVSRkFDRV9PRkZFUhAGEicKI1FVRVJZX09QRVJBVElPTl9SRUxBVElPTl9HQVRFX09GRkVSEAcSHQoZUVVFUllfT1BFUkFUSU9OX1NDRU5FX0xBVxAIEiEKHVFVRVJZX09QRVJBVElPTl9JTlNUQUxMRURfTEFXEAkSHAoYUVVFUllfT1BFUkFUSU9OX0RFU0NSSUJFEAoSIAocUVVFUllfT1BFUkFUSU9OX0tFUk5FTF9TVEFNUBALEiMKH1FVRVJZX09QRVJBVElPTl9ERVZFTE9QRVJfU1BBTlMQDBIpCiVRVUVSWV9PUEVSQVRJT05fREVDTEFSRURfQ0FQQUJJTElUSUVTEA0SHQoZUVVFUllfT1BFUkFUSU9OX1JFQURJTkVTUxAOEiQKIFFVRVJZX09QRVJBVElPTl9QUk9KRUNUSU9OX1NUQVRTEA8SJQohUVVFUllfT1BFUkFUSU9OX01FTU9SWV9EUk9QX1BST0JFEBASGAoUUVVFUllfT1BFUkFUSU9OX1dBUk0QERIbChdRVUVSWV9PUEVSQVRJT05fUkVGUkVTSBASEiAKHFFVRVJZX09QRVJBVElPTl9WRVJJRllfQ0hBSU4QExIlCiFRVUVSWV9PUEVSQVRJT05fSElTVE9SWV9QUkVGTElHSFQQFBIZChVRVUVSWV9PUEVSQVRJT05fUk9VVEUQFRIYChRRVUVSWV9PUEVSQVRJT05fTUlOVBAWEiEKHVFVRVJZX09QRVJBVElPTl9DUllQVE9fS0VZR0VOEBcSJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19TRUFMX0ZJRUxEEBgSLAooUVVFUllfT1BFUkFUSU9OX0NSWVBUT19CTElORF9JTkRFWF9UT0tFThAZEioKJlFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfU0NPUEVfS0VZEBoSLworUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9ERVZJQ0VfUkVRVUVTVBAbEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9BUFBST1ZBTBAcEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9SRUNPVkVSWRAdEiMKH1FVRVJZX09QRVJBVElPTl9DUllQVE9fV1JBUF9LRVkQHhIlCiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1VOV1JBUF9LRVkQHxIhCh1RVUVSWV9PUEVSQVRJT05fQVVUSE9SX0tFWUdFThAgEiQKIFFVRVJZX09QRVJBVElPTl9BVFRFU1RBVElPTl9TSUdOECESIAocUVVFUllfT1BFUkFUSU9OX1JFQ0VJUFRfUEFUSBAiEh0KGVFVRVJZX09QRVJBVElPTl9DRVJUX1NJR04QIxIlCiFRVUVSWV9PUEVSQVRJT05fQklSVEhfVFJVU1RfU1RBVEUQJBIhCh1RVUVSWV9PUEVSQVRJT05fRVJBX0NFUlRfU0lHThAlEigKJFFVRVJZX09QRVJBVElPTl9ERUxFR0FUSU9OX0NFUlRfU0lHThAmEikKJVFVRVJZX09QRVJBVElPTl9DQU5PTklDQUxJWkVfRlJPTlRJRVIQJxIrCidRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX1BST0pFQ1RJT04QKCpsChNLZXJuZWxMYXdDYXBhYmlsaXR5EiUKIUtFUk5FTF9MQVdfQ0FQQUJJTElUWV9VTlNQRUNJRklFRBAAEi4KKktFUk5FTF9MQVdfQ0FQQUJJTElUWV9TVEFHRV9aRVJPX0JPT1RTVFJBUBABKqgBChpJbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudBIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1VOU1BFQ0lGSUVEEAASLgoqSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9TRUFMRURfQ0hBTkdFEAESLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9DT01NSVRfVFJFRRACKokBChVMaWZlY3ljbGVJbnN0YWxsUGhhc2USJwojTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfVU5TUEVDSUZJRUQQABIiCh5MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9BQ1RJVkUQARIjCh9MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9QRU5ESU5HEAIyWQoSTm9tb3NLZXJuZWxTZXJ2aWNlEkMKBENhbGwSHC5ub21vcy5rZXJuZWwudjEuQ2FsbFJlcXVlc3QaHS5ub21vcy5rZXJuZWwudjEuQ2FsbFJlc3BvbnNlYgZwcm90bzM");
|
|
2923
|
+
file_nomos_kernel_v1_kernel = /* @__PURE__ */ fileDesc("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJHCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkitAIKFUluc3BlY3RDaGFuZ2VSZXNwb25zZRIuCghzZW1hbnRpYxgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBIRCglpbnRlbnRfaWQYAiABKAkSMgoEY2FsbBgDIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5Ob21pbmFsQ2FsbElkZW50aXR5EhAKCGF1dGhvcmVkGAQgASgIEkQKEWxpZmVjeWNsZV9pbnN0YWxsGAUgASgLMikubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxJZGVudGl0eRJMChRyZXF1aXJlZF9yZXNpZGVuY2llcxgGIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudCI0ChxFbmNvZGVSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEhQKDHZlcmRpY3RfdXNkYRgBIAEoDCJRCh1JbnNwZWN0UmVmdXNhbFZlcmRpY3RSZXNwb25zZRIwCgd2ZXJkaWN0GAEgASgLMh8ubm9tb3Mua2VybmVsLnYxLlJlZnVzYWxWZXJkaWN0Ii8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLvAgoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCGgoYX3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzQhsKGV9yZWFkX2luZGV4X2N1c3RvZHlfYnl0ZXMingIKGENoZWNrcG9pbnRJbXBvcnRSZXNwb25zZRIQCghyZXN0b3JlZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARIXCg9mcm9udGllcl9zZWVkZWQYAyABKAgSJQodZnJvbnRpZXJfdmVyaWZpY2F0aW9uX3BlbmRpbmcYBCABKAgSFwoPYWdncmVnYXRlX2NvdW50GAUgASgEEisKBXNwYW5zGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgHIAEoCUgBiAEBEhEKCXJlYWRfb25seRgIIAEoCBIXCg9sYXp5X3JlYWRfaW5kZXgYCSABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIkoKF0NhcGFjaXR5UmVzZXJ2ZVJlc3BvbnNlEhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBBIWCg5yZXNlcnZlZF9ieXRlcxgCIAEoBCL5AgoQUmVzdG9yZU1haW5TcGFucxIQCgh0b3RhbF91cxgBIAEoBBIaChJsaXZlX3JlZl9sb29rdXBfdXMYAiABKAQSGAoQdGFyZ2V0X2RlY29kZV91cxgDIAEoBBIkChxjdXN0b2R5X2NvbXBsZXRlbmVzc19yZWFkX3VzGAQgASgEEhkKEXF1YXJhbnRpbmVfcmVmX3VzGAUgASgEEiUKHWNoYWluX3NpZ25hdHVyZV9sYXdfcmVwbGF5X3VzGAYgASgEEhkKEXZlcmRpY3RfZGVjb2RlX3VzGAcgASgEEiMKG3Byb21vdGVfYW5kX2NsZWFudXBfcmVmc191cxgIIAEoBBIbChNmcm9udGllcl9yZWJ1aWxkX3VzGAkgASgEEhkKEWZyb250aWVyX3N0b3JlX3VzGAogASgEEj0KDHZlcmlmaWNhdGlvbhgLIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzIqQBChNSZXN0b3JlTWFpblJlc3BvbnNlEgwKBGhlYWQYASABKAkSEAoIdmVyaWZpZWQYAiABKAgSDAoEd2FsaxgDIAEoCRIwCgVzcGFucxgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblNwYW5zEi0KB3ZlcmRpY3QYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QimwIKCk5vbW9zVmFsdWUSJQoEbnVsbBgBIAEoCzIVLm5vbW9zLmtlcm5lbC52MS5OdWxsSAASEQoHYm9vbGVhbhgCIAEoCEgAEhgKDnNpZ25lZF9pbnRlZ2VyGAMgASgSSAASGgoQdW5zaWduZWRfaW50ZWdlchgEIAEoBEgAEhgKDmZsb2F0aW5nX3BvaW50GAUgASgBSAASDgoEdGV4dBgGIAEoCUgAEg8KBWJ5dGVzGAcgASgMSAASKgoEbGlzdBgIIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5Ob21vc0xpc3RIABIuCgZvYmplY3QYCSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RIAEIGCgRraW5kIgYKBE51bGwiOAoJTm9tb3NMaXN0EisKBnZhbHVlcxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlIpMBCgtOb21vc1N0cnVjdBI4CgZmaWVsZHMYASADKAsyKC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QuRmllbGRzRW50cnkaSgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEioKBXZhbHVlGAIgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWU6AjgBKukSChFLZXJuZWxSZWZ1c2FsQ29kZRIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1VOU1BFQ0lGSUVEEAASJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CQURfU0lHTkFUVVJFEAESJAogS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkFVVEhPUklaRUQQAhInCiNLRVJORUxfUkVGVVNBTF9DT0RFX1BPTElDWV9ESVNBQkxFRBADEioKJktFUk5FTF9SRUZVU0FMX0NPREVfVU5DRVJUSUZJRURfUE9MSUNZEAQSIwofS0VSTkVMX1JFRlVTQUxfQ09ERV9SRUZFUkVOVElBTBAFEi8KK0tFUk5FTF9SRUZVU0FMX0NPREVfUE9JTlRfU1RBVEVfVU5BVkFJTEFCTEUQBhIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX0NBUF9FWENFRURFRBAHEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0NPVU5UX1VOQVZBSUxBQkxFEAgSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9FVklERU5DRV9VTkJBQ0tFRBAJEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1JQSEFOX1JFQ0VJUFQQChI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX1JFQ0VJUFRfT05fVEVSTUlOQUxfT0JMSUdBVElPThALEiIKHktFUk5FTF9SRUZVU0FMX0NPREVfTk9UX01JTlRFRBAMEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX0xJRkVDWUNMRRANEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfVFlQRV9UQUdfTUlTTUFUQ0gQDhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1JFVElSRURfUkVBRF9TVVJGQUNFEA8SMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DUk9TU19XT1JLU1BBQ0VfREVDTElORUQQEBIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FHR1JFR0FURV9JTlZBUklBTlQQERIrCidLRVJORUxfUkVGVVNBTF9DT0RFX1dPUktTUEFDRV9JTlZBUklBTlQQEhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfQ09ORkxJQ1QQExIyCi5LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1JFUVVJUkVEEBQSNAowS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9VTkRFQ0xBUkVEEBUSMQotS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9JTlZBTElEEBYSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9TVEFMRRAXEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9VTkRFQ0xBUkVEEBgSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1BSSVZBVEUQGRIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5ERUNMQVJFRBAaEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTlRSVVNURURfS0VZEBsSNgoyS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9TT1VSQ0UQHBIsCihLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRk9SR0VEEB0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1NUQUxFEB4SLgoqS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX09WRVJTSVpFEB8SNwozS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX0RJU0hPTk9SRURfU09VUkNFECASNQoxS0VSTkVMX1JFRlVTQUxfQ09ERV9FUVVJVk9DQVRJT05fRVZJREVOQ0VfSU5WQUxJRBAhEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNUQVRJT05fUkVDRUlQVF9JTlZBTElEECISKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfUk9TVEVSX01JU01BVENIECMSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfRVBPQ0hfTk9UX01PTk9UT05JQxAkEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfV1JJVEVfRVBPQ0hfU1RBTEUQJRItCilLRVJORUxfUkVGVVNBTF9DT0RFX0VOVkVMT1BFX1NJRF9NSVNNQVRDSBAmEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfUkVWT0tFRF9NRU1CRVJfUkVTVVJSRUNURUQQJxIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX0ZPUkdFRF9QUklOQ0lQQUwQKBIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX0tFWV9BTkNIT1IQKRImCiJLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX1JFQ09WRVJZECoSLAooS0VSTkVMX1JFRlVTQUxfQ09ERV9TVVJGQUNFRF9CQVNJU19BSEVBRBArEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfU0lHTkVSX0VQT0NIX09VVF9PRl9XSU5ET1cQLBImCiJLRVJORUxfUkVGVVNBTF9DT0RFX0VWT0xWRV9SRUZVU0VEEC0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9JTlZBTElEEC4SLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9QQVJFTlRfRElEX05PVF9BVFRFU1QQLxIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0NFUlRfQ0hBSU5fQlJPS0VOEDASKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfUk9PVEVEX0FUX1JPT1QQMRIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX0RFTEVHQVRJT05fSU5WQUxJRBAyEiUKIUtFUk5FTF9SRUZVU0FMX0NPREVfUExBTl9SRUpFQ1RFRBAzKooBCg9WZXJpZnlDaGFpbldhbGsSIQodVkVSSUZZX0NIQUlOX1dBTEtfVU5TUEVDSUZJRUQQABIaChZWRVJJRllfQ0hBSU5fV0FMS19GVUxMEAESHAoYVkVSSUZZX0NIQUlOX1dBTEtfU1VGRklYEAISGgoWVkVSSUZZX0NIQUlOX1dBTEtfTUVNTxADKoUMCg5RdWVyeU9wZXJhdGlvbhIfChtRVUVSWV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhRVUVSWV9PUEVSQVRJT05fRVhUUkVNVU0QARIlCiFRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVFMQAhIsCihRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVF9TVU1NQVJZEAMSIAocUVVFUllfT1BFUkFUSU9OX1JFQURfUE9TVFVSRRAEEh8KG1FVRVJZX09QRVJBVElPTl9DVVJSRU5UX0xBVxAFEiMKH1FVRVJZX09QRVJBVElPTl9JTlRFUkZBQ0VfT0ZGRVIQBhInCiNRVUVSWV9PUEVSQVRJT05fUkVMQVRJT05fR0FURV9PRkZFUhAHEh0KGVFVRVJZX09QRVJBVElPTl9TQ0VORV9MQVcQCBIhCh1RVUVSWV9PUEVSQVRJT05fSU5TVEFMTEVEX0xBVxAJEhwKGFFVRVJZX09QRVJBVElPTl9ERVNDUklCRRAKEiAKHFFVRVJZX09QRVJBVElPTl9LRVJORUxfU1RBTVAQCxIjCh9RVUVSWV9PUEVSQVRJT05fREVWRUxPUEVSX1NQQU5TEAwSKQolUVVFUllfT1BFUkFUSU9OX0RFQ0xBUkVEX0NBUEFCSUxJVElFUxANEh0KGVFVRVJZX09QRVJBVElPTl9SRUFESU5FU1MQDhIkCiBRVUVSWV9PUEVSQVRJT05fUFJPSkVDVElPTl9TVEFUUxAPEiUKIVFVRVJZX09QRVJBVElPTl9NRU1PUllfRFJPUF9QUk9CRRAQEhgKFFFVRVJZX09QRVJBVElPTl9XQVJNEBESGwoXUVVFUllfT1BFUkFUSU9OX1JFRlJFU0gQEhIgChxRVUVSWV9PUEVSQVRJT05fVkVSSUZZX0NIQUlOEBMSJQohUVVFUllfT1BFUkFUSU9OX0hJU1RPUllfUFJFRkxJR0hUEBQSGQoVUVVFUllfT1BFUkFUSU9OX1JPVVRFEBUSGAoUUVVFUllfT1BFUkFUSU9OX01JTlQQFhIhCh1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX0tFWUdFThAXEiUKIVFVRVJZX09QRVJBVElPTl9DUllQVE9fU0VBTF9GSUVMRBAYEiwKKFFVRVJZX09QRVJBVElPTl9DUllQVE9fQkxJTkRfSU5ERVhfVE9LRU4QGRIqCiZRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1NDT1BFX0tFWRAaEi8KK1FVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfREVWSUNFX1JFUVVFU1QQGxIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfQVBQUk9WQUwQHBIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfUkVDT1ZFUlkQHRIjCh9RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1dSQVBfS0VZEB4SJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19VTldSQVBfS0VZEB8SIQodUVVFUllfT1BFUkFUSU9OX0FVVEhPUl9LRVlHRU4QIBIkCiBRVUVSWV9PUEVSQVRJT05fQVRURVNUQVRJT05fU0lHThAhEiAKHFFVRVJZX09QRVJBVElPTl9SRUNFSVBUX1BBVEgQIhIdChlRVUVSWV9PUEVSQVRJT05fQ0VSVF9TSUdOECMSJQohUVVFUllfT1BFUkFUSU9OX0JJUlRIX1RSVVNUX1NUQVRFECQSIQodUVVFUllfT1BFUkFUSU9OX0VSQV9DRVJUX1NJR04QJRIoCiRRVUVSWV9PUEVSQVRJT05fREVMRUdBVElPTl9DRVJUX1NJR04QJhIpCiVRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX0ZST05USUVSECcSKwonUVVFUllfT1BFUkFUSU9OX0NBTk9OSUNBTElaRV9QUk9KRUNUSU9OECgqbAoTS2VybmVsTGF3Q2FwYWJpbGl0eRIlCiFLRVJORUxfTEFXX0NBUEFCSUxJVFlfVU5TUEVDSUZJRUQQABIuCipLRVJORUxfTEFXX0NBUEFCSUxJVFlfU1RBR0VfWkVST19CT09UU1RSQVAQASqoAQoaSW50ZW50VHJhbnNwb3J0UmVxdWlyZW1lbnQSLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9VTlNQRUNJRklFRBAAEi4KKklOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfU0VBTEVEX0NIQU5HRRABEiwKKElOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfQ09NTUlUX1RSRUUQAiqJAQoVTGlmZWN5Y2xlSW5zdGFsbFBoYXNlEicKI0xJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX1VOU1BFQ0lGSUVEEAASIgoeTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfQUNUSVZFEAESIwofTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfUEVORElORxACMlkKEk5vbW9zS2VybmVsU2VydmljZRJDCgRDYWxsEhwubm9tb3Mua2VybmVsLnYxLkNhbGxSZXF1ZXN0Gh0ubm9tb3Mua2VybmVsLnYxLkNhbGxSZXNwb25zZWIGcHJvdG8z");
|
|
2924
2924
|
CallRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 0);
|
|
2925
2925
|
CallResponseSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 1);
|
|
2926
2926
|
WorkspaceTargetSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 19);
|
|
@@ -2960,8 +2960,8 @@ var init_kernel_pb = __esm({
|
|
|
2960
2960
|
CheckpointExportRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 75);
|
|
2961
2961
|
CheckpointImportRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 76);
|
|
2962
2962
|
RestoreMainRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 78);
|
|
2963
|
-
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
2964
|
-
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel,
|
|
2963
|
+
NomosValueSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 103);
|
|
2964
|
+
NomosStructSchema = /* @__PURE__ */ messageDesc(file_nomos_kernel_v1_kernel, 106);
|
|
2965
2965
|
VerifyChainWalkSchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 1);
|
|
2966
2966
|
VerifyChainWalk = /* @__PURE__ */ tsEnum(VerifyChainWalkSchema);
|
|
2967
2967
|
QueryOperationSchema = /* @__PURE__ */ enumDesc(file_nomos_kernel_v1_kernel, 2);
|
|
@@ -11440,7 +11440,7 @@ var file_nomos_kernel_v1_kernel2, CallRequestSchema2, CallResponseSchema2, Works
|
|
|
11440
11440
|
var init_kernel_pb2 = __esm({
|
|
11441
11441
|
"vendor/engine/proto/nomos/kernel/v1/kernel_pb.js"() {
|
|
11442
11442
|
"use strict";
|
|
11443
|
-
file_nomos_kernel_v1_kernel2 = /* @__PURE__ */ fileDesc2("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSLmAQoVSW5zcGVjdENoYW5nZVJlc3BvbnNlEi4KCHNlbWFudGljGAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCWludGVudF9pZBgCIAEoCRIyCgRjYWxsGAMgASgLMiQubm9tb3Mua2VybmVsLnYxLk5vbWluYWxDYWxsSWRlbnRpdHkSEAoIYXV0aG9yZWQYBCABKAgSRAoRbGlmZWN5Y2xlX2luc3RhbGwYBSABKAsyKS5ub21vcy5rZXJuZWwudjEuTGlmZWN5Y2xlSW5zdGFsbElkZW50aXR5IjQKHEVuY29kZVJlZnVzYWxWZXJkaWN0UmVzcG9uc2USFAoMdmVyZGljdF91c2RhGAEgASgMIlEKHUluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiLwoQUmVhZEJsb2JSZXNwb25zZRINCgVmb3VuZBgBIAEoCBIMCgRibG9iGAIgASgMIi4KElJlc29sdmVSZWZSZXNwb25zZRIQCgNvaWQYASABKAlIAIgBAUIGCgRfb2lkIisKCVJlZlJlY29yZBIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIjwKEExpc3RSZWZzUmVzcG9uc2USKAoEcmVmcxgBIAMoCzIaLm5vbW9zLmtlcm5lbC52MS5SZWZSZWNvcmQiDgoMQWNrbm93bGVkZ2VkIiYKF1dyaXRlTWV0YUNvbW1pdFJlc3BvbnNlEgsKA29pZBgBIAEoCSKDAQoWTGF3Q2xvc3VyZUluZm9SZXNwb25zZRIQCghpZGVudGl0eRgBIAEoCRIZChFyb290X2xvZ2ljYWxfcGF0aBgCIAEoCRITCgthc3NldF9jb3VudBgDIAEoBBISCgpwcmltX2NvdW50GAQgASgEEhMKC2RvbWFpbl9rZXlzGAUgAygJIu8CChhDaGVja3BvaW50RXhwb3J0UmVzcG9uc2USDQoFZW1wdHkYASABKAgSEwoGY3Vyc29yGAIgASgJSACIAQESEAoIZnJvbnRpZXIYAyABKAwSFwoKc3RhdGVfcm9vdBgEIAEoCUgBiAEBEhIKCnN0YXRlX3RyZWUYBSABKAgSDgoGcGlubmVkGAYgASgIEhsKE3JlYWRfaW5kZXhfc25hcHNob3QYByABKAgSIwobcmVhZF9pbmRleF9zbmFwc2hvdF9wZW5kaW5nGAggASgIEiQKF3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzGAkgASgESAKIAQESJQoYcmVhZF9pbmRleF9jdXN0b2R5X2J5dGVzGAogASgESAOIAQFCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdEIaChhfcmVhZF9pbmRleF9zcWxpdGVfYnl0ZXNCGwoZX3JlYWRfaW5kZXhfY3VzdG9keV9ieXRlcyKeAgoYQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlEhAKCHJlc3RvcmVkGAEgASgIEhMKBnJlYXNvbhgCIAEoCUgAiAEBEhcKD2Zyb250aWVyX3NlZWRlZBgDIAEoCBIlCh1mcm9udGllcl92ZXJpZmljYXRpb25fcGVuZGluZxgEIAEoCBIXCg9hZ2dyZWdhdGVfY291bnQYBSABKAQSKwoFc3BhbnMYBiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEwoGY3Vyc29yGAcgASgJSAGIAQESEQoJcmVhZF9vbmx5GAggASgIEhcKD2xhenlfcmVhZF9pbmRleBgJIAEoCEIJCgdfcmVhc29uQgkKB19jdXJzb3IiSgoXQ2FwYWNpdHlSZXNlcnZlUmVzcG9uc2USFwoPYWdncmVnYXRlX2NvdW50GAEgASgEEhYKDnJlc2VydmVkX2J5dGVzGAIgASgEIvkCChBSZXN0b3JlTWFpblNwYW5zEhAKCHRvdGFsX3VzGAEgASgEEhoKEmxpdmVfcmVmX2xvb2t1cF91cxgCIAEoBBIYChB0YXJnZXRfZGVjb2RlX3VzGAMgASgEEiQKHGN1c3RvZHlfY29tcGxldGVuZXNzX3JlYWRfdXMYBCABKAQSGQoRcXVhcmFudGluZV9yZWZfdXMYBSABKAQSJQodY2hhaW5fc2lnbmF0dXJlX2xhd19yZXBsYXlfdXMYBiABKAQSGQoRdmVyZGljdF9kZWNvZGVfdXMYByABKAQSIwobcHJvbW90ZV9hbmRfY2xlYW51cF9yZWZzX3VzGAggASgEEhsKE2Zyb250aWVyX3JlYnVpbGRfdXMYCSABKAQSGQoRZnJvbnRpZXJfc3RvcmVfdXMYCiABKAQSPQoMdmVyaWZpY2F0aW9uGAsgASgLMicubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluRGlhZ25vc3RpY3MidQoTUmVzdG9yZU1haW5SZXNwb25zZRIMCgRoZWFkGAEgASgJEhAKCHZlcmlmaWVkGAIgASgIEgwKBHdhbGsYAyABKAkSMAoFc3BhbnMYBCABKAsyIS5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5TcGFucyKbAgoKTm9tb3NWYWx1ZRIlCgRudWxsGAEgASgLMhUubm9tb3Mua2VybmVsLnYxLk51bGxIABIRCgdib29sZWFuGAIgASgISAASGAoOc2lnbmVkX2ludGVnZXIYAyABKBJIABIaChB1bnNpZ25lZF9pbnRlZ2VyGAQgASgESAASGAoOZmxvYXRpbmdfcG9pbnQYBSABKAFIABIOCgR0ZXh0GAYgASgJSAASDwoFYnl0ZXMYByABKAxIABIqCgRsaXN0GAggASgLMhoubm9tb3Mua2VybmVsLnYxLk5vbW9zTGlzdEgAEi4KBm9iamVjdBgJIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEgAQgYKBGtpbmQiBgoETnVsbCI4CglOb21vc0xpc3QSKwoGdmFsdWVzGAEgAygLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWUikwEKC05vbW9zU3RydWN0EjgKBmZpZWxkcxgBIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdC5GaWVsZHNFbnRyeRpKCgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSKgoFdmFsdWUYAiABKAsyGy5ub21vcy5rZXJuZWwudjEuTm9tb3NWYWx1ZToCOAEq6RIKEUtlcm5lbFJlZnVzYWxDb2RlEiMKH0tFUk5FTF9SRUZVU0FMX0NPREVfVU5TUEVDSUZJRUQQABIlCiFLRVJORUxfUkVGVVNBTF9DT0RFX0JBRF9TSUdOQVRVUkUQARIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX1VOQVVUSE9SSVpFRBACEicKI0tFUk5FTF9SRUZVU0FMX0NPREVfUE9MSUNZX0RJU0FCTEVEEAMSKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkNFUlRJRklFRF9QT0xJQ1kQBBIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1JFRkVSRU5USUFMEAUSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9QT0lOVF9TVEFURV9VTkFWQUlMQUJMRRAGEiQKIEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0VYQ0VFREVEEAcSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBfQ09VTlRfVU5BVkFJTEFCTEUQCBIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0VWSURFTkNFX1VOQkFDS0VEEAkSJgoiS0VSTkVMX1JFRlVTQUxfQ09ERV9PUlBIQU5fUkVDRUlQVBAKEjYKMktFUk5FTF9SRUZVU0FMX0NPREVfUkVDRUlQVF9PTl9URVJNSU5BTF9PQkxJR0FUSU9OEAsSIgoeS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfTUlOVEVEEAwSKAokS0VSTkVMX1JFRlVTQUxfQ09ERV9ET01BSU5fTElGRUNZQ0xFEA0SKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9UWVBFX1RBR19NSVNNQVRDSBAOEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfUkVUSVJFRF9SRUFEX1NVUkZBQ0UQDxIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0NST1NTX1dPUktTUEFDRV9ERUNMSU5FRBAQEisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfQUdHUkVHQVRFX0lOVkFSSUFOVBAREisKJ0tFUk5FTF9SRUZVU0FMX0NPREVfV09SS1NQQUNFX0lOVkFSSUFOVBASEi4KKktFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9DT05GTElDVBATEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfQ09ORkxJQ1RfU05BUFNIT1RfUkVRVUlSRUQQFBI0CjBLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1VOREVDTEFSRUQQFRIxCi1LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX0lOVkFMSUQQFhIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1NUQUxFEBcSMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1VOREVDTEFSRUQQGBItCilLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfUFJJVkFURRAZEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTkRFQ0xBUkVEEBoSMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9LRVkQGxI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5UUlVTVEVEX1NPVVJDRRAcEiwKKEtFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9GT1JHRUQQHRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfU1RBTEUQHhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfT1ZFUlNJWkUQHxI3CjNLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRElTSE9OT1JFRF9TT1VSQ0UQIBI1CjFLRVJORUxfUkVGVVNBTF9DT0RFX0VRVUlWT0NBVElPTl9FVklERU5DRV9JTlZBTElEECESMwovS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9SRUNFSVBUX0lOVkFMSUQQIhIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9ST1NURVJfTUlTTUFUQ0gQIxIvCitLRVJORUxfUkVGVVNBTF9DT0RFX0tFWV9FUE9DSF9OT1RfTU9OT1RPTklDECQSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9XUklURV9FUE9DSF9TVEFMRRAlEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfRU5WRUxPUEVfU0lEX01JU01BVENIECYSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9SRVZPS0VEX01FTUJFUl9SRVNVUlJFQ1RFRBAnEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRk9SR0VEX1BSSU5DSVBBTBAoEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfS0VZX0FOQ0hPUhApEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1dORURfUkVDT1ZFUlkQKhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1NVUkZBQ0VEX0JBU0lTX0FIRUFEECsSMgouS0VSTkVMX1JFRlVTQUxfQ09ERV9TSUdORVJfRVBPQ0hfT1VUX09GX1dJTkRPVxAsEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfRVZPTFZFX1JFRlVTRUQQLRIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEFUSU9OX0lOVkFMSUQQLhItCilLRVJORUxfUkVGVVNBTF9DT0RFX1BBUkVOVF9ESURfTk9UX0FUVEVTVBAvEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfQ0VSVF9DSEFJTl9CUk9LRU4QMBIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX05PVF9ST09URURfQVRfUk9PVBAxEioKJktFUk5FTF9SRUZVU0FMX0NPREVfREVMRUdBVElPTl9JTlZBTElEEDISJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9QTEFOX1JFSkVDVEVEEDMqigEKD1ZlcmlmeUNoYWluV2FsaxIhCh1WRVJJRllfQ0hBSU5fV0FMS19VTlNQRUNJRklFRBAAEhoKFlZFUklGWV9DSEFJTl9XQUxLX0ZVTEwQARIcChhWRVJJRllfQ0hBSU5fV0FMS19TVUZGSVgQAhIaChZWRVJJRllfQ0hBSU5fV0FMS19NRU1PEAMqhQwKDlF1ZXJ5T3BlcmF0aW9uEh8KG1FVRVJZX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhwKGFFVRVJZX09QRVJBVElPTl9FWFRSRU1VTRABEiUKIVFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUUxACEiwKKFFVRVJZX09QRVJBVElPTl9QRU5ESU5HX0NPTkZMSUNUX1NVTU1BUlkQAxIgChxRVUVSWV9PUEVSQVRJT05fUkVBRF9QT1NUVVJFEAQSHwobUVVFUllfT1BFUkFUSU9OX0NVUlJFTlRfTEFXEAUSIwofUVVFUllfT1BFUkFUSU9OX0lOVEVSRkFDRV9PRkZFUhAGEicKI1FVRVJZX09QRVJBVElPTl9SRUxBVElPTl9HQVRFX09GRkVSEAcSHQoZUVVFUllfT1BFUkFUSU9OX1NDRU5FX0xBVxAIEiEKHVFVRVJZX09QRVJBVElPTl9JTlNUQUxMRURfTEFXEAkSHAoYUVVFUllfT1BFUkFUSU9OX0RFU0NSSUJFEAoSIAocUVVFUllfT1BFUkFUSU9OX0tFUk5FTF9TVEFNUBALEiMKH1FVRVJZX09QRVJBVElPTl9ERVZFTE9QRVJfU1BBTlMQDBIpCiVRVUVSWV9PUEVSQVRJT05fREVDTEFSRURfQ0FQQUJJTElUSUVTEA0SHQoZUVVFUllfT1BFUkFUSU9OX1JFQURJTkVTUxAOEiQKIFFVRVJZX09QRVJBVElPTl9QUk9KRUNUSU9OX1NUQVRTEA8SJQohUVVFUllfT1BFUkFUSU9OX01FTU9SWV9EUk9QX1BST0JFEBASGAoUUVVFUllfT1BFUkFUSU9OX1dBUk0QERIbChdRVUVSWV9PUEVSQVRJT05fUkVGUkVTSBASEiAKHFFVRVJZX09QRVJBVElPTl9WRVJJRllfQ0hBSU4QExIlCiFRVUVSWV9PUEVSQVRJT05fSElTVE9SWV9QUkVGTElHSFQQFBIZChVRVUVSWV9PUEVSQVRJT05fUk9VVEUQFRIYChRRVUVSWV9PUEVSQVRJT05fTUlOVBAWEiEKHVFVRVJZX09QRVJBVElPTl9DUllQVE9fS0VZR0VOEBcSJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19TRUFMX0ZJRUxEEBgSLAooUVVFUllfT1BFUkFUSU9OX0NSWVBUT19CTElORF9JTkRFWF9UT0tFThAZEioKJlFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfU0NPUEVfS0VZEBoSLworUVVFUllfT1BFUkFUSU9OX0NSWVBUT19PV05FRF9ERVZJQ0VfUkVRVUVTVBAbEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9BUFBST1ZBTBAcEjEKLVFVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfUFJFUEFSRV9SRUNPVkVSWRAdEiMKH1FVRVJZX09QRVJBVElPTl9DUllQVE9fV1JBUF9LRVkQHhIlCiFRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1VOV1JBUF9LRVkQHxIhCh1RVUVSWV9PUEVSQVRJT05fQVVUSE9SX0tFWUdFThAgEiQKIFFVRVJZX09QRVJBVElPTl9BVFRFU1RBVElPTl9TSUdOECESIAocUVVFUllfT1BFUkFUSU9OX1JFQ0VJUFRfUEFUSBAiEh0KGVFVRVJZX09QRVJBVElPTl9DRVJUX1NJR04QIxIlCiFRVUVSWV9PUEVSQVRJT05fQklSVEhfVFJVU1RfU1RBVEUQJBIhCh1RVUVSWV9PUEVSQVRJT05fRVJBX0NFUlRfU0lHThAlEigKJFFVRVJZX09QRVJBVElPTl9ERUxFR0FUSU9OX0NFUlRfU0lHThAmEikKJVFVRVJZX09QRVJBVElPTl9DQU5PTklDQUxJWkVfRlJPTlRJRVIQJxIrCidRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX1BST0pFQ1RJT04QKCpsChNLZXJuZWxMYXdDYXBhYmlsaXR5EiUKIUtFUk5FTF9MQVdfQ0FQQUJJTElUWV9VTlNQRUNJRklFRBAAEi4KKktFUk5FTF9MQVdfQ0FQQUJJTElUWV9TVEFHRV9aRVJPX0JPT1RTVFJBUBABKqgBChpJbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudBIsCihJTlRFTlRfVFJBTlNQT1JUX1JFUVVJUkVNRU5UX1VOU1BFQ0lGSUVEEAASLgoqSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9TRUFMRURfQ0hBTkdFEAESLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9DT01NSVRfVFJFRRACKokBChVMaWZlY3ljbGVJbnN0YWxsUGhhc2USJwojTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfVU5TUEVDSUZJRUQQABIiCh5MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9BQ1RJVkUQARIjCh9MSUZFQ1lDTEVfSU5TVEFMTF9QSEFTRV9QRU5ESU5HEAIyWQoSTm9tb3NLZXJuZWxTZXJ2aWNlEkMKBENhbGwSHC5ub21vcy5rZXJuZWwudjEuQ2FsbFJlcXVlc3QaHS5ub21vcy5rZXJuZWwudjEuQ2FsbFJlc3BvbnNlYgZwcm90bzM");
|
|
11443
|
+
file_nomos_kernel_v1_kernel2 = /* @__PURE__ */ fileDesc2("Chxub21vcy9rZXJuZWwvdjEva2VybmVsLnByb3RvEg9ub21vcy5rZXJuZWwudjEimAMKC0NhbGxSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoCRIsCgRvcGVuGAogASgLMhwubm9tb3Mua2VybmVsLnYxLk9wZW5SZXF1ZXN0SAASLgoFb2ZmZXIYCyABKAsyHS5ub21vcy5rZXJuZWwudjEuT2ZmZXJSZXF1ZXN0SAASLgoFcXVlcnkYDCABKAsyHS5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXF1ZXN0SAASMAoGb3V0Ym94GA0gASgLMh4ubm9tb3Mua2VybmVsLnYxLk91dGJveFJlcXVlc3RIABIsCgRzeW5jGA4gASgLMhwubm9tb3Mua2VybmVsLnYxLlN5bmNSZXF1ZXN0SAASMgoHY3VzdG9keRgPIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVxdWVzdEgAEiwKBHRlc3QYECABKAsyHC5ub21vcy5rZXJuZWwudjEuVGVzdFJlcXVlc3RIAEILCglvcGVyYXRpb24iywMKDENhbGxSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSKwoHZmFpbHVyZRgKIAEoCzIYLm5vbW9zLmtlcm5lbC52MS5GYWlsdXJlSAASLQoEb3BlbhgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5PcGVuUmVzcG9uc2VIABIvCgVvZmZlchgMIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5PZmZlclJlc3BvbnNlSAASLwoFcXVlcnkYDSABKAsyHi5ub21vcy5rZXJuZWwudjEuUXVlcnlSZXNwb25zZUgAEjEKBm91dGJveBgOIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5PdXRib3hSZXNwb25zZUgAEi0KBHN5bmMYDyABKAsyHS5ub21vcy5rZXJuZWwudjEuU3luY1Jlc3BvbnNlSAASMwoHY3VzdG9keRgQIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5UmVzcG9uc2VIABItCgR0ZXN0GBEgASgLMh0ubm9tb3Mua2VybmVsLnYxLlRlc3RSZXNwb25zZUgAQgkKB291dGNvbWUiVwoHRmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSLQoHZGV0YWlscxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCI8CgxPcGVuUmVzcG9uc2USLAoGcmVzdWx0GAEgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IsMCCg1PZmZlclJlc3BvbnNlEjIKCGFkbWl0dGVkGAEgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyQWRtaXR0ZWRIABIwCgdyZWZ1c2VkGAIgASgLMh0ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVmdXNlZEgAEjsKDWRlYWRfbGV0dGVyZWQYAyABKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJEZWFkTGV0dGVyZWRIABI4CgtxdWFyYW50aW5lZBgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5PZmZlclF1YXJhbnRpbmVkSAASSgoVYmxvY2tlZF9vbl9kZXBlbmRlbmN5GAUgASgLMikubm9tb3Mua2VybmVsLnYxLk9mZmVyQmxvY2tlZE9uRGVwZW5kZW5jeUgAQgkKB291dGNvbWUiPQoNT2ZmZXJBZG1pdHRlZBIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QilgEKDE9mZmVyUmVmdXNlZBIVCghvZmZlcl9pZBgBIAEoCUgAiAEBEi8KB3JlZnVzYWwYAiABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbBIxCgtkaWFnbm9zdGljcxgDIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdEILCglfb2ZmZXJfaWQiegoRT2ZmZXJEZWFkTGV0dGVyZWQSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZyZWFzb24YAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIq4BChBPZmZlclF1YXJhbnRpbmVkEhUKCG9mZmVyX2lkGAEgASgJSACIAQESGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIOCgZyZWFzb24YBCABKAkSMQoLZGlhZ25vc3RpY3MYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBChhPZmZlckJsb2NrZWRPbkRlcGVuZGVuY3kSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIOCgZkZXRhaWwYAiABKAkSMQoLZGlhZ25vc3RpY3MYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RCCwoJX29mZmVyX2lkIoEBCg1LZXJuZWxSZWZ1c2FsEjAKBGNvZGUYASABKA4yIi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbENvZGUSDwoHbWVzc2FnZRgCIAEoCRItCgdkZXRhaWxzGAMgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Iu8CCg1RdWVyeVJlc3BvbnNlEiwKBXZhbHVlGAEgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWVIABJBChBhcHBsaWNhdGlvbl9qc29uGAIgASgLMiUubm9tb3Mua2VybmVsLnYxLkFwcGxpY2F0aW9uSnNvblZhbHVlSAASSgoTYXV0aG9yaXphdGlvbl9jaGVjaxgKIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXNwb25zZUgAEkwKFGF1dGhvcml6YXRpb25fZXhwYW5kGAsgASgLMiwubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZUgAEkkKGHZlcmlmeV9jaGFpbl9kaWFnbm9zdGljcxgUIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzQggKBnJlc3VsdCLnAQoTVmVyaWZ5Q2hhaW5TdGVwU3BhbhINCgVpbmRleBgBIAEoBBISCgpjb21taXRfb2lkGAIgASgJEg4KBmRvbWFpbhgDIAEoCRIRCglkaXJlY3RpdmUYBCABKAkSEAoIdG90YWxfdXMYBSABKAQSNgoGcGhhc2VzGAYgASgLMiYubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFBoYXNlcxJACg5lbmdpbmVfdGltaW5ncxgHIAMoCzIoLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkVuZ2luZVRpbWluZyKYAgoVVmVyaWZ5Q2hhaW5TdGVwUGhhc2VzEh4KFnJ1bnRpbWVfbGF3X3JlZnJlc2hfdXMYASABKAQSEwoLbWFuaWZlc3RfdXMYAiABKAQSGQoRbGF3X3Jlc29sdXRpb25fdXMYAyABKAQSHQoVbWFuYWdlZF90cmFuc2l0aW9uX3VzGAQgASgEEhQKDHByaW5jaXBhbF91cxgFIAEoBBIUCgxldm9sdXRpb25fdXMYBiABKAQSGgoSY29sb2NhdGVkX3JlYWRzX3VzGAcgASgEEiEKGXR5cGVkX2luc3RhbGxfdmVyaWZpZXJfdXMYCCABKAQSFAoMYWRtaXNzaW9uX3VzGAkgASgEEg8KB2ZvbGRfdXMYCiABKAQipAMKFlZlcmlmeUNoYWluRGlhZ25vc3RpY3MSLgoEd2FsaxgBIAEoDjIgLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbldhbGsSEAoIdG90YWxfdXMYAiABKAQSGwoTcmVmZXJlbmNlX2xvb2t1cF91cxgDIAEoBBIaChJyZXBvc2l0b3J5X29wZW5fdXMYBCABKAQSFQoNY2hhaW5fcmVhZF91cxgFIAEoBBIWCg5lbmdpbmVfaW5pdF91cxgGIAEoBBIYChB0aW1lbGluZV9yZWFkX3VzGAcgASgEEhgKEGxhd19oeWRyYXRpb25fdXMYCCABKAQSGwoTcmVjb3ZlcnlfcHJlc2Nhbl91cxgJIAEoBBIYChBmb2xkX2Zyb250aWVyX3VzGAogASgEEjMKBXN0ZXBzGAsgAygLMiQubm9tb3Mua2VybmVsLnYxLlZlcmlmeUNoYWluU3RlcFNwYW4SQAoOZW5naW5lX3RpbWluZ3MYDCADKAsyKC5ub21vcy5rZXJuZWwudjEuVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmciOgoXVmVyaWZ5Q2hhaW5FbmdpbmVUaW1pbmcSDQoFcGhhc2UYASABKAkSEAoIdG90YWxfdXMYAiABKAQiJAoUQXBwbGljYXRpb25Kc29uVmFsdWUSDAoEdXRmOBgBIAEoDCI+Cg5PdXRib3hSZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiPAoMU3luY1Jlc3BvbnNlEiwKBnJlc3VsdBgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCJCCg9Xb3Jrc3BhY2VUYXJnZXQSDAoEcmVwbxgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGYnJhbmNoGAMgASgJIk4KC09wZW5SZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSDQoFc3BhbnMYAiABKAgiYQoNRGlyZWN0aXZlQ2FsbBIOCgZkb21haW4YASABKAkSEQoJZGlyZWN0aXZlGAIgASgJEi0KB3BheWxvYWQYAyABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QiwAIKEEF1dGhvcmluZ09wdGlvbnMSDQoFYWN0b3IYASABKAkSEgoKYXV0aF90b2tlbhgCIAEoDBIVCg1hdXRob3Jfc2VjcmV0GAMgASgMEh0KEHZhbGlkX2Zyb21fZXBvY2gYBCABKARIAIgBARIfChJwcmluY2lwYWxfdmVyaWZpZWQYBSABKAhIAYgBARILCgNybmcYBiADKAESGAoQZGVmZXJfcHJvamVjdGlvbhgHIAEoCBINCgVzcGFucxgIIAEoCBIPCgdkcnlfcnVuGAkgASgIEhAKCHNlcXVlbmNlGAogASgEEi0KBWNsb2NrGAsgASgLMh4ubm9tb3Mua2VybmVsLnYxLkNhcHR1cmVkQ2xvY2tCEwoRX3ZhbGlkX2Zyb21fZXBvY2hCFQoTX3ByaW5jaXBhbF92ZXJpZmllZCJKCg1DYXB0dXJlZENsb2NrEhcKD3BoeXNpY2FsX21pbGxpcxgBIAEoBBIPCgdsb2dpY2FsGAIgASgNEg8KB3JlcGxpY2EYAyABKAQiwwMKEEJpcnRoQ2VydGlmaWNhdGUSDQoFY2hpbGQYASABKAkSDwoHZm91bmRlchgCIAEoCRIQCgh2ZXJpZmllZBgDIAEoCBISCgpwYXJlbnRfa2V5GAQgASgMEhEKCXBhcmVudF9pZBgFIAEoCRINCgVlcG9jaBgGIAEoAxIRCglzaWduYXR1cmUYByABKAwSGQoMdmVyaWZpZWRfdmlhGAggASgJSACIAQESFgoJaWRwX3Rva2VuGAkgASgJSAGIAQESGwoOY2FwdHVyZWRfY2xvY2sYCiABKANIAogBARIhChRhdXRoX3Byb3ZpZGVyX2lzc3VlchgLIAEoCUgDiAEBEh8KEmF1dGhfcHJvdmlkZXJfandrcxgMIAEoCUgEiAEBEiMKFmF1dGhfcHJvdmlkZXJfYXVkaWVuY2UYDSABKAlIBYgBAUIPCg1fdmVyaWZpZWRfdmlhQgwKCl9pZHBfdG9rZW5CEQoPX2NhcHR1cmVkX2Nsb2NrQhcKFV9hdXRoX3Byb3ZpZGVyX2lzc3VlckIVChNfYXV0aF9wcm92aWRlcl9qd2tzQhkKF19hdXRoX3Byb3ZpZGVyX2F1ZGllbmNlIpwECgxPZmZlclJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIuCgRjYWxsGAIgASgLMh4ubm9tb3Mua2VybmVsLnYxLkRpcmVjdGl2ZUNhbGxIABIcChJzZWFsZWRfY2hhbmdlX3VzZGEYByABKAxIABI0CglhdXRob3JpbmcYAyABKAsyIS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaW5nT3B0aW9ucxIQCghsYXdfdXNkehgEIAEoDBIzCgxhdHRlc3RhdGlvbnMYBSADKAsyHS5ub21vcy5rZXJuZWwudjEuQXR0ZXN0ZWRSZWFkEj0KEmNvbmZsaWN0X3NuYXBzaG90cxgGIAMoCzIhLm5vbW9zLmtlcm5lbC52MS5Db25mbGljdFNuYXBzaG90EhoKEmV4ZWN1dGlvbl9sYXdfdXNkehgIIAEoDBIgChNjb250cm9sbGVyX2xhd19oYXNoGAkgASgJSAGIAQESHQoQY2FuZGlkYXRlX2NvbW1pdBgKIAEoCUgCiAEBEjwKEWJpcnRoX2NlcnRpZmljYXRlGAsgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVCCAoGaW50ZW50QhYKFF9jb250cm9sbGVyX2xhd19oYXNoQhMKEV9jYW5kaWRhdGVfY29tbWl0IpMBCgxBdHRlc3RlZFJlYWQSEAoIcXVlcnlfaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EisKBnJlc3VsdBgDIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlEhMKC2F0dGVzdGF0aW9uGAQgASgMInUKEENvbmZsaWN0U25hcHNob3QSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEhUKDXRhcmdldF9zY2hlbWEYBCABKAkSDQoFdG9rZW4YBSABKAki2wUKDFF1ZXJ5UmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EjIKCWF1dGhvcml0eRgCIAEoCzIfLm5vbW9zLmtlcm5lbC52MS5RdWVyeUF1dGhvcml0eRINCgVzcGFucxgDIAEoCBIqCgRyb3dzGAogASgLMhoubm9tb3Mua2VybmVsLnYxLlJvd3NRdWVyeUgAEioKBHBhZ2UYCyABKAsyGi5ub21vcy5rZXJuZWwudjEuUGFnZVF1ZXJ5SAASKwoFYnlfaWQYDCABKAsyGi5ub21vcy5rZXJuZWwudjEuQnlJZFF1ZXJ5SAASOQoMcmVzb2x2ZV9yZWZzGA0gASgLMiEubm9tb3Mua2VybmVsLnYxLlJlc29sdmVSZWZzUXVlcnlIABI7Cg1yZWZfZnJlc2huZXNzGA4gASgLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc1F1ZXJ5SAASLAoFY291bnQYDyABKAsyGy5ub21vcy5rZXJuZWwudjEuVGFsbHlRdWVyeUgAEioKA3N1bRgQIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5UYWxseVF1ZXJ5SAASMAoHc3BhdGlhbBgRIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5TcGF0aWFsUXVlcnlIABIsCgVuYW1lZBgSIAEoCzIbLm5vbW9zLmtlcm5lbC52MS5OYW1lZFF1ZXJ5SAASSQoTYXV0aG9yaXphdGlvbl9jaGVjaxgTIAEoCzIqLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0SAASSwoUYXV0aG9yaXphdGlvbl9leHBhbmQYFCABKAsyKy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGFuZFJlcXVlc3RIAEIHCgVxdWVyeSKSAQoOUXVlcnlBdXRob3JpdHkSFwoPcHJpbmNpcGFsX2NsYWltGAEgASgJEhIKCmF1dGhfdG9rZW4YAiABKAwSEAoIbm93X3VuaXgYAyABKAQSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBIqCgRrZXlzGAUgAygLMhwubm9tb3Mua2VybmVsLnYxLkluamVjdGVkS2V5IjgKC0luamVjdGVkS2V5Eg0KBXNjb3BlGAEgASgJEg0KBWVwb2NoGAIgASgEEgsKA2tleRgDIAEoDCJbCglSb3dzUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhEKCXByaW5jaXBhbBgDIAEoCSJ5CglQYWdlUXVlcnkSCgoCaWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0Eg0KBWxpbWl0GAMgASgNEg0KBWFmdGVyGAQgASgJEhEKCXByaW5jaXBhbBgFIAEoCSJMCglCeUlkUXVlcnkSFgoOYWdncmVnYXRlX3R5cGUYASABKAkSFAoMYWdncmVnYXRlX2lkGAIgASgJEhEKCXByaW5jaXBhbBgDIAEoCSJcCghOb21vc1JlZhIRCgl3b3Jrc3BhY2UYASABKAkSFgoOYWdncmVnYXRlX3R5cGUYAiABKAkSFAoMYWdncmVnYXRlX2lkGAMgASgJEg8KB3ZlcnNpb24YBCABKAkiTgoQUmVzb2x2ZVJlZnNRdWVyeRInCgRyZWZzGAEgAygLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhEKCXByaW5jaXBhbBgCIAEoCSJFChFSZWZGcmVzaG5lc3NRdWVyeRIwCgRyZWZzGAEgAygLMiIubm9tb3Mua2VybmVsLnYxLlJlZkZyZXNobmVzc0NoZWNrIoABChFSZWZGcmVzaG5lc3NDaGVjaxIpCgZwaW5uZWQYASABKAsyGS5ub21vcy5rZXJuZWwudjEuTm9tb3NSZWYSKQoGc2VyaWVzGAIgASgLMhkubm9tb3Mua2VybmVsLnYxLk5vbW9zUmVmEhUKDWN1cnJlbnRfZmllbGQYAyABKAkiXAoKVGFsbHlRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJIl4KDFNwYXRpYWxRdWVyeRIKCgJpZBgBIAEoCRIvCglhcmd1bWVudHMYAiABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QSEQoJcHJpbmNpcGFsGAMgASgJInEKCk5hbWVkUXVlcnkSMgoJb3BlcmF0aW9uGAEgASgOMh8ubm9tb3Mua2VybmVsLnYxLlF1ZXJ5T3BlcmF0aW9uEi8KCWFyZ3VtZW50cxgCIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdCIvChNBdXRob3JpemF0aW9uT2JqZWN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiVAoUQXV0aG9yaXphdGlvblN1YmplY3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRIVCghyZWxhdGlvbhgDIAEoCUgAiAEBQgsKCV9yZWxhdGlvbiKcAQoYUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEAoIcmVsYXRpb24YAiABKAkSNgoHc3ViamVjdBgDIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdCKBAQoYQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5EiMKGWN1cnJlbnRfdmVyaWZpZWRfZnJvbnRpZXIYASABKAhIABIZCg9hdF9sZWFzdF9jb21taXQYAiABKAlIABIWCgxleGFjdF9jb21taXQYAyABKAlIAEINCgtyZXF1aXJlbWVudCJmCh1BdXRob3JpemF0aW9uQ29uZGl0aW9uQ29udGV4dBIUCgxjb25kaXRpb25faWQYASABKAkSLwoJYXJndW1lbnRzGAIgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0IvcCChlBdXRob3JpemF0aW9uQ2hlY2tSZXF1ZXN0EjYKCHJlc291cmNlGAEgASgLMiQubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25PYmplY3QSEgoKcGVybWlzc2lvbhgCIAEoCRI2CgdzdWJqZWN0GAMgASgLMiUubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25TdWJqZWN0Ej4KC2NvbnNpc3RlbmN5GAQgASgLMikubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25zaXN0ZW5jeRI/Cgdjb250ZXh0GAUgAygLMi4ubm9tb3Mua2VybmVsLnYxLkF1dGhvcml6YXRpb25Db25kaXRpb25Db250ZXh0EiAKE2V4cGVjdGVkX21vZGVsX2hhc2gYBiABKAlIAIgBARIbChNpbmNsdWRlX2V4cGxhbmF0aW9uGAcgASgIQhYKFF9leHBlY3RlZF9tb2RlbF9oYXNoIu0CChpBdXRob3JpemF0aW9uRXhwYW5kUmVxdWVzdBI2CghyZXNvdXJjZRgBIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uT2JqZWN0EhIKCnBlcm1pc3Npb24YAiABKAkSPgoLY29uc2lzdGVuY3kYAyABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbnNpc3RlbmN5Ej8KB2NvbnRleHQYBCADKAsyLi5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkNvbmRpdGlvbkNvbnRleHQSIAoTZXhwZWN0ZWRfbW9kZWxfaGFzaBgFIAEoCUgAiAEBEg0KBWxpbWl0GAYgASgNEhIKBWFmdGVyGAcgASgJSAGIAQESGwoTaW5jbHVkZV9leHBsYW5hdGlvbhgIIAEoCEIWChRfZXhwZWN0ZWRfbW9kZWxfaGFzaEIICgZfYWZ0ZXIivQEKGVJlbGF0aW9uc2hpcFR1cGxlRXZpZGVuY2USOAoFdHVwbGUYASABKAsyKS5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVBZGRyZXNzEhAKCHR1cGxlX2lkGAIgASgJEhoKEmFzc2VydGlvbl9ldmVudF9pZBgDIAEoCRIgChNyZXZvY2F0aW9uX2V2ZW50X2lkGAQgASgJSACIAQFCFgoUX3Jldm9jYXRpb25fZXZlbnRfaWQi4QMKGEF1dGhvcml6YXRpb25FeHBsYW5hdGlvbhJGCglvcGVyYXRpb24YASABKA4yMy5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uLk9wZXJhdGlvbhIQCghyZWxhdGlvbhgCIAEoCRIOCgZyZXN1bHQYAyABKAgSPAoIZXZpZGVuY2UYBCADKAsyKi5ub21vcy5rZXJuZWwudjEuUmVsYXRpb25zaGlwVHVwbGVFdmlkZW5jZRI7CghjaGlsZHJlbhgFIAMoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb24i3wEKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIUChBPUEVSQVRJT05fRElSRUNUEAESHgoaT1BFUkFUSU9OX0NPTVBVVEVEX1VTRVJTRVQQAhIeChpPUEVSQVRJT05fVFVQTEVfVE9fVVNFUlNFVBADEhMKD09QRVJBVElPTl9VTklPThAEEhoKFk9QRVJBVElPTl9JTlRFUlNFQ1RJT04QBRIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAYSFwoTT1BFUkFUSU9OX0NPTkRJVElPThAHIncKGkF1dGhvcml6YXRpb25EZWNpc2lvbkJhc2lzEiAKGGF1dGhvcml6YXRpb25fbW9kZWxfaGFzaBgBIAEoCRIhChlyZWxhdGlvbnNoaXBfc3RhdGVfY29tbWl0GAIgASgJEhQKDGNvbnRleHRfaGFzaBgDIAEoDCK+AQoaQXV0aG9yaXphdGlvbkNoZWNrUmVzcG9uc2USDwoHYWxsb3dlZBgBIAEoCBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxJDCgtleHBsYW5hdGlvbhgDIAEoCzIpLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRXhwbGFuYXRpb25IAIgBAUIOCgxfZXhwbGFuYXRpb24igwIKG0F1dGhvcml6YXRpb25FeHBhbmRSZXNwb25zZRI3CghzdWJqZWN0cxgBIAMoCzIlLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uU3ViamVjdBI6CgViYXNpcxgCIAEoCzIrLm5vbW9zLmtlcm5lbC52MS5BdXRob3JpemF0aW9uRGVjaXNpb25CYXNpcxIRCgRuZXh0GAMgASgJSACIAQESQwoLZXhwbGFuYXRpb24YBCABKAsyKS5ub21vcy5rZXJuZWwudjEuQXV0aG9yaXphdGlvbkV4cGxhbmF0aW9uSAGIAQFCBwoFX25leHRCDgoMX2V4cGxhbmF0aW9uIkEKDU91dGJveFJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldCJjCgtTeW5jUmVxdWVzdBIwCgZ0YXJnZXQYASABKAsyIC5ub21vcy5rZXJuZWwudjEuV29ya3NwYWNlVGFyZ2V0EhEKCWZyb21fYmFzZRgCIAEoCRIPCgd0b19oZWFkGAMgASgJIlMKC1Rlc3RSZXF1ZXN0EjcKCHNldF9yb290GAEgASgLMiMubm9tb3Mua2VybmVsLnYxLlNldFRlc3RSb290UmVxdWVzdEgAQgsKCW9wZXJhdGlvbiIoChJTZXRUZXN0Um9vdFJlcXVlc3QSEgoKcHVibGljX2tleRgBIAEoDCI9CgxUZXN0UmVzcG9uc2USLQoGcmVzdWx0GAEgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZCKdCQoOQ3VzdG9keVJlcXVlc3QSNwoKcGFja19kZWx0YRgKIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXF1ZXN0SAASNwoKYXBwbHlfcGFjaxgLIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5BcHBseVBhY2tSZXF1ZXN0SAASNwoKcmVwb19zdGF0cxgMIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXBvU3RhdHNSZXF1ZXN0SAASPQoNaW50ZW50c19hYm92ZRgNIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXF1ZXN0SAASPwoOaW5zcGVjdF9jaGFuZ2UYDiABKAsyJS5ub21vcy5rZXJuZWwudjEuSW5zcGVjdENoYW5nZVJlcXVlc3RIABJOChZlbmNvZGVfcmVmdXNhbF92ZXJkaWN0GA8gASgLMiwubm9tb3Mua2VybmVsLnYxLkVuY29kZVJlZnVzYWxWZXJkaWN0UmVxdWVzdEgAElAKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi0ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlcXVlc3RIABI1CglyZWFkX2Jsb2IYESABKAsyIC5ub21vcy5rZXJuZWwudjEuUmVhZEJsb2JSZXF1ZXN0SAASOQoLcmVzb2x2ZV9yZWYYEiABKAsyIi5ub21vcy5rZXJuZWwudjEuUmVzb2x2ZVJlZlJlcXVlc3RIABI1CglsaXN0X3JlZnMYEyABKAsyIC5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXF1ZXN0SAASNQoJd3JpdGVfcmVmGBQgASgLMiAubm9tb3Mua2VybmVsLnYxLldyaXRlUmVmUmVxdWVzdEgAEjcKCmRlbGV0ZV9yZWYYFSABKAsyIS5ub21vcy5rZXJuZWwudjEuRGVsZXRlUmVmUmVxdWVzdEgAEkQKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMicubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlcXVlc3RIABJCChBsYXdfY2xvc3VyZV9pbmZvGBcgASgLMiYubm9tb3Mua2VybmVsLnYxLkxhd0Nsb3N1cmVJbmZvUmVxdWVzdEgAEkUKEWNoZWNrcG9pbnRfZXhwb3J0GBggASgLMigubm9tb3Mua2VybmVsLnYxLkNoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0SAASRQoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKC5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlcXVlc3RIABJDChBjYXBhY2l0eV9yZXNlcnZlGBogASgLMicubm9tb3Mua2VybmVsLnYxLkNhcGFjaXR5UmVzZXJ2ZVJlcXVlc3RIABI7CgxyZXN0b3JlX21haW4YGyABKAsyIy5ub21vcy5rZXJuZWwudjEuUmVzdG9yZU1haW5SZXF1ZXN0SABCCwoJb3BlcmF0aW9uIpwBChBQYWNrRGVsdGFSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSHQoQc3RhZ2VkX3BhY2tfZmlsZRgFIAEoCUgCiAEBQgcKBV9oZWFkQgcKBV9iYXNlQhMKEV9zdGFnZWRfcGFja19maWxlInIKEEFwcGx5UGFja1JlcXVlc3QSDAoEcmVwbxgBIAEoCRIOCgRwYWNrGAIgASgMSAASGgoQc3RhZ2VkX3BhY2tfZmlsZRgEIAEoCUgAEhEKBGhlYWQYAyABKAlIAYgBAUIICgZzb3VyY2VCBwoFX2hlYWQiIAoQUmVwb1N0YXRzUmVxdWVzdBIMCgRyZXBvGAEgASgJIqwBChNJbnRlbnRzQWJvdmVSZXF1ZXN0EgwKBHJlcG8YASABKAkSEQoEaGVhZBgCIAEoCUgAiAEBEhEKBGJhc2UYAyABKAlIAYgBARIOCgZicmFuY2gYBCABKAkSDQoFbGltaXQYBSABKAQSGAoQY29tcGxldGVfbG9naWNhbBgGIAEoCBIWCg5jb21wYWN0X3N0b3JlZBgHIAEoCEIHCgVfaGVhZEIHCgVfYmFzZSIrChRJbnNwZWN0Q2hhbmdlUmVxdWVzdBITCgtjaGFuZ2VfdXNkYRgBIAEoDCLfAQoOUmVmdXNhbFZlcmRpY3QSFQoIb2ZmZXJfaWQYASABKAlIAIgBARIQCgNvaWQYAiABKAlIAYgBARITCgZkb21haW4YAyABKAlIAogBARIZCgxkaXJlY3RpdmVfaWQYBCABKAlIA4gBARIUCgdzZXNzaW9uGAUgASgJSASIAQESEQoJcGFya2VkX2F0GAYgASgJEg4KBnJlYXNvbhgHIAEoCUILCglfb2ZmZXJfaWRCBgoEX29pZEIJCgdfZG9tYWluQg8KDV9kaXJlY3RpdmVfaWRCCgoIX3Nlc3Npb24iTwobRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXF1ZXN0EjAKB3ZlcmRpY3QYASABKAsyHy5ub21vcy5rZXJuZWwudjEuUmVmdXNhbFZlcmRpY3QiNAocSW5zcGVjdFJlZnVzYWxWZXJkaWN0UmVxdWVzdBIUCgx2ZXJkaWN0X3VzZGEYASABKAwiOgoPUmVhZEJsb2JSZXF1ZXN0EgwKBHJlcG8YASABKAkSCwoDb2lkGAIgASgJEgwKBHBhdGgYAyABKAkiNAoRUmVzb2x2ZVJlZlJlcXVlc3QSDAoEcmVwbxgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkiLwoPTGlzdFJlZnNSZXF1ZXN0EgwKBHJlcG8YASABKAkSDgoGcHJlZml4GAIgASgJIkIKD1dyaXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiMwoQRGVsZXRlUmVmUmVxdWVzdBIMCgRyZXBvGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCSIpCghNZXRhRmlsZRIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAwirgEKFldyaXRlTWV0YUNvbW1pdFJlcXVlc3QSDAoEcmVwbxgBIAEoCRIPCgdwYXJlbnRzGAIgAygJEigKBWZpbGVzGAMgAygLMhkubm9tb3Mua2VybmVsLnYxLk1ldGFGaWxlEg8KB21lc3NhZ2UYBCABKAkSFAoMdGltZV9zZWNvbmRzGAUgASgSEhYKCXJlZmVyZW5jZRgGIAEoCUgAiAEBQgwKCl9yZWZlcmVuY2UiZwoVTGF3Q2xvc3VyZUluZm9SZXF1ZXN0EhQKDGNsb3N1cmVfZmlsZRgBIAEoCRI4CgpjYXBhYmlsaXR5GAIgASgOMiQubm9tb3Mua2VybmVsLnYxLktlcm5lbExhd0NhcGFiaWxpdHkihwEKF0NoZWNrcG9pbnRFeHBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSIQoUc3RhZ2VkX2Zyb250aWVyX2ZpbGUYAiABKAlIAIgBAUIXChVfc3RhZ2VkX2Zyb250aWVyX2ZpbGUi6QEKF0NoZWNrcG9pbnRJbXBvcnRSZXF1ZXN0EjAKBnRhcmdldBgBIAEoCzIgLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VUYXJnZXQSEgoIZnJvbnRpZXIYAiABKAxIABIeChRzdGFnZWRfZnJvbnRpZXJfZmlsZRgGIAEoCUgAEhMKBmN1cnNvchgDIAEoCUgBiAEBEhcKCnN0YXRlX3Jvb3QYBCABKAlIAogBARINCgVzcGFucxgFIAEoCEIRCg9mcm9udGllcl9zb3VyY2VCCQoHX2N1cnNvckINCgtfc3RhdGVfcm9vdCIxChZDYXBhY2l0eVJlc2VydmVSZXF1ZXN0EhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBCJUChJSZXN0b3JlTWFpblJlcXVlc3QSMAoGdGFyZ2V0GAEgASgLMiAubm9tb3Mua2VybmVsLnYxLldvcmtzcGFjZVRhcmdldBIMCgRoZWFkGAIgASgJIqcJCg9DdXN0b2R5UmVzcG9uc2USOAoKcGFja19kZWx0YRgKIAEoCzIiLm5vbW9zLmtlcm5lbC52MS5QYWNrRGVsdGFSZXNwb25zZUgAEjgKCmFwcGx5X3BhY2sYCyABKAsyIi5ub21vcy5rZXJuZWwudjEuQXBwbHlQYWNrUmVzcG9uc2VIABI4CgpyZXBvX3N0YXRzGAwgASgLMiIubm9tb3Mua2VybmVsLnYxLlJlcG9TdGF0c1Jlc3BvbnNlSAASPgoNaW50ZW50c19hYm92ZRgNIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRzQWJvdmVSZXNwb25zZUgAEkAKDmluc3BlY3RfY2hhbmdlGA4gASgLMiYubm9tb3Mua2VybmVsLnYxLkluc3BlY3RDaGFuZ2VSZXNwb25zZUgAEk8KFmVuY29kZV9yZWZ1c2FsX3ZlcmRpY3QYDyABKAsyLS5ub21vcy5rZXJuZWwudjEuRW5jb2RlUmVmdXNhbFZlcmRpY3RSZXNwb25zZUgAElEKF2luc3BlY3RfcmVmdXNhbF92ZXJkaWN0GBAgASgLMi4ubm9tb3Mua2VybmVsLnYxLkluc3BlY3RSZWZ1c2FsVmVyZGljdFJlc3BvbnNlSAASNgoJcmVhZF9ibG9iGBEgASgLMiEubm9tb3Mua2VybmVsLnYxLlJlYWRCbG9iUmVzcG9uc2VIABI6CgtyZXNvbHZlX3JlZhgSIAEoCzIjLm5vbW9zLmtlcm5lbC52MS5SZXNvbHZlUmVmUmVzcG9uc2VIABI2CglsaXN0X3JlZnMYEyABKAsyIS5ub21vcy5rZXJuZWwudjEuTGlzdFJlZnNSZXNwb25zZUgAEjIKCXdyaXRlX3JlZhgUIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5BY2tub3dsZWRnZWRIABIzCgpkZWxldGVfcmVmGBUgASgLMh0ubm9tb3Mua2VybmVsLnYxLkFja25vd2xlZGdlZEgAEkUKEXdyaXRlX21ldGFfY29tbWl0GBYgASgLMigubm9tb3Mua2VybmVsLnYxLldyaXRlTWV0YUNvbW1pdFJlc3BvbnNlSAASQwoQbGF3X2Nsb3N1cmVfaW5mbxgXIAEoCzInLm5vbW9zLmtlcm5lbC52MS5MYXdDbG9zdXJlSW5mb1Jlc3BvbnNlSAASRgoRY2hlY2twb2ludF9leHBvcnQYGCABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlSAASRgoRY2hlY2twb2ludF9pbXBvcnQYGSABKAsyKS5ub21vcy5rZXJuZWwudjEuQ2hlY2twb2ludEltcG9ydFJlc3BvbnNlSAASRAoQY2FwYWNpdHlfcmVzZXJ2ZRgaIAEoCzIoLm5vbW9zLmtlcm5lbC52MS5DYXBhY2l0eVJlc2VydmVSZXNwb25zZUgAEjwKDHJlc3RvcmVfbWFpbhgbIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblJlc3BvbnNlSABCCwoJb3BlcmF0aW9uIjAKEVBhY2tEZWx0YVJlc3BvbnNlEgwKBHBhY2sYASABKAwSDQoFYnl0ZXMYAiABKAQiPAoRQXBwbHlQYWNrUmVzcG9uc2USFAoMb2JqZWN0X2NvdW50GAEgASgEEhEKCXBhY2tfaGFzaBgCIAEoCSKnAQoRUmVwb1N0YXRzUmVzcG9uc2USEwoLdG90YWxfYnl0ZXMYASABKAQSFAoMb2JqZWN0X2J5dGVzGAIgASgEEhUKDWxvb3NlX29iamVjdHMYAyABKAQSEwoLbG9vc2VfYnl0ZXMYBCABKAQSEgoKcGFja19maWxlcxgFIAEoBBISCgpwYWNrX2J5dGVzGAYgASgEEhMKC2luZGV4X2J5dGVzGAcgASgEIuIBCgxJbnRlbnRSZWNvcmQSCwoDb2lkGAEgASgJEhEKCWludGVudF9pZBgCIAEoCRIOCgZkb21haW4YAyABKAkSEQoJZGlyZWN0aXZlGAQgASgJEhMKC2NoYW5nZV91c2RhGAUgASgMEi4KCHNlbWFudGljGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EkoKFXRyYW5zcG9ydF9yZXF1aXJlbWVudBgHIAEoDjIrLm5vbW9zLmtlcm5lbC52MS5JbnRlbnRUcmFuc3BvcnRSZXF1aXJlbWVudCJGChRJbnRlbnRzQWJvdmVSZXNwb25zZRIuCgdpbnRlbnRzGAEgAygLMh0ubm9tb3Mua2VybmVsLnYxLkludGVudFJlY29yZCJCChNOb21pbmFsQ2FsbElkZW50aXR5EhMKC2RvbWFpbl9wYXRoGAEgASgJEhYKDmRpcmVjdGl2ZV9wYXRoGAIgASgJIogBChhMaWZlY3ljbGVJbnN0YWxsSWRlbnRpdHkSHwoXdGFyZ2V0X2Nsb3N1cmVfaWRlbnRpdHkYASABKAkSFAoMaW5zdGFsbGVkX2J5GAIgASgJEjUKBXBoYXNlGAMgASgOMiYubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxQaGFzZSJHCh1Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudBIRCgl3b3Jrc3BhY2UYASABKAkSEwoLc291cmNlX2hlYWQYAiABKAkitAIKFUluc3BlY3RDaGFuZ2VSZXNwb25zZRIuCghzZW1hbnRpYxgBIAEoCzIcLm5vbW9zLmtlcm5lbC52MS5Ob21vc1N0cnVjdBIRCglpbnRlbnRfaWQYAiABKAkSMgoEY2FsbBgDIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5Ob21pbmFsQ2FsbElkZW50aXR5EhAKCGF1dGhvcmVkGAQgASgIEkQKEWxpZmVjeWNsZV9pbnN0YWxsGAUgASgLMikubm9tb3Mua2VybmVsLnYxLkxpZmVjeWNsZUluc3RhbGxJZGVudGl0eRJMChRyZXF1aXJlZF9yZXNpZGVuY2llcxgGIAMoCzIuLm5vbW9zLmtlcm5lbC52MS5Xb3Jrc3BhY2VSZXNpZGVuY3lSZXF1aXJlbWVudCI0ChxFbmNvZGVSZWZ1c2FsVmVyZGljdFJlc3BvbnNlEhQKDHZlcmRpY3RfdXNkYRgBIAEoDCJRCh1JbnNwZWN0UmVmdXNhbFZlcmRpY3RSZXNwb25zZRIwCgd2ZXJkaWN0GAEgASgLMh8ubm9tb3Mua2VybmVsLnYxLlJlZnVzYWxWZXJkaWN0Ii8KEFJlYWRCbG9iUmVzcG9uc2USDQoFZm91bmQYASABKAgSDAoEYmxvYhgCIAEoDCIuChJSZXNvbHZlUmVmUmVzcG9uc2USEAoDb2lkGAEgASgJSACIAQFCBgoEX29pZCIrCglSZWZSZWNvcmQSEQoJcmVmZXJlbmNlGAEgASgJEgsKA29pZBgCIAEoCSI8ChBMaXN0UmVmc1Jlc3BvbnNlEigKBHJlZnMYASADKAsyGi5ub21vcy5rZXJuZWwudjEuUmVmUmVjb3JkIg4KDEFja25vd2xlZGdlZCImChdXcml0ZU1ldGFDb21taXRSZXNwb25zZRILCgNvaWQYASABKAkigwEKFkxhd0Nsb3N1cmVJbmZvUmVzcG9uc2USEAoIaWRlbnRpdHkYASABKAkSGQoRcm9vdF9sb2dpY2FsX3BhdGgYAiABKAkSEwoLYXNzZXRfY291bnQYAyABKAQSEgoKcHJpbV9jb3VudBgEIAEoBBITCgtkb21haW5fa2V5cxgFIAMoCSLvAgoYQ2hlY2twb2ludEV4cG9ydFJlc3BvbnNlEg0KBWVtcHR5GAEgASgIEhMKBmN1cnNvchgCIAEoCUgAiAEBEhAKCGZyb250aWVyGAMgASgMEhcKCnN0YXRlX3Jvb3QYBCABKAlIAYgBARISCgpzdGF0ZV90cmVlGAUgASgIEg4KBnBpbm5lZBgGIAEoCBIbChNyZWFkX2luZGV4X3NuYXBzaG90GAcgASgIEiMKG3JlYWRfaW5kZXhfc25hcHNob3RfcGVuZGluZxgIIAEoCBIkChdyZWFkX2luZGV4X3NxbGl0ZV9ieXRlcxgJIAEoBEgCiAEBEiUKGHJlYWRfaW5kZXhfY3VzdG9keV9ieXRlcxgKIAEoBEgDiAEBQgkKB19jdXJzb3JCDQoLX3N0YXRlX3Jvb3RCGgoYX3JlYWRfaW5kZXhfc3FsaXRlX2J5dGVzQhsKGV9yZWFkX2luZGV4X2N1c3RvZHlfYnl0ZXMingIKGENoZWNrcG9pbnRJbXBvcnRSZXNwb25zZRIQCghyZXN0b3JlZBgBIAEoCBITCgZyZWFzb24YAiABKAlIAIgBARIXCg9mcm9udGllcl9zZWVkZWQYAyABKAgSJQodZnJvbnRpZXJfdmVyaWZpY2F0aW9uX3BlbmRpbmcYBCABKAgSFwoPYWdncmVnYXRlX2NvdW50GAUgASgEEisKBXNwYW5zGAYgASgLMhwubm9tb3Mua2VybmVsLnYxLk5vbW9zU3RydWN0EhMKBmN1cnNvchgHIAEoCUgBiAEBEhEKCXJlYWRfb25seRgIIAEoCBIXCg9sYXp5X3JlYWRfaW5kZXgYCSABKAhCCQoHX3JlYXNvbkIJCgdfY3Vyc29yIkoKF0NhcGFjaXR5UmVzZXJ2ZVJlc3BvbnNlEhcKD2FnZ3JlZ2F0ZV9jb3VudBgBIAEoBBIWCg5yZXNlcnZlZF9ieXRlcxgCIAEoBCL5AgoQUmVzdG9yZU1haW5TcGFucxIQCgh0b3RhbF91cxgBIAEoBBIaChJsaXZlX3JlZl9sb29rdXBfdXMYAiABKAQSGAoQdGFyZ2V0X2RlY29kZV91cxgDIAEoBBIkChxjdXN0b2R5X2NvbXBsZXRlbmVzc19yZWFkX3VzGAQgASgEEhkKEXF1YXJhbnRpbmVfcmVmX3VzGAUgASgEEiUKHWNoYWluX3NpZ25hdHVyZV9sYXdfcmVwbGF5X3VzGAYgASgEEhkKEXZlcmRpY3RfZGVjb2RlX3VzGAcgASgEEiMKG3Byb21vdGVfYW5kX2NsZWFudXBfcmVmc191cxgIIAEoBBIbChNmcm9udGllcl9yZWJ1aWxkX3VzGAkgASgEEhkKEWZyb250aWVyX3N0b3JlX3VzGAogASgEEj0KDHZlcmlmaWNhdGlvbhgLIAEoCzInLm5vbW9zLmtlcm5lbC52MS5WZXJpZnlDaGFpbkRpYWdub3N0aWNzIqQBChNSZXN0b3JlTWFpblJlc3BvbnNlEgwKBGhlYWQYASABKAkSEAoIdmVyaWZpZWQYAiABKAgSDAoEd2FsaxgDIAEoCRIwCgVzcGFucxgEIAEoCzIhLm5vbW9zLmtlcm5lbC52MS5SZXN0b3JlTWFpblNwYW5zEi0KB3ZlcmRpY3QYBSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QimwIKCk5vbW9zVmFsdWUSJQoEbnVsbBgBIAEoCzIVLm5vbW9zLmtlcm5lbC52MS5OdWxsSAASEQoHYm9vbGVhbhgCIAEoCEgAEhgKDnNpZ25lZF9pbnRlZ2VyGAMgASgSSAASGgoQdW5zaWduZWRfaW50ZWdlchgEIAEoBEgAEhgKDmZsb2F0aW5nX3BvaW50GAUgASgBSAASDgoEdGV4dBgGIAEoCUgAEg8KBWJ5dGVzGAcgASgMSAASKgoEbGlzdBgIIAEoCzIaLm5vbW9zLmtlcm5lbC52MS5Ob21vc0xpc3RIABIuCgZvYmplY3QYCSABKAsyHC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3RIAEIGCgRraW5kIgYKBE51bGwiOAoJTm9tb3NMaXN0EisKBnZhbHVlcxgBIAMoCzIbLm5vbW9zLmtlcm5lbC52MS5Ob21vc1ZhbHVlIpMBCgtOb21vc1N0cnVjdBI4CgZmaWVsZHMYASADKAsyKC5ub21vcy5rZXJuZWwudjEuTm9tb3NTdHJ1Y3QuRmllbGRzRW50cnkaSgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEioKBXZhbHVlGAIgASgLMhsubm9tb3Mua2VybmVsLnYxLk5vbW9zVmFsdWU6AjgBKukSChFLZXJuZWxSZWZ1c2FsQ29kZRIjCh9LRVJORUxfUkVGVVNBTF9DT0RFX1VOU1BFQ0lGSUVEEAASJQohS0VSTkVMX1JFRlVTQUxfQ09ERV9CQURfU0lHTkFUVVJFEAESJAogS0VSTkVMX1JFRlVTQUxfQ09ERV9VTkFVVEhPUklaRUQQAhInCiNLRVJORUxfUkVGVVNBTF9DT0RFX1BPTElDWV9ESVNBQkxFRBADEioKJktFUk5FTF9SRUZVU0FMX0NPREVfVU5DRVJUSUZJRURfUE9MSUNZEAQSIwofS0VSTkVMX1JFRlVTQUxfQ09ERV9SRUZFUkVOVElBTBAFEi8KK0tFUk5FTF9SRUZVU0FMX0NPREVfUE9JTlRfU1RBVEVfVU5BVkFJTEFCTEUQBhIkCiBLRVJORUxfUkVGVVNBTF9DT0RFX0NBUF9FWENFRURFRBAHEi0KKUtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQX0NPVU5UX1VOQVZBSUxBQkxFEAgSKQolS0VSTkVMX1JFRlVTQUxfQ09ERV9FVklERU5DRV9VTkJBQ0tFRBAJEiYKIktFUk5FTF9SRUZVU0FMX0NPREVfT1JQSEFOX1JFQ0VJUFQQChI2CjJLRVJORUxfUkVGVVNBTF9DT0RFX1JFQ0VJUFRfT05fVEVSTUlOQUxfT0JMSUdBVElPThALEiIKHktFUk5FTF9SRUZVU0FMX0NPREVfTk9UX01JTlRFRBAMEigKJEtFUk5FTF9SRUZVU0FMX0NPREVfRE9NQUlOX0xJRkVDWUNMRRANEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfVFlQRV9UQUdfTUlTTUFUQ0gQDhIsCihLRVJORUxfUkVGVVNBTF9DT0RFX1JFVElSRURfUkVBRF9TVVJGQUNFEA8SMAosS0VSTkVMX1JFRlVTQUxfQ09ERV9DUk9TU19XT1JLU1BBQ0VfREVDTElORUQQEBIrCidLRVJORUxfUkVGVVNBTF9DT0RFX0FHR1JFR0FURV9JTlZBUklBTlQQERIrCidLRVJORUxfUkVGVVNBTF9DT0RFX1dPUktTUEFDRV9JTlZBUklBTlQQEhIuCipLRVJORUxfUkVGVVNBTF9DT0RFX0NBUFRVUkVEX1JFQURfQ09ORkxJQ1QQExIyCi5LRVJORUxfUkVGVVNBTF9DT0RFX0NPTkZMSUNUX1NOQVBTSE9UX1JFUVVJUkVEEBQSNAowS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9VTkRFQ0xBUkVEEBUSMQotS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9JTlZBTElEEBYSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9DT05GTElDVF9TTkFQU0hPVF9TVEFMRRAXEjAKLEtFUk5FTF9SRUZVU0FMX0NPREVfQ0FQVFVSRURfUkVBRF9VTkRFQ0xBUkVEEBgSLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9DQVBUVVJFRF9SRUFEX1BSSVZBVEUQGRIwCixLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfVU5ERUNMQVJFRBAaEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNURURfUkVBRF9VTlRSVVNURURfS0VZEBsSNgoyS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1VOVFJVU1RFRF9TT1VSQ0UQHBIsCihLRVJORUxfUkVGVVNBTF9DT0RFX0FUVEVTVEVEX1JFQURfRk9SR0VEEB0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX1NUQUxFEB4SLgoqS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX09WRVJTSVpFEB8SNwozS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RFRF9SRUFEX0RJU0hPTk9SRURfU09VUkNFECASNQoxS0VSTkVMX1JFRlVTQUxfQ09ERV9FUVVJVk9DQVRJT05fRVZJREVOQ0VfSU5WQUxJRBAhEjMKL0tFUk5FTF9SRUZVU0FMX0NPREVfQVRURVNUQVRJT05fUkVDRUlQVF9JTlZBTElEECISKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfUk9TVEVSX01JU01BVENIECMSLworS0VSTkVMX1JFRlVTQUxfQ09ERV9LRVlfRVBPQ0hfTk9UX01PTk9UT05JQxAkEikKJUtFUk5FTF9SRUZVU0FMX0NPREVfV1JJVEVfRVBPQ0hfU1RBTEUQJRItCilLRVJORUxfUkVGVVNBTF9DT0RFX0VOVkVMT1BFX1NJRF9NSVNNQVRDSBAmEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfUkVWT0tFRF9NRU1CRVJfUkVTVVJSRUNURUQQJxIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX0ZPUkdFRF9QUklOQ0lQQUwQKBIoCiRLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX0tFWV9BTkNIT1IQKRImCiJLRVJORUxfUkVGVVNBTF9DT0RFX09XTkVEX1JFQ09WRVJZECoSLAooS0VSTkVMX1JFRlVTQUxfQ09ERV9TVVJGQUNFRF9CQVNJU19BSEVBRBArEjIKLktFUk5FTF9SRUZVU0FMX0NPREVfU0lHTkVSX0VQT0NIX09VVF9PRl9XSU5ET1cQLBImCiJLRVJORUxfUkVGVVNBTF9DT0RFX0VWT0xWRV9SRUZVU0VEEC0SKwonS0VSTkVMX1JFRlVTQUxfQ09ERV9BVFRFU1RBVElPTl9JTlZBTElEEC4SLQopS0VSTkVMX1JFRlVTQUxfQ09ERV9QQVJFTlRfRElEX05PVF9BVFRFU1QQLxIpCiVLRVJORUxfUkVGVVNBTF9DT0RFX0NFUlRfQ0hBSU5fQlJPS0VOEDASKgomS0VSTkVMX1JFRlVTQUxfQ09ERV9OT1RfUk9PVEVEX0FUX1JPT1QQMRIqCiZLRVJORUxfUkVGVVNBTF9DT0RFX0RFTEVHQVRJT05fSU5WQUxJRBAyEiUKIUtFUk5FTF9SRUZVU0FMX0NPREVfUExBTl9SRUpFQ1RFRBAzKooBCg9WZXJpZnlDaGFpbldhbGsSIQodVkVSSUZZX0NIQUlOX1dBTEtfVU5TUEVDSUZJRUQQABIaChZWRVJJRllfQ0hBSU5fV0FMS19GVUxMEAESHAoYVkVSSUZZX0NIQUlOX1dBTEtfU1VGRklYEAISGgoWVkVSSUZZX0NIQUlOX1dBTEtfTUVNTxADKoUMCg5RdWVyeU9wZXJhdGlvbhIfChtRVUVSWV9PUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhRVUVSWV9PUEVSQVRJT05fRVhUUkVNVU0QARIlCiFRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVFMQAhIsCihRVUVSWV9PUEVSQVRJT05fUEVORElOR19DT05GTElDVF9TVU1NQVJZEAMSIAocUVVFUllfT1BFUkFUSU9OX1JFQURfUE9TVFVSRRAEEh8KG1FVRVJZX09QRVJBVElPTl9DVVJSRU5UX0xBVxAFEiMKH1FVRVJZX09QRVJBVElPTl9JTlRFUkZBQ0VfT0ZGRVIQBhInCiNRVUVSWV9PUEVSQVRJT05fUkVMQVRJT05fR0FURV9PRkZFUhAHEh0KGVFVRVJZX09QRVJBVElPTl9TQ0VORV9MQVcQCBIhCh1RVUVSWV9PUEVSQVRJT05fSU5TVEFMTEVEX0xBVxAJEhwKGFFVRVJZX09QRVJBVElPTl9ERVNDUklCRRAKEiAKHFFVRVJZX09QRVJBVElPTl9LRVJORUxfU1RBTVAQCxIjCh9RVUVSWV9PUEVSQVRJT05fREVWRUxPUEVSX1NQQU5TEAwSKQolUVVFUllfT1BFUkFUSU9OX0RFQ0xBUkVEX0NBUEFCSUxJVElFUxANEh0KGVFVRVJZX09QRVJBVElPTl9SRUFESU5FU1MQDhIkCiBRVUVSWV9PUEVSQVRJT05fUFJPSkVDVElPTl9TVEFUUxAPEiUKIVFVRVJZX09QRVJBVElPTl9NRU1PUllfRFJPUF9QUk9CRRAQEhgKFFFVRVJZX09QRVJBVElPTl9XQVJNEBESGwoXUVVFUllfT1BFUkFUSU9OX1JFRlJFU0gQEhIgChxRVUVSWV9PUEVSQVRJT05fVkVSSUZZX0NIQUlOEBMSJQohUVVFUllfT1BFUkFUSU9OX0hJU1RPUllfUFJFRkxJR0hUEBQSGQoVUVVFUllfT1BFUkFUSU9OX1JPVVRFEBUSGAoUUVVFUllfT1BFUkFUSU9OX01JTlQQFhIhCh1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX0tFWUdFThAXEiUKIVFVRVJZX09QRVJBVElPTl9DUllQVE9fU0VBTF9GSUVMRBAYEiwKKFFVRVJZX09QRVJBVElPTl9DUllQVE9fQkxJTkRfSU5ERVhfVE9LRU4QGRIqCiZRVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1NDT1BFX0tFWRAaEi8KK1FVRVJZX09QRVJBVElPTl9DUllQVE9fT1dORURfREVWSUNFX1JFUVVFU1QQGxIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfQVBQUk9WQUwQHBIxCi1RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX09XTkVEX1BSRVBBUkVfUkVDT1ZFUlkQHRIjCh9RVUVSWV9PUEVSQVRJT05fQ1JZUFRPX1dSQVBfS0VZEB4SJQohUVVFUllfT1BFUkFUSU9OX0NSWVBUT19VTldSQVBfS0VZEB8SIQodUVVFUllfT1BFUkFUSU9OX0FVVEhPUl9LRVlHRU4QIBIkCiBRVUVSWV9PUEVSQVRJT05fQVRURVNUQVRJT05fU0lHThAhEiAKHFFVRVJZX09QRVJBVElPTl9SRUNFSVBUX1BBVEgQIhIdChlRVUVSWV9PUEVSQVRJT05fQ0VSVF9TSUdOECMSJQohUVVFUllfT1BFUkFUSU9OX0JJUlRIX1RSVVNUX1NUQVRFECQSIQodUVVFUllfT1BFUkFUSU9OX0VSQV9DRVJUX1NJR04QJRIoCiRRVUVSWV9PUEVSQVRJT05fREVMRUdBVElPTl9DRVJUX1NJR04QJhIpCiVRVUVSWV9PUEVSQVRJT05fQ0FOT05JQ0FMSVpFX0ZST05USUVSECcSKwonUVVFUllfT1BFUkFUSU9OX0NBTk9OSUNBTElaRV9QUk9KRUNUSU9OECgqbAoTS2VybmVsTGF3Q2FwYWJpbGl0eRIlCiFLRVJORUxfTEFXX0NBUEFCSUxJVFlfVU5TUEVDSUZJRUQQABIuCipLRVJORUxfTEFXX0NBUEFCSUxJVFlfU1RBR0VfWkVST19CT09UU1RSQVAQASqoAQoaSW50ZW50VHJhbnNwb3J0UmVxdWlyZW1lbnQSLAooSU5URU5UX1RSQU5TUE9SVF9SRVFVSVJFTUVOVF9VTlNQRUNJRklFRBAAEi4KKklOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfU0VBTEVEX0NIQU5HRRABEiwKKElOVEVOVF9UUkFOU1BPUlRfUkVRVUlSRU1FTlRfQ09NTUlUX1RSRUUQAiqJAQoVTGlmZWN5Y2xlSW5zdGFsbFBoYXNlEicKI0xJRkVDWUNMRV9JTlNUQUxMX1BIQVNFX1VOU1BFQ0lGSUVEEAASIgoeTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfQUNUSVZFEAESIwofTElGRUNZQ0xFX0lOU1RBTExfUEhBU0VfUEVORElORxACMlkKEk5vbW9zS2VybmVsU2VydmljZRJDCgRDYWxsEhwubm9tb3Mua2VybmVsLnYxLkNhbGxSZXF1ZXN0Gh0ubm9tb3Mua2VybmVsLnYxLkNhbGxSZXNwb25zZWIGcHJvdG8z");
|
|
11444
11444
|
CallRequestSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 0);
|
|
11445
11445
|
CallResponseSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 1);
|
|
11446
11446
|
WorkspaceTargetSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 19);
|
|
@@ -11487,8 +11487,8 @@ var init_kernel_pb2 = __esm({
|
|
|
11487
11487
|
CheckpointImportRequestSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 76);
|
|
11488
11488
|
CapacityReserveRequestSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 77);
|
|
11489
11489
|
RestoreMainRequestSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 78);
|
|
11490
|
-
NomosValueSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2,
|
|
11491
|
-
NomosStructSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2,
|
|
11490
|
+
NomosValueSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 103);
|
|
11491
|
+
NomosStructSchema2 = /* @__PURE__ */ messageDesc2(file_nomos_kernel_v1_kernel2, 106);
|
|
11492
11492
|
QueryOperationSchema2 = /* @__PURE__ */ enumDesc2(file_nomos_kernel_v1_kernel2, 2);
|
|
11493
11493
|
QueryOperation2 = /* @__PURE__ */ tsEnum2(QueryOperationSchema2);
|
|
11494
11494
|
KernelLawCapabilitySchema2 = /* @__PURE__ */ enumDesc2(file_nomos_kernel_v1_kernel2, 3);
|
|
@@ -11546,6 +11546,7 @@ __export(engine_exports, {
|
|
|
11546
11546
|
describe: () => describe,
|
|
11547
11547
|
directiveRoutes: () => directiveRoutes,
|
|
11548
11548
|
emitOutbox: () => emitOutbox,
|
|
11549
|
+
ensureWorkspaceResidency: () => ensureWorkspaceResidency,
|
|
11549
11550
|
eraCertSign: () => eraCertSign,
|
|
11550
11551
|
evalCanonicalPred: () => evalCanonicalPred,
|
|
11551
11552
|
evolveDryRun: () => evolveDryRun,
|
|
@@ -11555,12 +11556,14 @@ __export(engine_exports, {
|
|
|
11555
11556
|
flushDeferredProjections: () => flushDeferredProjections,
|
|
11556
11557
|
gitdirOf: () => gitdirOf,
|
|
11557
11558
|
globalAggregates: () => globalAggregates,
|
|
11559
|
+
hasWorkspaceResidency: () => hasWorkspaceResidency,
|
|
11558
11560
|
historyPreflight: () => historyPreflight,
|
|
11559
11561
|
historyRestorePreflight: () => historyRestorePreflight,
|
|
11560
11562
|
importCheckpoint: () => importCheckpoint,
|
|
11561
11563
|
importCustodyObjects: () => importCustodyObjects,
|
|
11562
11564
|
ingestPackAsCustody: () => ingestPackAsCustody,
|
|
11563
11565
|
installedLaw: () => installedLaw,
|
|
11566
|
+
intentOfferResidencies: () => intentOfferResidencies,
|
|
11564
11567
|
isWarranted: () => isWarranted,
|
|
11565
11568
|
kernelStamp: () => kernelStamp,
|
|
11566
11569
|
kgit: () => kgit,
|
|
@@ -12697,6 +12700,49 @@ async function admitIntentOffers(eng, ws, ledger, offers, { receiptFence = null,
|
|
|
12697
12700
|
const bornPacked = born.length ? packBornChildren(eng, born) : born;
|
|
12698
12701
|
return { sessions: [...sessions.values()].map((s) => ({ ...s, ...s.skipped.length ? {} : { skipped: void 0 } })), main: head, deadLetters, timings, summary: summary ?? null, born: bornPacked, birthOutcomes, ...resultPackB64 ? { resultPackB64, resultBase: clientBase } : {} };
|
|
12699
12702
|
}
|
|
12703
|
+
function intentOfferResidencies(eng, offers) {
|
|
12704
|
+
const unique = /* @__PURE__ */ new Map();
|
|
12705
|
+
for (const offer of Array.isArray(offers) ? offers : []) {
|
|
12706
|
+
let blob = offer?.blob instanceof Uint8Array ? offer.blob : null;
|
|
12707
|
+
if (!blob && typeof offer?.changeB64 === "string") {
|
|
12708
|
+
blob = Uint8Array.from(atob(offer.changeB64), (c) => c.charCodeAt(0));
|
|
12709
|
+
}
|
|
12710
|
+
if (!blob?.byteLength) continue;
|
|
12711
|
+
const inspected = kgit.inspectChange(eng, blob);
|
|
12712
|
+
for (const residency of inspected.requiredResidencies || []) {
|
|
12713
|
+
if (!residency.workspace || !residency.sourceHead) continue;
|
|
12714
|
+
unique.set(`${residency.workspace}\0${residency.sourceHead}`, {
|
|
12715
|
+
workspace: residency.workspace,
|
|
12716
|
+
sourceHead: residency.sourceHead
|
|
12717
|
+
});
|
|
12718
|
+
}
|
|
12719
|
+
}
|
|
12720
|
+
return [...unique.values()];
|
|
12721
|
+
}
|
|
12722
|
+
function hasWorkspaceResidency(eng, workspace, sourceHead) {
|
|
12723
|
+
if (!eng.mounted.has(workspace)) return false;
|
|
12724
|
+
const gitdir = gitdirOf(workspace);
|
|
12725
|
+
const main2 = kgit.resolveRef(eng, gitdir, BRANCH2);
|
|
12726
|
+
if (!main2) return false;
|
|
12727
|
+
if (main2 === sourceHead) return true;
|
|
12728
|
+
try {
|
|
12729
|
+
kgit.intentsAbove(eng, gitdir, main2, sourceHead, 1);
|
|
12730
|
+
return true;
|
|
12731
|
+
} catch {
|
|
12732
|
+
return false;
|
|
12733
|
+
}
|
|
12734
|
+
}
|
|
12735
|
+
async function ensureWorkspaceResidency(eng, workspace, sourceHead, ledger) {
|
|
12736
|
+
if (hasWorkspaceResidency(eng, workspace, sourceHead)) return { workspace, sourceHead, reused: true };
|
|
12737
|
+
if (eng.mounted.has(workspace)) unmount(eng, workspace);
|
|
12738
|
+
const mounted = await mountWorkspace(eng, workspace, ledger);
|
|
12739
|
+
if (!mounted.restored || !hasWorkspaceResidency(eng, workspace, sourceHead)) {
|
|
12740
|
+
throw new Error(
|
|
12741
|
+
`workspace residency '${workspace}' does not contain required source head ${sourceHead}`
|
|
12742
|
+
);
|
|
12743
|
+
}
|
|
12744
|
+
return { workspace, sourceHead, reused: false };
|
|
12745
|
+
}
|
|
12700
12746
|
async function checkpointStateHash(eng, ws) {
|
|
12701
12747
|
const rows = query2(eng, ws, "aggregatesByType", JSON.stringify({ __type: "NomosSummarySubtotal" }));
|
|
12702
12748
|
const canon = rows.map((r) => {
|
|
@@ -12766,10 +12812,14 @@ function stageWorkspaceDir(eng, ws) {
|
|
|
12766
12812
|
dirOf(eng.preopen.dir.contents.get("ws")).contents.set(ws, new Directory2(wsContents));
|
|
12767
12813
|
}
|
|
12768
12814
|
async function mountWorkspace(eng, ws, ledger) {
|
|
12769
|
-
|
|
12815
|
+
const existing = eng.mounted.get(ws);
|
|
12816
|
+
if (existing && !existing.restoreError) return existing;
|
|
12817
|
+
if (existing) unmount(eng, ws);
|
|
12770
12818
|
stageWorkspaceDir(eng, ws);
|
|
12771
12819
|
const gitdir = gitdirOf(ws);
|
|
12772
12820
|
let restored = false, remoteMain = null, restoreError = null;
|
|
12821
|
+
let verificationVerdict = null;
|
|
12822
|
+
let requiredResidencies = [];
|
|
12773
12823
|
try {
|
|
12774
12824
|
await custodySkeleton(eng, gitdir);
|
|
12775
12825
|
remoteMain = await custodyFetch(eng, ws, ledger, { remoteRef: "refs/heads/main", writeRef: false });
|
|
@@ -12779,11 +12829,19 @@ async function mountWorkspace(eng, ws, ledger) {
|
|
|
12779
12829
|
throw new Error(`kernel refused restored main ${remoteMain}: ${JSON.stringify(mounted)}`);
|
|
12780
12830
|
}
|
|
12781
12831
|
restored = true;
|
|
12832
|
+
verificationVerdict = jsStruct2(mounted.verdict);
|
|
12782
12833
|
}
|
|
12783
12834
|
} catch (e) {
|
|
12784
12835
|
restoreError = String(e?.stack || e).split("\n").slice(0, 5).join(" | ");
|
|
12836
|
+
if (remoteMain) {
|
|
12837
|
+
try {
|
|
12838
|
+
const imported = kgit.intentsAbove(eng, gitdir, remoteMain);
|
|
12839
|
+
requiredResidencies = intentOfferResidencies(eng, imported);
|
|
12840
|
+
} catch {
|
|
12841
|
+
}
|
|
12842
|
+
}
|
|
12785
12843
|
}
|
|
12786
|
-
const m = { restored, remoteMain, restoreError };
|
|
12844
|
+
const m = { restored, remoteMain, restoreError, verificationVerdict, requiredResidencies };
|
|
12787
12845
|
eng.mounted.set(ws, m);
|
|
12788
12846
|
return m;
|
|
12789
12847
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githolon",
|
|
3
|
-
"version": "0.103.
|
|
3
|
+
"version": "0.103.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "githolon — the Nomos developer CLI: Rails-style generators for @githolon/dsl domains + the package compiler. Kernel-independent.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@bjorn3/browser_wasi_shim": "0.4.2",
|
|
32
32
|
"@bufbuild/protobuf": "^2.13.0",
|
|
33
|
-
"@githolon/dsl": "^0.103.
|
|
33
|
+
"@githolon/dsl": "^0.103.11",
|
|
34
34
|
"isomorphic-git": "^1.38.4",
|
|
35
35
|
"tsx": "^4.19.2"
|
|
36
36
|
},
|