
    }c\
                         d Z ddlmZmZm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 erddlmZ  ej        e          Z G d	 d
          Zddde	ddfdZdddeeef         fdZdS )z Utilities for Sphinx extensions.    )TYPE_CHECKINGAnyDict)InvalidVersionVersion)Config)VersionRequirementError)__)logging)Sphinxc                   &    e Zd ZdedededdfdZdS )	ExtensionnamemodulekwargsreturnNc                     || _         || _        || _        |                    dd          | _        |                    dd           | _        |                    dd          | _        d S )Nversionunknown versionparallel_read_safeparallel_write_safeT)r   r   metadatapopr   r   r   )selfr   r   r   s       0lib/python3.11/site-packages/sphinx/extension.py__init__zExtension.__init__   se    	zz)->??
 #)**-A4"H"H
 $*::.CT#J#J       )__name__
__module____qualname__strr   r    r   r   r   r      sN        KS K# K K K K K K K Kr   r   appr   configr   Nc                    |j         dS |j                                         D ]\  }}| j                            |          }|)t                              t          d          |           Jd}|j        dk    rd}nF	 t          |          t          |j                  k    rd}n# t          $ r ||j        k    rd}Y nw xY w|s't          t          d          |||j        fz            dS )z1Verify the required Sphinx extensions are loaded.NzPThe %s extension is required by needs_extensions settings, but it is not loaded.Tr   FzvThis project needs the extension %s at least in version %s and therefore cannot be built with the loaded version (%s).)needs_extensionsitems
extensionsgetloggerwarningr
   r   r   r   r	   )r#   r$   extname
reqversion	extension	fulfilleds         r   verify_needs_extensionsr0   $   sY    %6<<>> T TN&&w//	 	NN2 6 7 78?A A A	 11 	&II&:&&1B)C)CC & %I! & & &	 11 & %I&  	T)" .H +I +I ,3J	@Q*R+S T T T	T%T Ts   >'B&&C ?C c                 H    |                      dt          d           ddddS )Nzconfig-initedi   )prioritybuiltinT)r   r   r   )connectr0   )r#   s    r   setupr5   B   s5    KK!83KGGG "#  r   )__doc__typingr   r   r   packaging.versionr   r   sphinx.configr   sphinx.errorsr	   sphinx.localer
   sphinx.utilr   sphinx.applicationr   	getLoggerr   r*   r   r0   r!   r5   r"   r   r   <module>r?      sI   & & + + + + + + + + + + 5 5 5 5 5 5 5 5             1 1 1 1 1 1             *))))))		8	$	$K K K K K K K K$T T6 Td T T T T<x DcN      r   