HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sphinx/ext/autodoc/__pycache__/importer.cpython-310.pyc
o

�$�a-�
@s�dZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
ddlmZmZddlmZmZddlmZddlmZmZmZmZmZmZ	e� e!�Z"ded
e#de#fdd�Z$ded
e#de
e#fdd�Z%d(de#de&defdd�Z'ded	fde#dee#de#deee#gefde&defdd�Z(dedeee#effdd�Z)Gd d!�d!e	�Z*	d)dedee#ded"edee#e*ff
d#d$�Z+dedee#dedee#d%ffd&d'�Z,dS)*z�
    sphinx.ext.autodoc.importer
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Importer utilities for autodoc

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Any�Callable�Dict�List�
NamedTuple�Optional�Tuple)�RemovedInSphinx50Warning)�ismock�
undecorate)�ModuleAnalyzer�PycodeError)�logging)�getannotations�getmro�getslots�isclass�isenumclass�safe_getattrF)�Type)�ObjectMember�subject�name�returncCsTzt|�r|�d�r|�d�sd|j|fWSW|SW|SW|Sty)Y|Sw)zMangle the given name.�__z_%s%s)r�
startswith�endswith�__name__�AttributeError)rr�r�=/usr/lib/python3/dist-packages/sphinx/ext/autodoc/importer.py�mangle s�����r!cCs�z8t|�r0|�d�s3d|j}|�|�r|�|dd�WS|jD]}d|j}|�|�r/WdSqW|SW|SW|StyBY|Sw)zUnmangle the given name.rz_%s__�N)rrrr�replace�__mro__r)rr�prefix�clsrrr �unmangle+s(




��
�
���r'�modname�warningiserrorc
Cs�zCt���4tjdtd�t�|��t�|�Wd�Wd�WS1s+wYWd�WdS1s<wYWdStyW}zt	|t
���|�d}~ww)zR
    Call importlib.import_module(modname), convert exceptions to ImportError
    �ignore)�categoryN)�warnings�catch_warnings�filterwarnings�
ImportWarningr�skip_warningiserror�	importlib�
import_module�
BaseException�ImportError�	traceback�
format_exc)r(r)�excrrr r2>s
��&���r2��objpath�objtype�
attrgetterc
Cs|r
t�d|d�|��nt�d|�z�d}d}t|�}|durbzt||d�}t�d||�Wn.ty]}z"t�d|�|}d|vrR|�dd�\}}|�d|�n�WYd}~nd}~ww|dus |}	d}
d}|D]/}|	}
t�d	|�t|	|�}
||	|
�}	zt�d
|	�Wnt	y�t�d
|	f�Ynw|}qj||
||	gWSt
tf�y
}z[t|t
�r�|r�|}|r�d|d�|�|f}nd||f}t|t�r�|j\}}t|t
�r�|d
7}n!t|t�r�|jr�|d|jd7}n|d|7}n|dt��7}t�|�t|�|�d}~ww)Nzutodoc] from %s import %s�.z[autodoc] import %s)r)z[autodoc] import %s => %rz[autodoc] import %s => failedr"rz[autodoc] getattr(_, %r)z[autodoc] => %rz.autodoc: failed to import %s %r from module %rzautodoc: failed to import %s %rzJ; the module executes module level statement and it might call sys.exit().z(; the following exception was raised:
%s)�logger�debug�join�listr2r4�rsplit�insertr!�	TypeErrorr�
isinstance�args�
SystemExitr5r6)r(r9r:r;r)�module�exc_on_importingr7r�obj�parent�object_name�attrname�mangled_name�errmsg�real_exc�
traceback_msgrrr �
import_objectMsr����

��





��rQrGc	Cs�ddlm}t�dt�i}t|�D]}zt||d�}||f||<Wqty+Yqwt|�D]}||vr<||f||<q0t	t
|����S)zGet members of target module.r��INSTANCEATTRz?sphinx.ext.autodoc.importer.get_module_members() is deprecated.N)�sphinx.ext.autodocrSr,�warnr	�dirrrr�sortedr@�values)rGrS�membersr�valuerrr �get_module_members�s"���r[c@s&eZdZUeed<eed<eed<dS)�	Attributer�directly_definedrZN)r�
__module__�__qualname__�str�__annotations__�boolrrrrr r\�s
r\�analyzerc	Cs�ddlm}||di�}i}t|�rD|j��D]\}}||vr't|d|�||<q|jd}	|D]}||	jvrCt||�}t|d|�||<q/zt	|�}
|
r^ddlm
}|
D]
}t|d|�||<qSWnttfyjYnwt
|�D])}z|||�}||v}t||�}|r�||vr�t|||�||<Wqoty�Yqowtt|��D] \}
}t|�D]}t||�}|r�||vr�t||
dk|�||<q�q�|r�d�|�}|��D]\}}||kr�||vr�t|d|�||<q�|S)z,Get members and attributes of target object.rrR�__dict__Tr"��	SLOTSATTRr<)rTrSr�__members__�itemsr\r$rdrrrfrC�
ValueErrorrVr'r�	enumeraterrr?�find_attr_docs)rr9r;rcrS�obj_dictrYrrZ�
superclass�	__slots__rfr]�ir&�	namespace�nsrrr �get_object_members�sb�


���

��
��
�rrrc	Cs�ddlm}m}||di�}i}t|�rH|j��D]\}}||vr*||||d�||<q|jd}	|D]}||	jvrGt||�}||||d�||<q2z!t	|�}
|
rhddlm
}|
��D]\}}|||||d�||<qYWnttfytYnwt
|�D]:}z/|||�}t|�r�t|�}t||�}
|
r�|
|vr�||vr�||
||d�||
<n||
|�||
<Wqyty�Yqywz�t|�D]�}zt|d�}t|d	�}t�|�}|��Wnty�d
}d
}Ynty�d
}Ynwt|�D]1}t||�}|�r||v�r|�r||f|jv�rd�|j||f�}nd
}|||||d�||<q�|�rE|j��D]\\}}}||k�rC||v�rC||||d�|�d�||<�q&q�W|St�ySY|Sw)z+Get members and attributes of target class.r)rSrrd)�class_r"re)rs�	docstringr^r_N�
)rTrSrrrgrhr$rdrrrfrCrirVr
rr'rrr�
for_module�analyzer
r�	attr_docsr?)rr9r;rSrrlrYrrZrmrnrfrt�	unmangledr&r(�qualnamercrqrrr �get_class_members�s��


����

��


�

��
���!��r{)F)N)-�__doc__r1r5r,�typingrrrrrrr�sphinx.deprecationr	�sphinx.ext.autodoc.mockr
r�
sphinx.pycoderr
�sphinx.utilr�sphinx.util.inspectrrrrrrrrTr�	getLoggerrr=r`r!r'rbr2rQr[r\rrr{rrrr �<module>sH
$ 
���
�I��

�=
�