Your IP : 18.227.46.202


Current Path : /opt/alt/python39/lib64/python3.9/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/__pycache__/inspect.cpython-39.opt-2.pyc

a

R�f���@s�dZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZddlmZmZe�Zej��D]\ZZeede<q�dZdd�Zd	d
�Z dd�Z!d
d�Z"dd�Z#e$ed��rdd�Z%ndd�Z%e$ed��r.dd�Z&ndd�Z&dd�Z'dd�Z(dd�Z)dd �Z*d!d"�Z+d#d$�Z,d%d&�Z-d'd(�Z.d)d*�Z/d+d,�Z0d-d.�Z1d/d0�Z2d1d2�Z3d3d4�Z4d5d6�Z5d�d7d8�Z6ed9d:�Z7d;d<�Z8d=d>�Z9dd?�d@dA�Z:dBdC�Z;dDdE�Z<dFdG�Z=dHdI�Z>dJdK�Z?dLdM�Z@dNdO�ZAdPdQ�ZBd�dRdS�ZCiZDiZEd�dTdU�ZFGdVdW�dWeG�ZHGdXdY�dYejI�ZJdZd[�ZKd\d]�ZLGd^d_�d_eG�ZMGd`da�da�ZNdbdc�ZOddde�ZPdfdg�ZQdhdi�ZRd�dkdl�ZSedmdn�ZTdodp�ZUedqdr�ZVdsdt�ZWedudv�ZXdwdx�ZYedydz�ZZd{d|�Z[d�d}d~�Z\dd��Z]dddd�iie^d�d��d�d��d�d��d�d��e\fd�d��Z_e^d�d��d�d��d�d��fd�d��Z`d�d��Zad�d��Zbd�d��Zced�d��Zdd�d��Zeed�d��Zfd�d�d��Zgd�d��Zhed�d�efji�Zjd�d�d��Zkd�d�d��Zld�d��Zmd�d�d��Zn�dd�d��Zoep�Zqd�d��Zrd�d��Zsd�d��Ztd�d��Zud�d��Zveqfd�d��Zwd�Zxd�Zyd�Zzd�Z{d�d��Z|d�d��Z}d�Z~d�Zd�Z�d�Z�d�dĄZ�d�dƄZ�e�e�j��Z�e�e�j��Z�e�e�j�d��Z�e�e�e�ej�fZ�d�dɄZ��dd�d˄Z�d�d̈́Z�d�dτZ�d�dфZ�d�dӄZ�d�dՄZ��dd�d؄Z��dd�dڄZ��dd�d܄Z�d�d�dݜd�d߄Z�Gd�d�d�Z�Gd�d�d�Z�Gd�d�d�ej��Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�d�e�d�e�d�e�d�e�d�iZ�Gd�d�d�Z�Gd�d�d�Z�Gd�d�d�Z�d�d�d�d�Z�d�d��Z�e�d�k�r�e��dS()zKa-Ping Yee <ping@lfw.org>z'Yury Selivanov <yselivanov@sprymix.com>�N)�
attrgetter)�
namedtuple�OrderedDictZCO_icCst|tj�S�N)�
isinstance�types�
ModuleType��object�r�,/opt/alt/python39/lib64/python3.9/inspect.py�ismodule@sr
cCs
t|t�Sr)r�typer	rrr�isclassIsrcCst|tj�Sr)rr�
MethodTyper	rrr�ismethodQsrcCs:t|�st|�st|�rdSt|�}t|d�o8t|d�S)NF�__get__�__set__�rr�
isfunctionr�hasattr�r
�tprrr�ismethoddescriptor[srcCs8t|�st|�st|�rdSt|�}t|d�p6t|d�S)NFr�
__delete__rrrrr�isdatadescriptorosr�MemberDescriptorTypecCst|tj�Sr)rrrr	rrr�ismemberdescriptorsrcCsdS�NFrr	rrrr�s�GetSetDescriptorTypecCst|tj�Sr)rrrr	rrr�isgetsetdescriptor�sr cCsdSrrr	rrrr �scCst|tj�Sr)rr�FunctionTyper	rrrr�srcCs6t|�r|j}qt�|�}t|�s&dSt|jj|@�Sr)r�__func__�	functools�_unwrap_partialr�bool�__code__�co_flags)�f�flagrrr�_has_code_flag�s
r*cCs
t|t�Sr)r*ZCO_GENERATOR��objrrr�isgeneratorfunction�sr-cCs
t|t�Sr)r*ZCO_COROUTINEr+rrr�iscoroutinefunction�sr.cCs
t|t�Sr)r*ZCO_ASYNC_GENERATORr+rrr�isasyncgenfunction�sr/cCst|tj�Sr)rr�AsyncGeneratorTyper	rrr�
isasyncgen�sr1cCst|tj�Sr)rr�
GeneratorTyper	rrr�isgenerator�sr3cCst|tj�Sr)rr�
CoroutineTyper	rrr�iscoroutine�sr5cCs6t|tj�p4t|tj�r(t|jjt@�p4t|tj	j
�Sr)rrr4r2r%�gi_coder'ZCO_ITERABLE_COROUTINE�collections�abc�	Awaitabler	rrr�isawaitable�s��r:cCst|tj�Sr)rr�
TracebackTyper	rrr�istraceback�sr<cCst|tj�Sr)rr�	FrameTyper	rrr�isframe�sr>cCst|tj�Sr)rr�CodeTyper	rrr�iscodesr@cCst|tj�Sr)rr�BuiltinFunctionTyper	rrr�	isbuiltinsrBcCs t|�pt|�pt|�pt|�Sr)rBrrrr	rrr�	isroutine's���rCcCs�t|t�sdS|jt@rdStt|�tj�s0dSt|d�r>dS|j�	�D]\}}t
|dd�rHdSqH|jD]6}t
|dd�D]$}t
||d�}t
|dd�rzdSqzqjdS)NFT�__abstractmethods__�__isabstractmethod__r)rr�	__flags__�TPFLAGS_IS_ABSTRACT�
issubclassr8�ABCMetar�__dict__�items�getattr�	__bases__)r
�name�value�baserrr�
isabstract.s"



rQc	Cst|�r|ft|�}nd}g}t�}t|�}z:|jD].}|j��D]\}}t|tj	�rD|�
|�qDq6WntyzYn0|D]|}	zt||	�}
|	|vr�t�Wn8ty�|D]}|	|jvr�|j|	}
q�q�Yq�Yn0|r�||
�r�|�
|	|
f�|�
|	�q�|jdd�d�|S)NrcSs|dS)Nrr)Zpairrrr�<lambda>o�zgetmembers.<locals>.<lambda>��key)r�getmro�set�dirrMrJrKrr�DynamicClassAttribute�append�AttributeErrorrL�add�sort)r
Z	predicate�mro�results�	processed�namesrP�k�vrUrOrrr�
getmembersFs:




rd�	Attributezname kind defining_class objectcCsTt|�}tt|��}tdd�|D��}|f|}||}t|�}|D].}|j��D]\}}t|tj�rR|�	|�qRqDg}	t
�}
|D�]�}d}d}
d}||
v�rzz|dkr�td��t||�}
Wn$ty�}zWYd}~n�d}~00t|
d|�}||v�rzd}d}|D] }t||d�}||
u�r|}�q|D]@}z|�
||�}Wnt�yXY�q*Yn0||
u�r*|}�q*|du�rz|}|D]0}||jv�r~|j|}||v�r�|}�q��q~|du�r�q�|
du�r�|
n|}t|ttjf��r�d}|}nFt|ttjf��rd}|}n*t|t��rd}|}nt|��r,d	}nd
}|	�	t||||��|
�|�q�|	S)Ncss|]}|ttfvr|VqdSr)rr
)�.0�clsrrr�	<genexpr>�rSz'classify_class_attrs.<locals>.<genexpr>rJz)__dict__ is special, don't want the proxy�__objclass__z
static methodzclass method�property�method�data)rVr�tuplerXrJrKrrrYrZrW�	ExceptionrL�__getattr__r[�staticmethod�BuiltinMethodType�classmethod�ClassMethodDescriptorTyperjrCrer\)rgr^ZmetamroZclass_basesZ	all_basesrarPrbrc�resultr`rNZhomeclsZget_objZdict_obj�excZlast_clsZsrch_clsZsrch_objr,�kindrrr�classify_class_attrsts�












rwcCs|jSr)�__mro__)rgrrrrV�srV��stopcs|�durdd�}n�fdd�}|}t|�|i}t��}||�rx|j}t|�}||vs`t|�|krntd�|���|||<q6|S)NcSs
t|d�S�N�__wrapped__�r�r(rrr�_is_wrapper�szunwrap.<locals>._is_wrappercst|d�o�|�Sr{r}r~ryrrrsz!wrapper loop when unwrapping {!r})�id�sys�getrecursionlimitr|�len�
ValueError�format)�funcrzrr(�memoZrecursion_limitZid_funcrryr�unwrap�s

r�cCs|��}t|�t|���Sr)�
expandtabsr��lstrip)�lineZexplinerrr�
indentsizesr�cCsNtj�|j�}|durdS|j�d�dd�D]}t||�}q.t|�sJdS|S)N�.���)r��modules�get�
__module__�__qualname__�splitrLr)r�rgrNrrr�
_findclasssr�c	Cst|�rR|jD]>}|turz
|j}Wnty:YqYn0|dur|SqdSt|�r�|jj}|j}t|�r�t	t	||d�d�|jur�|}n|j
}�n$t|�r�|j}t|�}|dus�t	||�|ur�dSn�t
|��r|j}|j}t|��r|jd||jk�r|}n|j
}n�t|t��rN|j}|j}t|�}|du�sHt	||�|u�r�dSnnt|��sbt|��r�|j}|j}t	||�|u�r�dSt|��r�t	|dd�}t|t��r�||v�r�||SndS|jD]D}zt	||�j}Wnt�y�Y�q�Yn0|du�r�|S�q�dS)Nr"r��	__slots__)rrxr
�__doc__r[rr"�__name__�__self__rL�	__class__rr�rBr�rrj�fgetrrrir�dict)r,rP�docrN�selfrgr��slotsrrr�_finddoc!sn



�


�



r�c	Csdz
|j}WntyYdS0|durNzt|�}WnttfyLYdS0t|t�s\dSt|�Sr)r�r[r��	TypeErrorr�str�cleandoc)r
r�rrr�getdoc_s

r�cCs�z|���d�}Wnty&YdS0tj}|dd�D]*}t|���}|r:t|�|}t||�}q:|rz|d��|d<|tjkr�tdt|��D]}|||d�||<q�|r�|ds�|�	�q�|r�|ds�|�	d�q�d�
|�SdS)N�
�rr�)r�r��UnicodeErrorr��maxsizer�r��min�range�pop�join)r��linesZmarginr�Zcontent�indent�irrrr�rs&
(
r�cCs�t|�r(t|dd�r|jStd�|���t|�rht|d�rZtj�	|j
�}t|dd�rZ|jStd�|���t|�rv|j}t
|�r�|j}t|�r�|j}t|�r�|j}t|�r�|jStd�t|�j���dS)N�__file__z{!r} is a built-in moduler�z{!r} is a built-in classzVmodule, class, method, function, traceback, frame, or code object was expected, got {})r
rLr�r�r�rrr�r�r�r�rr"rr&r<�tb_framer>�f_coder@�co_filenamerr�)r
�modulerrr�getfile�s.
�r�cCsTtj�|�}dd�tj��D�}|��|D]"\}}|�|�r,|d|�Sq,dS)NcSsg|]}t|�|f�qSr)r�)rf�suffixrrr�
<listcomp>�s�z!getmodulename.<locals>.<listcomp>)�os�path�basename�	importlib�	machinery�all_suffixesr]�endswith)r�Zfname�suffixesZneglenr�rrr�
getmodulename�s�
r�cs�t|��tjjdd�}|tjjdd�7}t�fdd�|D��r`tj���dtjj	d�nt�fdd�tjj
D��r~dStj���r��Stt
|��dd�dur��S�tjvr��SdS)Nc3s|]}��|�VqdSr�r��rf�s��filenamerrrh�rSz getsourcefile.<locals>.<genexpr>rc3s|]}��|�VqdSrr�r�r�rrrh�rS�
__loader__)r�r�r��DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXES�anyr�r��splitext�SOURCE_SUFFIXES�EXTENSION_SUFFIXES�existsrL�	getmodule�	linecache�cache)r
Zall_bytecode_suffixesrr�r�
getsourcefile�s"
��
r�cCs,|durt|�pt|�}tj�tj�|��Sr)r�r�r�r��normcase�abspath)r
�	_filenamerrr�
getabsfile�sr�c
	Cs�t|�r|St|d�r$tj�|j�S|durD|tvrDtj�t|�Szt||�}Wntt	fyjYdS0|tvr�tj�t|�Stj�
���D]\\}}t|�r�t|d�r�|j}|t
�|d�kr�q�|t
|<t|�}|jt|<ttj�|�<q�|tv�r
tj�t|�Stjd}t|d��s$dSt||j��rLt||j�}||u�rL|Stjd}t||j��r~t||j�}	|	|u�r~|SdS)Nr�r��__main__r��builtins)r
rr�r�r�r��
modulesbyfiler�r��FileNotFoundError�copyrKr��_filesbymodnamer�r�r��realpathrL)
r
r��file�modnamer�r(�mainZ
mainobjectZbuiltinZ
builtinobjectrrrr��sJ
�

�




r�c@seZdZdS)�ClassFoundExceptionN�r�r�r�rrrrr�sr�c@s(eZdZdd�Zdd�ZeZdd�ZdS)�_ClassFindercCsg|_||_dSr)�stack�qualname)r�r�rrr�__init__sz_ClassFinder.__init__cCs<|j�|j�|j�d�|�|�|j��|j��dS)Nz<locals>)r�rZrN�
generic_visitr��r��noderrr�visit_FunctionDefs


z_ClassFinder.visit_FunctionDefcCsb|j�|j�|jd�|j�krJ|jr4|jdj}n|j}|d8}t|��|�|�|j�	�dS)Nr�rr�)
r�rZrNr�r��decorator_list�linenor�r�r�)r�r��line_numberrrr�visit_ClassDefs
z_ClassFinder.visit_ClassDefN)r�r�r�r�r�Zvisit_AsyncFunctionDefr�rrrrr�
sr�c

Cs�t|�}|rt�|�n$t|�}|�d�r4|�d�s<td��t||�}|rZt�||j	�}n
t�|�}|sptd��t
|�r�|dfSt|��r�|j}d�
|�}t�|�}t|�}z|�|�Wn6ty�}z|jd}	||	fWYd}~Sd}~00td��t|��r
|j}t|��r|j}t|��r*|j}t|��r:|j}t|��r�t|d��sXtd	��|jd
}
t� d�}|
dk�r�z||
}Wnt!�y�td��Yn0|�"|��r��q�|
d
}
�ql||
fStd
��dS)N�<�>zsource code not availablezcould not get source coder�zcould not find class definition�co_firstlinenoz"could not find function definitionr�z>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zlineno is out of boundszcould not find code object)#r�r��
checkcacher��
startswithr��OSErrorr��getlinesrJr
rr�r��ast�parser��visitr��argsrr"rr&r<r�r>r�r@rr��re�compile�
IndexError�match)
r
r�r�r�r��sourceZtreeZclass_finder�er��lnumZpatr�rrr�
findsource)s`













rc	Cs,zt|�\}}Wnttfy(YdS0t|�r�d}|rR|ddd�dkrRd}|t|�krx||��dvrx|d}qR|t|�kr�||dd�dkr�g}|}|t|�kr�||dd�dkr�|�||���|d}q�d�|�S�n>|dk�r(t	||�}|d}|dk�r(||�
�dd�dk�r(t	||�|k�r(||���
�g}|dk�r�|d}||���
�}|dd�dk�r�t	||�|k�r�|g|dd�<|d}|dk�r��q�||���
�}�qr|�r�|d��dk�r�g|dd�<�q�|�r|d��dk�rg|dd�<�q�d�|�SdS)	Nr�z#!r�)r��#rr�r�)rr�r�r
r��striprZr�r�r�r�)r
r�r��startZcomments�endr�Zcommentrrr�getcommentsmsH
  

$�
$rc@seZdZdS)�
EndOfBlockNr�rrrrr�rSrc@seZdZdd�Zdd�ZdS)�BlockFindercCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrFr�)r��islambda�started�passline�indecorator�decoratorhasargs�last�	body_col0�r�rrrr��szBlockFinder.__init__cCsr|jsB|jsB|dkrd|_n|dvr8|dkr2d|_d|_d|_�n,|dkrZ|jrVd|_�n|dkrv|jrtd|_d|_n�|tjkr�d|_|d|_|jr�t�|jr�|js�d|_n�|jr�n�|tj	kr�|j
dur�|jr�|d	|_
|jd	|_d|_n�|tjk�r|jd	|_|jdk�rnt�nV|tj
k�rL|j
du�rn|d	|j
k�rn|d|_n"|jdk�rn|tj
tjfv�rnt�dS)
N�@T)�def�class�lambdar�(�)Frr�)r
rr	rr
�tokenize�NEWLINErr�INDENTrr��DEDENT�COMMENT�NL)r�r�tokenZsrowcolZerowcolr�rrr�
tokeneater�sL





zBlockFinder.tokeneaterN)r�r�r�r�rrrrrr�s
rc	CsTt�}z(t�t|�j�}|D]}|j|�qWnttfyDYn0|d|j�Sr)	rr�generate_tokens�iter�__next__rr�IndentationErrorr)r�Zblockfinder�tokensZ_tokenrrr�getblock�sr$cCsbt|�}t|�\}}t|�r"|j}t|�s>t|�rF|jjdkrF|dfSt||d��|dfSdS)Nz<module>rr�)	r�rr<r�r
r>r��co_namer$�r
r�r�rrr�getsourcelines�s�
�r'cCst|�\}}d�|�S)Nr�)r'r�r&rrr�	getsource�sr(cCsRg}|jtdd�d�|D]2}|�||jf�||vr|�t||||��q|S)Nr�r�rT)r]rrZrM�walktree)�classes�children�parentr_�crrrr)sr)FcCs�i}g}|D]d}|jr^|jD]>}||vr0g||<|||vrJ||�|�|r||vrqpqq||vr|�|�q|D]}||vrv|�|�qvt||d�Sr)rMrZr))r*�uniquer+�rootsr-r,rrr�getclasstrees 	
r0�	Argumentszargs, varargs, varkwc	Cs�t|�std�|���|j}|j}|j}t|d|��}t||||��}d}||7}d}|jt@rx|j|}|d}d}|jt	@r�|j|}t
||||�S)Nz{!r} is not a code objectrr�)r@r�r��co_varnames�co_argcount�co_kwonlyargcount�listr'�
CO_VARARGS�CO_VARKEYWORDSr1)	�cora�nargsZnkwargsr��
kwonlyargs�step�varargs�varkwrrr�getargs+s"



r>�ArgSpeczargs varargs keywords defaultscCsDtjdtdd�t|�\}}}}}}}|s.|r6td��t||||�S)Nzhinspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()r��
stacklevelzgFunction has keyword-only parameters or annotations, use inspect.signature() API which can support them)�warnings�warn�DeprecationWarning�getfullargspecr�r?)r�r�r<r=�defaultsr:�kwonlydefaults�annrrr�
getargspecHs��rI�FullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc
Cszzt|ddtd�}Wn.tyB}ztd�|�WYd}~n
d}~00g}d}d}g}g}i}d}	i}
|j|jurz|j|d<|j��D]�}|j}|j	}
|t
ur�|�|
�|j|jur�|	|jf7}	nv|t
ur�|�|
�|j|jur�|	|jf7}	nJ|tur�|
}n<|tu�r(|�|
�|j|ju�r6|j|
|
<n|tu�r6|
}|j|jur�|j||
<q�|
�sXd}
|	�sbd}	t|||||	||
|�S)NF��follow_wrapper_chains�skip_bound_arg�sigclszunsupported callabler�return)�_signature_from_callable�	Signaturernr��return_annotation�empty�
parameters�valuesrvrN�_POSITIONAL_ONLYrZ�default�_POSITIONAL_OR_KEYWORD�_VAR_POSITIONAL�
_KEYWORD_ONLY�_VAR_KEYWORD�
annotationrJ)r��sig�exr�r<r=�posonlyargsr:�annotationsrF�
kwdefaults�paramrvrNrrrrEis\�
 





�rE�ArgInfozargs varargs keywords localscCs t|j�\}}}t||||j�Sr)r>r�rc�f_locals)�framer�r<r=rrr�getargvalues�srfcCsjt|dd�dkr t|��dd�St|tj�r4t|�St|t�rb|jd|fvrR|j	S|jd|j	St|�S)Nr��typingztyping.r�r�r�)
rL�repr�replacerr�GenericAliasr�rr�r�)r\Zbase_modulerrr�formatannotation�s
rkcst|dd���fdd�}|S)Nr�cs
t|��Sr)rk)r\�r�rr�_formatannotation�sz5formatannotationrelativeto.<locals>._formatannotation)rL)r
rmrrlr�formatannotationrelativeto�srnrcCsd|S�N�*r�rNrrrrR�rSrRcCsd|S�N�**rrqrrrrR�rScCsdt|�S�N�=�rh�rOrrrrR�rScCsd|S)Nz -> r)�textrrrrR�rSc
s<ddlm}
|
dtdd����fdd�}g}|rBt|�t|�}t|�D]:\}}||�}|rz||krz||
|||�}|�|�qJ|dur�|�|||���n|r�|�d�|r�|D]2}||�}|r�||vr�||
||�7}|�|�q�|du�r|�|	||���d	d
�|�d}d�v�r8||��d��7}|S)
Nr)rCzc`formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directlyrr@cs(�|�}|�vr$|d��|�7}|S)Nz: r)�argrt�r`rk�	formatargrr�formatargandannotation�sz-formatargspec.<locals>.formatargandannotationrpr�, rrO)rBrCrDr��	enumeraterZr�)r�r<r=rFr:rGr`r{�
formatvarargs�formatvarkw�formatvalueZ
formatreturnsrkrCr|�specsZfirstdefaultr�ry�specZ	kwonlyargrtrrzr�
formatargspec�s<�


r�cCsd|SrorrqrrrrRrScCsd|SrrrrqrrrrRrScCsdt|�SrtrvrwrrrrR rScCs�|||fdd�}g}	tt|��D]}
|	�|||
��q |rV|	�||�|||��|rt|	�||�|||��dd�|	�dS)NcSs||�|||�Srr)rN�localsr{r�rrr�convert'sz formatargvalues.<locals>.convertrr}r)r�r�rZr�)r�r<r=r�r{rr�r�r�r�r�rrr�formatargvaluess�
r�cs��fdd�|D�}t|�}|dkr,|d}n>|dkr@dj|�}n*dj|dd��}|dd�=d	�|�|}td
|||rzdnd|dkr�d
nd|f��dS)Ncsg|]}|�vrt|��qSrrv)rfrN�rUrrr�4rSz&_missing_arguments.<locals>.<listcomp>r�rrz	{} and {}z, {} and {}���r}z*%s() missing %i required %s argument%s: %s�
positional�keyword-onlyr�r�)r�r�r�r�)�f_nameZargnames�posrUra�missingr��tailrr�r�_missing_arguments3s


��r�c
	s�t|�|}t�fdd�|D��}|r:|dk}	d|f}
n2|rTd}	d|t|�f}
nt|�dk}	tt|��}
d}|r�d}||dkr�d	nd||dkr�d	ndf}td
||
|	r�d	nd|||dkr�|s�dndf��dS)
Ncsg|]}|�vr|�qSrr)rfryr�rrr�ErSz_too_many.<locals>.<listcomp>r�zat least %dTz
from %d to %dr�z7 positional argument%s (and %d keyword-only argument%s)r�z5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)r�r�r�)
r�r�Zkwonlyr<ZdefcountZgivenrUZatleastZkwonly_givenZpluralr]Z
kwonly_sig�msgrr�r�	_too_manyCs*���r�cOst|�}|\}}}}}}	}
|j}i}t|�rB|jdurB|jf|}t|�}
t|�}|r^t|�nd}t|
|�}t|�D]}|||||<qt|r�t||d��||<t||�}|r�i||<|�	�D]T\}}||vr�|s�t
d||f��||||<q�||v�rt
d||f��|||<q�|
|k�r<|�s<t||||||
|�|
|k�r�|d||�}|D]}||v�rZt||d|��qZt
|||d��D] \}}||v�r�||||<�q�d}|D]6}||v�r�|	�r�||	v�r�|	|||<n|d7}�q�|�rt||d|�|S)Nrz*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTr�F)rEr�rr�r�r�r�rmrWrKr�r�r�r~)r�r�Znamedr�r�r<r=rFr:rGrHr�Z	arg2valueZnum_posZnum_argsZnum_defaults�nr�Zpossible_kwargs�kwrOZreqryr��kwargrrr�getcallargsXsf
�
�
�



r��ClosureVarsz"nonlocals globals builtins unboundc	Cs�t|�r|j}t|�s$td�|���|j}|jdur:i}ndd�t|j|j�D�}|j	}|�
dtj�}t
|�rt|j}i}i}t�}|jD]`}|dvr�q�z||||<Wq�ty�z||||<Wnty�|�|�Yn0Yq�0q�t||||�S)N�{!r} is not a Python functioncSsi|]\}}||j�qSr)�
cell_contents)rf�varZcellrrr�
<dictcomp>�s�z"getclosurevars.<locals>.<dictcomp>�__builtins__)�None�True�False)rr"rr�r�r&�__closure__�zip�co_freevars�__globals__r�r�rJr
rW�co_names�KeyErrorr\r�)	r��codeZ
nonlocal_varsZ	global_nsZ
builtin_nsZglobal_varsZbuiltin_varsZ
unbound_namesrNrrr�getclosurevars�s<	
�
�r��	Tracebackz+filename lineno function code_context indexr�cCs�t|�r|j}|j}n|j}t|�s2td�|���t|�p@t|�}|dkr�|d|d}zt	|�\}}Wnt
y�d}}Yq�0tdt|t
|�|��}||||�}|d|}nd}}t|||jj||�S)Nz'{!r} is not a frame or traceback objectrr�r)r<�	tb_linenor��f_linenor>r�r�r�r�rr��maxr�r�r�r�r%)re�contextr�r�rr�r��indexrrr�getframeinfo�s$r�cCs|jSr)r��rerrr�	getlineno�sr��	FrameInfor�cCs2g}|r.|ft||�}|�t|��|j}q|Sr)r�rZr��f_back)rer��	framelist�	frameinforrr�getouterframes�sr�cCs4g}|r0|jft||�}|�t|��|j}q|Sr)r�r�rZr��tb_next)�tbr�r�r�rrr�getinnerframessr�cCsttd�rt�d�SdS)N�	_getframer�)rr�r�rrrr�currentframesr�cCstt�d�|�S)Nr�)r�r�r��r�rrrr�sr�cCstt��d|�S)Nr)r�r��exc_infor�rrr�tracesr�cCstjd�|�S)Nrx)rrJr)�klassrrr�_static_getmrosr�cCs6i}zt�|d�}Wnty&Yn0t�||t�S�NrJ)r
�__getattribute__r[r�r��	_sentinel)r,�attrZ
instance_dictrrr�_check_instance sr�c	CsFt|�D]8}tt|��turz|j|WSty>Yq0qtSr)r��_shadowed_dictrr�rJr�)r�r��entryrrr�_check_class)sr�cCs&zt|�Wnty YdS0dS�NFT)r�r�r+rrr�_is_type2s
r�c	Csltjd}t|�D]T}z|�|�d}Wnty:Yq0t|�tjur^|jdkr^|j|us|Sqt	Sr�)
rrJr�rr�rrr�rir�)r��	dict_attrr�Z
class_dictrrrr�9s
��
r�c	Cst}t|�s>t|�}t|�}|tus2t|�tjurBt||�}n|}t||�}|tur�|tur�tt|�d�tur�tt|�d�tur�|S|tur�|S|tur�|S||ur�tt|��D]8}tt|��tur�z|j	|WSt
y�Yq�0q�|tur�|St|��dS)Nrr)r�r�rr�rrr�r�r�rJr�r[)r,r�rWZinstance_resultr�r�Zklass_resultr�rrr�getattr_staticGs:�
�r��GEN_CREATED�GEN_RUNNING�
GEN_SUSPENDED�
GEN_CLOSEDcCs,|jr
tS|jdurtS|jjdkr(tStS�Nr�)�
gi_runningr��gi_framer��f_lastir�r�)�	generatorrrr�getgeneratorstate|s	
r�cCs:t|�std�|���t|dd�}|dur2|jjSiSdS)Nz{!r} is not a Python generatorr�)r3r�r�rLr�rd)r�rerrr�getgeneratorlocals�sr��CORO_CREATED�CORO_RUNNING�CORO_SUSPENDED�CORO_CLOSEDcCs,|jr
tS|jdurtS|jjdkr(tStSr�)�
cr_runningr��cr_framer�r�r�r�)�	coroutinerrr�getcoroutinestate�s	
r�cCs"t|dd�}|dur|jSiSdS)Nr�)rLrd)r�rerrr�getcoroutinelocals�sr��
from_bytescCs6zt||�}Wnty"YdS0t|t�s2|SdSr)rLr[r�_NonUserDefinedCallables)rgZmethod_nameZmethrrr�"_signature_get_user_defined_method�s
r�c
Cs�|j}t|���}|jpd}|jp$i}|r2||}z|j|i|��}Wn8ty~}z d�|�}	t|	�|�WYd}~n
d}~00d}
|��D]�\}}z|j	|}
Wnt
y�Ynl0|jtur�|�
|�q�|jtu�r||vr�d}
|j|
d�||<n|�
|j�q�|jtu�r |j|
d�||<|
r�|jtu�rT||jtd�}|||<|�|�q�|jttfv�rp|�|�q�|jtur�|�
|j�q�|j|��d�S)Nrz+partial object {!r} has incorrect argumentsFT)rW�rv�rT)rTrrKr��keywords�bind_partialr�r�r��	argumentsr�rvrVr�rXrirNrZ�move_to_endr[rYrU)�wrapped_sig�partialZ
extra_argsZ
old_params�
new_paramsZpartial_argsZpartial_keywordsZbar^r�Ztransform_to_kwonly�
param_namerbZ	arg_valueZ	new_paramrrr�_signature_get_partial�sL


 



r�cCslt|j���}|r$|djttfvr,td��|dj}|ttfvrP|dd�}n|t	ur`td��|j
|d�S)Nrzinvalid method signaturer�zinvalid argument typer�)rmrTrUrvr[rZr�rXrVrYri)r]�paramsrvrrr�_signature_bound_method0s
r�cCs&t|�p$t|�p$t|t�p$|ttfvSr)rBrrr�rr
r+rrr�_signature_is_builtinJs��
�r�cCs�t|�rt|�rdSt|dd�}t|dd�}t|dt�}t|dt�}t|dd�}t|tj�o�t|t�o�|dusxt|t�o�|dus�t|t	�o�t|t	�S)NFr�r&�__defaults__�__kwdefaults__�__annotations__)
�callablerrL�_voidrrr?r�rmr�)r,rNr�rFrar`rrr�_signature_is_functionlikeVs ����r�cCs<|�d�}|dkr|�d�}|�d�}|�d�}|d|�S)N�,r�r�:rur)�find)r�r�Zcposrrr�_signature_get_bound_paramos




r�cCs |s|ddfSd}d}dd�|�d�D�}t|�j}t�|�}d}d}g}|j}	d}
tj}tj}t|�}
|D]�}
|
j	|
j
}}||kr�|dkr�|r�d}qld}|
d7}
ql|d	kr�d}|
d}ql||kr�|d
kr�|
}ql|r�d}||kr�|dks�|	d�|	|�|dkrl|	d
�qld�|�}|||fS)NcSsg|]}|�d��qS)�ascii)�encode)rf�lrrrr��rSz6_signature_strip_non_python_syntax.<locals>.<listcomp>r�Frr�Tr��/�$rr}� r�)r�r r!rrZr�OP�
ERRORTOKEN�nextr�stringr�)�	signature�self_parameter�last_positional_onlyr�r�Ztoken_streamZ
delayed_commaZskip_next_commarxr\Zcurrent_parameterrr�trr�clean_signaturerrr�"_signature_strip_non_python_syntax�sP





r
Tc	s^ddl�|j�t|�\}}}d|d}z��|�}WntyLd}Yn0t|�j�shtd�|���|j	d}	g��j
�t��d}i�t|dd�}
|
r�t
j�|
d�}|r�|j�t
j���	�fdd�����	fdd	��
G��
fd
d�d�j���f��������fdd
�	}t|	jj�}t|	jj�}
tj||
dd�}|du�rH�j�n�j�ttt|���D](\}\}}|||�||k�r^�j��q^|	jj�r��j�||	jj���j�t|	jj |	jj!�D]\}}|||��q�|	jj"�r�j#�||	jj"��|du�rPt|dd�}|du}t$|�}|�r6|�s*|�r6��%d�n�dj&�jd�}|�d<|�|j
d�S)Nrzdef fooz: passz"{!r} builtin has invalid signaturer�cs|jdurtd��|jS)Nz'Annotations are not currently supported)r\r�ry)r�)r�rr�
parse_name�s
z&_signature_fromstr.<locals>.parse_namecsxzt|��}Wn:tyHzt|��}WntyBt��Yn0Yn0t|tttttt	d�f�rn��
|�St��dSr)�eval�	NameError�RuntimeErrorrr��int�float�bytesr%rZConstant)r�rO)r��module_dict�sys_module_dictrr�
wrap_value�s
z&_signature_fromstr.<locals>.wrap_valuecs(eZdZ��fdd�Z��fdd�ZdS)z,_signature_fromstr.<locals>.RewriteSymbolicscs\g}|}t|�j�r(|�|j�|j}qt|�j�s:t��|�|j�d�t	|��}�|�S)Nr�)
rrerZr�rO�Namerr�r��reversed)r�r��ar�rO�r�rrr�visit_Attributesz<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attributecst|j�j�st���|j�Sr)r�ctxZLoadr�r�r�rrr�
visit_Namesz7_signature_fromstr.<locals>.RewriteSymbolics.visit_NameN)r�r�r�rrrrrr�RewriteSymbolicssrcs��|�}|�urdS|rn|turnz���|�}��|�}WntyP�}Yn0|�ur^dS|�urj|n|}���|�|�d��dS�N�rWr\)�_emptyr�Zliteral_evalr�rZ)Z	name_nodeZdefault_noderWrN�o)�	Parameterrr�rS�invalidrvrTrrr�ps
z_signature_fromstr.<locals>.p)�	fillvaluer�r��rR)'r��_parameter_clsr
r��SyntaxErrorrZModuler�r��bodyrSr
rLr�r�r�rJr�ZNodeTransformerrr�rF�	itertools�zip_longest�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDr~r5�vararg�VAR_POSITIONAL�KEYWORD_ONLYr�r:�kw_defaultsr��VAR_KEYWORDr
r�ri)rgr,r�rMr	rrZprogramr�r(Zmodule_namer#r�rFr r�rNrWZ_selfZself_isboundZ
self_ismoduler)r!rr�rSr"rvrrTrrrr�_signature_fromstr�sn�










r2cCsBt|�std�|���t|dd�}|s4td�|���t||||�S)Nz%{!r} is not a Python builtin function�__text_signature__z#no signature found for builtin {!r})r�r�r�rLr�r2)rgr�rMr�rrr�_signature_from_builtinXs�r4c	CsHd}t|�s(t|�rd}ntd�|���t|dd�}|rFt||||�S|j}|j}|j}|j	}|j
}	|d|�}
|j}||||�}|j}
|j
}|j}|r�t|�}nd}g}||}|	}|
d|�D]<}|r�tnt}|
�|t�}|�||||d��|r�|d8}q�t|
|d��D]L\}}|�r&tnt}|
�|t�}|�||||||d��|�r|d8}�q|jt@�r�|||}|
�|t�}|�|||td��|D]B}t}|du�r�|�|t�}|
�|t�}|�|||t|d���q�|jt@�r2||}|jt@�r
|d7}||}|
�|t�}|�|||td��|||
�d	t�|d
�S)NFTr�r3r)r\rvr�)r\rvrWrO�rR�__validate_parameters__)rr�r�r�rLr2r&r&r3r2�co_posonlyargcountr4r�r�r�r�rVrXr�rrZr~r'r6rYrZr7r[)rgr�rMZis_duck_functionr�r!Z	func_code�	pos_count�	arg_namesZ
posonly_countr�Zkeyword_only_countZkeyword_onlyr`rFraZpos_default_countrTZnon_default_countZposonly_leftrNrvr\�offsetrWr�rrr�_signature_from_functionhs�

�

�
�

�
�
�r;)rLrMc
Cs�tjt|||d�}t|�s(td�|���t|tj�rN||j	�}|rJt
|�S|S|rvt|dd�d�}t|tj�rv||�Sz
|j}Wnt
y�Yn&0|dur�t|t�s�td�|���|Sz
|j}Wnt
y�Ynn0t|tj��rB||j�}t||d�}t|j���d}|jtju�r|St|j���}	|f|	}
|j|
d	�St|��sVt|��rdt|||d
�St|��r|t|||d
�St|tj��r�||j�}t||�Sd}t|t��r�t t|�d�}|du�r�||�}nld}t |d�}
t |d
�}d|j!v�r�|
}n0d
|j!v�r|}n|
du�r|
}n|du�r*|}|du�r<||�}|du�r@|j"dd�D]<}z
|j#}Wnt
�yvYn0|�rTt$|||�S�qTt|j"v�r@|j%t&j%u�r�|j't&j'u�r�|�(t&�St)d�|���nlt|t*��s@t t|�d�}|du�r@z||�}Wn:t)�y>}z d�|�}t)|�|�WYd}~n
d}~00|du�r\|�rXt
|�S|St|tj+��r|d�|�}t)|��t)d�|���dS)NrKz{!r} is not a callable objectcSs
t|d�S)N�
__signature__r}r~rrrrR�rSz*_signature_from_callable.<locals>.<lambda>ryz1unexpected object {!r} in __signature__ attributerrr�)rM�__call__�__new__r�r�z(no signature found for builtin type {!r}zno signature found for {!r}z,no signature found for builtin function {!r}z+callable {!r} is not supported by signature),r#r�rPr�r�r�rrrr"r�r�r<r[rQ�_partialmethod�
partialmethodr�r�rmrTrUrvr!r.rirr�r;r�r4rr�rJrxr3r2r�r
r>�
from_callabler�r�rA)r,rLrMrNZ_get_signature_ofr]r@r�Zfirst_wrapped_paramZ
sig_paramsr�ZcallZfactory_method�new�initrPZtext_sigr^r�rrrrP�s�	�


��


�
�











�
�

 

rPc@seZdZdS)r�Nr�rrrrr�}	sr�c@seZdZdS)rNr�rrrrr�	src@s4eZdZdZdZdZdZdZdd�Ze	dd	��Z
d
S)�_ParameterKindrr�r��cCs|jSr)�_name_rrrr�__str__�	sz_ParameterKind.__str__cCst|Sr)�_PARAM_NAME_MAPPINGrrrr�description�	sz_ParameterKind.descriptionN)r�r�r�r+r,r.r/r1rHrjrJrrrrrD�	srDzpositional-onlyzpositional or keywordzvariadic positionalr�zvariadic keywordc@s�eZdZdZeZeZeZ	e
ZeZ
eZeed�dd�Zdd�Zdd�Zed	d
��Zedd��Zed
d��Zedd��Zeeeed�dd�Zdd�Zdd�Zdd�Zdd�ZdS)r!)�_name�_kind�_default�_annotationrcCszt|�|_Wn"ty0td|�d���Yn0|turb|jttfvrbd}|�|jj�}t|��||_||_	|tur~td��t
|t�s�d�t|�j
�}t|��|ddkr�|dd���r�|jtkr�d	}|�|jj�}t|��t|_d
�|dd��}|���std�|���||_dS)Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rr�r�zLimplicit arguments must be passed as positional or keyword arguments, not {}z
implicit{}z"{!r} is not a valid parameter name)rDrLr�rrYr[r�rJrMrNrr�rr�r��isdigitrXrV�isidentifierrK)r�rNrvrWr\r�rrrr��	s6

�
zParameter.__init__cCs t|�|j|jf|j|jd�fS)N�rMrN)rrKrLrMrNrrrr�
__reduce__�	s
��zParameter.__reduce__cCs|d|_|d|_dS)NrMrNrQ�r��staterrr�__setstate__�	s
zParameter.__setstate__cCs|jSr)rKrrrrrN�	szParameter.namecCs|jSr)rMrrrrrW�	szParameter.defaultcCs|jSr)rNrrrrr\�	szParameter.annotationcCs|jSr)rLrrrrrv
szParameter.kind)rNrvr\rWcCsL|tur|j}|tur|j}|tur*|j}|tur8|j}t|�||||d�Sr)r�rKrLrNrMr)r�rNrvr\rWrrrri
szParameter.replacecCs�|j}|j}|jtur(d�|t|j��}|jturb|jturPd�|t|j��}nd�|t|j��}|tkrtd|}n|t	kr�d|}|S)Nz{}: {}z{} = {}z{}={}rprs)
rvrKrNrr�rkrMrhrYr[)r�rv�	formattedrrrrH
s
�


zParameter.__str__cCsd�|jj|�S)Nz	<{} "{}">�r�r�r�rrrr�__repr__,
szParameter.__repr__cCst|j|j|j|jf�Sr)�hashrNrvr\rWrrrr�__hash__/
szParameter.__hash__cCsJ||urdSt|t�stS|j|jkoH|j|jkoH|j|jkoH|j|jkS�NT)rr!�NotImplementedrKrLrMrN�r��otherrrr�__eq__2
s

�
�
�zParameter.__eq__N)r�r�r�r�rVr+rXr,rYr.rZr/r[r1rrSr�rRrUrjrNrWr\rvr�rirHrXrZr_rrrrr!�	s2(



�r!c@sdeZdZdZdd�Zedd��Zedd��Zedd	��Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dS)�BoundArguments)r��
_signature�__weakref__cCs||_||_dSr)r�ra)r�rr�rrrr�P
szBoundArguments.__init__cCs|jSr)rarrrrrT
szBoundArguments.signaturec	Cs|g}|jj��D]b\}}|jttfvr*qtz|j|}WntyPYqtYq0|jtkrh|�	|�q|�
|�qt|�Sr)rarTrKrvr[rZr�r�rY�extendrZrm)r�r�r�rbryrrrr�X
s
zBoundArguments.argsc	Cs�i}d}|jj��D]v\}}|sD|jttfvr4d}n||jvrDd}q|sJqz|j|}WntyjYq0|jtkr�|�|�q|||<q|Sr�)	rarTrKrvr[rZr�r��update)r��kwargsZkwargs_startedr�rbryrrrreo
s&


zBoundArguments.kwargsc	Cs�|j}g}|jj��D]v\}}z|�|||f�Wqty�|jturT|j}n$|jt	urdd}n|jt
urti}nYq|�||f�Yq0qt|�|_dS)Nr)r�rarTrKrZr�rWrrvrYr[r�)r�r�Z
new_argumentsrNrb�valrrr�apply_defaults�
s	


zBoundArguments.apply_defaultscCs2||urdSt|t�stS|j|jko0|j|jkSr[)rr`r\rr�r]rrrr_�
s

�zBoundArguments.__eq__cCs|d|_|d|_dS)Nrar��rar�rSrrrrU�
s
zBoundArguments.__setstate__cCs|j|jd�S)Nrhrhrrrr�__getstate__�
szBoundArguments.__getstate__cCs@g}|j��D]\}}|�d�||��qd�|jjd�|��S)Nz{}={!r}z	<{} ({})>r})r�rKrZr�r�r�r�)r�r�ryrOrrrrX�
szBoundArguments.__repr__N)r�r�r�r�r�rjrr�rergr_rUrirXrrrrr`=
s


r`c@s�eZdZdZeZeZeZ	d+edd�dd�Z
edd��Zed	d
��Z
edd�dd
��Zedd��Zedd��Zeed�dd�Zdd�Zdd�Zdd�Zdd�dd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�ZdS),rQ)�_return_annotation�_parametersNTr5cCs�|durt�}n�|r�t�}t}d}|D]�}|j}|j}	||kr\d}
|
�|j|j�}
t|
��n||krld}|}|ttfvr�|jt	ur�|r�d}
t|
��nd}|	|vr�d�|	�}
t|
��|||	<q&ntdd�|D��}t
�|�|_||_
dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}css|]}|j|fVqdSrrq�rfrbrrrrhrSz%Signature.__init__.<locals>.<genexpr>)rrVrvrNr�rJr�rXrWrr�MappingProxyTyperkrj)r�rTrRr6r�Ztop_kindZ
kind_defaultsrbrvrNr�rrrr��
s@��



zSignature.__init__cCstjdtdd�t||�S)Nz_inspect.Signature.from_function() is deprecated since Python 3.5, use Signature.from_callable()rr@)rBrCrDr;�rgr�rrr�
from_functions�zSignature.from_functioncCstjdtdd�t||�S)Nz^inspect.Signature.from_builtin() is deprecated since Python 3.5, use Signature.from_callable()rr@)rBrCrDr4rnrrr�from_builtins�zSignature.from_builtin��follow_wrappedcCst|||d�S)N)rNrL)rP)rgr,rrrrrrA+s�zSignature.from_callablecCs|jSr)rkrrrrrT1szSignature.parameterscCs|jSr�rjrrrrrR5szSignature.return_annotation)rTrRcCs0|tur|j��}|tur |j}t|�||d�S)Nr%)r�rTrUrjr)r�rTrRrrrri9s
�zSignature.replacecCs8tdd�|j��D��}dd�|j��D�}|||jfS)Ncss|]}|jtkr|VqdSr)rvrZrlrrrrhIs
�z(Signature._hash_basis.<locals>.<genexpr>cSsi|]}|jtkr|j|�qSr)rvrZrNrlrrrr�Ls
�z)Signature._hash_basis.<locals>.<dictcomp>)rmrTrUrR)r�r��
kwo_paramsrrr�_hash_basisHszSignature._hash_basiscCs(|��\}}}t|���}t|||f�Sr)ru�	frozensetrUrY)r�r�rtrRrrrrZQszSignature.__hash__cCs*||urdSt|t�stS|��|��kSr[)rrQr\rur]rrrr_Vs

zSignature.__eq__F�r�cCs�i}t|j���}d}t|�}zt|�}Wn�t�yzt|�}	Wnty`YY�q�Yn�0|	jtkrtY�q�n�|	j|vr�|	jtkr�d}
|
j	|	jd�}
t
|
�d�|	f}Y�q�nP|	jtks�|	jt
ur�|	f}Y�q�n.|r�|	f}Y�q�nd}
|
j	|	jd�}
t
|
�d�Yq0zt|�}	Wnt�y2t
d�d�Yq0|	jttfv�rNt
d�d�|	jtk�r||g}|�|�t|�||	j<�q�|	j|v�r�|	jtk�r�t
dj	|	jd��d�|||	j<qd}t�||�D]�}	|	jtk�r�|	}�q�|	jtk�r�q�|	j}
z|�|
�}WnDt�yD|�s@|	jtk�r@|	jt
u�r@t
dj	|
d��d�Yn(0|	jtk�rdt
dj	|	jd���|||
<�q�|�r�|du�r�|||j<nt
dj	tt|��d���|�||�S)NrzA{arg!r} parameter is positional only, but was passed as a keyword)ryz$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})r rTrUr�
StopIterationrvrYrNrVr�r�r[rWrrZrcrmr)�chainr�r��_bound_arguments_cls)r�r�rer�r�rTZ
parameters_exZarg_valsZarg_valrbr�rUZkwargs_paramr�rrr�_bind]s�




���
�������

��zSignature._bindcOs|�||�Sr�r{�r�r�rerrr�bind�szSignature.bindcOs|j||dd�S)NTrwr|r}rrrr��szSignature.bind_partialcCs t|�t|j���fd|jifS�Nrj)rrmrkrUrjrrrrrR�s�zSignature.__reduce__cCs|d|_dSrrsrSrrrrU�szSignature.__setstate__cCsd�|jj|�S)Nz<{} {}>rWrrrrrX�szSignature.__repr__c	Cs�g}d}d}|j��D]d}t|�}|j}|tkr6d}n|rH|�d�d}|tkrVd}n|tkrp|rp|�d�d}|�|�q|r�|�d�d�d�	|��}|j
tur�t|j
�}|d�|�7}|S)NFTr�rpz({})r}z -> {})
rTrUr�rvrVrZrYrZr�r�rRrrk)	r�rtZrender_pos_only_separatorZrender_kw_only_separatorrbrVrvZrenderedZannorrrrH�s0




zSignature.__str__)N)r�r�r�r�r!r&r`rzrrSr�rrrorprArjrTrRr�rirurZr_r{r~r�rRrUrXrHrrrrrQ�
s:�6



	rQrqcCstj||d�S)Nrq)rQrA)r,rrrrrr'src
Cs�ddl}ddl}|��}|jddd�|jddddd	�|��}|j}|�d
�\}}}z|�|�}}	WnPty�}
z8d�	|t
|
�j|
�}t|t
jd�t
�d
�WYd}
~
n
d}
~
00|r�|�d�}|	}|D]}
t||
�}q�|	jt
jv�rtdt
jd�t
�d�|j�r�td�	|��td�	t|	���td�	|	j��||	u�rztd�	t|	j���t|	d��r�td�	|	j��n4zt|�\}}Wnt�y�Yn0td�	|��td�ntt|��dS)Nrr
zCThe object to be analysed. It supports the 'module:qualname' syntax)�helpz-dz	--details�
store_truez9Display info about the module rather than its source code)�actionr�r�zFailed to import {} ({}: {}))r�rr�z#Can't get info for builtin modules.r�z
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}�__path__zSubmodule search path: {}zLine: {}r�)�argparser��ArgumentParser�add_argument�
parse_argsr
�	partition�
import_modulernr�rr��printr��stderr�exitr�rL�builtin_module_namesZdetailsr��
__cached__rhr�rr�rr()r�r��parserr��targetZmod_nameZ	has_attrs�attrsr,r�rur��parts�part�__r�rrr�_main,s\��� 



r�r�)N)N)N)F)N)r�)r�)r�)r�)r�)r)T)T)T)��
__author__r8r��dis�collections.abcr7�enum�importlib.machineryr�r)r�r�r�r�rrrrBr#r��operatorrrr�globalsZmod_dictZCOMPILER_FLAG_NAMESrKrbrcrGr
rrrrrrr rr*r-r.r/r1r3r5r:r<r>r@rBrCrQrdrerwrVr�r�r�r�r�r�r�r�r�r�r�r�r�rnr�ZNodeVisitorr�rrrrr$r'r(r)r0r1r>r?rIrJrErcrfrkrnr�r�r�r�r�r�r�r�r�r�r��_fieldsr�r�r�r�r�r�r
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr=Z_WrapperDescriptor�allZ_MethodWrapperrrJZ_ClassMethodWrapperrAr�r�r�r�r�r�r�r
r2r4r;rPr�r�IntEnumrDr+rVr,rXr.rYr/rZr1r[rIr!r`rQrr�r�rrrr�<module>sp	




	
,
t$
>
	
/D->




�\


�
;�
<
5

 


		0

�LH_�8�	j:


?>