File: //usr/lib/python3/dist-packages/cryptography/hazmat/__pycache__/_oid.cpython-38.pyc
U
�)%aD � @ s d dl mZ G dd� de�ZdS )� )�utilsc @ sP e Zd Zed�dd�Zdd� Zdd� Zdd � Zd
d� Ze dd
� �Z
e�d�Z
dS )�ObjectIdentifier)�
dotted_stringc C s� || _ | j �d�}g }|D ]V}zt|d�}W n" tk
rN td| j ��Y nX |dk rftd| j ��|�|� qt|�dk r�td| j ��|d dkr�td| j ��|d dk r�|d d
kr�td| j ��d S )N�.�
z%Malformed OID: %s (non-integer nodes)r z*Malformed OID: %s (negative-integer nodes)� z0Malformed OID: %s (insufficient number of nodes)z2Malformed OID: %s (first node outside valid range)� �( z3Malformed OID: %s (second node outside valid range))�_dotted_string�split�int�
ValueError�append�len)�selfr ZnodesZintnodes�nodeZ
node_value� r �:/usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py�__init__
sJ ��
��������zObjectIdentifier.__init__c C s t |t�stS | j|jkS �N)�
isinstancer �NotImplementedr �r �otherr r r �__eq__4 s
zObjectIdentifier.__eq__c C s
| |k S r r r r r r �__ne__: s zObjectIdentifier.__ne__c C s d� | j| j�S )Nz#<ObjectIdentifier(oid={}, name={})>)�formatr �_name�r r r r �__repr__= s �zObjectIdentifier.__repr__c C s
t | j�S r )�hashr r r r r �__hash__B s zObjectIdentifier.__hash__c C s ddl m} |�| d�S )Nr )�
_OID_NAMESzUnknown OID)�cryptography.x509.oidr"