
    ":h^                        d dl mZ ddlmZmZ  G d de      Zd Z G d d      Z ed	ej                  ej                  d
d      Z edej                  ej                  dd      Z edej                  ej                   dd      Z edej$                  ej&                  dd      Z edej*                  ej,                  dd      Z edej0                  ej2                  dd      ZeeeeeegZd Zy)    )division   )derecdsac                       e Zd Zy)UnknownCurveErrorN)__name__
__module____qualname__     _/var/www/html/turnos/venv/lib/python3.12/site-packages/ccxt/static_dependencies/ecdsa/curves.pyr   r      s    r   r   c                 *    dt        d| z        z   dz  S )Nr   z%x   )len)orders    r   orderlenr   
   s    c$,!##r   c                       e Zd ZddZy)CurveNc                 &   || _         || _        || _        || _        |j	                         | _        t        | j                        | _        d| j                  z  | _        d| j                  z  | _        || _	        t        j                  | | _        y )Nr   )nameopenssl_namecurve	generatorr   r   baselenverifying_key_lengthsignature_lengthoidr   
encode_oidencoded_oid)selfr   r   r   r   r   s         r   __init__zCurve.__init__   su    	(
"__&


+$%dllN! !$,,>>3/r   )N)r	   r
   r   r"   r   r   r   r   r      s    
0r   r   NIST192p)r   r   H  ='     r   r   
prime192v1NIST224p)r   r&      r   !   	secp224r1NIST256p)r   r   r$   r%   r&   r      
prime256v1NIST384p)r   r&   r)   r   "   	secp384r1NIST521p)r   r&   r)   r   #   	secp521r1	SECP256k1)r   r&   r)   r   
   	secp256k1c           	          t         D ]  }|j                  | k(  s|c S  t        d| dt         D cg c]  }|j                   c}      c c}w )Nz&I don't know about the curve with oid z.I only know about these: )curvesr   r   r   )	oid_curvecs     r   
find_curver<   2   sP     55IH &(@A(@B C C(@s   AN)
__future__r    r   r   	Exceptionr   r   r   	curve_192generator_192r#   	curve_224generator_224r(   	curve_256generator_256r,   	curve_384generator_384r/   	curve_521generator_521r2   curve_secp256k1generator_secp256k1r5   r9   r<   r   r   r   <module>rL      s    		 	$
0 0 U__$$,l< U__$$#[2 U__$$,l< U__$$#[2 U__$$#[2 +u44++$k3	 Hh(I	FCr   