Ë
    ±éägf  ã                  ó¼   — d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZ d dlmZ dd„Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd	„Z G d
„ de«      Z G d„ de«      Zy)é    )ÚannotationsN)Úutils)ÚAlreadyFinalizedÚ
InvalidKey)Úconstant_timeÚhashesÚhmac)ÚKeyDerivationFunctionc                ó(   — | j                  dd¬«      S )Né   Úbig)ÚlengthÚ	byteorder)Úto_bytes)Úns    új/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.pyÚ_int_to_u32ber      s   € Ø�:‰:˜Q¨%ˆ:Ó0Ð0ó    c                ó|   — | j                   dz  }||kD  rt        d|› d�«      ‚|�t        j                  d|«       y y )Nl   ÿÿ zCannot derive keys larger than z bits.Ú	otherinfo)Údigest_sizeÚ
ValueErrorr   Ú_check_bytes)Ú	algorithmr   r   Ú
max_lengths       r   Ú_common_args_checksr      sL   € ð
 ×&Ñ&¨)Ñ4€JØ�
ÒÜÐ:¸:¸,ÀfÐMÓNÐNØÐÜ×Ñ˜;¨	Õ2ð r   c                ój  — t        j                  d| «       dg}d}d}||kD  r~ |«       }|j                  t        |«      «       |j                  | «       |j                  |«       |j	                  |j                  «       «       |t        |d   «      z  }|dz  }||kD  rŒ~dj                  |«      d | S )NÚkey_materialr   r   é   éÿÿÿÿ)r   Ú_check_byteslikeÚupdater   ÚappendÚfinalizeÚlenÚjoin)r   r   Úauxfnr   ÚoutputÚoutlenÚcounterÚhs           r   Ú_concatkdf_deriver,      sª   € ô 
×Ñ˜>¨<Ô8ØˆU€FØ€FØ€Gà
�6Š/Ù‹GˆØ	�‰”˜wÓ'Ô(Ø	�‰�ÔØ	�‰�ÔØ�‰�a—j‘j“lÔ#Ø”#�f˜R‘j“/Ñ!ˆØ�1‰ˆð �6‹/ð �8‰8�FÓ˜G˜VÐ$Ð$r   c                  ó>   — e Zd Z	 d	 	 	 	 	 	 	 dd„Zdd„Zd	d„Zd
d„Zy)ÚConcatKDFHashNc                ó^   — t        |||«       || _        || _        |�|nd| _        d| _        y )Nr   F)r   Ú
_algorithmÚ_lengthÚ
_otherinfoÚ_used)Úselfr   r   r   Úbackends        r   Ú__init__zConcatKDFHash.__init__7   s3   € ô 	˜I v¨yÔ9Ø#ˆŒØˆŒØ.7Ð.C¡ÈˆŒàˆ�
r   c                ó@   — t        j                  | j                  «      S ©N)r   ÚHashr0   ©r4   s    r   Ú_hashzConcatKDFHash._hashE   s   € Ü�{‰{˜4Ÿ?™?Ó+Ð+r   c                óŒ   — | j                   rt        ‚d| _         t        || j                  | j                  | j
                  «      S ©NT)r3   r   r,   r1   r;   r2   ©r4   r   s     r   ÚderivezConcatKDFHash.deriveH   ó8   € Ø�:Š:Ü"Ð"ØˆŒ
Ü Ø˜$Ÿ,™,¨¯
©
°D·O±Oó
ð 	
r   c                óZ   — t        j                  | j                  |«      |«      st        ‚y r8   ©r   Úbytes_eqr?   r   ©r4   r   Úexpected_keys      r   ÚverifyzConcatKDFHash.verifyP   ó'   € Ü×%Ñ% d§k¡k°,Ó&?ÀÔNÜÐð Or   r8   )r   úhashes.HashAlgorithmr   Úintr   úbytes | Noner5   ú
typing.Any)Úreturnzhashes.Hash©r   ÚbytesrL   rN   ©r   rN   rE   rN   rL   ÚNone)Ú__name__Ú
__module__Ú__qualname__r6   r;   r?   rF   © r   r   r.   r.   6   sA   „ ð #ðà'ðð ðð  ð	ð
 óó,ó
ôr   r.   c                  óB   — e Zd Z	 d	 	 	 	 	 	 	 	 	 dd„Zdd„Zd	d„Zd
d„Zy)ÚConcatKDFHMACNc                ó  — t        |||«       || _        || _        |�|nd| _        |j                  €t        |j                  › d�«      ‚|€d|j                  z  }nt        j                  d|«       || _	        d| _
        y )Nr   z is unsupported for ConcatKDFó    ÚsaltF)r   r0   r1   r2   Ú
block_sizeÚ	TypeErrorÚnamer   r   Ú_saltr3   )r4   r   r   rY   r   r5   s         r   r6   zConcatKDFHMAC.__init__V   sƒ   € ô 	˜I v¨yÔ9Ø#ˆŒØˆŒØ.7Ð.C¡ÈˆŒà×ÑÐ'Ü˜yŸ~™~Ð.Ð.KÐLÓMÐMàˆ<Ø˜Y×1Ñ1Ñ1‰Dä×Ñ˜v tÔ,àˆŒ
àˆ�
r   c                óV   — t        j                  | j                  | j                  «      S r8   )r	   ÚHMACr]   r0   r:   s    r   Ú_hmaczConcatKDFHMAC._hmaco   s   € Ü�y‰y˜Ÿ™ T§_¡_Ó5Ð5r   c                óŒ   — | j                   rt        ‚d| _         t        || j                  | j                  | j
                  «      S r=   )r3   r   r,   r1   r`   r2   r>   s     r   r?   zConcatKDFHMAC.deriver   r@   r   c                óZ   — t        j                  | j                  |«      |«      st        ‚y r8   rB   rD   s      r   rF   zConcatKDFHMAC.verifyz   rG   r   r8   )
r   rH   r   rI   rY   rJ   r   rJ   r5   rK   )rL   z	hmac.HMACrM   rO   )rQ   rR   rS   r6   r`   r?   rF   rT   r   r   rV   rV   U   sK   „ ð #ðà'ðð ðð ð	ð
  ðð óó26ó
ôr   rV   )r   rI   rL   rN   )r   rH   r   rI   r   rJ   rL   rP   )
r   rN   r   rI   r'   z'typing.Callable[[], hashes.HashContext]r   rN   rL   rN   )Ú
__future__r   ÚtypingÚcryptographyr   Úcryptography.exceptionsr   r   Úcryptography.hazmat.primitivesr   r   r	   Ú"cryptography.hazmat.primitives.kdfr
   r   r   r,   r.   rV   rT   r   r   ú<module>ri      s—   ðõ
 #ã å ß @ß FÑ FÝ Dó1ð	3Ø#ð	3àð	3ð ð	3ð 
ó		3ð%Øð%àð%ð 3ð%ð ð	%ð
 ó%ô.Ð)ô ô>'Ð)õ 'r   