
    .hhc                    (   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
Jr  SSKJr  SSKJr  S r " S S	\R"                  5      r " S
 S\R"                  5      r " S S\R(                  5      r " S S\R"                  5      rS rg)    )annotationsN)Iterator   )abc)onlyc                R    [        [        R                  R                  U 5      5      $ N)itercollectionsOrderedDictfromkeys)itemss    D/opt/python-3.13.8/usr/lib/python3.13/importlib/resources/readers.pyremove_duplicatesr      s    ''00788    c                  &    \ rS rSrS rS rS rSrg)
FileReader   c                b    [         R                  " UR                  5      R                  U l        g r	   )pathlibPathpathparent)selfloaders     r   __init__FileReader.__init__   s    LL-44	r   c                J    [        U R                  R                  U5      5      $ r	   strr   joinpathr   resources     r   resource_pathFileReader.resource_path        499%%h/00r   c                    U R                   $ r	   r   r   s    r   filesFileReader.files"       yyr   r(   N)__name__
__module____qualname____firstlineno__r   r$   r*   __static_attributes__ r   r   r   r      s    51r   r   c                  :   ^  \ rS rSrS rU 4S jrS rS rSrU =r	$ )	ZipReader&   c                    UR                   R                  SS5      U l         UR                  U5      (       a,  UR                  S5      u    p4U =R                   US-   -  sl         UR                  U l        g )N\/.)prefixreplace
is_package
rpartitionarchive)r   r   module_names        r   r   ZipReader.__init__'   s\    mm++D#6V$$**3/JAqKK4#:%K~~r   c                x   >  [         TU ]  U5      $ ! [         a  n[        UR                  S   5      eS nAff = fNr   )superopen_resourceKeyErrorFileNotFoundErrorargs)r   r#   exc	__class__s      r   rF   ZipReader.open_resource.   s;    	17(22 	1#CHHQK00	1s    
949c                    U R                  5       R                  U5      nUR                  5       =(       a    UR                  5       $ r	   )r*   r!   is_fileexists)r   r   targets      r   is_resourceZipReader.is_resource4   s2    
 &&t,~~3FMMO3r   c                X    [         R                  " U R                  U R                  5      $ r	   )zipfiler   r>   r:   r)   s    r   r*   ZipReader.files<   s    ||DLL$++66r   )r>   r:   )
r-   r.   r/   r0   r   rF   rQ   r*   r1   __classcell__rK   s   @r   r4   r4   &   s    &147 7r   r4   c                  x   ^  \ rS rSrS rS rS rS rS rS r	U 4S jr
\S	 5       rS
 r\S 5       rS rSrU =r$ )MultiplexedPath@   c                    [        [        [        [        U5      5      5      U l        U R                  (       d  Sn[        U5      e[        S U R                   5       5      (       d  [        S5      eg )Nz.MultiplexedPath must contain at least one pathc              3  @   #    U  H  oR                  5       v   M     g 7fr	   is_dir.0r   s     r   	<genexpr>+MultiplexedPath.__init__.<locals>.<genexpr>M   s     9[T;;==[s   z)MultiplexedPath only supports directories)listmap_ensure_traversabler   _pathsrH   allNotADirectoryError)r   pathsmessages      r   r   MultiplexedPath.__init__H   sY    324Ee4LMN{{FG#G,,9T[[999$%PQQ :r   c                    S U R                    5       n[        R                  " S5      n[        R                  " [        XS9US9n[        U R                  S U 5       5      $ )Nc              3  R   #    U  H  oR                  5         H  o"v   M     M     g 7fr	   )iterdir)r`   r   childs      r   ra   *MultiplexedPath.iterdir.<locals>.<genexpr>Q   s     Nkd||~eE~Eks   %'rA   )keyc              3  *   #    U  H	  u  pUv   M     g 7fr	   r2   )r`   rA   locss      r   ra   rp   T   s     !@:4$s   )rf   operator
attrgetter	itertoolsgroupbysortedrd   _follow)r   childrenby_namegroupss       r   rn   MultiplexedPath.iterdirP   sN    NdkkN%%f-""6(#@gN4<<!@!@AAr   c                    [        U  S35      eNz is not a filerH   r)   s    r   
read_bytesMultiplexedPath.read_bytesV       4& 788r   c                    [        U  S35      er   r   r   rI   kwargss      r   	read_textMultiplexedPath.read_textY   r   r   c                    g)NTr2   r)   s    r   r^   MultiplexedPath.is_dir\   s    r   c                    g)NFr2   r)   s    r   rN   MultiplexedPath.is_file_   s    r   c                   >  [         TU ]  " U6 $ ! [        R                   a    U R                  S   R                  " U6 s $ f = frD   )rE   r!   r   TraversalErrorrf   )r   descendantsrK   s     r   r!   MultiplexedPath.joinpathb   sH    	97#[11!! 	9 ;;q>**K88	9s    0AAc                    [         R                  " US5      u  p#n [        U5      $ ! [         a&     U " U6 s $ ! [         a    [        U5      s s $ f = ff = f)N   )rv   teer   
ValueErrorrh   next)clsrz   subdirsone_dirone_files        r   ry   MultiplexedPath._followj   s_     &/]]8Q%?"(	&=  	&&G}$% &H~%&	&s)   
' 
A9AAAAAc                    [        U  S35      er   r   r   s      r   openMultiplexedPath.open}   r   r   c                4    U R                   S   R                  $ rD   )rf   rA   r)   s    r   rA   MultiplexedPath.name   s    {{1~"""r   c                R    SR                  S U R                   5       5      nSU S3$ )Nz, c              3  .   #    U  H  nS U S 3v   M     g7f)'Nr2   r_   s     r   ra   +MultiplexedPath.__repr__.<locals>.<genexpr>   s     >+$AdV1++s   zMultiplexedPath())joinrf   )r   ri   s     r   __repr__MultiplexedPath.__repr__   s)    		>$++>>!%**r   )rf   )r-   r.   r/   r0   r   rn   r   r   r^   rN   r!   classmethodry   r   propertyrA   r   r1   rV   rW   s   @r   rY   rY   @   s_    RB999 & &$9 # #+ +r   rY   c                  b    \ rS rSrS r\S
S j5       r\SS j5       r\SS j5       r	S r
S rSrg	)NamespaceReader   c           	         S[        U5      ;  a  [        S5      e[        [        [        [        U R                  U5      5      6 U l        g )NNamespacePathzInvalid path)r    r   rY   filterboolrd   _resolver   )r   namespace_paths     r   r   NamespaceReader.__init__   s8    #n"55^,,#VD#dmm^2T%UV	r   c                J    S U R                  U5       5       n[        US 5      $ )Nc              3  R   #    U  H  oR                  5       (       d  M  Uv   M     g 7fr	   r]   )r`   cands     r   ra   +NamespaceReader._resolve.<locals>.<genexpr>   s     Q!?;;=!?s   '	')_candidate_pathsr   )r   path_strdirss      r   r   NamespaceReader._resolve   s'     R!5!5h!?QD$r   c              #  r   #    [         R                  " U5      v   U R                  U5       S h  vN   g  N7fr	   )r   r   _resolve_zip_path)r   r   s     r   r    NamespaceReader._candidate_paths   s(     ll8$$((222s   -757c              #    #    [        [        [        R                  " SU 5      5      5       H  n[        R
                  " [        [        [        [        5         XR                  5       S  R                  SS5      S-   n[        R                  " U S UR                  5        UR                  S5      5      v   S S S 5        M     g ! , (       d  f       M  = f7f)Nz[\\/]r7   r8   )reversedrc   refinditer
contextlibsuppressrH   IsADirectoryErrorrh   PermissionErrorendr;   rT   r   startlstrip)r   matchinners      r   r   !NamespaceReader._resolve_zip_path   s     d2;;x#BCDE$$!!"	 !/77cBSHll8Oekkm#<ell3>OPP  E s   ACAC7C
C	Cc                J    [        U R                  R                  U5      5      $ r	   r   r"   s     r   r$   NamespaceReader.resource_path   r&   r   c                    U R                   $ r	   r(   r)   s    r   r*   NamespaceReader.files   r,   r   r(   N)returnzabc.Traversable | None)r   r    r   zIterator[abc.Traversable])r   r    )r-   r.   r/   r0   r   r   r   r   staticmethodr   r$   r*   r1   r2   r   r   r   r      sP    W
     3 3 	Q 	Q1r   r   c                    [        U [        5      (       d  U $ [        R                  " S[        SS9  [
        R                  " U 5      $ )Nz<String arguments are deprecated. Pass a Traversable instead.r   )
stacklevel)
isinstancer    warningswarnDeprecationWarningr   r   r(   s    r   re   re      s<     dC  MMF <<r   )
__future__r   r   r   rv   r   rt   r   r   rT   collections.abcr    r   
_itertoolsr   r   TraversableResourcesr   r4   TraversablerY   r   re   r2   r   r   <module>r      s}    "      	   $  9))  7(( 74F+coo F+R0c.. 0fr   