@n1xyz/nord-ts 0.1.4 → 0.1.6

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.
@@ -15,7 +15,44 @@ import type { Message } from "@bufbuild/protobuf";
15
15
  * Describes the file nord.proto.
16
16
  */
17
17
  export const file_nord: GenFile = /*@__PURE__*/
18
- fileDesc("Cgpub3JkLnByb3RvEgRub3JkItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCJHCgpUcmlnZ2VyS2V5Eh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYBCABKA4yCi5ub3JkLlNpZGUizRsKBkFjdGlvbhIZChFjdXJyZW50X3RpbWVzdGFtcBgBIAEoAxINCgVub25jZRgCIAEoDRI0Cg5jcmVhdGVfc2Vzc2lvbhgEIAEoCzIaLm5vcmQuQWN0aW9uLkNyZWF0ZVNlc3Npb25IABIwCgxjcmVhdGVfdG9rZW4YBSABKAsyGC5ub3JkLkFjdGlvbi5DcmVhdGVUb2tlbkgAEjIKDWNyZWF0ZV9tYXJrZXQYBiABKAsyGS5ub3JkLkFjdGlvbi5DcmVhdGVNYXJrZXRIABIuCgtwbGFjZV9vcmRlchgHIAEoCzIXLm5vcmQuQWN0aW9uLlBsYWNlT3JkZXJIABI6ChJjYW5jZWxfb3JkZXJfYnlfaWQYCCABKAsyHC5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5SWRIABInCgdkZXBvc2l0GAkgASgLMhQubm9yZC5BY3Rpb24uRGVwb3NpdEgAEikKCHdpdGhkcmF3GAogASgLMhUubm9yZC5BY3Rpb24uV2l0aGRyYXdIABJMChtweXRoX3NldF93b3JtaG9sZV9ndWFyZGlhbnMYCyABKAsyJS5ub3JkLkFjdGlvbi5QeXRoU2V0V29ybWhvbGVHdWFyZGlhbnNIABI+ChRweXRoX3NldF9zeW1ib2xfZmVlZBgMIAEoCzIeLm5vcmQuQWN0aW9uLlB5dGhTZXRTeW1ib2xGZWVkSAASQgoWcHl0aF9wcmljZV9mZWVkX3VwZGF0ZRgNIAEoCzIgLm5vcmQuQWN0aW9uLlB5dGhQcmljZUZlZWRVcGRhdGVIABIrCglsaXF1aWRhdGUYDiABKAsyFi5ub3JkLkFjdGlvbi5MaXF1aWRhdGVIABI0Cg5yZXZva2Vfc2Vzc2lvbhgPIAEoCzIaLm5vcmQuQWN0aW9uLlJldm9rZVNlc3Npb25IABIjCgVwYXVzZRgQIAEoCzISLm5vcmQuQWN0aW9uLlBhdXNlSAASJwoHdW5wYXVzZRgRIAEoCzIULm5vcmQuQWN0aW9uLlVucGF1c2VIABIpCgh0cmFuc2ZlchgSIAEoCzIVLm5vcmQuQWN0aW9uLlRyYW5zZmVySAASLgoLYWRkX3RyaWdnZXIYICABKAsyFy5ub3JkLkFjdGlvbi5BZGRUcmlnZ2VySAASNAoOcmVtb3ZlX3RyaWdnZXIYISABKAsyGi5ub3JkLkFjdGlvbi5SZW1vdmVUcmlnZ2VySAASMgoNdGFrZV9wb3NpdGlvbhgiIAEoCzIZLm5vcmQuQWN0aW9uLlRha2VQb3NpdGlvbkgAEh4KBmF0b21pYxgjIAEoCzIMLm5vcmQuQXRvbWljSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAAaUwoNQ3JlYXRlU2Vzc2lvbhITCgt1c2VyX3B1YmtleRgBIAEoDBITCgtibHN0X3B1YmtleRgCIAEoDBIYChBleHBpcnlfdGltZXN0YW1wGAMgASgDGncKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBraAQoMQ3JlYXRlTWFya2V0EhUKDXNpemVfZGVjaW1hbHMYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SDwoHaW1mX2JwcxgDIAEoDRIPCgdjbWZfYnBzGAQgASgNEg8KB21tZl9icHMYBSABKA0SJQoLbWFya2V0X3R5cGUYBiABKA4yEC5ub3JkLk1hcmtldFR5cGUSEwoLdmlld19zeW1ib2wYByABKAkSFQoNb3JhY2xlX3N5bWJvbBgIIAEoCRIVCg1iYXNlX3Rva2VuX2lkGAkgASgNGqYDCgpQbGFjZU9yZGVyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBINCgVwcmljZRgGIAEoBBIMCgRzaXplGAcgASgEEiMKCnF1b3RlX3NpemUYCCABKAsyDy5ub3JkLlF1b3RlU2l6ZRIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEhwKD2NsaWVudF9vcmRlcl9pZBghIAEoBEgBiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCIgASgNSAKIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGCMgASgESAOIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhIKEF9jbGllbnRfb3JkZXJfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQaqQEKD0NhbmNlbE9yZGVyQnlJZBISCgpzZXNzaW9uX2lkGAEgASgEEhAKCG9yZGVyX2lkGAIgASgEEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYISABKA1IAYgBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkGm8KB0RlcG9zaXQSFAoMYWN0aW9uX25vbmNlGAEgASgEEhIKCnRva2VuX2FkZHIYAiABKAwSDgoGYW1vdW50GAMgASgEEhMKC3VzZXJfcHVia2V5GAQgASgMEhUKDXNlbmRlcl9wdWJrZXkYBSABKAwaQAoIV2l0aGRyYXcSEAoIdG9rZW5faWQYASABKA0SEgoKc2Vzc2lvbl9pZBgCIAEoBBIOCgZhbW91bnQYAyABKAQaSQoYUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zEhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBqHAQoJTGlxdWlkYXRlEh0KFWxpcXVpZGF0b3Jfc2Vzc2lvbl9pZBgBIAEoBBIdChVsaXF1aWRhdGVlX2FjY291bnRfaWQYAiABKA0SIgoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAMgASgNSACIAQFCGAoWX2xpcXVpZGF0b3JfYWNjb3VudF9pZBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaBwoFUGF1c2UaCQoHVW5wYXVzZRrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBpQCg1UcmlnZ2VyUHJpY2VzEhUKDXRyaWdnZXJfcHJpY2UYBSABKAQSGAoLbGltaXRfcHJpY2UYBiABKARIAIgBAUIOCgxfbGltaXRfcHJpY2UapgEKCkFkZFRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EioKBnByaWNlcxgEIAEoCzIaLm5vcmQuQWN0aW9uLlRyaWdnZXJQcmljZXMSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGn0KDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBohCgxGcmVlemVNYXJrZXQSEQoJbWFya2V0X2lkGAIgASgNGiMKDlVuZnJlZXplTWFya2V0EhEKCW1hcmtldF9pZBgCIAEoDRqXAQoMVGFrZVBvc2l0aW9uEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEgwKBHNpemUYAyABKAMSHgoRc2VuZGVyX2FjY291bnRfaWQYBCABKA1IAIgBARISCgVwcmljZRgFIAEoBEgBiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIICgZfcHJpY2VCBgoEa2luZCJ3ChNBdG9taWNTdWJhY3Rpb25LaW5kEiwKDnRyYWRlX29yX3BsYWNlGAYgASgLMhIubm9yZC5UcmFkZU9yUGxhY2VIABIpCgxjYW5jZWxfb3JkZXIYByABKAsyES5ub3JkLkNhbmNlbE9yZGVySABCBwoFaW5uZXIicAoGQXRvbWljEhIKCnNlc3Npb25faWQYASABKAQSFwoKYWNjb3VudF9pZBgCIAEoDUgAiAEBEioKB2FjdGlvbnMYBiADKAsyGS5ub3JkLkF0b21pY1N1YmFjdGlvbktpbmRCDQoLX2FjY291bnRfaWQivxsKB1JlY2VpcHQSEQoJYWN0aW9uX2lkGAEgASgEEhoKA2VychggIAEoDjILLm5vcmQuRXJyb3JIABJCChVjcmVhdGVfc2Vzc2lvbl9yZXN1bHQYISABKAsyIS5ub3JkLlJlY2VpcHQuQ3JlYXRlU2Vzc2lvblJlc3VsdEgAEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgiIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASPgoTY2FuY2VsX29yZGVyX3Jlc3VsdBgjIAEoCzIfLm5vcmQuUmVjZWlwdC5DYW5jZWxPcmRlclJlc3VsdEgAEjUKDmRlcG9zaXRfcmVzdWx0GCQgASgLMhsubm9yZC5SZWNlaXB0LkRlcG9zaXRSZXN1bHRIABI+ChNpbnNlcnRfdG9rZW5fcmVzdWx0GCUgASgLMh8ubm9yZC5SZWNlaXB0Lkluc2VydFRva2VuUmVzdWx0SAASQAoUaW5zZXJ0X21hcmtldF9yZXN1bHQYJiABKAsyIC5ub3JkLlJlY2VpcHQuSW5zZXJ0TWFya2V0UmVzdWx0SAASNwoPd2l0aGRyYXdfcmVzdWx0GCcgASgLMhwubm9yZC5SZWNlaXB0LldpdGhkcmF3UmVzdWx0SAASSQoZb3JhY2xlX3N5bWJvbF9mZWVkX3Jlc3VsdBgoIAEoCzIkLm5vcmQuUmVjZWlwdC5PcmFjbGVTeW1ib2xGZWVkUmVzdWx0SAASQAoUb3JhY2xlX3VwZGF0ZV9yZXN1bHQYKSABKAsyIC5ub3JkLlJlY2VpcHQuT3JhY2xlVXBkYXRlUmVzdWx0SAASSwoadXBkYXRlX2d1YXJkaWFuX3NldF9yZXN1bHQYKiABKAsyJS5ub3JkLlJlY2VpcHQuVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHRIABI1CgpsaXF1aWRhdGVkGCsgASgLMh8ubm9yZC5SZWNlaXB0LkFjY291bnRMaXF1aWRhdGVkSAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEk0KGHBvc2l0aW9uX3Rha2VuX29yX3RyYWRlZBhCIAEoCzIpLm5vcmQuUmVjZWlwdC5Qb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHRIABIsCgZhdG9taWMYQyABKAsyGi5ub3JkLlJlY2VpcHQuQXRvbWljUmVzdWx0SAASQgoVbWFya2V0X2ZyZWV6ZV91cGRhdGVkGEQgASgLMiEubm9yZC5SZWNlaXB0Lk1hcmtldEZyZWV6ZVVwZGF0ZWRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGkoKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRopChNDcmVhdGVTZXNzaW9uUmVzdWx0EhIKCnNlc3Npb25faWQYASABKAQaQwoJVHJpZ2dlcmVkEh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhUKDXRyaWdnZXJfcHJpY2UYBCABKAQalQIKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBEi8KCXRyaWdnZXJlZBgFIAEoCzIXLm5vcmQuUmVjZWlwdC5UcmlnZ2VyZWRIA4gBAUIJCgdfcG9zdGVkQhIKEF9jbGllbnRfb3JkZXJfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZEIMCgpfdHJpZ2dlcmVkGkIKC1Rha2VuUmVzdWx0EgsKA3BubBgBIAEoAxIMCgRzaXplGAIgASgDEhgKEHRha2VyX2FjY291bnRfaWQYAyABKA0aqwEKG1Bvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdBIRCgltYXJrZXRfaWQYASABKA0SKgoFdGFrZW4YAiABKAsyGS5ub3JkLlJlY2VpcHQuVGFrZW5SZXN1bHRIABIwCgZ0cmFkZWQYAyABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAQhsKGVBvc2l0aW9uVGFrZW5PclRyYWRlZEtpbmQaOQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRpwCg1EZXBvc2l0UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBISCgphY2NvdW50X2lkGAMgASgNEhQKDHVzZXJfY3JlYXRlZBgEIAEoCBITCgt1c2VyX3B1YmtleRgFIAEoDBpDChFJbnNlcnRUb2tlblJlc3VsdBISCgpjaGFpbl9hZGRyGAEgASgMEhoKBXRva2VuGAIgASgLMgsubm9yZC5Ub2tlbhoyChJJbnNlcnRNYXJrZXRSZXN1bHQSHAoGbWFya2V0GAEgASgLMgwubm9yZC5NYXJrZXQaeQoOV2l0aGRyYXdSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEg8KB2JhbGFuY2UYAyABKAQSEgoKYWNjb3VudF9pZBgEIAEoDRILCgNmZWUYBSABKAQSEwoLdXNlcl9wdWJrZXkYBiABKAwaQAoWT3JhY2xlU3ltYm9sRmVlZFJlc3VsdBIVCg1vcmFjbGVfc3ltYm9sGAEgASgJEg8KB2ZlZWRfaWQYAiABKAwaJwoST3JhY2xlVXBkYXRlUmVzdWx0EhEKCXRpbWVzdGFtcBgBIAEoAxpIChdVcGRhdGVHdWFyZGlhblNldFJlc3VsdBIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMGkMKDFBlcnBQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEg0KBXByaWNlGAMgASgEGp4BChFBY2NvdW50TGlxdWlkYXRlZBIdChVsaXF1aWRhdG9yX2FjY291bnRfaWQYASABKA0SHQoVbGlxdWlkYXRlZV9hY2NvdW50X2lkGAIgASgNEhgKEGNhbmNlbGxlZF9vcmRlcnMYAyADKAQSMQoNcmVtb3ZlZF9wZXJwcxgEIAMoCzIaLm5vcmQuUmVjZWlwdC5QZXJwUG9zaXRpb24aEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGuEBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SHAoPdG9fdXNlcl9hY2NvdW50GAIgASgNSACIAQESEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBI1ChJ0b19zcGVjaWFsX2FjY291bnQYBiABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEgoQX3RvX3VzZXJfYWNjb3VudEIVChNfdG9fc3BlY2lhbF9hY2NvdW50Gg4KDFRyaWdnZXJBZGRlZBoQCg5UcmlnZ2VyUmVtb3ZlZBo4ChNNYXJrZXRGcmVlemVVcGRhdGVkEhEKCW1hcmtldF9pZBgBIAEoDRIOCgZmcm96ZW4YAiABKAgamwEKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASrdGQoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhFWFBJUllfVElNRVNUQU1QX0lOX1BBU1QQEBIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIXChNJTlZBTElEX09SREVSX09XTkVSEBYSIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGsSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIUChBGVU5ESU5HX09WRVJGTE9XEHsSNwozQ0FOX1JFRFVDRV9QT1NJVElPTl9PTkxZX0lGX0FMTF9PUkRFUlNfQVJFX0NBTkNFTEVEEHwSFwoTVU5FWFBFQ1RFRF9UT0tFTl9JRBB/EhQKD1RPS0VOX05PVF9SRUFEWRCCARIcChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQcBIhChxJTU1FRElBVEVfT1JERVJfR09UX05PX0ZJTExTEIUBEhkKFEZBSUxFRF9UT19GSUxMX0xJTUlUEIYBEjAKK1BPU1RfT05MWV9NVVNUX05PVF9GSUxMX0FOWV9PUFBPU0lURV9PUkRFUlMQhwESDAoHSU5WQUxJRBCIARIQCgtNQUlOVEVOQU5DRRCJARIaChVNSU5JTVVNX1NJWkVfREVDSU1BTFMQigESMgotUEFSQU1FVEVSU19XSUxMX0NSRUFURV9OT05fT1BFUkFUSU9OQUxfTUFSS0VUEIsBEiIKHU9OTFlfSU1NRURJQVRFX09SREVSU19BTExPV0VEEIwBEhsKFlRPT19NQU5ZX1VTRVJfQUNDT1VOVFMQjQESFgoRQUNDT1VOVF9OT1RfRk9VTkQQjgESGgoVQUNDT1VOVF9JTlZBTElEX09XTkVSEI8BEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESGAoTUE9TSVRJT05fU1RBVEVfUEVSUBDPARIkCh9QT1NJVElPTl9TVEFURV9PUkRFUl9ERUxFR0FUSU9OENABEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESJQogT1JERVJfU0laRV9FWENFRURTX1BPU0lUSU9OX1NJWkUQ+QESKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgAISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCBAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhQKD05PVF9JTVBMRU1FTlRFRBD0AxIMCgdEcm9wcGVkEOcHKh4KDlNwZWNpYWxBY2NvdW50EgwKCEZlZVZhdWx0EABiBnByb3RvMw");
18
+ fileDesc("Cgpub3JkLnByb3RvEgRub3JkIj0KDUZlZVRpZXJDb25maWcSFQoNbWFrZXJfZmVlX2JwcxgBIAEoDRIVCg10YWtlcl9mZWVfYnBzGAIgASgNItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCJHCgpUcmlnZ2VyS2V5Eh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYBCABKA4yCi5ub3JkLlNpZGUikCEKBkFjdGlvbhIZChFjdXJyZW50X3RpbWVzdGFtcBgBIAEoAxINCgVub25jZRgCIAEoDRI0Cg5jcmVhdGVfc2Vzc2lvbhgEIAEoCzIaLm5vcmQuQWN0aW9uLkNyZWF0ZVNlc3Npb25IABIwCgxjcmVhdGVfdG9rZW4YBSABKAsyGC5ub3JkLkFjdGlvbi5DcmVhdGVUb2tlbkgAEjIKDWNyZWF0ZV9tYXJrZXQYBiABKAsyGS5ub3JkLkFjdGlvbi5DcmVhdGVNYXJrZXRIABIuCgtwbGFjZV9vcmRlchgHIAEoCzIXLm5vcmQuQWN0aW9uLlBsYWNlT3JkZXJIABI6ChJjYW5jZWxfb3JkZXJfYnlfaWQYCCABKAsyHC5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5SWRIABInCgdkZXBvc2l0GAkgASgLMhQubm9yZC5BY3Rpb24uRGVwb3NpdEgAEikKCHdpdGhkcmF3GAogASgLMhUubm9yZC5BY3Rpb24uV2l0aGRyYXdIABJMChtweXRoX3NldF93b3JtaG9sZV9ndWFyZGlhbnMYCyABKAsyJS5ub3JkLkFjdGlvbi5QeXRoU2V0V29ybWhvbGVHdWFyZGlhbnNIABI+ChRweXRoX3NldF9zeW1ib2xfZmVlZBgMIAEoCzIeLm5vcmQuQWN0aW9uLlB5dGhTZXRTeW1ib2xGZWVkSAASQgoWcHl0aF9wcmljZV9mZWVkX3VwZGF0ZRgNIAEoCzIgLm5vcmQuQWN0aW9uLlB5dGhQcmljZUZlZWRVcGRhdGVIABIrCglsaXF1aWRhdGUYDiABKAsyFi5ub3JkLkFjdGlvbi5MaXF1aWRhdGVIABI0Cg5yZXZva2Vfc2Vzc2lvbhgPIAEoCzIaLm5vcmQuQWN0aW9uLlJldm9rZVNlc3Npb25IABIjCgVwYXVzZRgQIAEoCzISLm5vcmQuQWN0aW9uLlBhdXNlSAASJwoHdW5wYXVzZRgRIAEoCzIULm5vcmQuQWN0aW9uLlVucGF1c2VIABIpCgh0cmFuc2ZlchgSIAEoCzIVLm5vcmQuQWN0aW9uLlRyYW5zZmVySAASLgoLYWRkX3RyaWdnZXIYICABKAsyFy5ub3JkLkFjdGlvbi5BZGRUcmlnZ2VySAASNAoOcmVtb3ZlX3RyaWdnZXIYISABKAsyGi5ub3JkLkFjdGlvbi5SZW1vdmVUcmlnZ2VySAASMgoNdGFrZV9wb3NpdGlvbhgiIAEoCzIZLm5vcmQuQWN0aW9uLlRha2VQb3NpdGlvbkgAEh4KBmF0b21pYxgjIAEoCzIMLm5vcmQuQXRvbWljSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAASLwoMYWRkX2ZlZV90aWVyGCYgASgLMhcubm9yZC5BY3Rpb24uQWRkRmVlVGllckgAEjUKD3VwZGF0ZV9mZWVfdGllchgnIAEoCzIaLm5vcmQuQWN0aW9uLlVwZGF0ZUZlZVRpZXJIABI/ChR1cGRhdGVfYWNjb3VudHNfdGllchgoIAEoCzIfLm5vcmQuQWN0aW9uLlVwZGF0ZUFjY291bnRzVGllckgAEiwKCnVwZGF0ZV9hY2wYKSABKAsyFi5ub3JkLkFjdGlvbi5VcGRhdGVBY2xIABpTCg1DcmVhdGVTZXNzaW9uEhMKC3VzZXJfcHVia2V5GAEgASgMEhMKC2Jsc3RfcHVia2V5GAIgASgMEhgKEGV4cGlyeV90aW1lc3RhbXAYAyABKAMaiwEKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBISCgphY2xfcHVia2V5GAcgASgMGu4BCgxDcmVhdGVNYXJrZXQSFQoNc2l6ZV9kZWNpbWFscxgBIAEoDRIWCg5wcmljZV9kZWNpbWFscxgCIAEoDRIPCgdpbWZfYnBzGAMgASgNEg8KB2NtZl9icHMYBCABKA0SDwoHbW1mX2JwcxgFIAEoDRIlCgttYXJrZXRfdHlwZRgGIAEoDjIQLm5vcmQuTWFya2V0VHlwZRITCgt2aWV3X3N5bWJvbBgHIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAggASgJEhUKDWJhc2VfdG9rZW5faWQYCSABKA0SEgoKYWNsX3B1YmtleRgKIAEoDBqmAwoKUGxhY2VPcmRlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIYCgRzaWRlGAMgASgOMgoubm9yZC5TaWRlEiEKCWZpbGxfbW9kZRgEIAEoDjIOLm5vcmQuRmlsbE1vZGUSFgoOaXNfcmVkdWNlX29ubHkYBSABKAgSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUSIQoUZGVsZWdhdG9yX2FjY291bnRfaWQYICABKA1IAIgBARIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAYgBARIeChFzZW5kZXJfYWNjb3VudF9pZBgiIAEoDUgCiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgjIAEoBEgDiAEBQhcKFV9kZWxlZ2F0b3JfYWNjb3VudF9pZEISChBfY2xpZW50X29yZGVyX2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkGqkBCg9DYW5jZWxPcmRlckJ5SWQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCghvcmRlcl9pZBgCIAEoBBIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCEgASgNSAGIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZBpvCgdEZXBvc2l0EhQKDGFjdGlvbl9ub25jZRgBIAEoBBISCgp0b2tlbl9hZGRyGAIgASgMEg4KBmFtb3VudBgDIAEoBBITCgt1c2VyX3B1YmtleRgEIAEoDBIVCg1zZW5kZXJfcHVia2V5GAUgASgMGkAKCFdpdGhkcmF3EhAKCHRva2VuX2lkGAEgASgNEhIKCnNlc3Npb25faWQYAiABKAQSDgoGYW1vdW50GAMgASgEGl0KGFB5dGhTZXRXb3JtaG9sZUd1YXJkaWFucxIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMEhIKCmFjbF9wdWJrZXkYAyABKAwaVQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMEhIKCmFjbF9wdWJrZXkYAyABKAwaLwoTUHl0aFByaWNlRmVlZFVwZGF0ZRIYChByYXdfcHl0aG5ldF9kYXRhGAEgASgMGocBCglMaXF1aWRhdGUSHQoVbGlxdWlkYXRvcl9zZXNzaW9uX2lkGAEgASgEEh0KFWxpcXVpZGF0ZWVfYWNjb3VudF9pZBgCIAEoDRIiChVsaXF1aWRhdG9yX2FjY291bnRfaWQYAyABKA1IAIgBAUIYChZfbGlxdWlkYXRvcl9hY2NvdW50X2lkGiMKDVJldm9rZVNlc3Npb24SEgoKc2Vzc2lvbl9pZBgBIAEoBBobCgVQYXVzZRISCgphY2xfcHVia2V5GAEgASgMGh0KB1VucGF1c2USEgoKYWNsX3B1YmtleRgBIAEoDBrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBpQCg1UcmlnZ2VyUHJpY2VzEhUKDXRyaWdnZXJfcHJpY2UYBSABKAQSGAoLbGltaXRfcHJpY2UYBiABKARIAIgBAUIOCgxfbGltaXRfcHJpY2UapgEKCkFkZFRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EioKBnByaWNlcxgEIAEoCzIaLm5vcmQuQWN0aW9uLlRyaWdnZXJQcmljZXMSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGn0KDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBpFCgpBZGRGZWVUaWVyEhIKCmFjbF9wdWJrZXkYASABKAwSIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnGlQKDVVwZGF0ZUZlZVRpZXISCgoCaWQYASABKA0SIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnEhIKCmFjbF9wdWJrZXkYAyABKAwaSwoSVXBkYXRlQWNjb3VudHNUaWVyEg8KB3RpZXJfaWQYASABKA0SEAoIYWNjb3VudHMYAiADKA0SEgoKYWNsX3B1YmtleRgDIAEoDBpfCglVcGRhdGVBY2wSEgoKYWNsX3B1YmtleRgBIAEoDBIVCg10YXJnZXRfcHVia2V5GAIgASgMEhIKCnJvbGVzX21hc2sYAyABKA0SEwoLcm9sZXNfdmFsdWUYBCABKA0aNQoMRnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGjcKDlVuZnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGpcBCgxUYWtlUG9zaXRpb24SEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SDAoEc2l6ZRgDIAEoAxIeChFzZW5kZXJfYWNjb3VudF9pZBgEIAEoDUgAiAEBEhIKBXByaWNlGAUgASgESAGIAQFCFAoSX3NlbmRlcl9hY2NvdW50X2lkQggKBl9wcmljZUIGCgRraW5kIncKE0F0b21pY1N1YmFjdGlvbktpbmQSLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEikKDGNhbmNlbF9vcmRlchgHIAEoCzIRLm5vcmQuQ2FuY2VsT3JkZXJIAEIHCgVpbm5lciJwCgZBdG9taWMSEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCgphY2NvdW50X2lkGAIgASgNSACIAQESKgoHYWN0aW9ucxgGIAMoCzIZLm5vcmQuQXRvbWljU3ViYWN0aW9uS2luZEINCgtfYWNjb3VudF9pZCK4HwoHUmVjZWlwdBIRCglhY3Rpb25faWQYASABKAQSGgoDZXJyGCAgASgOMgsubm9yZC5FcnJvckgAEkIKFWNyZWF0ZV9zZXNzaW9uX3Jlc3VsdBghIAEoCzIhLm5vcmQuUmVjZWlwdC5DcmVhdGVTZXNzaW9uUmVzdWx0SAASPAoScGxhY2Vfb3JkZXJfcmVzdWx0GCIgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI+ChNjYW5jZWxfb3JkZXJfcmVzdWx0GCMgASgLMh8ubm9yZC5SZWNlaXB0LkNhbmNlbE9yZGVyUmVzdWx0SAASNQoOZGVwb3NpdF9yZXN1bHQYJCABKAsyGy5ub3JkLlJlY2VpcHQuRGVwb3NpdFJlc3VsdEgAEj4KE2luc2VydF90b2tlbl9yZXN1bHQYJSABKAsyHy5ub3JkLlJlY2VpcHQuSW5zZXJ0VG9rZW5SZXN1bHRIABJAChRpbnNlcnRfbWFya2V0X3Jlc3VsdBgmIAEoCzIgLm5vcmQuUmVjZWlwdC5JbnNlcnRNYXJrZXRSZXN1bHRIABI3Cg93aXRoZHJhd19yZXN1bHQYJyABKAsyHC5ub3JkLlJlY2VpcHQuV2l0aGRyYXdSZXN1bHRIABJJChlvcmFjbGVfc3ltYm9sX2ZlZWRfcmVzdWx0GCggASgLMiQubm9yZC5SZWNlaXB0Lk9yYWNsZVN5bWJvbEZlZWRSZXN1bHRIABJAChRvcmFjbGVfdXBkYXRlX3Jlc3VsdBgpIAEoCzIgLm5vcmQuUmVjZWlwdC5PcmFjbGVVcGRhdGVSZXN1bHRIABJLChp1cGRhdGVfZ3VhcmRpYW5fc2V0X3Jlc3VsdBgqIAEoCzIlLm5vcmQuUmVjZWlwdC5VcGRhdGVHdWFyZGlhblNldFJlc3VsdEgAEjUKCmxpcXVpZGF0ZWQYKyABKAsyHy5ub3JkLlJlY2VpcHQuQWNjb3VudExpcXVpZGF0ZWRIABI3Cg9zZXNzaW9uX3Jldm9rZWQYLCABKAsyHC5ub3JkLlJlY2VpcHQuU2Vzc2lvblJldm9rZWRIABImCgZwYXVzZWQYLSABKAsyFC5ub3JkLlJlY2VpcHQuUGF1c2VkSAASKgoIdW5wYXVzZWQYLiABKAsyFi5ub3JkLlJlY2VpcHQuVW5wYXVzZWRIABIwCgt0cmFuc2ZlcnJlZBgvIAEoCzIZLm5vcmQuUmVjZWlwdC5UcmFuc2ZlcnJlZEgAEjMKDXRyaWdnZXJfYWRkZWQYQCABKAsyGi5ub3JkLlJlY2VpcHQuVHJpZ2dlckFkZGVkSAASNwoPdHJpZ2dlcl9yZW1vdmVkGEEgASgLMhwubm9yZC5SZWNlaXB0LlRyaWdnZXJSZW1vdmVkSAASTQoYcG9zaXRpb25fdGFrZW5fb3JfdHJhZGVkGEIgASgLMikubm9yZC5SZWNlaXB0LlBvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABJCChVtYXJrZXRfZnJlZXplX3VwZGF0ZWQYRCABKAsyIS5ub3JkLlJlY2VpcHQuTWFya2V0RnJlZXplVXBkYXRlZEgAEjQKDmZlZV90aWVyX2FkZGVkGEUgASgLMhoubm9yZC5SZWNlaXB0LkZlZVRpZXJBZGRlZEgAEjgKEGZlZV90aWVyX3VwZGF0ZWQYRiABKAsyHC5ub3JkLlJlY2VpcHQuRmVlVGllclVwZGF0ZWRIABJCChVhY2NvdW50c190aWVyX3VwZGF0ZWQYRyABKAsyIS5ub3JkLlJlY2VpcHQuQWNjb3VudHNUaWVyVXBkYXRlZEgAEi8KC2FjbF91cGRhdGVkGEggASgLMhgubm9yZC5SZWNlaXB0LkFjbFVwZGF0ZWRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGkoKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRopChNDcmVhdGVTZXNzaW9uUmVzdWx0EhIKCnNlc3Npb25faWQYASABKAQaQwoJVHJpZ2dlcmVkEh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhUKDXRyaWdnZXJfcHJpY2UYBCABKAQalQIKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBEi8KCXRyaWdnZXJlZBgFIAEoCzIXLm5vcmQuUmVjZWlwdC5UcmlnZ2VyZWRIA4gBAUIJCgdfcG9zdGVkQhIKEF9jbGllbnRfb3JkZXJfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZEIMCgpfdHJpZ2dlcmVkGkIKC1Rha2VuUmVzdWx0EgsKA3BubBgBIAEoAxIMCgRzaXplGAIgASgDEhgKEHRha2VyX2FjY291bnRfaWQYAyABKA0aqwEKG1Bvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdBIRCgltYXJrZXRfaWQYASABKA0SKgoFdGFrZW4YAiABKAsyGS5ub3JkLlJlY2VpcHQuVGFrZW5SZXN1bHRIABIwCgZ0cmFkZWQYAyABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAQhsKGVBvc2l0aW9uVGFrZW5PclRyYWRlZEtpbmQaOQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRpwCg1EZXBvc2l0UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBISCgphY2NvdW50X2lkGAMgASgNEhQKDHVzZXJfY3JlYXRlZBgEIAEoCBITCgt1c2VyX3B1YmtleRgFIAEoDBpDChFJbnNlcnRUb2tlblJlc3VsdBISCgpjaGFpbl9hZGRyGAEgASgMEhoKBXRva2VuGAIgASgLMgsubm9yZC5Ub2tlbhoyChJJbnNlcnRNYXJrZXRSZXN1bHQSHAoGbWFya2V0GAEgASgLMgwubm9yZC5NYXJrZXQaeQoOV2l0aGRyYXdSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEg8KB2JhbGFuY2UYAyABKAQSEgoKYWNjb3VudF9pZBgEIAEoDRILCgNmZWUYBSABKAQSEwoLdXNlcl9wdWJrZXkYBiABKAwaQAoWT3JhY2xlU3ltYm9sRmVlZFJlc3VsdBIVCg1vcmFjbGVfc3ltYm9sGAEgASgJEg8KB2ZlZWRfaWQYAiABKAwaJwoST3JhY2xlVXBkYXRlUmVzdWx0EhEKCXRpbWVzdGFtcBgBIAEoAxpIChdVcGRhdGVHdWFyZGlhblNldFJlc3VsdBIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMGkMKDFBlcnBQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEg0KBXByaWNlGAMgASgEGp4BChFBY2NvdW50TGlxdWlkYXRlZBIdChVsaXF1aWRhdG9yX2FjY291bnRfaWQYASABKA0SHQoVbGlxdWlkYXRlZV9hY2NvdW50X2lkGAIgASgNEhgKEGNhbmNlbGxlZF9vcmRlcnMYAyADKAQSMQoNcmVtb3ZlZF9wZXJwcxgEIAMoCzIaLm5vcmQuUmVjZWlwdC5QZXJwUG9zaXRpb24aEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGuEBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SHAoPdG9fdXNlcl9hY2NvdW50GAIgASgNSACIAQESEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBI1ChJ0b19zcGVjaWFsX2FjY291bnQYBiABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEgoQX3RvX3VzZXJfYWNjb3VudEIVChNfdG9fc3BlY2lhbF9hY2NvdW50Gg4KDFRyaWdnZXJBZGRlZBoQCg5UcmlnZ2VyUmVtb3ZlZBo4ChNNYXJrZXRGcmVlemVVcGRhdGVkEhEKCW1hcmtldF9pZBgBIAEoDRIOCgZmcm96ZW4YAiABKAgaMwoMRmVlVGllckFkZGVkEiMKBmNvbmZpZxgBIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxpBCg5GZWVUaWVyVXBkYXRlZBIKCgJpZBgBIAEoDRIjCgZjb25maWcYAiABKAsyEy5ub3JkLkZlZVRpZXJDb25maWcaOAoTQWNjb3VudHNUaWVyVXBkYXRlZBIPCgd0aWVyX2lkGAEgASgNEhAKCGFjY291bnRzGAIgAygNGmAKCkFjbFVwZGF0ZWQSEgoKYWNsX3B1YmtleRgBIAEoDBISCgpyb2xlc19tYXNrGAIgASgEEhUKDXRhcmdldF9wdWJrZXkYAyABKAwSEwoLcm9sZXNfdmFsdWUYBCABKAQamwEKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASqSGwoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhFWFBJUllfVElNRVNUQU1QX0lOX1BBU1QQEBIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIXChNJTlZBTElEX09SREVSX09XTkVSEBYSIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSGQoVVElFUl9GRUVfT1VUX09GX1JBTkdFEGoSGAoUVElFUl9JRF9PVVRfT0ZfUkFOR0UQaxITCg9JTlZBTElEX01BUkdJTlMQbBIhCh1NQVJLRVRfREVDSU1BTFNfRVhDRUVEX0xJTUlUUxBtEhMKD1RPT19NQU5ZX1RPS0VOUxBuEhQKEEZVTkRJTkdfT1ZFUkZMT1cQexI3CjNDQU5fUkVEVUNFX1BPU0lUSU9OX09OTFlfSUZfQUxMX09SREVSU19BUkVfQ0FOQ0VMRUQQfBIXChNVTkVYUEVDVEVEX1RPS0VOX0lEEH8SFAoPVE9LRU5fTk9UX1JFQURZEIIBEhwKGFRPS0VOX0FMUkVBRFlfUkVHSVNURVJFRBBwEiEKHElNTUVESUFURV9PUkRFUl9HT1RfTk9fRklMTFMQhQESGQoURkFJTEVEX1RPX0ZJTExfTElNSVQQhgESMAorUE9TVF9PTkxZX01VU1RfTk9UX0ZJTExfQU5ZX09QUE9TSVRFX09SREVSUxCHARIMCgdJTlZBTElEEIgBEhAKC01BSU5URU5BTkNFEIkBEhoKFU1JTklNVU1fU0laRV9ERUNJTUFMUxCKARIyCi1QQVJBTUVURVJTX1dJTExfQ1JFQVRFX05PTl9PUEVSQVRJT05BTF9NQVJLRVQQiwESIgodT05MWV9JTU1FRElBVEVfT1JERVJTX0FMTE9XRUQQjAESGwoWVE9PX01BTllfVVNFUl9BQ0NPVU5UUxCNARIWChFBQ0NPVU5UX05PVF9GT1VORBCOARIaChVBQ0NPVU5UX0lOVkFMSURfT1dORVIQjwESEQoMRFVTVF9BQ0NPVU5UEJEBEgwKB0JBTEFOQ0UQoAESHQoYQkFMQU5DRV9ERVBPU0lUX09WRVJGTE9XEKEBEhwKF0JBTEFOQ0VfQ0hBTkdFX09WRVJGTE9XEKIBEiIKHUJBTEFOQ0VfQ0hBTkdFX0xJTUlUX0VYQ0VFREVEEKMBEhkKFEJBTEFOQ0VfSU5TVUZGSUNJRU5UEKQBEh4KGVVOQVVUSEVOVElDQVRFRF9MMV9BQ1RJT04QpQESHQoYRU5DT0RFRF9BQ1RJT05fVE9PX0xBUkdFEKYBEgwKB1RSSUdHRVIQqAESGgoVVFJJR0dFUl9JTlZBTElEX1BSSUNFEKkBEhYKEVRSSUdHRVJfTk9UX0ZPVU5EEKoBEg4KCVRJTUVTVEFNUBCwARIfChpUSU1FU1RBTVBfT1VUX09GX1RIUkVTSE9MRBCxARIUCg9USU1FU1RBTVBfU1RBTEUQsgESJQogQkFOS1JVUFRDWV9JTlNVRkZJQ0lFTlRfQ09WRVJBR0UQuQESGQoUQkFOS1JVUFRDWV9OT1RfRk9VTkQQugESGwoWQkFOS1JVUFRDWV9OT1RfQUxMT1dFRBC7ARIVChBNQVJLRVRfTk9UX1JFQURZEMABEhIKDU1BUktFVF9GUk9aRU4QwQESEQoMTUFSS0VUX0VNUFRZEMIBEg0KCFBPU0lUSU9OEMgBEhcKElBPU0lUSU9OX05PVF9GT1VORBDJARIZChRQT1NJVElPTl9TVEFURV9PUkRFUhDKARIfChpQT1NJVElPTl9TVEFURV9PUkRFUl9QUklDRRDLARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSVpFEMwBEh4KGVBPU0lUSU9OX1NUQVRFX09SREVSX1NJREUQzQESGAoTUE9TSVRJT05fU0laRV9MSU1JVBDOARIYChNQT1NJVElPTl9TVEFURV9QRVJQEM8BEiQKH1BPU0lUSU9OX1NUQVRFX09SREVSX0RFTEVHQVRJT04Q0AESCgoFUFJJQ0UQ0QESGwoWU0lHTkFUVVJFX1ZFUklGSUNBVElPThDZARIwCitTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX01BTEZPUk1FRF9QVUJMSUNfS0VZENoBEioKJVNJR05BVFVSRV9WRVJJRklDQVRJT05fSU5WQUxJRF9MRU5HVEgQ2wESCQoEUklTSxDgARI0Ci9SSVNLX0RFTEVHQVRJT05fTUZfVE9fQkVfTEVTU19USEFOX09SX0VRVUFMX01NRhDhARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfSU1GEOIBEiQKH1JJU0tfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ4wESKgolUklTS19UUkFERV9PTUZfTEVTU19USEFOX09SX0VRVUFMX0NNRhDlARI1CjBSSVNLX1VOSEVBTFRIWV9NRl9BTkRfUE9OX0FGVEVSX0JFVFRFUl9PRl9CRUZPUkUQ5AESFAoPT1JERVJfRVhFQ1VUSU9OEPABEhoKFU9SREVSX0VYRUNVVElPTl9FTVBUWRDxARIhChxPUkRFUl9FWEVDVVRJT05fRklMTF9PUl9LSUxMEPIBEiMKHk9SREVSX0VYRUNVVElPTl9NSVNTSU5HX0xJTUlUUxDzARIiCh1PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19QUklDRRD0ARIfChpPUkRFUl9FWEVDVVRJT05fU0laRV9MSU1JVBD1ARIgChtPUkRFUl9FWEVDVVRJT05fTElNSVRfUFJJQ0UQ9gESHgoZT1JERVJfUkVEVUNFX0lTX1BPU1RfT05MWRD3ARIfChpPUkRFUl9FWEVDVVRJT05fU0VMTF9QUklDRRD4ARIlCiBPUkRFUl9TSVpFX0VYQ0VFRFNfUE9TSVRJT05fU0laRRD5ARIoCiNBVE9NSUNTX1RSQURFU19DQU5OT1RfRk9MTE9XX1BMQUNFUxCAAhIwCitBVE9NSUNTX0NBTkNFTFNfQ0FOTk9UX0ZPTExPV19UUkFERVNfUExBQ0VTEIECEiYKIUFDVElPTl9QT1NJVElPTl9TSE9VTERfQkVfQ09WRVJFRBCRAhIZChRBQ1RJT05fSU5WQUxJRF9OT05DRRCSAhIpCiRBQ1RJT05fUFJPUE9TRURfUFJJQ0VfTVVTVF9CRV9ISUdIRVIQkwISHAoXQURNSU5fUk9MRV9JTlNVRkZJQ0lFTlQQlAISFAoPQURNSU5fTk9UX0ZPVU5EEJUCEikKJFVOSVFVRV9TVVBFUl9BRE1JTl9DQU5OT1RfQkVfUkVNT1ZFRBCWAhIfChpTVVBFUl9BRE1JTl9BTFJFQURZX0VYSVNUUxCXAhIUCg9OT1RfSU1QTEVNRU5URUQQ9AMSDAoHRHJvcHBlZBDnByoeCg5TcGVjaWFsQWNjb3VudBIMCghGZWVWYXVsdBAAYgZwcm90bzM");
19
+
20
+ /**
21
+ * @generated from message nord.FeeTierConfig
22
+ */
23
+ export type FeeTierConfig = Message<"nord.FeeTierConfig"> & {
24
+ /**
25
+ * @generated from field: uint32 maker_fee_bps = 1;
26
+ */
27
+ makerFeeBps: number;
28
+
29
+ /**
30
+ * @generated from field: uint32 taker_fee_bps = 2;
31
+ */
32
+ takerFeeBps: number;
33
+ };
34
+
35
+ /**
36
+ * @generated from message nord.FeeTierConfig
37
+ */
38
+ export type FeeTierConfigJson = {
39
+ /**
40
+ * @generated from field: uint32 maker_fee_bps = 1;
41
+ */
42
+ makerFeeBps?: number;
43
+
44
+ /**
45
+ * @generated from field: uint32 taker_fee_bps = 2;
46
+ */
47
+ takerFeeBps?: number;
48
+ };
49
+
50
+ /**
51
+ * Describes the message nord.FeeTierConfig.
52
+ * Use `create(FeeTierConfigSchema)` to create a new message.
53
+ */
54
+ export const FeeTierConfigSchema: GenMessage<FeeTierConfig, {jsonType: FeeTierConfigJson}> = /*@__PURE__*/
55
+ messageDesc(file_nord, 0);
19
56
 
20
57
  /**
21
58
  * @generated from message nord.Market
@@ -122,7 +159,7 @@ export type MarketJson = {
122
159
  * Use `create(MarketSchema)` to create a new message.
123
160
  */
124
161
  export const MarketSchema: GenMessage<Market, {jsonType: MarketJson}> = /*@__PURE__*/
125
- messageDesc(file_nord, 0);
162
+ messageDesc(file_nord, 1);
126
163
 
127
164
  /**
128
165
  * @generated from message nord.Token
@@ -183,7 +220,7 @@ export type TokenJson = {
183
220
  * Use `create(TokenSchema)` to create a new message.
184
221
  */
185
222
  export const TokenSchema: GenMessage<Token, {jsonType: TokenJson}> = /*@__PURE__*/
186
- messageDesc(file_nord, 1);
223
+ messageDesc(file_nord, 2);
187
224
 
188
225
  /**
189
226
  * quote_size = size * price, in decimals for specific market
@@ -238,7 +275,7 @@ export type QuoteSizeJson = {
238
275
  * Use `create(QuoteSizeSchema)` to create a new message.
239
276
  */
240
277
  export const QuoteSizeSchema: GenMessage<QuoteSize, {jsonType: QuoteSizeJson}> = /*@__PURE__*/
241
- messageDesc(file_nord, 2);
278
+ messageDesc(file_nord, 3);
242
279
 
243
280
  /**
244
281
  * @generated from message nord.OrderLimit
@@ -289,7 +326,7 @@ export type OrderLimitJson = {
289
326
  * Use `create(OrderLimitSchema)` to create a new message.
290
327
  */
291
328
  export const OrderLimitSchema: GenMessage<OrderLimit, {jsonType: OrderLimitJson}> = /*@__PURE__*/
292
- messageDesc(file_nord, 3);
329
+ messageDesc(file_nord, 4);
293
330
 
294
331
  /**
295
332
  * @generated from message nord.OrderType
@@ -336,7 +373,7 @@ export type OrderTypeJson = {
336
373
  * Use `create(OrderTypeSchema)` to create a new message.
337
374
  */
338
375
  export const OrderTypeSchema: GenMessage<OrderType, {jsonType: OrderTypeJson}> = /*@__PURE__*/
339
- messageDesc(file_nord, 4);
376
+ messageDesc(file_nord, 5);
340
377
 
341
378
  /**
342
379
  * @generated from message nord.TradeOrPlace
@@ -393,7 +430,7 @@ export type TradeOrPlaceJson = {
393
430
  * Use `create(TradeOrPlaceSchema)` to create a new message.
394
431
  */
395
432
  export const TradeOrPlaceSchema: GenMessage<TradeOrPlace, {jsonType: TradeOrPlaceJson}> = /*@__PURE__*/
396
- messageDesc(file_nord, 5);
433
+ messageDesc(file_nord, 6);
397
434
 
398
435
  /**
399
436
  * @generated from message nord.CancelOrder
@@ -420,7 +457,7 @@ export type CancelOrderJson = {
420
457
  * Use `create(CancelOrderSchema)` to create a new message.
421
458
  */
422
459
  export const CancelOrderSchema: GenMessage<CancelOrder, {jsonType: CancelOrderJson}> = /*@__PURE__*/
423
- messageDesc(file_nord, 6);
460
+ messageDesc(file_nord, 7);
424
461
 
425
462
  /**
426
463
  * @generated from message nord.TriggerKey
@@ -457,7 +494,7 @@ export type TriggerKeyJson = {
457
494
  * Use `create(TriggerKeySchema)` to create a new message.
458
495
  */
459
496
  export const TriggerKeySchema: GenMessage<TriggerKey, {jsonType: TriggerKeyJson}> = /*@__PURE__*/
460
- messageDesc(file_nord, 7);
497
+ messageDesc(file_nord, 8);
461
498
 
462
499
  /**
463
500
  * @generated from message nord.Action
@@ -613,6 +650,30 @@ export type Action = Message<"nord.Action"> & {
613
650
  */
614
651
  value: Action_UnfreezeMarket;
615
652
  case: "unfreezeMarket";
653
+ } | {
654
+ /**
655
+ * @generated from field: nord.Action.AddFeeTier add_fee_tier = 38;
656
+ */
657
+ value: Action_AddFeeTier;
658
+ case: "addFeeTier";
659
+ } | {
660
+ /**
661
+ * @generated from field: nord.Action.UpdateFeeTier update_fee_tier = 39;
662
+ */
663
+ value: Action_UpdateFeeTier;
664
+ case: "updateFeeTier";
665
+ } | {
666
+ /**
667
+ * @generated from field: nord.Action.UpdateAccountsTier update_accounts_tier = 40;
668
+ */
669
+ value: Action_UpdateAccountsTier;
670
+ case: "updateAccountsTier";
671
+ } | {
672
+ /**
673
+ * @generated from field: nord.Action.UpdateAcl update_acl = 41;
674
+ */
675
+ value: Action_UpdateAcl;
676
+ case: "updateAcl";
616
677
  } | { case: undefined; value?: undefined };
617
678
  };
618
679
 
@@ -745,6 +806,26 @@ export type ActionJson = {
745
806
  * @generated from field: nord.Action.UnfreezeMarket unfreeze_market = 37;
746
807
  */
747
808
  unfreezeMarket?: Action_UnfreezeMarketJson;
809
+
810
+ /**
811
+ * @generated from field: nord.Action.AddFeeTier add_fee_tier = 38;
812
+ */
813
+ addFeeTier?: Action_AddFeeTierJson;
814
+
815
+ /**
816
+ * @generated from field: nord.Action.UpdateFeeTier update_fee_tier = 39;
817
+ */
818
+ updateFeeTier?: Action_UpdateFeeTierJson;
819
+
820
+ /**
821
+ * @generated from field: nord.Action.UpdateAccountsTier update_accounts_tier = 40;
822
+ */
823
+ updateAccountsTier?: Action_UpdateAccountsTierJson;
824
+
825
+ /**
826
+ * @generated from field: nord.Action.UpdateAcl update_acl = 41;
827
+ */
828
+ updateAcl?: Action_UpdateAclJson;
748
829
  };
749
830
 
750
831
  /**
@@ -752,7 +833,7 @@ export type ActionJson = {
752
833
  * Use `create(ActionSchema)` to create a new message.
753
834
  */
754
835
  export const ActionSchema: GenMessage<Action, {jsonType: ActionJson}> = /*@__PURE__*/
755
- messageDesc(file_nord, 8);
836
+ messageDesc(file_nord, 9);
756
837
 
757
838
  /**
758
839
  * @generated from message nord.Action.CreateSession
@@ -809,7 +890,7 @@ export type Action_CreateSessionJson = {
809
890
  * Use `create(Action_CreateSessionSchema)` to create a new message.
810
891
  */
811
892
  export const Action_CreateSessionSchema: GenMessage<Action_CreateSession, {jsonType: Action_CreateSessionJson}> = /*@__PURE__*/
812
- messageDesc(file_nord, 8, 0);
893
+ messageDesc(file_nord, 9, 0);
813
894
 
814
895
  /**
815
896
  * @generated from message nord.Action.CreateToken
@@ -856,6 +937,11 @@ export type Action_CreateToken = Message<"nord.Action.CreateToken"> & {
856
937
  * @generated from field: bytes sol_addr = 6;
857
938
  */
858
939
  solAddr: Uint8Array;
940
+
941
+ /**
942
+ * @generated from field: bytes acl_pubkey = 7;
943
+ */
944
+ aclPubkey: Uint8Array;
859
945
  };
860
946
 
861
947
  /**
@@ -903,6 +989,11 @@ export type Action_CreateTokenJson = {
903
989
  * @generated from field: bytes sol_addr = 6;
904
990
  */
905
991
  solAddr?: string;
992
+
993
+ /**
994
+ * @generated from field: bytes acl_pubkey = 7;
995
+ */
996
+ aclPubkey?: string;
906
997
  };
907
998
 
908
999
  /**
@@ -910,7 +1001,7 @@ export type Action_CreateTokenJson = {
910
1001
  * Use `create(Action_CreateTokenSchema)` to create a new message.
911
1002
  */
912
1003
  export const Action_CreateTokenSchema: GenMessage<Action_CreateToken, {jsonType: Action_CreateTokenJson}> = /*@__PURE__*/
913
- messageDesc(file_nord, 8, 1);
1004
+ messageDesc(file_nord, 9, 1);
914
1005
 
915
1006
  /**
916
1007
  * @generated from message nord.Action.CreateMarket
@@ -973,6 +1064,11 @@ export type Action_CreateMarket = Message<"nord.Action.CreateMarket"> & {
973
1064
  * @generated from field: uint32 base_token_id = 9;
974
1065
  */
975
1066
  baseTokenId: number;
1067
+
1068
+ /**
1069
+ * @generated from field: bytes acl_pubkey = 10;
1070
+ */
1071
+ aclPubkey: Uint8Array;
976
1072
  };
977
1073
 
978
1074
  /**
@@ -1036,6 +1132,11 @@ export type Action_CreateMarketJson = {
1036
1132
  * @generated from field: uint32 base_token_id = 9;
1037
1133
  */
1038
1134
  baseTokenId?: number;
1135
+
1136
+ /**
1137
+ * @generated from field: bytes acl_pubkey = 10;
1138
+ */
1139
+ aclPubkey?: string;
1039
1140
  };
1040
1141
 
1041
1142
  /**
@@ -1043,7 +1144,7 @@ export type Action_CreateMarketJson = {
1043
1144
  * Use `create(Action_CreateMarketSchema)` to create a new message.
1044
1145
  */
1045
1146
  export const Action_CreateMarketSchema: GenMessage<Action_CreateMarket, {jsonType: Action_CreateMarketJson}> = /*@__PURE__*/
1046
- messageDesc(file_nord, 8, 2);
1147
+ messageDesc(file_nord, 9, 2);
1047
1148
 
1048
1149
  /**
1049
1150
  * Note on order size.
@@ -1292,7 +1393,7 @@ export type Action_PlaceOrderJson = {
1292
1393
  * Use `create(Action_PlaceOrderSchema)` to create a new message.
1293
1394
  */
1294
1395
  export const Action_PlaceOrderSchema: GenMessage<Action_PlaceOrder, {jsonType: Action_PlaceOrderJson}> = /*@__PURE__*/
1295
- messageDesc(file_nord, 8, 3);
1396
+ messageDesc(file_nord, 9, 3);
1296
1397
 
1297
1398
  /**
1298
1399
  * @generated from message nord.Action.CancelOrderById
@@ -1349,7 +1450,7 @@ export type Action_CancelOrderByIdJson = {
1349
1450
  * Use `create(Action_CancelOrderByIdSchema)` to create a new message.
1350
1451
  */
1351
1452
  export const Action_CancelOrderByIdSchema: GenMessage<Action_CancelOrderById, {jsonType: Action_CancelOrderByIdJson}> = /*@__PURE__*/
1352
- messageDesc(file_nord, 8, 4);
1453
+ messageDesc(file_nord, 9, 4);
1353
1454
 
1354
1455
  /**
1355
1456
  * @generated from message nord.Action.Deposit
@@ -1434,7 +1535,7 @@ export type Action_DepositJson = {
1434
1535
  * Use `create(Action_DepositSchema)` to create a new message.
1435
1536
  */
1436
1537
  export const Action_DepositSchema: GenMessage<Action_Deposit, {jsonType: Action_DepositJson}> = /*@__PURE__*/
1437
- messageDesc(file_nord, 8, 5);
1538
+ messageDesc(file_nord, 9, 5);
1438
1539
 
1439
1540
  /**
1440
1541
  * todo(n1): when gate will be here, remove or replace internals with message
@@ -1489,7 +1590,7 @@ export type Action_WithdrawJson = {
1489
1590
  * Use `create(Action_WithdrawSchema)` to create a new message.
1490
1591
  */
1491
1592
  export const Action_WithdrawSchema: GenMessage<Action_Withdraw, {jsonType: Action_WithdrawJson}> = /*@__PURE__*/
1492
- messageDesc(file_nord, 8, 6);
1593
+ messageDesc(file_nord, 9, 6);
1493
1594
 
1494
1595
  /**
1495
1596
  * @generated from message nord.Action.PythSetWormholeGuardians
@@ -1510,6 +1611,11 @@ export type Action_PythSetWormholeGuardians = Message<"nord.Action.PythSetWormho
1510
1611
  * @generated from field: repeated bytes addresses = 2;
1511
1612
  */
1512
1613
  addresses: Uint8Array[];
1614
+
1615
+ /**
1616
+ * @generated from field: bytes acl_pubkey = 3;
1617
+ */
1618
+ aclPubkey: Uint8Array;
1513
1619
  };
1514
1620
 
1515
1621
  /**
@@ -1531,6 +1637,11 @@ export type Action_PythSetWormholeGuardiansJson = {
1531
1637
  * @generated from field: repeated bytes addresses = 2;
1532
1638
  */
1533
1639
  addresses?: string[];
1640
+
1641
+ /**
1642
+ * @generated from field: bytes acl_pubkey = 3;
1643
+ */
1644
+ aclPubkey?: string;
1534
1645
  };
1535
1646
 
1536
1647
  /**
@@ -1538,7 +1649,7 @@ export type Action_PythSetWormholeGuardiansJson = {
1538
1649
  * Use `create(Action_PythSetWormholeGuardiansSchema)` to create a new message.
1539
1650
  */
1540
1651
  export const Action_PythSetWormholeGuardiansSchema: GenMessage<Action_PythSetWormholeGuardians, {jsonType: Action_PythSetWormholeGuardiansJson}> = /*@__PURE__*/
1541
- messageDesc(file_nord, 8, 7);
1652
+ messageDesc(file_nord, 9, 7);
1542
1653
 
1543
1654
  /**
1544
1655
  * Associate a oracle symbol to a Pyth Feed ID.
@@ -1557,6 +1668,11 @@ export type Action_PythSetSymbolFeed = Message<"nord.Action.PythSetSymbolFeed">
1557
1668
  * @generated from field: bytes price_feed_id = 2;
1558
1669
  */
1559
1670
  priceFeedId: Uint8Array;
1671
+
1672
+ /**
1673
+ * @generated from field: bytes acl_pubkey = 3;
1674
+ */
1675
+ aclPubkey: Uint8Array;
1560
1676
  };
1561
1677
 
1562
1678
  /**
@@ -1576,6 +1692,11 @@ export type Action_PythSetSymbolFeedJson = {
1576
1692
  * @generated from field: bytes price_feed_id = 2;
1577
1693
  */
1578
1694
  priceFeedId?: string;
1695
+
1696
+ /**
1697
+ * @generated from field: bytes acl_pubkey = 3;
1698
+ */
1699
+ aclPubkey?: string;
1579
1700
  };
1580
1701
 
1581
1702
  /**
@@ -1583,7 +1704,7 @@ export type Action_PythSetSymbolFeedJson = {
1583
1704
  * Use `create(Action_PythSetSymbolFeedSchema)` to create a new message.
1584
1705
  */
1585
1706
  export const Action_PythSetSymbolFeedSchema: GenMessage<Action_PythSetSymbolFeed, {jsonType: Action_PythSetSymbolFeedJson}> = /*@__PURE__*/
1586
- messageDesc(file_nord, 8, 8);
1707
+ messageDesc(file_nord, 9, 8);
1587
1708
 
1588
1709
  /**
1589
1710
  * @generated from message nord.Action.PythPriceFeedUpdate
@@ -1614,7 +1735,7 @@ export type Action_PythPriceFeedUpdateJson = {
1614
1735
  * Use `create(Action_PythPriceFeedUpdateSchema)` to create a new message.
1615
1736
  */
1616
1737
  export const Action_PythPriceFeedUpdateSchema: GenMessage<Action_PythPriceFeedUpdate, {jsonType: Action_PythPriceFeedUpdateJson}> = /*@__PURE__*/
1617
- messageDesc(file_nord, 8, 9);
1738
+ messageDesc(file_nord, 9, 9);
1618
1739
 
1619
1740
  /**
1620
1741
  * Perform final account liquidation procedure.
@@ -1671,7 +1792,7 @@ export type Action_LiquidateJson = {
1671
1792
  * Use `create(Action_LiquidateSchema)` to create a new message.
1672
1793
  */
1673
1794
  export const Action_LiquidateSchema: GenMessage<Action_Liquidate, {jsonType: Action_LiquidateJson}> = /*@__PURE__*/
1674
- messageDesc(file_nord, 8, 10);
1795
+ messageDesc(file_nord, 9, 10);
1675
1796
 
1676
1797
  /**
1677
1798
  * @generated from message nord.Action.RevokeSession
@@ -1698,7 +1819,7 @@ export type Action_RevokeSessionJson = {
1698
1819
  * Use `create(Action_RevokeSessionSchema)` to create a new message.
1699
1820
  */
1700
1821
  export const Action_RevokeSessionSchema: GenMessage<Action_RevokeSession, {jsonType: Action_RevokeSessionJson}> = /*@__PURE__*/
1701
- messageDesc(file_nord, 8, 11);
1822
+ messageDesc(file_nord, 9, 11);
1702
1823
 
1703
1824
  /**
1704
1825
  * The engine fails with a maintenance error while paused.
@@ -1706,6 +1827,10 @@ export const Action_RevokeSessionSchema: GenMessage<Action_RevokeSession, {jsonT
1706
1827
  * @generated from message nord.Action.Pause
1707
1828
  */
1708
1829
  export type Action_Pause = Message<"nord.Action.Pause"> & {
1830
+ /**
1831
+ * @generated from field: bytes acl_pubkey = 1;
1832
+ */
1833
+ aclPubkey: Uint8Array;
1709
1834
  };
1710
1835
 
1711
1836
  /**
@@ -1714,6 +1839,10 @@ export type Action_Pause = Message<"nord.Action.Pause"> & {
1714
1839
  * @generated from message nord.Action.Pause
1715
1840
  */
1716
1841
  export type Action_PauseJson = {
1842
+ /**
1843
+ * @generated from field: bytes acl_pubkey = 1;
1844
+ */
1845
+ aclPubkey?: string;
1717
1846
  };
1718
1847
 
1719
1848
  /**
@@ -1721,18 +1850,26 @@ export type Action_PauseJson = {
1721
1850
  * Use `create(Action_PauseSchema)` to create a new message.
1722
1851
  */
1723
1852
  export const Action_PauseSchema: GenMessage<Action_Pause, {jsonType: Action_PauseJson}> = /*@__PURE__*/
1724
- messageDesc(file_nord, 8, 12);
1853
+ messageDesc(file_nord, 9, 12);
1725
1854
 
1726
1855
  /**
1727
1856
  * @generated from message nord.Action.Unpause
1728
1857
  */
1729
1858
  export type Action_Unpause = Message<"nord.Action.Unpause"> & {
1859
+ /**
1860
+ * @generated from field: bytes acl_pubkey = 1;
1861
+ */
1862
+ aclPubkey: Uint8Array;
1730
1863
  };
1731
1864
 
1732
1865
  /**
1733
1866
  * @generated from message nord.Action.Unpause
1734
1867
  */
1735
1868
  export type Action_UnpauseJson = {
1869
+ /**
1870
+ * @generated from field: bytes acl_pubkey = 1;
1871
+ */
1872
+ aclPubkey?: string;
1736
1873
  };
1737
1874
 
1738
1875
  /**
@@ -1740,7 +1877,7 @@ export type Action_UnpauseJson = {
1740
1877
  * Use `create(Action_UnpauseSchema)` to create a new message.
1741
1878
  */
1742
1879
  export const Action_UnpauseSchema: GenMessage<Action_Unpause, {jsonType: Action_UnpauseJson}> = /*@__PURE__*/
1743
- messageDesc(file_nord, 8, 13);
1880
+ messageDesc(file_nord, 9, 13);
1744
1881
 
1745
1882
  /**
1746
1883
  * Transfers tokens to specified account.
@@ -1831,7 +1968,7 @@ export type Action_TransferJson = {
1831
1968
  * Use `create(Action_TransferSchema)` to create a new message.
1832
1969
  */
1833
1970
  export const Action_TransferSchema: GenMessage<Action_Transfer, {jsonType: Action_TransferJson}> = /*@__PURE__*/
1834
- messageDesc(file_nord, 8, 14);
1971
+ messageDesc(file_nord, 9, 14);
1835
1972
 
1836
1973
  /**
1837
1974
  * @generated from message nord.Action.TriggerPrices
@@ -1868,7 +2005,7 @@ export type Action_TriggerPricesJson = {
1868
2005
  * Use `create(Action_TriggerPricesSchema)` to create a new message.
1869
2006
  */
1870
2007
  export const Action_TriggerPricesSchema: GenMessage<Action_TriggerPrices, {jsonType: Action_TriggerPricesJson}> = /*@__PURE__*/
1871
- messageDesc(file_nord, 8, 15);
2008
+ messageDesc(file_nord, 9, 15);
1872
2009
 
1873
2010
  /**
1874
2011
  * @generated from message nord.Action.AddTrigger
@@ -1935,7 +2072,7 @@ export type Action_AddTriggerJson = {
1935
2072
  * Use `create(Action_AddTriggerSchema)` to create a new message.
1936
2073
  */
1937
2074
  export const Action_AddTriggerSchema: GenMessage<Action_AddTrigger, {jsonType: Action_AddTriggerJson}> = /*@__PURE__*/
1938
- messageDesc(file_nord, 8, 16);
2075
+ messageDesc(file_nord, 9, 16);
1939
2076
 
1940
2077
  /**
1941
2078
  * @generated from message nord.Action.RemoveTrigger
@@ -1992,12 +2129,205 @@ export type Action_RemoveTriggerJson = {
1992
2129
  * Use `create(Action_RemoveTriggerSchema)` to create a new message.
1993
2130
  */
1994
2131
  export const Action_RemoveTriggerSchema: GenMessage<Action_RemoveTrigger, {jsonType: Action_RemoveTriggerJson}> = /*@__PURE__*/
1995
- messageDesc(file_nord, 8, 17);
2132
+ messageDesc(file_nord, 9, 17);
2133
+
2134
+ /**
2135
+ * @generated from message nord.Action.AddFeeTier
2136
+ */
2137
+ export type Action_AddFeeTier = Message<"nord.Action.AddFeeTier"> & {
2138
+ /**
2139
+ * @generated from field: bytes acl_pubkey = 1;
2140
+ */
2141
+ aclPubkey: Uint8Array;
2142
+
2143
+ /**
2144
+ * @generated from field: nord.FeeTierConfig config = 2;
2145
+ */
2146
+ config?: FeeTierConfig;
2147
+ };
2148
+
2149
+ /**
2150
+ * @generated from message nord.Action.AddFeeTier
2151
+ */
2152
+ export type Action_AddFeeTierJson = {
2153
+ /**
2154
+ * @generated from field: bytes acl_pubkey = 1;
2155
+ */
2156
+ aclPubkey?: string;
2157
+
2158
+ /**
2159
+ * @generated from field: nord.FeeTierConfig config = 2;
2160
+ */
2161
+ config?: FeeTierConfigJson;
2162
+ };
2163
+
2164
+ /**
2165
+ * Describes the message nord.Action.AddFeeTier.
2166
+ * Use `create(Action_AddFeeTierSchema)` to create a new message.
2167
+ */
2168
+ export const Action_AddFeeTierSchema: GenMessage<Action_AddFeeTier, {jsonType: Action_AddFeeTierJson}> = /*@__PURE__*/
2169
+ messageDesc(file_nord, 9, 18);
2170
+
2171
+ /**
2172
+ * @generated from message nord.Action.UpdateFeeTier
2173
+ */
2174
+ export type Action_UpdateFeeTier = Message<"nord.Action.UpdateFeeTier"> & {
2175
+ /**
2176
+ * @generated from field: uint32 id = 1;
2177
+ */
2178
+ id: number;
2179
+
2180
+ /**
2181
+ * @generated from field: nord.FeeTierConfig config = 2;
2182
+ */
2183
+ config?: FeeTierConfig;
2184
+
2185
+ /**
2186
+ * @generated from field: bytes acl_pubkey = 3;
2187
+ */
2188
+ aclPubkey: Uint8Array;
2189
+ };
2190
+
2191
+ /**
2192
+ * @generated from message nord.Action.UpdateFeeTier
2193
+ */
2194
+ export type Action_UpdateFeeTierJson = {
2195
+ /**
2196
+ * @generated from field: uint32 id = 1;
2197
+ */
2198
+ id?: number;
2199
+
2200
+ /**
2201
+ * @generated from field: nord.FeeTierConfig config = 2;
2202
+ */
2203
+ config?: FeeTierConfigJson;
2204
+
2205
+ /**
2206
+ * @generated from field: bytes acl_pubkey = 3;
2207
+ */
2208
+ aclPubkey?: string;
2209
+ };
2210
+
2211
+ /**
2212
+ * Describes the message nord.Action.UpdateFeeTier.
2213
+ * Use `create(Action_UpdateFeeTierSchema)` to create a new message.
2214
+ */
2215
+ export const Action_UpdateFeeTierSchema: GenMessage<Action_UpdateFeeTier, {jsonType: Action_UpdateFeeTierJson}> = /*@__PURE__*/
2216
+ messageDesc(file_nord, 9, 19);
2217
+
2218
+ /**
2219
+ * @generated from message nord.Action.UpdateAccountsTier
2220
+ */
2221
+ export type Action_UpdateAccountsTier = Message<"nord.Action.UpdateAccountsTier"> & {
2222
+ /**
2223
+ * @generated from field: uint32 tier_id = 1;
2224
+ */
2225
+ tierId: number;
2226
+
2227
+ /**
2228
+ * @generated from field: repeated uint32 accounts = 2;
2229
+ */
2230
+ accounts: number[];
2231
+
2232
+ /**
2233
+ * @generated from field: bytes acl_pubkey = 3;
2234
+ */
2235
+ aclPubkey: Uint8Array;
2236
+ };
2237
+
2238
+ /**
2239
+ * @generated from message nord.Action.UpdateAccountsTier
2240
+ */
2241
+ export type Action_UpdateAccountsTierJson = {
2242
+ /**
2243
+ * @generated from field: uint32 tier_id = 1;
2244
+ */
2245
+ tierId?: number;
2246
+
2247
+ /**
2248
+ * @generated from field: repeated uint32 accounts = 2;
2249
+ */
2250
+ accounts?: number[];
2251
+
2252
+ /**
2253
+ * @generated from field: bytes acl_pubkey = 3;
2254
+ */
2255
+ aclPubkey?: string;
2256
+ };
2257
+
2258
+ /**
2259
+ * Describes the message nord.Action.UpdateAccountsTier.
2260
+ * Use `create(Action_UpdateAccountsTierSchema)` to create a new message.
2261
+ */
2262
+ export const Action_UpdateAccountsTierSchema: GenMessage<Action_UpdateAccountsTier, {jsonType: Action_UpdateAccountsTierJson}> = /*@__PURE__*/
2263
+ messageDesc(file_nord, 9, 20);
2264
+
2265
+ /**
2266
+ * @generated from message nord.Action.UpdateAcl
2267
+ */
2268
+ export type Action_UpdateAcl = Message<"nord.Action.UpdateAcl"> & {
2269
+ /**
2270
+ * @generated from field: bytes acl_pubkey = 1;
2271
+ */
2272
+ aclPubkey: Uint8Array;
2273
+
2274
+ /**
2275
+ * @generated from field: bytes target_pubkey = 2;
2276
+ */
2277
+ targetPubkey: Uint8Array;
2278
+
2279
+ /**
2280
+ * @generated from field: uint32 roles_mask = 3;
2281
+ */
2282
+ rolesMask: number;
2283
+
2284
+ /**
2285
+ * @generated from field: uint32 roles_value = 4;
2286
+ */
2287
+ rolesValue: number;
2288
+ };
2289
+
2290
+ /**
2291
+ * @generated from message nord.Action.UpdateAcl
2292
+ */
2293
+ export type Action_UpdateAclJson = {
2294
+ /**
2295
+ * @generated from field: bytes acl_pubkey = 1;
2296
+ */
2297
+ aclPubkey?: string;
2298
+
2299
+ /**
2300
+ * @generated from field: bytes target_pubkey = 2;
2301
+ */
2302
+ targetPubkey?: string;
2303
+
2304
+ /**
2305
+ * @generated from field: uint32 roles_mask = 3;
2306
+ */
2307
+ rolesMask?: number;
2308
+
2309
+ /**
2310
+ * @generated from field: uint32 roles_value = 4;
2311
+ */
2312
+ rolesValue?: number;
2313
+ };
2314
+
2315
+ /**
2316
+ * Describes the message nord.Action.UpdateAcl.
2317
+ * Use `create(Action_UpdateAclSchema)` to create a new message.
2318
+ */
2319
+ export const Action_UpdateAclSchema: GenMessage<Action_UpdateAcl, {jsonType: Action_UpdateAclJson}> = /*@__PURE__*/
2320
+ messageDesc(file_nord, 9, 21);
1996
2321
 
1997
2322
  /**
1998
2323
  * @generated from message nord.Action.FreezeMarket
1999
2324
  */
2000
2325
  export type Action_FreezeMarket = Message<"nord.Action.FreezeMarket"> & {
2326
+ /**
2327
+ * @generated from field: bytes acl_pubkey = 1;
2328
+ */
2329
+ aclPubkey: Uint8Array;
2330
+
2001
2331
  /**
2002
2332
  * @generated from field: uint32 market_id = 2;
2003
2333
  */
@@ -2008,6 +2338,11 @@ export type Action_FreezeMarket = Message<"nord.Action.FreezeMarket"> & {
2008
2338
  * @generated from message nord.Action.FreezeMarket
2009
2339
  */
2010
2340
  export type Action_FreezeMarketJson = {
2341
+ /**
2342
+ * @generated from field: bytes acl_pubkey = 1;
2343
+ */
2344
+ aclPubkey?: string;
2345
+
2011
2346
  /**
2012
2347
  * @generated from field: uint32 market_id = 2;
2013
2348
  */
@@ -2019,12 +2354,17 @@ export type Action_FreezeMarketJson = {
2019
2354
  * Use `create(Action_FreezeMarketSchema)` to create a new message.
2020
2355
  */
2021
2356
  export const Action_FreezeMarketSchema: GenMessage<Action_FreezeMarket, {jsonType: Action_FreezeMarketJson}> = /*@__PURE__*/
2022
- messageDesc(file_nord, 8, 18);
2357
+ messageDesc(file_nord, 9, 22);
2023
2358
 
2024
2359
  /**
2025
2360
  * @generated from message nord.Action.UnfreezeMarket
2026
2361
  */
2027
2362
  export type Action_UnfreezeMarket = Message<"nord.Action.UnfreezeMarket"> & {
2363
+ /**
2364
+ * @generated from field: bytes acl_pubkey = 1;
2365
+ */
2366
+ aclPubkey: Uint8Array;
2367
+
2028
2368
  /**
2029
2369
  * @generated from field: uint32 market_id = 2;
2030
2370
  */
@@ -2035,6 +2375,11 @@ export type Action_UnfreezeMarket = Message<"nord.Action.UnfreezeMarket"> & {
2035
2375
  * @generated from message nord.Action.UnfreezeMarket
2036
2376
  */
2037
2377
  export type Action_UnfreezeMarketJson = {
2378
+ /**
2379
+ * @generated from field: bytes acl_pubkey = 1;
2380
+ */
2381
+ aclPubkey?: string;
2382
+
2038
2383
  /**
2039
2384
  * @generated from field: uint32 market_id = 2;
2040
2385
  */
@@ -2046,7 +2391,7 @@ export type Action_UnfreezeMarketJson = {
2046
2391
  * Use `create(Action_UnfreezeMarketSchema)` to create a new message.
2047
2392
  */
2048
2393
  export const Action_UnfreezeMarketSchema: GenMessage<Action_UnfreezeMarket, {jsonType: Action_UnfreezeMarketJson}> = /*@__PURE__*/
2049
- messageDesc(file_nord, 8, 19);
2394
+ messageDesc(file_nord, 9, 23);
2050
2395
 
2051
2396
  /**
2052
2397
  * @generated from message nord.Action.TakePosition
@@ -2137,7 +2482,7 @@ export type Action_TakePositionJson = {
2137
2482
  * Use `create(Action_TakePositionSchema)` to create a new message.
2138
2483
  */
2139
2484
  export const Action_TakePositionSchema: GenMessage<Action_TakePosition, {jsonType: Action_TakePositionJson}> = /*@__PURE__*/
2140
- messageDesc(file_nord, 8, 20);
2485
+ messageDesc(file_nord, 9, 24);
2141
2486
 
2142
2487
  /**
2143
2488
  * @generated from message nord.AtomicSubactionKind
@@ -2181,7 +2526,7 @@ export type AtomicSubactionKindJson = {
2181
2526
  * Use `create(AtomicSubactionKindSchema)` to create a new message.
2182
2527
  */
2183
2528
  export const AtomicSubactionKindSchema: GenMessage<AtomicSubactionKind, {jsonType: AtomicSubactionKindJson}> = /*@__PURE__*/
2184
- messageDesc(file_nord, 9);
2529
+ messageDesc(file_nord, 10);
2185
2530
 
2186
2531
  /**
2187
2532
  * @generated from message nord.Atomic
@@ -2228,7 +2573,7 @@ export type AtomicJson = {
2228
2573
  * Use `create(AtomicSchema)` to create a new message.
2229
2574
  */
2230
2575
  export const AtomicSchema: GenMessage<Atomic, {jsonType: AtomicJson}> = /*@__PURE__*/
2231
- messageDesc(file_nord, 10);
2576
+ messageDesc(file_nord, 11);
2232
2577
 
2233
2578
  /**
2234
2579
  * @generated from message nord.Receipt
@@ -2372,6 +2717,30 @@ export type Receipt = Message<"nord.Receipt"> & {
2372
2717
  */
2373
2718
  value: Receipt_MarketFreezeUpdated;
2374
2719
  case: "marketFreezeUpdated";
2720
+ } | {
2721
+ /**
2722
+ * @generated from field: nord.Receipt.FeeTierAdded fee_tier_added = 69;
2723
+ */
2724
+ value: Receipt_FeeTierAdded;
2725
+ case: "feeTierAdded";
2726
+ } | {
2727
+ /**
2728
+ * @generated from field: nord.Receipt.FeeTierUpdated fee_tier_updated = 70;
2729
+ */
2730
+ value: Receipt_FeeTierUpdated;
2731
+ case: "feeTierUpdated";
2732
+ } | {
2733
+ /**
2734
+ * @generated from field: nord.Receipt.AccountsTierUpdated accounts_tier_updated = 71;
2735
+ */
2736
+ value: Receipt_AccountsTierUpdated;
2737
+ case: "accountsTierUpdated";
2738
+ } | {
2739
+ /**
2740
+ * @generated from field: nord.Receipt.AclUpdated acl_updated = 72;
2741
+ */
2742
+ value: Receipt_AclUpdated;
2743
+ case: "aclUpdated";
2375
2744
  } | { case: undefined; value?: undefined };
2376
2745
  };
2377
2746
 
@@ -2492,6 +2861,26 @@ export type ReceiptJson = {
2492
2861
  * @generated from field: nord.Receipt.MarketFreezeUpdated market_freeze_updated = 68;
2493
2862
  */
2494
2863
  marketFreezeUpdated?: Receipt_MarketFreezeUpdatedJson;
2864
+
2865
+ /**
2866
+ * @generated from field: nord.Receipt.FeeTierAdded fee_tier_added = 69;
2867
+ */
2868
+ feeTierAdded?: Receipt_FeeTierAddedJson;
2869
+
2870
+ /**
2871
+ * @generated from field: nord.Receipt.FeeTierUpdated fee_tier_updated = 70;
2872
+ */
2873
+ feeTierUpdated?: Receipt_FeeTierUpdatedJson;
2874
+
2875
+ /**
2876
+ * @generated from field: nord.Receipt.AccountsTierUpdated accounts_tier_updated = 71;
2877
+ */
2878
+ accountsTierUpdated?: Receipt_AccountsTierUpdatedJson;
2879
+
2880
+ /**
2881
+ * @generated from field: nord.Receipt.AclUpdated acl_updated = 72;
2882
+ */
2883
+ aclUpdated?: Receipt_AclUpdatedJson;
2495
2884
  };
2496
2885
 
2497
2886
  /**
@@ -2499,7 +2888,7 @@ export type ReceiptJson = {
2499
2888
  * Use `create(ReceiptSchema)` to create a new message.
2500
2889
  */
2501
2890
  export const ReceiptSchema: GenMessage<Receipt, {jsonType: ReceiptJson}> = /*@__PURE__*/
2502
- messageDesc(file_nord, 11);
2891
+ messageDesc(file_nord, 12);
2503
2892
 
2504
2893
  /**
2505
2894
  * @generated from message nord.Receipt.Posted
@@ -2576,7 +2965,7 @@ export type Receipt_PostedJson = {
2576
2965
  * Use `create(Receipt_PostedSchema)` to create a new message.
2577
2966
  */
2578
2967
  export const Receipt_PostedSchema: GenMessage<Receipt_Posted, {jsonType: Receipt_PostedJson}> = /*@__PURE__*/
2579
- messageDesc(file_nord, 11, 0);
2968
+ messageDesc(file_nord, 12, 0);
2580
2969
 
2581
2970
  /**
2582
2971
  * @generated from message nord.Receipt.Trade
@@ -2637,7 +3026,7 @@ export type Receipt_TradeJson = {
2637
3026
  * Use `create(Receipt_TradeSchema)` to create a new message.
2638
3027
  */
2639
3028
  export const Receipt_TradeSchema: GenMessage<Receipt_Trade, {jsonType: Receipt_TradeJson}> = /*@__PURE__*/
2640
- messageDesc(file_nord, 11, 1);
3029
+ messageDesc(file_nord, 12, 1);
2641
3030
 
2642
3031
  /**
2643
3032
  * @generated from message nord.Receipt.CreateSessionResult
@@ -2664,7 +3053,7 @@ export type Receipt_CreateSessionResultJson = {
2664
3053
  * Use `create(Receipt_CreateSessionResultSchema)` to create a new message.
2665
3054
  */
2666
3055
  export const Receipt_CreateSessionResultSchema: GenMessage<Receipt_CreateSessionResult, {jsonType: Receipt_CreateSessionResultJson}> = /*@__PURE__*/
2667
- messageDesc(file_nord, 11, 2);
3056
+ messageDesc(file_nord, 12, 2);
2668
3057
 
2669
3058
  /**
2670
3059
  * @generated from message nord.Receipt.Triggered
@@ -2701,7 +3090,7 @@ export type Receipt_TriggeredJson = {
2701
3090
  * Use `create(Receipt_TriggeredSchema)` to create a new message.
2702
3091
  */
2703
3092
  export const Receipt_TriggeredSchema: GenMessage<Receipt_Triggered, {jsonType: Receipt_TriggeredJson}> = /*@__PURE__*/
2704
- messageDesc(file_nord, 11, 3);
3093
+ messageDesc(file_nord, 12, 3);
2705
3094
 
2706
3095
  /**
2707
3096
  * @generated from message nord.Receipt.PlaceOrderResult
@@ -2768,7 +3157,7 @@ export type Receipt_PlaceOrderResultJson = {
2768
3157
  * Use `create(Receipt_PlaceOrderResultSchema)` to create a new message.
2769
3158
  */
2770
3159
  export const Receipt_PlaceOrderResultSchema: GenMessage<Receipt_PlaceOrderResult, {jsonType: Receipt_PlaceOrderResultJson}> = /*@__PURE__*/
2771
- messageDesc(file_nord, 11, 4);
3160
+ messageDesc(file_nord, 12, 4);
2772
3161
 
2773
3162
  /**
2774
3163
  * @generated from message nord.Receipt.TakenResult
@@ -2815,7 +3204,7 @@ export type Receipt_TakenResultJson = {
2815
3204
  * Use `create(Receipt_TakenResultSchema)` to create a new message.
2816
3205
  */
2817
3206
  export const Receipt_TakenResultSchema: GenMessage<Receipt_TakenResult, {jsonType: Receipt_TakenResultJson}> = /*@__PURE__*/
2818
- messageDesc(file_nord, 11, 5);
3207
+ messageDesc(file_nord, 12, 5);
2819
3208
 
2820
3209
  /**
2821
3210
  * @generated from message nord.Receipt.PositionTakenOrTradedResult
@@ -2873,7 +3262,7 @@ export type Receipt_PositionTakenOrTradedResultJson = {
2873
3262
  * Use `create(Receipt_PositionTakenOrTradedResultSchema)` to create a new message.
2874
3263
  */
2875
3264
  export const Receipt_PositionTakenOrTradedResultSchema: GenMessage<Receipt_PositionTakenOrTradedResult, {jsonType: Receipt_PositionTakenOrTradedResultJson}> = /*@__PURE__*/
2876
- messageDesc(file_nord, 11, 6);
3265
+ messageDesc(file_nord, 12, 6);
2877
3266
 
2878
3267
  /**
2879
3268
  * @generated from message nord.Receipt.CancelOrderResult
@@ -2914,7 +3303,7 @@ export type Receipt_CancelOrderResultJson = {
2914
3303
  * Use `create(Receipt_CancelOrderResultSchema)` to create a new message.
2915
3304
  */
2916
3305
  export const Receipt_CancelOrderResultSchema: GenMessage<Receipt_CancelOrderResult, {jsonType: Receipt_CancelOrderResultJson}> = /*@__PURE__*/
2917
- messageDesc(file_nord, 11, 7);
3306
+ messageDesc(file_nord, 12, 7);
2918
3307
 
2919
3308
  /**
2920
3309
  * @generated from message nord.Receipt.DepositResult
@@ -2985,7 +3374,7 @@ export type Receipt_DepositResultJson = {
2985
3374
  * Use `create(Receipt_DepositResultSchema)` to create a new message.
2986
3375
  */
2987
3376
  export const Receipt_DepositResultSchema: GenMessage<Receipt_DepositResult, {jsonType: Receipt_DepositResultJson}> = /*@__PURE__*/
2988
- messageDesc(file_nord, 11, 8);
3377
+ messageDesc(file_nord, 12, 8);
2989
3378
 
2990
3379
  /**
2991
3380
  * @generated from message nord.Receipt.InsertTokenResult
@@ -3022,7 +3411,7 @@ export type Receipt_InsertTokenResultJson = {
3022
3411
  * Use `create(Receipt_InsertTokenResultSchema)` to create a new message.
3023
3412
  */
3024
3413
  export const Receipt_InsertTokenResultSchema: GenMessage<Receipt_InsertTokenResult, {jsonType: Receipt_InsertTokenResultJson}> = /*@__PURE__*/
3025
- messageDesc(file_nord, 11, 9);
3414
+ messageDesc(file_nord, 12, 9);
3026
3415
 
3027
3416
  /**
3028
3417
  * @generated from message nord.Receipt.InsertMarketResult
@@ -3049,7 +3438,7 @@ export type Receipt_InsertMarketResultJson = {
3049
3438
  * Use `create(Receipt_InsertMarketResultSchema)` to create a new message.
3050
3439
  */
3051
3440
  export const Receipt_InsertMarketResultSchema: GenMessage<Receipt_InsertMarketResult, {jsonType: Receipt_InsertMarketResultJson}> = /*@__PURE__*/
3052
- messageDesc(file_nord, 11, 10);
3441
+ messageDesc(file_nord, 12, 10);
3053
3442
 
3054
3443
  /**
3055
3444
  * @generated from message nord.Receipt.WithdrawResult
@@ -3126,7 +3515,7 @@ export type Receipt_WithdrawResultJson = {
3126
3515
  * Use `create(Receipt_WithdrawResultSchema)` to create a new message.
3127
3516
  */
3128
3517
  export const Receipt_WithdrawResultSchema: GenMessage<Receipt_WithdrawResult, {jsonType: Receipt_WithdrawResultJson}> = /*@__PURE__*/
3129
- messageDesc(file_nord, 11, 11);
3518
+ messageDesc(file_nord, 12, 11);
3130
3519
 
3131
3520
  /**
3132
3521
  * pyth receipts are not user facing, so they can be terse and optional
@@ -3167,7 +3556,7 @@ export type Receipt_OracleSymbolFeedResultJson = {
3167
3556
  * Use `create(Receipt_OracleSymbolFeedResultSchema)` to create a new message.
3168
3557
  */
3169
3558
  export const Receipt_OracleSymbolFeedResultSchema: GenMessage<Receipt_OracleSymbolFeedResult, {jsonType: Receipt_OracleSymbolFeedResultJson}> = /*@__PURE__*/
3170
- messageDesc(file_nord, 11, 12);
3559
+ messageDesc(file_nord, 12, 12);
3171
3560
 
3172
3561
  /**
3173
3562
  * @generated from message nord.Receipt.OracleUpdateResult
@@ -3194,7 +3583,7 @@ export type Receipt_OracleUpdateResultJson = {
3194
3583
  * Use `create(Receipt_OracleUpdateResultSchema)` to create a new message.
3195
3584
  */
3196
3585
  export const Receipt_OracleUpdateResultSchema: GenMessage<Receipt_OracleUpdateResult, {jsonType: Receipt_OracleUpdateResultJson}> = /*@__PURE__*/
3197
- messageDesc(file_nord, 11, 13);
3586
+ messageDesc(file_nord, 12, 13);
3198
3587
 
3199
3588
  /**
3200
3589
  * @generated from message nord.Receipt.UpdateGuardianSetResult
@@ -3231,7 +3620,7 @@ export type Receipt_UpdateGuardianSetResultJson = {
3231
3620
  * Use `create(Receipt_UpdateGuardianSetResultSchema)` to create a new message.
3232
3621
  */
3233
3622
  export const Receipt_UpdateGuardianSetResultSchema: GenMessage<Receipt_UpdateGuardianSetResult, {jsonType: Receipt_UpdateGuardianSetResultJson}> = /*@__PURE__*/
3234
- messageDesc(file_nord, 11, 14);
3623
+ messageDesc(file_nord, 12, 14);
3235
3624
 
3236
3625
  /**
3237
3626
  * @generated from message nord.Receipt.PerpPosition
@@ -3278,7 +3667,7 @@ export type Receipt_PerpPositionJson = {
3278
3667
  * Use `create(Receipt_PerpPositionSchema)` to create a new message.
3279
3668
  */
3280
3669
  export const Receipt_PerpPositionSchema: GenMessage<Receipt_PerpPosition, {jsonType: Receipt_PerpPositionJson}> = /*@__PURE__*/
3281
- messageDesc(file_nord, 11, 15);
3670
+ messageDesc(file_nord, 12, 15);
3282
3671
 
3283
3672
  /**
3284
3673
  * / Result of bankruptcy liquidation.
@@ -3339,7 +3728,7 @@ export type Receipt_AccountLiquidatedJson = {
3339
3728
  * Use `create(Receipt_AccountLiquidatedSchema)` to create a new message.
3340
3729
  */
3341
3730
  export const Receipt_AccountLiquidatedSchema: GenMessage<Receipt_AccountLiquidated, {jsonType: Receipt_AccountLiquidatedJson}> = /*@__PURE__*/
3342
- messageDesc(file_nord, 11, 16);
3731
+ messageDesc(file_nord, 12, 16);
3343
3732
 
3344
3733
  /**
3345
3734
  * @generated from message nord.Receipt.SessionRevoked
@@ -3358,7 +3747,7 @@ export type Receipt_SessionRevokedJson = {
3358
3747
  * Use `create(Receipt_SessionRevokedSchema)` to create a new message.
3359
3748
  */
3360
3749
  export const Receipt_SessionRevokedSchema: GenMessage<Receipt_SessionRevoked, {jsonType: Receipt_SessionRevokedJson}> = /*@__PURE__*/
3361
- messageDesc(file_nord, 11, 17);
3750
+ messageDesc(file_nord, 12, 17);
3362
3751
 
3363
3752
  /**
3364
3753
  * @generated from message nord.Receipt.Paused
@@ -3377,7 +3766,7 @@ export type Receipt_PausedJson = {
3377
3766
  * Use `create(Receipt_PausedSchema)` to create a new message.
3378
3767
  */
3379
3768
  export const Receipt_PausedSchema: GenMessage<Receipt_Paused, {jsonType: Receipt_PausedJson}> = /*@__PURE__*/
3380
- messageDesc(file_nord, 11, 18);
3769
+ messageDesc(file_nord, 12, 18);
3381
3770
 
3382
3771
  /**
3383
3772
  * @generated from message nord.Receipt.Unpaused
@@ -3396,7 +3785,7 @@ export type Receipt_UnpausedJson = {
3396
3785
  * Use `create(Receipt_UnpausedSchema)` to create a new message.
3397
3786
  */
3398
3787
  export const Receipt_UnpausedSchema: GenMessage<Receipt_Unpaused, {jsonType: Receipt_UnpausedJson}> = /*@__PURE__*/
3399
- messageDesc(file_nord, 11, 19);
3788
+ messageDesc(file_nord, 12, 19);
3400
3789
 
3401
3790
  /**
3402
3791
  * @generated from message nord.Receipt.Transferred
@@ -3473,7 +3862,7 @@ export type Receipt_TransferredJson = {
3473
3862
  * Use `create(Receipt_TransferredSchema)` to create a new message.
3474
3863
  */
3475
3864
  export const Receipt_TransferredSchema: GenMessage<Receipt_Transferred, {jsonType: Receipt_TransferredJson}> = /*@__PURE__*/
3476
- messageDesc(file_nord, 11, 20);
3865
+ messageDesc(file_nord, 12, 20);
3477
3866
 
3478
3867
  /**
3479
3868
  * @generated from message nord.Receipt.TriggerAdded
@@ -3492,7 +3881,7 @@ export type Receipt_TriggerAddedJson = {
3492
3881
  * Use `create(Receipt_TriggerAddedSchema)` to create a new message.
3493
3882
  */
3494
3883
  export const Receipt_TriggerAddedSchema: GenMessage<Receipt_TriggerAdded, {jsonType: Receipt_TriggerAddedJson}> = /*@__PURE__*/
3495
- messageDesc(file_nord, 11, 21);
3884
+ messageDesc(file_nord, 12, 21);
3496
3885
 
3497
3886
  /**
3498
3887
  * @generated from message nord.Receipt.TriggerRemoved
@@ -3511,7 +3900,7 @@ export type Receipt_TriggerRemovedJson = {
3511
3900
  * Use `create(Receipt_TriggerRemovedSchema)` to create a new message.
3512
3901
  */
3513
3902
  export const Receipt_TriggerRemovedSchema: GenMessage<Receipt_TriggerRemoved, {jsonType: Receipt_TriggerRemovedJson}> = /*@__PURE__*/
3514
- messageDesc(file_nord, 11, 22);
3903
+ messageDesc(file_nord, 12, 22);
3515
3904
 
3516
3905
  /**
3517
3906
  * @generated from message nord.Receipt.MarketFreezeUpdated
@@ -3548,7 +3937,165 @@ export type Receipt_MarketFreezeUpdatedJson = {
3548
3937
  * Use `create(Receipt_MarketFreezeUpdatedSchema)` to create a new message.
3549
3938
  */
3550
3939
  export const Receipt_MarketFreezeUpdatedSchema: GenMessage<Receipt_MarketFreezeUpdated, {jsonType: Receipt_MarketFreezeUpdatedJson}> = /*@__PURE__*/
3551
- messageDesc(file_nord, 11, 23);
3940
+ messageDesc(file_nord, 12, 23);
3941
+
3942
+ /**
3943
+ * @generated from message nord.Receipt.FeeTierAdded
3944
+ */
3945
+ export type Receipt_FeeTierAdded = Message<"nord.Receipt.FeeTierAdded"> & {
3946
+ /**
3947
+ * @generated from field: nord.FeeTierConfig config = 1;
3948
+ */
3949
+ config?: FeeTierConfig;
3950
+ };
3951
+
3952
+ /**
3953
+ * @generated from message nord.Receipt.FeeTierAdded
3954
+ */
3955
+ export type Receipt_FeeTierAddedJson = {
3956
+ /**
3957
+ * @generated from field: nord.FeeTierConfig config = 1;
3958
+ */
3959
+ config?: FeeTierConfigJson;
3960
+ };
3961
+
3962
+ /**
3963
+ * Describes the message nord.Receipt.FeeTierAdded.
3964
+ * Use `create(Receipt_FeeTierAddedSchema)` to create a new message.
3965
+ */
3966
+ export const Receipt_FeeTierAddedSchema: GenMessage<Receipt_FeeTierAdded, {jsonType: Receipt_FeeTierAddedJson}> = /*@__PURE__*/
3967
+ messageDesc(file_nord, 12, 24);
3968
+
3969
+ /**
3970
+ * @generated from message nord.Receipt.FeeTierUpdated
3971
+ */
3972
+ export type Receipt_FeeTierUpdated = Message<"nord.Receipt.FeeTierUpdated"> & {
3973
+ /**
3974
+ * @generated from field: uint32 id = 1;
3975
+ */
3976
+ id: number;
3977
+
3978
+ /**
3979
+ * @generated from field: nord.FeeTierConfig config = 2;
3980
+ */
3981
+ config?: FeeTierConfig;
3982
+ };
3983
+
3984
+ /**
3985
+ * @generated from message nord.Receipt.FeeTierUpdated
3986
+ */
3987
+ export type Receipt_FeeTierUpdatedJson = {
3988
+ /**
3989
+ * @generated from field: uint32 id = 1;
3990
+ */
3991
+ id?: number;
3992
+
3993
+ /**
3994
+ * @generated from field: nord.FeeTierConfig config = 2;
3995
+ */
3996
+ config?: FeeTierConfigJson;
3997
+ };
3998
+
3999
+ /**
4000
+ * Describes the message nord.Receipt.FeeTierUpdated.
4001
+ * Use `create(Receipt_FeeTierUpdatedSchema)` to create a new message.
4002
+ */
4003
+ export const Receipt_FeeTierUpdatedSchema: GenMessage<Receipt_FeeTierUpdated, {jsonType: Receipt_FeeTierUpdatedJson}> = /*@__PURE__*/
4004
+ messageDesc(file_nord, 12, 25);
4005
+
4006
+ /**
4007
+ * @generated from message nord.Receipt.AccountsTierUpdated
4008
+ */
4009
+ export type Receipt_AccountsTierUpdated = Message<"nord.Receipt.AccountsTierUpdated"> & {
4010
+ /**
4011
+ * @generated from field: uint32 tier_id = 1;
4012
+ */
4013
+ tierId: number;
4014
+
4015
+ /**
4016
+ * @generated from field: repeated uint32 accounts = 2;
4017
+ */
4018
+ accounts: number[];
4019
+ };
4020
+
4021
+ /**
4022
+ * @generated from message nord.Receipt.AccountsTierUpdated
4023
+ */
4024
+ export type Receipt_AccountsTierUpdatedJson = {
4025
+ /**
4026
+ * @generated from field: uint32 tier_id = 1;
4027
+ */
4028
+ tierId?: number;
4029
+
4030
+ /**
4031
+ * @generated from field: repeated uint32 accounts = 2;
4032
+ */
4033
+ accounts?: number[];
4034
+ };
4035
+
4036
+ /**
4037
+ * Describes the message nord.Receipt.AccountsTierUpdated.
4038
+ * Use `create(Receipt_AccountsTierUpdatedSchema)` to create a new message.
4039
+ */
4040
+ export const Receipt_AccountsTierUpdatedSchema: GenMessage<Receipt_AccountsTierUpdated, {jsonType: Receipt_AccountsTierUpdatedJson}> = /*@__PURE__*/
4041
+ messageDesc(file_nord, 12, 26);
4042
+
4043
+ /**
4044
+ * @generated from message nord.Receipt.AclUpdated
4045
+ */
4046
+ export type Receipt_AclUpdated = Message<"nord.Receipt.AclUpdated"> & {
4047
+ /**
4048
+ * @generated from field: bytes acl_pubkey = 1;
4049
+ */
4050
+ aclPubkey: Uint8Array;
4051
+
4052
+ /**
4053
+ * @generated from field: uint64 roles_mask = 2;
4054
+ */
4055
+ rolesMask: bigint;
4056
+
4057
+ /**
4058
+ * @generated from field: bytes target_pubkey = 3;
4059
+ */
4060
+ targetPubkey: Uint8Array;
4061
+
4062
+ /**
4063
+ * @generated from field: uint64 roles_value = 4;
4064
+ */
4065
+ rolesValue: bigint;
4066
+ };
4067
+
4068
+ /**
4069
+ * @generated from message nord.Receipt.AclUpdated
4070
+ */
4071
+ export type Receipt_AclUpdatedJson = {
4072
+ /**
4073
+ * @generated from field: bytes acl_pubkey = 1;
4074
+ */
4075
+ aclPubkey?: string;
4076
+
4077
+ /**
4078
+ * @generated from field: uint64 roles_mask = 2;
4079
+ */
4080
+ rolesMask?: string;
4081
+
4082
+ /**
4083
+ * @generated from field: bytes target_pubkey = 3;
4084
+ */
4085
+ targetPubkey?: string;
4086
+
4087
+ /**
4088
+ * @generated from field: uint64 roles_value = 4;
4089
+ */
4090
+ rolesValue?: string;
4091
+ };
4092
+
4093
+ /**
4094
+ * Describes the message nord.Receipt.AclUpdated.
4095
+ * Use `create(Receipt_AclUpdatedSchema)` to create a new message.
4096
+ */
4097
+ export const Receipt_AclUpdatedSchema: GenMessage<Receipt_AclUpdated, {jsonType: Receipt_AclUpdatedJson}> = /*@__PURE__*/
4098
+ messageDesc(file_nord, 12, 27);
3552
4099
 
3553
4100
  /**
3554
4101
  * @generated from message nord.Receipt.AtomicSubactionResultKind
@@ -3600,7 +4147,7 @@ export type Receipt_AtomicSubactionResultKindJson = {
3600
4147
  * Use `create(Receipt_AtomicSubactionResultKindSchema)` to create a new message.
3601
4148
  */
3602
4149
  export const Receipt_AtomicSubactionResultKindSchema: GenMessage<Receipt_AtomicSubactionResultKind, {jsonType: Receipt_AtomicSubactionResultKindJson}> = /*@__PURE__*/
3603
- messageDesc(file_nord, 11, 24);
4150
+ messageDesc(file_nord, 12, 28);
3604
4151
 
3605
4152
  /**
3606
4153
  * @generated from message nord.Receipt.AtomicResult
@@ -3627,7 +4174,7 @@ export type Receipt_AtomicResultJson = {
3627
4174
  * Use `create(Receipt_AtomicResultSchema)` to create a new message.
3628
4175
  */
3629
4176
  export const Receipt_AtomicResultSchema: GenMessage<Receipt_AtomicResult, {jsonType: Receipt_AtomicResultJson}> = /*@__PURE__*/
3630
- messageDesc(file_nord, 11, 25);
4177
+ messageDesc(file_nord, 12, 29);
3631
4178
 
3632
4179
  /**
3633
4180
  * @generated from enum nord.Side
@@ -3947,9 +4494,19 @@ export enum Error {
3947
4494
  INVALID_STATE_VERSION = 105,
3948
4495
 
3949
4496
  /**
3950
- * @generated from enum value: INVALID_MARGINS = 107;
4497
+ * @generated from enum value: TIER_FEE_OUT_OF_RANGE = 106;
3951
4498
  */
3952
- INVALID_MARGINS = 107,
4499
+ TIER_FEE_OUT_OF_RANGE = 106,
4500
+
4501
+ /**
4502
+ * @generated from enum value: TIER_ID_OUT_OF_RANGE = 107;
4503
+ */
4504
+ TIER_ID_OUT_OF_RANGE = 107,
4505
+
4506
+ /**
4507
+ * @generated from enum value: INVALID_MARGINS = 108;
4508
+ */
4509
+ INVALID_MARGINS = 108,
3953
4510
 
3954
4511
  /**
3955
4512
  * Market's decimal parameters exceed either "quote limit" or "base limit"
@@ -4424,6 +4981,26 @@ export enum Error {
4424
4981
  */
4425
4982
  ACTION_PROPOSED_PRICE_MUST_BE_HIGHER = 275,
4426
4983
 
4984
+ /**
4985
+ * @generated from enum value: ADMIN_ROLE_INSUFFICIENT = 276;
4986
+ */
4987
+ ADMIN_ROLE_INSUFFICIENT = 276,
4988
+
4989
+ /**
4990
+ * @generated from enum value: ADMIN_NOT_FOUND = 277;
4991
+ */
4992
+ ADMIN_NOT_FOUND = 277,
4993
+
4994
+ /**
4995
+ * @generated from enum value: UNIQUE_SUPER_ADMIN_CANNOT_BE_REMOVED = 278;
4996
+ */
4997
+ UNIQUE_SUPER_ADMIN_CANNOT_BE_REMOVED = 278,
4998
+
4999
+ /**
5000
+ * @generated from enum value: SUPER_ADMIN_ALREADY_EXISTS = 279;
5001
+ */
5002
+ SUPER_ADMIN_ALREADY_EXISTS = 279,
5003
+
4427
5004
  /**
4428
5005
  * @generated from enum value: NOT_IMPLEMENTED = 500;
4429
5006
  */
@@ -4445,7 +5022,7 @@ export enum Error {
4445
5022
  *
4446
5023
  * @generated from enum nord.Error
4447
5024
  */
4448
- export type ErrorJson = "DUPLICATE" | "DECODE_FAILURE" | "INVALID_SIGNATURE" | "MARKET_NOT_FOUND" | "TOKEN_NOT_FOUND" | "USER_NOT_FOUND" | "SESSION_NOT_FOUND" | "ORDER_NOT_FOUND" | "ORDER_SIZE_ZERO" | "ARITHMETIC" | "ARITHMETIC_OVERFLOW" | "ARITHMETIC_UNDERFLOW" | "ARITHMETIC_DIVISION_BY_ZERO" | "KEY_ALREADY_REGISTERED" | "EXPIRY_TIMESTAMP_IN_PAST" | "UPDATE_TIMESTAMP_IN_PAST" | "TOO_MANY_OPEN_ORDERS" | "WITHDRAW_AMOUNT_TOO_SMALL" | "INVALID_ORDER_OWNER" | "DECODE_FAILURE_LENGTH_PREFIX" | "DECODE_FAILURE_RAW" | "DECODE_FAILURE_DOMAIN" | "UPDATE_PUBLISH_TIME_IN_PAST" | "PYTH_FEED_NOT_ADDED" | "PYTH_FEED_MISSING" | "PYTH_FEED_ALREADY_ADDED" | "PYTH_GUARDIAN_SET_UNINITIALIZED" | "PYTH_GUARDIAN_SET_INVALID" | "PYTH_FEED_DECIMALS_OUT_OF_RANGE" | "PYTH_FEED_PRICE_OUT_OF_RANGE" | "PYTH_FEED_VARIANCE_OUT_OF_RANGE" | "PYTH_GUARDIAN_SET_AND_PYTH_SIGNATURE_DO_NOT_MATCH" | "INVALID_TOKEN_PARAMETERS" | "INDEX_PRICE_OUT_OF_RANGE" | "INDEX_DECIMALS_OUT_OF_RANGE" | "INVALID_STATE_VERSION" | "INVALID_MARGINS" | "MARKET_DECIMALS_EXCEED_LIMITS" | "TOO_MANY_TOKENS" | "FUNDING_OVERFLOW" | "CAN_REDUCE_POSITION_ONLY_IF_ALL_ORDERS_ARE_CANCELED" | "UNEXPECTED_TOKEN_ID" | "TOKEN_NOT_READY" | "TOKEN_ALREADY_REGISTERED" | "IMMEDIATE_ORDER_GOT_NO_FILLS" | "FAILED_TO_FILL_LIMIT" | "POST_ONLY_MUST_NOT_FILL_ANY_OPPOSITE_ORDERS" | "INVALID" | "MAINTENANCE" | "MINIMUM_SIZE_DECIMALS" | "PARAMETERS_WILL_CREATE_NON_OPERATIONAL_MARKET" | "ONLY_IMMEDIATE_ORDERS_ALLOWED" | "TOO_MANY_USER_ACCOUNTS" | "ACCOUNT_NOT_FOUND" | "ACCOUNT_INVALID_OWNER" | "DUST_ACCOUNT" | "BALANCE" | "BALANCE_DEPOSIT_OVERFLOW" | "BALANCE_CHANGE_OVERFLOW" | "BALANCE_CHANGE_LIMIT_EXCEEDED" | "BALANCE_INSUFFICIENT" | "UNAUTHENTICATED_L1_ACTION" | "ENCODED_ACTION_TOO_LARGE" | "TRIGGER" | "TRIGGER_INVALID_PRICE" | "TRIGGER_NOT_FOUND" | "TIMESTAMP" | "TIMESTAMP_OUT_OF_THRESHOLD" | "TIMESTAMP_STALE" | "BANKRUPTCY_INSUFFICIENT_COVERAGE" | "BANKRUPTCY_NOT_FOUND" | "BANKRUPTCY_NOT_ALLOWED" | "MARKET_NOT_READY" | "MARKET_FROZEN" | "MARKET_EMPTY" | "POSITION" | "POSITION_NOT_FOUND" | "POSITION_STATE_ORDER" | "POSITION_STATE_ORDER_PRICE" | "POSITION_STATE_ORDER_SIZE" | "POSITION_STATE_ORDER_SIDE" | "POSITION_SIZE_LIMIT" | "POSITION_STATE_PERP" | "POSITION_STATE_ORDER_DELEGATION" | "PRICE" | "SIGNATURE_VERIFICATION" | "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY" | "SIGNATURE_VERIFICATION_INVALID_LENGTH" | "RISK" | "RISK_DELEGATION_MF_TO_BE_LESS_THAN_OR_EQUAL_MMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_IMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_TRADE_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_UNHEALTHY_MF_AND_PON_AFTER_BETTER_OF_BEFORE" | "ORDER_EXECUTION" | "ORDER_EXECUTION_EMPTY" | "ORDER_EXECUTION_FILL_OR_KILL" | "ORDER_EXECUTION_MISSING_LIMITS" | "ORDER_EXECUTION_MISSING_PRICE" | "ORDER_EXECUTION_SIZE_LIMIT" | "ORDER_EXECUTION_LIMIT_PRICE" | "ORDER_REDUCE_IS_POST_ONLY" | "ORDER_EXECUTION_SELL_PRICE" | "ORDER_SIZE_EXCEEDS_POSITION_SIZE" | "ATOMICS_TRADES_CANNOT_FOLLOW_PLACES" | "ATOMICS_CANCELS_CANNOT_FOLLOW_TRADES_PLACES" | "ACTION_POSITION_SHOULD_BE_COVERED" | "ACTION_INVALID_NONCE" | "ACTION_PROPOSED_PRICE_MUST_BE_HIGHER" | "NOT_IMPLEMENTED" | "Dropped";
5025
+ export type ErrorJson = "DUPLICATE" | "DECODE_FAILURE" | "INVALID_SIGNATURE" | "MARKET_NOT_FOUND" | "TOKEN_NOT_FOUND" | "USER_NOT_FOUND" | "SESSION_NOT_FOUND" | "ORDER_NOT_FOUND" | "ORDER_SIZE_ZERO" | "ARITHMETIC" | "ARITHMETIC_OVERFLOW" | "ARITHMETIC_UNDERFLOW" | "ARITHMETIC_DIVISION_BY_ZERO" | "KEY_ALREADY_REGISTERED" | "EXPIRY_TIMESTAMP_IN_PAST" | "UPDATE_TIMESTAMP_IN_PAST" | "TOO_MANY_OPEN_ORDERS" | "WITHDRAW_AMOUNT_TOO_SMALL" | "INVALID_ORDER_OWNER" | "DECODE_FAILURE_LENGTH_PREFIX" | "DECODE_FAILURE_RAW" | "DECODE_FAILURE_DOMAIN" | "UPDATE_PUBLISH_TIME_IN_PAST" | "PYTH_FEED_NOT_ADDED" | "PYTH_FEED_MISSING" | "PYTH_FEED_ALREADY_ADDED" | "PYTH_GUARDIAN_SET_UNINITIALIZED" | "PYTH_GUARDIAN_SET_INVALID" | "PYTH_FEED_DECIMALS_OUT_OF_RANGE" | "PYTH_FEED_PRICE_OUT_OF_RANGE" | "PYTH_FEED_VARIANCE_OUT_OF_RANGE" | "PYTH_GUARDIAN_SET_AND_PYTH_SIGNATURE_DO_NOT_MATCH" | "INVALID_TOKEN_PARAMETERS" | "INDEX_PRICE_OUT_OF_RANGE" | "INDEX_DECIMALS_OUT_OF_RANGE" | "INVALID_STATE_VERSION" | "TIER_FEE_OUT_OF_RANGE" | "TIER_ID_OUT_OF_RANGE" | "INVALID_MARGINS" | "MARKET_DECIMALS_EXCEED_LIMITS" | "TOO_MANY_TOKENS" | "FUNDING_OVERFLOW" | "CAN_REDUCE_POSITION_ONLY_IF_ALL_ORDERS_ARE_CANCELED" | "UNEXPECTED_TOKEN_ID" | "TOKEN_NOT_READY" | "TOKEN_ALREADY_REGISTERED" | "IMMEDIATE_ORDER_GOT_NO_FILLS" | "FAILED_TO_FILL_LIMIT" | "POST_ONLY_MUST_NOT_FILL_ANY_OPPOSITE_ORDERS" | "INVALID" | "MAINTENANCE" | "MINIMUM_SIZE_DECIMALS" | "PARAMETERS_WILL_CREATE_NON_OPERATIONAL_MARKET" | "ONLY_IMMEDIATE_ORDERS_ALLOWED" | "TOO_MANY_USER_ACCOUNTS" | "ACCOUNT_NOT_FOUND" | "ACCOUNT_INVALID_OWNER" | "DUST_ACCOUNT" | "BALANCE" | "BALANCE_DEPOSIT_OVERFLOW" | "BALANCE_CHANGE_OVERFLOW" | "BALANCE_CHANGE_LIMIT_EXCEEDED" | "BALANCE_INSUFFICIENT" | "UNAUTHENTICATED_L1_ACTION" | "ENCODED_ACTION_TOO_LARGE" | "TRIGGER" | "TRIGGER_INVALID_PRICE" | "TRIGGER_NOT_FOUND" | "TIMESTAMP" | "TIMESTAMP_OUT_OF_THRESHOLD" | "TIMESTAMP_STALE" | "BANKRUPTCY_INSUFFICIENT_COVERAGE" | "BANKRUPTCY_NOT_FOUND" | "BANKRUPTCY_NOT_ALLOWED" | "MARKET_NOT_READY" | "MARKET_FROZEN" | "MARKET_EMPTY" | "POSITION" | "POSITION_NOT_FOUND" | "POSITION_STATE_ORDER" | "POSITION_STATE_ORDER_PRICE" | "POSITION_STATE_ORDER_SIZE" | "POSITION_STATE_ORDER_SIDE" | "POSITION_SIZE_LIMIT" | "POSITION_STATE_PERP" | "POSITION_STATE_ORDER_DELEGATION" | "PRICE" | "SIGNATURE_VERIFICATION" | "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY" | "SIGNATURE_VERIFICATION_INVALID_LENGTH" | "RISK" | "RISK_DELEGATION_MF_TO_BE_LESS_THAN_OR_EQUAL_MMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_IMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_TRADE_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_UNHEALTHY_MF_AND_PON_AFTER_BETTER_OF_BEFORE" | "ORDER_EXECUTION" | "ORDER_EXECUTION_EMPTY" | "ORDER_EXECUTION_FILL_OR_KILL" | "ORDER_EXECUTION_MISSING_LIMITS" | "ORDER_EXECUTION_MISSING_PRICE" | "ORDER_EXECUTION_SIZE_LIMIT" | "ORDER_EXECUTION_LIMIT_PRICE" | "ORDER_REDUCE_IS_POST_ONLY" | "ORDER_EXECUTION_SELL_PRICE" | "ORDER_SIZE_EXCEEDS_POSITION_SIZE" | "ATOMICS_TRADES_CANNOT_FOLLOW_PLACES" | "ATOMICS_CANCELS_CANNOT_FOLLOW_TRADES_PLACES" | "ACTION_POSITION_SHOULD_BE_COVERED" | "ACTION_INVALID_NONCE" | "ACTION_PROPOSED_PRICE_MUST_BE_HIGHER" | "ADMIN_ROLE_INSUFFICIENT" | "ADMIN_NOT_FOUND" | "UNIQUE_SUPER_ADMIN_CANNOT_BE_REMOVED" | "SUPER_ADMIN_ALREADY_EXISTS" | "NOT_IMPLEMENTED" | "Dropped";
4449
5026
 
4450
5027
  /**
4451
5028
  * Describes the enum nord.Error.