@reallyme/crypto 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +43 -3
  3. package/dist/aead.d.ts +4 -0
  4. package/dist/aead.js +32 -15
  5. package/dist/aesKw.d.ts +3 -0
  6. package/dist/aesKw.js +10 -0
  7. package/dist/argon2id.d.ts +2 -0
  8. package/dist/argon2id.js +6 -0
  9. package/dist/cryptoFacade.d.ts +36 -0
  10. package/dist/cryptoFacade.js +71 -23
  11. package/dist/errors.d.ts +1 -1
  12. package/dist/hpke.d.ts +4 -0
  13. package/dist/hpke.js +20 -0
  14. package/dist/index.d.ts +5 -6
  15. package/dist/index.js +4 -4
  16. package/dist/jwaConcatKdf.js +8 -4
  17. package/dist/jwk.js +67 -72
  18. package/dist/memory.d.ts +8 -0
  19. package/dist/memory.js +13 -0
  20. package/dist/mlDsa.d.ts +5 -0
  21. package/dist/mlDsa.js +23 -0
  22. package/dist/mlKem.d.ts +6 -0
  23. package/dist/mlKem.js +29 -0
  24. package/dist/p256Ecdh.js +5 -1
  25. package/dist/p384Ecdh.js +5 -1
  26. package/dist/p521Ecdh.js +5 -1
  27. package/dist/proto/generated/reallyme/crypto/v1/crypto_pb.d.ts +1392 -72
  28. package/dist/proto/generated/reallyme/crypto/v1/crypto_pb.js +490 -17
  29. package/dist/proto.d.ts +113 -5
  30. package/dist/proto.js +706 -3
  31. package/dist/rsa.d.ts +2 -0
  32. package/dist/rsa.js +18 -15
  33. package/dist/slhDsa.d.ts +5 -0
  34. package/dist/slhDsa.js +21 -0
  35. package/dist/validateBytes.d.ts +1 -0
  36. package/dist/validateBytes.js +6 -0
  37. package/dist/wasm/reallyme_crypto_wasm.js +1 -246
  38. package/dist/wasm/reallyme_crypto_wasm_bg.wasm +0 -0
  39. package/dist/wasmModuleTypes.d.ts +2 -11
  40. package/dist/wasmProvider.d.ts +1 -16
  41. package/dist/wasmProvider.js +10 -25
  42. package/dist/xWing.d.ts +6 -0
  43. package/dist/xWing.js +34 -2
  44. package/package.json +7 -2
  45. package/dist/codecs.d.ts +0 -35
  46. package/dist/codecs.js +0 -216
  47. package/dist/proto/generated/reallyme/codec/v1/codec_pb.d.ts +0 -253
  48. package/dist/proto/generated/reallyme/codec/v1/codec_pb.js +0 -160
@@ -1,11 +1,11 @@
1
1
  // SPDX-FileCopyrightText: Copyright © 2026 ReallyMe LLC. All rights reserved
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  /**
6
6
  * Describes the file reallyme/crypto/v1/crypto.proto.
7
7
  */
8
- export const file_reallyme_crypto_v1_crypto = /*@__PURE__*/ fileDesc("Ch9yZWFsbHltZS9jcnlwdG8vdjEvY3J5cHRvLnByb3RvEhJyZWFsbHltZS5jcnlwdG8udjEizQEKC0NyeXB0b0Vycm9yEj0KCXByaW1pdGl2ZRgBIAEoCzIoLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9QcmltaXRpdmVFcnJvckgAEjsKCHByb3ZpZGVyGAIgASgLMicucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b1Byb3ZpZGVyRXJyb3JIABI5CgdiYWNrZW5kGAMgASgLMiYucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0JhY2tlbmRFcnJvckgAQgcKBWVycm9yIk0KFENyeXB0b1ByaW1pdGl2ZUVycm9yEjUKBnJlYXNvbhgBIAEoDjIlLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9FcnJvclJlYXNvbiJMChNDcnlwdG9Qcm92aWRlckVycm9yEjUKBnJlYXNvbhgBIAEoDjIlLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9FcnJvclJlYXNvbiJLChJDcnlwdG9CYWNrZW5kRXJyb3ISNQoGcmVhc29uGAEgASgOMiUucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0Vycm9yUmVhc29uItEEChlDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEjsKCXNpZ25hdHVyZRgBIAEoDjImLnJlYWxseW1lLmNyeXB0by52MS5TaWduYXR1cmVBbGdvcml0aG1IABJCCg1rZXlfYWdyZWVtZW50GAIgASgOMikucmVhbGx5bWUuY3J5cHRvLnYxLktleUFncmVlbWVudEFsZ29yaXRobUgAEi8KA2tlbRgDIAEoDjIgLnJlYWxseW1lLmNyeXB0by52MS5LZW1BbGdvcml0aG1IABItCgRocGtlGAQgASgOMh0ucmVhbGx5bWUuY3J5cHRvLnYxLkhwa2VTdWl0ZUgAEjEKBGFlYWQYBSABKA4yIS5yZWFsbHltZS5jcnlwdG8udjEuQWVhZEFsZ29yaXRobUgAEjEKBGhhc2gYBiABKA4yIS5yZWFsbHltZS5jcnlwdG8udjEuSGFzaEFsZ29yaXRobUgAEi8KA21hYxgHIAEoDjIgLnJlYWxseW1lLmNyeXB0by52MS5NYWNBbGdvcml0aG1IABIvCgNrZGYYCCABKA4yIC5yZWFsbHltZS5jcnlwdG8udjEuS2RmQWxnb3JpdGhtSAASOAoIa2V5X3dyYXAYCSABKA4yJC5yZWFsbHltZS5jcnlwdG8udjEuS2V5V3JhcEFsZ29yaXRobUgAEkQKDm11bHRpY29kZWNfa2V5GAogASgOMioucmVhbGx5bWUuY3J5cHRvLnYxLk11bHRpY29kZWNLZXlBbGdvcml0aG1IAEILCglhbGdvcml0aG0ieQoKSnNvbldlYktleRJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchISCgpwdWJsaWNfa2V5GAIgASgMEhUKDWNhbm9uaWNhbF9qY3MYAyABKAwiPQoNSnNvbldlYktleVNldBIsCgRrZXlzGAEgAygLMh4ucmVhbGx5bWUuY3J5cHRvLnYxLkpzb25XZWJLZXkq/QgKEUNyeXB0b0Vycm9yUmVhc29uEiMKH0NSWVBUT19FUlJPUl9SRUFTT05fVU5TUEVDSUZJRUQQABIzCi9DUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1BBUkFNRVRFUhBkEjAKLENSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfTEVOR1RIEGUSLQopQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9LRVkQZhI0CjBDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1BVQkxJQ19LRVkQZxI1CjFDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1BSSVZBVEVfS0VZEGgSLworQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9OT05DRRBpEi4KKkNSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfU0FMVBBqEjIKLkNSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfUEFTU1dPUkQQaxIyCi5DUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX0VOQ09ESU5HEGwSMwovQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9TSUdOQVRVUkUQeBI1CjFDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9WRVJJRklDQVRJT05fRkFJTEVEEHkSNwozQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfQVVUSEVOVElDQVRJT05fRkFJTEVEEHoSNgoyQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfTUFMRk9STUVEX0NJUEhFUlRFWFQQexItCilDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1RBRxB8EjcKM0NSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfU0hBUkVEX1NFQ1JFVBB9EjcKMkNSWVBUT19FUlJPUl9SRUFTT05fUFJPVklERVJfVU5TVVBQT1JURURfQUxHT1JJVEhNEMgBEjUKMENSWVBUT19FUlJPUl9SRUFTT05fUFJPVklERVJfVU5TVVBQT1JURURfQkFDS0VORBDJARItCihDUllQVE9fRVJST1JfUkVBU09OX1BST1ZJREVSX1VOQVZBSUxBQkxFEMoBEjgKM0NSWVBUT19FUlJPUl9SRUFTT05fUFJPVklERVJfUkFORE9NTkVTU19VTkFWQUlMQUJMRRDLARIuCilDUllQVE9fRVJST1JfUkVBU09OX0JBQ0tFTkRfSU5WQUxJRF9TVEFURRCsAhIpCiRDUllQVE9fRVJST1JfUkVBU09OX0JBQ0tFTkRfSU5URVJOQUwQrQIqgQMKFUNyeXB0b0FsZ29yaXRobUZhbWlseRInCiNDUllQVE9fQUxHT1JJVEhNX0ZBTUlMWV9VTlNQRUNJRklFRBAAEiUKIUNSWVBUT19BTEdPUklUSE1fRkFNSUxZX1NJR05BVFVSRRABEikKJUNSWVBUT19BTEdPUklUSE1fRkFNSUxZX0tFWV9BR1JFRU1FTlQQAhIfChtDUllQVE9fQUxHT1JJVEhNX0ZBTUlMWV9LRU0QAxIgChxDUllQVE9fQUxHT1JJVEhNX0ZBTUlMWV9BRUFEEAQSIAocQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfSEFTSBAFEh8KG0NSWVBUT19BTEdPUklUSE1fRkFNSUxZX01BQxAGEh8KG0NSWVBUT19BTEdPUklUSE1fRkFNSUxZX0tERhAHEiQKIENSWVBUT19BTEdPUklUSE1fRkFNSUxZX0tFWV9XUkFQEAgSIAocQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfSFBLRRAJKtYGChJTaWduYXR1cmVBbGdvcml0aG0SIwofU0lHTkFUVVJFX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEh8KG1NJR05BVFVSRV9BTEdPUklUSE1fRUQyNTUxORABEikKJVNJR05BVFVSRV9BTEdPUklUSE1fRUNEU0FfUDI1Nl9TSEEyNTYQAhIpCiVTSUdOQVRVUkVfQUxHT1JJVEhNX0VDRFNBX1AzODRfU0hBMzg0EAMSKQolU0lHTkFUVVJFX0FMR09SSVRITV9FQ0RTQV9QNTIxX1NIQTUxMhAEEi4KKlNJR05BVFVSRV9BTEdPUklUSE1fRUNEU0FfU0VDUDI1NksxX1NIQTI1NhAFEjcKM1NJR05BVFVSRV9BTEdPUklUSE1fQklQMzQwX1NDSE5PUlJfU0VDUDI1NksxX1NIQTI1NhAGEikKJVNJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BLQ1MxVjE1X1NIQTEQBxIrCidTSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QS0NTMVYxNV9TSEEyNTYQCBIrCidTSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QS0NTMVYxNV9TSEEzODQQCRIrCidTSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QS0NTMVYxNV9TSEE1MTIQChIuCipTSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QU1NfU0hBMV9NR0YxX1NIQTEQCxIyCi5TSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QU1NfU0hBMjU2X01HRjFfU0hBMjU2EAwSMgouU0lHTkFUVVJFX0FMR09SSVRITV9SU0FfUFNTX1NIQTM4NF9NR0YxX1NIQTM4NBANEjIKLlNJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BTU19TSEE1MTJfTUdGMV9TSEE1MTIQDhIhCh1TSUdOQVRVUkVfQUxHT1JJVEhNX01MX0RTQV80NBAPEiEKHVNJR05BVFVSRV9BTEdPUklUSE1fTUxfRFNBXzY1EBASIQodU0lHTkFUVVJFX0FMR09SSVRITV9NTF9EU0FfODcQERIpCiVTSUdOQVRVUkVfQUxHT1JJVEhNX1NMSF9EU0FfU0hBMl8xMjhTEBIq2QEKFUtleUFncmVlbWVudEFsZ29yaXRobRInCiNLRVlfQUdSRUVNRU5UX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEiIKHktFWV9BR1JFRU1FTlRfQUxHT1JJVEhNX1gyNTUxORABEiUKIUtFWV9BR1JFRU1FTlRfQUxHT1JJVEhNX1AyNTZfRUNESBACEiUKIUtFWV9BR1JFRU1FTlRfQUxHT1JJVEhNX1AzODRfRUNESBADEiUKIUtFWV9BR1JFRU1FTlRfQUxHT1JJVEhNX1A1MjFfRUNESBAEKsUBCgxLZW1BbGdvcml0aG0SHQoZS0VNX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEhwKGEtFTV9BTEdPUklUSE1fTUxfS0VNXzUxMhABEhwKGEtFTV9BTEdPUklUSE1fTUxfS0VNXzc2OBACEh0KGUtFTV9BTEdPUklUSE1fTUxfS0VNXzEwMjQQAxIcChhLRU1fQUxHT1JJVEhNX1hfV0lOR183NjgQBBIdChlLRU1fQUxHT1JJVEhNX1hfV0lOR18xMDI0EAUqrQEKCUhwa2VTdWl0ZRIaChZIUEtFX1NVSVRFX1VOU1BFQ0lGSUVEEAASPQo5SFBLRV9TVUlURV9ESEtFTV9QMjU2X0hLREZfU0hBMjU2X0hLREZfU0hBMjU2X0FFU18yNTZfR0NNEAESRQpBSFBLRV9TVUlURV9ESEtFTV9YMjU1MTlfSEtERl9TSEEyNTZfSEtERl9TSEEyNTZfQ0hBQ0hBMjBfUE9MWTEzMDUQAiqAAgoNQWVhZEFsZ29yaXRobRIeChpBRUFEX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEh4KGkFFQURfQUxHT1JJVEhNX0FFU18yNTZfR0NNEAESIgoeQUVBRF9BTEdPUklUSE1fQUVTXzI1Nl9HQ01fU0lWEAISJAogQUVBRF9BTEdPUklUSE1fQ0hBQ0hBMjBfUE9MWTEzMDUQAxIlCiFBRUFEX0FMR09SSVRITV9YQ0hBQ0hBMjBfUE9MWTEzMDUQBBIeChpBRUFEX0FMR09SSVRITV9BRVNfMTI4X0dDTRAFEh4KGkFFQURfQUxHT1JJVEhNX0FFU18xOTJfR0NNEAYq+gEKDUhhc2hBbGdvcml0aG0SHgoaSEFTSF9BTEdPUklUSE1fVU5TUEVDSUZJRUQQABIbChdIQVNIX0FMR09SSVRITV9TSEEyXzI1NhABEhsKF0hBU0hfQUxHT1JJVEhNX1NIQTJfMzg0EAISGwoXSEFTSF9BTEdPUklUSE1fU0hBMl81MTIQAxIbChdIQVNIX0FMR09SSVRITV9TSEEzXzIyNBAEEhsKF0hBU0hfQUxHT1JJVEhNX1NIQTNfMjU2EAUSGwoXSEFTSF9BTEdPUklUSE1fU0hBM18zODQQBhIbChdIQVNIX0FMR09SSVRITV9TSEEzXzUxMhAHKmsKDE1hY0FsZ29yaXRobRIdChlNQUNfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASHQoZTUFDX0FMR09SSVRITV9ITUFDX1NIQTI1NhABEh0KGU1BQ19BTEdPUklUSE1fSE1BQ19TSEE1MTIQAirdAQoMS2RmQWxnb3JpdGhtEh0KGUtERl9BTEdPUklUSE1fVU5TUEVDSUZJRUQQABIdChlLREZfQUxHT1JJVEhNX0hLREZfU0hBMjU2EAESGgoWS0RGX0FMR09SSVRITV9BUkdPTjJJRBACEiQKIEtERl9BTEdPUklUSE1fUEJLREYyX0hNQUNfU0hBMjU2EAMSJAogS0RGX0FMR09SSVRITV9QQktERjJfSE1BQ19TSEE1MTIQBBInCiNLREZfQUxHT1JJVEhNX0pXQV9DT05DQVRfS0RGX1NIQTI1NhAFKlkKEEtleVdyYXBBbGdvcml0aG0SIgoeS0VZX1dSQVBfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASIQodS0VZX1dSQVBfQUxHT1JJVEhNX0FFU18yNTZfS1cQASrlCAoWTXVsdGljb2RlY0tleUFsZ29yaXRobRIoCiRNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fVU5TUEVDSUZJRUQQABIoCiRNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fRUQyNTUxOV9QVUIQARInCiNNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fWDI1NTE5X1BVQhACEioKJk1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9TRUNQMjU2SzFfUFVCEAMSJQohTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1AyNTZfUFVCEAQSJQohTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1AzODRfUFVCEAUSJQohTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1A1MjFfUFVCEAYSJgoiTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX0VENDQ4X1BVQhAHEiQKIE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9SU0FfUFVCEAgSKwonTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0tFTV81MTJfUFVCEAkSKwonTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0tFTV83NjhfUFVCEAoSLAooTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0tFTV8xMDI0X1BVQhALEioKJk1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9NTF9EU0FfNDRfUFVCEAwSKgomTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0RTQV82NV9QVUIQDRIqCiZNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfRFNBXzg3X1BVQhAOEikKJU1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9FRDI1NTE5X1BSSVYQDxIoCiRNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fWDI1NTE5X1BSSVYQEBIrCidNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fU0VDUDI1NksxX1BSSVYQERImCiJNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fUDI1Nl9QUklWEBISJgoiTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1AzODRfUFJJVhATEiYKIk1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9QNTIxX1BSSVYQFBInCiNNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fRUQ0NDhfUFJJVhAVEiUKIU1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9SU0FfUFJJVhAWEiwKKE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9NTF9LRU1fNTEyX1BSSVYQFxIsCihNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfS0VNXzc2OF9QUklWEBgSLQopTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0tFTV8xMDI0X1BSSVYQGUInChNtZS5yZWFsbHkuY3J5cHRvLnYxUAG6Ag1SZWFsbHlNZVByb3RvYgZwcm90bzM");
8
+ export const file_reallyme_crypto_v1_crypto = /*@__PURE__*/ fileDesc("Ch9yZWFsbHltZS9jcnlwdG8vdjEvY3J5cHRvLnByb3RvEhJyZWFsbHltZS5jcnlwdG8udjEizQEKC0NyeXB0b0Vycm9yEj0KCXByaW1pdGl2ZRgBIAEoCzIoLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9QcmltaXRpdmVFcnJvckgAEjsKCHByb3ZpZGVyGAIgASgLMicucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b1Byb3ZpZGVyRXJyb3JIABI5CgdiYWNrZW5kGAMgASgLMiYucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0JhY2tlbmRFcnJvckgAQgcKBWVycm9yIk0KFENyeXB0b1ByaW1pdGl2ZUVycm9yEjUKBnJlYXNvbhgBIAEoDjIlLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9FcnJvclJlYXNvbiJMChNDcnlwdG9Qcm92aWRlckVycm9yEjUKBnJlYXNvbhgBIAEoDjIlLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9FcnJvclJlYXNvbiJLChJDcnlwdG9CYWNrZW5kRXJyb3ISNQoGcmVhc29uGAEgASgOMiUucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0Vycm9yUmVhc29uImkKGUNyeXB0b1Byb3RvUmVzdWx0RW52ZWxvcGUSOwoGc3RhdHVzGAEgASgOMisucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b1Byb3RvUmVzdWx0U3RhdHVzEg8KB3BheWxvYWQYAiABKAwibgobQ3J5cHRvU2VydmljZVByb2Nlc3NSZXF1ZXN0EjYKCW9wZXJhdGlvbhgBIAEoDjIjLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9PcGVyYXRpb24SFwoPcmVxdWVzdF9wYXlsb2FkGAIgASgMIl0KHENyeXB0b1NlcnZpY2VQcm9jZXNzUmVzcG9uc2USPQoGcmVzdWx0GAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b1Byb3RvUmVzdWx0RW52ZWxvcGUi0QQKGUNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISOwoJc2lnbmF0dXJlGAEgASgOMiYucmVhbGx5bWUuY3J5cHRvLnYxLlNpZ25hdHVyZUFsZ29yaXRobUgAEkIKDWtleV9hZ3JlZW1lbnQYAiABKA4yKS5yZWFsbHltZS5jcnlwdG8udjEuS2V5QWdyZWVtZW50QWxnb3JpdGhtSAASLwoDa2VtGAMgASgOMiAucmVhbGx5bWUuY3J5cHRvLnYxLktlbUFsZ29yaXRobUgAEi0KBGhwa2UYBCABKA4yHS5yZWFsbHltZS5jcnlwdG8udjEuSHBrZVN1aXRlSAASMQoEYWVhZBgFIAEoDjIhLnJlYWxseW1lLmNyeXB0by52MS5BZWFkQWxnb3JpdGhtSAASMQoEaGFzaBgGIAEoDjIhLnJlYWxseW1lLmNyeXB0by52MS5IYXNoQWxnb3JpdGhtSAASLwoDbWFjGAcgASgOMiAucmVhbGx5bWUuY3J5cHRvLnYxLk1hY0FsZ29yaXRobUgAEi8KA2tkZhgIIAEoDjIgLnJlYWxseW1lLmNyeXB0by52MS5LZGZBbGdvcml0aG1IABI4CghrZXlfd3JhcBgJIAEoDjIkLnJlYWxseW1lLmNyeXB0by52MS5LZXlXcmFwQWxnb3JpdGhtSAASRAoObXVsdGljb2RlY19rZXkYCiABKA4yKi5yZWFsbHltZS5jcnlwdG8udjEuTXVsdGljb2RlY0tleUFsZ29yaXRobUgAQgsKCWFsZ29yaXRobSJkChFDcnlwdG9IYXNoUmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchINCgVpbnB1dBgCIAEoDCJkChBDcnlwdG9IYXNoUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEg4KBmRpZ2VzdBgCIAEoDCKVAQoVQ3J5cHRvQWVhZFNlYWxSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEgsKA2tleRgCIAEoDBINCgVub25jZRgDIAEoDBILCgNhYWQYBCABKAwSEQoJcGxhaW50ZXh0GAUgASgMInUKFENyeXB0b0FlYWRTZWFsUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhsKE2NpcGhlcnRleHRfd2l0aF90YWcYAiABKAwinwEKFUNyeXB0b0FlYWRPcGVuUmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchILCgNrZXkYAiABKAwSDQoFbm9uY2UYAyABKAwSCwoDYWFkGAQgASgMEhsKE2NpcGhlcnRleHRfd2l0aF90YWcYBSABKAwiawoUQ3J5cHRvQWVhZE9wZW5SZXN1bHQSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEQoJcGxhaW50ZXh0GAIgASgMIn4KHENyeXB0b01hY0F1dGhlbnRpY2F0ZVJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISCwoDa2V5GAIgASgMEg8KB21lc3NhZ2UYAyABKAwibAobQ3J5cHRvTWFjQXV0aGVudGljYXRlUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEgsKA3RhZxgCIAEoDCKFAQoWQ3J5cHRvTWFjVmVyaWZ5UmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchILCgN0YWcYAiABKAwSCwoDa2V5GAMgASgMEg8KB21lc3NhZ2UYBCABKAwiqAEKGUNyeXB0b0tkZkRlcml2ZUtleVJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEAoIcGFzc3dvcmQYAiABKAwSDAoEc2FsdBgDIAEoDBISCgppdGVyYXRpb25zGAQgASgNEhUKDW91dHB1dF9sZW5ndGgYBSABKA0icQoYQ3J5cHRvS2RmRGVyaXZlS2V5UmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhMKC2Rlcml2ZWRfa2V5GAIgASgMIqoBChdDcnlwdG9Ia2RmRGVyaXZlUmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchIaChJpbnB1dF9rZXlfbWF0ZXJpYWwYAiABKAwSDAoEc2FsdBgDIAEoDBIMCgRpbmZvGAQgASgMEhUKDW91dHB1dF9sZW5ndGgYBSABKA0idwoWQ3J5cHRvSGtkZkRlcml2ZVJlc3VsdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchIbChNvdXRwdXRfa2V5X21hdGVyaWFsGAIgASgMItkBCiVDcnlwdG9Kd2FDb25jYXRLZGZTaGEyNTZEZXJpdmVSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhUKDXNoYXJlZF9zZWNyZXQYAiABKAwSFAoMYWxnb3JpdGhtX2lkGAMgASgMEhQKDHBhcnR5X3VfaW5mbxgEIAEoDBIUCgxwYXJ0eV92X2luZm8YBSABKAwSFQoNb3V0cHV0X2xlbmd0aBgGIAEoDSJ9CiRDcnlwdG9Kd2FDb25jYXRLZGZTaGEyNTZEZXJpdmVSZXN1bHQSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEwoLZGVyaXZlZF9rZXkYAiABKAwigwEKFENyeXB0b0tleVdyYXBSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhQKDHdyYXBwaW5nX2tleRgCIAEoDBITCgtrZXlfdG9fd3JhcBgDIAEoDCJsChNDcnlwdG9LZXlXcmFwUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhMKC3dyYXBwZWRfa2V5GAIgASgMIoUBChZDcnlwdG9LZXlVbndyYXBSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhQKDHdyYXBwaW5nX2tleRgCIAEoDBITCgt3cmFwcGVkX2tleRgDIAEoDCJmChVDcnlwdG9LZXlVbndyYXBSZXN1bHQSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISCwoDa2V5GAIgASgMImkKJUNyeXB0b1NpZ25hdHVyZUdlbmVyYXRlS2V5UGFpclJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIiewojQ3J5cHRvU2lnbmF0dXJlRGVyaXZlS2V5UGFpclJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEgoKc2VjcmV0X2tleRgCIAEoDCKDAQoaQ3J5cHRvU2lnbmF0dXJlU2lnblJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISDwoHbWVzc2FnZRgCIAEoDBISCgpzZWNyZXRfa2V5GAMgASgMInAKGUNyeXB0b1NpZ25hdHVyZVNpZ25SZXN1bHQSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEQoJc2lnbmF0dXJlGAIgASgMIlsKHkNyeXB0b0JpcDM0MFNjaG5vcnJTaWduUmVxdWVzdBIRCgltZXNzYWdlMzIYASABKAwSEgoKc2VjcmV0X2tleRgCIAEoDBISCgphdXhfcmFuZDMyGAMgASgMIpgBChxDcnlwdG9TaWduYXR1cmVWZXJpZnlSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhEKCXNpZ25hdHVyZRgCIAEoDBIPCgdtZXNzYWdlGAMgASgMEhIKCnB1YmxpY19rZXkYBCABKAwi4AEKFkNyeXB0b1JzYVZlcmlmeVJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEQoJc2lnbmF0dXJlGAIgASgMEg8KB21lc3NhZ2UYAyABKAwSFgoOcHVibGljX2tleV9kZXIYBCABKAwSSAoTcHVibGljX2tleV9lbmNvZGluZxgFIAEoDjIrLnJlYWxseW1lLmNyeXB0by52MS5Sc2FQdWJsaWNLZXlEZXJFbmNvZGluZyKXAQorQ3J5cHRvS2V5QWdyZWVtZW50RGVyaXZlU2hhcmVkU2VjcmV0UmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchISCgpwdWJsaWNfa2V5GAIgASgMEhIKCnNlY3JldF9rZXkYAyABKAwihQEKKkNyeXB0b0tleUFncmVlbWVudERlcml2ZVNoYXJlZFNlY3JldFJlc3VsdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchIVCg1zaGFyZWRfc2VjcmV0GAIgASgMIn4KJkNyeXB0b0tleUFncmVlbWVudERlcml2ZUtleVBhaXJSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhIKCnNlY3JldF9rZXkYAiABKAwiYwofQ3J5cHRvS2VtR2VuZXJhdGVLZXlQYWlyUmVxdWVzdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciJzChtDcnlwdG9LZW1FbmNhcHN1bGF0ZVJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEgoKcHVibGljX2tleRgCIAEoDCKHAQobQ3J5cHRvS2VtRGVjYXBzdWxhdGVSZXF1ZXN0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhIKCmNpcGhlcnRleHQYAiABKAwSEgoKc2VjcmV0X2tleRgDIAEoDCJ1ChpDcnlwdG9LZW1EZWNhcHN1bGF0ZVJlc3VsdBJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchIVCg1zaGFyZWRfc2VjcmV0GAIgASgMIqUBChVDcnlwdG9IcGtlU2VhbFJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISHAoUcmVjaXBpZW50X3B1YmxpY19rZXkYAiABKAwSDAoEaW5mbxgDIAEoDBILCgNhYWQYBCABKAwSEQoJcGxhaW50ZXh0GAUgASgMIsABChVDcnlwdG9IcGtlT3BlblJlcXVlc3QSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISHAoUcmVjaXBpZW50X3NlY3JldF9rZXkYAiABKAwSGAoQZW5jYXBzdWxhdGVkX2tleRgDIAEoDBIMCgRpbmZvGAQgASgMEgsKA2FhZBgFIAEoDBISCgpjaXBoZXJ0ZXh0GAYgASgMImsKFENyeXB0b0hwa2VPcGVuUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhEKCXBsYWludGV4dBgCIAEoDCJ5Cg1DcnlwdG9LZXlQYWlyEkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhIKCnB1YmxpY19rZXkYAiABKAwSEgoKc2VjcmV0X2tleRgDIAEoDCKFAQoWQ3J5cHRvS2VtRW5jYXBzdWxhdGlvbhJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchISCgpjaXBoZXJ0ZXh0GAIgASgMEhUKDXNoYXJlZF9zZWNyZXQYAyABKAwiiQEKF0NyeXB0b0hwa2VTZWFsZWRNZXNzYWdlEkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEhgKEGVuY2Fwc3VsYXRlZF9rZXkYAiABKAwSEgoKY2lwaGVydGV4dBgDIAEoDCLKAQoYQ3J5cHRvVmVyaWZpY2F0aW9uUmVzdWx0EkAKCWFsZ29yaXRobRgBIAEoCzItLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyEjwKBnN0YXR1cxgCIAEoDjIsLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9WZXJpZmljYXRpb25TdGF0dXMSLgoFZXJyb3IYAyABKAsyHy5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvRXJyb3IigwIKGENyeXB0b1Byb3ZpZGVyQ2FwYWJpbGl0eRJACglhbGdvcml0aG0YASABKAsyLS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllchI5CgZmYW1pbHkYAiABKA4yKS5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvQWxnb3JpdGhtRmFtaWx5Ej8KBnN0YXR1cxgDIAEoDjIvLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9Qcm92aWRlclN1cHBvcnRTdGF0dXMSFgoOcHJvdmlkZXJfbmFtZXMYBCADKAkSEQoJdXNlc19ydXN0GAUgASgIImEKG0NyeXB0b1Byb3ZpZGVyQ2FwYWJpbGl0eVNldBJCCgxjYXBhYmlsaXRpZXMYASADKAsyLC5yZWFsbHltZS5jcnlwdG8udjEuQ3J5cHRvUHJvdmlkZXJDYXBhYmlsaXR5InkKCkpzb25XZWJLZXkSQAoJYWxnb3JpdGhtGAEgASgLMi0ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXISEgoKcHVibGljX2tleRgCIAEoDBIVCg1jYW5vbmljYWxfamNzGAMgASgMIj0KDUpzb25XZWJLZXlTZXQSLAoEa2V5cxgBIAMoCzIeLnJlYWxseW1lLmNyeXB0by52MS5Kc29uV2ViS2V5KpkBChdDcnlwdG9Qcm90b1Jlc3VsdFN0YXR1cxIqCiZDUllQVE9fUFJPVE9fUkVTVUxUX1NUQVRVU19VTlNQRUNJRklFRBAAEiUKIUNSWVBUT19QUk9UT19SRVNVTFRfU1RBVFVTX1JFU1VMVBABEisKJ0NSWVBUT19QUk9UT19SRVNVTFRfU1RBVFVTX0NSWVBUT19FUlJPUhACKq4HCg9DcnlwdG9PcGVyYXRpb24SIAocQ1JZUFRPX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhkKFUNSWVBUT19PUEVSQVRJT05fSEFTSBABEh4KGkNSWVBUT19PUEVSQVRJT05fQUVBRF9TRUFMEAISHgoaQ1JZUFRPX09QRVJBVElPTl9BRUFEX09QRU4QAxIlCiFDUllQVE9fT1BFUkFUSU9OX01BQ19BVVRIRU5USUNBVEUQBBIfChtDUllQVE9fT1BFUkFUSU9OX01BQ19WRVJJRlkQBRIwCixDUllQVE9fT1BFUkFUSU9OX1NJR05BVFVSRV9HRU5FUkFURV9LRVlfUEFJUhAKEi4KKkNSWVBUT19PUEVSQVRJT05fU0lHTkFUVVJFX0RFUklWRV9LRVlfUEFJUhALEiMKH0NSWVBUT19PUEVSQVRJT05fU0lHTkFUVVJFX1NJR04QDBIlCiFDUllQVE9fT1BFUkFUSU9OX1NJR05BVFVSRV9WRVJJRlkQDRIoCiRDUllQVE9fT1BFUkFUSU9OX0JJUDM0MF9TQ0hOT1JSX1NJR04QDhIfChtDUllQVE9fT1BFUkFUSU9OX1JTQV9WRVJJRlkQDxI3CjNDUllQVE9fT1BFUkFUSU9OX0tFWV9BR1JFRU1FTlRfREVSSVZFX1NIQVJFRF9TRUNSRVQQFBIyCi5DUllQVE9fT1BFUkFUSU9OX0tFWV9BR1JFRU1FTlRfREVSSVZFX0tFWV9QQUlSEBUSKgomQ1JZUFRPX09QRVJBVElPTl9LRU1fR0VORVJBVEVfS0VZX1BBSVIQHhIkCiBDUllQVE9fT1BFUkFUSU9OX0tFTV9FTkNBUFNVTEFURRAfEiQKIENSWVBUT19PUEVSQVRJT05fS0VNX0RFQ0FQU1VMQVRFECASIAocQ1JZUFRPX09QRVJBVElPTl9IS0RGX0RFUklWRRAoEiMKH0NSWVBUT19PUEVSQVRJT05fS0RGX0RFUklWRV9LRVkQKRIxCi1DUllQVE9fT1BFUkFUSU9OX0pXQV9DT05DQVRfS0RGX1NIQTI1Nl9ERVJJVkUQKhIdChlDUllQVE9fT1BFUkFUSU9OX0tFWV9XUkFQEDISHwobQ1JZUFRPX09QRVJBVElPTl9LRVlfVU5XUkFQEDMSHgoaQ1JZUFRPX09QRVJBVElPTl9IUEtFX1NFQUwQPBIeChpDUllQVE9fT1BFUkFUSU9OX0hQS0VfT1BFThA9Kp0KChFDcnlwdG9FcnJvclJlYXNvbhIjCh9DUllQVE9fRVJST1JfUkVBU09OX1VOU1BFQ0lGSUVEEAASMwovQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9QQVJBTUVURVIQZBIwCixDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX0xFTkdUSBBlEi0KKUNSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfS0VZEGYSNAowQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9QVUJMSUNfS0VZEGcSNQoxQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9QUklWQVRFX0tFWRBoEi8KK0NSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfTk9OQ0UQaRIuCipDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1NBTFQQahIyCi5DUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1BBU1NXT1JEEGsSMgouQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9FTkNPRElORxBsEjMKL0NSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0lOVkFMSURfU0lHTkFUVVJFEHgSNQoxQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfVkVSSUZJQ0FUSU9OX0ZBSUxFRBB5EjcKM0NSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX0FVVEhFTlRJQ0FUSU9OX0ZBSUxFRBB6EjYKMkNSWVBUT19FUlJPUl9SRUFTT05fUFJJTUlUSVZFX01BTEZPUk1FRF9DSVBIRVJURVhUEHsSLQopQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUklNSVRJVkVfSU5WQUxJRF9UQUcQfBI3CjNDUllQVE9fRVJST1JfUkVBU09OX1BSSU1JVElWRV9JTlZBTElEX1NIQVJFRF9TRUNSRVQQfRI3CjJDUllQVE9fRVJST1JfUkVBU09OX1BST1ZJREVSX1VOU1VQUE9SVEVEX0FMR09SSVRITRDIARI1CjBDUllQVE9fRVJST1JfUkVBU09OX1BST1ZJREVSX1VOU1VQUE9SVEVEX0JBQ0tFTkQQyQESLQooQ1JZUFRPX0VSUk9SX1JFQVNPTl9QUk9WSURFUl9VTkFWQUlMQUJMRRDKARI4CjNDUllQVE9fRVJST1JfUkVBU09OX1BST1ZJREVSX1JBTkRPTU5FU1NfVU5BVkFJTEFCTEUQywESLgopQ1JZUFRPX0VSUk9SX1JFQVNPTl9CQUNLRU5EX0lOVkFMSURfU1RBVEUQrAISKQokQ1JZUFRPX0VSUk9SX1JFQVNPTl9CQUNLRU5EX0lOVEVSTkFMEK0CEjMKLkNSWVBUT19FUlJPUl9SRUFTT05fQkFDS0VORF9NQUxGT1JNRURfUFJPVE9CVUYQrgISLwoqQ1JZUFRPX0VSUk9SX1JFQVNPTl9CQUNLRU5EX01BTEZPUk1FRF9KU09OEK8CEjgKM0NSWVBUT19FUlJPUl9SRUFTT05fQkFDS0VORF9SRVNPVVJDRV9MSU1JVF9FWENFRURFRBCwAiqBAwoVQ3J5cHRvQWxnb3JpdGhtRmFtaWx5EicKI0NSWVBUT19BTEdPUklUSE1fRkFNSUxZX1VOU1BFQ0lGSUVEEAASJQohQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfU0lHTkFUVVJFEAESKQolQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfS0VZX0FHUkVFTUVOVBACEh8KG0NSWVBUT19BTEdPUklUSE1fRkFNSUxZX0tFTRADEiAKHENSWVBUT19BTEdPUklUSE1fRkFNSUxZX0FFQUQQBBIgChxDUllQVE9fQUxHT1JJVEhNX0ZBTUlMWV9IQVNIEAUSHwobQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfTUFDEAYSHwobQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfS0RGEAcSJAogQ1JZUFRPX0FMR09SSVRITV9GQU1JTFlfS0VZX1dSQVAQCBIgChxDUllQVE9fQUxHT1JJVEhNX0ZBTUlMWV9IUEtFEAkq1gYKElNpZ25hdHVyZUFsZ29yaXRobRIjCh9TSUdOQVRVUkVfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASHwobU0lHTkFUVVJFX0FMR09SSVRITV9FRDI1NTE5EAESKQolU0lHTkFUVVJFX0FMR09SSVRITV9FQ0RTQV9QMjU2X1NIQTI1NhACEikKJVNJR05BVFVSRV9BTEdPUklUSE1fRUNEU0FfUDM4NF9TSEEzODQQAxIpCiVTSUdOQVRVUkVfQUxHT1JJVEhNX0VDRFNBX1A1MjFfU0hBNTEyEAQSLgoqU0lHTkFUVVJFX0FMR09SSVRITV9FQ0RTQV9TRUNQMjU2SzFfU0hBMjU2EAUSNwozU0lHTkFUVVJFX0FMR09SSVRITV9CSVAzNDBfU0NITk9SUl9TRUNQMjU2SzFfU0hBMjU2EAYSKQolU0lHTkFUVVJFX0FMR09SSVRITV9SU0FfUEtDUzFWMTVfU0hBMRAHEisKJ1NJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BLQ1MxVjE1X1NIQTI1NhAIEisKJ1NJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BLQ1MxVjE1X1NIQTM4NBAJEisKJ1NJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BLQ1MxVjE1X1NIQTUxMhAKEi4KKlNJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BTU19TSEExX01HRjFfU0hBMRALEjIKLlNJR05BVFVSRV9BTEdPUklUSE1fUlNBX1BTU19TSEEyNTZfTUdGMV9TSEEyNTYQDBIyCi5TSUdOQVRVUkVfQUxHT1JJVEhNX1JTQV9QU1NfU0hBMzg0X01HRjFfU0hBMzg0EA0SMgouU0lHTkFUVVJFX0FMR09SSVRITV9SU0FfUFNTX1NIQTUxMl9NR0YxX1NIQTUxMhAOEiEKHVNJR05BVFVSRV9BTEdPUklUSE1fTUxfRFNBXzQ0EA8SIQodU0lHTkFUVVJFX0FMR09SSVRITV9NTF9EU0FfNjUQEBIhCh1TSUdOQVRVUkVfQUxHT1JJVEhNX01MX0RTQV84NxAREikKJVNJR05BVFVSRV9BTEdPUklUSE1fU0xIX0RTQV9TSEEyXzEyOFMQEirZAQoVS2V5QWdyZWVtZW50QWxnb3JpdGhtEicKI0tFWV9BR1JFRU1FTlRfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASIgoeS0VZX0FHUkVFTUVOVF9BTEdPUklUSE1fWDI1NTE5EAESJQohS0VZX0FHUkVFTUVOVF9BTEdPUklUSE1fUDI1Nl9FQ0RIEAISJQohS0VZX0FHUkVFTUVOVF9BTEdPUklUSE1fUDM4NF9FQ0RIEAMSJQohS0VZX0FHUkVFTUVOVF9BTEdPUklUSE1fUDUyMV9FQ0RIEAQqxQEKDEtlbUFsZ29yaXRobRIdChlLRU1fQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASHAoYS0VNX0FMR09SSVRITV9NTF9LRU1fNTEyEAESHAoYS0VNX0FMR09SSVRITV9NTF9LRU1fNzY4EAISHQoZS0VNX0FMR09SSVRITV9NTF9LRU1fMTAyNBADEhwKGEtFTV9BTEdPUklUSE1fWF9XSU5HXzc2OBAEEh0KGUtFTV9BTEdPUklUSE1fWF9XSU5HXzEwMjQQBSqtAQoJSHBrZVN1aXRlEhoKFkhQS0VfU1VJVEVfVU5TUEVDSUZJRUQQABI9CjlIUEtFX1NVSVRFX0RIS0VNX1AyNTZfSEtERl9TSEEyNTZfSEtERl9TSEEyNTZfQUVTXzI1Nl9HQ00QARJFCkFIUEtFX1NVSVRFX0RIS0VNX1gyNTUxOV9IS0RGX1NIQTI1Nl9IS0RGX1NIQTI1Nl9DSEFDSEEyMF9QT0xZMTMwNRACKoACCg1BZWFkQWxnb3JpdGhtEh4KGkFFQURfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASHgoaQUVBRF9BTEdPUklUSE1fQUVTXzI1Nl9HQ00QARIiCh5BRUFEX0FMR09SSVRITV9BRVNfMjU2X0dDTV9TSVYQAhIkCiBBRUFEX0FMR09SSVRITV9DSEFDSEEyMF9QT0xZMTMwNRADEiUKIUFFQURfQUxHT1JJVEhNX1hDSEFDSEEyMF9QT0xZMTMwNRAEEh4KGkFFQURfQUxHT1JJVEhNX0FFU18xMjhfR0NNEAUSHgoaQUVBRF9BTEdPUklUSE1fQUVTXzE5Ml9HQ00QBir6AQoNSGFzaEFsZ29yaXRobRIeChpIQVNIX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEhsKF0hBU0hfQUxHT1JJVEhNX1NIQTJfMjU2EAESGwoXSEFTSF9BTEdPUklUSE1fU0hBMl8zODQQAhIbChdIQVNIX0FMR09SSVRITV9TSEEyXzUxMhADEhsKF0hBU0hfQUxHT1JJVEhNX1NIQTNfMjI0EAQSGwoXSEFTSF9BTEdPUklUSE1fU0hBM18yNTYQBRIbChdIQVNIX0FMR09SSVRITV9TSEEzXzM4NBAGEhsKF0hBU0hfQUxHT1JJVEhNX1NIQTNfNTEyEAcqawoMTWFjQWxnb3JpdGhtEh0KGU1BQ19BTEdPUklUSE1fVU5TUEVDSUZJRUQQABIdChlNQUNfQUxHT1JJVEhNX0hNQUNfU0hBMjU2EAESHQoZTUFDX0FMR09SSVRITV9ITUFDX1NIQTUxMhACKt0BCgxLZGZBbGdvcml0aG0SHQoZS0RGX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEh0KGUtERl9BTEdPUklUSE1fSEtERl9TSEEyNTYQARIaChZLREZfQUxHT1JJVEhNX0FSR09OMklEEAISJAogS0RGX0FMR09SSVRITV9QQktERjJfSE1BQ19TSEEyNTYQAxIkCiBLREZfQUxHT1JJVEhNX1BCS0RGMl9ITUFDX1NIQTUxMhAEEicKI0tERl9BTEdPUklUSE1fSldBX0NPTkNBVF9LREZfU0hBMjU2EAUqWQoQS2V5V3JhcEFsZ29yaXRobRIiCh5LRVlfV1JBUF9BTEdPUklUSE1fVU5TUEVDSUZJRUQQABIhCh1LRVlfV1JBUF9BTEdPUklUSE1fQUVTXzI1Nl9LVxABKuUIChZNdWx0aWNvZGVjS2V5QWxnb3JpdGhtEigKJE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9VTlNQRUNJRklFRBAAEigKJE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9FRDI1NTE5X1BVQhABEicKI01VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9YMjU1MTlfUFVCEAISKgomTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1NFQ1AyNTZLMV9QVUIQAxIlCiFNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fUDI1Nl9QVUIQBBIlCiFNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fUDM4NF9QVUIQBRIlCiFNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fUDUyMV9QVUIQBhImCiJNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fRUQ0NDhfUFVCEAcSJAogTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1JTQV9QVUIQCBIrCidNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfS0VNXzUxMl9QVUIQCRIrCidNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfS0VNXzc2OF9QVUIQChIsCihNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfS0VNXzEwMjRfUFVCEAsSKgomTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0RTQV80NF9QVUIQDBIqCiZNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfRFNBXzY1X1BVQhANEioKJk1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9NTF9EU0FfODdfUFVCEA4SKQolTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX0VEMjU1MTlfUFJJVhAPEigKJE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9YMjU1MTlfUFJJVhAQEisKJ01VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9TRUNQMjU2SzFfUFJJVhAREiYKIk1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9QMjU2X1BSSVYQEhImCiJNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fUDM4NF9QUklWEBMSJgoiTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1A1MjFfUFJJVhAUEicKI01VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9FRDQ0OF9QUklWEBUSJQohTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX1JTQV9QUklWEBYSLAooTVVMVElDT0RFQ19LRVlfQUxHT1JJVEhNX01MX0tFTV81MTJfUFJJVhAXEiwKKE1VTFRJQ09ERUNfS0VZX0FMR09SSVRITV9NTF9LRU1fNzY4X1BSSVYQGBItCilNVUxUSUNPREVDX0tFWV9BTEdPUklUSE1fTUxfS0VNXzEwMjRfUFJJVhAZKpMBChdSc2FQdWJsaWNLZXlEZXJFbmNvZGluZxIrCidSU0FfUFVCTElDX0tFWV9ERVJfRU5DT0RJTkdfVU5TUEVDSUZJRUQQABIlCiFSU0FfUFVCTElDX0tFWV9ERVJfRU5DT0RJTkdfUEtDUzEQARIkCiBSU0FfUFVCTElDX0tFWV9ERVJfRU5DT0RJTkdfU1BLSRACKroBChhDcnlwdG9WZXJpZmljYXRpb25TdGF0dXMSKgomQ1JZUFRPX1ZFUklGSUNBVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIkCiBDUllQVE9fVkVSSUZJQ0FUSU9OX1NUQVRVU19WQUxJRBABEiYKIkNSWVBUT19WRVJJRklDQVRJT05fU1RBVFVTX0lOVkFMSUQQAhIkCiBDUllQVE9fVkVSSUZJQ0FUSU9OX1NUQVRVU19FUlJPUhADKooCChtDcnlwdG9Qcm92aWRlclN1cHBvcnRTdGF0dXMSLgoqQ1JZUFRPX1BST1ZJREVSX1NVUFBPUlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASLAooQ1JZUFRPX1BST1ZJREVSX1NVUFBPUlRfU1RBVFVTX1NVUFBPUlRFRBABEjEKLUNSWVBUT19QUk9WSURFUl9TVVBQT1JUX1NUQVRVU19QUk9WSURFUl9BV0FSRRACEioKJkNSWVBUT19QUk9WSURFUl9TVVBQT1JUX1NUQVRVU19QQVJUSUFMEAMSLgoqQ1JZUFRPX1BST1ZJREVSX1NVUFBPUlRfU1RBVFVTX1VOU1VQUE9SVEVEEAQyfQoNQ3J5cHRvU2VydmljZRJsCgdQcm9jZXNzEi8ucmVhbGx5bWUuY3J5cHRvLnYxLkNyeXB0b1NlcnZpY2VQcm9jZXNzUmVxdWVzdBowLnJlYWxseW1lLmNyeXB0by52MS5DcnlwdG9TZXJ2aWNlUHJvY2Vzc1Jlc3BvbnNlQicKE21lLnJlYWxseS5jcnlwdG8udjFQAboCDVJlYWxseU1lUHJvdG9iBnByb3RvMw");
9
9
  /**
10
10
  * Describes the message reallyme.crypto.v1.CryptoError.
11
11
  * Use `create(CryptoErrorSchema)` to create a new message.
@@ -26,21 +26,381 @@ export const CryptoProviderErrorSchema = /*@__PURE__*/ messageDesc(file_reallyme
26
26
  * Use `create(CryptoBackendErrorSchema)` to create a new message.
27
27
  */
28
28
  export const CryptoBackendErrorSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 3);
29
+ /**
30
+ * Describes the message reallyme.crypto.v1.CryptoProtoResultEnvelope.
31
+ * Use `create(CryptoProtoResultEnvelopeSchema)` to create a new message.
32
+ */
33
+ export const CryptoProtoResultEnvelopeSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 4);
34
+ /**
35
+ * Describes the message reallyme.crypto.v1.CryptoServiceProcessRequest.
36
+ * Use `create(CryptoServiceProcessRequestSchema)` to create a new message.
37
+ */
38
+ export const CryptoServiceProcessRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 5);
39
+ /**
40
+ * Describes the message reallyme.crypto.v1.CryptoServiceProcessResponse.
41
+ * Use `create(CryptoServiceProcessResponseSchema)` to create a new message.
42
+ */
43
+ export const CryptoServiceProcessResponseSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 6);
29
44
  /**
30
45
  * Describes the message reallyme.crypto.v1.CryptoAlgorithmIdentifier.
31
46
  * Use `create(CryptoAlgorithmIdentifierSchema)` to create a new message.
32
47
  */
33
- export const CryptoAlgorithmIdentifierSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 4);
48
+ export const CryptoAlgorithmIdentifierSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 7);
49
+ /**
50
+ * Describes the message reallyme.crypto.v1.CryptoHashRequest.
51
+ * Use `create(CryptoHashRequestSchema)` to create a new message.
52
+ */
53
+ export const CryptoHashRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 8);
54
+ /**
55
+ * Describes the message reallyme.crypto.v1.CryptoHashResult.
56
+ * Use `create(CryptoHashResultSchema)` to create a new message.
57
+ */
58
+ export const CryptoHashResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 9);
59
+ /**
60
+ * Describes the message reallyme.crypto.v1.CryptoAeadSealRequest.
61
+ * Use `create(CryptoAeadSealRequestSchema)` to create a new message.
62
+ */
63
+ export const CryptoAeadSealRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 10);
64
+ /**
65
+ * Describes the message reallyme.crypto.v1.CryptoAeadSealResult.
66
+ * Use `create(CryptoAeadSealResultSchema)` to create a new message.
67
+ */
68
+ export const CryptoAeadSealResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 11);
69
+ /**
70
+ * Describes the message reallyme.crypto.v1.CryptoAeadOpenRequest.
71
+ * Use `create(CryptoAeadOpenRequestSchema)` to create a new message.
72
+ */
73
+ export const CryptoAeadOpenRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 12);
74
+ /**
75
+ * Describes the message reallyme.crypto.v1.CryptoAeadOpenResult.
76
+ * Use `create(CryptoAeadOpenResultSchema)` to create a new message.
77
+ */
78
+ export const CryptoAeadOpenResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 13);
79
+ /**
80
+ * Describes the message reallyme.crypto.v1.CryptoMacAuthenticateRequest.
81
+ * Use `create(CryptoMacAuthenticateRequestSchema)` to create a new message.
82
+ */
83
+ export const CryptoMacAuthenticateRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 14);
84
+ /**
85
+ * Describes the message reallyme.crypto.v1.CryptoMacAuthenticateResult.
86
+ * Use `create(CryptoMacAuthenticateResultSchema)` to create a new message.
87
+ */
88
+ export const CryptoMacAuthenticateResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 15);
89
+ /**
90
+ * Describes the message reallyme.crypto.v1.CryptoMacVerifyRequest.
91
+ * Use `create(CryptoMacVerifyRequestSchema)` to create a new message.
92
+ */
93
+ export const CryptoMacVerifyRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 16);
94
+ /**
95
+ * Describes the message reallyme.crypto.v1.CryptoKdfDeriveKeyRequest.
96
+ * Use `create(CryptoKdfDeriveKeyRequestSchema)` to create a new message.
97
+ */
98
+ export const CryptoKdfDeriveKeyRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 17);
99
+ /**
100
+ * Describes the message reallyme.crypto.v1.CryptoKdfDeriveKeyResult.
101
+ * Use `create(CryptoKdfDeriveKeyResultSchema)` to create a new message.
102
+ */
103
+ export const CryptoKdfDeriveKeyResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 18);
104
+ /**
105
+ * Describes the message reallyme.crypto.v1.CryptoHkdfDeriveRequest.
106
+ * Use `create(CryptoHkdfDeriveRequestSchema)` to create a new message.
107
+ */
108
+ export const CryptoHkdfDeriveRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 19);
109
+ /**
110
+ * Describes the message reallyme.crypto.v1.CryptoHkdfDeriveResult.
111
+ * Use `create(CryptoHkdfDeriveResultSchema)` to create a new message.
112
+ */
113
+ export const CryptoHkdfDeriveResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 20);
114
+ /**
115
+ * Describes the message reallyme.crypto.v1.CryptoJwaConcatKdfSha256DeriveRequest.
116
+ * Use `create(CryptoJwaConcatKdfSha256DeriveRequestSchema)` to create a new message.
117
+ */
118
+ export const CryptoJwaConcatKdfSha256DeriveRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 21);
119
+ /**
120
+ * Describes the message reallyme.crypto.v1.CryptoJwaConcatKdfSha256DeriveResult.
121
+ * Use `create(CryptoJwaConcatKdfSha256DeriveResultSchema)` to create a new message.
122
+ */
123
+ export const CryptoJwaConcatKdfSha256DeriveResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 22);
124
+ /**
125
+ * Describes the message reallyme.crypto.v1.CryptoKeyWrapRequest.
126
+ * Use `create(CryptoKeyWrapRequestSchema)` to create a new message.
127
+ */
128
+ export const CryptoKeyWrapRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 23);
129
+ /**
130
+ * Describes the message reallyme.crypto.v1.CryptoKeyWrapResult.
131
+ * Use `create(CryptoKeyWrapResultSchema)` to create a new message.
132
+ */
133
+ export const CryptoKeyWrapResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 24);
134
+ /**
135
+ * Describes the message reallyme.crypto.v1.CryptoKeyUnwrapRequest.
136
+ * Use `create(CryptoKeyUnwrapRequestSchema)` to create a new message.
137
+ */
138
+ export const CryptoKeyUnwrapRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 25);
139
+ /**
140
+ * Describes the message reallyme.crypto.v1.CryptoKeyUnwrapResult.
141
+ * Use `create(CryptoKeyUnwrapResultSchema)` to create a new message.
142
+ */
143
+ export const CryptoKeyUnwrapResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 26);
144
+ /**
145
+ * Describes the message reallyme.crypto.v1.CryptoSignatureGenerateKeyPairRequest.
146
+ * Use `create(CryptoSignatureGenerateKeyPairRequestSchema)` to create a new message.
147
+ */
148
+ export const CryptoSignatureGenerateKeyPairRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 27);
149
+ /**
150
+ * Describes the message reallyme.crypto.v1.CryptoSignatureDeriveKeyPairRequest.
151
+ * Use `create(CryptoSignatureDeriveKeyPairRequestSchema)` to create a new message.
152
+ */
153
+ export const CryptoSignatureDeriveKeyPairRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 28);
154
+ /**
155
+ * Describes the message reallyme.crypto.v1.CryptoSignatureSignRequest.
156
+ * Use `create(CryptoSignatureSignRequestSchema)` to create a new message.
157
+ */
158
+ export const CryptoSignatureSignRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 29);
159
+ /**
160
+ * Describes the message reallyme.crypto.v1.CryptoSignatureSignResult.
161
+ * Use `create(CryptoSignatureSignResultSchema)` to create a new message.
162
+ */
163
+ export const CryptoSignatureSignResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 30);
164
+ /**
165
+ * Describes the message reallyme.crypto.v1.CryptoBip340SchnorrSignRequest.
166
+ * Use `create(CryptoBip340SchnorrSignRequestSchema)` to create a new message.
167
+ */
168
+ export const CryptoBip340SchnorrSignRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 31);
169
+ /**
170
+ * Describes the message reallyme.crypto.v1.CryptoSignatureVerifyRequest.
171
+ * Use `create(CryptoSignatureVerifyRequestSchema)` to create a new message.
172
+ */
173
+ export const CryptoSignatureVerifyRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 32);
174
+ /**
175
+ * Describes the message reallyme.crypto.v1.CryptoRsaVerifyRequest.
176
+ * Use `create(CryptoRsaVerifyRequestSchema)` to create a new message.
177
+ */
178
+ export const CryptoRsaVerifyRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 33);
179
+ /**
180
+ * Describes the message reallyme.crypto.v1.CryptoKeyAgreementDeriveSharedSecretRequest.
181
+ * Use `create(CryptoKeyAgreementDeriveSharedSecretRequestSchema)` to create a new message.
182
+ */
183
+ export const CryptoKeyAgreementDeriveSharedSecretRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 34);
184
+ /**
185
+ * Describes the message reallyme.crypto.v1.CryptoKeyAgreementDeriveSharedSecretResult.
186
+ * Use `create(CryptoKeyAgreementDeriveSharedSecretResultSchema)` to create a new message.
187
+ */
188
+ export const CryptoKeyAgreementDeriveSharedSecretResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 35);
189
+ /**
190
+ * Describes the message reallyme.crypto.v1.CryptoKeyAgreementDeriveKeyPairRequest.
191
+ * Use `create(CryptoKeyAgreementDeriveKeyPairRequestSchema)` to create a new message.
192
+ */
193
+ export const CryptoKeyAgreementDeriveKeyPairRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 36);
194
+ /**
195
+ * Describes the message reallyme.crypto.v1.CryptoKemGenerateKeyPairRequest.
196
+ * Use `create(CryptoKemGenerateKeyPairRequestSchema)` to create a new message.
197
+ */
198
+ export const CryptoKemGenerateKeyPairRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 37);
199
+ /**
200
+ * Describes the message reallyme.crypto.v1.CryptoKemEncapsulateRequest.
201
+ * Use `create(CryptoKemEncapsulateRequestSchema)` to create a new message.
202
+ */
203
+ export const CryptoKemEncapsulateRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 38);
204
+ /**
205
+ * Describes the message reallyme.crypto.v1.CryptoKemDecapsulateRequest.
206
+ * Use `create(CryptoKemDecapsulateRequestSchema)` to create a new message.
207
+ */
208
+ export const CryptoKemDecapsulateRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 39);
209
+ /**
210
+ * Describes the message reallyme.crypto.v1.CryptoKemDecapsulateResult.
211
+ * Use `create(CryptoKemDecapsulateResultSchema)` to create a new message.
212
+ */
213
+ export const CryptoKemDecapsulateResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 40);
214
+ /**
215
+ * Describes the message reallyme.crypto.v1.CryptoHpkeSealRequest.
216
+ * Use `create(CryptoHpkeSealRequestSchema)` to create a new message.
217
+ */
218
+ export const CryptoHpkeSealRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 41);
219
+ /**
220
+ * Describes the message reallyme.crypto.v1.CryptoHpkeOpenRequest.
221
+ * Use `create(CryptoHpkeOpenRequestSchema)` to create a new message.
222
+ */
223
+ export const CryptoHpkeOpenRequestSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 42);
224
+ /**
225
+ * Describes the message reallyme.crypto.v1.CryptoHpkeOpenResult.
226
+ * Use `create(CryptoHpkeOpenResultSchema)` to create a new message.
227
+ */
228
+ export const CryptoHpkeOpenResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 43);
229
+ /**
230
+ * Describes the message reallyme.crypto.v1.CryptoKeyPair.
231
+ * Use `create(CryptoKeyPairSchema)` to create a new message.
232
+ */
233
+ export const CryptoKeyPairSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 44);
234
+ /**
235
+ * Describes the message reallyme.crypto.v1.CryptoKemEncapsulation.
236
+ * Use `create(CryptoKemEncapsulationSchema)` to create a new message.
237
+ */
238
+ export const CryptoKemEncapsulationSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 45);
239
+ /**
240
+ * Describes the message reallyme.crypto.v1.CryptoHpkeSealedMessage.
241
+ * Use `create(CryptoHpkeSealedMessageSchema)` to create a new message.
242
+ */
243
+ export const CryptoHpkeSealedMessageSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 46);
244
+ /**
245
+ * Describes the message reallyme.crypto.v1.CryptoVerificationResult.
246
+ * Use `create(CryptoVerificationResultSchema)` to create a new message.
247
+ */
248
+ export const CryptoVerificationResultSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 47);
249
+ /**
250
+ * Describes the message reallyme.crypto.v1.CryptoProviderCapability.
251
+ * Use `create(CryptoProviderCapabilitySchema)` to create a new message.
252
+ */
253
+ export const CryptoProviderCapabilitySchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 48);
254
+ /**
255
+ * Describes the message reallyme.crypto.v1.CryptoProviderCapabilitySet.
256
+ * Use `create(CryptoProviderCapabilitySetSchema)` to create a new message.
257
+ */
258
+ export const CryptoProviderCapabilitySetSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 49);
34
259
  /**
35
260
  * Describes the message reallyme.crypto.v1.JsonWebKey.
36
261
  * Use `create(JsonWebKeySchema)` to create a new message.
37
262
  */
38
- export const JsonWebKeySchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 5);
263
+ export const JsonWebKeySchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 50);
39
264
  /**
40
265
  * Describes the message reallyme.crypto.v1.JsonWebKeySet.
41
266
  * Use `create(JsonWebKeySetSchema)` to create a new message.
42
267
  */
43
- export const JsonWebKeySetSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 6);
268
+ export const JsonWebKeySetSchema = /*@__PURE__*/ messageDesc(file_reallyme_crypto_v1_crypto, 51);
269
+ /**
270
+ * CryptoProtoResultStatus marks whether a result-envelope payload contains an
271
+ * operation-specific result protobuf or a structured CryptoError protobuf.
272
+ *
273
+ * @generated from enum reallyme.crypto.v1.CryptoProtoResultStatus
274
+ */
275
+ export var CryptoProtoResultStatus;
276
+ (function (CryptoProtoResultStatus) {
277
+ /**
278
+ * @generated from enum value: CRYPTO_PROTO_RESULT_STATUS_UNSPECIFIED = 0;
279
+ */
280
+ CryptoProtoResultStatus[CryptoProtoResultStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
281
+ /**
282
+ * @generated from enum value: CRYPTO_PROTO_RESULT_STATUS_RESULT = 1;
283
+ */
284
+ CryptoProtoResultStatus[CryptoProtoResultStatus["RESULT"] = 1] = "RESULT";
285
+ /**
286
+ * @generated from enum value: CRYPTO_PROTO_RESULT_STATUS_CRYPTO_ERROR = 2;
287
+ */
288
+ CryptoProtoResultStatus[CryptoProtoResultStatus["CRYPTO_ERROR"] = 2] = "CRYPTO_ERROR";
289
+ })(CryptoProtoResultStatus || (CryptoProtoResultStatus = {}));
290
+ /**
291
+ * Describes the enum reallyme.crypto.v1.CryptoProtoResultStatus.
292
+ */
293
+ export const CryptoProtoResultStatusSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 0);
294
+ /**
295
+ * CryptoOperation is the stable dispatch identifier used by protobuf, Connect,
296
+ * FFI, and package adapters. Values are append-only and intentionally grouped
297
+ * by primitive family so a numeric id has one meaning across every lane.
298
+ *
299
+ * @generated from enum reallyme.crypto.v1.CryptoOperation
300
+ */
301
+ export var CryptoOperation;
302
+ (function (CryptoOperation) {
303
+ /**
304
+ * @generated from enum value: CRYPTO_OPERATION_UNSPECIFIED = 0;
305
+ */
306
+ CryptoOperation[CryptoOperation["UNSPECIFIED"] = 0] = "UNSPECIFIED";
307
+ /**
308
+ * @generated from enum value: CRYPTO_OPERATION_HASH = 1;
309
+ */
310
+ CryptoOperation[CryptoOperation["HASH"] = 1] = "HASH";
311
+ /**
312
+ * @generated from enum value: CRYPTO_OPERATION_AEAD_SEAL = 2;
313
+ */
314
+ CryptoOperation[CryptoOperation["AEAD_SEAL"] = 2] = "AEAD_SEAL";
315
+ /**
316
+ * @generated from enum value: CRYPTO_OPERATION_AEAD_OPEN = 3;
317
+ */
318
+ CryptoOperation[CryptoOperation["AEAD_OPEN"] = 3] = "AEAD_OPEN";
319
+ /**
320
+ * @generated from enum value: CRYPTO_OPERATION_MAC_AUTHENTICATE = 4;
321
+ */
322
+ CryptoOperation[CryptoOperation["MAC_AUTHENTICATE"] = 4] = "MAC_AUTHENTICATE";
323
+ /**
324
+ * @generated from enum value: CRYPTO_OPERATION_MAC_VERIFY = 5;
325
+ */
326
+ CryptoOperation[CryptoOperation["MAC_VERIFY"] = 5] = "MAC_VERIFY";
327
+ /**
328
+ * @generated from enum value: CRYPTO_OPERATION_SIGNATURE_GENERATE_KEY_PAIR = 10;
329
+ */
330
+ CryptoOperation[CryptoOperation["SIGNATURE_GENERATE_KEY_PAIR"] = 10] = "SIGNATURE_GENERATE_KEY_PAIR";
331
+ /**
332
+ * @generated from enum value: CRYPTO_OPERATION_SIGNATURE_DERIVE_KEY_PAIR = 11;
333
+ */
334
+ CryptoOperation[CryptoOperation["SIGNATURE_DERIVE_KEY_PAIR"] = 11] = "SIGNATURE_DERIVE_KEY_PAIR";
335
+ /**
336
+ * @generated from enum value: CRYPTO_OPERATION_SIGNATURE_SIGN = 12;
337
+ */
338
+ CryptoOperation[CryptoOperation["SIGNATURE_SIGN"] = 12] = "SIGNATURE_SIGN";
339
+ /**
340
+ * @generated from enum value: CRYPTO_OPERATION_SIGNATURE_VERIFY = 13;
341
+ */
342
+ CryptoOperation[CryptoOperation["SIGNATURE_VERIFY"] = 13] = "SIGNATURE_VERIFY";
343
+ /**
344
+ * @generated from enum value: CRYPTO_OPERATION_BIP340_SCHNORR_SIGN = 14;
345
+ */
346
+ CryptoOperation[CryptoOperation["BIP340_SCHNORR_SIGN"] = 14] = "BIP340_SCHNORR_SIGN";
347
+ /**
348
+ * @generated from enum value: CRYPTO_OPERATION_RSA_VERIFY = 15;
349
+ */
350
+ CryptoOperation[CryptoOperation["RSA_VERIFY"] = 15] = "RSA_VERIFY";
351
+ /**
352
+ * @generated from enum value: CRYPTO_OPERATION_KEY_AGREEMENT_DERIVE_SHARED_SECRET = 20;
353
+ */
354
+ CryptoOperation[CryptoOperation["KEY_AGREEMENT_DERIVE_SHARED_SECRET"] = 20] = "KEY_AGREEMENT_DERIVE_SHARED_SECRET";
355
+ /**
356
+ * @generated from enum value: CRYPTO_OPERATION_KEY_AGREEMENT_DERIVE_KEY_PAIR = 21;
357
+ */
358
+ CryptoOperation[CryptoOperation["KEY_AGREEMENT_DERIVE_KEY_PAIR"] = 21] = "KEY_AGREEMENT_DERIVE_KEY_PAIR";
359
+ /**
360
+ * @generated from enum value: CRYPTO_OPERATION_KEM_GENERATE_KEY_PAIR = 30;
361
+ */
362
+ CryptoOperation[CryptoOperation["KEM_GENERATE_KEY_PAIR"] = 30] = "KEM_GENERATE_KEY_PAIR";
363
+ /**
364
+ * @generated from enum value: CRYPTO_OPERATION_KEM_ENCAPSULATE = 31;
365
+ */
366
+ CryptoOperation[CryptoOperation["KEM_ENCAPSULATE"] = 31] = "KEM_ENCAPSULATE";
367
+ /**
368
+ * @generated from enum value: CRYPTO_OPERATION_KEM_DECAPSULATE = 32;
369
+ */
370
+ CryptoOperation[CryptoOperation["KEM_DECAPSULATE"] = 32] = "KEM_DECAPSULATE";
371
+ /**
372
+ * @generated from enum value: CRYPTO_OPERATION_HKDF_DERIVE = 40;
373
+ */
374
+ CryptoOperation[CryptoOperation["HKDF_DERIVE"] = 40] = "HKDF_DERIVE";
375
+ /**
376
+ * @generated from enum value: CRYPTO_OPERATION_KDF_DERIVE_KEY = 41;
377
+ */
378
+ CryptoOperation[CryptoOperation["KDF_DERIVE_KEY"] = 41] = "KDF_DERIVE_KEY";
379
+ /**
380
+ * @generated from enum value: CRYPTO_OPERATION_JWA_CONCAT_KDF_SHA256_DERIVE = 42;
381
+ */
382
+ CryptoOperation[CryptoOperation["JWA_CONCAT_KDF_SHA256_DERIVE"] = 42] = "JWA_CONCAT_KDF_SHA256_DERIVE";
383
+ /**
384
+ * @generated from enum value: CRYPTO_OPERATION_KEY_WRAP = 50;
385
+ */
386
+ CryptoOperation[CryptoOperation["KEY_WRAP"] = 50] = "KEY_WRAP";
387
+ /**
388
+ * @generated from enum value: CRYPTO_OPERATION_KEY_UNWRAP = 51;
389
+ */
390
+ CryptoOperation[CryptoOperation["KEY_UNWRAP"] = 51] = "KEY_UNWRAP";
391
+ /**
392
+ * @generated from enum value: CRYPTO_OPERATION_HPKE_SEAL = 60;
393
+ */
394
+ CryptoOperation[CryptoOperation["HPKE_SEAL"] = 60] = "HPKE_SEAL";
395
+ /**
396
+ * @generated from enum value: CRYPTO_OPERATION_HPKE_OPEN = 61;
397
+ */
398
+ CryptoOperation[CryptoOperation["HPKE_OPEN"] = 61] = "HPKE_OPEN";
399
+ })(CryptoOperation || (CryptoOperation = {}));
400
+ /**
401
+ * Describes the enum reallyme.crypto.v1.CryptoOperation.
402
+ */
403
+ export const CryptoOperationSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 1);
44
404
  /**
45
405
  * CryptoErrorReason is the component-owned reason-code enum for reallyme/crypto.
46
406
  * Values are stable public boundary codes; internal Rust, Swift, Kotlin, and
@@ -151,11 +511,23 @@ export var CryptoErrorReason;
151
511
  * @generated from enum value: CRYPTO_ERROR_REASON_BACKEND_INTERNAL = 301;
152
512
  */
153
513
  CryptoErrorReason[CryptoErrorReason["BACKEND_INTERNAL"] = 301] = "BACKEND_INTERNAL";
514
+ /**
515
+ * @generated from enum value: CRYPTO_ERROR_REASON_BACKEND_MALFORMED_PROTOBUF = 302;
516
+ */
517
+ CryptoErrorReason[CryptoErrorReason["BACKEND_MALFORMED_PROTOBUF"] = 302] = "BACKEND_MALFORMED_PROTOBUF";
518
+ /**
519
+ * @generated from enum value: CRYPTO_ERROR_REASON_BACKEND_MALFORMED_JSON = 303;
520
+ */
521
+ CryptoErrorReason[CryptoErrorReason["BACKEND_MALFORMED_JSON"] = 303] = "BACKEND_MALFORMED_JSON";
522
+ /**
523
+ * @generated from enum value: CRYPTO_ERROR_REASON_BACKEND_RESOURCE_LIMIT_EXCEEDED = 304;
524
+ */
525
+ CryptoErrorReason[CryptoErrorReason["BACKEND_RESOURCE_LIMIT_EXCEEDED"] = 304] = "BACKEND_RESOURCE_LIMIT_EXCEEDED";
154
526
  })(CryptoErrorReason || (CryptoErrorReason = {}));
155
527
  /**
156
528
  * Describes the enum reallyme.crypto.v1.CryptoErrorReason.
157
529
  */
158
- export const CryptoErrorReasonSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 0);
530
+ export const CryptoErrorReasonSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 2);
159
531
  /**
160
532
  * CryptoAlgorithmFamily classifies an algorithm identifier without implying
161
533
  * that the identifier is valid for a specific operation.
@@ -208,7 +580,7 @@ export var CryptoAlgorithmFamily;
208
580
  /**
209
581
  * Describes the enum reallyme.crypto.v1.CryptoAlgorithmFamily.
210
582
  */
211
- export const CryptoAlgorithmFamilySchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 1);
583
+ export const CryptoAlgorithmFamilySchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 3);
212
584
  /**
213
585
  * SignatureAlgorithm identifies signature suites supported or reserved by the
214
586
  * crypto repository. RSA values identify verification suites; RSA signing is
@@ -298,7 +670,7 @@ export var SignatureAlgorithm;
298
670
  /**
299
671
  * Describes the enum reallyme.crypto.v1.SignatureAlgorithm.
300
672
  */
301
- export const SignatureAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 2);
673
+ export const SignatureAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 4);
302
674
  /**
303
675
  * KeyAgreementAlgorithm identifies direct shared-secret derivation suites.
304
676
  * Callers must still feed derived shared secrets through a protocol KDF.
@@ -331,7 +703,7 @@ export var KeyAgreementAlgorithm;
331
703
  /**
332
704
  * Describes the enum reallyme.crypto.v1.KeyAgreementAlgorithm.
333
705
  */
334
- export const KeyAgreementAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 3);
706
+ export const KeyAgreementAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 5);
335
707
  /**
336
708
  * KemAlgorithm identifies encapsulation suites. X-Wing values are ReallyMe's
337
709
  * supported hybrid KEM variants over X25519 and ML-KEM.
@@ -368,7 +740,7 @@ export var KemAlgorithm;
368
740
  /**
369
741
  * Describes the enum reallyme.crypto.v1.KemAlgorithm.
370
742
  */
371
- export const KemAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 4);
743
+ export const KemAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 6);
372
744
  /**
373
745
  * HpkeSuite identifies supported RFC 9180 HPKE Base-mode ciphersuites.
374
746
  *
@@ -392,7 +764,7 @@ export var HpkeSuite;
392
764
  /**
393
765
  * Describes the enum reallyme.crypto.v1.HpkeSuite.
394
766
  */
395
- export const HpkeSuiteSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 5);
767
+ export const HpkeSuiteSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 7);
396
768
  /**
397
769
  * AeadAlgorithm identifies authenticated-encryption suites.
398
770
  *
@@ -432,7 +804,7 @@ export var AeadAlgorithm;
432
804
  /**
433
805
  * Describes the enum reallyme.crypto.v1.AeadAlgorithm.
434
806
  */
435
- export const AeadAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 6);
807
+ export const AeadAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 8);
436
808
  /**
437
809
  * HashAlgorithm identifies digest algorithms exposed by the hash primitives.
438
810
  *
@@ -476,7 +848,7 @@ export var HashAlgorithm;
476
848
  /**
477
849
  * Describes the enum reallyme.crypto.v1.HashAlgorithm.
478
850
  */
479
- export const HashAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 7);
851
+ export const HashAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 9);
480
852
  /**
481
853
  * MacAlgorithm identifies message-authentication-code suites.
482
854
  *
@@ -500,7 +872,7 @@ export var MacAlgorithm;
500
872
  /**
501
873
  * Describes the enum reallyme.crypto.v1.MacAlgorithm.
502
874
  */
503
- export const MacAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 8);
875
+ export const MacAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 10);
504
876
  /**
505
877
  * KdfAlgorithm identifies key-derivation functions. PBKDF2 values are retained
506
878
  * for legacy interoperability; new password storage should prefer Argon2id.
@@ -537,7 +909,7 @@ export var KdfAlgorithm;
537
909
  /**
538
910
  * Describes the enum reallyme.crypto.v1.KdfAlgorithm.
539
911
  */
540
- export const KdfAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 9);
912
+ export const KdfAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 11);
541
913
  /**
542
914
  * KeyWrapAlgorithm identifies key-wrapping algorithms.
543
915
  *
@@ -557,7 +929,7 @@ export var KeyWrapAlgorithm;
557
929
  /**
558
930
  * Describes the enum reallyme.crypto.v1.KeyWrapAlgorithm.
559
931
  */
560
- export const KeyWrapAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 10);
932
+ export const KeyWrapAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 12);
561
933
  /**
562
934
  * MulticodecKeyAlgorithm identifies table-backed key codecs that ReallyMe
563
935
  * recognizes. These are codec identifiers, not permission to expose private key
@@ -675,4 +1047,105 @@ export var MulticodecKeyAlgorithm;
675
1047
  /**
676
1048
  * Describes the enum reallyme.crypto.v1.MulticodecKeyAlgorithm.
677
1049
  */
678
- export const MulticodecKeyAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 11);
1050
+ export const MulticodecKeyAlgorithmSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 13);
1051
+ /**
1052
+ * RsaPublicKeyDerEncoding identifies the accepted DER wrapper for RSA public
1053
+ * keys at verification boundaries.
1054
+ *
1055
+ * @generated from enum reallyme.crypto.v1.RsaPublicKeyDerEncoding
1056
+ */
1057
+ export var RsaPublicKeyDerEncoding;
1058
+ (function (RsaPublicKeyDerEncoding) {
1059
+ /**
1060
+ * @generated from enum value: RSA_PUBLIC_KEY_DER_ENCODING_UNSPECIFIED = 0;
1061
+ */
1062
+ RsaPublicKeyDerEncoding[RsaPublicKeyDerEncoding["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1063
+ /**
1064
+ * @generated from enum value: RSA_PUBLIC_KEY_DER_ENCODING_PKCS1 = 1;
1065
+ */
1066
+ RsaPublicKeyDerEncoding[RsaPublicKeyDerEncoding["PKCS1"] = 1] = "PKCS1";
1067
+ /**
1068
+ * @generated from enum value: RSA_PUBLIC_KEY_DER_ENCODING_SPKI = 2;
1069
+ */
1070
+ RsaPublicKeyDerEncoding[RsaPublicKeyDerEncoding["SPKI"] = 2] = "SPKI";
1071
+ })(RsaPublicKeyDerEncoding || (RsaPublicKeyDerEncoding = {}));
1072
+ /**
1073
+ * Describes the enum reallyme.crypto.v1.RsaPublicKeyDerEncoding.
1074
+ */
1075
+ export const RsaPublicKeyDerEncodingSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 14);
1076
+ /**
1077
+ * CryptoVerificationStatus avoids using a bare bool in protocol results where
1078
+ * "unset" and "false" need to remain distinguishable.
1079
+ *
1080
+ * @generated from enum reallyme.crypto.v1.CryptoVerificationStatus
1081
+ */
1082
+ export var CryptoVerificationStatus;
1083
+ (function (CryptoVerificationStatus) {
1084
+ /**
1085
+ * @generated from enum value: CRYPTO_VERIFICATION_STATUS_UNSPECIFIED = 0;
1086
+ */
1087
+ CryptoVerificationStatus[CryptoVerificationStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1088
+ /**
1089
+ * @generated from enum value: CRYPTO_VERIFICATION_STATUS_VALID = 1;
1090
+ */
1091
+ CryptoVerificationStatus[CryptoVerificationStatus["VALID"] = 1] = "VALID";
1092
+ /**
1093
+ * Well-formed verification input was processed, but the MAC, signature,
1094
+ * proof, or comparison did not verify. Malformed input, unsupported
1095
+ * algorithms, provider failures, and backend failures use ERROR plus the
1096
+ * structured CryptoError field instead.
1097
+ *
1098
+ * @generated from enum value: CRYPTO_VERIFICATION_STATUS_INVALID = 2;
1099
+ */
1100
+ CryptoVerificationStatus[CryptoVerificationStatus["INVALID"] = 2] = "INVALID";
1101
+ /**
1102
+ * @generated from enum value: CRYPTO_VERIFICATION_STATUS_ERROR = 3;
1103
+ */
1104
+ CryptoVerificationStatus[CryptoVerificationStatus["ERROR"] = 3] = "ERROR";
1105
+ })(CryptoVerificationStatus || (CryptoVerificationStatus = {}));
1106
+ /**
1107
+ * Describes the enum reallyme.crypto.v1.CryptoVerificationStatus.
1108
+ */
1109
+ export const CryptoVerificationStatusSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 15);
1110
+ /**
1111
+ * CryptoProviderSupportStatus mirrors the release provider matrix at a stable
1112
+ * wire boundary without exposing backend exception text or dynamic logs.
1113
+ *
1114
+ * @generated from enum reallyme.crypto.v1.CryptoProviderSupportStatus
1115
+ */
1116
+ export var CryptoProviderSupportStatus;
1117
+ (function (CryptoProviderSupportStatus) {
1118
+ /**
1119
+ * @generated from enum value: CRYPTO_PROVIDER_SUPPORT_STATUS_UNSPECIFIED = 0;
1120
+ */
1121
+ CryptoProviderSupportStatus[CryptoProviderSupportStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1122
+ /**
1123
+ * @generated from enum value: CRYPTO_PROVIDER_SUPPORT_STATUS_SUPPORTED = 1;
1124
+ */
1125
+ CryptoProviderSupportStatus[CryptoProviderSupportStatus["SUPPORTED"] = 1] = "SUPPORTED";
1126
+ /**
1127
+ * @generated from enum value: CRYPTO_PROVIDER_SUPPORT_STATUS_PROVIDER_AWARE = 2;
1128
+ */
1129
+ CryptoProviderSupportStatus[CryptoProviderSupportStatus["PROVIDER_AWARE"] = 2] = "PROVIDER_AWARE";
1130
+ /**
1131
+ * @generated from enum value: CRYPTO_PROVIDER_SUPPORT_STATUS_PARTIAL = 3;
1132
+ */
1133
+ CryptoProviderSupportStatus[CryptoProviderSupportStatus["PARTIAL"] = 3] = "PARTIAL";
1134
+ /**
1135
+ * @generated from enum value: CRYPTO_PROVIDER_SUPPORT_STATUS_UNSUPPORTED = 4;
1136
+ */
1137
+ CryptoProviderSupportStatus[CryptoProviderSupportStatus["UNSUPPORTED"] = 4] = "UNSUPPORTED";
1138
+ })(CryptoProviderSupportStatus || (CryptoProviderSupportStatus = {}));
1139
+ /**
1140
+ * Describes the enum reallyme.crypto.v1.CryptoProviderSupportStatus.
1141
+ */
1142
+ export const CryptoProviderSupportStatusSchema = /*@__PURE__*/ enumDesc(file_reallyme_crypto_v1_crypto, 16);
1143
+ /**
1144
+ * CryptoService is the transport schema for Connect-compatible adapters.
1145
+ * Implementations must apply the same provider policy and size limits as the
1146
+ * local process-proto and FFI lanes; the service definition does not authorize
1147
+ * fallback to a different provider.
1148
+ *
1149
+ * @generated from service reallyme.crypto.v1.CryptoService
1150
+ */
1151
+ export const CryptoService = /*@__PURE__*/ serviceDesc(file_reallyme_crypto_v1_crypto, 0);