Your IP : 3.145.115.45
B
�A�[Z � @ s� d Z ddlmZ ddlZddlmZ ddlmZm Z ddl
mZm
Z ddlZddlZddlmZ ddlmZmZmZ dd lmZmZmZmZ dd
l m!Z!m"Z"m#Z#m$Z$ dd� Zdd
lm%Z% e$r�yddl&m'Z' W n e(k
r� ddl)m'Z' Y nX n4yddl*m'Z' W n" e(k
�r" ddl+m'Z' Y nX d3dd�Z,G dd� de-�Z.G dd� de/�Z0yddl
mZ ddlm1Z1 W n e(k
�r� Y nX dd� Z2G dd� de/�Z3dd� Z4d4dd �Z5G d!d"� d"e �Z6dd#lm7Z7 e7dfd$d%�Z8d&d'� Z9e0Z:e3Z;e4Z<e5Z=eZ>e2Z?e,Z@e6ZAe8ZBe9ZCejDd(k�rndd)lm0Z0m3Z3 dd*lm5Z5 dd+lEm9Z9 ydd,lm4Z4 W n e(k
�r` Y nX dd-lm8Z8 ejDd.k�r�ddlmZ dd/lm2Z2 ejDd0k�r�dd1lFm,Z, dd2lm6Z6 dS )5a�
Miscellaneous function (re)definitions from the Py3.4+ standard library
for Python 2.6/2.7.
- math.ceil (for Python 2.7)
- collections.OrderedDict (for Python 2.6)
- collections.Counter (for Python 2.6)
- collections.ChainMap (for all versions prior to Python 3.3)
- itertools.count (for Python 2.6, with step parameter)
- subprocess.check_output (for Python 2.6)
- reprlib.recursive_repr (for Python 2.6+)
- functools.cmp_to_key (for Python 2.6)
� )�absolute_importN)�ceil)�Mapping�MutableMapping)�
itemgetter�eq)�proxy)�repeat�chain�starmap)�getaddrinfo�SOCK_STREAM�error�socket)� iteritems�
itervalues�PY26�PY3c C s t t| ��S )zZ
Return the ceiling of x as an int.
This is the smallest integral value >= x.
)�int�oldceil)�x� r �F/opt/alt/python37/lib/python3.7/site-packages/future/backports/misc.pyr s r )�islice)� get_ident�...c s � fdd�}|S )zGDecorator to make a repr function return fillvalue for a recursive callc sL t � � �� �fdd�}t�d�|_t�d�|_t�d�|_t�di �|_|S )Nc sB t | �t� f}|�kr� S ��|� z�| �}W d ��|� X |S )N)�idr �add�discard)�self�key�result)� fillvalue�repr_running�
user_functionr r �wrapper? s
z<recursive_repr.<locals>.decorating_function.<locals>.wrapper�
__module__�__doc__�__name__�__annotations__)�set�getattrr&