
    MhW                       d Z ddlmZ ddl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 erdd	lmZ dd
lmZ ej        dk    rddlmZ nej        dk    rddlmZ nddlmZ dBdZereZn
 e            ZeZ	 	 	 	 	 dCdDdZ	 	 	 	 	 dCdEdZ	 	 	 	 	 dCdDd Z	 	 	 	 	 dCdEd!Z	 	 	 	 	 dFdGd$Z	 	 	 	 	 dFdGd%Z 	 	 	 	 	 dCdDd&Z!	 	 	 	 	 dFdGd'Z"dHd(Z#dHd)Z$dHd*Z%dHd+Z&dHd,Z'dHd-Z(	 	 	 	 	 dFdGd.Z)	 	 	 	 	 dFdGd/Z*	 	 	 	 	 dCdId1Z+	 	 	 	 	 dCdJd2Z,	 	 	 	 	 dCdId3Z-	 	 	 	 	 dCdJd4Z.	 	 	 	 	 dFdKd5Z/	 	 	 	 	 dFdKd6Z0	 	 	 	 	 dCdId7Z1	 	 	 	 	 dFdKd8Z2dLd9Z3dLd:Z4dLd;Z5dLd<Z6dLd=Z7dLd>Z8	 	 	 	 	 dFdKd?Z9	 	 	 	 	 dFdKd@Z:g dAZ;dS )Mz
Utilities for determining application-specific dirs.

See <https://github.com/platformdirs/platformdirs> for details and usage.

    )annotationsN)TYPE_CHECKING   )PlatformDirsABC)__version__)__version_tuple__)Path)Literalwin32)Windowsdarwin)MacOS)Unixreturntype[PlatformDirsABC]c                     t          j        d          dk    r_t          j        d          dk    rGt          j        d          st          j        d          rt          S ddlm}   |             dd	lm} |S t          S )
NANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIXr   )_android_folder)Android)osgetenv_Resultplatformdirs.androidr   r   )r   r   s     U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/platformdirs/__init__.py_set_platform_dir_classr      s    	y  G++	.0I0IY0V0V9W 	8!4!4 	N888888?(444444NN    Fappname
str | None	appauthorstr | Literal[False] | Noneversionroamingboolensure_existsstrc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory tied to the user
    r    r"   r$   r%   r'   )PlatformDirsuser_data_dirr*   s        r   r,   r,   5   /     #   r   	multipathc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory shared by users
    r    r"   r$   r.   r'   )r+   site_data_dirr0   s        r   r1   r1   M   s/     #   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory tied to the user
    r*   )r+   user_config_dirr*   s        r   r3   r3   e   /     #   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory shared by the users
    r0   )r+   site_config_dirr0   s        r   r6   r6   }   s/     #   r   Topinionc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r    r"   r$   r7   r'   )r+   user_cache_dirr9   s        r   r:   r:      /     #   r   c                4    t          | ||||          j        S a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r9   )r+   site_cache_dirr9   s        r   r>   r>      r;   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state directory tied to the user
    r*   )r+   user_state_dirr*   s        r   r@   r@      r;   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log directory tied to the user
    r9   )r+   user_log_dirr9   s        r   rB   rB      s/     #   r   c                 (    t                      j        S )z.:returns: documents directory tied to the user)r+   user_documents_dir r   r   rD   rD          >>,,r   c                 (    t                      j        S )z.:returns: downloads directory tied to the user)r+   user_downloads_dirrE   r   r   rH   rH      rF   r   c                 (    t                      j        S )z-:returns: pictures directory tied to the user)r+   user_pictures_dirrE   r   r   rJ   rJ          >>++r   c                 (    t                      j        S )z+:returns: videos directory tied to the user)r+   user_videos_dirrE   r   r   rM   rM         >>))r   c                 (    t                      j        S )z*:returns: music directory tied to the user)r+   user_music_dirrE   r   r   rP   rP   	  s    >>((r   c                 (    t                      j        S )z,:returns: desktop directory tied to the user)r+   user_desktop_dirrE   r   r   rR   rR         >>**r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory tied to the user
    r9   )r+   user_runtime_dirr9   s        r   rU   rU     /     #   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory shared by users
    r9   )r+   site_runtime_dirr9   s        r   rX   rX   +  rV   r   r	   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path tied to the user
    r*   )r+   user_data_pathr*   s        r   rZ   rZ   C  r;   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r0   )r+   site_data_pathr0   s        r   r\   r\   [  s/     #   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path tied to the user
    r*   )r+   user_config_pathr*   s        r   r^   r^   s  rV   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r0   )r+   site_config_pathr0   s        r   r`   r`     s/     #   r   c                4    t          | ||||          j        S r=   )r+   site_cache_pathr9   s        r   rb   rb     r4   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache path tied to the user
    r9   )r+   user_cache_pathr9   s        r   rd   rd     r4   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state path tied to the user
    r*   )r+   user_state_pathr*   s        r   rf   rf     r4   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log path tied to the user
    r9   )r+   user_log_pathr9   s        r   rh   rh     r-   r   c                 (    t                      j        S )z+:returns: documents a path tied to the user)r+   user_documents_pathrE   r   r   rj   rj         >>--r   c                 (    t                      j        S )z):returns: downloads path tied to the user)r+   user_downloads_pathrE   r   r   rm   rm     rk   r   c                 (    t                      j        S )z(:returns: pictures path tied to the user)r+   user_pictures_pathrE   r   r   ro   ro     rF   r   c                 (    t                      j        S )z&:returns: videos path tied to the user)r+   user_videos_pathrE   r   r   rq   rq     rS   r   c                 (    t                      j        S )z%:returns: music path tied to the user)r+   user_music_pathrE   r   r   rs   rs     rN   r   c                 (    t                      j        S )z':returns: desktop path tied to the user)r+   user_desktop_pathrE   r   r   ru   ru     rK   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path tied to the user
    r9   )r+   user_runtime_pathr9   s        r   rw   rw   !  /     #   r   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path shared by users
    r9   )r+   site_runtime_pathr9   s        r   rz   rz   9  rx   r   )%AppDirsr+   r   r   __version_info__r>   rb   r6   r`   r1   r\   rX   rz   r:   rd   r3   r^   r,   rZ   rR   ru   rD   rj   rH   rm   rB   rh   rP   rs   rJ   ro   rU   rw   r@   rf   rM   rq   )r   r   )NNNFF)r    r!   r"   r#   r$   r!   r%   r&   r'   r&   r   r(   )r    r!   r"   r#   r$   r!   r.   r&   r'   r&   r   r(   )NNNTF)r    r!   r"   r#   r$   r!   r7   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!   r7   r&   r'   r&   r   r	   )r   r	   )<__doc__
__future__r   r   systypingr   apir   r$   r   r   r|   pathlibr	   r
   platformplatformdirs.windowsr   r   platformdirs.macosr   platformdirs.unixr   r   r+   r{   r,   r1   r3   r6   r:   r>   r@   rB   rD   rH   rJ   rM   rP   rR   rU   rX   rZ   r\   r^   r`   rb   rd   rf   rh   rj   rm   ro   rq   rs   ru   rw   rz   __all__rE   r   r   <module>r      s    # " " " " " 				 



                                     : : : : : : <77777777\X3333333111111     -LL**,,L
 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    0- - - -
- - - -
, , , ,
* * * *
) ) ) )
+ + + + -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    0. . . .
. . . .
- - - -
+ + + +
* * * *
, , , , -1    2 -1    0& & &r   