
    #	h                       S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  \R                  \R                  \R                  \R                  \R                  4   r " S S\5      r " S S	\R&                  S
9r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    )annotationsN)	parseaddr)Name)ObjectIdentifierc                      \ rS rSrSrg)UnsupportedGeneralNameType    N)__name__
__module____qualname____firstlineno____static_attributes__r
       P/var/www/html/env/lib/python3.13/site-packages/cryptography/x509/general_name.pyr   r      s    r   r   c                  F    \ rS rSr\\R                  SS j5       5       rSrg)GeneralName   c                    g)z 
Return the value of the object
Nr
   selfs    r   valueGeneralName.value   s    r   r
   N)returnz
typing.Any)	r   r   r   r   propertyabcabstractmethodr   r   r
   r   r   r   r      s"      r   r   )	metaclassc                  d    \ rS rSrS
S jr\SS j5       r\SS j5       rSS jr	SS jr
SS jrSrg	)
RFC822Name$   c                    [        U[        5      (       a   UR                  S5        O[        S5      e[        U5      u  p#U(       d  U(       d  [	        S5      eXl        g ! [         a    [	        S5      ef = f)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)
isinstancestrencodeUnicodeEncodeError
ValueError	TypeErrorr   _value)r   r   nameaddresss       r   __init__RFC822Name.__init__%   su    eS!!W% 233!%(w 788 &  + s   A! !A7c                    U R                   $ Nr+   r   s    r   r   RFC822Name.value:       {{r   c                4    U R                  U 5      nXl        U$ r1   __new__r+   clsr   instances      r   _init_without_validation#RFC822Name._init_without_validation>       ;;s#r   c                $    SU R                   < S3$ )Nz<RFC822Name(value=)>r   r   s    r   __repr__RFC822Name.__repr__D   s    #DJJ>44r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   r    NotImplementedr   r   others     r   __eq__RFC822Name.__eq__G   s(    %,,!!zzU[[((r   c                ,    [        U R                  5      $ r1   hashr   r   s    r   __hash__RFC822Name.__hash__M       DJJr   r2   Nr   r&   r   Noner   r&   )r   r&   r   r    rF   objectr   boolr   intr   r   r   r   r.   r   r   classmethodr;   rA   rG   rL   r   r
   r   r   r    r    $   s>    *    
5) r   r    c                  d    \ rS rSrS
S jr\SS j5       r\SS j5       rSS jr	SS jr
SS jrSrg	)DNSNameQ   c                    [        U[        5      (       a   UR                  S5        O[        S5      eXl        g ! [         a    [	        S5      ef = f)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.   DNSName.__init__R   V    eS!!W% 233 &  + 	   ; Ac                    U R                   $ r1   r2   r   s    r   r   DNSName.valuea   r4   r   c                4    U R                  U 5      nXl        U$ r1   r6   r8   s      r   r;    DNSName._init_without_validatione   r=   r   c                $    SU R                   < S3$ )Nz<DNSName(value=r?   r@   r   s    r   rA   DNSName.__repr__k   s     b11r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   rZ   rD   r   rE   s     r   rG   DNSName.__eq__n   s(    %))!!zzU[[((r   c                ,    [        U R                  5      $ r1   rJ   r   s    r   rL   DNSName.__hash__t   rN   r   r2   NrO   rQ   )r   r&   r   rZ   rR   rU   rW   r
   r   r   rZ   rZ   Q   s>        
2) r   rZ   c                  d    \ rS rSrS
S jr\SS j5       r\SS j5       rSS jr	SS jr
SS jrSrg	)UniformResourceIdentifierx   c                    [        U[        5      (       a   UR                  S5        O[        S5      eXl        g ! [         a    [	        S5      ef = f)Nr#   zzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r$   r]   r^   s     r   r.   "UniformResourceIdentifier.__init__y   r`   ra   c                    U R                   $ r1   r2   r   s    r   r   UniformResourceIdentifier.value   r4   r   c                4    U R                  U 5      nXl        U$ r1   r6   r8   s      r   r;   2UniformResourceIdentifier._init_without_validation   r=   r   c                $    SU R                   < S3$ )Nz!<UniformResourceIdentifier(value=r?   r@   r   s    r   rA   "UniformResourceIdentifier.__repr__   s    24::.CCr   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   rm   rD   r   rE   s     r   rG    UniformResourceIdentifier.__eq__   s)    %!:;;!!zzU[[((r   c                ,    [        U R                  5      $ r1   rJ   r   s    r   rL   "UniformResourceIdentifier.__hash__   rN   r   r2   NrO   rQ   )r   r&   r   rm   rR   rU   rW   r
   r   r   rm   rm   x   s?        
D) r   rm   c                  P    \ rS rSrS	S jr\S
S j5       rSS jrSS jrSS jr	Sr
g)DirectoryName   c                P    [        U[        5      (       d  [        S5      eXl        g )Nzvalue must be a Name)r%   r   r*   r+   r^   s     r   r.   DirectoryName.__init__   s     %&&233r   c                    U R                   $ r1   r2   r   s    r   r   DirectoryName.value   r4   r   c                "    SU R                    S3$ )Nz<DirectoryName(value=r?   r@   r   s    r   rA   DirectoryName.__repr__   s    &tzzl"55r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   r|   rD   r   rE   s     r   rG   DirectoryName.__eq__   s(    %//!!zzU[[((r   c                ,    [        U R                  5      $ r1   rJ   r   s    r   rL   DirectoryName.__hash__   rN   r   r2   N)r   r   r   rP   )r   r   rQ   rR   rU   r   r   r   r   r.   r   r   rA   rG   rL   r   r
   r   r   r|   r|      s*      6) r   r|   c                  P    \ rS rSrS	S jr\S
S j5       rSS jrSS jrSS jr	Sr
g)RegisteredID   c                P    [        U[        5      (       d  [        S5      eXl        g )Nz!value must be an ObjectIdentifier)r%   r   r*   r+   r^   s     r   r.   RegisteredID.__init__   s!    %!122?@@r   c                    U R                   $ r1   r2   r   s    r   r   RegisteredID.value   r4   r   c                "    SU R                    S3$ )Nz<RegisteredID(value=r?   r@   r   s    r   rA   RegisteredID.__repr__   s    %djj\44r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   r   rD   r   rE   s     r   rG   RegisteredID.__eq__   s(    %..!!zzU[[((r   c                ,    [        U R                  5      $ r1   rJ   r   s    r   rL   RegisteredID.__hash__   rN   r   r2   N)r   r   r   rP   r   r   rQ   rR   rU   r   r
   r   r   r   r      s*      5) r   r   c                  Z    \ rS rSrS
S jr\SS j5       rSS jrSS jrSS jr	SS jr
Srg	)	IPAddress   c                    [        U[        R                  [        R                  [        R                  [        R
                  45      (       d  [        S5      eXl        g )Nzzvalue must be an instance of ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, or ipaddress.IPv6Network)r%   	ipaddressIPv4AddressIPv6AddressIPv4NetworkIPv6Networkr*   r+   r^   s     r   r.   IPAddress.__init__   sV    %%%%%%%%	
 
 (  r   c                    U R                   $ r1   r2   r   s    r   r   IPAddress.value   r4   r   c                "   [        U R                  [        R                  [        R                  45      (       a  U R                  R
                  $ U R                  R                  R
                  U R                  R                  R
                  -   $ r1   )r%   r   r   r   r   packednetwork_addressnetmaskr   s    r   _packedIPAddress._packed   sj    JJ..	0E0EF
 
 ::$$$ 

**11DJJ4F4F4M4MMr   c                "    SU R                    S3$ )Nz<IPAddress(value=r?   r@   r   s    r   rA   IPAddress.__repr__   s    "4::,b11r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r1   )r%   r   rD   r   rE   s     r   rG   IPAddress.__eq__   s(    %++!!zzU[[((r   c                ,    [        U R                  5      $ r1   rJ   r   s    r   rL   IPAddress.__hash__   rN   r   r2   N)r   _IPAddressTypesr   rP   )r   r   r   bytesrQ   rR   rU   )r   r   r   r   r.   r   r   r   rA   rG   rL   r   r
   r   r   r   r      s/    $  2) r   r   c                  d    \ rS rSrS
S jr\SS j5       r\SS j5       rSS jrSS jr	SS jr
Srg	)	OtherName   c                    [        U[        5      (       d  [        S5      e[        U[        5      (       d  [        S5      eXl        X l        g )Nz#type_id must be an ObjectIdentifierzvalue must be a binary string)r%   r   r*   r   _type_idr+   )r   type_idr   s      r   r.   OtherName.__init__   s?    '#344ABB%'';<<r   c                    U R                   $ r1   )r   r   s    r   r   OtherName.type_id  s    }}r   c                    U R                   $ r1   r2   r   s    r   r   OtherName.value  r4   r   c                >    SU R                    SU R                  < S3$ )Nz<OtherName(type_id=z, value=r?   )r   r   r   s    r   rA   OtherName.__repr__  s    $T\\N(4::.KKr   c                    [        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r1   )r%   r   rD   r   r   rE   s     r   rG   OtherName.__eq__  s:    %++!!||u}},Ju{{1JJr   c                D    [        U R                  U R                  45      $ r1   )rK   r   r   r   s    r   rL   OtherName.__hash__  s    T\\4::.//r   )r   r+   N)r   r   r   r   r   rP   r   r   rQ   rR   rU   )r   r   r   r   r.   r   r   r   rA   rG   rL   r   r
   r   r   r   r      s@        LK0r   r   )
__future__r   r   r   typingemail.utilsr   cryptography.x509.namer   cryptography.x509.oidr   Unionr   r   r   r   r   	Exceptionr   ABCMetar   r    rZ   rm   r|   r   r   r   r
   r   r   <module>r      s   
 # 
   ! ' 2,,	 	CKK *  * Z$ k $ N$  $ N K  0 ;  0+  + \0 0r   