관리-도구
편집 파일: typing_extensions.cpython-37.pyc
B E�_G � @ s d dl Z d dlZd dlZd dlZd dlZd dlm Z d dlZd dlmZm Z m Z mZ ejdd� dkZ e rte ZZnd dlmZmZ dZyd dlmZmZmZ W n ek r� dZY nX yd d lmZ dZW n ek r� dZY nX yd d lmZ W n ek �r dd� ZY nX yd d lmZmZ W n2 ek �r^ G dd� d�ZG dd� d�ZY nX dd� Zdd� Zeed��r�ejZndd� Zeed��r�d dlmZ dZ ndZdZ ejdd� dk�r�d dl!Z!e!j"Z#ndd� Z#ddd d!d"d#d$d%d&d'd(d)d*d+d,d-gZ$e �p eZ%e �r"e$�&d.d/d0g� e%�r2e$�'d1� ejdd� d2kZ(e(�rZe$�&d3d4d5g� eed6��rnej)Z)nXeed7��r�G d8d9� d9ej*dd:�Z+e+dd:�Z)n*G d;d<� d<ej�Z,G d=d6� d6ej-e,dd>�Z)e� d?�Z.e� d@�Z/e� dA�Z0ej dBddC�Z1ej dDddC�Z2ej dEddC�Z3ej dFddG�Z4eed��r0ej5Z5nXeed7��r^G dHdI� dIej*dd:�Z6e6dd:�Z5n*G dJdK� dKej�Z7G dLd� dej-e7dd>�Z5eed��r�ejdd� dMk�r�ej-Z-n�ejdd� dMk�r�G dNdO� dOej8dd:�Z9e9ddPdQ�Z-nXeed7��rG dRdS� dSej*dd:�Z:e:dd:�Z-n*G dTdU� dUej�Z;G dVd� dej-e;dd>�Z-eed'��rTej<Z<ndWd'� Z<dXd(� Z=eed)��rxej>Z>n�ejdd� dMk�r�G dYdZ� dZej8dd:�Z?e?d)d[dQ�Z>nXeed7��r�G d\d]� d]ej*dd:�Z@e@dd:�Z>n*G d^d_� d_ej�ZAG d`d)� d)ej-eAdd>�Z>dadb� ZBdcd+� ZCeed ��r,ejDZDn*ej dddede�ZEG dfd � d ejeE edg�ZDdhdi� ZFG djdk� dke�ZGeFdl��r�G dmdl� dleje1 eGejHdn�ZHeFdo��r�G dpdo� doeHe2 eje1e4e2f eGejIdn�ZIeFdq��r�G drdq� dqeje1 eGejJdn�ZJeFds��rG dtds� dseJe1 eGejKdn�ZKeed#��r,ejLZLnLe �rVG dud#� d#ejMejNe. eGejMdn�ZLn"G dvd#� d#ejMejNe. eGejMdn�ZLeed!��r�ejOZOnBeedw��r�G dxd!� d!eje1 eGejPdn�ZOnG dyd!� d!eje1 �ZOeedz��r�ejQZQe$�'dz� nReed{��r"G d|dz� dzeje1 eGejRdn�ZQe$�'dz� nejdd� d}k�r>eSd~� eed$��rRejTZTnTe �r�G dd$� d$ejUejVe/e0f eGejUdn�ZTn&G d�d$� d$ejUejVe/e0f eGejUdn�ZTeed"��r�ejWZWn�d2ejdd� k�r�d�k�r.n nNe �s�tX�e� d��ZYG d�d�� d�ej�ZZG d�d"� d"ejWej[e.e\f eZejWdn�ZWnTe �r\G d�d"� d"ejWej[e.e\f eGejWdn�ZWn&G d�d"� d"ejWej[e.e\f eGejWdn�ZWeed���r�ej]Z]e$�'d�� njeed��� r e �r�G d�d�� d�ej]ejVe/e0f eGej]dn�Z]n&G d�d�� d�ej]ejVe/e0f eGej]dn�Z]e$�'d�� eFd��� r<G d�d�� d�eKe1 eje1e4f eGej^dn�Z^eed*�� rPej_Z_nd�d*� Z_eed,�� rlej`Z`neaZ`eed-�� r�ejbZbndZbd�d�� Zce� r�d�d�� Zd�dld�d�dqdsd�d�d�d�d�d!dzg Zdd�d�� Zed�d�� Zfeed3�� r�ejgZgn�e(� r6e � s6G d�d�� d�e�ZhG d�d3� d3ehd��Zgegjidk � rtegjijje� r*d�nd�d��eg_in>e � rtd d�lmZmkZkmlZl G d�d�� d�e jm�ZhG d�d3� d3ehd��Zgeed5�� r�ejnZnne(� r�d�d5� Zne(� r�enZoeed&�� r�ejpZpne(� r�enG d�d&� d&eg��Zpejdd� d�k� r�ejqZqnTd�d�� Zrd�d�� Zsd�es_tdd��d�d��Zud�eu_tG d�d�� d�e�Zvevd%ewfi �Zqexeq_yd�eq_ieed1��r^ejzZzej{Z{ej|Z|npe �r�G d�d�� d�ejkdd:�Z|G d�d1� d1�Zzd�d�� Z}d�d�d0�Z{n2e%�r�d�d�� Z~G d�d�� d�ej�ZG d�d1� d1ed��Zzejdd� d�k�r�ej�Z�ej�Z�n"e �rd d�lmkZk d�d/� Z�d�d.� Z�eedŃ�r&ej�Z�n�ejdd� d�k�r^G d�dDŽ d�ej8dd:�Z�e�d�dń �Z�n�ejdd� dMk�r�G d�dDŽ d�ej8dd:�Z�e�d�d�dQ�Z�nheed7��r�G d�d̄ d�ej�Z�G d�d΄ d�ej*e�dd>�Z�e�dd:�Z�n&G d�d̄ d�ej�Z�G d�dń d�e�dd>�Z�dS )�� N)�Generic�Callable�TypeVar�Tuple� )r � r )�GenericMeta� TypingMetaF)� _type_vars�_next_in_mro�_type_checkT)� _subs_tree)� _tp_cachec C s | S )N� )�xr r �B/opt/alt/python37/lib/python3.7/site-packages/typing_extensions.pyr $ s r )�_TypingEllipsis�_TypingEmptyc @ s e Zd ZdS )r N)�__name__� __module__�__qualname__r r r r r ) s r c @ s e Zd ZdS )r N)r r r r r r r r , s r c C s2 t | �}d|kr.x|d D ]}|�|d � qW |S )N� __slots__)�dict�pop)�dctZ dict_copyZslotr r r �_no_slots_copy4 s r c C sX | j stdt| � ��t|�}t| j �}||krTtd||kr@dndt| �||f ��d S )Nz%s is not a generic classz0Too %s parameters for %s; actual %s, expected %s�many�few)�__parameters__� TypeError�repr�len)�cls� parameters�alen�elenr r r �_check_generic<