
    2 jg4                        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                  v   \ rS rSrSr        SD                 SES jjrSFS jrSGS jrSHS jr\	\
SIS j5       5       r\	\
SIS	 j5       5       r\	SJS
 j5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	SJS j5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r\	\
SIS j5       5       r \	SJS j5       r!\	\
SIS j5       5       r"\	\
SIS  j5       5       r#\	SKS! j5       r$\	SKS" j5       r%\	SKS# j5       r&\	SKS$ j5       r'\	SKS% j5       r(\	SKS& j5       r)\	SKS' j5       r*\	SKS( j5       r+\	SKS) j5       r,\	SKS* j5       r-\	SKS+ j5       r.\	SKS, j5       r/\	SKS- j5       r0\	SKS. j5       r1\	SKS/ j5       r2\	SKS0 j5       r3\	SKS1 j5       r4\	SKS2 j5       r5\	SKS3 j5       r6\	SKS4 j5       r7\	SKS5 j5       r8\	SKS6 j5       r9SLS7 jr:SLS8 jr;SLS9 jr<SLS: jr=SLS; jr>SLS< jr?SMS= jr@SMS> jrASMS? jrBSMS@ jrCSMSA jrDSMSB jrESCrFg)NPlatformDirsABC   af  Abstract base class defining all platform directory properties, their :class:`~pathlib.Path` variants, and iterators.

Platform-specific subclasses (e.g. :class:`~platformdirs.windows.Windows`, :class:`~platformdirs.macos.MacOS`,
:class:`~platformdirs.unix.Unix`) implement the abstract properties to return the appropriate paths for each
operating system.

Nc	                p    Xl         X l         X0l         X@l         XPl         X`l         Xpl         Xl        g)aC  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`.
:param use_site_for_root: See `use_site_for_root`.

N)appname	appauthorversionroaming	multipathopinionensure_existsuse_site_for_root)	selfr   r   r   r   r   r   r   r   s	            a/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/platformdirs/api.py__init__PlatformDirsABC.__init__   s]    . "	 	 	 #	 	 +	
 "3	    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_versiong   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_directoryq   s'    JTD9 r   c                ~    U R                   (       a"  UR                  [        R                  5      S   n[	        U5      $ )Nr   )r   	partitionr   pathsepr   )r   	directorys     r    _first_item_as_path_if_multipath0PlatformDirsABC._first_item_as_path_if_multipathu   s,    >>!++BJJ7:IIr   c                    g)z):returns: data directory tied to the userN r   s    r   user_data_dirPlatformDirsABC.user_data_dir{       r   c                    g)z(:returns: data directory shared by usersNr4   r5   s    r   site_data_dirPlatformDirsABC.site_data_dir   r8   r   c                    [         eNNotImplementedErrorr5   s    r   _site_data_dirsPlatformDirsABC._site_data_dirs       !!r   c                    g)z+:returns: config directory tied to the userNr4   r5   s    r   user_config_dirPlatformDirsABC.user_config_dir   r8   r   c                    g)z*:returns: config directory shared by usersNr4   r5   s    r   site_config_dirPlatformDirsABC.site_config_dir   r8   r   c                    [         er=   r>   r5   s    r   _site_config_dirs!PlatformDirsABC._site_config_dirs   rB   r   c                    g)z*:returns: cache directory tied to the userNr4   r5   s    r   user_cache_dirPlatformDirsABC.user_cache_dir   r8   r   c                    g)z):returns: cache directory shared by usersNr4   r5   s    r   site_cache_dirPlatformDirsABC.site_cache_dir   r8   r   c                    g)z*:returns: state directory tied to the userNr4   r5   s    r   user_state_dirPlatformDirsABC.user_state_dir   r8   r   c                    g)z):returns: state directory shared by usersNr4   r5   s    r   site_state_dirPlatformDirsABC.site_state_dir   r8   r   c                    g)z(:returns: log directory tied to the userNr4   r5   s    r   user_log_dirPlatformDirsABC.user_log_dir   r8   r   c                    g)z':returns: log directory shared by usersNr4   r5   s    r   site_log_dirPlatformDirsABC.site_log_dir   r8   r   c                    g)z.:returns: documents directory tied to the userNr4   r5   s    r   user_documents_dir"PlatformDirsABC.user_documents_dir   r8   r   c                    g)z.:returns: downloads directory tied to the userNr4   r5   s    r   user_downloads_dir"PlatformDirsABC.user_downloads_dir   r8   r   c                    g)z-:returns: pictures directory tied to the userNr4   r5   s    r   user_pictures_dir!PlatformDirsABC.user_pictures_dir   r8   r   c                    g)z+:returns: videos directory tied to the userNr4   r5   s    r   user_videos_dirPlatformDirsABC.user_videos_dir   r8   r   c                    g)z*:returns: music directory tied to the userNr4   r5   s    r   user_music_dirPlatformDirsABC.user_music_dir   r8   r   c                    g)z,:returns: desktop directory tied to the userNr4   r5   s    r   user_desktop_dir PlatformDirsABC.user_desktop_dir   r8   r   c                    g)z(:returns: bin directory tied to the userNr4   r5   s    r   user_bin_dirPlatformDirsABC.user_bin_dir   r8   r   c                    g)z':returns: bin directory shared by usersNr4   r5   s    r   site_bin_dirPlatformDirsABC.site_bin_dir   r8   r   c                    g)z1:returns: applications directory tied to the userNr4   r5   s    r   user_applications_dir%PlatformDirsABC.user_applications_dir   r8   r   c                    g)z0:returns: applications directory shared by usersNr4   r5   s    r   site_applications_dir%PlatformDirsABC.site_applications_dir   r8   r   c                    [         er=   r>   r5   s    r   _site_applications_dirs'PlatformDirsABC._site_applications_dirs   rB   r   c                    g)z,:returns: runtime directory tied to the userNr4   r5   s    r   user_runtime_dir PlatformDirsABC.user_runtime_dir   r8   r   c                    g)z+:returns: runtime directory shared by usersNr4   r5   s    r   site_runtime_dir PlatformDirsABC.site_runtime_dir   r8   r   c                ,    [        U R                  5      $ )z$:returns: data path tied to the user)r   r6   r5   s    r   user_data_pathPlatformDirsABC.user_data_path        D&&''r   c                ,    [        U R                  5      $ )z#:returns: data path shared by users)r   r:   r5   s    r   site_data_pathPlatformDirsABC.site_data_path   r   r   c                ,    [        U R                  5      $ )z&:returns: config path tied to the user)r   rD   r5   s    r   user_config_path PlatformDirsABC.user_config_path        D(())r   c                ,    [        U R                  5      $ )z%:returns: config path shared by users)r   rG   r5   s    r   site_config_path PlatformDirsABC.site_config_path  r   r   c                ,    [        U R                  5      $ )z%:returns: cache path tied to the user)r   rM   r5   s    r   user_cache_pathPlatformDirsABC.user_cache_path	       D''((r   c                ,    [        U R                  5      $ )z$:returns: cache path shared by users)r   rP   r5   s    r   site_cache_pathPlatformDirsABC.site_cache_path  r   r   c                ,    [        U R                  5      $ )z%:returns: state path tied to the user)r   rS   r5   s    r   user_state_pathPlatformDirsABC.user_state_path  r   r   c                ,    [        U R                  5      $ )z$:returns: state path shared by users)r   rV   r5   s    r   site_state_pathPlatformDirsABC.site_state_path  r   r   c                ,    [        U R                  5      $ )z#:returns: log path tied to the user)r   rY   r5   s    r   user_log_pathPlatformDirsABC.user_log_path       D%%&&r   c                ,    [        U R                  5      $ )z":returns: log path shared by users)r   r\   r5   s    r   site_log_pathPlatformDirsABC.site_log_path"  r   r   c                ,    [        U R                  5      $ )z):returns: documents path tied to the user)r   r_   r5   s    r   user_documents_path#PlatformDirsABC.user_documents_path'       D++,,r   c                ,    [        U R                  5      $ )z):returns: downloads path tied to the user)r   rb   r5   s    r   user_downloads_path#PlatformDirsABC.user_downloads_path,  r   r   c                ,    [        U R                  5      $ )z(:returns: pictures path tied to the user)r   re   r5   s    r   user_pictures_path"PlatformDirsABC.user_pictures_path1  s     D**++r   c                ,    [        U R                  5      $ )z&:returns: videos path tied to the user)r   rh   r5   s    r   user_videos_path PlatformDirsABC.user_videos_path6  r   r   c                ,    [        U R                  5      $ )z%:returns: music path tied to the user)r   rk   r5   s    r   user_music_pathPlatformDirsABC.user_music_path;  r   r   c                ,    [        U R                  5      $ )z':returns: desktop path tied to the user)r   rn   r5   s    r   user_desktop_path!PlatformDirsABC.user_desktop_path@       D))**r   c                ,    [        U R                  5      $ )z#:returns: bin path tied to the user)r   rq   r5   s    r   user_bin_pathPlatformDirsABC.user_bin_pathE  r   r   c                ,    [        U R                  5      $ )z":returns: bin path shared by users)r   rt   r5   s    r   site_bin_pathPlatformDirsABC.site_bin_pathJ  r   r   c                ,    [        U R                  5      $ )z,:returns: applications path tied to the user)r   rw   r5   s    r   user_applications_path&PlatformDirsABC.user_applications_pathO       D..//r   c                ,    [        U R                  5      $ )z+:returns: applications path shared by users)r   rz   r5   s    r   site_applications_path&PlatformDirsABC.site_applications_pathT  r   r   c                ,    [        U R                  5      $ )z':returns: runtime path tied to the user)r   r   r5   s    r   user_runtime_path!PlatformDirsABC.user_runtime_pathY  r   r   c                ,    [        U R                  5      $ )z&:returns: runtime path shared by users)r   r   r5   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)rD   rG   r5   s    r   iter_config_dirs PlatformDirsABC.iter_config_dirsc  s     """"""    c              #  D   #    U R                   v   U R                  v   g7f)z+:yield: all user and site data directories.N)r6   r:   r5   s    r   iter_data_dirsPlatformDirsABC.iter_data_dirsh  s           r   c              #  D   #    U R                   v   U R                  v   g7f)z,:yield: all user and site cache directories.N)rM   rP   r5   s    r   iter_cache_dirsPlatformDirsABC.iter_cache_dirsm       !!!!!!r   c              #  D   #    U R                   v   U R                  v   g7f)z,:yield: all user and site state directories.N)rS   rV   r5   s    r   iter_state_dirsPlatformDirsABC.iter_state_dirsr  r   r   c              #  D   #    U R                   v   U R                  v   g7f)z*:yield: all user and site log directories.N)rY   r\   r5   s    r   iter_log_dirsPlatformDirsABC.iter_log_dirsw  s     r   c              #  D   #    U R                   v   U R                  v   g7f)z.:yield: all user and site runtime directories.N)r   r   r5   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  "     ((*Dt* +r   c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z&:yield: all user and site state paths.N)r   r   r+   s     r   iter_state_paths PlatformDirsABC.iter_state_paths  r   r   c              #  T   #    U R                  5        H  n[        U5      v   M     g7f)z$:yield: all user and site log paths.N)r   r   r+   s     r   iter_log_pathsPlatformDirsABC.iter_log_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   r   )NNNFFTFF)r   
str | Noner   zstr | Literal[False] | Noner   r   r   boolr   r   r   r   r   r   r   r   returnNone)r#   strr   r   )r    r   r   r   )r0   r   r   r   )r   r   )r   z	list[str])r   r   )r   zIterator[str])r   zIterator[Path])G__name__
__module____qualname____firstlineno____doc__r   r%   r"   r1   propertyr   r6   r:   r@   rD   rG   rJ   rM   rP   rS   rV   rY   r\   r_   rb   re   rh   rk   rn   rq   rt   rw   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r4   r   r   r   r      s2    #15"#"'MM /M 	M
 M M M M  M 
M^: 8  8 7  7 " " :  : 9  9 " " 9  9 8  8 9  9 8  8 7  7 6  6 =  = =  = <  < :  : 9  9 ;  ; 7  7 6  6 @  @ ?  ? " " ;  ; :  : ( ( ( ( * * * * ) ) ) ) ) ) ) ) ' ' ' ' - - - - , , * * ) ) + + ' ' ' ' 0 0 0 0 + + + +#
!
"
"
 
$





r   r   )r   
__future__r   r   abcr   r   pathlibr   typingr   collections.abcr   r	   r   r4   r   r   <module>r     s.     " 	 #   (Nc Nr   