o )%aD @s ddlmZGdddeZdS))utilsc@sPeZdZdefddZddZddZdd Zd d Ze d d Z e dZ dS)ObjectIdentifier dotted_stringc Cs||_|jd}g}|D](}zt|d}Wnty$td|jw|dkr0td|j||q t|dkrCtd|j|ddkrPtd|j|ddkrc|d d kretd |jdSdS) N. z%Malformed OID: %s (non-integer nodes)rz*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_stringsplitint ValueErrorappendlen)selfrnodesintnodesnode node_valuer:/usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py__init__ sN     zObjectIdentifier.__init__cCst|tstS|j|jkSN) isinstancerNotImplementedrrotherrrr__eq__4s  zObjectIdentifier.__eq__cCs ||k Srrrrrr__ne__: zObjectIdentifier.__ne__cCsd|j|jS)Nz#)formatr_namerrrr__repr__=szObjectIdentifier.__repr__cCs t|jSr)hashrr"rrr__hash__BrzObjectIdentifier.__hash__cCsddlm}||dS)Nr) _OID_NAMESz Unknown OID)cryptography.x509.oidr&get)rr&rrrr!Es  zObjectIdentifier._namer N)__name__ __module__ __qualname__strrrrr#r%propertyr!rread_only_propertyrrrrrr s* rN) cryptographyrobjectrrrrrs