
    q"h=$                        S r SSKJr  SSKrSSKJrJr  SSKJr  SSK	J
r
  \
(       a  SSKJr  SSK	Jr   " S	 S
\5      rg)z	Base API.    )annotationsN)ABCabstractmethod)Path)TYPE_CHECKING)Iterator)Literalc                     \ rS rSrSr       S1               S2S jjrS3S jrS4S jrS5S jr\	\
S6S j5       5       r\	\
S6S	 j5       5       r\	\
S6S
 j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	\
S6S j5       5       r\	S7S j5       r\	S7S j5       r\	S7S j5       r\	S7S j5       r\	S7S j5       r\	S7S j5       r \	S7S j5       r!\	S7S j5       r"\	S7S  j5       r#\	S7S! j5       r$\	S7S" j5       r%\	S7S# j5       r&\	S7S$ j5       r'\	S7S% j5       r(\	S7S& j5       r)\	S7S' j5       r*S8S( jr+S8S) jr,S8S* jr-S8S+ jr.S9S, jr/S9S- jr0S9S. jr1S9S/ jr2S0r3g):PlatformDirsABC   z-Abstract base class for platform directories.Nc                `    Xl         X l         X0l         X@l         XPl         X`l        Xpl        g)a  
Create a new platform directory.

:param appname: See `appname`.
:param appauthor: See `appauthor`.
:param version: See `version`.
:param roaming: See `roaming`.
:param multipath: See `multipath`.
:param opinion: See `opinion`.
:param ensure_exists: See `ensure_exists`.

N)appname	appauthorversionroaming	multipathopinionensure_exists)selfr   r   r   r   r   r   r   s           N/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/platformdirs/api.py__init__PlatformDirsABC.__init__   sI    , "	 	 	 #	 *	    c                <   [        USS  5      nU R                  (       aG  UR                  U R                  5        U R                  (       a  UR                  U R                  5        [        R
                  R                  " US   /UQ76 nU R                  U5        U$ )N   r   )listr   appendr   ospathjoin_optionally_create_directory)r   baseparamsr   s       r   _append_app_name_and_version,PlatformDirsABC._append_app_name_and_versionQ   sm    d12h<<MM$,,'||dll+ww||DG-f-))$/r   c                Z    U R                   (       a  [        U5      R                  SSS9  g g )NT)parentsexist_ok)r   r   mkdirr   r   s     r   r!   ,PlatformDirsABC._optionally_create_directory[   s'    JTD9 r   c                ~    U R                   (       a"  UR                  [        R                  5      S   n[	        U5      $ )Nr   )r   splitr   pathsepr   )r   	directorys     r    _first_item_as_path_if_multipath0PlatformDirsABC._first_item_as_path_if_multipath_   s*    >>!

3A6IIr   c                    g)z(:return: data directory tied to the userN r   s    r   user_data_dirPlatformDirsABC.user_data_dire       r   c                    g)z':return: data directory shared by usersNr3   r4   s    r   site_data_dirPlatformDirsABC.site_data_dirj   r7   r   c                    g)z*:return: config directory tied to the userNr3   r4   s    r   user_config_dirPlatformDirsABC.user_config_diro   r7   r   c                    g)z-:return: config directory shared by the usersNr3   r4   s    r   site_config_dirPlatformDirsABC.site_config_dirt   r7   r   c                    g)z):return: cache directory tied to the userNr3   r4   s    r   user_cache_dirPlatformDirsABC.user_cache_diry   r7   r   c                    g)z(:return: cache directory shared by usersNr3   r4   s    r   site_cache_dirPlatformDirsABC.site_cache_dir~   r7   r   c                    g)z):return: state directory tied to the userNr3   r4   s    r   user_state_dirPlatformDirsABC.user_state_dir   r7   r   c                    g)z':return: log directory tied to the userNr3   r4   s    r   user_log_dirPlatformDirsABC.user_log_dir   r7   r   c                    g)z-:return: documents directory tied to the userNr3   r4   s    r   user_documents_dir"PlatformDirsABC.user_documents_dir   r7   r   c                    g)z-:return: downloads directory tied to the userNr3   r4   s    r   user_downloads_dir"PlatformDirsABC.user_downloads_dir   r7   r   c                    g)z,:return: pictures directory tied to the userNr3   r4   s    r   user_pictures_dir!PlatformDirsABC.user_pictures_dir   r7   r   c                    g)z*:return: videos directory tied to the userNr3   r4   s    r   user_videos_dirPlatformDirsABC.user_videos_dir   r7   r   c                    g)z):return: music directory tied to the userNr3   r4   s    r   user_music_dirPlatformDirsABC.user_music_dir   r7   r   c                    g)z+:return: desktop directory tied to the userNr3   r4   s    r   user_desktop_dir PlatformDirsABC.user_desktop_dir   r7   r   c                    g)z+:return: runtime directory tied to the userNr3   r4   s    r   user_runtime_dir PlatformDirsABC.user_runtime_dir   r7   r   c                    g)z*:return: runtime directory shared by usersNr3   r4   s    r   site_runtime_dir PlatformDirsABC.site_runtime_dir   r7   r   c                ,    [        U R                  5      $ )z#:return: data path tied to the user)r   r5   r4   s    r   user_data_pathPlatformDirsABC.user_data_path        D&&''r   c                ,    [        U R                  5      $ )z":return: data path shared by users)r   r9   r4   s    r   site_data_pathPlatformDirsABC.site_data_path   rh   r   c                ,    [        U R                  5      $ )z%:return: config path tied to the user)r   r<   r4   s    r   user_config_path PlatformDirsABC.user_config_path        D(())r   c                ,    [        U R                  5      $ )z(:return: config path shared by the users)r   r?   r4   s    r   site_config_path PlatformDirsABC.site_config_path   ro   r   c                ,    [        U R                  5      $ )z$:return: cache path tied to the user)r   rB   r4   s    r   user_cache_pathPlatformDirsABC.user_cache_path        D''((r   c                ,    [        U R                  5      $ )z#:return: cache path shared by users)r   rE   r4   s    r   site_cache_pathPlatformDirsABC.site_cache_path   rv   r   c                ,    [        U R                  5      $ )z$:return: state path tied to the user)r   rH   r4   s    r   user_state_pathPlatformDirsABC.user_state_path   rv   r   c                ,    [        U R                  5      $ )z":return: log path tied to the user)r   rK   r4   s    r   user_log_pathPlatformDirsABC.user_log_path   s     D%%&&r   c                ,    [        U R                  5      $ )z*:return: documents a path tied to the user)r   rN   r4   s    r   user_documents_path#PlatformDirsABC.user_documents_path        D++,,r   c                ,    [        U R                  5      $ )z(:return: downloads path tied to the user)r   rQ   r4   s    r   user_downloads_path#PlatformDirsABC.user_downloads_path   r   r   c                ,    [        U R                  5      $ )z':return: pictures path tied to the user)r   rT   r4   s    r   user_pictures_path"PlatformDirsABC.user_pictures_path   s     D**++r   c                ,    [        U R                  5      $ )z%:return: videos path tied to the user)r   rW   r4   s    r   user_videos_path PlatformDirsABC.user_videos_path   ro   r   c                ,    [        U R                  5      $ )z$:return: music path tied to the user)r   rZ   r4   s    r   user_music_pathPlatformDirsABC.user_music_path   rv   r   c                ,    [        U R                  5      $ )z&:return: desktop path tied to the user)r   r]   r4   s    r   user_desktop_path!PlatformDirsABC.user_desktop_path        D))**r   c                ,    [        U R                  5      $ )z&:return: runtime path tied to the user)r   r`   r4   s    r   user_runtime_path!PlatformDirsABC.user_runtime_path   r   r   c                ,    [        U R                  5      $ )z%:return: runtime path shared by users)r   rc   r4   s    r   site_runtime_path!PlatformDirsABC.site_runtime_path   r   r   c              #  D   #    U R                   v   U R                  v   g7f)z4:yield: all user and site configuration directories.N)r<   r?   r4   s    r   iter_config_dirs PlatformDirsABC.iter_config_dirs  s     """"""    c              #  D   #    U R                   v   U R                  v   g7f)z+:yield: all user and site data directories.N)r5   r9   r4   s    r   iter_data_dirsPlatformDirsABC.iter_data_dirs
  s           r   c              #  D   #    U R                   v   U R                  v   g7f)z,:yield: all user and site cache directories.N)rB   rE   r4   s    r   iter_cache_dirsPlatformDirsABC.iter_cache_dirs  s     !!!!!!r   c              #  D   #    U R                   v   U R                  v   g7f)z.:yield: all user and site runtime directories.N)r`   rc   r4   s    r   iter_runtime_dirs!PlatformDirsABC.iter_runtime_dirs  s     ######r   c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z.:yield: all user and site configuration paths.N)r   r   r*   s     r   iter_config_paths!PlatformDirsABC.iter_config_paths  s"     ))+Dt* ,   &(c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z%:yield: all user and site data paths.N)r   r   r*   s     r   iter_data_pathsPlatformDirsABC.iter_data_paths  s"     '')Dt* *r   c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z&:yield: all user and site cache paths.N)r   r   r*   s     r   iter_cache_paths PlatformDirsABC.iter_cache_paths#  s"     ((*Dt* +r   c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z(:yield: all user and site runtime paths.N)r   r   r*   s     r   iter_runtime_paths"PlatformDirsABC.iter_runtime_paths(  s"     **,Dt* -r   )r   r   r   r   r   r   r   )NNNFFTF)r   
str | Noner   zstr | Literal[False] | Noner   r   r   boolr   r   r   r   r   r   returnNone)r"   strr   r   )r   r   r   r   )r/   r   r   r   )r   r   )r   r   )r   zIterator[str])r   zIterator[Path])4__name__
__module____qualname____firstlineno____doc__r   r$   r!   r0   propertyr   r5   r9   r<   r?   rB   rE   rH   rK   rN   rQ   rT   rW   rZ   r]   r`   rc   rf   rj   rm   rq   rt   rx   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r3   r   r   r   r      s   7 #15"#== /= 	=
 = = = = 
=~: 7  7 6  6 9  9 <  < 8  8 7  7 8  8 6  6 <  < <  < ;  ; 9  9 8  8 :  : :  : 9  9 ( ( ( ( * * * * ) ) ) ) ) ) ' ' - - - - , , * * ) ) + + + + + +#
!
"
$



r   r   )r   
__future__r   r   abcr   r   pathlibr   typingr   collections.abcr   r	   r   r3   r   r   <module>r      s.     " 	 #   (\c \r   