add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U


/�^�v�@sddlZddlZddlZddlmZdZe��dkZe��dkZe��dkZ	e��dkZ
dd	d
dg\ZZZ
ZeZeZGdd
�d
e�ZGdd�d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zdaa da!zddl"Z"Wne#k
�rdZ"YnXd$d%�Z$d&d'�Z%d(d)�Z&d*d+�Z'e	�rFeegZ(n>e�rXeeegZ(n,e
�rheegZ(ne�rvegZ(neeeeegZ(ej)d,k�r�e%ge(Z*nej)d-k�r�e&ge(Z*ne(Z*da+dd.�d/d0�Z,da-d=d1d2�Z.d3d4�Z/d5d6�Z0d7d8�Z1ed9�Z2ed:�Z3ed;�Z4ed<�Z5dS)>�N)�EnumzKa-Ping Yee <ping@zesty.ca>ZAIXZDarwinZLinuxZWindowszreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc@seZdZdZdZdZdS)�SafeUUIDr�����N)�__name__�
__module__�__qualname__�safeZunsafe�unknown�r
r
�/usr/lib64/python3.8/uuid.pyrFsrc@s6eZdZdZd<ejd�dd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zedd��Zed d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zed*d+��Zed,d-��Zed.d/��Zed0d1��Zed2d3��Zed4d5��Zed6d7��Z ed8d9��Z!ed:d;��Z"dS)=�UUID)�int�is_safe�__weakref__N)rcCs�|||||g�d�dkr td��|dk	rl|�dd��dd�}|�d��dd�}t|�dkrbtd	��t|d
�}|dk	r�t|�d
kr�td��|ddd
�|ddd
�|ddd
�|dd�}|dk	r�t|�d
kr�td��tj|dd�}|dk	�rt|�dk�rtd��|\}}	}
}}}
d|k�r0dk�s:ntd��d|	k�rRdk�s\ntd��d|
k�rtdk�s~ntd��d|k�r�dk�s�ntd��d|k�r�dk�s�ntd��d|
k�r�dk�s�ntd ��|d>|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�����Lr
r)
�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�Nr
r)r
rrr	�value)r0�dr
r
r�__getstate__�s
zUUID.__getstate__cCs:t�|d|d�t�|dd|kr.t|d�ntj�dSr>)r.r/rr	)r0�stater
r
r�__setstate__�s��zUUID.__setstate__cCst|t�r|j|jkStS�N��
isinstancerr
�NotImplemented�r0�otherr
r
r�__eq__�s
zUUID.__eq__cCst|t�r|j|jkStSrDrErHr
r
r�__lt__�s
zUUID.__lt__cCst|t�r|j|jkStSrDrErHr
r
r�__gt__�s
zUUID.__gt__cCst|t�r|j|jkStSrDrErHr
r
r�__le__�s
zUUID.__le__cCst|t�r|j|jkStSrDrErHr
r
r�__ge__�s
zUUID.__ge__cCs
t|j�SrD)�hashr
�r0r
r
r�__hash__sz
UUID.__hash__cCs|jSrD�r
rPr
r
r�__int__szUUID.__int__cCsd|jjt|�fS)Nz%s(%r))�	__class__r�strrPr
r
r�__repr__	sz
UUID.__repr__cCstd��dS)NzUUID objects are immutable)r')r0�namer?r
r
rr/szUUID.__setattr__cCsDd|j}d|dd�|dd�|dd�|dd�|dd�fS)N�%032xz%s-%s-%s-%s-%sr�r�rR)r0r1r
r
r�__str__s





�zUUID.__str__cCs|j�dd�S)Nrr)r
�to_bytesrPr
r
rr2sz
UUID.bytescCs<|j}|ddd�|ddd�|ddd�|dd�S)Nrrrrr�r2)r0r2r
r
rr3s(
�z
UUID.bytes_lecCs|j|j|j|j|j|jfSrD)r6r7r8r9r:r;rPr
r
rr4s
�zUUID.fieldscCs
|jd?S)NrrRrPr
r
rr6#sz
UUID.time_lowcCs|jd?d@S)Nr���rRrPr
r
rr7'sz
UUID.time_midcCs|jd?d@S)Nr r^rRrPr
r
rr8+szUUID.time_hi_versioncCs|jd?d@S)N�8��rRrPr
r
rr9/szUUID.clock_seq_hi_variantcCs|jd?d@S)Nr!r`rRrPr
r
rr:3szUUID.clock_seq_lowcCs|jd@d>|jd>B|jBS)N��r!r)r8r7r6rPr
r
r�time7s
��z	UUID.timecCs|jd@d>|jBS)N�?r)r9r:rPr
r
rr<<s�zUUID.clock_seqcCs
|jd@S)Nl���rRrPr
r
rr;Asz	UUID.nodecCs
d|jS)NrXrRrPr
r
rr1EszUUID.hexcCsdt|�S)Nz	urn:uuid:)rUrPr
r
r�urnIszUUID.urncCs2|jd@stS|jd@stS|jd@s*tStSdS)Nr$ll)r
�RESERVED_NCS�RFC_4122�RESERVED_MICROSOFT�RESERVED_FUTURErPr
r
r�variantMs


zUUID.variantcCs |jtkrt|jd?d@�SdS)Nr%�)rirfr
rPr
r
rr5Xs
zUUID.version)NNNNNN)#rrr�	__slots__rr	r=rArCrJrKrLrMrNrQrSrVr/r[�propertyr2r3r4r6r7r8r9r:rbr<r;r1rdrir5r
r
r
rrLsb4��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�
subprocess�which�pathsep�join�dict�environ�Popen�PIPE�DEVNULL)	�command�argsrsrtru�
executablermrr�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
tfk
r�YqNXqNq.W5QRXWntk
r�YnX|p�dS)N�:�r)
r��splitrp�lower�rstrip�ranger*r
r(r�r+�
IndexError�OSError)r~rZhw_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�<lambda>�r�z#_ifconfig_getnode.<locals>.<lambda>�r�)�keywordsrr�r
r
r�_ifconfig_getnode�sr�cCs tdddgdd��}|r|SdS)NZip�links
link/ethercSs|dSr�r
r�r
r
rr��r�z_ip_getnode.<locals>.<lambda>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
rr��r�z_arp_getnode.<locals>.<lambda>cSs|dSr�r
r�r
r
rr��r�z(%s)cSs|dS)N�r
r�r
r
rr��r�)rs�socket�
gethostbyname�gethostnamer�r��fsencode)rsr�Zip_addrr�r
r
r�_arp_getnode�s"�r�cCstdddgdd��S)NZlanscanz-aislan0cSsdS)Nrr
r�r
r
rr��r�z"_lanscan_getnode.<locals>.<lambda>r�r
r
r
r�_lanscan_getnode�sr�cCs&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�rp�readliner�r��indexr+r*r&r
r(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)rp�encoding�:rz((?:[0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]rr)rs�reru�ctypes�create_string_buffer�windllZkernel32ZGetSystemDirectoryA�insertr?�decoder{rmrxr|r�rpr�r)r��	fullmatchr
r(r�)rsr�rur��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��lengthZResetZNCBRESET�ordZlanaZLana_numZNCBASTAT�ljustZCallnameZADAPTER_STATUSZadapter_addressr*r
r-r�)	r�r�r�ZncbZadaptersr��statusr2r�r
r
r�_netbios_getnode
s>
r�c
s�tdk	rdSdatjdkr8tt��j�d�d�dkr8ntdk	rPtj	a
tjadSz�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)NF�darwin�.r�	Zuuid�win�c�uuid_generate_time_safecs ��d�}�|�}t|j�|fS�Nr�r�r2�raw)�_buffer�res)�_uuid_generate_time_safer�r
r�_generate_time_safefs
r�T�uuid_generate_timecs ��d�}�|�t|j�dfSr�r�)r�)�_uuid_generate_timer�r
rr�qs
ZUuidCreateSequentialZ
UuidCreatez/Could not find fallback ctypes uuid functions: )�_has_uuid_generate_time_safe�sys�platformr
rs�uname�releaser��_uuidZgenerate_time_safer�Zhas_uuid_generate_time_safer�Zctypes.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_functions8sT&






��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��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)r2rr�dl@'Hw�
r"�l��rr^r!rar`rrc)r4r5)r�r�rr+r	rrb�time_ns�_last_timestampr�r�r�)r;r<r�Zsafely_generatedrrbZnanosecondsZ	timestampr�r6r7r8r:r9r
r
r�uuid1�s> 

��r�cCs8ddlm}||jt|d����}t|dd�dd�S)Nr)�md5�utf-8rr�r2r5)�hashlibr�r2�digestr)�	namespacerWr�rOr
r
r�uuid3sr�cCstt�d�dd�S)Nrrr�)rrs�urandomr
r
r
r�uuid4
sr�cCs8ddlm}||jt|d����}t|dd�dd�S)Nr)�sha1r�rrr�)r�r�r2r�r)r�rWr�rOr
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)6rsr�r��enumr�
__author__�systemZ_AIXZ_DARWINZ_LINUX�_WINDOWSrerfrgrhr
r,r2r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r��ImportErrorr�r�r�r�Z_OS_GETTERSrWr�r�r�r�r�r�r�r�Z
NAMESPACE_DNSZ
NAMESPACE_URLZ
NAMESPACE_OIDZNAMESPACE_X500r
r
r
r�<module>/s��"
$
T

�
'