@n1xyz/nord-ts 0.1.2 → 0.1.4

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,7 @@ 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("Cgpub3JkLnByb3RvEgRub3JkItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCJHCgpUcmlnZ2VyS2V5Eh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYBCABKA4yCi5ub3JkLlNpZGUimRoKBkFjdGlvbhIZChFjdXJyZW50X3RpbWVzdGFtcBgBIAEoAxINCgVub25jZRgCIAEoDRI0Cg5jcmVhdGVfc2Vzc2lvbhgEIAEoCzIaLm5vcmQuQWN0aW9uLkNyZWF0ZVNlc3Npb25IABIwCgxjcmVhdGVfdG9rZW4YBSABKAsyGC5ub3JkLkFjdGlvbi5DcmVhdGVUb2tlbkgAEjIKDWNyZWF0ZV9tYXJrZXQYBiABKAsyGS5ub3JkLkFjdGlvbi5DcmVhdGVNYXJrZXRIABIuCgtwbGFjZV9vcmRlchgHIAEoCzIXLm5vcmQuQWN0aW9uLlBsYWNlT3JkZXJIABI6ChJjYW5jZWxfb3JkZXJfYnlfaWQYCCABKAsyHC5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5SWRIABInCgdkZXBvc2l0GAkgASgLMhQubm9yZC5BY3Rpb24uRGVwb3NpdEgAEikKCHdpdGhkcmF3GAogASgLMhUubm9yZC5BY3Rpb24uV2l0aGRyYXdIABJMChtweXRoX3NldF93b3JtaG9sZV9ndWFyZGlhbnMYCyABKAsyJS5ub3JkLkFjdGlvbi5QeXRoU2V0V29ybWhvbGVHdWFyZGlhbnNIABI+ChRweXRoX3NldF9zeW1ib2xfZmVlZBgMIAEoCzIeLm5vcmQuQWN0aW9uLlB5dGhTZXRTeW1ib2xGZWVkSAASQgoWcHl0aF9wcmljZV9mZWVkX3VwZGF0ZRgNIAEoCzIgLm5vcmQuQWN0aW9uLlB5dGhQcmljZUZlZWRVcGRhdGVIABIrCglsaXF1aWRhdGUYDiABKAsyFi5ub3JkLkFjdGlvbi5MaXF1aWRhdGVIABI0Cg5yZXZva2Vfc2Vzc2lvbhgPIAEoCzIaLm5vcmQuQWN0aW9uLlJldm9rZVNlc3Npb25IABIjCgVwYXVzZRgQIAEoCzISLm5vcmQuQWN0aW9uLlBhdXNlSAASJwoHdW5wYXVzZRgRIAEoCzIULm5vcmQuQWN0aW9uLlVucGF1c2VIABIpCgh0cmFuc2ZlchgSIAEoCzIVLm5vcmQuQWN0aW9uLlRyYW5zZmVySAASLgoLYWRkX3RyaWdnZXIYICABKAsyFy5ub3JkLkFjdGlvbi5BZGRUcmlnZ2VySAASNAoOcmVtb3ZlX3RyaWdnZXIYISABKAsyGi5ub3JkLkFjdGlvbi5SZW1vdmVUcmlnZ2VySAASMgoNdGFrZV9wb3NpdGlvbhgiIAEoCzIZLm5vcmQuQWN0aW9uLlRha2VQb3NpdGlvbkgAEh4KBmF0b21pYxgjIAEoCzIMLm5vcmQuQXRvbWljSAAaUwoNQ3JlYXRlU2Vzc2lvbhITCgt1c2VyX3B1YmtleRgBIAEoDBITCgtibHN0X3B1YmtleRgCIAEoDBIYChBleHBpcnlfdGltZXN0YW1wGAMgASgDGncKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBraAQoMQ3JlYXRlTWFya2V0EhUKDXNpemVfZGVjaW1hbHMYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SDwoHaW1mX2JwcxgDIAEoDRIPCgdjbWZfYnBzGAQgASgNEg8KB21tZl9icHMYBSABKA0SJQoLbWFya2V0X3R5cGUYBiABKA4yEC5ub3JkLk1hcmtldFR5cGUSEwoLdmlld19zeW1ib2wYByABKAkSFQoNb3JhY2xlX3N5bWJvbBgIIAEoCRIVCg1iYXNlX3Rva2VuX2lkGAkgASgNGqYDCgpQbGFjZU9yZGVyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBINCgVwcmljZRgGIAEoBBIMCgRzaXplGAcgASgEEiMKCnF1b3RlX3NpemUYCCABKAsyDy5ub3JkLlF1b3RlU2l6ZRIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEhwKD2NsaWVudF9vcmRlcl9pZBghIAEoBEgBiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCIgASgNSAKIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGCMgASgESAOIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhIKEF9jbGllbnRfb3JkZXJfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQaqQEKD0NhbmNlbE9yZGVyQnlJZBISCgpzZXNzaW9uX2lkGAEgASgEEhAKCG9yZGVyX2lkGAIgASgEEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYISABKA1IAYgBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkGm8KB0RlcG9zaXQSFAoMYWN0aW9uX25vbmNlGAEgASgEEhIKCnRva2VuX2FkZHIYAiABKAwSDgoGYW1vdW50GAMgASgEEhMKC3VzZXJfcHVia2V5GAQgASgMEhUKDXNlbmRlcl9wdWJrZXkYBSABKAwaQAoIV2l0aGRyYXcSEAoIdG9rZW5faWQYASABKA0SEgoKc2Vzc2lvbl9pZBgCIAEoBBIOCgZhbW91bnQYAyABKAQaSQoYUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zEhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBqHAQoJTGlxdWlkYXRlEh0KFWxpcXVpZGF0b3Jfc2Vzc2lvbl9pZBgBIAEoBBIdChVsaXF1aWRhdGVlX2FjY291bnRfaWQYAiABKA0SIgoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAMgASgNSACIAQFCGAoWX2xpcXVpZGF0b3JfYWNjb3VudF9pZBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaBwoFUGF1c2UaCQoHVW5wYXVzZRrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBpQCg1UcmlnZ2VyUHJpY2VzEhUKDXRyaWdnZXJfcHJpY2UYBSABKAQSGAoLbGltaXRfcHJpY2UYBiABKARIAIgBAUIOCgxfbGltaXRfcHJpY2UapgEKCkFkZFRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EioKBnByaWNlcxgEIAEoCzIaLm5vcmQuQWN0aW9uLlRyaWdnZXJQcmljZXMSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGn0KDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBqXAQoMVGFrZVBvc2l0aW9uEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEgwKBHNpemUYAyABKAMSHgoRc2VuZGVyX2FjY291bnRfaWQYBCABKA1IAIgBARISCgVwcmljZRgFIAEoBEgBiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIICgZfcHJpY2VCBgoEa2luZCJ3ChNBdG9taWNTdWJhY3Rpb25LaW5kEiwKDnRyYWRlX29yX3BsYWNlGAYgASgLMhIubm9yZC5UcmFkZU9yUGxhY2VIABIpCgxjYW5jZWxfb3JkZXIYByABKAsyES5ub3JkLkNhbmNlbE9yZGVySABCBwoFaW5uZXIicAoGQXRvbWljEhIKCnNlc3Npb25faWQYASABKAQSFwoKYWNjb3VudF9pZBgCIAEoDUgAiAEBEioKB2FjdGlvbnMYBiADKAsyGS5ub3JkLkF0b21pY1N1YmFjdGlvbktpbmRCDQoLX2FjY291bnRfaWQiwRoKB1JlY2VpcHQSEQoJYWN0aW9uX2lkGAEgASgEEhoKA2VychggIAEoDjILLm5vcmQuRXJyb3JIABJCChVjcmVhdGVfc2Vzc2lvbl9yZXN1bHQYISABKAsyIS5ub3JkLlJlY2VpcHQuQ3JlYXRlU2Vzc2lvblJlc3VsdEgAEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgiIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASPgoTY2FuY2VsX29yZGVyX3Jlc3VsdBgjIAEoCzIfLm5vcmQuUmVjZWlwdC5DYW5jZWxPcmRlclJlc3VsdEgAEjUKDmRlcG9zaXRfcmVzdWx0GCQgASgLMhsubm9yZC5SZWNlaXB0LkRlcG9zaXRSZXN1bHRIABI+ChNpbnNlcnRfdG9rZW5fcmVzdWx0GCUgASgLMh8ubm9yZC5SZWNlaXB0Lkluc2VydFRva2VuUmVzdWx0SAASQAoUaW5zZXJ0X21hcmtldF9yZXN1bHQYJiABKAsyIC5ub3JkLlJlY2VpcHQuSW5zZXJ0TWFya2V0UmVzdWx0SAASNwoPd2l0aGRyYXdfcmVzdWx0GCcgASgLMhwubm9yZC5SZWNlaXB0LldpdGhkcmF3UmVzdWx0SAASSQoZb3JhY2xlX3N5bWJvbF9mZWVkX3Jlc3VsdBgoIAEoCzIkLm5vcmQuUmVjZWlwdC5PcmFjbGVTeW1ib2xGZWVkUmVzdWx0SAASQAoUb3JhY2xlX3VwZGF0ZV9yZXN1bHQYKSABKAsyIC5ub3JkLlJlY2VpcHQuT3JhY2xlVXBkYXRlUmVzdWx0SAASSwoadXBkYXRlX2d1YXJkaWFuX3NldF9yZXN1bHQYKiABKAsyJS5ub3JkLlJlY2VpcHQuVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHRIABI1CgpsaXF1aWRhdGVkGCsgASgLMh8ubm9yZC5SZWNlaXB0LkFjY291bnRMaXF1aWRhdGVkSAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEk0KGHBvc2l0aW9uX3Rha2VuX29yX3RyYWRlZBhCIAEoCzIpLm5vcmQuUmVjZWlwdC5Qb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHRIABIsCgZhdG9taWMYQyABKAsyGi5ub3JkLlJlY2VpcHQuQXRvbWljUmVzdWx0SAAaeAoGUG9zdGVkEhgKBHNpZGUYASABKA4yCi5ub3JkLlNpZGUSEQoJbWFya2V0X2lkGAIgASgNEg0KBXByaWNlGAMgASgEEgwKBHNpemUYBCABKAQSEAoIb3JkZXJfaWQYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRpKCgVUcmFkZRIQCghvcmRlcl9pZBgCIAEoBBINCgVwcmljZRgEIAEoBBIMCgRzaXplGAUgASgEEhIKCmFjY291bnRfaWQYBiABKA0aKQoTQ3JlYXRlU2Vzc2lvblJlc3VsdBISCgpzZXNzaW9uX2lkGAEgASgEGkMKCVRyaWdnZXJlZBIfCgRraW5kGAMgASgOMhEubm9yZC5UcmlnZ2VyS2luZBIVCg10cmlnZ2VyX3ByaWNlGAQgASgEGpUCChBQbGFjZU9yZGVyUmVzdWx0EikKBnBvc3RlZBgBIAEoCzIULm5vcmQuUmVjZWlwdC5Qb3N0ZWRIAIgBARIiCgVmaWxscxgCIAMoCzITLm5vcmQuUmVjZWlwdC5UcmFkZRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAYgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYBCABKARIAogBARIvCgl0cmlnZ2VyZWQYBSABKAsyFy5ub3JkLlJlY2VpcHQuVHJpZ2dlcmVkSAOIAQFCCQoHX3Bvc3RlZEISChBfY2xpZW50X29yZGVyX2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWRCDAoKX3RyaWdnZXJlZBpCCgtUYWtlblJlc3VsdBILCgNwbmwYASABKAMSDAoEc2l6ZRgCIAEoAxIYChB0YWtlcl9hY2NvdW50X2lkGAMgASgNGqsBChtQb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHQSEQoJbWFya2V0X2lkGAEgASgNEioKBXRha2VuGAIgASgLMhkubm9yZC5SZWNlaXB0LlRha2VuUmVzdWx0SAASMAoGdHJhZGVkGAMgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIAEIbChlQb3NpdGlvblRha2VuT3JUcmFkZWRLaW5kGjkKEUNhbmNlbE9yZGVyUmVzdWx0EhAKCG9yZGVyX2lkGAEgASgEEhIKCmFjY291bnRfaWQYAiABKA0acAoNRGVwb3NpdFJlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSEgoKYWNjb3VudF9pZBgDIAEoDRIUCgx1c2VyX2NyZWF0ZWQYBCABKAgSEwoLdXNlcl9wdWJrZXkYBSABKAwaQwoRSW5zZXJ0VG9rZW5SZXN1bHQSEgoKY2hhaW5fYWRkchgBIAEoDBIaCgV0b2tlbhgCIAEoCzILLm5vcmQuVG9rZW4aMgoSSW5zZXJ0TWFya2V0UmVzdWx0EhwKBm1hcmtldBgBIAEoCzIMLm5vcmQuTWFya2V0GnkKDldpdGhkcmF3UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBIPCgdiYWxhbmNlGAMgASgEEhIKCmFjY291bnRfaWQYBCABKA0SCwoDZmVlGAUgASgEEhMKC3VzZXJfcHVia2V5GAYgASgMGkAKFk9yYWNsZVN5bWJvbEZlZWRSZXN1bHQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIPCgdmZWVkX2lkGAIgASgMGicKEk9yYWNsZVVwZGF0ZVJlc3VsdBIRCgl0aW1lc3RhbXAYASABKAMaSAoXVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHQSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBpDCgxQZXJwUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxINCgVwcmljZRgDIAEoBBqeAQoRQWNjb3VudExpcXVpZGF0ZWQSHQoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAEgASgNEh0KFWxpcXVpZGF0ZWVfYWNjb3VudF9pZBgCIAEoDRIYChBjYW5jZWxsZWRfb3JkZXJzGAMgAygEEjEKDXJlbW92ZWRfcGVycHMYBCADKAsyGi5ub3JkLlJlY2VpcHQuUGVycFBvc2l0aW9uGhAKDlNlc3Npb25SZXZva2VkGggKBlBhdXNlZBoKCghVbnBhdXNlZBrhAQoLVHJhbnNmZXJyZWQSFwoPZnJvbV9hY2NvdW50X2lkGAEgASgNEhwKD3RvX3VzZXJfYWNjb3VudBgCIAEoDUgAiAEBEhAKCHRva2VuX2lkGAMgASgNEg4KBmFtb3VudBgEIAEoBBIXCg9hY2NvdW50X2NyZWF0ZWQYBSABKAgSNQoSdG9fc3BlY2lhbF9hY2NvdW50GAYgASgOMhQubm9yZC5TcGVjaWFsQWNjb3VudEgBiAEBQhIKEF90b191c2VyX2FjY291bnRCFQoTX3RvX3NwZWNpYWxfYWNjb3VudBoOCgxUcmlnZ2VyQWRkZWQaEAoOVHJpZ2dlclJlbW92ZWQamwEKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASrdGQoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhFWFBJUllfVElNRVNUQU1QX0lOX1BBU1QQEBIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIXChNJTlZBTElEX09SREVSX09XTkVSEBYSIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGsSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIUChBGVU5ESU5HX09WRVJGTE9XEHsSNwozQ0FOX1JFRFVDRV9QT1NJVElPTl9PTkxZX0lGX0FMTF9PUkRFUlNfQVJFX0NBTkNFTEVEEHwSFwoTVU5FWFBFQ1RFRF9UT0tFTl9JRBB/EhQKD1RPS0VOX05PVF9SRUFEWRCCARIcChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQcBIhChxJTU1FRElBVEVfT1JERVJfR09UX05PX0ZJTExTEIUBEhkKFEZBSUxFRF9UT19GSUxMX0xJTUlUEIYBEjAKK1BPU1RfT05MWV9NVVNUX05PVF9GSUxMX0FOWV9PUFBPU0lURV9PUkRFUlMQhwESDAoHSU5WQUxJRBCIARIQCgtNQUlOVEVOQU5DRRCJARIaChVNSU5JTVVNX1NJWkVfREVDSU1BTFMQigESMgotUEFSQU1FVEVSU19XSUxMX0NSRUFURV9OT05fT1BFUkFUSU9OQUxfTUFSS0VUEIsBEiIKHU9OTFlfSU1NRURJQVRFX09SREVSU19BTExPV0VEEIwBEhsKFlRPT19NQU5ZX1VTRVJfQUNDT1VOVFMQjQESFgoRQUNDT1VOVF9OT1RfRk9VTkQQjgESGgoVQUNDT1VOVF9JTlZBTElEX09XTkVSEI8BEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESGAoTUE9TSVRJT05fU1RBVEVfUEVSUBDPARIkCh9QT1NJVElPTl9TVEFURV9PUkRFUl9ERUxFR0FUSU9OENABEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESJQogT1JERVJfU0laRV9FWENFRURTX1BPU0lUSU9OX1NJWkUQ+QESKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgAISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCBAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhQKD05PVF9JTVBMRU1FTlRFRBD0AxIMCgdEcm9wcGVkEOcHKh4KDlNwZWNpYWxBY2NvdW50EgwKCEZlZVZhdWx0EABiBnByb3RvMw");
18
+ fileDesc("Cgpub3JkLnByb3RvEgRub3JkItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCJHCgpUcmlnZ2VyS2V5Eh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYBCABKA4yCi5ub3JkLlNpZGUizRsKBkFjdGlvbhIZChFjdXJyZW50X3RpbWVzdGFtcBgBIAEoAxINCgVub25jZRgCIAEoDRI0Cg5jcmVhdGVfc2Vzc2lvbhgEIAEoCzIaLm5vcmQuQWN0aW9uLkNyZWF0ZVNlc3Npb25IABIwCgxjcmVhdGVfdG9rZW4YBSABKAsyGC5ub3JkLkFjdGlvbi5DcmVhdGVUb2tlbkgAEjIKDWNyZWF0ZV9tYXJrZXQYBiABKAsyGS5ub3JkLkFjdGlvbi5DcmVhdGVNYXJrZXRIABIuCgtwbGFjZV9vcmRlchgHIAEoCzIXLm5vcmQuQWN0aW9uLlBsYWNlT3JkZXJIABI6ChJjYW5jZWxfb3JkZXJfYnlfaWQYCCABKAsyHC5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5SWRIABInCgdkZXBvc2l0GAkgASgLMhQubm9yZC5BY3Rpb24uRGVwb3NpdEgAEikKCHdpdGhkcmF3GAogASgLMhUubm9yZC5BY3Rpb24uV2l0aGRyYXdIABJMChtweXRoX3NldF93b3JtaG9sZV9ndWFyZGlhbnMYCyABKAsyJS5ub3JkLkFjdGlvbi5QeXRoU2V0V29ybWhvbGVHdWFyZGlhbnNIABI+ChRweXRoX3NldF9zeW1ib2xfZmVlZBgMIAEoCzIeLm5vcmQuQWN0aW9uLlB5dGhTZXRTeW1ib2xGZWVkSAASQgoWcHl0aF9wcmljZV9mZWVkX3VwZGF0ZRgNIAEoCzIgLm5vcmQuQWN0aW9uLlB5dGhQcmljZUZlZWRVcGRhdGVIABIrCglsaXF1aWRhdGUYDiABKAsyFi5ub3JkLkFjdGlvbi5MaXF1aWRhdGVIABI0Cg5yZXZva2Vfc2Vzc2lvbhgPIAEoCzIaLm5vcmQuQWN0aW9uLlJldm9rZVNlc3Npb25IABIjCgVwYXVzZRgQIAEoCzISLm5vcmQuQWN0aW9uLlBhdXNlSAASJwoHdW5wYXVzZRgRIAEoCzIULm5vcmQuQWN0aW9uLlVucGF1c2VIABIpCgh0cmFuc2ZlchgSIAEoCzIVLm5vcmQuQWN0aW9uLlRyYW5zZmVySAASLgoLYWRkX3RyaWdnZXIYICABKAsyFy5ub3JkLkFjdGlvbi5BZGRUcmlnZ2VySAASNAoOcmVtb3ZlX3RyaWdnZXIYISABKAsyGi5ub3JkLkFjdGlvbi5SZW1vdmVUcmlnZ2VySAASMgoNdGFrZV9wb3NpdGlvbhgiIAEoCzIZLm5vcmQuQWN0aW9uLlRha2VQb3NpdGlvbkgAEh4KBmF0b21pYxgjIAEoCzIMLm5vcmQuQXRvbWljSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAAaUwoNQ3JlYXRlU2Vzc2lvbhITCgt1c2VyX3B1YmtleRgBIAEoDBITCgtibHN0X3B1YmtleRgCIAEoDBIYChBleHBpcnlfdGltZXN0YW1wGAMgASgDGncKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBraAQoMQ3JlYXRlTWFya2V0EhUKDXNpemVfZGVjaW1hbHMYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SDwoHaW1mX2JwcxgDIAEoDRIPCgdjbWZfYnBzGAQgASgNEg8KB21tZl9icHMYBSABKA0SJQoLbWFya2V0X3R5cGUYBiABKA4yEC5ub3JkLk1hcmtldFR5cGUSEwoLdmlld19zeW1ib2wYByABKAkSFQoNb3JhY2xlX3N5bWJvbBgIIAEoCRIVCg1iYXNlX3Rva2VuX2lkGAkgASgNGqYDCgpQbGFjZU9yZGVyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBINCgVwcmljZRgGIAEoBBIMCgRzaXplGAcgASgEEiMKCnF1b3RlX3NpemUYCCABKAsyDy5ub3JkLlF1b3RlU2l6ZRIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEhwKD2NsaWVudF9vcmRlcl9pZBghIAEoBEgBiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCIgASgNSAKIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGCMgASgESAOIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhIKEF9jbGllbnRfb3JkZXJfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQaqQEKD0NhbmNlbE9yZGVyQnlJZBISCgpzZXNzaW9uX2lkGAEgASgEEhAKCG9yZGVyX2lkGAIgASgEEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYISABKA1IAYgBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkGm8KB0RlcG9zaXQSFAoMYWN0aW9uX25vbmNlGAEgASgEEhIKCnRva2VuX2FkZHIYAiABKAwSDgoGYW1vdW50GAMgASgEEhMKC3VzZXJfcHVia2V5GAQgASgMEhUKDXNlbmRlcl9wdWJrZXkYBSABKAwaQAoIV2l0aGRyYXcSEAoIdG9rZW5faWQYASABKA0SEgoKc2Vzc2lvbl9pZBgCIAEoBBIOCgZhbW91bnQYAyABKAQaSQoYUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zEhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBqHAQoJTGlxdWlkYXRlEh0KFWxpcXVpZGF0b3Jfc2Vzc2lvbl9pZBgBIAEoBBIdChVsaXF1aWRhdGVlX2FjY291bnRfaWQYAiABKA0SIgoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAMgASgNSACIAQFCGAoWX2xpcXVpZGF0b3JfYWNjb3VudF9pZBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaBwoFUGF1c2UaCQoHVW5wYXVzZRrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBpQCg1UcmlnZ2VyUHJpY2VzEhUKDXRyaWdnZXJfcHJpY2UYBSABKAQSGAoLbGltaXRfcHJpY2UYBiABKARIAIgBAUIOCgxfbGltaXRfcHJpY2UapgEKCkFkZFRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EioKBnByaWNlcxgEIAEoCzIaLm5vcmQuQWN0aW9uLlRyaWdnZXJQcmljZXMSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGn0KDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SHQoDa2V5GAMgASgLMhAubm9yZC5UcmlnZ2VyS2V5EhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBohCgxGcmVlemVNYXJrZXQSEQoJbWFya2V0X2lkGAIgASgNGiMKDlVuZnJlZXplTWFya2V0EhEKCW1hcmtldF9pZBgCIAEoDRqXAQoMVGFrZVBvc2l0aW9uEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEgwKBHNpemUYAyABKAMSHgoRc2VuZGVyX2FjY291bnRfaWQYBCABKA1IAIgBARISCgVwcmljZRgFIAEoBEgBiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIICgZfcHJpY2VCBgoEa2luZCJ3ChNBdG9taWNTdWJhY3Rpb25LaW5kEiwKDnRyYWRlX29yX3BsYWNlGAYgASgLMhIubm9yZC5UcmFkZU9yUGxhY2VIABIpCgxjYW5jZWxfb3JkZXIYByABKAsyES5ub3JkLkNhbmNlbE9yZGVySABCBwoFaW5uZXIicAoGQXRvbWljEhIKCnNlc3Npb25faWQYASABKAQSFwoKYWNjb3VudF9pZBgCIAEoDUgAiAEBEioKB2FjdGlvbnMYBiADKAsyGS5ub3JkLkF0b21pY1N1YmFjdGlvbktpbmRCDQoLX2FjY291bnRfaWQivxsKB1JlY2VpcHQSEQoJYWN0aW9uX2lkGAEgASgEEhoKA2VychggIAEoDjILLm5vcmQuRXJyb3JIABJCChVjcmVhdGVfc2Vzc2lvbl9yZXN1bHQYISABKAsyIS5ub3JkLlJlY2VpcHQuQ3JlYXRlU2Vzc2lvblJlc3VsdEgAEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgiIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASPgoTY2FuY2VsX29yZGVyX3Jlc3VsdBgjIAEoCzIfLm5vcmQuUmVjZWlwdC5DYW5jZWxPcmRlclJlc3VsdEgAEjUKDmRlcG9zaXRfcmVzdWx0GCQgASgLMhsubm9yZC5SZWNlaXB0LkRlcG9zaXRSZXN1bHRIABI+ChNpbnNlcnRfdG9rZW5fcmVzdWx0GCUgASgLMh8ubm9yZC5SZWNlaXB0Lkluc2VydFRva2VuUmVzdWx0SAASQAoUaW5zZXJ0X21hcmtldF9yZXN1bHQYJiABKAsyIC5ub3JkLlJlY2VpcHQuSW5zZXJ0TWFya2V0UmVzdWx0SAASNwoPd2l0aGRyYXdfcmVzdWx0GCcgASgLMhwubm9yZC5SZWNlaXB0LldpdGhkcmF3UmVzdWx0SAASSQoZb3JhY2xlX3N5bWJvbF9mZWVkX3Jlc3VsdBgoIAEoCzIkLm5vcmQuUmVjZWlwdC5PcmFjbGVTeW1ib2xGZWVkUmVzdWx0SAASQAoUb3JhY2xlX3VwZGF0ZV9yZXN1bHQYKSABKAsyIC5ub3JkLlJlY2VpcHQuT3JhY2xlVXBkYXRlUmVzdWx0SAASSwoadXBkYXRlX2d1YXJkaWFuX3NldF9yZXN1bHQYKiABKAsyJS5ub3JkLlJlY2VpcHQuVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHRIABI1CgpsaXF1aWRhdGVkGCsgASgLMh8ubm9yZC5SZWNlaXB0LkFjY291bnRMaXF1aWRhdGVkSAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEk0KGHBvc2l0aW9uX3Rha2VuX29yX3RyYWRlZBhCIAEoCzIpLm5vcmQuUmVjZWlwdC5Qb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHRIABIsCgZhdG9taWMYQyABKAsyGi5ub3JkLlJlY2VpcHQuQXRvbWljUmVzdWx0SAASQgoVbWFya2V0X2ZyZWV6ZV91cGRhdGVkGEQgASgLMiEubm9yZC5SZWNlaXB0Lk1hcmtldEZyZWV6ZVVwZGF0ZWRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGkoKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRopChNDcmVhdGVTZXNzaW9uUmVzdWx0EhIKCnNlc3Npb25faWQYASABKAQaQwoJVHJpZ2dlcmVkEh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhUKDXRyaWdnZXJfcHJpY2UYBCABKAQalQIKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBEi8KCXRyaWdnZXJlZBgFIAEoCzIXLm5vcmQuUmVjZWlwdC5UcmlnZ2VyZWRIA4gBAUIJCgdfcG9zdGVkQhIKEF9jbGllbnRfb3JkZXJfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZEIMCgpfdHJpZ2dlcmVkGkIKC1Rha2VuUmVzdWx0EgsKA3BubBgBIAEoAxIMCgRzaXplGAIgASgDEhgKEHRha2VyX2FjY291bnRfaWQYAyABKA0aqwEKG1Bvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdBIRCgltYXJrZXRfaWQYASABKA0SKgoFdGFrZW4YAiABKAsyGS5ub3JkLlJlY2VpcHQuVGFrZW5SZXN1bHRIABIwCgZ0cmFkZWQYAyABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAQhsKGVBvc2l0aW9uVGFrZW5PclRyYWRlZEtpbmQaOQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRpwCg1EZXBvc2l0UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBISCgphY2NvdW50X2lkGAMgASgNEhQKDHVzZXJfY3JlYXRlZBgEIAEoCBITCgt1c2VyX3B1YmtleRgFIAEoDBpDChFJbnNlcnRUb2tlblJlc3VsdBISCgpjaGFpbl9hZGRyGAEgASgMEhoKBXRva2VuGAIgASgLMgsubm9yZC5Ub2tlbhoyChJJbnNlcnRNYXJrZXRSZXN1bHQSHAoGbWFya2V0GAEgASgLMgwubm9yZC5NYXJrZXQaeQoOV2l0aGRyYXdSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEg8KB2JhbGFuY2UYAyABKAQSEgoKYWNjb3VudF9pZBgEIAEoDRILCgNmZWUYBSABKAQSEwoLdXNlcl9wdWJrZXkYBiABKAwaQAoWT3JhY2xlU3ltYm9sRmVlZFJlc3VsdBIVCg1vcmFjbGVfc3ltYm9sGAEgASgJEg8KB2ZlZWRfaWQYAiABKAwaJwoST3JhY2xlVXBkYXRlUmVzdWx0EhEKCXRpbWVzdGFtcBgBIAEoAxpIChdVcGRhdGVHdWFyZGlhblNldFJlc3VsdBIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMGkMKDFBlcnBQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEg0KBXByaWNlGAMgASgEGp4BChFBY2NvdW50TGlxdWlkYXRlZBIdChVsaXF1aWRhdG9yX2FjY291bnRfaWQYASABKA0SHQoVbGlxdWlkYXRlZV9hY2NvdW50X2lkGAIgASgNEhgKEGNhbmNlbGxlZF9vcmRlcnMYAyADKAQSMQoNcmVtb3ZlZF9wZXJwcxgEIAMoCzIaLm5vcmQuUmVjZWlwdC5QZXJwUG9zaXRpb24aEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGuEBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SHAoPdG9fdXNlcl9hY2NvdW50GAIgASgNSACIAQESEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBI1ChJ0b19zcGVjaWFsX2FjY291bnQYBiABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEgoQX3RvX3VzZXJfYWNjb3VudEIVChNfdG9fc3BlY2lhbF9hY2NvdW50Gg4KDFRyaWdnZXJBZGRlZBoQCg5UcmlnZ2VyUmVtb3ZlZBo4ChNNYXJrZXRGcmVlemVVcGRhdGVkEhEKCW1hcmtldF9pZBgBIAEoDRIOCgZmcm96ZW4YAiABKAgamwEKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASrdGQoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhFWFBJUllfVElNRVNUQU1QX0lOX1BBU1QQEBIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIXChNJTlZBTElEX09SREVSX09XTkVSEBYSIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGsSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIUChBGVU5ESU5HX09WRVJGTE9XEHsSNwozQ0FOX1JFRFVDRV9QT1NJVElPTl9PTkxZX0lGX0FMTF9PUkRFUlNfQVJFX0NBTkNFTEVEEHwSFwoTVU5FWFBFQ1RFRF9UT0tFTl9JRBB/EhQKD1RPS0VOX05PVF9SRUFEWRCCARIcChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQcBIhChxJTU1FRElBVEVfT1JERVJfR09UX05PX0ZJTExTEIUBEhkKFEZBSUxFRF9UT19GSUxMX0xJTUlUEIYBEjAKK1BPU1RfT05MWV9NVVNUX05PVF9GSUxMX0FOWV9PUFBPU0lURV9PUkRFUlMQhwESDAoHSU5WQUxJRBCIARIQCgtNQUlOVEVOQU5DRRCJARIaChVNSU5JTVVNX1NJWkVfREVDSU1BTFMQigESMgotUEFSQU1FVEVSU19XSUxMX0NSRUFURV9OT05fT1BFUkFUSU9OQUxfTUFSS0VUEIsBEiIKHU9OTFlfSU1NRURJQVRFX09SREVSU19BTExPV0VEEIwBEhsKFlRPT19NQU5ZX1VTRVJfQUNDT1VOVFMQjQESFgoRQUNDT1VOVF9OT1RfRk9VTkQQjgESGgoVQUNDT1VOVF9JTlZBTElEX09XTkVSEI8BEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESGAoTUE9TSVRJT05fU1RBVEVfUEVSUBDPARIkCh9QT1NJVElPTl9TVEFURV9PUkRFUl9ERUxFR0FUSU9OENABEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESJQogT1JERVJfU0laRV9FWENFRURTX1BPU0lUSU9OX1NJWkUQ+QESKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgAISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCBAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhQKD05PVF9JTVBMRU1FTlRFRBD0AxIMCgdEcm9wcGVkEOcHKh4KDlNwZWNpYWxBY2NvdW50EgwKCEZlZVZhdWx0EABiBnByb3RvMw");
19
19
 
20
20
  /**
21
21
  * @generated from message nord.Market
@@ -601,6 +601,18 @@ export type Action = Message<"nord.Action"> & {
601
601
  */
602
602
  value: Atomic;
603
603
  case: "atomic";
604
+ } | {
605
+ /**
606
+ * @generated from field: nord.Action.FreezeMarket freeze_market = 36;
607
+ */
608
+ value: Action_FreezeMarket;
609
+ case: "freezeMarket";
610
+ } | {
611
+ /**
612
+ * @generated from field: nord.Action.UnfreezeMarket unfreeze_market = 37;
613
+ */
614
+ value: Action_UnfreezeMarket;
615
+ case: "unfreezeMarket";
604
616
  } | { case: undefined; value?: undefined };
605
617
  };
606
618
 
@@ -723,6 +735,16 @@ export type ActionJson = {
723
735
  * @generated from field: nord.Atomic atomic = 35;
724
736
  */
725
737
  atomic?: AtomicJson;
738
+
739
+ /**
740
+ * @generated from field: nord.Action.FreezeMarket freeze_market = 36;
741
+ */
742
+ freezeMarket?: Action_FreezeMarketJson;
743
+
744
+ /**
745
+ * @generated from field: nord.Action.UnfreezeMarket unfreeze_market = 37;
746
+ */
747
+ unfreezeMarket?: Action_UnfreezeMarketJson;
726
748
  };
727
749
 
728
750
  /**
@@ -1972,6 +1994,60 @@ export type Action_RemoveTriggerJson = {
1972
1994
  export const Action_RemoveTriggerSchema: GenMessage<Action_RemoveTrigger, {jsonType: Action_RemoveTriggerJson}> = /*@__PURE__*/
1973
1995
  messageDesc(file_nord, 8, 17);
1974
1996
 
1997
+ /**
1998
+ * @generated from message nord.Action.FreezeMarket
1999
+ */
2000
+ export type Action_FreezeMarket = Message<"nord.Action.FreezeMarket"> & {
2001
+ /**
2002
+ * @generated from field: uint32 market_id = 2;
2003
+ */
2004
+ marketId: number;
2005
+ };
2006
+
2007
+ /**
2008
+ * @generated from message nord.Action.FreezeMarket
2009
+ */
2010
+ export type Action_FreezeMarketJson = {
2011
+ /**
2012
+ * @generated from field: uint32 market_id = 2;
2013
+ */
2014
+ marketId?: number;
2015
+ };
2016
+
2017
+ /**
2018
+ * Describes the message nord.Action.FreezeMarket.
2019
+ * Use `create(Action_FreezeMarketSchema)` to create a new message.
2020
+ */
2021
+ export const Action_FreezeMarketSchema: GenMessage<Action_FreezeMarket, {jsonType: Action_FreezeMarketJson}> = /*@__PURE__*/
2022
+ messageDesc(file_nord, 8, 18);
2023
+
2024
+ /**
2025
+ * @generated from message nord.Action.UnfreezeMarket
2026
+ */
2027
+ export type Action_UnfreezeMarket = Message<"nord.Action.UnfreezeMarket"> & {
2028
+ /**
2029
+ * @generated from field: uint32 market_id = 2;
2030
+ */
2031
+ marketId: number;
2032
+ };
2033
+
2034
+ /**
2035
+ * @generated from message nord.Action.UnfreezeMarket
2036
+ */
2037
+ export type Action_UnfreezeMarketJson = {
2038
+ /**
2039
+ * @generated from field: uint32 market_id = 2;
2040
+ */
2041
+ marketId?: number;
2042
+ };
2043
+
2044
+ /**
2045
+ * Describes the message nord.Action.UnfreezeMarket.
2046
+ * Use `create(Action_UnfreezeMarketSchema)` to create a new message.
2047
+ */
2048
+ export const Action_UnfreezeMarketSchema: GenMessage<Action_UnfreezeMarket, {jsonType: Action_UnfreezeMarketJson}> = /*@__PURE__*/
2049
+ messageDesc(file_nord, 8, 19);
2050
+
1975
2051
  /**
1976
2052
  * @generated from message nord.Action.TakePosition
1977
2053
  */
@@ -2061,7 +2137,7 @@ export type Action_TakePositionJson = {
2061
2137
  * Use `create(Action_TakePositionSchema)` to create a new message.
2062
2138
  */
2063
2139
  export const Action_TakePositionSchema: GenMessage<Action_TakePosition, {jsonType: Action_TakePositionJson}> = /*@__PURE__*/
2064
- messageDesc(file_nord, 8, 18);
2140
+ messageDesc(file_nord, 8, 20);
2065
2141
 
2066
2142
  /**
2067
2143
  * @generated from message nord.AtomicSubactionKind
@@ -2290,6 +2366,12 @@ export type Receipt = Message<"nord.Receipt"> & {
2290
2366
  */
2291
2367
  value: Receipt_AtomicResult;
2292
2368
  case: "atomic";
2369
+ } | {
2370
+ /**
2371
+ * @generated from field: nord.Receipt.MarketFreezeUpdated market_freeze_updated = 68;
2372
+ */
2373
+ value: Receipt_MarketFreezeUpdated;
2374
+ case: "marketFreezeUpdated";
2293
2375
  } | { case: undefined; value?: undefined };
2294
2376
  };
2295
2377
 
@@ -2405,6 +2487,11 @@ export type ReceiptJson = {
2405
2487
  * @generated from field: nord.Receipt.AtomicResult atomic = 67;
2406
2488
  */
2407
2489
  atomic?: Receipt_AtomicResultJson;
2490
+
2491
+ /**
2492
+ * @generated from field: nord.Receipt.MarketFreezeUpdated market_freeze_updated = 68;
2493
+ */
2494
+ marketFreezeUpdated?: Receipt_MarketFreezeUpdatedJson;
2408
2495
  };
2409
2496
 
2410
2497
  /**
@@ -3426,6 +3513,43 @@ export type Receipt_TriggerRemovedJson = {
3426
3513
  export const Receipt_TriggerRemovedSchema: GenMessage<Receipt_TriggerRemoved, {jsonType: Receipt_TriggerRemovedJson}> = /*@__PURE__*/
3427
3514
  messageDesc(file_nord, 11, 22);
3428
3515
 
3516
+ /**
3517
+ * @generated from message nord.Receipt.MarketFreezeUpdated
3518
+ */
3519
+ export type Receipt_MarketFreezeUpdated = Message<"nord.Receipt.MarketFreezeUpdated"> & {
3520
+ /**
3521
+ * @generated from field: uint32 market_id = 1;
3522
+ */
3523
+ marketId: number;
3524
+
3525
+ /**
3526
+ * @generated from field: bool frozen = 2;
3527
+ */
3528
+ frozen: boolean;
3529
+ };
3530
+
3531
+ /**
3532
+ * @generated from message nord.Receipt.MarketFreezeUpdated
3533
+ */
3534
+ export type Receipt_MarketFreezeUpdatedJson = {
3535
+ /**
3536
+ * @generated from field: uint32 market_id = 1;
3537
+ */
3538
+ marketId?: number;
3539
+
3540
+ /**
3541
+ * @generated from field: bool frozen = 2;
3542
+ */
3543
+ frozen?: boolean;
3544
+ };
3545
+
3546
+ /**
3547
+ * Describes the message nord.Receipt.MarketFreezeUpdated.
3548
+ * Use `create(Receipt_MarketFreezeUpdatedSchema)` to create a new message.
3549
+ */
3550
+ export const Receipt_MarketFreezeUpdatedSchema: GenMessage<Receipt_MarketFreezeUpdated, {jsonType: Receipt_MarketFreezeUpdatedJson}> = /*@__PURE__*/
3551
+ messageDesc(file_nord, 11, 23);
3552
+
3429
3553
  /**
3430
3554
  * @generated from message nord.Receipt.AtomicSubactionResultKind
3431
3555
  */
@@ -3476,7 +3600,7 @@ export type Receipt_AtomicSubactionResultKindJson = {
3476
3600
  * Use `create(Receipt_AtomicSubactionResultKindSchema)` to create a new message.
3477
3601
  */
3478
3602
  export const Receipt_AtomicSubactionResultKindSchema: GenMessage<Receipt_AtomicSubactionResultKind, {jsonType: Receipt_AtomicSubactionResultKindJson}> = /*@__PURE__*/
3479
- messageDesc(file_nord, 11, 23);
3603
+ messageDesc(file_nord, 11, 24);
3480
3604
 
3481
3605
  /**
3482
3606
  * @generated from message nord.Receipt.AtomicResult
@@ -3503,7 +3627,7 @@ export type Receipt_AtomicResultJson = {
3503
3627
  * Use `create(Receipt_AtomicResultSchema)` to create a new message.
3504
3628
  */
3505
3629
  export const Receipt_AtomicResultSchema: GenMessage<Receipt_AtomicResult, {jsonType: Receipt_AtomicResultJson}> = /*@__PURE__*/
3506
- messageDesc(file_nord, 11, 24);
3630
+ messageDesc(file_nord, 11, 25);
3507
3631
 
3508
3632
  /**
3509
3633
  * @generated from enum nord.Side
@@ -60,7 +60,7 @@ export interface paths {
60
60
  [name: string]: unknown;
61
61
  };
62
62
  content: {
63
- "application/json": components["schemas"]["Info2"];
63
+ "application/json": components["schemas"]["MarketsInfo"];
64
64
  };
65
65
  };
66
66
  };
@@ -1069,6 +1069,40 @@ export interface paths {
1069
1069
  patch?: never;
1070
1070
  trace?: never;
1071
1071
  };
1072
+ "/state/info": {
1073
+ parameters: {
1074
+ query?: never;
1075
+ header?: never;
1076
+ path?: never;
1077
+ cookie?: never;
1078
+ };
1079
+ get: {
1080
+ parameters: {
1081
+ query?: never;
1082
+ header?: never;
1083
+ path?: never;
1084
+ cookie?: never;
1085
+ };
1086
+ requestBody?: never;
1087
+ responses: {
1088
+ 200: {
1089
+ headers: {
1090
+ [name: string]: unknown;
1091
+ };
1092
+ content: {
1093
+ "application/json": components["schemas"]["StateInfo"];
1094
+ };
1095
+ };
1096
+ };
1097
+ };
1098
+ put?: never;
1099
+ post?: never;
1100
+ delete?: never;
1101
+ options?: never;
1102
+ head?: never;
1103
+ patch?: never;
1104
+ trace?: never;
1105
+ };
1072
1106
  "/tv": {
1073
1107
  parameters: {
1074
1108
  query?: never;
@@ -1968,7 +2002,7 @@ export interface components {
1968
2002
  } & {
1969
2003
  [key: string]: unknown;
1970
2004
  };
1971
- Info2: {
2005
+ MarketsInfo: {
1972
2006
  markets: components["schemas"]["MarketInfo"][];
1973
2007
  tokens: components["schemas"]["TokenInfo"][];
1974
2008
  };
@@ -2476,6 +2510,21 @@ export interface components {
2476
2510
  version?: components["schemas"]["BinaryId"] | null;
2477
2511
  };
2478
2512
  BinaryId: string;
2513
+ StateInfo: {
2514
+ version: components["schemas"]["ExecutableVersion"];
2515
+ state: components["schemas"]["EngineStateHeader"];
2516
+ };
2517
+ EngineStateHeader: {
2518
+ /** Format: uint16 */
2519
+ version: number;
2520
+ /** Format: uint64 */
2521
+ action_id: number;
2522
+ /** Format: uint64 */
2523
+ action_nonce: number;
2524
+ /** Format: uint64 */
2525
+ timestamp: number;
2526
+ paused: boolean;
2527
+ };
2479
2528
  /** @description TV config query response https://www.tradingview.com/charting-library-docs/latest/connecting_data/UDF/#data-feed-configuration-data */
2480
2529
  TvConfigResponse: {
2481
2530
  supported_resolutions: components["schemas"]["Resolution"][];
@@ -39,7 +39,7 @@ async function walletSign(
39
39
  }
40
40
 
41
41
  // Helper to create an action with common fields
42
- function createAction(
42
+ export function createAction(
43
43
  currentTimestamp: bigint,
44
44
  nonce: number,
45
45
  kind: proto.Action["kind"],
@@ -51,7 +51,7 @@ function createAction(
51
51
  });
52
52
  }
53
53
 
54
- async function sendAction(
54
+ export async function sendAction(
55
55
  serverUrl: string,
56
56
  makeSignedMessage: (message: Uint8Array) => Promise<Uint8Array>,
57
57
  action: proto.Action,
@@ -508,7 +508,6 @@ export async function removeTrigger(
508
508
  }
509
509
  throw new Error(`Unexpected receipt kind ${resp.kind?.case}`);
510
510
  }
511
-
512
511
  export type AtomicSubaction =
513
512
  | {
514
513
  kind: "place";
@@ -10,7 +10,7 @@ import {
10
10
  AccountPnlQuery,
11
11
  ActionResponse,
12
12
  AggregateMetrics,
13
- Info,
13
+ MarketsInfo,
14
14
  Market,
15
15
  MarketStats,
16
16
  NordConfig,
@@ -21,6 +21,9 @@ import {
21
21
  Token,
22
22
  TradesResponse,
23
23
  User,
24
+ AccountTriggerInfo,
25
+ HistoryTriggerQuery,
26
+ TriggerHistoryPage,
24
27
  } from "../../types";
25
28
  import * as utils from "../../utils";
26
29
  import { NordWebSocketClient } from "../../websocket/index";
@@ -55,9 +58,6 @@ export class Nord {
55
58
  /** Base URL for the Nord web server */
56
59
  public readonly webServerUrl: string;
57
60
 
58
- /** Bridge verification key */
59
- public readonly bridgeVk: PublicKey;
60
-
61
61
  /** Solana RPC URL */
62
62
  public readonly solanaUrl: string;
63
63
 
@@ -70,7 +70,7 @@ export class Nord {
70
70
  /** Map of symbol to market_id */
71
71
  private symbolToMarketId: Map<string, number> = new Map();
72
72
 
73
- /** Proton client for bridge and hansel operations */
73
+ /** Proton client for proton related operations */
74
74
  public protonClient: ProtonClient;
75
75
 
76
76
  /** HTTP client for Nord operations */
@@ -81,23 +81,19 @@ export class Nord {
81
81
  *
82
82
  * @param config - Configuration options for the Nord client
83
83
  * @param config.webServerUrl - Base URL for the Nord web server
84
- * @param config.bridgeVk - Bridge verification key
85
84
  * @param config.solanaUrl - Solana cluster URL
86
85
  * @throws {Error} If required configuration is missing
87
86
  */
88
87
  private constructor({
89
- bridgeVk,
90
88
  solanaUrl,
91
89
  webServerUrl,
92
90
  protonClient,
93
91
  }: Readonly<{
94
- bridgeVk: PublicKey;
95
92
  solanaUrl: string;
96
93
  webServerUrl: string;
97
94
  protonClient: ProtonClient;
98
95
  }>) {
99
96
  this.webServerUrl = webServerUrl;
100
- this.bridgeVk = bridgeVk;
101
97
  this.solanaUrl = solanaUrl;
102
98
  this.protonClient = protonClient;
103
99
  this.httpClient = createClient<paths>({ baseUrl: webServerUrl });
@@ -226,13 +222,13 @@ export class Nord {
226
222
  *
227
223
  * @param nordConfig - Configuration options for the Nord client
228
224
  * @param nordConfig.webServerUrl - Base URL for the Nord web server
229
- * @param nordConfig.bridgeVk - Bridge verification key
225
+ * @param nordConfig.app - App address
230
226
  * @param nordConfig.solanaUrl - Solana cluster URL
231
227
  * @returns Initialized Nord client
232
228
  * @throws {NordError} If initialization fails
233
229
  */
234
230
  public static async initNord({
235
- bridgeVk: bridgeVk_,
231
+ app,
236
232
  solanaUrl,
237
233
  webServerUrl,
238
234
  }: Readonly<NordConfig>): Promise<Nord> {
@@ -240,14 +236,12 @@ export class Nord {
240
236
  // this is a dogshit api, only here to be compatible with the shitty
241
237
  // vibecoded code and not break zero one team's workflow.
242
238
  const connection = new Connection(solanaUrl, { commitment: "confirmed" });
243
- const bridgeVk = new PublicKey(bridgeVk_);
244
239
  const protonClient = await ProtonClient.init({
245
240
  protonUrl: webServerUrl,
246
- bridgeVk,
241
+ app: new PublicKey(app),
247
242
  solConn: connection,
248
243
  });
249
244
  const nord = new Nord({
250
- bridgeVk,
251
245
  protonClient,
252
246
  solanaUrl,
253
247
  webServerUrl,
@@ -619,7 +613,7 @@ export class Nord {
619
613
  * @returns Information about markets and tokens
620
614
  * @throws {NordError} If the request fails
621
615
  */
622
- public async getInfo(): Promise<Info> {
616
+ public async getInfo(): Promise<MarketsInfo> {
623
617
  return await this.GET("/info", {});
624
618
  }
625
619
 
@@ -690,4 +684,70 @@ export class Nord {
690
684
  public async accountExists(pubkey: string | PublicKey): Promise<boolean> {
691
685
  return !!(await this.getUser({ pubkey }));
692
686
  }
687
+
688
+ /**
689
+ * Fetch active triggers for an account.
690
+ *
691
+ * @param params Optional parameters containing an explicit account id.
692
+ * @throws {NordError} If no account can be resolved or the request fails.
693
+ */
694
+ async getAccountTriggers(params?: {
695
+ accountId?: number;
696
+ }): Promise<AccountTriggerInfo[]> {
697
+ const accountId = params?.accountId;
698
+
699
+ if (accountId == null) {
700
+ throw new NordError(
701
+ "Account ID is undefined. Make sure to call updateAccountId() before requesting triggers.",
702
+ );
703
+ }
704
+
705
+ try {
706
+ const triggers = await this.GET("/account/{account_id}/triggers", {
707
+ params: {
708
+ path: { account_id: accountId },
709
+ },
710
+ });
711
+ return triggers ?? [];
712
+ } catch (error) {
713
+ throw new NordError("Failed to fetch account triggers", { cause: error });
714
+ }
715
+ }
716
+
717
+ /**
718
+ * Fetch trigger history for an account.
719
+ *
720
+ * @param params Optional parameters with account id and history query filters.
721
+ * @throws {NordError} If no account can be resolved or the request fails.
722
+ */
723
+ async getAccountTriggerHistory(
724
+ params: HistoryTriggerQuery & { accountId?: number },
725
+ ): Promise<TriggerHistoryPage> {
726
+ const accountId = params?.accountId;
727
+
728
+ if (accountId == null) {
729
+ throw new NordError(
730
+ "Account ID is undefined. Make sure to call updateAccountId() before requesting trigger history.",
731
+ );
732
+ }
733
+
734
+ const { accountId: _, ...query } = params;
735
+ try {
736
+ return await this.GET("/account/{account_id}/triggers/history", {
737
+ params: {
738
+ path: { account_id: accountId },
739
+ query: {
740
+ since: query.since,
741
+ until: query.until,
742
+ pageSize: query.pageSize,
743
+ startInclusive: query.startInclusive,
744
+ },
745
+ },
746
+ });
747
+ } catch (error) {
748
+ throw new NordError("Failed to fetch account trigger history", {
749
+ cause: error,
750
+ });
751
+ }
752
+ }
693
753
  }