�
*:�g � �4 � S SK Jr S SKJr SSS jjrSS jrg) � )�annotations)�
get_globalc � � [ U 5 R 5 n S1nU( a UR S5 U( a UR S5 [ S5 R U 0 5 nUR 5 VVs/ s H# u pVUR S5 U; d M US U4PM% nnnUR
SS9 [ S U 5 5 $ s snnf )
a"
Get the official language(s) for the given territory.
The language codes, if any are known, are returned in order of descending popularity.
If the `regional` flag is set, then languages which are regionally official are also returned.
If the `de_facto` flag is set, then languages which are "de facto" official are also returned.
.. warning:: Note that the data is as up to date as the current version of the CLDR used
by Babel. If you need scientifically accurate information, use another source!
:param territory: Territory code
:type territory: str
:param regional: Whether to return regionally official languages too
:type regional: bool
:param de_facto: Whether to return de-facto official languages too
:type de_facto: bool
:return: Tuple of language codes
:rtype: tuple[str]
�official�official_regional�de_facto_official�territory_languages�official_status�population_percentT)�reversec 3 �* # � U H u pUv � M g 7f)N� )�.0�_�langs �1/usr/lib/python3/dist-packages/babel/languages.py� <genexpr>�)get_official_languages.<locals>.<genexpr>+ s � � �+�U�'�!��U�s �)�str�upper�addr �get�items�sort�tuple)� territory�regional�de_facto�
allowed_stati� languages�language�info�pairss r �get_official_languagesr$ s� � �. �I��$�$�&�I��L�M�����-�.�����-�.��0�1�5�5�i��D�I� (�o�o�/�
�/�N�H��8�8�%�&�-�7� /��"� #�X�.�/�
�
�
�J�J�t�J���+�U�+�+�+��
s �;C �C c � � [ U 5 R 5 n [ S5 R U 0 5 R 5 $ )a�
Get a dictionary of language information for a territory.
The dictionary is keyed by language code; the values are dicts with more information.
The following keys are currently known for the values:
* `population_percent`: The percentage of the territory's population speaking the
language.
* `official_status`: An optional string describing the officiality status of the language.
Known values are "official", "official_regional" and "de_facto_official".
.. warning:: Note that the data is as up to date as the current version of the CLDR used
by Babel. If you need scientifically accurate information, use another source!
.. note:: Note that the format of the dict returned may change between Babel versions.
See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html
:param territory: Territory code
:type territory: str
:return: Language information dictionary
:rtype: dict[str, dict]
r )r r r r �copy)r s r �get_territory_language_infor'