o
    ڷiw                     @  s  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r6dd	lmZ dd
lmZ ejdkrBddlmZ nejdkrNddlmZ nddlmZ d|ddZer^eZne ZeZ						d}d~dd Z					ddd"d#Z						d}d~d$d%Z					ddd&d'Z				(		ddd*d+Z				(	ddd,d-Z 						d}d~d.d/Z!				ddd0d1Z"				(		ddd2d3Z#				(	ddd4d5Z$dd6d7Z%dd8d9Z&dd:d;Z'dd<d=Z(dd>d?Z)dd@dAZ*ddBdCZ+ddDdEZ,ddFdGZ-		dddHdIZ.				(		dddJdKZ/				(	dddLdMZ0						d}ddOdPZ1					dddQdRZ2						d}ddSdTZ3					dddUdVZ4				(	dddWdXZ5				(		dddYdZZ6						d}dd[d\Z7				ddd]d^Z8				(		ddd_d`Z9				(	dddadbZ:ddcddZ;ddedfZ<ddgdhZ=ddidjZ>ddkdlZ?ddmdnZ@ddodpZAddqdrZBddsdtZC		dddudvZD				(		dddwdxZE				(	dddydzZFg d{ZGdS )a]  Utilities for determining application-specific dirs.

Provides convenience functions (e.g. :func:`user_data_dir`, :func:`user_config_path`), a :data:`PlatformDirs` class that
auto-detects the current platform, and the :class:`~platformdirs.api.PlatformDirsABC` base class.

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                  C  s^   t ddkr-t ddkr-t dst drtS ddlm}  |  d ur-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    r   K/home/ubuntu/vllm_env/lib/python3.10/site-packages/platformdirs/__init__.py_set_platform_dir_class    s   
r   Fappname
str | None	appauthorstr | Literal[False] | Noneversionroamingboolensure_existsuse_site_for_rootstrc                 C     t | |||||d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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: data directory tied to the user

    r   r    r"   r#   r%   r&   )PlatformDirsuser_data_dirr)   r   r   r   r+   7      r+   	multipathc                 C     t | ||||d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 directory shared by users

    r   r    r"   r-   r%   )r*   site_data_dirr/   r   r   r   r0   S      r0   c                 C  r(   )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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: config directory tied to the user

    r)   )r*   user_config_dirr)   r   r   r   r2   l   r,   r2   c                 C  r.   )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: config directory shared by users

    r/   )r*   site_config_dirr/   r   r   r   r3      r1   r3   Topinionc                 C  r(   )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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: cache directory tied to the user

    r   r    r"   r4   r%   r&   )r*   user_cache_dirr5   r   r   r   r6      r,   r6   c                 C  r.   )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 shared by users

    r   r    r"   r4   r%   )r*   site_cache_dirr7   r   r   r   r8      r1   r8   c                 C  r(   )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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: state directory tied to the user

    r)   )r*   user_state_dirr)   r   r   r   r9      r,   r9   c                 C     t | |||d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 ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.

    :returns: state directory shared by users

    r   r    r"   r%   )r*   site_state_dirr;   r   r   r   r<         r<   c                 C  r(   )a9  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: log directory tied to the user

    r5   )r*   user_log_dirr5   r   r   r   r>     r,   r>   c                 C  r.   )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: log directory shared by users

    r7   )r*   site_log_dirr7   r   r   r   r?   $  r1   r?   c                   C     t  jS )z.:returns: documents directory tied to the user)r*   user_documents_dirr   r   r   r   rA   =     rA   c                   C  r@   )z.:returns: downloads directory tied to the user)r*   user_downloads_dirr   r   r   r   rC   B  rB   rC   c                   C  r@   )z-:returns: pictures directory tied to the user)r*   user_pictures_dirr   r   r   r   rD   G  rB   rD   c                   C  r@   )z+:returns: videos directory tied to the user)r*   user_videos_dirr   r   r   r   rE   L  rB   rE   c                   C  r@   )z*:returns: music directory tied to the user)r*   user_music_dirr   r   r   r   rF   Q  rB   rF   c                   C  r@   )z,:returns: desktop directory tied to the user)r*   user_desktop_dirr   r   r   r   rG   V  rB   rG   c                   C  r@   )z(:returns: bin directory tied to the user)r*   user_bin_dirr   r   r   r   rH   [  rB   rH   c                   C  r@   )z':returns: bin directory shared by users)r*   site_bin_dirr   r   r   r   rI   `  rB   rI   c                   C  r@   )z1:returns: applications directory tied to the user)r*   user_applications_dirr   r   r   r   rJ   e  rB   rJ   c                 C     t | |djS )z:param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.

    :returns: applications directory shared by users

    r-   r%   )r*   site_applications_dirrL   r   r   r   rM   j     
rM   c                 C  r(   )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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: runtime directory tied to the user

    r5   )r*   user_runtime_dirr5   r   r   r   rO   z  r,   rO   c                 C  r.   )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

    r7   )r*   site_runtime_dirr7   r   r   r   rP     r1   rP   r   c                 C  r(   )a5  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: data path tied to the user

    r)   )r*   user_data_pathr)   r   r   r   rQ     r,   rQ   c                 C  r.   )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

    r/   )r*   site_data_pathr/   r   r   r   rR     r1   rR   c                 C  r(   )a7  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: config path tied to the user

    r)   )r*   user_config_pathr)   r   r   r   rS     r,   rS   c                 C  r.   )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: config path shared by users

    r/   )r*   site_config_pathr/   r   r   r   rT      r1   rT   c                 C  r.   )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 path shared by users

    r7   )r*   site_cache_pathr7   r   r   r   rU     r1   rU   c                 C  r(   )a6  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: cache path tied to the user

    r5   )r*   user_cache_pathr5   r   r   r   rV   2  r,   rV   c                 C  r(   )a6  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: state path tied to the user

    r)   )r*   user_state_pathr)   r   r   r   rW   N  r,   rW   c                 C  r:   )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 ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.

    :returns: state path shared by users

    r;   )r*   site_state_pathr;   r   r   r   rX   j  r=   rX   c                 C  r(   )a4  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: log path tied to the user

    r5   )r*   user_log_pathr5   r   r   r   rY     r,   rY   c                 C  r.   )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: log path shared by users

    r7   )r*   site_log_pathr7   r   r   r   rZ     r1   rZ   c                   C  r@   )z):returns: documents path tied to the user)r*   user_documents_pathr   r   r   r   r[     rB   r[   c                   C  r@   )z):returns: downloads path tied to the user)r*   user_downloads_pathr   r   r   r   r\     rB   r\   c                   C  r@   )z(:returns: pictures path tied to the user)r*   user_pictures_pathr   r   r   r   r]     rB   r]   c                   C  r@   )z&:returns: videos path tied to the user)r*   user_videos_pathr   r   r   r   r^     rB   r^   c                   C  r@   )z%:returns: music path tied to the user)r*   user_music_pathr   r   r   r   r_     rB   r_   c                   C  r@   )z':returns: desktop path tied to the user)r*   user_desktop_pathr   r   r   r   r`     rB   r`   c                   C  r@   )z#:returns: bin path tied to the user)r*   user_bin_pathr   r   r   r   ra     rB   ra   c                   C  r@   )z":returns: bin path shared by users)r*   site_bin_pathr   r   r   r   rb     rB   rb   c                   C  r@   )z,:returns: applications path tied to the user)r*   user_applications_pathr   r   r   r   rc     rB   rc   c                 C  rK   )z:param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.

    :returns: applications path shared by users

    rL   )r*   site_applications_pathrL   r   r   r   rd     rN   rd   c                 C  r(   )a8  :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>`.
    :param use_site_for_root: See `use_site_for_root <platformdirs.api.PlatformDirsABC.use_site_for_root>`.

    :returns: runtime path tied to the user

    r5   )r*   user_runtime_pathr5   r   r   r   re     r,   re   c                 C  r.   )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

    r7   )r*   site_runtime_pathr7   r   r   r   rf     r1   rf   )1AppDirsr*   r   r   __version_info__rM   rd   rI   rb   r8   rU   r3   rT   r0   rR   r?   rZ   rP   rf   r<   rX   rJ   rc   rH   ra   r6   rV   r2   rS   r+   rQ   rG   r`   rA   r[   rC   r\   r>   rY   rF   r_   rD   r]   rO   re   r9   rW   rE   r^   )r   r   )NNNFFF)r   r   r    r!   r"   r   r#   r$   r%   r$   r&   r$   r   r'   )NNNFF)r   r   r    r!   r"   r   r-   r$   r%   r$   r   r'   )NNNTFF)r   r   r    r!   r"   r   r4   r$   r%   r$   r&   r$   r   r'   )NNNTF)r   r   r    r!   r"   r   r4   r$   r%   r$   r   r'   )NNNF)
r   r   r    r!   r"   r   r%   r$   r   r'   )r   r'   )FF)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"   r   r4   r$   r%   r$   r   r   )r   r   r    r!   r"   r   r4   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   )H__doc__
__future__r   r   systypingr   apir   r"   r   r   rh   pathlibr   r	   platformplatformdirs.windowsr   r   platformdirs.macosr   platformdirs.unixr   r   r*   rg   r+   r0   r2   r3   r6   r8   r9   r<   r>   r?   rA   rC   rD   rE   rF   rG   rH   rI   rJ   rM   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   __all__r   r   r   r   <module>   s   	




















