+
    ™h©jzr  ã                   ó0  a € R tW0 t ^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
  ]P                  ! 4       t] ^ k ]P                  ! 4       t] ^k ]P                  ! 4       t] ^k ]P"                  ! 4       t] ^k ]P&                  ! 4       t] ^k ]],           t]P,                  ! 4       t] ^k ]P0                  ! 4       t] ^k ]P4                  ! 4       t] ^k ]P8                  ! 4       t] ^k ]P<                  ! 4       t] ^	k ]],           t ]PB                  ! 4       t"] ^
k ]PF                  ! 4       t$] ^k ]PJ                  ! 4       t&] ^k ]PN                  ! 4       t(] ^k ]PR                  ! 4       t*] ^k ]*](,           t+]PX                  ! 4       t-] ^k ]P\                  ! 4       t/] ^k ]P`                  ! 4       t1] ^k ]Pd                  ! 4       t3] ^k ]Ph                  ! 4       t5] ^k ]5]3,           t6]Pn                  ! 4       t8] ^k ]Pr                  ! 4       t:] ^k ]Pv                  ! 4       t<] ^k ]Pz                  ! 4       t>] ^k ]P~                  ! 4       t@] ^k ]@]>,           t6]P‚                  ! 4       tB] ^k ]P†                  ! 4       tD] ^k ]PŠ                  ! 4       tF] ^k ]PŽ                  ! 4       tH] ^k ]P’                  ! 4       tJ] ^k ]J]H,           t6R R ltKR R ltLR	 R
 ltMR R ltNR R ltOR R ltPR R ltQR R ltRR R ltSR R ltTR R ltUR R ltVR# )é    )ÚOptional)Ú
exceptions)ÚffiÚlib)Úensurec          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# ©é   ÚmessageÚaadÚnonceÚkeyÚreturn©Úbytesr   )Úformats   "ÚT/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/bindings/crypto_aead.pyÚ__annotate__r   x   ó?   € ÷ L.ñ L.ÜðL.Ü!¤%�ðL.Ü16ðL.Ü=BðL.ä
ñL.ó    c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\        ,           p\        P                  ! R4      p\        P                  ! R	V4      p	\        P                   ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! W˜^ ,          4      R,          # )a&  
Encrypt the given ``message`` using the IETF ratified chacha20poly1305
construction described in RFC7539.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
ú Input message type must be bytes©Úraisingú%Message must be at most {} bytes longNú%Additional data must be bytes or Noneú,Nonce must be a {} bytes long bytes sequenceú*Key must be a {} bytes long bytes sequenceúunsigned long long *úunsigned char[]úEncryption failed.ºNNN)r   Ú
isinstancer   ÚexcÚ	TypeErrorÚlenÚ2crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAXr   Ú
ValueErrorÚ+crypto_aead_chacha20poly1305_ietf_NPUBBYTESÚ*crypto_aead_chacha20poly1305_ietf_KEYBYTESr   ÚNULLÚ(crypto_aead_chacha20poly1305_ietf_ABYTESÚnewr   Ú)crypto_aead_chacha20poly1305_ietf_encryptÚCryptoErrorÚbuffer©r   r   r   r   ÚmlenÚ_aadÚaalenÚmxoutÚclenÚ
ciphertextÚress   &&&&       r   r.   r.   x   s¨  € ô$ Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔBÑBØ/×6Ñ6Ü>ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Fð 	FÜ�‹JÔEÑEØ6×=Ñ=Ü7ó	
ô —‘õô Ü�3œÓ÷ 	Cð 	CÜ�‹HÔBÑBØ4×;Ñ;Ü6ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ;Õ;€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
7Ò
7Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# ©r
   r7   r   r   r   r   r   )r   s   "r   r   r   Ç   ó?   € ÷ L+ñ L+ÜðL+Ü$¤U�OðL+Ü49ðL+Ü@EðL+ä
ñL+r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                  ! R4      p\        P                  ! R	V4      pV'       d   Tp\        V4      p	M\        P                  p^ p	\        P                   ! Wv\        P                  WW‰W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! Wv^ ,          4      R,          # )a  
Decrypt the given ``ciphertext`` using the IETF ratified chacha20poly1305
construction described in RFC7539.

:param ciphertext:
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
ú#Input ciphertext type must be bytesr   ú(Ciphertext must be at most {} bytes longNr   r   r   r   r    úDecryption failed.r"   )r   r#   r   r$   r%   r&   Ú*_aead_chacha20poly1305_ietf_CRYPTBYTES_MAXr   r(   r)   r*   r,   r   r-   r+   r   Ú)crypto_aead_chacha20poly1305_ietf_decryptr/   r0   ©r7   r   r   r   r6   r5   r2   r   r3   r4   r8   s   &&&&       r   rA   rA   Ç   s¨  € ô$ Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ:Ñ:Ø2×9Ñ9Ü6ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Fð 	FÜ�‹JÔEÑEØ6×=Ñ=Ü7ó	
ô —‘õô Ü�3œÓ÷ 	Cð 	CÜ�‹HÔBÑBØ4×;Ñ;Ü6ó	
ô —‘õð Ô;Õ;€Eä�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
7Ò
7Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r	   r   )r   s   "r   r   r     r   r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\        ,           p\        P                  ! R4      p\        P                  ! R	V4      p	\        P                   ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! W˜^ ,          4      R,          # )a'  
Encrypt the given ``message`` using the "legacy" construction
described in draft-agl-tls-chacha20poly1305.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
r   r   r   Nr   r   r   r   r    r!   r"   )r   r#   r   r$   r%   r&   Ú-crypto_aead_chacha20poly1305_MESSAGEBYTES_MAXr   r(   Ú&crypto_aead_chacha20poly1305_NPUBBYTESÚ%crypto_aead_chacha20poly1305_KEYBYTESr   r+   r,   r-   r   Ú$crypto_aead_chacha20poly1305_encryptr/   r0   r1   s   &&&&       r   rH   rH     s¦  € ô$ Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔ=Ñ=Ø/×6Ñ6Ü9ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Að 	AÜ�‹JÔ@Ñ@Ø6×=Ñ=Ü2ó	
ô —‘õô Ü�3œÓ÷ 	>ð 	>Ü�‹HÔ=Ñ=Ø4×;Ñ;Ü1ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ;Õ;€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
2Ò
2Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r:   r   )r   s   "r   r   r   e  r;   r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                  ! R4      p\        P                  ! R	V4      pV'       d   Tp\        V4      p	M\        P                  p^ p	\        P                   ! Wv\        P                  WW‰W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! Wv^ ,          4      R,          # )a8  
Decrypt the given ``ciphertext`` using the "legacy" construction
described in draft-agl-tls-chacha20poly1305.

:param ciphertext: authenticated ciphertext
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
r=   r   r>   Nr   r   r   r   r    r?   r"   )r   r#   r   r$   r%   r&   Ú%_aead_chacha20poly1305_CRYPTBYTES_MAXr   r(   rF   rG   Ú#crypto_aead_chacha20poly1305_ABYTESr   r-   r+   r   Ú$crypto_aead_chacha20poly1305_decryptr/   r0   rB   s   &&&&       r   rM   rM   e  s¦  € ô$ Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ5Ñ5Ø2×9Ñ9Ü1ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Að 	AÜ�‹JÔ@Ñ@Ø6×=Ñ=Ü2ó	
ô —‘õô Ü�3œÓ÷ 	>ð 	>Ü�‹HÔ=Ñ=Ø4×;Ñ;Ü1ó	
ô —‘õð Ô6Õ6€Eä�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
2Ò
2Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r	   r   )r   s   "r   r   r   ´  r   r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\        ,           p\        P                  ! R4      p\        P                  ! R	V4      p	\        P                   ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! W˜^ ,          4      R,          # )a  
Encrypt the given ``message`` using the long-nonces xchacha20poly1305
construction.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
r   r   r   Nr   r   r   r   r    r!   r"   )r   r#   r   r$   r%   r&   Ú3crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAXr   r(   Ú,crypto_aead_xchacha20poly1305_ietf_NPUBBYTESÚ+crypto_aead_xchacha20poly1305_ietf_KEYBYTESr   r+   Ú)crypto_aead_xchacha20poly1305_ietf_ABYTESr-   r   Ú*crypto_aead_xchacha20poly1305_ietf_encryptr/   r0   r1   s   &&&&       r   rT   rT   ´  s¨  € ô$ Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔCÑCØ/×6Ñ6Ü?ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Gð 	GÜ�‹JÔFÑFØ6×=Ñ=Ü8ó	
ô —‘õô Ü�3œÓ÷ 	Dð 	DÜ�‹HÔCÑCØ4×;Ñ;Ü7ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ<Õ<€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
8Ò
8Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r:   r   )r   s   "r   r   r     s?   € ÷ K+ñ K+ÜðK+Ü$¤U�OðK+Ü49ðK+Ü@EðK+ä
ñK+r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                  ! R4      p\        P                  ! R	V4      pV'       d   Tp\        V4      p	M\        P                  p^ p	\        P                   ! Wv\        P                  WW‰W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! Wv^ ,          4      R,          # )a!  
Decrypt the given ``ciphertext`` using the long-nonces xchacha20poly1305
construction.

:param ciphertext: authenticated ciphertext
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
r=   r   r>   Nr   r   r   r   r    r?   r"   )r   r#   r   r$   r%   r&   Ú+_aead_xchacha20poly1305_ietf_CRYPTBYTES_MAXr   r(   rQ   rR   rS   r   r-   r+   r   Ú*crypto_aead_xchacha20poly1305_ietf_decryptr/   r0   rB   s   &&&&       r   rX   rX     s¨  € ô$ Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ;Ñ;Ø2×9Ñ9Ü7ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	Gð 	GÜ�‹JÔFÑFØ6×=Ñ=Ü8ó	
ô —‘õô Ü�3œÓ÷ 	Dð 	DÜ�‹HÔCÑCØ4×;Ñ;Ü7ó	
ô —‘õð Ô<Õ<€EÜ�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
8Ò
8Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r	   r   )r   s   "r   r   r   Q  ó?   € ÷ K.ñ K.ÜðK.Ü!¤%�ðK.Ü16ðK.Ü=BðK.ä
ñK.r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\        ,           p\        P                  ! R4      p\        P                  ! R	V4      p	\        P                   ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! W˜^ ,          4      R,          # )zü
Encrypt the given ``message`` using the AEGIS-256
construction.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
r   r   r   Nr   r   r   r   r    r!   r"   )r   r#   r   r$   r%   r&   Ú%crypto_aead_aegis256_MESSAGEBYTES_MAXr   r(   Úcrypto_aead_aegis256_NPUBBYTESÚcrypto_aead_aegis256_KEYBYTESr   r+   Úcrypto_aead_aegis256_ABYTESr-   r   Úcrypto_aead_aegis256_encryptr/   r0   r1   s   &&&&       r   r`   r`   Q  sŸ  € ô$ Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔ5Ñ5Ø/×6Ñ6Ü1ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	9ð 	9Ü�‹JÔ8Ñ8Ø6×=Ñ=Ü*ó	
ô —‘õô Ü�3œÓ×LÐL¤3 s£8Ô/LÑ#LØ4×;Ñ;Ü)ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ.Õ.€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
*Ò
*Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r:   r   )r   s   "r   r   r   Ÿ  ó?   € ÷ J+ñ J+ÜðJ+Ü$¤U�OðJ+Ü49ðJ+Ü@EðJ+ä
ñJ+r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                  ! R4      p\        P                  ! R	V4      pV'       d   Tp\        V4      p	M\        P                  p^ p	\        P                   ! Wv\        P                  WW‰W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! Wv^ ,          4      R,          # )a  
Decrypt the given ``ciphertext`` using the AEGIS-256
construction.

:param ciphertext: authenticated ciphertext
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
r=   r   r>   Nr   r   r   r   r    r?   r"   )r   r#   r   r$   r%   r&   Ú_aead_aegis256_CRYPTBYTES_MAXr   r(   r]   r^   r_   r   r-   r+   r   Úcrypto_aead_aegis256_decryptr/   r0   rB   s   &&&&       r   re   re   Ÿ  sŸ  € ô$ Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ-Ñ-Ø2×9Ñ9Ü)ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	9ð 	9Ü�‹JÔ8Ñ8Ø6×=Ñ=Ü*ó	
ô —‘õô Ü�3œÓ×LÐL¤3 s£8Ô/LÑ#LØ4×;Ñ;Ü)ó	
ô —‘õð Ô.Õ.€EÜ�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
*Ò
*Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r	   r   )r   s   "r   r   r   ì  rZ   r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\        ,           p\        P                  ! R4      p\        P                  ! R	V4      p	\        P                   ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! W˜^ ,          4      R,          # )zý
Encrypt the given ``message`` using the AEGIS-128L
construction.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
r   r   r   Nr   r   r   r   r    r!   r"   )r   r#   r   r$   r%   r&   Ú&crypto_aead_aegis128l_MESSAGEBYTES_MAXr   r(   Úcrypto_aead_aegis128l_NPUBBYTESÚcrypto_aead_aegis128l_KEYBYTESr   r+   Úcrypto_aead_aegis128l_ABYTESr-   r   Úcrypto_aead_aegis128l_encryptr/   r0   r1   s   &&&&       r   rl   rl   ì  sŸ  € ô$ Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔ6Ñ6Ø/×6Ñ6Ü2ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	:ð 	:Ü�‹JÔ9Ñ9Ø6×=Ñ=Ü+ó	
ô —‘õô Ü�3œÓ×MÐM¤3 s£8Ô/MÑ#MØ4×;Ñ;Ü*ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ/Õ/€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
+Ò
+Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r:   r   )r   s   "r   r   r   :  rb   r   c                ó:  € \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                  ! R4      p\        P                  ! R	V4      pV'       d   Tp\        V4      p	M\        P                  p^ p	\        P                   ! Wv\        P                  WW‰W#4	      p
\        V
^ 8H  R
\        P"                  R7       \        P$                  ! Wv^ ,          4      R,          # )a  
Decrypt the given ``ciphertext`` using the AEGIS-128L
construction.

:param ciphertext: authenticated ciphertext
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
r=   r   r>   Nr   r   r   r   r    r?   r"   )r   r#   r   r$   r%   r&   rd   r   r(   ri   rj   rk   r   r-   r+   r   Úcrypto_aead_aegis128l_decryptr/   r0   rB   s   &&&&       r   ro   ro   :  sŸ  € ô$ Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ-Ñ-Ø2×9Ñ9Ü)ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	:ð 	:Ü�‹JÔ9Ñ9Ø6×=Ñ=Ü+ó	
ô —‘õô Ü�3œÓ×MÐM¤3 s£8Ô/MÑ#MØ4×;Ñ;Ü*ó	
ô —‘õð Ô/Õ/€EÜ�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
+Ò
+Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r	   r   )r   s   "r   r   r   ‡  s?   € ÷ R.ñ R.ÜðR.Ü!¤%�ðR.Ü16ðR.Ü=BðR.ä
ñR.r   c                óž  € \        \        P                  ! 4       ^8H  R\        P                  R7       \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V'       d   Tp\        V4      pM\        P                  p^ pV\         ,           p\        P"                  ! R	4      p\        P"                  ! R
V4      p	\        P$                  ! W˜WWV\        P                  W#4	      p
\        V
^ 8H  R\        P&                  R7       \        P(                  ! W˜^ ,          4      R,          # )aC  
Encrypt the given ``message`` using the AES-256-GCM
construction.  Requires the Intel AES-NI extensions,
or the ARM Crypto extensions.

:param message:
:type message: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: authenticated ciphertext
:rtype: bytes
ú+Construction requires hardware accelerationr   r   r   Nr   r   r   r   r    r!   r"   )r   r   Ú"crypto_aead_aes256gcm_is_availabler$   ÚUnavailableErrorr#   r   r%   r&   Ú&crypto_aead_aes256gcm_MESSAGEBYTES_MAXr   r(   Úcrypto_aead_aes256gcm_NPUBBYTESÚcrypto_aead_aes256gcm_KEYBYTESr   r+   Úcrypto_aead_aes256gcm_ABYTESr-   Úcrypto_aead_aes256gcm_encryptr/   r0   r1   s   &&&&       r   ry   ry   ‡  sÆ  € ô& Ü×.Ò.Ó0°AÑ5Ø5Ü×$Ñ$õô Ü�7œEÓ"Ø*Ü—‘õô ˆw‹<€Dä
ØÔ6Ñ6Ø/×6Ñ6Ü2ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	:ð 	:Ü�‹JÔ9Ñ9Ø6×=Ñ=Ü+ó	
ô —‘õô Ü�3œÓ×MÐM¤3 s£8Ô/MÑ#MØ4×;Ñ;Ü*ó	
ô —‘õ÷ ØˆÜ�C“‰ä�x‰xˆØˆàÔ/Õ/€Eä�7Š7Ð)Ó*€Dä—’Ð*¨EÓ2€Jä
×
+Ò
+Ø˜'¨´c·h±hÀó€Cô ˆ3�!‰8Ð)´3·?±?ÕCÜ�:Š:�j q¥'Ó*¨1Õ-Ð-r   c          
      ój   € V ^8„  d   QhR\         R\        \         ,          R\         R\         R\         /# r:   r   )r   s   "r   r   r   Ü  s?   € ÷ Q+ñ Q+ÜðQ+Ü$¤U�OðQ+Ü49ðQ+Ü@EðQ+ä
ñQ+r   c                óž  € \        \        P                  ! 4       ^8H  R\        P                  R7       \        \        V \        4      R\        P                  R7       \        V 4      p\        V\        8*  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       g    VRJ R\        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       \        \        V\        4      ;'       d    \        V4      \        8H  RP                  \        4      \        P                  R7       V\        ,
          p\        P                   ! R	4      p\        P                   ! R
V4      pV'       d   Tp\        V4      p	M\        P"                  p^ p	\        P$                  ! Wv\        P"                  WW‰W#4	      p
\        V
^ 8H  R\        P&                  R7       \        P(                  ! Wv^ ,          4      R,          # )aT  
Decrypt the given ``ciphertext`` using the AES-256-GCM
construction.  Requires the Intel AES-NI extensions,
or the ARM Crypto extensions.

:param ciphertext: authenticated ciphertext
:type ciphertext: bytes
:param aad:
:type aad: Optional[bytes]
:param nonce:
:type nonce: bytes
:param key:
:type key: bytes
:return: message
:rtype: bytes
rr   r   r=   r>   Nr   r   r   r   r    r?   r"   )r   r   rs   r$   rt   r#   r   r%   r&   rd   r   r(   rv   rw   rx   r   r-   r+   Úcrypto_aead_aes256gcm_decryptr/   r0   rB   s   &&&&       r   r|   r|   Ü  sÆ  € ô& Ü×.Ò.Ó0°AÑ5Ø5Ü×$Ñ$õô Ü�:œuÓ%Ø-Ü—‘õô ˆz‹?€Dä
ØÔ-Ñ-Ø2×9Ñ9Ü)ó	
ô —‘õô Ü�3œÓ×/Ð/ 3¨$ ;Ø/Ü—‘õô Ü�5œ%Ó ÷ 	:ð 	:Ü�‹JÔ9Ñ9Ø6×=Ñ=Ü+ó	
ô —‘õô Ü�3œÓ×MÐM¤3 s£8Ô/MÑ#MØ4×;Ñ;Ü*ó	
ô —‘õð Ô/Õ/€EÜ�7Š7Ð)Ó*€DÜ�gŠgÐ'¨Ó/€Gç
ØˆÜ�C“‰ä�x‰xˆØˆä
×
+Ò
+Ø”s—x‘x °4Àó€Cô ˆ3�!‰8Ð)´3·?±?ÕCä�:Š:�g A�wÓ'¨Õ*Ð*r   c                óÈ  € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R	&   ^	\         9   d
   \        ;R
&   ^
\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # )r
   r*   Ú+crypto_aead_chacha20poly1305_ietf_NSECBYTESr)   r,   r'   rG   Ú&crypto_aead_chacha20poly1305_NSECBYTESrF   rL   rE   rR   Ú,crypto_aead_xchacha20poly1305_ietf_NSECBYTESrQ   rS   rP   r^   Úcrypto_aead_aegis256_NSECBYTESr]   r_   r\   rj   Úcrypto_aead_aegis128l_NSECBYTESri   rk   rh   rw   Úcrypto_aead_aes256gcm_NSECBYTESrv   rx   ru   )Ú__conditional_annotations__Úint)r   s   "r   r   r      sª  € × Ñ ÷ò ¬Cñ ñ ÷ò ¬Sñ ñ ÷$ò ¬Sñ ñ% ÷*ò ¬#ñ ñ+ ÷0ò ´Cñ ñ1 ÷@ò ¤sñ ñA ÷Fò ¬ñ ñG ÷Lò ¬ñ ñM ÷Rò ¤Sñ ñS ÷Xò ¬sñ ñY ÷hò ¬Sñ ñi ÷nò ¬cñ ño ÷tò ¬cñ ñu ÷zò ¬3ñ ñ{ ÷@ò ´Sñ ñA ÷P IÒ HœsÑ HñQ ÷R KÒ J¤Ñ JñS ÷T KÒ J¤Ñ JñU ÷V EÒ DœSÑ DñW ÷Xò ¤sñ ñY ÷f KÒ J¤Ñ Jñg ÷h MÒ L¤Ñ Lñi ÷j MÒ L¤Ñ Lñk ÷l GÒ FœcÑ Fñm ÷nò ¬ñ ño ÷| KÒ J¤Ñ Jñ} ÷~ MÒ L¤Ñ Lñ ÷@ MÒ L¤Ñ LñA ÷B GÒ FœcÑ FñC ÷Dò ¬ñ òE r   N)Xr„   Útypingr   Únaclr   r$   Únacl._sodiumr   r   Únacl.exceptionsr   Ú*crypto_aead_chacha20poly1305_ietf_keybytesr*   Ú+crypto_aead_chacha20poly1305_ietf_nsecbytesr~   Ú+crypto_aead_chacha20poly1305_ietf_npubbytesr)   Ú(crypto_aead_chacha20poly1305_ietf_abytesr,   Ú2crypto_aead_chacha20poly1305_ietf_messagebytes_maxr'   r@   Ú%crypto_aead_chacha20poly1305_keybytesrG   Ú&crypto_aead_chacha20poly1305_nsecbytesr   Ú&crypto_aead_chacha20poly1305_npubbytesrF   Ú#crypto_aead_chacha20poly1305_abytesrL   Ú-crypto_aead_chacha20poly1305_messagebytes_maxrE   rK   Ú+crypto_aead_xchacha20poly1305_ietf_keybytesrR   Ú,crypto_aead_xchacha20poly1305_ietf_nsecbytesr€   Ú,crypto_aead_xchacha20poly1305_ietf_npubbytesrQ   Ú)crypto_aead_xchacha20poly1305_ietf_abytesrS   Ú3crypto_aead_xchacha20poly1305_ietf_messagebytes_maxrP   rW   Úcrypto_aead_aegis256_keybytesr^   Úcrypto_aead_aegis256_nsecbytesr�   Úcrypto_aead_aegis256_npubbytesr]   Úcrypto_aead_aegis256_abytesr_   Ú%crypto_aead_aegis256_messagebytes_maxr\   rd   Úcrypto_aead_aegis128l_keybytesrj   Úcrypto_aead_aegis128l_nsecbytesr‚   Úcrypto_aead_aegis128l_npubbytesri   Úcrypto_aead_aegis128l_abytesrk   Ú&crypto_aead_aegis128l_messagebytes_maxrh   Úcrypto_aead_aes256gcm_keybytesrw   Úcrypto_aead_aes256gcm_nsecbytesrƒ   Úcrypto_aead_aes256gcm_npubbytesrv   Úcrypto_aead_aes256gcm_abytesrx   Ú&crypto_aead_aes256gcm_messagebytes_maxru   r.   rA   rH   rM   rT   rX   r`   re   rl   ro   ry   r|   r   )r„   s   @r   Ú<module>r¨      s]  øð÷ Ò å "ß !Ý "ðð ×2Ò2Ó4ð +ó ð ×3Ò3Ó5ð ,ó ð ×3Ò3Ó5ð ,ó ð ×0Ò0Ó2ð )ó ð ×:Ò:Ó<ð 3ó ð 7Ø.õ/ð +ð ×-Ò-Ó/ð &ó ð ×.Ò.Ó0ð 'ó ð ×.Ò.Ó0ð 'ó ð ×+Ò+Ó-ð $ó ð ×5Ò5Ó7ð .ó ð 2Ø)õ*ð &ð ×3Ò3Ó5ð ,ó ð ×4Ò4Ó6ð -ó ð ×4Ò4Ó6ð -ó ð ×1Ò1Ó3ð *ó ð ×;Ò;Ó=ð 4ó ð 8Ø/õ0ð ,ð
 &)×%FÒ%FÓ%HÐ Ó HØ&)×&HÒ&HÓ&JÐ Ó JØ&)×&HÒ&HÓ&JÐ Ó JØ#&×#BÒ#BÓ#DÐ Ó Dà×-Ò-Ó/ð &ó ð *Ð,GÕGð ð '*×&HÒ&HÓ&JÐ Ó JØ'*×'JÒ'JÓ'LÐ Ó LØ'*×'JÒ'JÓ'LÐ Ó LØ$'×$DÒ$DÓ$FÐ Ó Fà×.Ò.Ó0ð 'ó ð +Ð-IÕIð ð '*×&HÒ&HÓ&JÐ Ó JØ'*×'JÒ'JÓ'LÐ Ó LØ'*×'JÒ'JÓ'LÐ Ó LØ$'×$DÒ$DÓ$FÐ Ó Fà×.Ò.Ó0ð 'ó ð +Ð-IÕIð õ
L.õ^L+õ^L.õ^L+õ^L.õ^K+õ\K.õ\J+õZK.õ\J+õZR.÷jQ+r   