o
    B©Zhk  ã                   @  s>   d Z ddlmZ ddlZddlmZ ddlmZ dd
d„ZdS )zí
    getargspec excerpted from:

    sphinx.util.inspect
    ~~~~~~~~~~~~~~~~~~~
    Helpers for inspecting Python modules.
    :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚannotationsN)Úpartial)ÚAnyÚfuncr   Úreturnúinspect.FullArgSpecc           	   
   C  sL  t  | ¡r| j} t| ƒtu r‰| j}t|ƒ}t|d ƒ}t|d p!dƒ}t|d ƒ}t|d p/i ƒ}| j	r=|t
| j	ƒd… }| jpAdD ]3}z| |¡t
|ƒ }||= z||= W n	 ty_   Y nw W qB tyu   | |¡}||= ||= Y qBw t  ||d |d t|ƒ|||d	 ¡S t| d
ƒr–| j} t| d
ƒsŽt  | ¡s¡td|  ƒ‚t  | ¡S )z?Like inspect.getargspec but supports functools.partial as well.r   é   © é   é   Né   é   é   Ú__wrapped__z%r is not a Python function)ÚinspectÚismethodÚ__func__Útyper   r   Ú
getargspecÚlistÚdictÚargsÚlenÚkeywordsÚindexÚ
IndexErrorÚ
ValueErrorÚFullArgSpecÚtupleÚhasattrr   Ú
isfunctionÚ	TypeErrorÚgetfullargspec)	r   Z	orig_funcZargspecr   ÚdefaultsZkwoargsZkwodefsÚargÚir	   r	   úQ/var/www/html/lang_env/lib/python3.10/site-packages/traitlets/utils/getargspec.pyr      sF   

ÿ€

ýÿ

ÿ

r   )r   r   r   r   )	Ú__doc__Ú
__future__r   r   Ú	functoolsr   Útypingr   r   r	   r	   r	   r&   Ú<module>   s    	