__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

*:�g�#����%SrSSKJr SSKrSSKrSSKrSSKrSSKrSSKJ	r	 SSK
JrJrJ
r
 SSKJr SSKJr SSKJr 0rS	\S
'\R,"5r\R0R3\R0R5\5S5r\R:"S\R<5rSS
jr SSjr!SSjr"\"SS9SSj5r#SSjr$SSSjjr%SSjr&"SS5r'"SS\	R5r(g) a+
babel.localedata
~~~~~~~~~~~~~~~~

Low-level locale data access.

:note: The `Locale` class, which uses this module under the hood, provides a
       more convenient interface for accessing the locale data.

:copyright: (c) 2013-2025 by the Babel Team.
:license: BSD, see LICENSE for more details.
�)�annotationsN)�abc)�Iterator�Mapping�MutableMapping)�	lru_cache)�chain)�Any�dict[str, Any]�_cachezlocale-dataz%^(con|prn|aux|nul|com[0-9]|lpt[0-9])$c��U(a[U[5(dgUR5R5n[R
"[[5/5HnXR5:XdMUs $ g)z�Normalize a locale ID by stripping spaces and apply proper casing.

Returns the normalized locale ID string or `None` if the ID is not
recognized.
N)�
isinstance�str�strip�lowerr	�
from_iterabler�locale_identifiers)�name�	locale_ids  �2/usr/lib/python3/dist-packages/babel/localedata.py�normalize_localer!s\���z�$��,�,���:�:�<����D��(�(�&�2D�2F�)G�H�	��?�?�$�$���I�c�H�[RRU5n[RS:XaI[
R
[RRU5S5(a[SUS35e[RR[US35$)z7
Resolve a locale identifier to a `.dat` path on disk.
�win32rzName z is invalid on Windows�.dat)�os�path�basename�sys�platform�_windows_reserved_name_re�match�splitext�
ValueError�join�_dirname)rs r�resolve_locale_filenamer'/s���7�7���D�!�D��|�|�w��#<�#B�#B�2�7�7�CS�CS�TX�CY�Z[�C\�#]�#]��5���&<�=�>�>��7�7�<�<��T�F�$�-�0�0rc���U(a[U[5(dgU[;ag[RR[
U55nU(aS$[[U55$)z�Check whether locale data is available for the given locale.

Returns `True` if it exists, `False` otherwise.

:param name: the locale identifier string
FT)	rrrrr�existsr'�boolr)r�
file_founds  rr)r)?sP���z�$��,�,���v�~������� 7�� =�>�J��4�?�4�(8��(>�#?�?r)�maxsizec��S[R"[55VVs/sHupUS:XdM
US:wdMUPM snn$s snnf)aReturn a list of all locale identifiers for which locale data is
available.

This data is cached after the first invocation.
You can clear the cache by calling `locale_identifiers.cache_clear()`.

.. versionadded:: 0.8.1

:return: a list of locale identifiers (strings)
c3�`# �UH$n[RRU5v� M& g7f�N)rrr#)�.0�filenames  r�	<genexpr>�%locale_identifiers.<locals>.<genexpr>]s$���I�4H�����	�	�(�	#�	#�4H�s�,.r�root)r�listdirr&)�stem�	extensions  rrrNsV��	J�B�J�J�x�4H�I��	J�
�D����	
�$(�6�>�	
�I����s�A�A�Ac���SSKJnJn U"U5tp4pVnU(aBU(a;U(d4U(d-U(d&U"S5R	U5nU"U5t p�n	XZ:g$g![a gf=f)z�Return whether the locale is of the form ``lang_Script``,
and the script is not the likely script for the language.

This implements the behavior of the ``nonlikelyScript`` value of the
``localRules`` attribute for parent locales added in CLDR 45.
r)�
get_global�parse_localeF�likely_subtags)�
babel.corer9r:r$�get)rr9r:�lang�	territory�script�variant�rest�
likely_subtag�_�
likely_scripts           r�_is_non_likely_scriptrFbsq��4��2>�t�2D�/���4���y���"�#3�4�8�8��>�
�".�}�"=���1�a��&�&�������s�A�
A,�+A,c�*�[RRU5n[R	5 [
R
U5nU(GdUS:XdU(d0nO�SSKJn U"S5R
U5nU(dI[U5(aSnO6URS5n[U5S:XaSOSRUSS5n[U5R5n[U5n[!US	5nUS:wa(U(a![#U[$R"U55 O[$R"U5nSSS5 U[
U'U[R'5 $!,(df   N-=f![R'5 f=f)
aLoad the locale data for the given locale.

The locale data is a dictionary that contains much of the data defined by
the Common Locale Data Repository (CLDR). This data is stored as a
collection of pickle files inside the ``babel`` package.

>>> d = load('en_US')
>>> d['languages']['sv']
u'Swedish'

Note that the results are cached, and subsequent requests for the same
locale return the same dictionary:

>>> d1 = load('en_US')
>>> d2 = load('en_US')
>>> d1 is d2
True

:param name: the locale identifier string (or "root")
:param merge_inherited: whether the inherited data should be merged into
                        the data of the requested locale
:raise `IOError`: if no locale data file is found for the given locale
                  identifier, or one of the locales it inherits from
r4r)r9�parent_exceptionsrD�N����rb)rrr�_cache_lock�acquirerr=r<r9rF�split�lenr%�load�copyr'�open�merge�pickle�release)r�merge_inherited�datar9�parent�partsr1�fileobjs        rrPrPws+��2�7�7���D�!�D�������z�z�$�����v�~�_���1�#�$7�8�<�<�T�B���,�T�2�2�!'�� $�
�
�3���+.�u�:��?������s�PR��@T���F�|�(�(�*��.�t�4�H��h��%���6�>�o��$����G� 4�5�!�;�;�w�/�D�	&�
 �F�4�L������&�%��	����s%�C
E<�?AE+�E<�+
E9�5E<�<Fc�|�UR5H�up#UcM
URU5n[U[5(arUc0n[U[5(aXC4nOV[U[
5(a#UupVUR
5n[Xc5 XV4nOUR
5n[XC5 OUnX@U'M� g)aNMerge the data from `dict2` into the `dict1` dictionary, making copies
of nested dictionaries.

>>> d = {1: 'foo', 3: 'baz'}
>>> merge(d, {1: 'Foo', 2: 'Bar'})
>>> sorted(d.items())
[(1, 'Foo'), (2, 'Bar'), (3, 'baz')]

:param dict1: the dictionary to merge into
:param dict2: the dictionary containing the data that should be merged
N)�itemsr=r�dict�Alias�tuplerQrS)�dict1�dict2�key�val2�val1�alias�otherss       rrSrS�s����[�[�]�	�����9�9�S�>�D��$��%�%��<��D��d�E�*�*� �<�D���e�,�,�$(�M�E�#�[�[�]�F��&�'�!�?�D��9�9�;�D��$�%����#�J�%#rc�6�\rSrSrSrSSjrS	SjrS
SjrSrg)r^��z�Representation of an alias in the locale data.

An alias is a value that refers to some other part of the locale data,
as specified by the `keys`.
c�$�[U5Ulgr/)r_�keys)�selfrjs  r�__init__�Alias.__init__�s
���$�K��	rc�P�S[U5RSUR<S3$)N�<� �>)�type�__name__rj�rks r�__repr__�Alias.__repr__�s&���4��:�&�&�'�q����
�Q�7�7rc���UnURHnXnM	 [U[5(aURU5nU$[U[5(aUupEURU5nU$)z�Resolve the alias based on the given data.

This is done recursively, so if one alias resolves to a second alias,
that second alias will also be resolved.

:param data: the locale data
:type data: `dict`
)rjrr^�resolver_)rkrW�baserbrerfs      rrx�
Alias.resolve�si�����9�9�C��9�D���d�E�"�"��<�<��%�D�����e�
$�
$� �M�E��=�=��&�D��r)rjN)rjztuple[str, ...]�return�None)r{r)rW�Mapping[str | int | None, Any]r{r})	rs�
__module__�__qualname__�__firstlineno__�__doc__rlrurx�__static_attributes__�rrr^r^�s��� �8�rr^c�b�\rSrSrSrSS
SjjrSSjrSSjrSSjrSSjr	SS	jr
SS
jrSrg)�LocaleDataDict��zMDictionary wrapper that automatically resolves aliases to the actual
values.
Nc�&�XlUcUnX lgr/��_datary)rkrWrys   rrl�LocaleDataDict.__init__�s���
��<��D��	rc�,�[UR5$r/)rOr�rts r�__len__�LocaleDataDict.__len__�s���4�:�:��rc�,�[UR5$r/)�iterr�rts r�__iter__�LocaleDataDict.__iter__�s���D�J�J��rc��URU=p#[U[5(aURUR5n[U[
5(a8UupEURUR5R
5n[X55 [U[5(a[X0RS9nX2LaX0RU'U$�N)ry)
r�rr^rxryr_rQrSr]r�)rkrb�orig�valrerfs      r�__getitem__�LocaleDataDict.__getitem__s����Z�Z��_�$���c�5�!�!��+�+�d�i�i�(�C��c�5�!�!��M�E��-�-��	�	�*�/�/�1�C��#���c�4� � � ��9�9�5�C��?�!�J�J�s�O��
rc� �X RU'gr/�r�)rkrb�values   r�__setitem__�LocaleDataDict.__setitem__s
���
�
�3�rc��URU	gr/r�)rkrbs  r�__delitem__�LocaleDataDict.__delitem__s
���J�J�s�Orc�Z�[URR5URS9$r�)r�r�rQryrts rrQ�LocaleDataDict.copys���d�j�j�o�o�/�d�i�i�@�@rr�r/)rWz%MutableMapping[str | int | None, Any]ryz%Mapping[str | int | None, Any] | None)r{�int)r{zIterator[str | int | None])rb�str | int | Noner{r
)rbr�r�r
r{r|)rbr�r{r|)r{r�)
rsr~rr�r�rlr�r�r�r�r�rQr�r�rrr�r��s+����� �� ��Arr�)rrr{z
str | None)r�os.PathLike[str] | strr{r)rrr{r*)r{z	list[str])T)rr�rVr*r{r)r`zMutableMapping[Any, Any]razMapping[Any, Any]r{r|))r��
__future__rrrT�rer�	threading�collectionsr�collections.abcrrr�	functoolsr�	itertoolsr	�typingr
r�__annotations__�RLockrLrr%�dirname�__file__r&�compile�Ir!rr'r)rrFrPrSr^r�r�rr�<module>r�s����#�	�
�	�
���=�=���������o�o���
�7�7�<�<�������1�=�A���J�J�'N�PR�PT�PT�U���
1� @��4�����&�*4�n�B��B&A�S�'�'�&Ar

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 935 B 0644
core.cpython-313.pyc File 48.15 KB 0644
dates.cpython-313.pyc File 82.84 KB 0644
languages.cpython-313.pyc File 3.6 KB 0644
lists.cpython-313.pyc File 4.58 KB 0644
localedata.cpython-313.pyc File 12.67 KB 0644
numbers.cpython-313.pyc File 61.24 KB 0644
plural.cpython-313.pyc File 30.92 KB 0644
support.cpython-313.pyc File 33.94 KB 0644
units.cpython-313.pyc File 12.16 KB 0644
util.cpython-313.pyc File 11.6 KB 0644
Filemanager