
    .Ph                       d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 ej        ej        ej        ej        ej        f         Z G d de          Z G d d	ej        
          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    )annotationsN)	parseaddr)Name)ObjectIdentifierc                      e Zd ZdS )UnsupportedGeneralNameTypeN)__name__
__module____qualname__     ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/cryptography/x509/general_name.pyr   r      s        Dr   r   c                  @    e Zd Zeej        dd                        ZdS )GeneralNamereturn
typing.Anyc                    dS )z0
        Return the value of the object
        Nr   selfs    r   valuezGeneralName.value   s      r   N)r   r   )r	   r
   r   propertyabcabstractmethodr   r   r   r   r   r      s@            X  r   r   )	metaclassc                  ^    e Zd ZddZedd            Zedd            ZddZddZ	ddZ
dS )
RFC822Namer   strr   Nonec                   t          |t                    r4	 |                    d           n,# t          $ r t	          d          w xY wt          d          t          |          \  }}|s|st	          d          || _        d S )NasciizRFC822Name values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.value must be stringzInvalid rfc822name value)
isinstancer   encodeUnicodeEncodeError
ValueError	TypeErrorr   _value)r   r   nameaddresss       r   __init__zRFC822Name.__init__%   s    eS!! 
	4W%%%%%    +   2333!%((g 	9w 	9 7888	   - Ac                    | j         S Nr'   r   s    r   r   zRFC822Name.value:   
    {r   c                >    |                      |           }||_        |S r-   __new__r'   clsr   instances      r   _init_without_validationz#RFC822Name._init_without_validation>       ;;s##r   c                    d| j         dS )Nz<RFC822Name(value=)>r   r   s    r   __repr__zRFC822Name.__repr__D   s    4DJ4444r   otherobjectboolc                Z    t          |t                    st          S | j        |j        k    S r-   )r"   r   NotImplementedr   r   r<   s     r   __eq__zRFC822Name.__eq__G   s)    %,, 	"!!zU[((r   intc                *    t          | j                  S r-   hashr   r   s    r   __hash__zRFC822Name.__hash__M       DJr   Nr   r   r   r   r   r   )r   r   r   r   r<   r=   r   r>   r   rC   r	   r
   r   r*   r   r   classmethodr6   r;   rB   rG   r   r   r   r   r   $   s           *    X    [
5 5 5 5) ) ) )           r   r   c                  ^    e Zd ZddZedd            Zedd            ZddZddZ	ddZ
dS )DNSNamer   r   r   r   c                    t          |t                    r4	 |                    d           n,# t          $ r t	          d          w xY wt          d          || _        d S )Nr    z~DNSName values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r!   r"   r   r#   r$   r%   r&   r'   r   r   s     r   r*   zDNSName.__init__R   |    eS!! 
	4W%%%%%    +   2333r+   c                    | j         S r-   r.   r   s    r   r   zDNSName.valuea   r/   r   c                >    |                      |           }||_        |S r-   r1   r3   s      r   r6   z DNSName._init_without_validatione   r7   r   c                    d| j         dS )Nz<DNSName(value=r9   r:   r   s    r   r;   zDNSName.__repr__k   s    11111r   r<   r=   r>   c                Z    t          |t                    st          S | j        |j        k    S r-   )r"   rP   r@   r   rA   s     r   rB   zDNSName.__eq__n   s)    %)) 	"!!zU[((r   rC   c                *    t          | j                  S r-   rE   r   s    r   rG   zDNSName.__hash__t   rH   r   NrI   rJ   )r   r   r   rP   rK   rL   rM   r   r   r   rP   rP   Q   s               X    [
2 2 2 2) ) ) )           r   rP   c                  ^    e Zd ZddZedd            Zedd            ZddZddZ	ddZ
dS )UniformResourceIdentifierr   r   r   r   c                    t          |t                    r4	 |                    d           n,# t          $ r t	          d          w xY wt          d          || _        d S )Nr    zzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r!   rR   rS   s     r   r*   z"UniformResourceIdentifier.__init__y   rT   r+   c                    | j         S r-   r.   r   s    r   r   zUniformResourceIdentifier.value   r/   r   c                >    |                      |           }||_        |S r-   r1   r3   s      r   r6   z2UniformResourceIdentifier._init_without_validation   r7   r   c                    d| j         dS )Nz!<UniformResourceIdentifier(value=r9   r:   r   s    r   r;   z"UniformResourceIdentifier.__repr__   s    C4:CCCCr   r<   r=   r>   c                Z    t          |t                    st          S | j        |j        k    S r-   )r"   r[   r@   r   rA   s     r   rB   z UniformResourceIdentifier.__eq__   s*    %!:;; 	"!!zU[((r   rC   c                *    t          | j                  S r-   rE   r   s    r   rG   z"UniformResourceIdentifier.__hash__   rH   r   NrI   rJ   )r   r   r   r[   rK   rL   rM   r   r   r   r[   r[   x   s               X    [
D D D D) ) ) )           r   r[   c                  F    e Zd ZddZedd            ZddZddZddZdS )DirectoryNamer   r   r   r   c                \    t          |t                    st          d          || _        d S )Nzvalue must be a Name)r"   r   r&   r'   rS   s     r   r*   zDirectoryName.__init__   s.    %&& 	42333r   c                    | j         S r-   r.   r   s    r   r   zDirectoryName.value   r/   r   r   c                    d| j          dS )Nz<DirectoryName(value=r9   r:   r   s    r   r;   zDirectoryName.__repr__   s    5tz5555r   r<   r=   r>   c                Z    t          |t                    st          S | j        |j        k    S r-   )r"   rc   r@   r   rA   s     r   rB   zDirectoryName.__eq__   s)    %// 	"!!zU[((r   rC   c                *    t          | j                  S r-   rE   r   s    r   rG   zDirectoryName.__hash__   rH   r   N)r   r   r   r   )r   r   rJ   rK   rL   	r	   r
   r   r*   r   r   r;   rB   rG   r   r   r   rc   rc      s               X6 6 6 6) ) ) )           r   rc   c                  F    e Zd ZddZedd            ZddZddZddZdS )RegisteredIDr   r   r   r   c                \    t          |t                    st          d          || _        d S )Nz!value must be an ObjectIdentifier)r"   r   r&   r'   rS   s     r   r*   zRegisteredID.__init__   s0    %!122 	A?@@@r   c                    | j         S r-   r.   r   s    r   r   zRegisteredID.value   r/   r   r   c                    d| j          dS )Nz<RegisteredID(value=r9   r:   r   s    r   r;   zRegisteredID.__repr__   s    4dj4444r   r<   r=   r>   c                Z    t          |t                    st          S | j        |j        k    S r-   )r"   rk   r@   r   rA   s     r   rB   zRegisteredID.__eq__   s)    %.. 	"!!zU[((r   rC   c                *    t          | j                  S r-   rE   r   s    r   rG   zRegisteredID.__hash__   rH   r   N)r   r   r   r   r   r   rJ   rK   rL   ri   r   r   r   rk   rk      s               X5 5 5 5) ) ) )           r   rk   c                  N    e Zd ZddZedd            ZddZdd
ZddZddZ	dS )	IPAddressr   _IPAddressTypesr   r   c                    t          |t          j        t          j        t          j        t          j        f          st          d          || _        d S )Nzzvalue must be an instance of ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, or ipaddress.IPv6Network)r"   	ipaddressIPv4AddressIPv6AddressIPv4NetworkIPv6Networkr&   r'   rS   s     r   r*   zIPAddress.__init__   sZ    %%%%	
 
 	 (   r   c                    | j         S r-   r.   r   s    r   r   zIPAddress.value   r/   r   bytesc                    t          | j        t          j        t          j        f          r| j        j        S | j        j        j        | j        j        j        z   S r-   )r"   r   rv   rw   rx   packednetwork_addressnetmaskr   s    r   _packedzIPAddress._packed   sR    J.	0EF
 
 	 :$$ 
*1DJ4F4MMr   r   c                    d| j          dS )Nz<IPAddress(value=r9   r:   r   s    r   r;   zIPAddress.__repr__   s    14:1111r   r<   r=   r>   c                Z    t          |t                    st          S | j        |j        k    S r-   )r"   rs   r@   r   rA   s     r   rB   zIPAddress.__eq__   s)    %++ 	"!!zU[((r   rC   c                *    t          | j                  S r-   rE   r   s    r   rG   zIPAddress.__hash__   rH   r   N)r   rt   r   r   )r   rt   r   r|   rJ   rK   rL   )
r	   r
   r   r*   r   r   r   r;   rB   rG   r   r   r   rs   rs      s           $    X   2 2 2 2) ) ) )           r   rs   c                  ^    e Zd ZddZedd            Zedd	            ZddZddZddZ	dS )	OtherNametype_idr   r   r|   r   r   c                    t          |t                    st          d          t          |t                    st          d          || _        || _        d S )Nz#type_id must be an ObjectIdentifierzvalue must be a binary string)r"   r   r&   r|   _type_idr'   )r   r   r   s      r   r*   zOtherName.__init__   sX    '#344 	CABBB%'' 	=;<<<r   c                    | j         S r-   )r   r   s    r   r   zOtherName.type_id  s
    }r   c                    | j         S r-   r.   r   s    r   r   zOtherName.value  r/   r   r   c                (    d| j          d| j        dS )Nz<OtherName(type_id=z, value=r9   )r   r   r   s    r   r;   zOtherName.__repr__  s    KT\KK4:KKKKr   r<   r=   r>   c                z    t          |t                    st          S | j        |j        k    o| j        |j        k    S r-   )r"   r   r@   r   r   rA   s     r   rB   zOtherName.__eq__  s7    %++ 	"!!|u},Ju{1JJr   rC   c                8    t          | j        | j        f          S r-   )rF   r   r   r   s    r   rG   zOtherName.__hash__  s    T\4:.///r   N)r   r   r   r|   r   r   rq   r   rJ   rK   rL   )
r	   r
   r   r*   r   r   r   r;   rB   rG   r   r   r   r   r      s               X    XL L L LK K K K0 0 0 0 0 0r   r   )
__future__r   r   rv   typingemail.utilsr   cryptography.x509.namer   cryptography.x509.oidr   Unionrw   rx   ry   rz   rt   	Exceptionr   ABCMetar   r   rP   r[   rc   rk   rs   r   r   r   r   <module>r      s%  
 # " " " " " 



      ! ! ! ! ! ! ' ' ' ' ' ' 2 2 2 2 2 2,	 	 	 	 	 	 	 	    CK    *  *  *  *  *  *  *  * Z$  $  $  $  $ k $  $  $ N$  $  $  $  $  $  $  $ N         K      0         ;      0+  +  +  +  +  +  +  + \0 0 0 0 0 0 0 0 0 0r   