
    +h                    X    d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
  G d d      Zy)    )annotationsN)constant_time)InvalidToken)HOTPHOTPHashTypes_generate_uric                  T    e Zd Z	 	 d	 	 	 	 	 	 	 	 	 	 	 ddZddZd	dZ	 	 	 	 	 	 d
dZy)TOTPNc                :    || _         t        ||||      | _        y )N)enforce_key_length)
_time_stepr   _hotp)selfkeylength	algorithm	time_stepbackendr   s          `/var/www/html/venv/lib/python3.12/site-packages/cryptography/hazmat/primitives/twofactor/totp.py__init__zTOTP.__init__   s!     $7I

    c                h    t        || j                  z        }| j                  j                  |      S )N)intr   r   generate)r   timecounters      r   r   zTOTP.generate!   s*    dT__,-zz""7++r   c                d    t        j                  | j                  |      |      st        d      y )Nz#Supplied TOTP value does not match.)r   bytes_eqr   r   )r   totpr   s      r   verifyzTOTP.verify%   s-    %%dmmD&94@DEE Ar   c           
     `    t        | j                  d||dt        | j                        fg      S )Nr   period)r   r   r   r   )r   account_nameissuers      r   get_provisioning_urizTOTP.get_provisioning_uri)   s5     JJDOO,-.
 	
r   )NT)r   bytesr   r   r   r   r   r   r   z
typing.Anyr   bool)r   ztyping.Union[int, float]returnr&   )r   r&   r   r   r(   None)r#   strr$   ztyping.Optional[str]r(   r*   )__name__
__module____qualname__r   r   r    r%    r   r   r
   r
      sq     ##'

 
 !	

 
 
 !
,F	
	
)=	
		
r   r
   )
__future__r   typingcryptography.hazmat.primitivesr   (cryptography.hazmat.primitives.twofactorr   -cryptography.hazmat.primitives.twofactor.hotpr   r   r   r
   r.   r   r   <module>r4      s'   
 #  8 A  
  
r   