@githolon/runtime 0.113.4 → 0.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/RUNTIME-SOURCES.sha256 +97 -71
  2. package/dist/application-reception.js +2 -2
  3. package/dist/nomos-native-runtime.js +5761 -1508
  4. package/dist/nomos-runner-web.js +347 -9
  5. package/dist/nomos-runner-worker.js +13372 -6047
  6. package/dist/nomos-runner.js +9861 -2904
  7. package/dist/remote-reception.cjs +23 -23
  8. package/dist/remote-reception.js +23 -23
  9. package/dist/typescript-application-desk.js +26 -27
  10. package/package.json +1 -1
  11. package/runner/node-entry.mjs +7678 -2860
  12. package/src/application_reception.ts +15 -0
  13. package/src/protocol/nomos/kernel/v1/kernel_pb.d.ts +612 -0
  14. package/src/protocol/nomos/kernel/v1/kernel_pb.js +354 -277
  15. package/src/protocol/nomos/runtime/v2/application_desk_pb.d.ts +8 -0
  16. package/src/protocol/nomos/runtime/v2/application_desk_pb.js +1 -1
  17. package/src/protocol/nomos/runtime/v2/correspondence_desk_pb.d.ts +1071 -147
  18. package/src/protocol/nomos/runtime/v2/correspondence_desk_pb.js +155 -22
  19. package/src/protocol/nomos/runtime/v2/model_adoption_desk_pb.d.ts +57 -2
  20. package/src/protocol/nomos/runtime/v2/model_adoption_desk_pb.js +10 -3
  21. package/src/protocol/nomos/runtime/v2/observability_desk_pb.d.ts +111 -2
  22. package/src/protocol/nomos/runtime/v2/observability_desk_pb.js +27 -12
  23. package/src/protocol/nomos/runtime/v2/receiving_group_desk_pb.d.ts +0 -29
  24. package/src/protocol/nomos/runtime/v2/receiving_group_desk_pb.js +6 -13
  25. package/src/protocol/nomos/runtime/v2/records_desk_pb.d.ts +10 -0
  26. package/src/protocol/nomos/runtime/v2/records_desk_pb.js +1 -1
  27. package/src/protocol/nomos/runtime/v2/residency_desk_pb.d.ts +19 -0
  28. package/src/protocol/nomos/runtime/v2/residency_desk_pb.js +1 -1
  29. package/src/protocol/nomos/runtime/v2/runtime_pb.d.ts +15 -1
  30. package/src/protocol/nomos/runtime/v2/runtime_pb.js +1 -1
  31. package/src/typescript_application_desk.public.d.ts +0 -1
@@ -13,7 +13,7 @@ import { file_nomos_runtime_v2_maintenance_desk } from "./maintenance_desk_pb.js
13
13
  * Describes the file nomos/runtime/v2/correspondence_desk.proto.
14
14
  */
15
15
  export const file_nomos_runtime_v2_correspondence_desk = /*@__PURE__*/
16
- fileDesc("Cipub21vcy9ydW50aW1lL3YyL2NvcnJlc3BvbmRlbmNlX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi0AIKFVNoYXJlV29ya3NwYWNlUmVxdWVzdBIPCgdzdWJqZWN0GAEgASgJEhAKCHJlbGF0aW9uGAIgASgJEhoKEmFzc2VydGVyX3ByaW5jaXBhbBgDIAEoCRIOCgZvYmplY3QYBCABKAkSHAoPaG9tZV9sYXdfc2hhMjU2GAUgASgJSACIAQESGgoNYXV0aG9yX3NlY3JldBgGIAEoDEgBiAEBEh8KEmFzc2VydGVyX3dvcmtzcGFjZRgHIAEoCUgCiAEBEhgKC2F0dGVzdGVkX2F0GAggASgJSAOIAQESFwoKYXV0aF90b2tlbhgJIAEoDEgEiAEBQhIKEF9ob21lX2xhd19zaGEyNTZCEAoOX2F1dGhvcl9zZWNyZXRCFQoTX2Fzc2VydGVyX3dvcmtzcGFjZUIOCgxfYXR0ZXN0ZWRfYXRCDQoLX2F1dGhfdG9rZW4ikgEKFFNoYXJlV29ya3NwYWNlUmVzdWx0EjgKB291dGNvbWUYASABKA4yJy5ub21vcy5ydW50aW1lLnYyLlNoYXJlV29ya3NwYWNlT3V0Y29tZRITCgZzdGF0dXMYAiABKA1IAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IKCghfbWVzc2FnZSLKAQodUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgprZXlfc2hhMjU2GAMgASgJSACIAQESFwoKcHVibGljX2tleRgEIAEoDEgBiAEBEhcKCmF1dGhfdG9rZW4YBSABKAxIAogBARIOCgZyZW1vdGUYBiABKAhCDQoLX2tleV9zaGEyNTZCDQoLX3B1YmxpY19rZXlCDQoLX2F1dGhfdG9rZW4i1AEKFlBhcmVudFNpZ25lckVucm9sbG1lbnQSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRISCgprZXlfc2hhMjU2GAMgASgJEg4KBm9iamVjdBgEIAEoCRIQCghyZWxhdGlvbhgFIAEoCRIQCghlbnJvbGxlZBgGIAEoCBIPCgdyZXZva2VkGAcgASgIEhkKDHZlcmlmaWVkX3ZpYRgIIAEoCUgAiAEBEhIKCmNoZWNrZWRfYXQYCSABKAlCDwoNX3ZlcmlmaWVkX3ZpYSLcAgojRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgpwdWJsaWNfa2V5GAMgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgEIAEoDEgBiAEBEhMKBmRvbWFpbhgFIAEoCUgCiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgDiAEBEhcKCmF1dGhfdG9rZW4YByABKAxIBIgBARIVCghpZF90b2tlbhgIIAEoDEgFiAEBEhkKDHZlcmlmaWVkX3ZpYRgJIAEoCUgGiAEBQg0KC19wdWJsaWNfa2V5QhAKDl9hdXRob3Jfc2VjcmV0QgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZUINCgtfYXV0aF90b2tlbkILCglfaWRfdG9rZW5CDwoNX3ZlcmlmaWVkX3ZpYSLZAQoiRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlc3VsdBIOCgZwYXJlbnQYASABKAkSEQoJcHJpbmNpcGFsGAIgASgJEhIKCmtleV9zaGEyNTYYAyABKAkSEAoIZW5yb2xsZWQYBCABKAgSEAoIcmVwYWlyZWQYBSABKAgSEwoGZG9tYWluGAYgASgJSACIAQESFgoJZGlyZWN0aXZlGAcgASgJSAGIAQESEgoKY2hlY2tlZF9hdBgIIAEoCUIJCgdfZG9tYWluQgwKCl9kaXJlY3RpdmUiHQobVmVyaWZ5V29ya3NwYWNlQ2hhaW5SZXF1ZXN0IrsBChpWZXJpZnlXb3Jrc3BhY2VDaGFpblJlc3VsdBINCgV2YWxpZBgBIAEoCBISCgVlcnJvchgCIAEoCUgAiAEBEhgKC3BsYW5zX3JlcnVuGAMgASgESAGIAQESOgoHaGlzdG9yeRgEIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuVmVyaWZ5Q2hhaW5IaXN0b3J5SAKIAQFCCAoGX2Vycm9yQg4KDF9wbGFuc19yZXJ1bkIKCghfaGlzdG9yeSKHAQoSVmVyaWZ5Q2hhaW5IaXN0b3J5Eg0KBXN0YXRlGAEgASgJEg4KBmFuY2hvchgCIAEoCRIQCghib3VuZGFyeRgDIAMoCRIMCgR3YWxrGAQgASgJEh0KEHZlcmlmaWVkX2NvbW1pdHMYBSABKARIAIgBAUITChFfdmVyaWZpZWRfY29tbWl0cyJ/ChRTeW5jV29ya3NwYWNlUmVxdWVzdBINCgVhZG1pdBgCIAEoCBIRCgl3b3Jrc3BhY2UYAyABKAkSHwoScmVwbGFjZV9sb2NhbF9oZWFkGAQgASgJSACIAQFCFQoTX3JlcGxhY2VfbG9jYWxfaGVhZEoECAEQAlIHc2Vzc2lvbiKqCQoVU3luY1dvcmtzcGFjZVJlc3BvbnNlEhEKCXdvcmtzcGFjZRgBIAEoCRIaCg1wcmV2aW91c19oZWFkGAIgASgJSACIAQESGQoMY3VycmVudF9oZWFkGAMgASgJSAGIAQESEAoIYWRtaXR0ZWQYBCABKAQSDwoHcmVmdXNlZBgFIAEoBBIQCghkZWZlcnJlZBgGIAEoBBISCgpsb2NhbF9vbmx5GAcgASgIEg4KBnB1bGxlZBgIIAEoCBIQCghkaXZlcmdlZBgJIAEoCBIaChJyZWNvbm5lY3RfcmVxdWlyZWQYCiABKAgSEwoLc3RpbGxfYWhlYWQYCyABKAgSDwoHb2ZmbGluZRgMIAEoCBITCgtwdXNoX2ZhaWxlZBgNIAEoCBIdChVkaXJlY3Rfb2ZmZXJfZGVmZXJyZWQYDiABKAgSNQoOYmlydGhfb3V0Y29tZXMYDyADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEhsKE2FkbWl0dGVkX2ludGVudF9pZHMYECADKAkSHAoUY29udmVyZ2VkX2ludGVudF9pZHMYESADKAkSQgoKcHVzaF9lcnJvchgSIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVRyYW5zcG9ydEZhaWx1cmVIAogBARJHCg9kaXNjb3ZlcnlfZXJyb3IYEyABKAsyKS5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVUcmFuc3BvcnRGYWlsdXJlSAOIAQESMwoHdGltaW5ncxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuU3luY1BoYXNlVGltaW5ncxJBCg1vZmZlcl9yZWNlaXB0GBUgASgLMiUubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJSZWNlaXB0SASIAQESOQoOcmVtb3RlX3JlZnVzYWwYFiABKAsyHC5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzYWxIBYgBARJHChRjdXN0b2R5X2Rpc2FncmVlbWVudBgXIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5RGlzYWdyZWVtZW50SAaIAQESGAoQY3VzdG9keV9yZXBsYWNlZBgYIAEoCBIVCg1tYWluX2FkdmFuY2VkGBkgASgIEkAKD3JlYm9ybl9yZW1vdGVseRgaIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUmViaXJ0aEgHiAEBEkcKFHByZXNlcnZlZF9sb2NhbF9jb3B5GBsgASgLMiQubm9tb3MucnVudGltZS52Mi5QcmVzZXJ2ZWRMb2NhbENvcHlICIgBAUIQCg5fcHJldmlvdXNfaGVhZEIPCg1fY3VycmVudF9oZWFkQg0KC19wdXNoX2Vycm9yQhIKEF9kaXNjb3ZlcnlfZXJyb3JCEAoOX29mZmVyX3JlY2VpcHRCEQoPX3JlbW90ZV9yZWZ1c2FsQhcKFV9jdXN0b2R5X2Rpc2FncmVlbWVudEISChBfcmVib3JuX3JlbW90ZWx5QhcKFV9wcmVzZXJ2ZWRfbG9jYWxfY29weSLoAQoTQ3VzdG9keU9mZmVyUmVjZWlwdBISCgpyZXF1ZXN0X2lkGAEgASgJEkMKCWFkbWlzc2lvbhgKIAEoCzIuLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keU9mZmVyQWRtaXNzaW9uUmVjZWlwdEgAEjgKB2ZhaWx1cmUYCyABKAsyJS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPZmZlckZhaWx1cmVIABIzCgdibG9ja2VkGAwgASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lQmxvY2tlZEgAQgkKB291dGNvbWUihgIKHEN1c3RvZHlPZmZlckFkbWlzc2lvblJlY2VpcHQSDAoEbWFpbhgBIAEoCRIYCgtzZWFsZWRfbWFpbhgCIAEoCUgAiAEBEjsKCHNlc3Npb25zGAMgAygLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkFkbWlzc2lvbhI1Cg5iaXJ0aF9vdXRjb21lcxgEIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUSOgoHdGltaW5ncxgFIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvblRpbWluZ3NCDgoMX3NlYWxlZF9tYWluIrMBChNDdXN0b2R5T2ZmZXJGYWlsdXJlEgwKBGNvZGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCRIRCgljb21wb25lbnQYAyABKAkSFgoJd29ya3NwYWNlGAQgASgJSACIAQESEwoGZG9tYWluGAUgASgJSAGIAQESFgoJZGlyZWN0aXZlGAYgASgJSAKIAQFCDAoKX3dvcmtzcGFjZUIJCgdfZG9tYWluQgwKCl9kaXJlY3RpdmUiXQoXUnVudGltZVRyYW5zcG9ydEZhaWx1cmUSEAoIZW5kcG9pbnQYASABKAkSDgoGc3RhdHVzGAIgASgREg8KB3JlZnVzZWQYAyABKAgSDwoHbWVzc2FnZRgEIAEoCSLFAQoQU3luY1BoYXNlVGltaW5ncxITCgtwdXNoX21pbGxpcxgBIAEoARIUCgxhZG1pdF9taWxsaXMYAiABKAESFwoPcHJlZmV0Y2hfbWlsbGlzGAMgASgBEhcKD2NvbnZlcmdlX21pbGxpcxgEIAEoARISCgpwdXNoX2J5dGVzGAUgASgEEhUKDXNlcnZlcl9taWxsaXMYBiABKAESFQoNb2ZmZXJfaW5fcHVzaBgHIAEoCBISCgpwdWxsX2J5dGVzGAggASgEIjQKH1JlZnJlc2hSZXBsaWNhQ3JlZGVudGlhbFJlcXVlc3QSEQoJd29ya3NwYWNlGAEgASgJIosBCgxHaXRSZWFkTGVhc2USFgoOZm9ybWF0X3ZlcnNpb24YASABKA0SEQoJd29ya3NwYWNlGAIgASgJEg4KBnJlbW90ZRgDIAEoCRINCgV0b2tlbhgEIAEoCRITCgt0dGxfc2Vjb25kcxgFIAEoDRIcChRleHBpcmVzX3VuaXhfc2Vjb25kcxgGIAEoBCJuCg9HaXRGZXRjaFJlcXVlc3QSDwoHc2Vzc2lvbhgBIAEoCRItCgVsZWFzZRgCIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuR2l0UmVhZExlYXNlEgwKBHdhbnQYAyABKAkSDQoFaGF2ZXMYBCADKAkiagoOR2l0RmV0Y2hSZXN1bHQSHQoQc3RhZ2VkX3BhY2tfZmlsZRgBIAEoCUgAiAEBEgwKBGhlYWQYAiABKAkSFgoOcmVjZWl2ZWRfYnl0ZXMYAyABKARCEwoRX3N0YWdlZF9wYWNrX2ZpbGUitgEKHkRlbGl2ZXJXb3Jrc3BhY2VFZmZlY3RzUmVxdWVzdBIWCg5zb3VyY2Vfc2Vzc2lvbhgBIAEoCRIYChB0YXJnZXRfd29ya3NwYWNlGAIgASgJEhoKDXNvdXJjZV9jb21taXQYAyABKAlIAIgBARIeChFzb3VyY2Vfb2ZmZXJfcGF0aBgEIAEoCUgBiAEBQhAKDl9zb3VyY2VfY29tbWl0QhQKEl9zb3VyY2Vfb2ZmZXJfcGF0aCJRChxEZWxpdmVySHR0cE9ibGlnYXRpb25SZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJEhkKEXNvdXJjZV9vZmZlcl9wYXRoGAIgASgJIrsBChdIdHRwT2JsaWdhdGlvbkRlbGl2ZXJlZBIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJEhEKCWF0dGVtcHRlZBgCIAEoCBIRCglkZWxpdmVyZWQYAyABKAgSEQoJcmV0cnlhYmxlGAQgASgIEhsKE3ByZXBhcmF0aW9uX3BlbmRpbmcYBSABKAgSHAoPcmV0cnlfYXRfbWlsbGlzGAYgASgESACIAQFCEgoQX3JldHJ5X2F0X21pbGxpcyI2ChxSZWNvdmVyQ29ycmVzcG9uZGVuY2VSZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJIqwBChdDb3JyZXNwb25kZW5jZVJlY292ZXJlZBIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJEg8KB3BlbmRpbmcYAiABKAgSIAoTbmV4dF93YWtlX2F0X21pbGxpcxgDIAEoBEgAiAEBEhoKDXJldGFpbmVkX2hlYWQYBCABKAlIAYgBAUIWChRfbmV4dF93YWtlX2F0X21pbGxpc0IQCg5fcmV0YWluZWRfaGVhZCL2AgoZV29ya3NwYWNlRWZmZWN0c0RlbGl2ZXJlZBIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSEQoJYXR0ZW1wdGVkGAMgASgEEhEKCWRlbGl2ZXJlZBgEIAEoBBIPCgdyZWZ1c2VkGAUgASgEEhEKCXJldHJ5YWJsZRgGIAEoBBIcCg9yZXRyeV9hdF9taWxsaXMYByABKARIAIgBARIbChNwcmVwYXJhdGlvbl9wZW5kaW5nGAggASgIEhgKC3RhcmdldF9oZWFkGAkgASgJSAGIAQESHwoXc291cmNlX291dGNvbWVfcmVjb3JkZWQYCiABKAgSQQoMcmV0cnlfcmVhc29uGAsgASgLMisubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZVJldHJ5UmVhc29uQhIKEF9yZXRyeV9hdF9taWxsaXNCDgoMX3RhcmdldF9oZWFkIjsKGUNvcnJlc3BvbmRlbmNlUmV0cnlSZWFzb24SDgoGcmVhc29uGAEgASgJEg4KBmRldGFpbBgCIAEoCSKsAwobUmVtb3RlR2VuZXJhdGVkT2ZmZXJSZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSDQoFYWN0b3IYAyABKAkSFQoNYXV0aG9yX3NlY3JldBgEIAEoDBISCgphdXRoX3Rva2VuGAUgASgMEi4KBGNhbGwYBiABKAsyHi5ub21vcy5rZXJuZWwudjEuRGlyZWN0aXZlQ2FsbEgAEkAKD21vZGVsX2xpZmVjeWNsZRgJIAEoCzIlLm5vbW9zLmtlcm5lbC52MS5Nb2RlbExpZmVjeWNsZUludGVudEgAEkEKEWJpcnRoX2NlcnRpZmljYXRlGAcgASgLMiEubm9tb3Mua2VybmVsLnYxLkJpcnRoQ2VydGlmaWNhdGVIAYgBARIhChRyZXF1aXJlZF90YXJnZXRfaGVhZBgIIAEoCUgCiAEBEhAKCGxhd191c2R6GAogASgMQggKBmludGVudEIUChJfYmlydGhfY2VydGlmaWNhdGVCFwoVX3JlcXVpcmVkX3RhcmdldF9oZWFkIj8KHFJlbW90ZUdlbmVyYXRlZE9mZmVyQWNjZXB0ZWQSEQoJd29ya3NwYWNlGAEgASgJEgwKBGhlYWQYAiABKAkiygIKDlBlZXJIdHRwRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIwCgZtZXRob2QYAiABKA4yIC5ub21vcy5ydW50aW1lLnYyLlBlZXJIdHRwTWV0aG9kEgsKA3VybBgDIAEoCRIZCgxjb250ZW50X3R5cGUYBCABKAlIAIgBARIMCgRib2R5GAUgASgMEhkKDGJlYXJlcl90b2tlbhgGIAEoDEgBiAEBEhMKBmFjY2VwdBgHIAEoCUgCiAEBEhsKDnRpbWVvdXRfbWlsbGlzGAggASgNSAOIAQESHAoPaWRlbXBvdGVuY3lfa2V5GAkgASgJSASIAQFCDwoNX2NvbnRlbnRfdHlwZUIPCg1fYmVhcmVyX3Rva2VuQgkKB19hY2NlcHRCEQoPX3RpbWVvdXRfbWlsbGlzQhIKEF9pZGVtcG90ZW5jeV9rZXkiXAoQUGVlckh0dHBSZXNwb25zZRIOCgZzdGF0dXMYASABKA0SGQoMY29udGVudF90eXBlGAIgASgJSACIAQESDAoEYm9keRgDIAEoDEIPCg1fY29udGVudF90eXBlIl8KEVBlZXJFZmZlY3RGYWlsdXJlEjkKBnJlYXNvbhgBIAEoDjIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckVmZmVjdEZhaWx1cmVSZWFzb24SDwoHbWVzc2FnZRgCIAEoCSKZCAoRUGVlckVmZmVjdFJlY2VpcHQSEQoJZWZmZWN0X2lkGAEgASgJEjYKCHJlc3BvbnNlGAogASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVySHR0cFJlc3BvbnNlSAASNgoHZmFpbHVyZRgLIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlckVmZmVjdEZhaWx1cmVIABI7CglnaXRfZmV0Y2gYDCABKAsyJi5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRGZXRjaFJlc3BvbnNlSAASOQoIZ2l0X3B1c2gYDSABKAsyJS5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRQdXNoUmVzcG9uc2VIABJNChZib3JuX2N1c3RvZHlfcGVyc2lzdGVkGA4gASgLMisubm9tb3MucnVudGltZS52Mi5QZXJzaXN0Qm9ybkN1c3RvZHlSZWNlaXB0SAASUAoUd29ya3NwYWNlX2Rpc2NvdmVyZWQYDyABKAsyMC5ub21vcy5kaXNjb3ZlcnkudjEuRGlzY292ZXJlZFdvcmtzcGFjZVBsYWNlbWVudEgAEkIKDWxvY2FsX2N1c3RvZHkYECABKAsyKS5ub21vcy5ydW50aW1lLnYyLlBlZXJMb2NhbEN1c3RvZHlSZWNlaXB0SAASPwoRZnJvbnRpZXJfcmV0YWluZWQYESABKAsyIi5ub21vcy5ydW50aW1lLnYyLkZyb250aWVyUmV0YWluZWRIABIsCgV3b2tlbhgSIAEoCzIbLm5vbW9zLnJ1bnRpbWUudjIuUGVlcldva2VuSAASSQoUY3JlZGVudGlhbF9yZWZyZXNoZWQYEyABKAsyKS5ub21vcy5ydW50aW1lLnYyLlBlZXJDcmVkZW50aWFsUmVmcmVzaGVkSAASPwoPZGV2aWNlX2lkZW50aXR5GBQgASgLMiQubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlIABI3CgtsYXdfcGFja2FnZRgVIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxhd1BhY2thZ2VIABJOChNoaXN0b3J5X2FjcXVpc2l0aW9uGBYgASgLMi8ubm9tb3MucnVudGltZS52Mi5QZWVySGlzdG9yeUFjcXVpc2l0aW9uUmVjZWlwdEgAEkEKEGNvbnNvbGVfZW5yb2xsZWQYFyABKAsyJS5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xsZWRIABJSChljb25zb2xlX2Vucm9sbWVudF9yZWZ1c2VkGBggASgLMi0ubm9tb3MucnVudGltZS52Mi5QZWVyQ29uc29sZUVucm9sbWVudFJlZnVzZWRIAEIJCgdvdXRjb21lIucBChJQZWVyR2l0RmV0Y2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USEQoEd2FudBgDIAEoCUgAiAEBEg0KBWhhdmVzGAQgAygJEhEKCXJlZmVyZW5jZRgFIAEoCRISCgVkZXB0aBgGIAEoDUgBiAEBEjMKCWFsb25nc2lkZRgHIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3RCBwoFX3dhbnRCCAoGX2RlcHRoIpIBChRQZWVyR2l0RmV0Y2hSZXNwb25zZRIMCgRwYWNrGAEgASgMEgwKBGhlYWQYAiABKAkSFgoOcmVjZWl2ZWRfYnl0ZXMYAyABKAQSDwoHc2hhbGxvdxgEIAMoCRI1CglhbG9uZ3NpZGUYBSABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJIdHRwUmVzcG9uc2UimAEKEVBlZXJHaXRQdXNoRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIOCgZyZW1vdGUYAiABKAkSGQoMYmVhcmVyX3Rva2VuGAMgASgMSACIAQESGAoQc2Vzc2lvbl9pZGVudGl0eRgEIAEoCRIMCgRoZWFkGAUgASgJEgwKBHBhY2sYBiABKAxCDwoNX2JlYXJlcl90b2tlbiJYChNQZWVyR2l0UHVzaFJlc3BvbnNlEhEKCXJlZmVyZW5jZRgBIAEoCRIMCgRoZWFkGAIgASgJEhIKCnNlbnRfYnl0ZXMYAyABKAQSDAoEbm9vcBgEIAEoCCItCgtSZXRhaW5lZFJlZhIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIocBChRSZXRhaW5Gcm9udGllckVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEg4KBmJyYW5jaBgDIAEoCRIMCgRoZWFkGAQgASgJEisKBHJlZnMYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmIqIBChBGcm9udGllclJldGFpbmVkEhEKCXdvcmtzcGFjZRgBIAEoCRIOCgZicmFuY2gYAiABKAkSDAoEaGVhZBgDIAEoCRIQCghyZXRhaW5lZBgEIAEoCBITCgZkZXRhaWwYBSABKAlIAIgBARIrCgRyZWZzGAYgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZkIJCgdfZGV0YWlsIl4KGFBlcnNpc3RCb3JuQ3VzdG9keUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSLwoIY2hpbGRyZW4YAiADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5IpcBChRQZXJzaXN0ZWRCb3JuQ3VzdG9keRIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCRIRCglwZXJzaXN0ZWQYAyABKAgSEwoGZGV0YWlsGAQgASgJSACIAQESKwoEcmVmcxgFIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWZCCQoHX2RldGFpbCJVChlQZXJzaXN0Qm9ybkN1c3RvZHlSZWNlaXB0EjgKCGNoaWxkcmVuGAEgAygLMiYubm9tb3MucnVudGltZS52Mi5QZXJzaXN0ZWRCb3JuQ3VzdG9keSKYBwoVQ29ycmVzcG9uZGVuY2VQZW5kaW5nEg8KB3dvcmtfaWQYASABKAkSMAoEaHR0cBgCIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3RIABI5CglnaXRfZmV0Y2gYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRGZXRjaEVmZmVjdEgAEjcKCGdpdF9wdXNoGAQgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UHVzaEVmZmVjdEgAEkoKFHBlcnNpc3RfYm9ybl9jdXN0b2R5GAUgASgLMioubm9tb3MucnVudGltZS52Mi5QZXJzaXN0Qm9ybkN1c3RvZHlFZmZlY3RIABJNChN3b3Jrc3BhY2VfZGlzY292ZXJ5GAYgASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVyV29ya3NwYWNlRGlzY292ZXJ5RWZmZWN0SAASQQoNbG9jYWxfY3VzdG9keRgHIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keUVmZmVjdEgAEkEKD3JldGFpbl9mcm9udGllchgIIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJFZmZlY3RIABIwCgR3YWtlGAkgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyV2FrZUVmZmVjdEgAEksKEnJlZnJlc2hfY3JlZGVudGlhbBgKIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoRWZmZWN0SAASRQoPZGV2aWNlX2lkZW50aXR5GAsgASgLMioubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3RIABI9CgtsYXdfcGFja2FnZRgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxhd1BhY2thZ2VFZmZlY3RIABJNChNoaXN0b3J5X2FjcXVpc2l0aW9uGA0gASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0SAASSQoRY29uc29sZV9lbnJvbG1lbnQYDiABKAsyLC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50RWZmZWN0SABCCAoGZWZmZWN0IqABChpQZWVyQ29uc29sZUVucm9sbWVudEVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSFwoPZGV2aWNlX2lkZW50aXR5GAIgASgJEhIKCmNhcGFiaWxpdHkYAyABKAkSDwoHY29uc29sZRgEIAEoCRIOCgZ0ZW5hbnQYBSABKAkSDQoFc2NvcGUYBiABKAkSEgoKd29ya3NwYWNlcxgHIAMoCSKpAQoTUGVlckNvbnNvbGVFbnJvbGxlZBIRCglwcmluY2lwYWwYASABKAkSEAoIa2V5X2hhc2gYAiABKAkSPwoFaGVhZHMYAyADKAsyMC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xsZWQuSGVhZHNFbnRyeRosCgpIZWFkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgobUGVlckNvbnNvbGVFbnJvbG1lbnRSZWZ1c2VkEg4KBnN0YXR1cxgBIAEoDRIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQFCDAoKX3JldHJ5YWJsZSJjChxQZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSHQoVY3JlZGVudGlhbF9jYXBhYmlsaXR5GAMgASgJIlUKHVBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0EhEKCXdvcmtzcGFjZRgBIAEoCRIPCgdjaGFuZ2VkGAIgASgIEhAKCGNvbXBsZXRlGAMgASgIIjkKDlBlZXJXYWtlRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIUCgxkZWxheV9taWxsaXMYAiABKA0iCwoJUGVlcldva2VuItYBChtQZWVyQ3JlZGVudGlhbFJlZnJlc2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmNhcGFiaWxpdHkYAiABKAkSHQoQZGV2aWNlX2NoYWxsZW5nZRgDIAEoCUgAiAEBEhQKDGFsbG93X2NhY2hlZBgEIAEoCBInChpyZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NhgFIAEoDEgBiAEBQhMKEV9kZXZpY2VfY2hhbGxlbmdlQh0KG19yZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NiJvChdQZWVyQ3JlZGVudGlhbFJlZnJlc2hlZBIXCgphdXRoX3Rva2VuGAEgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgCIAEoDEgBiAEBQg0KC19hdXRoX3Rva2VuQhAKDl9hdXRob3Jfc2VjcmV0IsYCChhQZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhAKCGlkZW50aXR5GAIgASgJEjgKBGxvYWQYAyABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUxvYWRIABI4CgRzYXZlGAQgASgLMigubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlTYXZlSAASQQoNbG9hZF9yZWNvdmVyeRgFIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckRldmljZVJlY292ZXJ5TG9hZEgAEkEKDXNhdmVfcmVjb3ZlcnkYBiABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VSZWNvdmVyeVNhdmVIAEILCglvcGVyYXRpb24iGAoWUGVlckRldmljZUlkZW50aXR5TG9hZCIoChZQZWVyRGV2aWNlSWRlbnRpdHlTYXZlEg4KBnNlY3JldBgBIAEoDCIYChZQZWVyRGV2aWNlUmVjb3ZlcnlMb2FkIlAKFlBlZXJEZXZpY2VSZWNvdmVyeVNhdmUSNgoGcmVjb3JkGAEgASgLMiYubm9tb3MucnVudGltZS52Mi5EZXZpY2VSZWNvdmVyeVJlY29yZCKLAgoURGV2aWNlUmVjb3ZlcnlSZWNvcmQSDwoHdmVyc2lvbhgBIAEoDRITCgthcHBsaWNhdGlvbhgCIAEoCRIRCglwcmluY2lwYWwYAyABKAkSFwoPcHJldmlvdXNfc2VjcmV0GAQgASgMEhgKEGNhbmRpZGF0ZV9zZWNyZXQYBSABKAwSFwoPZW5yb2xsbWVudF9oZWFkGAYgASgJEhUKDXJlY292ZXJ5X2hlYWQYByABKAkSRAoRcGVuZGluZ19hZG1pc3Npb24YCCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uEhEKCWNvbXBsZXRlZBgJIAEoCCKxAQoXRGV2aWNlUmVjb3ZlcnlBZG1pc3Npb24SPQoFc3RhZ2UYASABKA4yLi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uU3RhZ2USEgoKcmVxdWVzdF9pZBgCIAEoBBIRCgl3b3Jrc3BhY2UYAyABKAkSMAoGZWZmZWN0GAQgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVySHR0cEVmZmVjdCJuChJQZWVyRGV2aWNlSWRlbnRpdHkSEwoGc2VjcmV0GAEgASgMSACIAQESOAoIcmVjb3ZlcnkYAiABKAsyJi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5UmVjb3JkQgkKB19zZWNyZXQiPQoUUGVlckxhd1BhY2thZ2VFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmxhd19zaGEyNTYYAiABKAkiIgoOUGVlckxhd1BhY2thZ2USEAoIbGF3X3VzZHoYASABKAwiRAocUGVlcldvcmtzcGFjZURpc2NvdmVyeUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIj4KFlBlZXJMb2NhbEN1c3RvZHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSKDAQoXUGVlckxvY2FsQ3VzdG9keVJlY2VpcHQSEQoJd29ya3NwYWNlGAEgASgJEhEKCWF2YWlsYWJsZRgCIAEoCBI2CgdvcGVuaW5nGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T3BlbmluZ0gAiAEBQgoKCF9vcGVuaW5nIi8KGkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5EhEKCXdvcmtzcGFjZRgBIAEoCSLeAQodQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3QSDwoHd29ya19pZBgBIAEoCRI0CgdyZWNlaXB0GAIgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0UmVjZWlwdBJWChtyZWNvdmVyX2hpc3RvcnlfYWNxdWlzaXRpb24YAyABKAsyLC5ub21vcy5ydW50aW1lLnYyLkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5SACIAQFCHgocX3JlY292ZXJfaGlzdG9yeV9hY3F1aXNpdGlvbiKGAgoUUmVtb3RlT2ZmZXJBZG1pc3Npb24SEQoJd29ya3NwYWNlGAEgASgJEgwKBG1haW4YAiABKAkSGAoLc2VhbGVkX21haW4YAyABKAlIAIgBARIvCgd2ZXJkaWN0GAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2USMwoMYm9ybl9jdXN0b2R5GAUgAygLMh0ubm9tb3MucnVudGltZS52Mi5Cb3JuQ3VzdG9keRITCgtyZXN1bHRfcGFjaxgGIAEoDBIYCgtyZXN1bHRfYmFzZRgHIAEoCUgBiAEBQg4KDF9zZWFsZWRfbWFpbkIOCgxfcmVzdWx0X2Jhc2UiSgoOQm9ybkN1c3RvZHlSZWYSKgoDcmVmGAEgASgLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMIoEBCgtCb3JuQ3VzdG9keRItCgVjaGlsZBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5Cb3JuV29ya3NwYWNlEgwKBHBhY2sYAiABKAwSNQoLcHVibGljYXRpb24YAyADKAsyIC5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5UmVmIosDChhDdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3QSGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEjcKBmlubGluZRgDIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUlubGluZU9mZmVyc0gAEkYKEXNlc3Npb25fY2FuZGlkYXRlGAQgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkNhbmRpZGF0ZUgAEhYKCWJhc2VfaGVhZBgFIAEoCUgBiAEBEhUKDWV2aWRlbmNlX3BhY2sYBiABKAwSGgoNb2JzZXJ2ZWRfaGVhZBgHIAEoCUgCiAEBEhkKEWZhc3RfZm9yd2FyZF9vbmx5GAggASgIEhwKD2NvbnRpbnVlc19hZnRlchgJIAEoCUgDiAEBQggKBnNvdXJjZUIMCgpfYmFzZV9oZWFkQhAKDl9vYnNlcnZlZF9oZWFkQhIKEF9jb250aW51ZXNfYWZ0ZXIiwwEKDkxpdmVPZmZlckZyYW1lEjIKCGZyb250aWVyGAEgASgLMh4ubm9tb3MucnVudGltZS52Mi5MaXZlRnJvbnRpZXJIABI8CgZvZmZlcnMYAiABKAsyKi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPZmZlckJhdGNoUmVxdWVzdEgAEjQKCWFkbWlzc2lvbhgDIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUFkbWlzc2lvbkgAQgkKB21lc3NhZ2UiWgoNTGl2ZUFkbWlzc2lvbhISCgpyZXF1ZXN0X2lkGAEgASgJEjUKCWFkbWlzc2lvbhgCIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvbiIuCgxMaXZlRnJvbnRpZXISDAoEaGVhZBgBIAEoCRIQCghyZXNwb25zZRgCIAEoCCJrChBQZWVyU29ja2V0RWZmZWN0EhUKDWNvbm5lY3Rpb25faWQYASABKAkSEgoIb3Blbl91cmwYAiABKAlIABIOCgRzZW5kGAMgASgMSAASDwoFY2xvc2UYBCABKAhIAEILCglvcGVyYXRpb24icQoRUGVlclNvY2tldFJlY2VpcHQSFQoNY29ubmVjdGlvbl9pZBgBIAEoCRIQCgZvcGVuZWQYAiABKAhIABISCghyZWNlaXZlZBgDIAEoDEgAEhAKBmNsb3NlZBgEIAEoCEgAQg0KC29ic2VydmF0aW9uIhQKElBlZXJTb2NrZXRPYnNlcnZlZCI9ChdFeHBvcnRMaXZlT2ZmZXJzUmVxdWVzdBIPCgdzZXNzaW9uGAEgASgJEhEKCWJhc2VfaGVhZBgCIAEoCSJOChJDdXN0b2R5SW50ZW50T2ZmZXISDwoHc2Vzc2lvbhgBIAEoCRISCgpjb21taXRfb2lkGAIgASgJEhMKC2NoYW5nZV91c2RhGAMgASgMIksKE0N1c3RvZHlJbmxpbmVPZmZlcnMSNAoGb2ZmZXJzGAEgAygLMiQubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50T2ZmZXIiLAoXQ3VzdG9keVNlc3Npb25DYW5kaWRhdGUSEQoJcmVmZXJlbmNlGAEgASgJIoIEChBDdXN0b2R5QWRtaXNzaW9uEgwKBG1haW4YASABKAkSGAoLc2VhbGVkX21haW4YAiABKAlIAIgBARI7CghzZXNzaW9ucxgDIAMoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keVNlc3Npb25BZG1pc3Npb24SNQoOYmlydGhfb3V0Y29tZXMYBCADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEjMKDGJvcm5fY3VzdG9keRgFIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuQm9ybkN1c3RvZHkSEwoLcmVzdWx0X3BhY2sYBiABKAwSGAoLcmVzdWx0X2Jhc2UYByABKAlIAYgBARI6Cgd0aW1pbmdzGAggASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uVGltaW5ncxIeChFyZWNvdmVyeV9yZXF1aXJlZBgJIAEoCEgCiAEBEkYKEWxvY2FsX21haW50ZW5hbmNlGAogASgLMiYubm9tb3MucnVudGltZS52Mi5NYWludGVuYW5jZVNjaGVkdWxlZEgDiAEBQg4KDF9zZWFsZWRfbWFpbkIOCgxfcmVzdWx0X2Jhc2VCFAoSX3JlY292ZXJ5X3JlcXVpcmVkQhQKEl9sb2NhbF9tYWludGVuYW5jZSJlChdDdXN0b2R5U2Vzc2lvbkFkbWlzc2lvbhIPCgdzZXNzaW9uGAEgASgJEjkKB2ludGVudHMYAiADKAsyKC5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRBZG1pc3Npb24i1AMKFkN1c3RvZHlJbnRlbnRBZG1pc3Npb24SEgoKY29tbWl0X29pZBgBIAEoCRIWCglpbnRlbnRfaWQYAiABKAlIAYgBARI7CghhZG1pdHRlZBgKIAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudEFkbWl0dGVkSAASOQoHc2tpcHBlZBgLIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudFNraXBwZWRIABI5CgdyZWZ1c2VkGAwgASgLMiYubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50UmVmdXNlZEgAEkQKDWRlYWRfbGV0dGVyZWQYDSABKAsyKy5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnREZWFkTGV0dGVyZWRIABI5CgdibG9ja2VkGA4gASgLMiYubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50QmxvY2tlZEgAEkEKC3F1YXJhbnRpbmVkGA8gASgLMioubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50UXVhcmFudGluZWRIAEIJCgdvdXRjb21lQgwKCl9pbnRlbnRfaWQikAEKFUN1c3RvZHlJbnRlbnRBZG1pdHRlZBIMCgRoZWFkGAEgASgJEjMKB2NyZWF0ZWQYAiADKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJBZ2dyZWdhdGVSZWYSNAoIYWZmZWN0ZWQYAyADKAsyIi5ub21vcy5rZXJuZWwudjEuT2ZmZXJBZ2dyZWdhdGVSZWYiLwoUQ3VzdG9keUludGVudFNraXBwZWQSFwoPYWxyZWFkeV9vbl9tYWluGAEgASgIIpoBChRDdXN0b2R5SW50ZW50UmVmdXNlZBIPCgdtZXNzYWdlGAEgASgJEhEKBGhpbnQYAyABKAlIAIgBARI0CgdyZWZ1c2FsGAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLktlcm5lbFJlZnVzYWxIAYgBAUIHCgVfaGludEIKCghfcmVmdXNhbEoECAIQA1INZGVhZF9sZXR0ZXJlZCJ+ChlDdXN0b2R5SW50ZW50RGVhZExldHRlcmVkEg8KB21lc3NhZ2UYASABKAkSEQoEaGludBgCIAEoCUgAiAEBEh4KEWN1c3RvZHlfcmVmZXJlbmNlGAMgASgJSAGIAQFCBwoFX2hpbnRCFAoSX2N1c3RvZHlfcmVmZXJlbmNlIiYKFEN1c3RvZHlJbnRlbnRCbG9ja2VkEg4KBmRldGFpbBgBIAEoCSKVAQoYQ3VzdG9keUludGVudFF1YXJhbnRpbmVkEg4KBnJlYXNvbhgBIAEoCRIZChFhdXRob3JlZF9sYXdfaGFzaBgCIAEoCRIYChBjdXJyZW50X2xhd19oYXNoGAMgASgJEh4KEWN1c3RvZHlfcmVmZXJlbmNlGAQgASgJSACIAQFCFAoSX2N1c3RvZHlfcmVmZXJlbmNlIu0BChdDdXN0b2R5QWRtaXNzaW9uVGltaW5ncxIUCgx0b3RhbF9taWxsaXMYASABKAESEwoLc2Nhbl9taWxsaXMYAiABKAESFAoMZmV0Y2hfbWlsbGlzGAMgASgBEhMKC3NlYWxfbWlsbGlzGAQgASgBEhgKEGdhdGVfZm9sZF9taWxsaXMYBSABKAESFAoMaW50ZW50X2NvdW50GAYgASgNEhUKDXNlc3Npb25fY291bnQYByABKA0SNQoFc3BhbnMYCCADKAsyJi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlBZG1pc3Npb25TcGFuIpcBChRDdXN0b2R5QWRtaXNzaW9uU3BhbhIKCgJpZBgBIAEoCRINCgV0cmFjaxgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBGtpbmQYBCABKAkSDQoFZGVwdGgYBSABKA0SGwoTc3RhcnRlZF91bml4X21pbGxpcxgGIAEoARIcChRmaW5pc2hlZF91bml4X21pbGxpcxgHIAEoASJdChdXb3Jrc3BhY2VFZmZlY3REZWZlcnJlZBIYChB0YXJnZXRfd29ya3NwYWNlGAEgASgJEhoKEnJldHJ5X2FmdGVyX21pbGxpcxgCIAEoBBIMCgRoZWxkGAMgASgEIvoBCg1PdXRib3hTdW1tYXJ5EhEKCXdvcmtzcGFjZRgBIAEoCRIPCgdlbnRyaWVzGAIgASgEEjQKB3RhcmdldHMYAyADKAsyIy5ub21vcy5ydW50aW1lLnYyLk91dGJveFRhcmdldENvdW50Eh8KEm5leHRfZHVlX2F0X21pbGxpcxgEIAEoBEgAiAEBEhQKDHdvcmtfcGVuZGluZxgFIAEoCBIQCghyZXNpZGVudBgGIAEoCBIVCg1lbnRyaWVzX3RvdGFsGAcgASgNEhgKEGVudHJpZXNfcHJlcGFyZWQYCCABKA1CFQoTX25leHRfZHVlX2F0X21pbGxpcyI+ChFPdXRib3hUYXJnZXRDb3VudBIYChB0YXJnZXRfd29ya3NwYWNlGAEgASgJEg8KB2VudHJpZXMYAiABKAQqvAEKFVNoYXJlV29ya3NwYWNlT3V0Y29tZRInCiNTSEFSRV9XT1JLU1BBQ0VfT1VUQ09NRV9VTlNQRUNJRklFRBAAEiUKIVNIQVJFX1dPUktTUEFDRV9PVVRDT01FX0RFTElWRVJFRBABEi4KKlNIQVJFX1dPUktTUEFDRV9PVVRDT01FX0FXQUlUSU5HX1JFQ0lQSUVOVBACEiMKH1NIQVJFX1dPUktTUEFDRV9PVVRDT01FX1JFRlVTRUQQAypnCg5QZWVySHR0cE1ldGhvZBIgChxQRUVSX0hUVFBfTUVUSE9EX1VOU1BFQ0lGSUVEEAASGAoUUEVFUl9IVFRQX01FVEhPRF9HRVQQARIZChVQRUVSX0hUVFBfTUVUSE9EX1BPU1QQAiq/AQoXUGVlckVmZmVjdEZhaWx1cmVSZWFzb24SKgomUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fVU5TUEVDSUZJRUQQABImCiJQRUVSX0VGRkVDVF9GQUlMVVJFX1JFQVNPTl9PRkZMSU5FEAESJgoiUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fVElNRU9VVBACEigKJFBFRVJfRUZGRUNUX0ZBSUxVUkVfUkVBU09OX1RSQU5TUE9SVBADKq0BChxEZXZpY2VSZWNvdmVyeUFkbWlzc2lvblN0YWdlEi8KK0RFVklDRV9SRUNPVkVSWV9BRE1JU1NJT05fU1RBR0VfVU5TUEVDSUZJRUQQABIuCipERVZJQ0VfUkVDT1ZFUllfQURNSVNTSU9OX1NUQUdFX0VOUk9MTE1FTlQQARIsCihERVZJQ0VfUkVDT1ZFUllfQURNSVNTSU9OX1NUQUdFX1JFQ09WRVJZEAJiBnByb3RvMw", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_placement_desk, file_nomos_discovery_v1_workspace_placement, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_maintenance_desk]);
16
+ fileDesc("Cipub21vcy9ydW50aW1lL3YyL2NvcnJlc3BvbmRlbmNlX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi0AIKFVNoYXJlV29ya3NwYWNlUmVxdWVzdBIPCgdzdWJqZWN0GAEgASgJEhAKCHJlbGF0aW9uGAIgASgJEhoKEmFzc2VydGVyX3ByaW5jaXBhbBgDIAEoCRIOCgZvYmplY3QYBCABKAkSHAoPaG9tZV9sYXdfc2hhMjU2GAUgASgJSACIAQESGgoNYXV0aG9yX3NlY3JldBgGIAEoDEgBiAEBEh8KEmFzc2VydGVyX3dvcmtzcGFjZRgHIAEoCUgCiAEBEhgKC2F0dGVzdGVkX2F0GAggASgJSAOIAQESFwoKYXV0aF90b2tlbhgJIAEoDEgEiAEBQhIKEF9ob21lX2xhd19zaGEyNTZCEAoOX2F1dGhvcl9zZWNyZXRCFQoTX2Fzc2VydGVyX3dvcmtzcGFjZUIOCgxfYXR0ZXN0ZWRfYXRCDQoLX2F1dGhfdG9rZW4ikgEKFFNoYXJlV29ya3NwYWNlUmVzdWx0EjgKB291dGNvbWUYASABKA4yJy5ub21vcy5ydW50aW1lLnYyLlNoYXJlV29ya3NwYWNlT3V0Y29tZRITCgZzdGF0dXMYAiABKA1IAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IKCghfbWVzc2FnZSLKAQodUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgprZXlfc2hhMjU2GAMgASgJSACIAQESFwoKcHVibGljX2tleRgEIAEoDEgBiAEBEhcKCmF1dGhfdG9rZW4YBSABKAxIAogBARIOCgZyZW1vdGUYBiABKAhCDQoLX2tleV9zaGEyNTZCDQoLX3B1YmxpY19rZXlCDQoLX2F1dGhfdG9rZW4i1AEKFlBhcmVudFNpZ25lckVucm9sbG1lbnQSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRISCgprZXlfc2hhMjU2GAMgASgJEg4KBm9iamVjdBgEIAEoCRIQCghyZWxhdGlvbhgFIAEoCRIQCghlbnJvbGxlZBgGIAEoCBIPCgdyZXZva2VkGAcgASgIEhkKDHZlcmlmaWVkX3ZpYRgIIAEoCUgAiAEBEhIKCmNoZWNrZWRfYXQYCSABKAlCDwoNX3ZlcmlmaWVkX3ZpYSLcAgojRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgpwdWJsaWNfa2V5GAMgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgEIAEoDEgBiAEBEhMKBmRvbWFpbhgFIAEoCUgCiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgDiAEBEhcKCmF1dGhfdG9rZW4YByABKAxIBIgBARIVCghpZF90b2tlbhgIIAEoDEgFiAEBEhkKDHZlcmlmaWVkX3ZpYRgJIAEoCUgGiAEBQg0KC19wdWJsaWNfa2V5QhAKDl9hdXRob3Jfc2VjcmV0QgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZUINCgtfYXV0aF90b2tlbkILCglfaWRfdG9rZW5CDwoNX3ZlcmlmaWVkX3ZpYSLZAQoiRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlc3VsdBIOCgZwYXJlbnQYASABKAkSEQoJcHJpbmNpcGFsGAIgASgJEhIKCmtleV9zaGEyNTYYAyABKAkSEAoIZW5yb2xsZWQYBCABKAgSEAoIcmVwYWlyZWQYBSABKAgSEwoGZG9tYWluGAYgASgJSACIAQESFgoJZGlyZWN0aXZlGAcgASgJSAGIAQESEgoKY2hlY2tlZF9hdBgIIAEoCUIJCgdfZG9tYWluQgwKCl9kaXJlY3RpdmUiHQobVmVyaWZ5V29ya3NwYWNlQ2hhaW5SZXF1ZXN0IrsBChpWZXJpZnlXb3Jrc3BhY2VDaGFpblJlc3VsdBINCgV2YWxpZBgBIAEoCBISCgVlcnJvchgCIAEoCUgAiAEBEhgKC3BsYW5zX3JlcnVuGAMgASgESAGIAQESOgoHaGlzdG9yeRgEIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuVmVyaWZ5Q2hhaW5IaXN0b3J5SAKIAQFCCAoGX2Vycm9yQg4KDF9wbGFuc19yZXJ1bkIKCghfaGlzdG9yeSKHAQoSVmVyaWZ5Q2hhaW5IaXN0b3J5Eg0KBXN0YXRlGAEgASgJEg4KBmFuY2hvchgCIAEoCRIQCghib3VuZGFyeRgDIAMoCRIMCgR3YWxrGAQgASgJEh0KEHZlcmlmaWVkX2NvbW1pdHMYBSABKARIAIgBAUITChFfdmVyaWZpZWRfY29tbWl0cyJ/ChRTeW5jV29ya3NwYWNlUmVxdWVzdBINCgVhZG1pdBgCIAEoCBIRCgl3b3Jrc3BhY2UYAyABKAkSHwoScmVwbGFjZV9sb2NhbF9oZWFkGAQgASgJSACIAQFCFQoTX3JlcGxhY2VfbG9jYWxfaGVhZEoECAEQAlIHc2Vzc2lvbiKGCgoVU3luY1dvcmtzcGFjZVJlc3BvbnNlEhEKCXdvcmtzcGFjZRgBIAEoCRIaCg1wcmV2aW91c19oZWFkGAIgASgJSACIAQESGQoMY3VycmVudF9oZWFkGAMgASgJSAGIAQESEAoIYWRtaXR0ZWQYBCABKAQSDwoHcmVmdXNlZBgFIAEoBBIQCghkZWZlcnJlZBgGIAEoBBISCgpsb2NhbF9vbmx5GAcgASgIEg4KBnB1bGxlZBgIIAEoCBIQCghkaXZlcmdlZBgJIAEoCBIaChJyZWNvbm5lY3RfcmVxdWlyZWQYCiABKAgSEwoLc3RpbGxfYWhlYWQYCyABKAgSDwoHb2ZmbGluZRgMIAEoCBITCgtwdXNoX2ZhaWxlZBgNIAEoCBIdChVkaXJlY3Rfb2ZmZXJfZGVmZXJyZWQYDiABKAgSNQoOYmlydGhfb3V0Y29tZXMYDyADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEhsKE2FkbWl0dGVkX2ludGVudF9pZHMYECADKAkSHAoUY29udmVyZ2VkX2ludGVudF9pZHMYESADKAkSQgoKcHVzaF9lcnJvchgSIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVRyYW5zcG9ydEZhaWx1cmVIAogBARJHCg9kaXNjb3ZlcnlfZXJyb3IYEyABKAsyKS5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVUcmFuc3BvcnRGYWlsdXJlSAOIAQESMwoHdGltaW5ncxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuU3luY1BoYXNlVGltaW5ncxJBCg1vZmZlcl9yZWNlaXB0GBUgASgLMiUubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJSZWNlaXB0SASIAQESOQoOcmVtb3RlX3JlZnVzYWwYFiABKAsyHC5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzYWxIBYgBARJHChRjdXN0b2R5X2Rpc2FncmVlbWVudBgXIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5RGlzYWdyZWVtZW50SAaIAQESGAoQY3VzdG9keV9yZXBsYWNlZBgYIAEoCBIVCg1tYWluX2FkdmFuY2VkGBkgASgIEkAKD3JlYm9ybl9yZW1vdGVseRgaIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUmViaXJ0aEgHiAEBEkcKFHByZXNlcnZlZF9sb2NhbF9jb3B5GBsgASgLMiQubm9tb3MucnVudGltZS52Mi5QcmVzZXJ2ZWRMb2NhbENvcHlICIgBARIxCiRjdXN0b2RpYW5fd2FybWluZ19yZXRyeV9hZnRlcl9taWxsaXMYHCABKA1ICYgBAUIQCg5fcHJldmlvdXNfaGVhZEIPCg1fY3VycmVudF9oZWFkQg0KC19wdXNoX2Vycm9yQhIKEF9kaXNjb3ZlcnlfZXJyb3JCEAoOX29mZmVyX3JlY2VpcHRCEQoPX3JlbW90ZV9yZWZ1c2FsQhcKFV9jdXN0b2R5X2Rpc2FncmVlbWVudEISChBfcmVib3JuX3JlbW90ZWx5QhcKFV9wcmVzZXJ2ZWRfbG9jYWxfY29weUInCiVfY3VzdG9kaWFuX3dhcm1pbmdfcmV0cnlfYWZ0ZXJfbWlsbGlzIugBChNDdXN0b2R5T2ZmZXJSZWNlaXB0EhIKCnJlcXVlc3RfaWQYASABKAkSQwoJYWRtaXNzaW9uGAogASgLMi4ubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJBZG1pc3Npb25SZWNlaXB0SAASOAoHZmFpbHVyZRgLIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keU9mZmVyRmFpbHVyZUgAEjMKB2Jsb2NrZWQYDCABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVCbG9ja2VkSABCCQoHb3V0Y29tZSKGAgocQ3VzdG9keU9mZmVyQWRtaXNzaW9uUmVjZWlwdBIMCgRtYWluGAEgASgJEhgKC3NlYWxlZF9tYWluGAIgASgJSACIAQESOwoIc2Vzc2lvbnMYAyADKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEjUKDmJpcnRoX291dGNvbWVzGAQgAygLMh0ubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZRI6Cgd0aW1pbmdzGAUgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uVGltaW5nc0IOCgxfc2VhbGVkX21haW4iswEKE0N1c3RvZHlPZmZlckZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIWCgl3b3Jrc3BhY2UYBCABKAlIAIgBARITCgZkb21haW4YBSABKAlIAYgBARIWCglkaXJlY3RpdmUYBiABKAlIAogBAUIMCgpfd29ya3NwYWNlQgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZSJdChdSdW50aW1lVHJhbnNwb3J0RmFpbHVyZRIQCghlbmRwb2ludBgBIAEoCRIOCgZzdGF0dXMYAiABKBESDwoHcmVmdXNlZBgDIAEoCBIPCgdtZXNzYWdlGAQgASgJIsUBChBTeW5jUGhhc2VUaW1pbmdzEhMKC3B1c2hfbWlsbGlzGAEgASgBEhQKDGFkbWl0X21pbGxpcxgCIAEoARIXCg9wcmVmZXRjaF9taWxsaXMYAyABKAESFwoPY29udmVyZ2VfbWlsbGlzGAQgASgBEhIKCnB1c2hfYnl0ZXMYBSABKAQSFQoNc2VydmVyX21pbGxpcxgGIAEoARIVCg1vZmZlcl9pbl9wdXNoGAcgASgIEhIKCnB1bGxfYnl0ZXMYCCABKAQiNAofUmVmcmVzaFJlcGxpY2FDcmVkZW50aWFsUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiiwEKDEdpdFJlYWRMZWFzZRIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGcmVtb3RlGAMgASgJEg0KBXRva2VuGAQgASgJEhMKC3R0bF9zZWNvbmRzGAUgASgNEhwKFGV4cGlyZXNfdW5peF9zZWNvbmRzGAYgASgEIm4KD0dpdEZldGNoUmVxdWVzdBIPCgdzZXNzaW9uGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USDAoEd2FudBgDIAEoCRINCgVoYXZlcxgEIAMoCSJqCg5HaXRGZXRjaFJlc3VsdBIdChBzdGFnZWRfcGFja19maWxlGAEgASgJSACIAQESDAoEaGVhZBgCIAEoCRIWCg5yZWNlaXZlZF9ieXRlcxgDIAEoBEITChFfc3RhZ2VkX3BhY2tfZmlsZSK2AQoeRGVsaXZlcldvcmtzcGFjZUVmZmVjdHNSZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSGgoNc291cmNlX2NvbW1pdBgDIAEoCUgAiAEBEh4KEXNvdXJjZV9vZmZlcl9wYXRoGAQgASgJSAGIAQFCEAoOX3NvdXJjZV9jb21taXRCFAoSX3NvdXJjZV9vZmZlcl9wYXRoIlEKHERlbGl2ZXJIdHRwT2JsaWdhdGlvblJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGQoRc291cmNlX29mZmVyX3BhdGgYAiABKAkiuwEKF0h0dHBPYmxpZ2F0aW9uRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSEQoJYXR0ZW1wdGVkGAIgASgIEhEKCWRlbGl2ZXJlZBgDIAEoCBIRCglyZXRyeWFibGUYBCABKAgSGwoTcHJlcGFyYXRpb25fcGVuZGluZxgFIAEoCBIcCg9yZXRyeV9hdF9taWxsaXMYBiABKARIAIgBAUISChBfcmV0cnlfYXRfbWlsbGlzIjYKHFJlY292ZXJDb3JyZXNwb25kZW5jZVJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkirAEKF0NvcnJlc3BvbmRlbmNlUmVjb3ZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSDwoHcGVuZGluZxgCIAEoCBIgChNuZXh0X3dha2VfYXRfbWlsbGlzGAMgASgESACIAQESGgoNcmV0YWluZWRfaGVhZBgEIAEoCUgBiAEBQhYKFF9uZXh0X3dha2VfYXRfbWlsbGlzQhAKDl9yZXRhaW5lZF9oZWFkIvYCChlXb3Jrc3BhY2VFZmZlY3RzRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRIRCglhdHRlbXB0ZWQYAyABKAQSEQoJZGVsaXZlcmVkGAQgASgEEg8KB3JlZnVzZWQYBSABKAQSEQoJcmV0cnlhYmxlGAYgASgEEhwKD3JldHJ5X2F0X21pbGxpcxgHIAEoBEgAiAEBEhsKE3ByZXBhcmF0aW9uX3BlbmRpbmcYCCABKAgSGAoLdGFyZ2V0X2hlYWQYCSABKAlIAYgBARIfChdzb3VyY2Vfb3V0Y29tZV9yZWNvcmRlZBgKIAEoCBJBCgxyZXRyeV9yZWFzb24YCyABKAsyKy5ub21vcy5ydW50aW1lLnYyLkNvcnJlc3BvbmRlbmNlUmV0cnlSZWFzb25CEgoQX3JldHJ5X2F0X21pbGxpc0IOCgxfdGFyZ2V0X2hlYWQiOwoZQ29ycmVzcG9uZGVuY2VSZXRyeVJlYXNvbhIOCgZyZWFzb24YASABKAkSDgoGZGV0YWlsGAIgASgJIqwDChtSZW1vdGVHZW5lcmF0ZWRPZmZlclJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRINCgVhY3RvchgDIAEoCRIVCg1hdXRob3Jfc2VjcmV0GAQgASgMEhIKCmF1dGhfdG9rZW4YBSABKAwSLgoEY2FsbBgGIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5EaXJlY3RpdmVDYWxsSAASQAoPbW9kZWxfbGlmZWN5Y2xlGAkgASgLMiUubm9tb3Mua2VybmVsLnYxLk1vZGVsTGlmZWN5Y2xlSW50ZW50SAASQQoRYmlydGhfY2VydGlmaWNhdGUYByABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZUgBiAEBEiEKFHJlcXVpcmVkX3RhcmdldF9oZWFkGAggASgJSAKIAQESEAoIbGF3X3VzZHoYCiABKAxCCAoGaW50ZW50QhQKEl9iaXJ0aF9jZXJ0aWZpY2F0ZUIXChVfcmVxdWlyZWRfdGFyZ2V0X2hlYWQiPwocUmVtb3RlR2VuZXJhdGVkT2ZmZXJBY2NlcHRlZBIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCSLKAgoOUGVlckh0dHBFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEjAKBm1ldGhvZBgCIAEoDjIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBNZXRob2QSCwoDdXJsGAMgASgJEhkKDGNvbnRlbnRfdHlwZRgEIAEoCUgAiAEBEgwKBGJvZHkYBSABKAwSGQoMYmVhcmVyX3Rva2VuGAYgASgMSAGIAQESEwoGYWNjZXB0GAcgASgJSAKIAQESGwoOdGltZW91dF9taWxsaXMYCCABKA1IA4gBARIcCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlIBIgBAUIPCg1fY29udGVudF90eXBlQg8KDV9iZWFyZXJfdG9rZW5CCQoHX2FjY2VwdEIRCg9fdGltZW91dF9taWxsaXNCEgoQX2lkZW1wb3RlbmN5X2tleSJcChBQZWVySHR0cFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoDRIZCgxjb250ZW50X3R5cGUYAiABKAlIAIgBARIMCgRib2R5GAMgASgMQg8KDV9jb250ZW50X3R5cGUiXwoRUGVlckVmZmVjdEZhaWx1cmUSOQoGcmVhc29uGAEgASgOMikubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZVJlYXNvbhIPCgdtZXNzYWdlGAIgASgJItAIChFQZWVyRWZmZWN0UmVjZWlwdBIRCgllZmZlY3RfaWQYASABKAkSNgoIcmVzcG9uc2UYCiABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJIdHRwUmVzcG9uc2VIABI2CgdmYWlsdXJlGAsgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZUgAEjsKCWdpdF9mZXRjaBgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdEZldGNoUmVzcG9uc2VIABI5CghnaXRfcHVzaBgNIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdFB1c2hSZXNwb25zZUgAEk0KFmJvcm5fY3VzdG9keV9wZXJzaXN0ZWQYDiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlBlcnNpc3RCb3JuQ3VzdG9keVJlY2VpcHRIABJQChR3b3Jrc3BhY2VfZGlzY292ZXJlZBgPIAEoCzIwLm5vbW9zLmRpc2NvdmVyeS52MS5EaXNjb3ZlcmVkV29ya3NwYWNlUGxhY2VtZW50SAASQgoNbG9jYWxfY3VzdG9keRgQIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keVJlY2VpcHRIABI/ChFmcm9udGllcl9yZXRhaW5lZBgRIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuRnJvbnRpZXJSZXRhaW5lZEgAEiwKBXdva2VuGBIgASgLMhsubm9tb3MucnVudGltZS52Mi5QZWVyV29rZW5IABJJChRjcmVkZW50aWFsX3JlZnJlc2hlZBgTIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoZWRIABI/Cg9kZXZpY2VfaWRlbnRpdHkYFCABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUgAEjcKC2xhd19wYWNrYWdlGBUgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyTGF3UGFja2FnZUgAEk4KE2hpc3RvcnlfYWNxdWlzaXRpb24YFiABKAsyLy5ub21vcy5ydW50aW1lLnYyLlBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0SAASQQoQY29uc29sZV9lbnJvbGxlZBgXIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNvbnNvbGVFbnJvbGxlZEgAElIKGWNvbnNvbGVfZW5yb2xtZW50X3JlZnVzZWQYGCABKAsyLS5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50UmVmdXNlZEgAEjUKBnN0cmVhbRgZIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclN0cmVhbVJlY2VpcHRIAEIJCgdvdXRjb21lIqcCChJQZWVyR2l0RmV0Y2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USEQoEd2FudBgDIAEoCUgAiAEBEg0KBWhhdmVzGAQgAygJEhEKCXJlZmVyZW5jZRgFIAEoCRISCgVkZXB0aBgGIAEoDUgBiAEBEjMKCWFsb25nc2lkZRgHIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3QSPgoOYWxvbmdzaWRlX3JlZnMYCCABKAsyJi5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRSZWZzQWxvbmdzaWRlQgcKBV93YW50QggKBl9kZXB0aCLQAQoUUGVlckdpdEZldGNoUmVzcG9uc2USDAoEcGFjaxgBIAEoDBIMCgRoZWFkGAIgASgJEhYKDnJlY2VpdmVkX2J5dGVzGAMgASgEEg8KB3NoYWxsb3cYBCADKAkSNQoJYWxvbmdzaWRlGAUgASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVySHR0cFJlc3BvbnNlEjwKDmFsb25nc2lkZV9yZWZzGAYgASgLMiQubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UmVmc0ZldGNoZWQimAEKEVBlZXJHaXRQdXNoRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIOCgZyZW1vdGUYAiABKAkSGQoMYmVhcmVyX3Rva2VuGAMgASgMSACIAQESGAoQc2Vzc2lvbl9pZGVudGl0eRgEIAEoCRIMCgRoZWFkGAUgASgJEgwKBHBhY2sYBiABKAxCDwoNX2JlYXJlcl90b2tlbiJYChNQZWVyR2l0UHVzaFJlc3BvbnNlEhEKCXJlZmVyZW5jZRgBIAEoCRIMCgRoZWFkGAIgASgJEhIKCnNlbnRfYnl0ZXMYAyABKAQSDAoEbm9vcBgEIAEoCCItCgtSZXRhaW5lZFJlZhIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIocBChRSZXRhaW5Gcm9udGllckVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEg4KBmJyYW5jaBgDIAEoCRIMCgRoZWFkGAQgASgJEisKBHJlZnMYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmIqIBChBGcm9udGllclJldGFpbmVkEhEKCXdvcmtzcGFjZRgBIAEoCRIOCgZicmFuY2gYAiABKAkSDAoEaGVhZBgDIAEoCRIQCghyZXRhaW5lZBgEIAEoCBITCgZkZXRhaWwYBSABKAlIAIgBARIrCgRyZWZzGAYgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZkIJCgdfZGV0YWlsIl4KGFBlcnNpc3RCb3JuQ3VzdG9keUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSLwoIY2hpbGRyZW4YAiADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5IpcBChRQZXJzaXN0ZWRCb3JuQ3VzdG9keRIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCRIRCglwZXJzaXN0ZWQYAyABKAgSEwoGZGV0YWlsGAQgASgJSACIAQESKwoEcmVmcxgFIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWZCCQoHX2RldGFpbCJVChlQZXJzaXN0Qm9ybkN1c3RvZHlSZWNlaXB0EjgKCGNoaWxkcmVuGAEgAygLMiYubm9tb3MucnVudGltZS52Mi5QZXJzaXN0ZWRCb3JuQ3VzdG9keSLOBwoVQ29ycmVzcG9uZGVuY2VQZW5kaW5nEg8KB3dvcmtfaWQYASABKAkSMAoEaHR0cBgCIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3RIABI5CglnaXRfZmV0Y2gYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRGZXRjaEVmZmVjdEgAEjcKCGdpdF9wdXNoGAQgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UHVzaEVmZmVjdEgAEkoKFHBlcnNpc3RfYm9ybl9jdXN0b2R5GAUgASgLMioubm9tb3MucnVudGltZS52Mi5QZXJzaXN0Qm9ybkN1c3RvZHlFZmZlY3RIABJNChN3b3Jrc3BhY2VfZGlzY292ZXJ5GAYgASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVyV29ya3NwYWNlRGlzY292ZXJ5RWZmZWN0SAASQQoNbG9jYWxfY3VzdG9keRgHIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keUVmZmVjdEgAEkEKD3JldGFpbl9mcm9udGllchgIIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJFZmZlY3RIABIwCgR3YWtlGAkgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyV2FrZUVmZmVjdEgAEksKEnJlZnJlc2hfY3JlZGVudGlhbBgKIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoRWZmZWN0SAASRQoPZGV2aWNlX2lkZW50aXR5GAsgASgLMioubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3RIABI9CgtsYXdfcGFja2FnZRgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxhd1BhY2thZ2VFZmZlY3RIABJNChNoaXN0b3J5X2FjcXVpc2l0aW9uGA0gASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0SAASSQoRY29uc29sZV9lbnJvbG1lbnQYDiABKAsyLC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50RWZmZWN0SAASNAoGc3RyZWFtGA8gASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVyU3RyZWFtRWZmZWN0SABCCAoGZWZmZWN0IqABChpQZWVyQ29uc29sZUVucm9sbWVudEVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSFwoPZGV2aWNlX2lkZW50aXR5GAIgASgJEhIKCmNhcGFiaWxpdHkYAyABKAkSDwoHY29uc29sZRgEIAEoCRIOCgZ0ZW5hbnQYBSABKAkSDQoFc2NvcGUYBiABKAkSEgoKd29ya3NwYWNlcxgHIAMoCSKpAQoTUGVlckNvbnNvbGVFbnJvbGxlZBIRCglwcmluY2lwYWwYASABKAkSEAoIa2V5X2hhc2gYAiABKAkSPwoFaGVhZHMYAyADKAsyMC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xsZWQuSGVhZHNFbnRyeRosCgpIZWFkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgobUGVlckNvbnNvbGVFbnJvbG1lbnRSZWZ1c2VkEg4KBnN0YXR1cxgBIAEoDRIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQFCDAoKX3JldHJ5YWJsZSJjChxQZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSHQoVY3JlZGVudGlhbF9jYXBhYmlsaXR5GAMgASgJIlUKHVBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0EhEKCXdvcmtzcGFjZRgBIAEoCRIPCgdjaGFuZ2VkGAIgASgIEhAKCGNvbXBsZXRlGAMgASgIIjkKDlBlZXJXYWtlRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIUCgxkZWxheV9taWxsaXMYAiABKA0iCwoJUGVlcldva2VuItYBChtQZWVyQ3JlZGVudGlhbFJlZnJlc2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmNhcGFiaWxpdHkYAiABKAkSHQoQZGV2aWNlX2NoYWxsZW5nZRgDIAEoCUgAiAEBEhQKDGFsbG93X2NhY2hlZBgEIAEoCBInChpyZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NhgFIAEoDEgBiAEBQhMKEV9kZXZpY2VfY2hhbGxlbmdlQh0KG19yZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NiJvChdQZWVyQ3JlZGVudGlhbFJlZnJlc2hlZBIXCgphdXRoX3Rva2VuGAEgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgCIAEoDEgBiAEBQg0KC19hdXRoX3Rva2VuQhAKDl9hdXRob3Jfc2VjcmV0IsYCChhQZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhAKCGlkZW50aXR5GAIgASgJEjgKBGxvYWQYAyABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUxvYWRIABI4CgRzYXZlGAQgASgLMigubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlTYXZlSAASQQoNbG9hZF9yZWNvdmVyeRgFIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckRldmljZVJlY292ZXJ5TG9hZEgAEkEKDXNhdmVfcmVjb3ZlcnkYBiABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VSZWNvdmVyeVNhdmVIAEILCglvcGVyYXRpb24iGAoWUGVlckRldmljZUlkZW50aXR5TG9hZCIoChZQZWVyRGV2aWNlSWRlbnRpdHlTYXZlEg4KBnNlY3JldBgBIAEoDCIYChZQZWVyRGV2aWNlUmVjb3ZlcnlMb2FkIlAKFlBlZXJEZXZpY2VSZWNvdmVyeVNhdmUSNgoGcmVjb3JkGAEgASgLMiYubm9tb3MucnVudGltZS52Mi5EZXZpY2VSZWNvdmVyeVJlY29yZCKLAgoURGV2aWNlUmVjb3ZlcnlSZWNvcmQSDwoHdmVyc2lvbhgBIAEoDRITCgthcHBsaWNhdGlvbhgCIAEoCRIRCglwcmluY2lwYWwYAyABKAkSFwoPcHJldmlvdXNfc2VjcmV0GAQgASgMEhgKEGNhbmRpZGF0ZV9zZWNyZXQYBSABKAwSFwoPZW5yb2xsbWVudF9oZWFkGAYgASgJEhUKDXJlY292ZXJ5X2hlYWQYByABKAkSRAoRcGVuZGluZ19hZG1pc3Npb24YCCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uEhEKCWNvbXBsZXRlZBgJIAEoCCKxAQoXRGV2aWNlUmVjb3ZlcnlBZG1pc3Npb24SPQoFc3RhZ2UYASABKA4yLi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uU3RhZ2USEgoKcmVxdWVzdF9pZBgCIAEoBBIRCgl3b3Jrc3BhY2UYAyABKAkSMAoGZWZmZWN0GAQgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVySHR0cEVmZmVjdCJuChJQZWVyRGV2aWNlSWRlbnRpdHkSEwoGc2VjcmV0GAEgASgMSACIAQESOAoIcmVjb3ZlcnkYAiABKAsyJi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5UmVjb3JkQgkKB19zZWNyZXQiPQoUUGVlckxhd1BhY2thZ2VFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmxhd19zaGEyNTYYAiABKAkiIgoOUGVlckxhd1BhY2thZ2USEAoIbGF3X3VzZHoYASABKAwiRAocUGVlcldvcmtzcGFjZURpc2NvdmVyeUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIj4KFlBlZXJMb2NhbEN1c3RvZHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSKDAQoXUGVlckxvY2FsQ3VzdG9keVJlY2VpcHQSEQoJd29ya3NwYWNlGAEgASgJEhEKCWF2YWlsYWJsZRgCIAEoCBI2CgdvcGVuaW5nGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T3BlbmluZ0gAiAEBQgoKCF9vcGVuaW5nIi8KGkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5EhEKCXdvcmtzcGFjZRgBIAEoCSLeAQodQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3QSDwoHd29ya19pZBgBIAEoCRI0CgdyZWNlaXB0GAIgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0UmVjZWlwdBJWChtyZWNvdmVyX2hpc3RvcnlfYWNxdWlzaXRpb24YAyABKAsyLC5ub21vcy5ydW50aW1lLnYyLkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5SACIAQFCHgocX3JlY292ZXJfaGlzdG9yeV9hY3F1aXNpdGlvbiKGAgoUUmVtb3RlT2ZmZXJBZG1pc3Npb24SEQoJd29ya3NwYWNlGAEgASgJEgwKBG1haW4YAiABKAkSGAoLc2VhbGVkX21haW4YAyABKAlIAIgBARIvCgd2ZXJkaWN0GAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2USMwoMYm9ybl9jdXN0b2R5GAUgAygLMh0ubm9tb3MucnVudGltZS52Mi5Cb3JuQ3VzdG9keRITCgtyZXN1bHRfcGFjaxgGIAEoDBIYCgtyZXN1bHRfYmFzZRgHIAEoCUgBiAEBQg4KDF9zZWFsZWRfbWFpbkIOCgxfcmVzdWx0X2Jhc2UiSgoOQm9ybkN1c3RvZHlSZWYSKgoDcmVmGAEgASgLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMIoEBCgtCb3JuQ3VzdG9keRItCgVjaGlsZBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5Cb3JuV29ya3NwYWNlEgwKBHBhY2sYAiABKAwSNQoLcHVibGljYXRpb24YAyADKAsyIC5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5UmVmIqoDChhDdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3QSGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEjcKBmlubGluZRgDIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUlubGluZU9mZmVyc0gAEkYKEXNlc3Npb25fY2FuZGlkYXRlGAQgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkNhbmRpZGF0ZUgAEhYKCWJhc2VfaGVhZBgFIAEoCUgBiAEBEhUKDWV2aWRlbmNlX3BhY2sYBiABKAwSGgoNb2JzZXJ2ZWRfaGVhZBgHIAEoCUgCiAEBEhkKEWZhc3RfZm9yd2FyZF9vbmx5GAggASgIEhwKD2NvbnRpbnVlc19hZnRlchgJIAEoCUgDiAEBEh0KFWFja25vd2xlZGdlX2FkbWlzc2lvbhgKIAEoCEIICgZzb3VyY2VCDAoKX2Jhc2VfaGVhZEIQCg5fb2JzZXJ2ZWRfaGVhZEISChBfY29udGludWVzX2FmdGVyIu4ECg5MaXZlT2ZmZXJGcmFtZRIyCghmcm9udGllchgBIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUZyb250aWVySAASPAoGb2ZmZXJzGAIgASgLMioubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3RIABI0CglhZG1pc3Npb24YAyABKAsyHy5ub21vcy5ydW50aW1lLnYyLkxpdmVBZG1pc3Npb25IABJFChJjaGVja3BvaW50X3JlcXVlc3QYBCABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEkEKEGNoZWNrcG9pbnRfb2ZmZXIYBSABKAsyJS5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50T2ZmZXJIABJBChBjaGVja3BvaW50X2NodW5rGAYgASgLMiUubm9tb3MucnVudGltZS52Mi5MaXZlQ2hlY2twb2ludENodW5rSAASPwoPaGlzdG9yeV9yZXF1ZXN0GAcgASgLMiQubm9tb3MucnVudGltZS52Mi5MaXZlSGlzdG9yeVJlcXVlc3RIABI3CgtyZWZfcmVxdWVzdBgIIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIABIqCgRwYWNrGAkgASgLMhoubm9tb3MucnVudGltZS52Mi5MaXZlUGFja0gAEjYKB3JlZnVzYWwYCiABKAsyIy5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1SZWZ1c2FsSABCCQoHbWVzc2FnZSJaCg1MaXZlQWRtaXNzaW9uEhIKCnJlcXVlc3RfaWQYASABKAkSNQoJYWRtaXNzaW9uGAIgASgLMiIubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uIsoBCgxMaXZlRnJvbnRpZXISDAoEaGVhZBgBIAEoCRIQCghyZXNwb25zZRgCIAEoCBISCgptYXhfb2ZmZXJzGAMgASgNEhwKFHJlbW91bnRfYWZ0ZXJfb2ZmZXJzGAQgASgNEhcKD291dGNvbWVzX2RpZ2VzdBgFIAEoCRIvCghvdXRjb21lcxgGIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWYSEwoGc2VhbGVkGAcgASgJSACIAQFCCQoHX3NlYWxlZCJ8ChVMaXZlQ2hlY2twb2ludFJlcXVlc3QSEQoEaGVhZBgBIAEoCUgAiAEBEhQKB3BhY2tfaWQYAiABKAlIAYgBARIOCgZvZmZzZXQYAyABKAQSFQoNd2luZG93X2NodW5rcxgEIAEoDUIHCgVfaGVhZEIKCghfcGFja19pZCKhAgoTTGl2ZUNoZWNrcG9pbnRPZmZlchIMCgRoZWFkGAEgASgJEg8KB3BhY2tfaWQYAiABKAkSDQoFYnl0ZXMYAyABKAQSEwoLY2h1bmtfYnl0ZXMYBCABKA0SDwoHc2hhbGxvdxgGIAMoCRIvCghvdXRjb21lcxgHIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWYSDwoHcmVtb3VudBgIIAEoCBIaCg1vZmZlcnNfYmVoaW5kGAkgASgESACIAQESEgoKcmVxdWVzdF9pZBgKIAEoCRITCgZzZWFsZWQYCyABKAlIAYgBARIMCgRtYWluGAwgASgJQhAKDl9vZmZlcnNfYmVoaW5kQgkKB19zZWFsZWRKBAgFEAYiWQoTTGl2ZUNoZWNrcG9pbnRDaHVuaxIPCgdwYWNrX2lkGAEgASgJEg4KBm9mZnNldBgCIAEoBBINCgVieXRlcxgDIAEoDBISCgpyZXF1ZXN0X2lkGAQgASgJIpIBChJMaXZlSGlzdG9yeVJlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRIQCghib3VuZGFyeRgCIAEoCRINCgVkZXB0aBgDIAEoDRIUCgdwYWNrX2lkGAQgASgJSACIAQESDgoGb2Zmc2V0GAUgASgEEhUKDXdpbmRvd19jaHVua3MYBiABKA1CCgoIX3BhY2tfaWQiYgoOTGl2ZVJlZlJlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkSEQoEd2FudBgDIAEoCUgAiAEBEg0KBXdhbnRzGAQgAygJQgcKBV93YW50IpwBCghMaXZlUGFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIMCgRoZWFkGAMgASgJEgwKBHBhY2sYBCABKAwSDwoHc2hhbGxvdxgFIAMoCRIMCgRiYXNlGAYgASgJEg4KBm9mZmVycxgHIAEoDRITCgZzZWFsZWQYCCABKAlIAIgBAUIJCgdfc2VhbGVkIn4KEUxpdmVTdHJlYW1SZWZ1c2FsEhIKCnJlcXVlc3RfaWQYASABKAkSDAoEY29kZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEh8KEnJldHJ5X2FmdGVyX21pbGxpcxgEIAEoDUgAiAEBQhUKE19yZXRyeV9hZnRlcl9taWxsaXMi+wEKEUxpdmVTdHJlYW1SZXF1ZXN0EjIKCGZyb250aWVyGAEgASgLMh4ubm9tb3MucnVudGltZS52Mi5MaXZlRnJvbnRpZXJIABI9CgpjaGVja3BvaW50GAIgASgLMicubm9tb3MucnVudGltZS52Mi5MaXZlQ2hlY2twb2ludFJlcXVlc3RIABI3CgdoaXN0b3J5GAMgASgLMiQubm9tb3MucnVudGltZS52Mi5MaXZlSGlzdG9yeVJlcXVlc3RIABIvCgNyZWYYBCABKAsyIC5ub21vcy5ydW50aW1lLnYyLkxpdmVSZWZSZXF1ZXN0SABCCQoHcmVxdWVzdCJEChBMaXZlU3RyZWFtQW5zd2VyEjAKBmZyYW1lcxgBIAMoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZU9mZmVyRnJhbWUi4gIKEFBlZXJTdHJlYW1FZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCRI9CgpjaGVja3BvaW50GAMgASgLMicubm9tb3MucnVudGltZS52Mi5MaXZlQ2hlY2twb2ludFJlcXVlc3RIABI3CgdoaXN0b3J5GAQgASgLMiQubm9tb3MucnVudGltZS52Mi5MaXZlSGlzdG9yeVJlcXVlc3RIABIvCgNyZWYYBSABKAsyIC5ub21vcy5ydW50aW1lLnYyLkxpdmVSZWZSZXF1ZXN0SAASLwoFbGV2ZWwYBiABKAsyHi5ub21vcy5ydW50aW1lLnYyLkxpdmVGcm9udGllckgAEhIKCnN0YXJ0X29ubHkYByABKAgSEAoIdXBzdHJlYW0YCCABKAkSHQoVY3JlZGVudGlhbF9jYXBhYmlsaXR5GAkgASgJQgkKB3JlcXVlc3QizAIKEVBlZXJTdHJlYW1SZWNlaXB0EioKBHBhY2sYASABKAsyGi5ub21vcy5ydW50aW1lLnYyLkxpdmVQYWNrSAASDwoFbGV2ZWwYAiABKAlIABI2CgdyZWZ1c2FsGAMgASgLMiMubm9tb3MucnVudGltZS52Mi5MaXZlU3RyZWFtUmVmdXNhbEgAEi8KCG91dGNvbWVzGAQgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIWCg5yZWNlaXZlZF9ieXRlcxgFIAEoBBITCgZzZWFsZWQYBiABKAlIAYgBARIdChBzdGFnZWRfcGFja19maWxlGAcgASgJSAKIAQESEQoEbWFpbhgIIAEoCUgDiAEBQgkKB291dGNvbWVCCQoHX3NlYWxlZEITChFfc3RhZ2VkX3BhY2tfZmlsZUIHCgVfbWFpbiJrChBQZWVyU29ja2V0RWZmZWN0EhUKDWNvbm5lY3Rpb25faWQYASABKAkSEgoIb3Blbl91cmwYAiABKAlIABIOCgRzZW5kGAMgASgMSAASDwoFY2xvc2UYBCABKAhIAEILCglvcGVyYXRpb24iqQEKEVBlZXJTb2NrZXRSZWNlaXB0EhUKDWNvbm5lY3Rpb25faWQYASABKAkSEAoGb3BlbmVkGAIgASgISAASEgoIcmVjZWl2ZWQYAyABKAxIABIQCgZjbG9zZWQYBCABKAhIABI2CgdjbG9zdXJlGAUgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyU29ja2V0Q2xvc3VyZUgAQg0KC29ic2VydmF0aW9uIo0BChFQZWVyU29ja2V0Q2xvc3VyZRIRCgRjb2RlGAEgASgNSACIAQESDgoGcmVhc29uGAIgASgJEg0KBWNsZWFuGAMgASgIEj0KCWluaXRpYXRvchgEIAEoDjIqLm5vbW9zLnJ1bnRpbWUudjIuUGVlclNvY2tldENsb3NlSW5pdGlhdG9yQgcKBV9jb2RlIuIDCg9MaXZlTGlua0Nsb3N1cmUSFQoNY29ubmVjdGlvbl9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSLAoEcm9sZRgDIAEoDjIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUxpbmtSb2xlEjMKBnNvY2tldBgEIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclNvY2tldENsb3N1cmUSHQoVY2xvc2VkX2F0X3VuaXhfbWlsbGlzGAUgASgEEhMKC29wZW5fbWlsbGlzGAYgASgEEhIKCmFkbWlzc2lvbnMYByABKA0SJgoZbGFzdF9hZG1pc3Npb25fcmVxdWVzdF9pZBgIIAEoCUgAiAEBEh8KEmxhc3RfYWRtaXR0ZWRfbWFpbhgJIAEoCUgBiAEBEh0KEGxhc3Rfc2VhbGVkX21haW4YCiABKAlIAogBARIaCg1sYXN0X2Zyb250aWVyGAsgASgJSAOIAQESGgoSdW5hbnN3ZXJlZF9iYXRjaGVzGAwgASgNQhwKGl9sYXN0X2FkbWlzc2lvbl9yZXF1ZXN0X2lkQhUKE19sYXN0X2FkbWl0dGVkX21haW5CEwoRX2xhc3Rfc2VhbGVkX21haW5CEAoOX2xhc3RfZnJvbnRpZXIiFAoSUGVlclNvY2tldE9ic2VydmVkIj0KF0V4cG9ydExpdmVPZmZlcnNSZXF1ZXN0Eg8KB3Nlc3Npb24YASABKAkSEQoJYmFzZV9oZWFkGAIgASgJIk4KEkN1c3RvZHlJbnRlbnRPZmZlchIPCgdzZXNzaW9uGAEgASgJEhIKCmNvbW1pdF9vaWQYAiABKAkSEwoLY2hhbmdlX3VzZGEYAyABKAwiSwoTQ3VzdG9keUlubGluZU9mZmVycxI0CgZvZmZlcnMYASADKAsyJC5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRPZmZlciIsChdDdXN0b2R5U2Vzc2lvbkNhbmRpZGF0ZRIRCglyZWZlcmVuY2UYASABKAkiggQKEEN1c3RvZHlBZG1pc3Npb24SDAoEbWFpbhgBIAEoCRIYCgtzZWFsZWRfbWFpbhgCIAEoCUgAiAEBEjsKCHNlc3Npb25zGAMgAygLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkFkbWlzc2lvbhI1Cg5iaXJ0aF9vdXRjb21lcxgEIAMoCzIdLm5vbW9zLmtlcm5lbC52MS5CaXJ0aE91dGNvbWUSMwoMYm9ybl9jdXN0b2R5GAUgAygLMh0ubm9tb3MucnVudGltZS52Mi5Cb3JuQ3VzdG9keRITCgtyZXN1bHRfcGFjaxgGIAEoDBIYCgtyZXN1bHRfYmFzZRgHIAEoCUgBiAEBEjoKB3RpbWluZ3MYCCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlBZG1pc3Npb25UaW1pbmdzEh4KEXJlY292ZXJ5X3JlcXVpcmVkGAkgASgISAKIAQESRgoRbG9jYWxfbWFpbnRlbmFuY2UYCiABKAsyJi5ub21vcy5ydW50aW1lLnYyLk1haW50ZW5hbmNlU2NoZWR1bGVkSAOIAQFCDgoMX3NlYWxlZF9tYWluQg4KDF9yZXN1bHRfYmFzZUIUChJfcmVjb3ZlcnlfcmVxdWlyZWRCFAoSX2xvY2FsX21haW50ZW5hbmNlImUKF0N1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEg8KB3Nlc3Npb24YASABKAkSOQoHaW50ZW50cxgCIAMoCzIoLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudEFkbWlzc2lvbiLUAwoWQ3VzdG9keUludGVudEFkbWlzc2lvbhISCgpjb21taXRfb2lkGAEgASgJEhYKCWludGVudF9pZBgCIAEoCUgBiAEBEjsKCGFkbWl0dGVkGAogASgLMicubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50QWRtaXR0ZWRIABI5Cgdza2lwcGVkGAsgASgLMiYubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50U2tpcHBlZEgAEjkKB3JlZnVzZWQYDCABKAsyJi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRSZWZ1c2VkSAASRAoNZGVhZF9sZXR0ZXJlZBgNIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudERlYWRMZXR0ZXJlZEgAEjkKB2Jsb2NrZWQYDiABKAsyJi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRCbG9ja2VkSAASQQoLcXVhcmFudGluZWQYDyABKAsyKi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRRdWFyYW50aW5lZEgAQgkKB291dGNvbWVCDAoKX2ludGVudF9pZCKQAQoVQ3VzdG9keUludGVudEFkbWl0dGVkEgwKBGhlYWQYASABKAkSMwoHY3JlYXRlZBgCIAMoCzIiLm5vbW9zLmtlcm5lbC52MS5PZmZlckFnZ3JlZ2F0ZVJlZhI0CghhZmZlY3RlZBgDIAMoCzIiLm5vbW9zLmtlcm5lbC52MS5PZmZlckFnZ3JlZ2F0ZVJlZiIvChRDdXN0b2R5SW50ZW50U2tpcHBlZBIXCg9hbHJlYWR5X29uX21haW4YASABKAgimgEKFEN1c3RvZHlJbnRlbnRSZWZ1c2VkEg8KB21lc3NhZ2UYASABKAkSEQoEaGludBgDIAEoCUgAiAEBEjQKB3JlZnVzYWwYBCABKAsyHi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVmdXNhbEgBiAEBQgcKBV9oaW50QgoKCF9yZWZ1c2FsSgQIAhADUg1kZWFkX2xldHRlcmVkIn4KGUN1c3RvZHlJbnRlbnREZWFkTGV0dGVyZWQSDwoHbWVzc2FnZRgBIAEoCRIRCgRoaW50GAIgASgJSACIAQESHgoRY3VzdG9keV9yZWZlcmVuY2UYAyABKAlIAYgBAUIHCgVfaGludEIUChJfY3VzdG9keV9yZWZlcmVuY2UiJgoUQ3VzdG9keUludGVudEJsb2NrZWQSDgoGZGV0YWlsGAEgASgJIpUBChhDdXN0b2R5SW50ZW50UXVhcmFudGluZWQSDgoGcmVhc29uGAEgASgJEhkKEWF1dGhvcmVkX2xhd19oYXNoGAIgASgJEhgKEGN1cnJlbnRfbGF3X2hhc2gYAyABKAkSHgoRY3VzdG9keV9yZWZlcmVuY2UYBCABKAlIAIgBAUIUChJfY3VzdG9keV9yZWZlcmVuY2Ui7QEKF0N1c3RvZHlBZG1pc3Npb25UaW1pbmdzEhQKDHRvdGFsX21pbGxpcxgBIAEoARITCgtzY2FuX21pbGxpcxgCIAEoARIUCgxmZXRjaF9taWxsaXMYAyABKAESEwoLc2VhbF9taWxsaXMYBCABKAESGAoQZ2F0ZV9mb2xkX21pbGxpcxgFIAEoARIUCgxpbnRlbnRfY291bnQYBiABKA0SFQoNc2Vzc2lvbl9jb3VudBgHIAEoDRI1CgVzcGFucxgIIAMoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvblNwYW4ilwEKFEN1c3RvZHlBZG1pc3Npb25TcGFuEgoKAmlkGAEgASgJEg0KBXRyYWNrGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEa2luZBgEIAEoCRINCgVkZXB0aBgFIAEoDRIbChNzdGFydGVkX3VuaXhfbWlsbGlzGAYgASgBEhwKFGZpbmlzaGVkX3VuaXhfbWlsbGlzGAcgASgBIl0KF1dvcmtzcGFjZUVmZmVjdERlZmVycmVkEhgKEHRhcmdldF93b3Jrc3BhY2UYASABKAkSGgoScmV0cnlfYWZ0ZXJfbWlsbGlzGAIgASgEEgwKBGhlbGQYAyABKAQi+gEKDU91dGJveFN1bW1hcnkSEQoJd29ya3NwYWNlGAEgASgJEg8KB2VudHJpZXMYAiABKAQSNAoHdGFyZ2V0cxgDIAMoCzIjLm5vbW9zLnJ1bnRpbWUudjIuT3V0Ym94VGFyZ2V0Q291bnQSHwoSbmV4dF9kdWVfYXRfbWlsbGlzGAQgASgESACIAQESFAoMd29ya19wZW5kaW5nGAUgASgIEhAKCHJlc2lkZW50GAYgASgIEhUKDWVudHJpZXNfdG90YWwYByABKA0SGAoQZW50cmllc19wcmVwYXJlZBgIIAEoDUIVChNfbmV4dF9kdWVfYXRfbWlsbGlzIj4KEU91dGJveFRhcmdldENvdW50EhgKEHRhcmdldF93b3Jrc3BhY2UYASABKAkSDwoHZW50cmllcxgCIAEoBCJDChRQZWVyR2l0UmVmc0Fsb25nc2lkZRIOCgZwcmVmaXgYASABKAkSDAoEaGVsZBgCIAMoCRINCgVsaW1pdBgDIAEoDSJhChJQZWVyR2l0UmVmc0ZldGNoZWQSKwoEcmVmcxgBIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWYSDAoEcGFjaxgCIAEoDBIQCghkZWZlcnJlZBgDIAEoDSq8AQoVU2hhcmVXb3Jrc3BhY2VPdXRjb21lEicKI1NIQVJFX1dPUktTUEFDRV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASJQohU0hBUkVfV09SS1NQQUNFX09VVENPTUVfREVMSVZFUkVEEAESLgoqU0hBUkVfV09SS1NQQUNFX09VVENPTUVfQVdBSVRJTkdfUkVDSVBJRU5UEAISIwofU0hBUkVfV09SS1NQQUNFX09VVENPTUVfUkVGVVNFRBADKmcKDlBlZXJIdHRwTWV0aG9kEiAKHFBFRVJfSFRUUF9NRVRIT0RfVU5TUEVDSUZJRUQQABIYChRQRUVSX0hUVFBfTUVUSE9EX0dFVBABEhkKFVBFRVJfSFRUUF9NRVRIT0RfUE9TVBACKr8BChdQZWVyRWZmZWN0RmFpbHVyZVJlYXNvbhIqCiZQRUVSX0VGRkVDVF9GQUlMVVJFX1JFQVNPTl9VTlNQRUNJRklFRBAAEiYKIlBFRVJfRUZGRUNUX0ZBSUxVUkVfUkVBU09OX09GRkxJTkUQARImCiJQRUVSX0VGRkVDVF9GQUlMVVJFX1JFQVNPTl9USU1FT1VUEAISKAokUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fVFJBTlNQT1JUEAMqrQEKHERldmljZVJlY292ZXJ5QWRtaXNzaW9uU3RhZ2USLworREVWSUNFX1JFQ09WRVJZX0FETUlTU0lPTl9TVEFHRV9VTlNQRUNJRklFRBAAEi4KKkRFVklDRV9SRUNPVkVSWV9BRE1JU1NJT05fU1RBR0VfRU5ST0xMTUVOVBABEiwKKERFVklDRV9SRUNPVkVSWV9BRE1JU1NJT05fU1RBR0VfUkVDT1ZFUlkQAiq/AQoYUGVlclNvY2tldENsb3NlSW5pdGlhdG9yEisKJ1BFRVJfU09DS0VUX0NMT1NFX0lOSVRJQVRPUl9VTlNQRUNJRklFRBAAEicKI1BFRVJfU09DS0VUX0NMT1NFX0lOSVRJQVRPUl9SVU5USU1FEAESJQohUEVFUl9TT0NLRVRfQ0xPU0VfSU5JVElBVE9SX1NIRUxMEAISJgoiUEVFUl9TT0NLRVRfQ0xPU0VfSU5JVElBVE9SX1JFTU9URRADKmEKDExpdmVMaW5rUm9sZRIeChpMSVZFX0xJTktfUk9MRV9VTlNQRUNJRklFRBAAEhcKE0xJVkVfTElOS19ST0xFX1BFRVIQARIYChRMSVZFX0xJTktfUk9MRV9SRUxBWRACYgZwcm90bzM", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_placement_desk, file_nomos_discovery_v1_workspace_placement, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_maintenance_desk]);
17
17
 
18
18
  /**
19
19
  * Describes the message nomos.runtime.v2.ShareWorkspaceRequest.
@@ -540,152 +540,257 @@ export const LiveAdmissionSchema = /*@__PURE__*/
540
540
  export const LiveFrontierSchema = /*@__PURE__*/
541
541
  messageDesc(file_nomos_runtime_v2_correspondence_desk, 74);
542
542
 
543
+ /**
544
+ * Describes the message nomos.runtime.v2.LiveCheckpointRequest.
545
+ * Use `create(LiveCheckpointRequestSchema)` to create a new message.
546
+ */
547
+ export const LiveCheckpointRequestSchema = /*@__PURE__*/
548
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 75);
549
+
550
+ /**
551
+ * Describes the message nomos.runtime.v2.LiveCheckpointOffer.
552
+ * Use `create(LiveCheckpointOfferSchema)` to create a new message.
553
+ */
554
+ export const LiveCheckpointOfferSchema = /*@__PURE__*/
555
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 76);
556
+
557
+ /**
558
+ * Describes the message nomos.runtime.v2.LiveCheckpointChunk.
559
+ * Use `create(LiveCheckpointChunkSchema)` to create a new message.
560
+ */
561
+ export const LiveCheckpointChunkSchema = /*@__PURE__*/
562
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 77);
563
+
564
+ /**
565
+ * Describes the message nomos.runtime.v2.LiveHistoryRequest.
566
+ * Use `create(LiveHistoryRequestSchema)` to create a new message.
567
+ */
568
+ export const LiveHistoryRequestSchema = /*@__PURE__*/
569
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 78);
570
+
571
+ /**
572
+ * Describes the message nomos.runtime.v2.LiveRefRequest.
573
+ * Use `create(LiveRefRequestSchema)` to create a new message.
574
+ */
575
+ export const LiveRefRequestSchema = /*@__PURE__*/
576
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 79);
577
+
578
+ /**
579
+ * Describes the message nomos.runtime.v2.LivePack.
580
+ * Use `create(LivePackSchema)` to create a new message.
581
+ */
582
+ export const LivePackSchema = /*@__PURE__*/
583
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 80);
584
+
585
+ /**
586
+ * Describes the message nomos.runtime.v2.LiveStreamRefusal.
587
+ * Use `create(LiveStreamRefusalSchema)` to create a new message.
588
+ */
589
+ export const LiveStreamRefusalSchema = /*@__PURE__*/
590
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 81);
591
+
592
+ /**
593
+ * Describes the message nomos.runtime.v2.LiveStreamRequest.
594
+ * Use `create(LiveStreamRequestSchema)` to create a new message.
595
+ */
596
+ export const LiveStreamRequestSchema = /*@__PURE__*/
597
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 82);
598
+
599
+ /**
600
+ * Describes the message nomos.runtime.v2.LiveStreamAnswer.
601
+ * Use `create(LiveStreamAnswerSchema)` to create a new message.
602
+ */
603
+ export const LiveStreamAnswerSchema = /*@__PURE__*/
604
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 83);
605
+
606
+ /**
607
+ * Describes the message nomos.runtime.v2.PeerStreamEffect.
608
+ * Use `create(PeerStreamEffectSchema)` to create a new message.
609
+ */
610
+ export const PeerStreamEffectSchema = /*@__PURE__*/
611
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 84);
612
+
613
+ /**
614
+ * Describes the message nomos.runtime.v2.PeerStreamReceipt.
615
+ * Use `create(PeerStreamReceiptSchema)` to create a new message.
616
+ */
617
+ export const PeerStreamReceiptSchema = /*@__PURE__*/
618
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 85);
619
+
543
620
  /**
544
621
  * Describes the message nomos.runtime.v2.PeerSocketEffect.
545
622
  * Use `create(PeerSocketEffectSchema)` to create a new message.
546
623
  */
547
624
  export const PeerSocketEffectSchema = /*@__PURE__*/
548
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 75);
625
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 86);
549
626
 
550
627
  /**
551
628
  * Describes the message nomos.runtime.v2.PeerSocketReceipt.
552
629
  * Use `create(PeerSocketReceiptSchema)` to create a new message.
553
630
  */
554
631
  export const PeerSocketReceiptSchema = /*@__PURE__*/
555
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 76);
632
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 87);
633
+
634
+ /**
635
+ * Describes the message nomos.runtime.v2.PeerSocketClosure.
636
+ * Use `create(PeerSocketClosureSchema)` to create a new message.
637
+ */
638
+ export const PeerSocketClosureSchema = /*@__PURE__*/
639
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 88);
640
+
641
+ /**
642
+ * Describes the message nomos.runtime.v2.LiveLinkClosure.
643
+ * Use `create(LiveLinkClosureSchema)` to create a new message.
644
+ */
645
+ export const LiveLinkClosureSchema = /*@__PURE__*/
646
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 89);
556
647
 
557
648
  /**
558
649
  * Describes the message nomos.runtime.v2.PeerSocketObserved.
559
650
  * Use `create(PeerSocketObservedSchema)` to create a new message.
560
651
  */
561
652
  export const PeerSocketObservedSchema = /*@__PURE__*/
562
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 77);
653
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 90);
563
654
 
564
655
  /**
565
656
  * Describes the message nomos.runtime.v2.ExportLiveOffersRequest.
566
657
  * Use `create(ExportLiveOffersRequestSchema)` to create a new message.
567
658
  */
568
659
  export const ExportLiveOffersRequestSchema = /*@__PURE__*/
569
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 78);
660
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 91);
570
661
 
571
662
  /**
572
663
  * Describes the message nomos.runtime.v2.CustodyIntentOffer.
573
664
  * Use `create(CustodyIntentOfferSchema)` to create a new message.
574
665
  */
575
666
  export const CustodyIntentOfferSchema = /*@__PURE__*/
576
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 79);
667
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 92);
577
668
 
578
669
  /**
579
670
  * Describes the message nomos.runtime.v2.CustodyInlineOffers.
580
671
  * Use `create(CustodyInlineOffersSchema)` to create a new message.
581
672
  */
582
673
  export const CustodyInlineOffersSchema = /*@__PURE__*/
583
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 80);
674
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 93);
584
675
 
585
676
  /**
586
677
  * Describes the message nomos.runtime.v2.CustodySessionCandidate.
587
678
  * Use `create(CustodySessionCandidateSchema)` to create a new message.
588
679
  */
589
680
  export const CustodySessionCandidateSchema = /*@__PURE__*/
590
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 81);
681
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 94);
591
682
 
592
683
  /**
593
684
  * Describes the message nomos.runtime.v2.CustodyAdmission.
594
685
  * Use `create(CustodyAdmissionSchema)` to create a new message.
595
686
  */
596
687
  export const CustodyAdmissionSchema = /*@__PURE__*/
597
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 82);
688
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 95);
598
689
 
599
690
  /**
600
691
  * Describes the message nomos.runtime.v2.CustodySessionAdmission.
601
692
  * Use `create(CustodySessionAdmissionSchema)` to create a new message.
602
693
  */
603
694
  export const CustodySessionAdmissionSchema = /*@__PURE__*/
604
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 83);
695
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 96);
605
696
 
606
697
  /**
607
698
  * Describes the message nomos.runtime.v2.CustodyIntentAdmission.
608
699
  * Use `create(CustodyIntentAdmissionSchema)` to create a new message.
609
700
  */
610
701
  export const CustodyIntentAdmissionSchema = /*@__PURE__*/
611
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 84);
702
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 97);
612
703
 
613
704
  /**
614
705
  * Describes the message nomos.runtime.v2.CustodyIntentAdmitted.
615
706
  * Use `create(CustodyIntentAdmittedSchema)` to create a new message.
616
707
  */
617
708
  export const CustodyIntentAdmittedSchema = /*@__PURE__*/
618
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 85);
709
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 98);
619
710
 
620
711
  /**
621
712
  * Describes the message nomos.runtime.v2.CustodyIntentSkipped.
622
713
  * Use `create(CustodyIntentSkippedSchema)` to create a new message.
623
714
  */
624
715
  export const CustodyIntentSkippedSchema = /*@__PURE__*/
625
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 86);
716
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 99);
626
717
 
627
718
  /**
628
719
  * Describes the message nomos.runtime.v2.CustodyIntentRefused.
629
720
  * Use `create(CustodyIntentRefusedSchema)` to create a new message.
630
721
  */
631
722
  export const CustodyIntentRefusedSchema = /*@__PURE__*/
632
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 87);
723
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 100);
633
724
 
634
725
  /**
635
726
  * Describes the message nomos.runtime.v2.CustodyIntentDeadLettered.
636
727
  * Use `create(CustodyIntentDeadLetteredSchema)` to create a new message.
637
728
  */
638
729
  export const CustodyIntentDeadLetteredSchema = /*@__PURE__*/
639
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 88);
730
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 101);
640
731
 
641
732
  /**
642
733
  * Describes the message nomos.runtime.v2.CustodyIntentBlocked.
643
734
  * Use `create(CustodyIntentBlockedSchema)` to create a new message.
644
735
  */
645
736
  export const CustodyIntentBlockedSchema = /*@__PURE__*/
646
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 89);
737
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 102);
647
738
 
648
739
  /**
649
740
  * Describes the message nomos.runtime.v2.CustodyIntentQuarantined.
650
741
  * Use `create(CustodyIntentQuarantinedSchema)` to create a new message.
651
742
  */
652
743
  export const CustodyIntentQuarantinedSchema = /*@__PURE__*/
653
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 90);
744
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 103);
654
745
 
655
746
  /**
656
747
  * Describes the message nomos.runtime.v2.CustodyAdmissionTimings.
657
748
  * Use `create(CustodyAdmissionTimingsSchema)` to create a new message.
658
749
  */
659
750
  export const CustodyAdmissionTimingsSchema = /*@__PURE__*/
660
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 91);
751
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 104);
661
752
 
662
753
  /**
663
754
  * Describes the message nomos.runtime.v2.CustodyAdmissionSpan.
664
755
  * Use `create(CustodyAdmissionSpanSchema)` to create a new message.
665
756
  */
666
757
  export const CustodyAdmissionSpanSchema = /*@__PURE__*/
667
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 92);
758
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 105);
668
759
 
669
760
  /**
670
761
  * Describes the message nomos.runtime.v2.WorkspaceEffectDeferred.
671
762
  * Use `create(WorkspaceEffectDeferredSchema)` to create a new message.
672
763
  */
673
764
  export const WorkspaceEffectDeferredSchema = /*@__PURE__*/
674
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 93);
765
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 106);
675
766
 
676
767
  /**
677
768
  * Describes the message nomos.runtime.v2.OutboxSummary.
678
769
  * Use `create(OutboxSummarySchema)` to create a new message.
679
770
  */
680
771
  export const OutboxSummarySchema = /*@__PURE__*/
681
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 94);
772
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 107);
682
773
 
683
774
  /**
684
775
  * Describes the message nomos.runtime.v2.OutboxTargetCount.
685
776
  * Use `create(OutboxTargetCountSchema)` to create a new message.
686
777
  */
687
778
  export const OutboxTargetCountSchema = /*@__PURE__*/
688
- messageDesc(file_nomos_runtime_v2_correspondence_desk, 95);
779
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 108);
780
+
781
+ /**
782
+ * Describes the message nomos.runtime.v2.PeerGitRefsAlongside.
783
+ * Use `create(PeerGitRefsAlongsideSchema)` to create a new message.
784
+ */
785
+ export const PeerGitRefsAlongsideSchema = /*@__PURE__*/
786
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 109);
787
+
788
+ /**
789
+ * Describes the message nomos.runtime.v2.PeerGitRefsFetched.
790
+ * Use `create(PeerGitRefsFetchedSchema)` to create a new message.
791
+ */
792
+ export const PeerGitRefsFetchedSchema = /*@__PURE__*/
793
+ messageDesc(file_nomos_runtime_v2_correspondence_desk, 110);
689
794
 
690
795
  /**
691
796
  * Describes the enum nomos.runtime.v2.ShareWorkspaceOutcome.
@@ -740,3 +845,31 @@ export const DeviceRecoveryAdmissionStageSchema = /*@__PURE__*/
740
845
  */
741
846
  export const DeviceRecoveryAdmissionStage = /*@__PURE__*/
742
847
  tsEnum(DeviceRecoveryAdmissionStageSchema);
848
+
849
+ /**
850
+ * Describes the enum nomos.runtime.v2.PeerSocketCloseInitiator.
851
+ */
852
+ export const PeerSocketCloseInitiatorSchema = /*@__PURE__*/
853
+ enumDesc(file_nomos_runtime_v2_correspondence_desk, 4);
854
+
855
+ /**
856
+ * Who ended a live socket.
857
+ *
858
+ * @generated from enum nomos.runtime.v2.PeerSocketCloseInitiator
859
+ */
860
+ export const PeerSocketCloseInitiator = /*@__PURE__*/
861
+ tsEnum(PeerSocketCloseInitiatorSchema);
862
+
863
+ /**
864
+ * Describes the enum nomos.runtime.v2.LiveLinkRole.
865
+ */
866
+ export const LiveLinkRoleSchema = /*@__PURE__*/
867
+ enumDesc(file_nomos_runtime_v2_correspondence_desk, 5);
868
+
869
+ /**
870
+ * Which side of the live link a connection served.
871
+ *
872
+ * @generated from enum nomos.runtime.v2.LiveLinkRole
873
+ */
874
+ export const LiveLinkRole = /*@__PURE__*/
875
+ tsEnum(LiveLinkRoleSchema);
@@ -24,8 +24,10 @@ export declare type AdoptApplicationModelRequest = Message<"nomos.runtime.v2.Ado
24
24
  session: string;
25
25
 
26
26
  /**
27
- * The approved package identity from the generated descriptor: the kernel-derived
28
- * content identity of the compiled `.law.usdz` closure (64 lowercase hex).
27
+ * The approved package identity from the generated descriptor: the content
28
+ * identity of the compiled `.law.usdz` closure (64 lowercase hex). It names the
29
+ * bytes the shell supplies when the desk stages, and the law a package-lane
30
+ * workspace serves; it is not what a unit-lane workspace serves.
29
31
  *
30
32
  * @generated from field: string law_sha256 = 2;
31
33
  */
@@ -55,6 +57,28 @@ export declare type AdoptApplicationModelRequest = Message<"nomos.runtime.v2.Ado
55
57
  * @generated from field: bool dry_run = 5;
56
58
  */
57
59
  dryRun: boolean;
60
+
61
+ /**
62
+ * THE LAW the application approves: the unit set identity of its compiled
63
+ * `build/<name>.units` (64 lowercase hex, CAP-773). A unit-lane workspace is on
64
+ * the approved law when the closure it serves is composed from exactly these
65
+ * units, whatever its kernel's composer. REQUIRED.
66
+ *
67
+ * @generated from field: string unit_set = 6;
68
+ */
69
+ unitSet: string;
70
+
71
+ /**
72
+ * THE PER-DOMAIN REQUIREMENTS (CAP-666): for each application domain key, the
73
+ * exact law unit and the generated consumer requirement this client was
74
+ * compiled against. A workspace serving that unit for the key satisfies the
75
+ * requirement for it even when its unit set carries other domains the
76
+ * application never touches. Absent on clients generated before this field
77
+ * existed: the unit set alone then decides.
78
+ *
79
+ * @generated from field: repeated nomos.runtime.v2.DomainUnitRequirement domain_requirements = 7;
80
+ */
81
+ domainRequirements: DomainUnitRequirement[];
58
82
  };
59
83
 
60
84
  /**
@@ -63,6 +87,37 @@ export declare type AdoptApplicationModelRequest = Message<"nomos.runtime.v2.Ado
63
87
  */
64
88
  export declare const AdoptApplicationModelRequestSchema: GenMessage<AdoptApplicationModelRequest>;
65
89
 
90
+ /**
91
+ * One application domain's requirement, as the compiler generated it beside the
92
+ * unit set: the domain's unit hash (`domain:<key>` in `build/<name>.units`) and
93
+ * the sha256 of the domain's `<name>.compatibility.usda` slice the kernel's
94
+ * Compatibility Desk judges. Identities only; the office never reads the bytes.
95
+ *
96
+ * @generated from message nomos.runtime.v2.DomainUnitRequirement
97
+ */
98
+ export declare type DomainUnitRequirement = Message<"nomos.runtime.v2.DomainUnitRequirement"> & {
99
+ /**
100
+ * @generated from field: string domain_key = 1;
101
+ */
102
+ domainKey: string;
103
+
104
+ /**
105
+ * @generated from field: string unit_sha256 = 2;
106
+ */
107
+ unitSha256: string;
108
+
109
+ /**
110
+ * @generated from field: string requirement_sha256 = 3;
111
+ */
112
+ requirementSha256: string;
113
+ };
114
+
115
+ /**
116
+ * Describes the message nomos.runtime.v2.DomainUnitRequirement.
117
+ * Use `create(DomainUnitRequirementSchema)` to create a new message.
118
+ */
119
+ export declare const DomainUnitRequirementSchema: GenMessage<DomainUnitRequirement>;
120
+
66
121
  /**
67
122
  * @generated from message nomos.runtime.v2.ApplicationModelAdopted
68
123
  */
@@ -9,7 +9,7 @@ import { file_nomos_kernel_v1_kernel } from "../../kernel/v1/kernel_pb.js";
9
9
  * Describes the file nomos/runtime/v2/model_adoption_desk.proto.
10
10
  */
11
11
  export const file_nomos_runtime_v2_model_adoption_desk = /*@__PURE__*/
12
- fileDesc("Cipub21vcy9ydW50aW1lL3YyL21vZGVsX2Fkb3B0aW9uX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIihAEKHEFkb3B0QXBwbGljYXRpb25Nb2RlbFJlcXVlc3QSDwoHc2Vzc2lvbhgBIAEoCRISCgpsYXdfc2hhMjU2GAIgASgJEhMKC2RvbWFpbl9rZXlzGAMgAygJEhkKEWFjY2VwdGFuY2VfcmVhc29uGAQgASgJEg8KB2RyeV9ydW4YBSABKAgikgIKF0FwcGxpY2F0aW9uTW9kZWxBZG9wdGVkEhEKCXdvcmtzcGFjZRgBIAEoCRI3CgdvdXRjb21lGAIgASgOMiYubm9tb3MucnVudGltZS52Mi5Nb2RlbEFkb3B0aW9uT3V0Y29tZRIfChJjdXJyZW50X2xhd19zaGEyNTYYAyABKAlIAIgBARITCgZkZXRhaWwYBCABKAlIAYgBARJECgp0cmFuc2l0aW9uGAUgASgLMisubm9tb3Mua2VybmVsLnYxLkZyb250aWVyVHJhbnNpdGlvblJlc3BvbnNlSAKIAQFCFQoTX2N1cnJlbnRfbGF3X3NoYTI1NkIJCgdfZGV0YWlsQg0KC190cmFuc2l0aW9uIvABChVNb2RlbEFkb3B0aW9uUHJvZ3Jlc3MSEQoJd29ya3NwYWNlGAEgASgJEjMKBXBoYXNlGAIgASgOMiQubm9tb3MucnVudGltZS52Mi5Nb2RlbEFkb3B0aW9uUGhhc2USNwoHb3V0Y29tZRgDIAEoDjImLm5vbW9zLnJ1bnRpbWUudjIuTW9kZWxBZG9wdGlvbk91dGNvbWUSEwoGZGV0YWlsGAQgASgJSACIAQESHwoSY3VycmVudF9sYXdfc2hhMjU2GAUgASgJSAGIAQFCCQoHX2RldGFpbEIVChNfY3VycmVudF9sYXdfc2hhMjU2KvkBChRNb2RlbEFkb3B0aW9uT3V0Y29tZRImCiJNT0RFTF9BRE9QVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASJgoiTU9ERUxfQURPUFRJT05fT1VUQ09NRV9JTl9QUk9HUkVTUxABEiIKHk1PREVMX0FET1BUSU9OX09VVENPTUVfQ1VSUkVOVBACEiIKHk1PREVMX0FET1BUSU9OX09VVENPTUVfQURPUFRFRBADEiMKH01PREVMX0FET1BUSU9OX09VVENPTUVfREVGRVJSRUQQBBIkCiBNT0RFTF9BRE9QVElPTl9PVVRDT01FX1BSRVZJRVdFRBAFKr0BChJNb2RlbEFkb3B0aW9uUGhhc2USJAogTU9ERUxfQURPUFRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIgChxNT0RFTF9BRE9QVElPTl9QSEFTRV9PQlNFUlZFEAESHgoaTU9ERUxfQURPUFRJT05fUEhBU0VfU1RBR0UQAhIgChxNT0RFTF9BRE9QVElPTl9QSEFTRV9QUk9NT1RFEAMSHQoZTU9ERUxfQURPUFRJT05fUEhBU0VfU1lOQxAEYgZwcm90bzM", [file_nomos_kernel_v1_kernel]);
12
+ fileDesc("Cipub21vcy9ydW50aW1lL3YyL21vZGVsX2Fkb3B0aW9uX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi3AEKHEFkb3B0QXBwbGljYXRpb25Nb2RlbFJlcXVlc3QSDwoHc2Vzc2lvbhgBIAEoCRISCgpsYXdfc2hhMjU2GAIgASgJEhMKC2RvbWFpbl9rZXlzGAMgAygJEhkKEWFjY2VwdGFuY2VfcmVhc29uGAQgASgJEg8KB2RyeV9ydW4YBSABKAgSEAoIdW5pdF9zZXQYBiABKAkSRAoTZG9tYWluX3JlcXVpcmVtZW50cxgHIAMoCzInLm5vbW9zLnJ1bnRpbWUudjIuRG9tYWluVW5pdFJlcXVpcmVtZW50IlwKFURvbWFpblVuaXRSZXF1aXJlbWVudBISCgpkb21haW5fa2V5GAEgASgJEhMKC3VuaXRfc2hhMjU2GAIgASgJEhoKEnJlcXVpcmVtZW50X3NoYTI1NhgDIAEoCSKSAgoXQXBwbGljYXRpb25Nb2RlbEFkb3B0ZWQSEQoJd29ya3NwYWNlGAEgASgJEjcKB291dGNvbWUYAiABKA4yJi5ub21vcy5ydW50aW1lLnYyLk1vZGVsQWRvcHRpb25PdXRjb21lEh8KEmN1cnJlbnRfbGF3X3NoYTI1NhgDIAEoCUgAiAEBEhMKBmRldGFpbBgEIAEoCUgBiAEBEkQKCnRyYW5zaXRpb24YBSABKAsyKy5ub21vcy5rZXJuZWwudjEuRnJvbnRpZXJUcmFuc2l0aW9uUmVzcG9uc2VIAogBAUIVChNfY3VycmVudF9sYXdfc2hhMjU2QgkKB19kZXRhaWxCDQoLX3RyYW5zaXRpb24i8AEKFU1vZGVsQWRvcHRpb25Qcm9ncmVzcxIRCgl3b3Jrc3BhY2UYASABKAkSMwoFcGhhc2UYAiABKA4yJC5ub21vcy5ydW50aW1lLnYyLk1vZGVsQWRvcHRpb25QaGFzZRI3CgdvdXRjb21lGAMgASgOMiYubm9tb3MucnVudGltZS52Mi5Nb2RlbEFkb3B0aW9uT3V0Y29tZRITCgZkZXRhaWwYBCABKAlIAIgBARIfChJjdXJyZW50X2xhd19zaGEyNTYYBSABKAlIAYgBAUIJCgdfZGV0YWlsQhUKE19jdXJyZW50X2xhd19zaGEyNTYq+QEKFE1vZGVsQWRvcHRpb25PdXRjb21lEiYKIk1PREVMX0FET1BUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABImCiJNT0RFTF9BRE9QVElPTl9PVVRDT01FX0lOX1BST0dSRVNTEAESIgoeTU9ERUxfQURPUFRJT05fT1VUQ09NRV9DVVJSRU5UEAISIgoeTU9ERUxfQURPUFRJT05fT1VUQ09NRV9BRE9QVEVEEAMSIwofTU9ERUxfQURPUFRJT05fT1VUQ09NRV9ERUZFUlJFRBAEEiQKIE1PREVMX0FET1BUSU9OX09VVENPTUVfUFJFVklFV0VEEAUqvQEKEk1vZGVsQWRvcHRpb25QaGFzZRIkCiBNT0RFTF9BRE9QVElPTl9QSEFTRV9VTlNQRUNJRklFRBAAEiAKHE1PREVMX0FET1BUSU9OX1BIQVNFX09CU0VSVkUQARIeChpNT0RFTF9BRE9QVElPTl9QSEFTRV9TVEFHRRACEiAKHE1PREVMX0FET1BUSU9OX1BIQVNFX1BST01PVEUQAxIdChlNT0RFTF9BRE9QVElPTl9QSEFTRV9TWU5DEARiBnByb3RvMw", [file_nomos_kernel_v1_kernel]);
13
13
 
14
14
  /**
15
15
  * Describes the message nomos.runtime.v2.AdoptApplicationModelRequest.
@@ -18,19 +18,26 @@ export const file_nomos_runtime_v2_model_adoption_desk = /*@__PURE__*/
18
18
  export const AdoptApplicationModelRequestSchema = /*@__PURE__*/
19
19
  messageDesc(file_nomos_runtime_v2_model_adoption_desk, 0);
20
20
 
21
+ /**
22
+ * Describes the message nomos.runtime.v2.DomainUnitRequirement.
23
+ * Use `create(DomainUnitRequirementSchema)` to create a new message.
24
+ */
25
+ export const DomainUnitRequirementSchema = /*@__PURE__*/
26
+ messageDesc(file_nomos_runtime_v2_model_adoption_desk, 1);
27
+
21
28
  /**
22
29
  * Describes the message nomos.runtime.v2.ApplicationModelAdopted.
23
30
  * Use `create(ApplicationModelAdoptedSchema)` to create a new message.
24
31
  */
25
32
  export const ApplicationModelAdoptedSchema = /*@__PURE__*/
26
- messageDesc(file_nomos_runtime_v2_model_adoption_desk, 1);
33
+ messageDesc(file_nomos_runtime_v2_model_adoption_desk, 2);
27
34
 
28
35
  /**
29
36
  * Describes the message nomos.runtime.v2.ModelAdoptionProgress.
30
37
  * Use `create(ModelAdoptionProgressSchema)` to create a new message.
31
38
  */
32
39
  export const ModelAdoptionProgressSchema = /*@__PURE__*/
33
- messageDesc(file_nomos_runtime_v2_model_adoption_desk, 2);
40
+ messageDesc(file_nomos_runtime_v2_model_adoption_desk, 3);
34
41
 
35
42
  /**
36
43
  * Describes the enum nomos.runtime.v2.ModelAdoptionOutcome.