
    -PhV-                       U d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddl	Z
ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZ erUddlZddlmZ ddlmZmZ ddlm Z  ddl!m"Z"  G d de          Z# G d de          Z$ G d de          Z%e#e$z  e%z  Z&de'd<   ddlm(Z(  ej)        e*          Z+ G d d          Z, G d d          Z-dgd#Z.i d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdId-d-dLdMdNdOdPdQZ/ ej0        dRdS1                    e/          z            Z2e
j3        j4        fdhdYZ5ddZd[did`Z4djdeZ6dkdfZ7dS )lz$Builder superclass for all builders.    )annotationsN)datetime)TYPE_CHECKING)write_mo)read_po)SphinxError)__)logging)_StrPath)SEP_last_modified_time)Iterator)Protocol	TypeAlias)Locale)BuildEnvironmentc                      e Zd Z	 	 	 ddd	Zd
S )DateFormatter.datedt.date | Noneformatstrlocalestr | Locale | Nonereturnc                    d S N )selfr   r   r   s       P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/util/i18n.py__call__zDateFormatter.__call__   s	    
 #    N)...)r   r   r   r   r   r   r   r   __name__
__module____qualname__r!   r   r"   r    r   r      s8         $'*-		 	 	 	 	 	 	r"   r   c                       e Zd Z	 	 	 	 dddZdS )TimeFormatter.time$dt.time | dt.datetime | float | Noner   r   tzinfodt.tzinfo | Noner   r   r   c                    d S r   r   )r   r)   r   r+   r   s        r    r!   zTimeFormatter.__call__'   	     #r"   N....)
r)   r*   r   r   r+   r,   r   r   r   r   r#   r   r"   r    r(   r(   &   ;         :='**-	 	 	 	 	 	 	r"   r(   c                       e Zd Z	 	 	 	 dddZdS )DatetimeFormatter.r    dt.date | dt.time | float | Noner   r   r+   r,   r   r   r   c                    d S r   r   )r   r   r   r+   r   s        r    r!   zDatetimeFormatter.__call__0   r.   r"   Nr/   )
r   r3   r   r   r+   r,   r   r   r   r   r#   r   r"   r    r2   r2   /   r0   r"   r2   r   	Formatter)UTCc                      e Zd ZdZdd	Zedd
            Zedd            Zedd            Zedd            Z	ddZ
dddZdS )CatalogInfo)base_dirdomaincharsetr9   str | os.PathLike[str]r:   r   r;   r   Nonec                J    t          |          | _        || _        || _        d S r   )r   r9   r:   r;   )r   r9   r:   r;   s       r    __init__zCatalogInfo.__init__B   s%     !**r"   c                    | j          dS )Nz.por:   r   s    r    po_filezCatalogInfo.po_fileI       +""""r"   c                    | j          dS )Nz.morA   rB   s    r    mo_filezCatalogInfo.mo_fileM   rD   r"   r   c                     | j         | j        z  S r   )r9   rC   rB   s    r    po_pathzCatalogInfo.po_pathQ       }t|++r"   c                     | j         | j        z  S r   )r9   rF   rB   s    r    mo_pathzCatalogInfo.mo_pathU   rI   r"   boolc                    | j                                          p)t          | j                   t          | j                  k     S r   )rK   existsr   rH   rB   s    r    is_outdatedzCatalogInfo.is_outdatedY   s=    <&&((( 
--0CDL0Q0QQ	
r"   Fr   	use_fuzzyc           	     L   t          | j        | j                  5 }	 t          ||          }nT# t          $ rG}t
                              t          d          | j        |dd           Y d }~d d d            d S d }~ww xY w	 d d d            n# 1 swxY w Y   t          | j        d          5 }	 t          |||           nH# t          $ r;}t
                              t          d          | j        |dd           Y d }~nd }~ww xY wd d d            d S # 1 swxY w Y   d S )	N)encodingzreading error: %s, %si18nnot_readabletypesubtypewbzwriting error: %s, %snot_writeable)
openrH   r;   r   	Exceptionloggerwarningr	   rK   r   )r   r   rP   file_popoexcfile_mos          r    r   zCatalogInfo.write_mo^   s	   $,666 	'
Wf--   .//L*     	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $,%% 
		"i0000   .//L+         
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	sr   B/B
B 1A;*B;B  BBB0D2CD
D	1D?DD		DD DN)r9   r<   r:   r   r;   r   r   r=   )r   r   )r   r   )r   rL   )F)r   r   rP   rL   r   r=   )r$   r%   r&   	__slots__r?   propertyrC   rF   rH   rK   rO   r   r   r"   r    r8   r8   ?   s        /I    # # # X# # # # X# , , , X, , , , X,
 
 
 

      r"   r8   c                  b    e Zd ZdZddZedd            Zedd            Zedd            ZdS )CatalogRepositoryz"A repository for message catalogs.basedirr<   locale_dirs	list[str]languager   rR   r   r=   c                X    t          |          | _        || _        || _        || _        d S r   )r   rf   _locale_dirsri   rR   )r   rf   rg   ri   rR   s        r    r?   zCatalogRepository.__init__|   s-      (('  r"   Iterator[_StrPath]c              #     K   | j         sd S | j        D ]`}| j        |z  | j         z  dz  }|                                r| j        |z  V  8t                              t          d          |           ad S )NLC_MESSAGESzlocale_dir %s does not exist)ri   rk   rf   rN   r\   verboser	   )r   
locale_dirlocale_paths      r    rg   zCatalogRepository.locale_dirs   s      } 	F+ 	P 	PJ,3dmCmSK!!## PlZ/////r"@AA;OOOO	P 	Pr"   #Iterator[tuple[_StrPath, _StrPath]]c              #     K   | j         D ]i}|| j        z  dz  }|                    d          D ]D}|                    |          }t	          d |j        d d         D                       r>||fV  Ejd S )Nrn   z*.poc              3  @   K   | ]}|                     d           V  dS ).N)
startswith).0parts     r    	<genexpr>z,CatalogRepository.pofiles.<locals>.<genexpr>   s.      LLts++LLLLLLr"   )rg   ri   rglobrelative_toanyparts)r   rp   rq   abs_pathrel_paths        r    pofileszCatalogRepository.pofiles   s      * 	, 	,J$t}4}DK'--f55 , ,#//<<LLss8KLLLLL !8+++++,	, 	,r"   Iterator[CatalogInfo]c              #     K   | j         D ]D\  }}|                    d                                          }t          ||| j                  V  Ed S )N )r   with_suffixas_posixr8   rR   )r   rf   filenamer:   s       r    catalogszCatalogRepository.catalogs   sb      !% 	> 	>GX))"--6688Fgvt}======	> 	>r"   N)
rf   r<   rg   rh   ri   r   rR   r   r   r=   )r   rl   )r   rr   )r   r   )	r$   r%   r&   __doc__r?   rc   rg   r   r   r   r"   r    re   re   y   s        ,,
! 
! 
! 
! 	P 	P 	P X	P , , , X, > > > X> > >r"   re   docnamer   
compaction
bool | strr   c                z    t          |t                    r|S |r!|                     t          d          d         S | S )z'Convert docname to domain for catalogs.   r   )
isinstancer   splitr   )r   r   s     r    docname_to_domainr      s@    *c""  }}S!$$Q''r"   z%aEEEz%AEEEEz%bMMMz%BMMMMz%cmediumz%-ddz%dddz%-HHz%HHHz%-Ihz%Ihhz%-jDz%jDDDz%-mMz%mMMz%-Mmz%MmmasssWWeWYYyyyyzzzZZZ%)z%pz%-Sz%Sz%Uz%wz%-Wz%W%x%Xz%yz%Yz%Zz%zz%%z(%s)|r   r   r   r   	formatterc                   t          | d          st          j        j        }	  || ||          S # t          t          j        j        f$ r< t                              t          d          |dd            || |d          cY S t          $ r0 t                              t          d          |dd           |cY S w xY w)	Nr+   )r   zInvalid Babel locale: %r.rS   babelrU   enz[Invalid date format. Quote the string by single quote if you want to output it directly: %s)hasattrr   datesformat_date
ValueErrorcoreUnknownLocaleErrorr\   r]   r	   AttributeError)r   r   r   r   s       r    babel_format_dater      s    4"" ,K+	yvf5555
56 4 4 4*++	 	 	
 	
 	
 yvd333333 
 
 
8   	 	
 	
 	
 
s   1 AC 6C ?C F)r   
local_timedatetime | Noneri   r   rL   c          	        |[t          j        d          }|+t          j        t	          |          t
                    }d}nt          j        t
                    }|r|                    d           }g }t          	                    |           }|D ]}|t          v rt                              |d          }|dk    rt          j        j        }	n)|dk    rt          j        j        }	nt          j        j        }	|                    t%          ||||	                     |                    |           d                    |          S )NSOURCE_DATE_EPOCH)tzFr   r   r   )r   r   )osgetenvr   fromtimestampfloatr6   now
astimezonedate_format_rer   date_format_mappingsgetr   r   r   format_timeformat_datetimeappendr   join)
r   r   ri   r   source_date_epochresulttokenstokenbabel_formatfunctions
             r    r   r      sS    | I&9::()%0A*B*BsKKKD JJ<3'''D ( $''F!!&))F ! !(((/33E2>>L }} ;2$ ;2 ;6MM!,x8      MM%    776??r"   r   r<   envr   c                   t           j                            |           \  }}t           j                            |          }t           j                            |j                  }	 |j        j                            |||o	|t          z   t           j        	                    |          |o	|t          z   |j        j
                  S # t          $ r}d|}t          |          |d }~ww xY w)N)rootextpathbasenamedocpathri   z"Invalid figure_language_filename: )r   r   splitextdirnamer   configfigure_language_filenamer   r   r   ri   KeyErrorr   )r   r   r   r   r   r   r`   msgs           r    get_image_filename_for_languager   4  s       **ID#good##Ggoock**G(z299*Ws]W%%d++-#Z( : 
 
 	
  ( ( (:3::#C'(s   'AC 
C+C&&C+c                    t          | |          }|                    |          \  }}t          j                            |          r|S | S r   )r   
relfn2pathr   r   rN   )r   r   
translated_abspaths        r    search_image_for_languager   I  sG    03??J
++JAw	w~~g r"   )r   r   r   r   r   r   )
r   r   r   r   r   r   r   r5   r   r   )
r   r   r   r   ri   r   r   rL   r   r   )r   r<   r   r   r   r   )r   r   r   r   r   r   )8r   
__future__r   r   os.pathrer   typingr   babel.datesr   babel.messages.mofiler   babel.messages.pofiler   sphinx.errorsr   sphinx.localer	   sphinx.utilr
   sphinx.util._pathlibr   sphinx.util.osutilr   r   dtcollections.abcr   r   r   
babel.corer   sphinx.environmentr   r   r(   r2   r5   __annotations__r6   	getLoggerr$   r\   r8   re   r   r   compiler   r   r   r   r   r   r   r   r"   r    <module>r      s+   * * * " " " " " " 				  				                       * * * * * * ) ) ) ) ) ) % % % % % %             ) ) ) ) ) ) 7 7 7 7 7 7 7 7 #M((((((********!!!!!!333333                  H    )=8;LLILLLL      		8	$	$7 7 7 7 7 7 7 7t*> *> *> *> *> *> *> *>Z   &5&6& 	5& 	6	&
 	8& 
3& 	4& 
3& 	4& 
3& 	4& 
3& 	5& 
3& 	4&  
3!&" 	4#&$   K& & & P FSXX.B%C%CCDD !;2	         L !2 2 2 2 2 2j( ( ( (*     r"   