§
    
Á³gä  ã                  óÈ   — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ ddl	m
Z
  G d„ de
¦  «        Z ed¬	¦  «        dd„¦   «         Z ed¬	¦  «        dd„¦   «         ZdgZdS )é    )ÚannotationsN)Ú	lru_cache)Úcasté   )ÚPlatformDirsABCc                  óê   — e Zd ZdZedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd	„¦   «         Z
edd
„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚAndroidzá
    Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_. Makes use of the
    `appname <platformdirs.api.PlatformDirsABC.appname>` and
    `version <platformdirs.api.PlatformDirsABC.version>`.
    ÚreturnÚstrc                ól   — |                       t          t          t          ¦   «         ¦  «        d¦  «        S )zd:return: data directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/<AppName>``Úfiles©Ú_append_app_name_and_versionr   r   Ú_android_folder©Úselfs    ú^/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/android.pyÚuser_data_dirzAndroid.user_data_dir   ó*   € ð ×0Ò0µµc½?Ñ;LÔ;LÑ1MÔ1MÈwÑWÔWÐWó    c                ó   — | j         S )z@:return: data directory shared by users, same as `user_data_dir`©r   r   s    r   Úsite_data_dirzAndroid.site_data_dir   ó   € ð Ô!Ð!r   c                ól   — |                       t          t          t          ¦   «         ¦  «        d¦  «        S )z
        :return: config directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
        Úshared_prefsr   r   s    r   Úuser_config_dirzAndroid.user_config_dir   s*   € ð
 ×0Ò0µµc½?Ñ;LÔ;LÑ1MÔ1MÈ~Ñ^Ô^Ð^r   c                ó   — | j         S )zH:return: config directory shared by the users, same as `user_config_dir`)r   r   s    r   Úsite_config_dirzAndroid.site_config_dir$   s   € ð Ô#Ð#r   c                ól   — |                       t          t          t          ¦   «         ¦  «        d¦  «        S )zj:return: cache directory tied to the user, e.g. e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>``Úcacher   r   s    r   Úuser_cache_dirzAndroid.user_cache_dir)   r   r   c                ó   — | j         S )zB:return: state directory tied to the user, same as `user_data_dir`r   r   s    r   Úuser_state_dirzAndroid.user_state_dir.   r   r   c                ób   — | j         }| j        r t          j                             |d¦  «        }|S )zÃ
        :return: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it,
          e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/log``
        Úlog©r"   ÚopinionÚosÚpathÚjoin©r   r*   s     r   Úuser_log_dirzAndroid.user_log_dir3   ó0   € ð Ô"ˆØŒ<ð 	-Ý”7—<’<  eÑ,Ô,ˆDØˆr   c                ó   — t          ¦   «         S )zf
        :return: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``
        )Ú_android_documents_folderr   s    r   Úuser_documents_dirzAndroid.user_documents_dir>   s   € õ
 )Ñ*Ô*Ð*r   c                ób   — | j         }| j        r t          j                             |d¦  «        }|S )zÇ
        :return: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it,
          e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/tmp``
        Útmpr'   r,   s     r   Úuser_runtime_dirzAndroid.user_runtime_dirE   r.   r   N©r
   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r   r   r"   r$   r-   r1   r4   © r   r   r	   r	      sJ  € € € € € ðð ð ðXð Xð Xñ „XðXð ð"ð "ð "ñ „Xð"ð ð_ð _ð _ñ „Xð_ð ð$ð $ð $ñ „Xð$ð ðXð Xð Xñ „XðXð ð"ð "ð "ñ „Xð"ð ðð ð ñ „Xðð ð+ð +ð +ñ „Xð+ð ðð ð ñ „Xðð ð r   r	   )Úmaxsizer
   ú
str | Nonec                 ój  — 	 ddl m}   | d¦  «        }|                     ¦   «                              ¦   «                              ¦   «         }ng# t
          $ rZ t          j        d¦  «        }t          j	        D ]4}| 
                    |¦  «        r|                     d¦  «        d         } nŒ5d}Y nw xY w|S )zB:return: base folder for the Android OS or None if cannot be foundr   ©Ú	autoclassúandroid.content.Contextz /data/(data|user/\d+)/(.+)/filesz/filesN)Újniusr@   ÚgetFilesDirÚgetParentFileÚgetAbsolutePathÚ	ExceptionÚreÚcompileÚsysr*   ÚmatchÚsplit)r@   ÚContextÚresultÚpatternr*   s        r   r   r   Q   sÔ   € ðà#Ð#Ð#Ð#Ð#Ð#à�)Ð5Ñ6Ô6ˆØ$×0Ò0Ñ2Ô2×@Ò@ÑBÔB×RÒRÑTÔTˆˆøÝð ð ð å”*Ð@ÑAÔAˆÝ”Hð 	ð 	ˆDØ�}Š}˜TÑ"Ô"ð ØŸš HÑ-Ô-¨aÔ0�Ø�ðð ˆFøøðøøøð €Ms   ‚A	A ÁA!B0Â/B0r   c                 ó¾   — 	 ddl m}   | d¦  «        } | d¦  «        }|                     |j        ¦  «                             ¦   «         }n# t
          $ r d}Y nw xY w|S )z,:return: documents folder for the Android OSr   r?   rA   zandroid.os.Environmentz/storage/emulated/0/Documents)rB   r@   ÚgetExternalFilesDirÚDIRECTORY_DOCUMENTSrE   rF   )r@   rL   ÚEnvironmentÚdocuments_dirs       r   r0   r0   f   s‰   € ð8Ø#Ð#Ð#Ð#Ð#Ð#à�)Ð5Ñ6Ô6ˆØ�iÐ 8Ñ9Ô9ˆØ$×8Ò8¸Ô9XÑYÔY×iÒiÑkÔkˆˆøÝð 8ð 8ð 8Ø7ˆˆˆð8øøøð Ðs   ‚AA ÁAÁA)r
   r=   r5   )Ú
__future__r   r)   rG   rI   Ú	functoolsr   Útypingr   Úapir   r	   r   r0   Ú__all__r;   r   r   ú<module>rY      s  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  ðBð Bð Bð Bð Bˆoñ Bô Bð BðJ €�1ÐÑÔðð ð ñ Ôðð( €�1ÐÑÔðð ð ñ Ôðð  ð€€€r   