o
    xi                     @  s   d dl mZ d dlZd dlZd dlZejdk r(d dlZejdk r$ejZnejZnejZd dlm	Z	 ej
dddZe
d	Ze	jZd ddZd!ddZd"ddZejdk raejddd#ddZdS ejddd#ddZdS )$    )annotationsN)      )r   	   )declarative_asn1TT)	covariantU
field_type
typing.Any
field_namestrreturndeclarative_asn1.AnnotatedTypec                 C  sL   t  }t| dr| j}t|t jstd| |S t | }t ||S )N__asn1_root__zunsupported root type: )r   
Annotationhasattrr   
isinstanceAnnotatedType	TypeErrornon_root_python_to_rust)r
   r   
annotationannotated_rootrust_field_type r   }/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/cryptography/hazmat/asn1/asn1.py_normalize_field_type!   s   

r   
raw_fieldsdict[str, type])dict[str, declarative_asn1.AnnotatedType]c                 C  s,   i }|   D ]\}}t||}|||< q|S )N)itemsr   )r   fieldsr   r
   annotated_field_typer   r   r   _annotate_fields1   s
   

r#   clstype[U]Nonec                 C  s:   t | dd}ttj| t|t }t| d| d S )NT)include_extrasr   )get_type_hintsr   r   TypeSequencer#   r   setattr)r$   r   rootr   r   r   _register_asn1_sequence>   s   r-   )kw_only_defaultc                 C  s@   t jdkrtjddddd| }n	tjddd| }t| |S )N)r   
   FTrepreq
match_argskw_only)r1   r2   )sysversion_infodataclasses	dataclassr-   r$   dataclass_clsr   r   r   sequenceP   s"   
	r;   c                 C  s"   t jddddd| }t| |S )NFTr0   )r7   r8   r-   r9   r   r   r   r;   i   s   )r
   r   r   r   r   r   )r   r   r   r   )r$   r%   r   r&   )r$   r%   r   r%   )
__future__r   r7   r5   typingr6   typing_extensionsr(   "cryptography.hazmat.bindings._rustr   TypeVarr   r	   
encode_derr   r#   r-   dataclass_transformr;   r   r   r   r   <module>   s,   








