U &�.e3w�@sddlZddlZddlmZdZejdkr4dZZn ddlZe��Z e dkZe dkZdd d d g\Z Z Z Z eZeZGd d �d e�ZGdd�d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zdaada z ddl!Z!Wne"k �rdZ!YnXd$d%�Z#d&d'�Z$d(d)�Z%d*d+�Z&e�rBeegZ'nJejd,k�rZeeegZ'n2ejd-k�rpeegZ'ne�r~egZ'neeeeegZ'ej(d.k�r�e$ge'Z)nej(d/k�r�e%ge'Z)ne'Z)da*dd0�d1d2�Z+da,d?d3d4�Z-d5d6�Z.d7d8�Z/d9d:�Z0ed;�Z1ed<�Z2ed=�Z3ed>�Z4dS)@�N)�EnumzKa-Ping Yee )�win32�darwinFZAIXZLinuxzreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc@seZdZdZdZdZdS)�SafeUUIDr�����N)�__name__� __module__� __qualname__ZsafeZunsafe�unknown�r r �/usr/lib64/python3.8/uuid.pyrHsrc@s6eZdZdZd| B}|d!>| d">B| d#>B|d$>B| B}|dk �rDd|k�r:d%d&>k�sDntd'��|dk �r�d%|k�rfdk�spntd(��|d)M}|d*O}|d+M}||d,>O}t� |d-|�t� |d.|�dS)/N�zGone of the hex, bytes, bytes_le, fields, or int arguments must be givenzurn:�zuuid:z{}�-� z$badly formed hexadecimal UUID string�z bytes_le is not a 16-char string�r���zbytes is not a 16-char string�big)� byteorder�zfields is not a 6-tuplerlz*field 1 out of range (need a 32-bit value)iz*field 2 out of range (need a 16-bit value)z*field 3 out of range (need a 16-bit value)�z*field 4 out of range (need an 8-bit value)z*field 5 out of range (need an 8-bit value)�z*field 6 out of range (need a 48-bit value)�`�P�@�0��z*int is out of range (need a 128-bit value)zillegal version numberl���� �l�����Lrr) �count� TypeError�replace�strip�len� ValueError�int_� from_bytes�object� __setattr__)�self�hex�bytes�bytes_le�fieldsr�versionr�time_low�time_mid�time_hi_version�clock_seq_hi_variant� clock_seq_low�node� clock_seqr r r �__init__�sx     � �  � ���   z UUID.__init__cCs&d|ji}|jtjkr"|jj|d<|S�Nrr)rrrr �value)r1�dr r r � __getstate__�s   zUUID.__getstate__cCs:t�|d|d�t�|dd|kr.t|d�ntj�dSr?)r/r0rr )r1�stater r r � __setstate__�s ��zUUID.__setstate__cCst|t�r|j|jkStS�N�� isinstancer r�NotImplemented�r1�otherr r r �__eq__�s  z UUID.__eq__cCst|t�r|j|jkStSrErFrIr r r �__lt__�s  z UUID.__lt__cCst|t�r|j|jkStSrErFrIr r r �__gt__�s  z UUID.__gt__cCst|t�r|j|jkStSrErFrIr r r �__le__�s  z UUID.__le__cCst|t�r|j|jkStSrErFrIr r r �__ge__s  z UUID.__ge__cCs t|j�SrE)�hashr�r1r r r �__hash__sz UUID.__hash__cCs|jSrE�rrQr r r �__int__sz UUID.__int__cCsd|jjt|�fS)Nz%s(%r))� __class__r�strrQr r r �__repr__ sz UUID.__repr__cCs td��dS)NzUUID objects are immutable)r()r1�namer@r r r r0szUUID.__setattr__cCsDd|j}d|dd�|dd�|dd�|dd�|dd�fS)N�%032xz%s-%s-%s-%s-%sr� r�rS)r1r2r r r �__str__s  �z UUID.__str__cCs|j�dd�S)Nrr)r�to_bytesrQr r r r3sz UUID.bytescCs<|j}|ddd�|ddd�|ddd�|dd�S)Nrrrrr�r3)r1r3r r r r4s( �z UUID.bytes_lecCs|j|j|j|j|j|jfSrE)r7r8r9r:r;r<rQr r r r5 s  �z UUID.fieldscCs |jd?S)NrrSrQr r r r7%sz UUID.time_lowcCs|jd?d@S)Nr ���rSrQr r r r8)sz UUID.time_midcCs|jd?d@S)Nr!r_rSrQr r r r9-szUUID.time_hi_versioncCs|jd?d@S)N�8��rSrQr r r r:1szUUID.clock_seq_hi_variantcCs|jd?d@S)Nr"rarSrQr r r r;5szUUID.clock_seq_lowcCs|jd@d>|jd>B|jBS)N��r"r)r9r8r7rQr r r �time9s  ��z UUID.timecCs|jd@d>|jBS)N�?r)r:r;rQr r r r=>s �zUUID.clock_seqcCs |jd@S)Nl���rSrQr r r r<Csz UUID.nodecCs d|jS)NrYrSrQr r r r2GszUUID.hexcCs dt|�S)Nz urn:uuid:)rVrQr r r �urnKszUUID.urncCs2|jd@stS|jd@stS|jd@s*tStSdS)Nr%ll)r� RESERVED_NCS�RFC_4122�RESERVED_MICROSOFT�RESERVED_FUTURErQr r r �variantOs   z UUID.variantcCs |jtkrt|jd?d@�SdS)Nr&�)rjrgrrQr r r r6Zs z UUID.version)NNNNNN)#rrr � __slots__rr r>rBrDrKrLrMrNrOrRrTrWr0r\�propertyr3r4r5r7r8r9r:r;rcr=r<r2rerjr6r r r r r Nsb4�� V              r c Gs�ddl}ddl}ddl}|�|�}|dkrP|j�d�}|j||d�}|dkrPdSt|j�}d|d<|j|f||j |j |d�}|S)Nr)z/sbinz /usr/sbin)�path�C�LC_ALL)�stdout�stderr�env) �os�shutil� subprocessZwhich�pathsep�join�dict�environ�Popen�PIPEZDEVNULL) �command�argsrtrurv� executablernrs�procr r r �_popen`s    �r�cCs |d@ S)Nlr ��macr r r � _is_universal�sr�c Cs�d}z�t|f|����}|s"WdS|��|jD]�}|������}tt|��D]x}|||krNzN|||�} t| �dd�d�} t | �r�| WW5QR�WS|p�| }WqNt t fk r�YqNXqNq.W5QRXWnt k r�YnX|p�dS)N�:�r) r��splitrq�lower�rstrip�ranger+rr)r�r,� IndexError�OSError) r}r~Zhw_identifiersZ get_index�first_local_macr��line�words�i�wordr�r r r � _find_mac�s*    r�cCs4d}dD]&}td||dd��}|r*|SdSdS)N)shwaddrsethersaddress:slladdr)rz-az-avZifconfigcSs|dS�Nr#r �r�r r r ��r�z#_ifconfig_getnode..�r�)�keywordsr~r�r r r �_ifconfig_getnode�s r�cCs tdddgdd��}|r|SdS)NZip�links link/ethercSs|dSr�r r�r r r r��r�z_ip_getnode..r�r�r r r � _ip_getnode�sr�cCs�ddl}ddl}z|�|���}Wntk r8YdSXtdd|�|�gdd��}|r\|Stdd|�|�gdd��}|r~|Stdd|�d|�gdd��}|r�|SdS) NrZarpz-ancSsdS)Nrr r�r r r r��r�z_arp_getnode..cSs|dSr�r r�r r r r��r�z(%s)cSs|dS)N�r r�r r r r��r�)rt�socketZ gethostbynameZ gethostnamer�r��fsencode)rtr�Zip_addrr�r r r � _arp_getnode�s"�r�cCstdddgdd��S)NZlanscanz-aislan0cSsdS)Nrr r�r r r r��r�z"_lanscan_getnode..r�r r r r �_lanscan_getnode�sr�c Cs&d}�z�tdd�}|sWdS|��|j������}z|�d�}Wn"tk rdYW5QR�WdSX|jD]�}zl|����}||}t|�dkr�|�d�dkr�t |� dd�d�}t |�r�|WW5QR�WS|p�|}Wqltt fk r�YqlXqlW5QRXWnt k �rYnX|�p$dS) NZnetstatz-iasAddress�r�rr�r)r�rq�readliner�r��indexr,r+r'rr)r�r�r�)r�r�r�r�r�r�r�r r r �_netstat_getnode�s2    r�c Cs<ddl}ddl}ddl}d}dddg}z:ddl}|�d�}|jj�|d�|�d|j � d��Wn YnX|D]�}z$|j |j � |d�dg|jd d �}Wntk r�YqrYnX|�r|jD]d} | �d �d ����} |�d | �r�t| �dd�d�} t| ��r| W5QR�S|�p"| }q�W5QRXqr|�p:dS)Nrrzc:\windows\system32zc:\winnt\system32i,�mbcsZipconfigz/allZoem)rq�encoding�:rz((?:[0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]rr)rt�rerv�ctypes�create_string_buffer�windllZkernel32ZGetSystemDirectoryA�insertr@�decoder{rnrxr|r�rqr�r*r�� fullmatchrr)r�) rtr�rvr��dirsr��buffer�dirr�r�r@r�r r r �_ipconfig_getnode�s6  �     r�c Cs6ddl}ddl}d}|��}|j|_|��|_}|��|�|�dkrLdS|� �t |j �D]�}|� �|j |_t|j|�|_|�|�dkr�q^|� �|j|_t|j|�|_d�d�|_|��|_}|�|�dkr�q^|� �|jdd�}t|�dk�rq^t�|d�}t|��r |S|�p(|}q^|�p4dS)Nr�*rrr)� win32wnet�netbiosZNCBZNCBENUMZCommandZ LANA_ENUMZBufferZ_packZNetbiosZ_unpackr�ZlengthZResetZNCBRESET�ordZlanaZLana_numZNCBASTAT�ljustZCallnameZADAPTER_STATUSZadapter_addressr+rr.r�) r�r�r�ZncbZadaptersr�Zstatusr3r�r r r �_netbios_getnode s>    r�c s�tdk r dSdatjdkr8tt��j�d�d�dkr8ntdk rPtj a tj adSz�ddl �ddl �dg}tj�d�s~|�d�|D]�}z���j�|��}Wntk r�Yq�YnXt|d �r�|j���fd d �a d a�q q�t|d �r�|j�d�_��fdd �a �q q�z �jj}Wnd}YnXt|dt|dd��aWn>tk �r~}zddl}|�d|��t�W5d}~XYnXdS)NFr�.r� Zuuid�win�c�uuid_generate_time_safecs ��d�}�|�}t|j�|fS�Nr�r�r3�raw)�_buffer�res)�_uuid_generate_time_safer�r r �_generate_time_safehs r�T�uuid_generate_timecs ��d�}�|�t|j�dfSr�r�)r�)�_uuid_generate_timer�r r r�ss ZUuidCreateSequentialZ UuidCreatez/Could not find fallback ctypes uuid functions: )�_has_uuid_generate_time_safe�sys�platformrrt�uname�releaser��_uuidZgenerate_time_safer�Zhas_uuid_generate_time_safer�Z ctypes.util� startswith�appendZCDLL�utilZ find_library� Exception�hasattrr�r�Zrestyper�Zrpcrt4�getattr� _UuidCreate�warnings�warn� ImportWarning)Z _libnamesZlibname�lib�excr�r )r�r�r�r �_load_system_functions:sT&         � �r�cCst�t�\}}t|d�jS)Nr^)r�r�r r<)� uuid_time�_r r r � _unix_getnode�s r�cCs:ddl}t�|�d�}t|�dkr6tt|j�d�jSdS)Nrrr^)r�r�r�r�r �bytes_r�r<)r�r�r r r �_windll_getnode�s   r�cCsddl}|�d�dBS)Nrr"l)�random� getrandbits)r�r r r �_random_getnode�s r�rr�posix�nt)�getterscCsdtdk r tSttgD]H}z |�aWnYqYnXtdk rdtkrRdkrnqtSqdS)Nrr)�_node�_GETTERSr�)r��getterr r r �getnode�s     r�cCst�tdk rd||kr"dkrdnn>t�\}}z t|�}Wntk rVtj}YnXt||d�Sddl}|��}|dd}tdk r�|tkr�td}|a|dkr�ddl }|� d�}|d@} |d?d @} |d ?d @} |d @} |d ?d@} |dkr�t �}t| | | | | |fdd�S)N)r3rr�dl@'Hw� r#�l��rr_r"rbrarrd)r5r6) r�r�rr,r r rc�time_ns�_last_timestampr�r�r�)r<r=r�Zsafely_generatedrrcZ nanosecondsZ timestampr�r7r8r9r;r:r r r �uuid1�s>          ��r�cCs<ddlm}||jt|d�dd���}t|dd�dd�S) Nr)�md5�utf-8F)Zusedforsecurityrr�r3r6)�hashlibr�r3�digestr )� namespacerXr�r�r r r �uuid3s  � r�cCstt�d�dd�S)Nrrr�)r rt�urandomr r r r �uuid4sr�cCs8ddlm}||jt|d����}t|dd�dd�S)Nr)�sha1r�rrr�)r�r�r3r�r )r�rXr�rPr r r �uuid5s r�z$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8)NN)5rtr��enumr� __author__r�Z_AIXZ_LINUX�systemZ_platform_systemrfrgrhrirr-r3r�rr r�r�r�r�r�r�r�r�r�r�r�r�r�r�� ImportErrorr�r�r�r�Z _OS_GETTERSrXr�r�r�r�r�r�r�r�Z NAMESPACE_DNSZ NAMESPACE_URLZ NAMESPACE_OIDZNAMESPACE_X500r r r r �/s�   � " $  T     �     '