File: //usr/lib/python3/dist-packages/sphinx/ext/__pycache__/viewcode.cpython-310.pyc
o
�$�a�5 � @ sR d Z ddlZddlZddlZddlmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ ddlmZ ddlmZmZ ddlZddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
l m!Z!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z, e)�-e.�Z/dZ0G dd� de�Z1dede2de2dee2 fdd�Z3dede4fdd�Z5dededdfdd �Z6ded!ed"e
e2 d#eddf
d$d%�Z7ded!ed&e2ddfd'd(�Z8G d)d*� d*e&�Z9ded!ed+ed,edee f
d-d.�Z:dede2dee2 fd/d0�Z;dede2de4fd1d2�Z<dede e
e2ee2ef e2f ddf fd3d4�Z=dedee2ef fd5d6�Z>dS )7z�
sphinx.ext.viewcode
~~~~~~~~~~~~~~~~~~~
Add links to module code in Python object descriptions.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�path)�Any�Dict� Generator�Iterable�Optional�Set�Tuple�cast)�nodes)�Element�Node)�addnodes)�Sphinx)�Builder)�StandaloneHTMLBuilder)�RemovedInSphinx50Warning)�BuildEnvironment)�_�__)�ModuleAnalyzer)�SphinxPostTransform)�get_full_modname�logging�status_iterator)�make_refnode�_modulesc @ s e Zd ZdZdS )�viewcode_anchorz�Node for viewcode anchors.
This node will be processed in the resolving phase.
For viewcode supported builders, they will be all converted to the anchors.
For not supported builders, they will be removed.
N)�__name__�
__module__�__qualname__�__doc__� r"