
    Fek                    f   d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZ ddlmZmZmZ ddlmZ ddlmZ ddlZddlmZmZ dd	lmZ dd
lmZ ddlmZ ddlm Z m!Z!m"Z"m#Z# ddlm$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 erddl4m5Z5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z<  e+jz                  e>      Z? G d d      Z@ G d de      ZAd7dZBd8d9dZC G d d      ZDd:d ZE G d! d"      ZFd;d#ZG	 	 d<	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d=d$ZHd>d%ZId?d&ZJd@d'ZKdAd(ZL eM       d)d*	 	 	 	 	 dBd+ZNdCd,ZOdd-	 	 	 	 	 	 	 	 	 dDd.ZP	 	 	 	 	 dE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd/ZQdGd0ZR	 dH	 	 	 	 	 dId1ZS	 d<	 	 	 	 	 	 	 dJd2ZTdKd3ZUdLdMd4ZVe>d5k(  r eVej                  d6d        yy)Nax  Generates reST source files for autosummary.

Usable as a library or script to generate automatic RST source files for
items referred to in autosummary:: directives.

Each generated RST file contains a single auto*:: directive which
extracts the docstring of the referred item.

Example Makefile rule::

   generate:
           sphinx-autogen -o source/generated source/*.rst
    )annotationsN)path)TYPE_CHECKINGAny
NamedTuple)TemplateNotFound)SandboxedEnvironment)__display_version__package_dir)Builder)Config)import_module)ImportExceptionGroupget_documenterimport_by_nameimport_ivar_by_name)__)ModuleAnalyzerPycodeError)SphinxComponentRegistry)loggingrst)getallsafe_getattr)	ensuredir)SphinxTemplateLoader)SequenceSet)NullTranslations)Sphinx)
Documenterc                       e Zd ZdZddZddZy)DummyApplicationz3Dummy Application class for sphinx-autogen command.c                   t               | _        t               | _        g | _        d| _        || _        d| _        d| _        d| _	        | j                  j                  di dd        | j                  j                  di dd        | j                  j                  dddt               | j                  j                          y )	N/r   Fautosummary_contextTautosummary_filename_mapautosummary_ignore_module_allenv)r   configr   registry
messagelogsrcdir
translator	verbosity
_warncountwarningiserroraddboolinit_values)selfr.   s     A/usr/lib/python3/dist-packages/sphinx/ext/autosummary/generate.py__init__zDummyApplication.__init__@   s    h/1%'$#-r4>2BdC7udK!    c                     y N )r5   argss     r6   emit_firstresultz!DummyApplication.emit_firstresultO   s    r8   N)r.   r   returnNone)r<   r   r>   r?   )__name__
__module____qualname____doc__r7   r=   r;   r8   r6   r#   r#   =   s    ="r8   r#   c                  6    e Zd ZU ded<   ded<   ded<   ded<   y)	AutosummaryEntrystrname
str | Noner   templater3   	recursiveN)r@   rA   rB   __annotations__r;   r8   r6   rE   rE   S   s    
I
MOr8   rE   c           	         ddl m}m}m}m}m}m}m}m}m	}	 |||||||||	g	}
|
D ](  }| j                  j                  |j                  |       * y )Nr   )	AttributeDocumenterClassDocumenterDataDocumenterDecoratorDocumenterExceptionDocumenterFunctionDocumenterMethodDocumenterModuleDocumenterPropertyDocumenter)sphinx.ext.autodocrM   rN   rO   rP   rQ   rR   rS   rT   rU   r+   add_documenterobjtype)apprM   rN   rO   rP   rQ   rR   rS   rT   rU   documenters
documenters               r6   setup_documentersr\   Z   s`    
 
 
 	/+>,02D+K
 " D
##J$6$6
CDr8   c                L    d| v rd}t        |      | dz   |t        |       z  z   S )N
zCan only underline single lines)
ValueErrorlen)titlelinemsgs      r6   
_underlinerd   o   s0    u}/o4<$U+++r8   c                       e Zd ZdZddZddZy)AutosummaryRendererzA helper class for rendering.c                t   t        |t              rd}t        |      t        j                  j                  t        ddd      g}t        |j                  |j                  j                  |      }t        |      | _        t        j                  | j                  j                  d<   t        j                  | j                  j                  d<   t         | j                  j                  d<   |j"                  rA| j                  j%                  d	       | j                  j'                  |j"                         y y )
Nz%Expected a Sphinx application object!extautosummary	templates)loaderescapee	underlinezjinja2.ext.i18n)
isinstancer   r_   osr   joinr   r   r-   r*   templates_pathr	   r)   r   rl   filtersrd   r.   add_extensioninstall_gettext_translations)r5   rY   rc   system_templates_pathrk   s        r6   r7   zAutosummaryRenderer.__init__y   s    c7#9CS/!!#k5-Q\!] ^%cjj#**2K2K&;= (v6%(ZZ" #

(2%>>HH""#45HH11#..A r8   c                   	 | j                   j                  |      }|j                  |      S # t        $ rM 	 | j                   j                  d|z        }n*# t        $ r | j                   j                  d      }Y nw xY wY fw xY w)zRender a template file.zautosummary/%s.rstzautosummary/base.rst)r)   get_templater   render)r5   template_namecontextrI   s       r6   ry   zAutosummaryRenderer.render   s    	Ixx,,];H w''   	II88001E1UV# I88001GHI		Is2   . 	BAB$A>;B=A>>BBN)rY   r    r>   r?   )rz   rF   r{   dictr>   rF   )r@   rA   rB   rC   r7   ry   r;   r8   r6   rf   rf   v   s    'B$(r8   rf   c                x   | j                  d      }t        |d      D ]/  \  }}	 dj                  |d|       }t        j                  |       1 | dfS # t
        $ rR |d|dz
   r2dj                  |d|dz
         dj                  ||dz
  d       fcY c S ddj                  |      fcY c S t        $ r Y w xY w)a  Split full qualified name to a pair of modname and qualname.

    A qualname is an abbreviation for "Qualified name" introduced at PEP-3155
    (https://peps.python.org/pep-3155/).  It is a dotted path name
    from the module top-level.

    A "full" qualified name means a string containing both module name and
    qualified name.

    .. note:: This function actually imports the module to check its existence.
              Therefore you need to mock 3rd party modules if needed before
              calling this function.
    .   N )split	enumeraterq   	importlibr   ImportError
IndexError)rG   partsi_partmodnames        r6   _split_full_qualified_namer      s     JJsOEeQ' 
5		hhuRay)G##G,
 8O  	-Va!e}xxfq1u.q1uv0GGGSXXe_,, 		s   )A?B9B9.B98B9c                  ,    e Zd ZddZddZddZd	dZy)
ModuleScannerc                     || _         || _        y r:   )rY   object)r5   rY   objs      r6   r7   zModuleScanner.__init__   s    r8   c                X    t        | j                  || j                        j                  S r:   )r   rY   r   rX   )r5   rG   values      r6   get_object_typezModuleScanner.get_object_type   s    dhht{{;CCCr8   c                    	 | j                   j                  d|||di       S # t        $ r,}t        j	                  t        d      ||d       Y d }~yd }~ww xY wNzautodoc-skip-memberFz\autosummary: failed to determine %r to be documented, the following exception was raised:
%sri   )type)rY   r=   	Exceptionloggerwarningr   )r5   rG   r   rX   excs        r6   
is_skippedzModuleScanner.is_skipped   si    	88,,-BG-15%E E 	NN2 H I=  : 		s   " 	A"AAc                   g }	 t        j                  | j                  j                        }|j	                         }t        | j                  | j                  j                        D ]  }	 t        | j                  |      }| j                  ||      }| j                  |||      r@	 d|f|v rd}n@t        j                  |      rd}n(t        |d      | j                  j                  k7  rd}nd}| j                  j                  j                   }	|s|du s|	sdt!        | j                        v s|j#                  |        |S # t
        $ r i }Y w xY w# t        $ r d }Y w xY w# t        $ r d}Y w xY w)Nr   FTrA   __all__)r   
for_moduler   r@   find_attr_docsr   
members_ofrY   r*   r   AttributeErrorr   r   inspectismoduler(   dirappend)
r5   imported_membersmembersanalyzer	attr_docsrG   r   rX   importedrespect_module_alls
             r6   scanzModuleScanner.scan   sn   	%001E1EFH //1I t{{DHHOO< 	%D$T[[$7 **47GtUG4
!:*$H%%e,#H!%6$++:N:NN#H$H &*XX__%R%R!R !u$&9DKK8H+Ht$?	%B I  	I	 "   " ! !s6   9E +E(A	E+EEE('E(+E98E9N)rY   r   r   r   r>   r?   )rG   rF   r   r   r>   rF   )rG   rF   r   r   rX   rF   r>   r3   )r   r3   r>   	list[str])r@   rA   rB   r7   r   r   r   r;   r8   r6   r   r      s    D)r8   r   c                `    |j                   rt        |       S t        |       xs t        |       S )zGet the members of ``obj``, possibly ignoring the ``__all__`` module attribute

    Follows the ``conf.autosummary_ignore_module_all`` setting.)r(   r   r   )r   confs     r6   r   r      s)    
 ))3xc{&c#h&r8   c                   t        |||      }i }|j                  |       |j                  dk(  rct        ||      }|j	                  |      |d<   |j
                  j                   }|xs dt        |      v xr |}t        |||dh|      \  |d<   |d<   t        |||dh|      \  |d	<   |d
<   t        |||dh|      \  |d<   |d<   t        | |d         \  |d<   |d<   t        |d      }|r.|r+|d   |d
   z   |d   z   |d   z   }|r]dt        |      v rPt        |||dhd      \  }}||z  }|D 	cg c]
  }	| dz   |	z    }}	|D 	cg c]
  }	| dz   |	z    c}	}t        |      }ng g }}d }t        ||| |      \  }}||z   |d<   ||z   |d<   n|j                  dk(  r}t        |      |d<   t        t        |            t        |j                  j                               z
  |d<   t        |||dhdh      \  |d<   |d<   t        |||ddh      \  |d<   |d<   	|
t!        |       \  }	}
|j                  dv r|
j#                  dd      d    |d<   |j                  d!v r|
}n|
j#                  dd      d"   }| |d#<   |	|d<   |
|d$<   ||d%<   |j                  |d&<   t%        |       d'z  |d(<   |r|j'                  ||      S |j'                  |j                  |      S c c}	w c c}	w ))Nmoduler   r   function)r   	functionsall_functionsclassclassesall_classes	exception
exceptionsall_exceptions
attributesall_attributes__path__Tr~   )skiprG   public_membersmodulesall_modulesinherited_membersmethodr7   )include_publicmethodsall_methods	attributeproperty)r   r   r   r   r   )r   fullnameobjnamerG   rX   =rn   )r   updaterX   r   r   r*   r(   r   _get_members_get_module_attrshasattrr   _get_modulesset__dict__keysr   rsplitr`   ry   )rG   r   parentrI   rz   r   rY   rJ   r{   r   qualnamedocnsscannerr   	ispackager   imported_modulesall_imported_modulesr   r   r   	shortnames                          r6   generate_autosummary_contentr     s    c6
*CBIIg
{{hS)%569!$!I!II+]	SX0E0\J\ c3?OP 	-;O, c3	<LM 	)9r-( c3@PQ 	/<"-. dByM2 	/<"-.C,	 ?#]#$%&' %&'  "i3s8&; c3
TJ 7 "6,,HX#YWD3J$8#Y #Y9MNgTCZ')N %!'9;R"6 !%#/$T?M$O G[,w6ByM 4{ BB}		C9CMC 1 1 344 	 c3
J<P 	)9r-( c3j(AB 	/<"-. (*6t<
{{99ooc1-a07
{{j 	OOC+B/	BzNBxLByMBvJKKByM$i#oB{O}b11s{{B//W $ZNs   8K"K'c                    	 | j                  d|||di       S # t        $ r,}t        j                  t	        d      ||d       Y d }~yd }~ww xY wr   )r=   r   r   r   r   )rY   r   rG   rX   r   s        r6   _skip_memberr   a  sc    ##$97D$'4 	4 r D ES} 	 	6 	s    	A"AAc                    t         j                  j                  j                  | d t              }|j                         D ci c]  \  }}||j                   c}}S c c}}w r:   )sphinxrh   autodocget_class_membersr   itemsr   )r   r   rG   members       r6   _get_class_membersr   l  sG    jj  223lKG4;MMODLD&D&--DDDs   Ac                ~    i }t        || j                        D ]  }	 t        ||      ||<    |S # t        $ r Y "w xY wr:   )r   r*   r   r   )rY   r   r   rG   s       r6   _get_module_membersr   q  sQ    G3

+ 	(d3GDM
 N  		s   0	<<c                p    | j                   dk(  rt        ||      S | j                   dk(  rt        |      S i S )Nr   r   )rX   r   r   )r   rY   r   s      r6   _get_all_membersr   {  s7    
{{h"3,,		!#&&Ir8   T)r   r   c                  g }g }t        | ||      }|j                         D ]  \  }	}
t        ||
|      }|j                  |v s"|st	        |
dd       |j
                  k(  s?t        ||
|	|j                        }|du r\|du r#|j                  |	       |j                  |	       |j                  |	       |	|v s|	j                  d      r|j                  |	        ||fS )NrA   TF_)	r   r   r   rX   getattrr@   r   r   
startswith)r   rY   r   typesr   r   r   publicall_membersrG   r   r[   skippeds                r6   r   r     s     EF"3S1K"((* ,e#C4
&75,=M&sE49K9KLd?%LL&MM$'LL&~-T__S5Id+!," 5=r8   c                   g g }}	 t        j                  |       }|j                         }|D ]D  \  }}|dk(  s||v s|j                  |       |j	                  d      r4|j                  |       F 	 ||fS # t
        $ r Y ||fS w xY w)z'Find module attributes with docstrings.r   r   )r   r   r   r   r   r   )rG   r   attrsr   r   r   	namespace	attr_names           r6   r   r     s    6E	!,,T2++-	$- 	- IyB9#7Y' ++C0MM),		- 5=  5=s!   2A9 A9 "A9 !A9 9	BB)r   c               j   g }g }t        j                  | j                        D ]{  \  }}}||v r|dz   |z   }		 t        |	      }
|
rt	        |
d      r/|j                  |	       |||v sG|j                  |	       Y|j                  d      rk|j                  |	       } ||fS # t
        $ r Y ^w xY w)Nr~   __sphinx_mock__r   )pkgutiliter_modulesr   r   r   r   r   r   )r   r   rG   r   r   r   r   r   _ispkgr   r   s              r6   r   r     s     EF%223<<@ (7Fd?#:'	"8,F'&*;< 	X%.(h'%%c*h''(( 5=  		s   B&&	B21B2c                   t        |       }t        |      dkD  r|d d dgz   |dd  z   }t        j                  t	        d      dj                  |      z         |r!t        j                  t	        d      |z         |-| D 	cg c]"  }	t        j                  j                  ||	      $ } }	t        |      }
t        |       }g }|r|j                  j                  }ni }t        t        |      t              D ]  }|j                  |xs) t        j                  j                  |j                        }t        |       	 t!        |j"                        \  }}}}|j%                  |d	z   d
      }i }|r%|j9                  |j                  j:                         t=        ||||
|j>                  |||j@                  |||      }t        j                  j                  ||jC                  ||      |z         }	t        j                  jE                  |	      rltG        |	|      5 }|jI                         }d d d        |k(  rJ|sNtG        |	d|      5 }|jK                  |       d d d        |jM                  |	       tG        |	d|      5 }|jK                  |       d d d        |jM                  |	        |rtO        |||||||       y y c c}	w # t&        $ r}	 t)        |j"                        \  }}}}|j%                  |d	z   d
      }n# t*        $ r}|j,                  r|j.                  |j,                  gz   }n|j.                  |gz   }t1        |D ch c]  }dt3        |      j4                   d|  nc c}w c}      }t        j7                  t	        d      |j"                  dj                  |             Y d }~Y d }~d }~ww xY wY d }~jd }~ww xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ^xY w)N   
   z...iz,[autosummary] generating autosummary for: %sz, z[autosummary] writing to %s)keyr~   r   * : z5[autosummary] failed to import %s.
Possible hints:
%sr^   )encodingw)
output_dirsuffix	base_pathr   rY   	overwrite)(sortedr`   r   infor   rq   rp   r   rf   find_autosummary_in_filesr*   r'   r   rF   abspathr   r   rG   replacer   r   r   	__cause__r   listr   r@   r   r   r&   r   rI   rJ   getisfileopenreadwriter   generate_autosummary_docs)sourcesr  r  r  r   rY   r  r  showed_sourcesfilenamerI   r   	new_filesfilename_mapentryr   rG   r   r   r   r   r   exc2r   rm   errorsr{   contentfold_contents                                 r6   r  r    s    G_N
>R',w69MM
KKAB		.)* + B45
BCELM277<<	84MM"3'H &g.E I
zz:: E
, 2':: 8RWW__UZZ8$	)7

)C&D#vw||GcM26H" #%NN3::99:.tS&(ENN/?eooW^/6B 77<<l&6&6tT&BV&KL77>>(#h2 'affh' +%(C(; %qGGG$%  *hh7 !1 !X&e2'j !)
)/93C,5	7 K N8 $ 	-@-L*c67<<#r: 	>>69nnGW6WJ!$4&!8JZPDG$4$4#5Rs;PPQr"[\$zz499V+<>	 		4' '% %! !st   'K/K"O#O0O=	O "/LO	OA O"M>=AOOOOO #O-	0O:	=P	c                    g }| D ]S  }t        |dd      5 }|j                         j                         }|j                  t	        ||             ddd       U |S # 1 sw Y   axY w)z^Find out what items are documented in source/*.rst.

    See `find_autosummary_in_lines`.
    utf-8ignore)r  r  r  N)r  r  
splitlinesextendfind_autosummary_in_lines)	filenames
documentedr  r  liness        r6   r  r  +  sy    
 *,J S(WX> 	S!FFH'')E7QR	S 	SS 	S 	Ss   ;AA&	c           
        	 t        |       \  }}}}t        j                  |      j                         }t	        || |      S # t
        $ r Y g S t        $ rn}dj                  |j                  D ch c]  }dt        |      j                   d|  nc c}w c}      }	t        j                  d|  d|	        Y d}~g S d}~wt        $ r t        j                  d|        Y g S w xY w)	znFind out what items are documented in the given object's docstring.

    See `find_autosummary_in_lines`.
    )r   r  r^   r  r  zFailed to import z.
Possible hints:
Nz_Failed to import '%s'; the module executes module level statement and it might call sys.exit().)r   pydocgetdocr%  r'  r   r   rq   r   r   r@   r   r   
SystemExit)
rG   r  	real_namer   r   r   r*  r   rm   r  s
             r6   find_autosummary_in_docstringr0  8  s    H*8*>'	3S!,,.(thOO  I   O#..QQba!1!1 2"QC8QQR*4&0DVHMNN I  H ABF	HIHs0   A A 	C&C&C 0"B
(C  "C&%C&c           	        t        j                  d      }t        j                  d      }t        j                  d      }t        j                  d      }t        j                  d      }t        j                  d      }t        j                  d      }	g }
d}d	}d
}|}d}d
}| D ]#  }|ry|j                  |      }|rd}|j                  |      }|rQ|j                  d      }|r=t        j
                  j                  t        j
                  j                  |      |      }|	j                  |      }|r |j                  d      j                         }|j                         j                  d      r|j                  |      }|rq|j                  d      j                         }|j                  d      r|dd	 }|r|j                  |dz         s| d| }|
j                  t        ||||             X|j                         r|j                  |dz         r~d}|j                  |      }|rd}|j                  d      }d}d	}d
}|j                  |      }|r=|j                  d      j                         }|
j                  t        ||             |j                  |      }|s|j                  d      }& |
S )a  Find out what items appear in autosummary:: directives in the
    given lines.

    Returns a list of (name, toctree, template) where *name* is a name
    of an object and *toctree* the :toctree: path of the corresponding
    autosummary directive (relative to the root of the file name), and
    *template* the value of the :template: option. *toctree* and
    *template* ``None`` if the directive does not have the
    corresponding options set.
    z^(\s*)\.\.\s+autosummary::\s*z.^\s*\.\.\s+automodule::\s*([A-Za-z0-9_.]+)\s*$z4^\s*\.\.\s+(current)?module::\s*([a-zA-Z0-9_.]+)\s*$z%^\s+(~?[_a-zA-Z][a-zA-Z0-9_.]*)\s*.*?z^\s+:recursive:\s*$z^\s+:toctree:\s*(.*?)\s*$z^\s+:template:\s*(.*?)\s*$FNr   Tr   :~r~    r$     )recompilematchgrouprp   r   rq   dirnamestripr   r   rE   searchr&  r0  )r*  r   r  autosummary_reautomodule_re	module_reautosummary_item_rerecursive_arg_retoctree_arg_retemplate_arg_rer)  rJ   toctreerI   current_modulein_autosummarybase_indentrb   mrG   s                       r6   r'  r'  N  s    ZZ @ANJJ9;M

?AI**%MNzz"89ZZ <=Njj!>?O)+JIGHNNK ; &&t,A 	$$T*A''!* ggll277??8+D+24G%%d+A771:++-zz|&&s+#))$/Awwqz'')??3'8D!~';<,-Qtf5D!!"24(I"VW::<4??;3D#E"N  &!N''!*KIGH  &WWQZ--/N;3 4OOD!WWQZNw;z r8   c            
     
   t        j                  dt        d      t        d            } | j                  ddddt        z  	       | j                  d
dt        d             | j                  ddddt        d             | j                  dddddt        d             | j                  ddddd t        d             | j                  ddd d!d"t        d#             | j                  d$d%d d&d"t        d'             | S )(Nz#%(prog)s [OPTIONS] <SOURCE_FILE>...z:For more information, visit <https://www.sphinx-doc.org/>.a  
Generate ReStructuredText using autosummary directives.

sphinx-autogen is a frontend to sphinx.ext.autosummary.generate. It generates
the reStructuredText files from the autosummary directives contained in the
given input files.

The format of the autosummary directive is documented in the
``sphinx.ext.autosummary`` Python module and can be read using::

  pydoc sphinx.ext.autosummary
)usageepilogdescriptionz	--versionversionshow_versionz%%(prog)s %s)actiondestrM  source_file+z&source files to generate rST files for)nargshelpz-oz--output-dirstorer  z directory to place all output in)rO  rP  rT  z-sz--suffixr  r   z/default suffix for files (default: %(default)s))rO  rP  defaultrT  z-tz--templatesrj   z0custom template directory (default: %(default)s)z-iz--imported-members
store_truer   Fz0document imported members (default: %(default)s)z-az--respect-module-allr   zPdocument exactly the members in module __all__ attribute. (default: %(default)s))argparseArgumentParserr   add_argumentr
   )parsers    r6   
get_parserr\    sX   $$3NO  F  IN .1D D  F S HI  K nW) BC  E jx % !/ 0  1 mG+ $ !/ 0  1 2</ !/ 0  1 4\15 !9 :  ;
 Mr8   c                  t        j                  t         j                  d       t        j                   j	                          t        t        j                   j                               }t        j                  |t        j                  t        j                         t        |       t               j                  | xs t        j                  dd        }|j                   rB|j"                  j$                  j'                  t)        j*                  |j                                |j,                   |j"                  _        t1        |j2                  |j4                  d|j6                  z   |j8                  |       y )Nr   r   r~   )r   rY   )locale	setlocaleLC_ALLr   init_consoler#   get_translatorr   setupsysstdoutstderrr\   r\  
parse_argsargvrj   r*   rr   r   r   r  r   r(   r  rQ  r  r  r   )rh  rY   r<   s      r6   mainri    s    
V]]B'
MM 
6==779
:CMM#szz3::.c<""4#7388AB<8D~~

!!((dnn)EF### JJ, d..!DKK//3/D/D"%'r8   __main__r   )rY   r   r>   r?   )r   )ra   rF   rb   rF   r>   rF   )rG   rF   r>   ztuple[str | None, str])r   r   r   r   r>   Sequence[str])NN)rG   rF   r   r   r   r   rI   rf   rz   rF   r   r3   rY   r   rJ   r3   r{   r|   r   rH   r   rH   r>   rF   )
rY   r    r   r   rG   rF   rX   rF   r>   r3   )r   r   r>   dict[str, Any])rY   r    r   r   r>   rl  )r   type[Documenter]rY   r    r   r   r>   rl  )r   rm  rY   r    r   r   r   zset[str]r   zSet[str]r   r3   r>   tuple[list[str], list[str]])rG   rF   r   r   r>   rn  )
r   r   r   rk  rG   rF   r   zSequence[str] | Noner>   rn  )Nz.rstNFNTr"  )r  r   r  str | os.PathLike[str] | Noner  rF   r  ro  r   r3   rY   r   r  r3   r  rF   r>   r?   )r(  r   r>   list[AutosummaryEntry]r:   )rG   rF   r  rH   r>   rp  )r*  r   r   rH   r  rH   r>   rp  )r>   zargparse.ArgumentParser)r;   )rh  rk  r>   r?   )XrC   
__future__r   rX  r   r   r^  rp   r   r,  r6  rd  r   typingr   r   r   jinja2r   jinja2.sandboxr	   sphinx.localer   r
   r   sphinx.buildersr   sphinx.configr   sphinx.ext.autodoc.importerr   sphinx.ext.autosummaryr   r   r   r   r   sphinx.pycoder   r   sphinx.registryr   sphinx.utilr   r   sphinx.util.inspectr   r   sphinx.util.osutilr   sphinx.util.templater   collections.abcr   r   gettextr   sphinx.applicationr    rV   r!   	getLoggerr@   r   r#   rE   r\   rd   rf   r   r   r   r   r   r   r   r   	frozensetr   r   r   r  r  r0  r'  r\  ri  rh  r;   r8   r6   <module>r     s   #     	   	 
  1 1 # /  3 #   5   5 3 $ 4 ( 5-()-			8	$ ,z D*,!( !(HB; ;|' 8<8<Z0+>Z0ORZ037Z0>AZ0 -1Z0 <@Z0 +5	Z0
 ,6Z0
 BEZ0zE
 -6K"&!)+F6* 04  	
 -
 9T@ KO,2IMIMFMY7*GY7&)Y7 *GY7 15	Y7 DG	Y7
 *.Y7
 ADY7
 SWY7|
 '+
#. IM]](];E]]@+\'* z!" r8   