+
    i=  c                  sP   ^ RI Ht ^ RIt^ RIHt ^ RIHt ]P                  P                  t	]P                  P                  t
]P                  P                  t]P                  P                  t ! R R]P                  R7      t]t]P!                  ]P                  P                  4        ! R R	]P                  R7      t]t]P!                  ]P                  P"                  4        ! R
 R]P                  R7      t]t]P!                  ]P                  P&                  4       R# )i    )annotationsN)openssl)_serializationc                  s    ] tR t^t]P
                  R R l4       t]P
                  R R l4       t]P
                  R R l4       tRt	R# )	DHParametersc                   V ^8  d   QhRR/#    returnDHPrivateKey format   "S/usr/lib64/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py__annotate__DHParameters.__annotate__   s      l     c                    R# )z'
Generates and returns a DHPrivateKey.
Nr	   self   &r   generate_private_keyZ!DHParameters.generate_private_key       r   c               $    V ^8  d   QhRRRRRR/# )r   encoding_serialization.Encodingr   z_serialization.ParameterFormatr   bytesr	   r
   r   r   r   r      s(      ) / 
	r   c                r   )z-
Returns the parameters serialized as bytes.
Nr	   r   r   r      &&&r   parameter_bytesZDHParameters.parameter_bytes   r   r   c               r   )r   r   DHParameterNumbersr	   r
   r   r   r   r   &   s      #5 r   c                r   )z
Returns a DHParameterNumbers.
Nr	   r   r   r   parameter_numbersZDHParameters.parameter_numbers%   r   r   r	   N)
__name__
__module____qualname____firstlineno__abcabstractmethodr   r   r   __static_attributes__r	   r   r   r   r      sN     
 	  	 r   r   )Z	metaclassc                  s   ] tR t^0t]]P                  R R l4       4       t]P                  R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       tRtR# )DHPublicKeyc               r   r   r   Zintr	   r
   r   r   r   DHPublicKey.__annotate__3         # r   c                r   z&
The bit length of the prime modulus.
Nr	   r   r   r   key_sizeZDHPublicKey.key_size1   r   r   c               r   r   r   r   r	   r
   r   r   r   r)   9         L r   c                r   )z:
The DHParameters object associated with this public key.
Nr	   r   r   r   
parametersZDHPublicKey.parameters8   r   r   c               r   )r   r   DHPublicNumbersr	   r
   r   r   r   r)   ?   s       r   c                r   )z
Returns a DHPublicNumbers.
Nr	   r   r   r   public_numbersZDHPublicKey.public_numbers>   r   r   c               r   )r   r   r   r   z_serialization.PublicFormatr   r   r	   r
   r   r   r   r)   E   s(      ) , 
	r   c                r   z&
Returns the key serialized as bytes.
Nr	   r   r   r   public_bytesZDHPublicKey.public_bytesD   r   r   c                    V ^8  d   QhRRRR/# )r   otherZobjectr   Zboolr	   r
   r   r   r   r)   O   s      F t r   c                r   )z
Checks equality.
Nr	   )r   r5      &&r   __eq__ZDHPublicKey.__eq__N   r   r   c               r   r   r   r'   r	   r
   r   r   r   r)   U   s      + r   c                r   z
Returns a copy.
Nr	   r   r   r   __copy__ZDHPublicKey.__copy__T   r   r   r	   N)r    r!   r"   r#   propertyr$   r%   r,   r/   r1   r3   r7   r:   r&   r	   r   r   r'   r'   0   s      
 	 
 	 
 	  	 
 	 r   r'   c                  sF   ] tR t^_t]]P                  R R l4       4       t]P                  R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       t]P                  R R l4       tRtR# )r   c               r   r(   r	   r
   r   r   r   DHPrivateKey.__annotate__b   r*   r   c                r   r+   r	   r   r   r   r,   ZDHPrivateKey.key_size`   r   r   c               r   r8   r	   r
   r   r   r   r<   h   s      K r   c                r   )z3
The DHPublicKey associated with this private key.
Nr	   r   r   r   
public_keyZDHPrivateKey.public_keyg   r   r   c               r   r-   r	   r
   r   r   r   r<   n   r.   r   c                r   )z;
The DHParameters object associated with this private key.
Nr	   r   r   r   r/   ZDHPrivateKey.parametersm   r   r   c               r4   )r   peer_public_keyr'   r   r   r	   r
   r   r   r   r<   t   s        r   c                r   )zV
Given peer's DHPublicKey, carry out the key exchange and
return shared key as bytes.
Nr	   )r   r>   r6   r   exchangeZDHPrivateKey.exchanges   r   r   c               r   )r   r   DHPrivateNumbersr	   r
   r   r   r   r<   {   s      !1 r   c                r   )z
Returns a DHPrivateNumbers.
Nr	   r   r   r   private_numbersZDHPrivateKey.private_numbersz   r   r   c               s(    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   z_serialization.PrivateFormatencryption_algorithmz)_serialization.KeySerializationEncryptionr   r   r	   r
   r   r   r   r<      s3      ) - H	
 
r   c                r   r2   r	   )r   r   r   rB   s   &&&&r   private_bytesZDHPrivateKey.private_bytes   r   r   c               r   r   r	   r
   r   r   r   r<      s      , r   c                r   r9   r	   r   r   r   r:   ZDHPrivateKey.__copy__   r   r   r	   N)r    r!   r"   r#   r;   r$   r%   r,   r=   r/   r?   rA   rC   r:   r&   r	   r   r   r   r   _   s      
 	 
 	 
 	  	 
 	  	 r   r   )Z
__future__r    r$   Z"cryptography.hazmat.bindings._rustr   Zrust_opensslZcryptography.hazmat.primitivesr   ZdhZgenerate_parametersr@   r0   r   ZABCMetar   ZDHParametersWithSerializationZregisterr'   ZDHPublicKeyWithSerializationr   ZDHPrivateKeyWithSerializationr	   r   r   <module>rD      s   
 # 
 F 9"oo99   ??33 //11!__77 S[[ 0 !-    loo22 3(CKK (V  +    \__00 10S[[ 0f !-    loo22 3r   