<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
l_              
   @   sZ  d dl mZmZmZ d dlZd dlZd dlmZ d dlZd dl	m
Z
 d dlmZ d dlmZ ddd	d
dddddd	ZG dd deZejejG dd deZe
jeG dd deZe
jeG dd deZe
jeG dd deZe
jeG dd deZe
jeG dd deZe
jeG dd  d eZe
jeG d!d" d"eZdS )#    )absolute_importdivisionprint_functionN)	parseaddr)utils)Name)ObjectIdentifierZ	otherNameZ
rfc822NameZdNSNameZx400AddressZdirectoryNameZediPartyNameZuniformResourceIdentifierZ	iPAddressZregisteredID)	r                           c                   s   e Zd Z fddZ  ZS )UnsupportedGeneralNameTypec                s   t t| j| || _d S )N)superr   __init__type)selfmsgr   )	__class__ $/usr/lib64/python3.6/general_name.pyr       s    z#UnsupportedGeneralNameType.__init__)__name__
__module____qualname__r   __classcell__r   r   )r   r   r      s   r   c               @   s   e Zd Zejdd ZdS )GeneralNamec             C   s   dS )z0
        Return the value of the object
        Nr   )r   r   r   r   value'   s    zGeneralName.valueN)r   r   r   abcabstractpropertyr   r   r   r   r   r   %   s   r   c               @   sJ   e Zd Zdd ZejdZedd Zdd Z	dd	 Z
d
d Zdd ZdS )
RFC822Namec             C   sj   t |tjr:y|jd W qB tk
r6   tdY qBX ntdt|\}}|sX| r`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.zvalue must be stringzInvalid rfc822name value)	
isinstancesix	text_typeencodeUnicodeEncodeError
ValueError	TypeErrorr   _value)r   r   nameZaddressr   r   r   r   0   s    
zRFC822Name.__init__r+   c             C   s   | j | }||_|S )N)__new__r+   )clsr   instancer   r   r   _init_without_validationG   s    
z#RFC822Name._init_without_validationc             C   s   dj | jS )Nz<RFC822Name(value={0!r})>)formatr   )r   r   r   r   __repr__M   s    zRFC822Name.__repr__c             C   s   t |tstS | j|jkS )N)r$   r"   NotImplementedr   )r   otherr   r   r   __eq__P   s    
zRFC822Name.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   __ne__V   s    zRFC822Name.__ne__c             C   s
   t | jS )N)hashr   )r   r   r   r   __hash__Y   s    zRFC822Name.__hash__N)r   r   r   r   r   read_only_propertyr   classmethodr0   r2   r5   r6   r8   r   r   r   r   r"   .   s   
r"   c               @   sJ   e Zd Zdd ZejdZedd Zdd Z	dd	 Z
d
d Zdd ZdS )DNSNamec             C   sL   t |tjr:y|jd W qB tk
r6   tdY qBX n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.zvalue must be string)r$   r%   r&   r'   r(   r)   r*   r+   )r   r   r   r   r   r   _   s    zDNSName.__init__r+   c             C   s   | j | }||_|S )N)r-   r+   )r.   r   r/   r   r   r   r0   p   s    
z DNSName._init_without_validationc             C   s   dj | jS )Nz<DNSName(value={0!r})>)r1   r   )r   r   r   r   r2   v   s    zDNSName.__repr__c             C   s   t |tstS | j|jkS )N)r$   r;   r3   r   )r   r4   r   r   r   r5   y   s    
zDNSName.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6      s    zDNSName.__ne__c             C   s
   t | jS )N)r7   r   )r   r   r   r   r8      s    zDNSName.__hash__N)r   r   r   r   r   r9   r   r:   r0   r2   r5   r6   r8   r   r   r   r   r;   ]   s   
r;   c               @   sJ   e Zd Zdd ZejdZedd Zdd Z	dd	 Z
d
d Zdd ZdS )UniformResourceIdentifierc             C   sL   t |tjr:y|jd W qB tk
r6   tdY qBX n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.zvalue must be string)r$   r%   r&   r'   r(   r)   r*   r+   )r   r   r   r   r   r      s    z"UniformResourceIdentifier.__init__r+   c             C   s   | j | }||_|S )N)r-   r+   )r.   r   r/   r   r   r   r0      s    
z2UniformResourceIdentifier._init_without_validationc             C   s   dj | jS )Nz(<UniformResourceIdentifier(value={0!r})>)r1   r   )r   r   r   r   r2      s    z"UniformResourceIdentifier.__repr__c             C   s   t |tstS | j|jkS )N)r$   r<   r3   r   )r   r4   r   r   r   r5      s    
z UniformResourceIdentifier.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6      s    z UniformResourceIdentifier.__ne__c             C   s
   t | jS )N)r7   r   )r   r   r   r   r8      s    z"UniformResourceIdentifier.__hash__N)r   r   r   r   r   r9   r   r:   r0   r2   r5   r6   r8   r   r   r   r   r<      s   
r<   c               @   s>   e Zd Zdd ZejdZdd Zdd Zdd	 Z	d
d Z
dS )DirectoryNamec             C   s   t |tstd|| _d S )Nzvalue must be a Name)r$   r   r*   r+   )r   r   r   r   r   r      s    
zDirectoryName.__init__r+   c             C   s   dj | jS )Nz<DirectoryName(value={})>)r1   r   )r   r   r   r   r2      s    zDirectoryName.__repr__c             C   s   t |tstS | j|jkS )N)r$   r=   r3   r   )r   r4   r   r   r   r5      s    
zDirectoryName.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6      s    zDirectoryName.__ne__c             C   s
   t | jS )N)r7   r   )r   r   r   r   r8      s    zDirectoryName.__hash__N)r   r   r   r   r   r9   r   r2   r5   r6   r8   r   r   r   r   r=      s   
r=   c               @   s>   e Zd Zdd ZejdZdd Zdd Zdd	 Z	d
d Z
dS )RegisteredIDc             C   s   t |tstd|| _d S )Nz!value must be an ObjectIdentifier)r$   r   r*   r+   )r   r   r   r   r   r      s    
zRegisteredID.__init__r+   c             C   s   dj | jS )Nz<RegisteredID(value={})>)r1   r   )r   r   r   r   r2      s    zRegisteredID.__repr__c             C   s   t |tstS | j|jkS )N)r$   r>   r3   r   )r   r4   r   r   r   r5      s    
zRegisteredID.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6      s    zRegisteredID.__ne__c             C   s
   t | jS )N)r7   r   )r   r   r   r   r8      s    zRegisteredID.__hash__N)r   r   r   r   r   r9   r   r2   r5   r6   r8   r   r   r   r   r>      s   
r>   c               @   s>   e Zd Zdd ZejdZdd Zdd Zdd	 Z	d
d Z
dS )	IPAddressc             C   s,   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$   	ipaddressZIPv4AddressZIPv6AddressZIPv4NetworkZIPv6Networkr*   r+   )r   r   r   r   r   r      s    
zIPAddress.__init__r+   c             C   s   dj | jS )Nz<IPAddress(value={})>)r1   r   )r   r   r   r   r2      s    zIPAddress.__repr__c             C   s   t |tstS | j|jkS )N)r$   r?   r3   r   )r   r4   r   r   r   r5      s    
zIPAddress.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6     s    zIPAddress.__ne__c             C   s
   t | jS )N)r7   r   )r   r   r   r   r8     s    zIPAddress.__hash__N)r   r   r   r   r   r9   r   r2   r5   r6   r8   r   r   r   r   r?      s   
r?   c               @   sH   e Zd Zdd ZejdZejdZdd Zdd Z	d	d
 Z
dd ZdS )	OtherNamec             C   s4   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*   bytes_type_idr+   )r   type_idr   r   r   r   r     s    

zOtherName.__init__rC   r+   c             C   s   dj | j| jS )Nz#<OtherName(type_id={}, value={!r})>)r1   rD   r   )r   r   r   r   r2     s    zOtherName.__repr__c             C   s&   t |tstS | j|jko$| j|jkS )N)r$   rA   r3   rD   r   )r   r4   r   r   r   r5     s    
zOtherName.__eq__c             C   s
   | |k S )Nr   )r   r4   r   r   r   r6   "  s    zOtherName.__ne__c             C   s   t | j| jfS )N)r7   rD   r   )r   r   r   r   r8   %  s    zOtherName.__hash__N)r   r   r   r   r   r9   rD   r   r2   r5   r6   r8   r   r   r   r   rA   	  s   	

rA   )Z
__future__r   r   r   r    r@   Zemail.utilsr   r%   Zcryptographyr   Zcryptography.x509.namer   Zcryptography.x509.oidr   Z_GENERAL_NAMES	Exceptionr   Zadd_metaclassABCMetaobjectr   Zregister_interfacer"   r;   r<   r=   r>   r?   rA   r   r   r   r   <module>   sB   .((%