+
    êhü4  ã                   óP  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt	 ]P                  '       d   ^ RIHt ]P                  ! ]4      tRt]P"                  ! R],           R,           ]P$                  ]P&                  ,          4      tR R ltR	t]P"                  ! R
] R2]P&                  4      tR R lt  ^ RIHt R R ltR R lt R R lt!R R lt" ! R R4      t# ^ RI$H%t& R R lt'R R  lt(R! R" lt)R#t*]P"                  ! R
]* R2]P&                  4      t+R$t,]P"                  ! R
], R2]P&                  4      t-R%t.]P"                  ! R
]. R2]P&                  4      t/R& R' lt0R( R) lt1R* R+ lt2R, R- lt3R. R/ lt4R0 R1 lt5R2 R3 lt6R4 R5 lt7R6 R7 lt8R8 R9 lt9R: R; lt: ^ R<IH;t< R= R> lt=R#   ] d    ^ RIHt  ELi ; i  ] d    ]P?                  R4       R R lt EL$i ; i  ] d    ]#! 4       t' ELi ; i  ] d    ]P?                  R?4       R@ RA lt= R# i ; i)Ba@  
The functions in this module are used to validate schemas with the
`format JSON Schema keyword
<https://json-schema.org/understanding-json-schema/reference/string#format>`_.

The correspondence is given by replacing the ``_`` character in the name of the
function with a ``-`` to obtain the format name and vice versa.
N)Úchain)ÚLiterala•  
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
z^\s*z\s*$c                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚversionÚreturn©ÚstrÚbool)Úformats   "ÚO/usr/lib/python3/dist-packages/setuptools/config/_validate_pyproject/formats.pyÚ__annotate__r   <   s   € ÷ 4ñ 4”Cð 4œDñ 4ó    c                ó0   € \         P                  V 4      RJ# )zhSee :ref:`PyPA's version specification <pypa:version-specifiers>`
(initially introduced in :pep:`440`).
N)ÚVERSION_REGEXÚmatch)r   s   &r   Úpep440r   <   s   € ô ×Ñ˜wÓ'¨tÐ3Ð3r   z'([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])Ú^Ú$c                ó0   € V ^8„  d   QhR\         R\        /# )r   Únamer   r   )r   s   "r   r   r   J   s   € ÷ ;ñ ;œCð ;¤Dñ ;r   c                ó0   € \         P                  V 4      RJ# )zdSee :ref:`PyPA's name specification <pypa:name-format>`
(initially introduced in :pep:`508#names`).
N)ÚPEP508_IDENTIFIER_REGEXr   )r   s   &r   Úpep508_identifierr   J   s   € ô #×(Ñ(¨Ó.°dÐ:Ð:r   )Úrequirementsc                ó0   € V ^8„  d   QhR\         R\        /# ©r   Úvaluer   r   )r   s   "r   r   r   Z   s   € ÷ ñ ”cð œdñ r   c                ól   €  \         P                  ! V 4       R#   \         P                   d     R# i ; i)zkSee :ref:`PyPA's dependency specifiers <pypa:dependency-specifiers>`
(initially introduced in :pep:`508`).
TF)Ú_reqÚRequirementÚInvalidRequirement©r   s   &r   Úpep508r#   Z   s0   € ð	Ü×Ò˜UÔ#ÙøÜ×&Ñ&ô 	Úð	úó   ‚ š3²3z¡Could not find an installation of `packaging`. Requirements, dependencies and versions might not be validated. To enforce validation, please install `packaging`.c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   k   s   € ÷ ñ ”cð œdñ r   c                 ó   € R # ©T© r"   s   &r   r#   r#   k   ó   € Ùr   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   o   s   € ÷ )ñ )œcð )¤dñ )r   c                ó¤   a € \         ;QJ d    V 3R lR 4       F  '       g   K   RM	  RM! V 3R lR 4       4      '       d   R# \        RS  24      # )zÆExpression that can be used to specify/lock versions (including ranges)
See ``versionspec`` in :ref:`PyPA's dependency specifiers
<pypa:dependency-specifiers>` (initially introduced in :pep:`508`).
c              3   ó,   <"  € T F	  qS9   x € K  	  R # 5i©Nr(   )Ú.0Úcr   s   & €r   Ú	<genexpr>Ú%pep508_versionspec.<locals>.<genexpr>t   s   øé € Ð
/™˜!�Ž:›ùs   ƒTFÚrequirement)Ú;Ú]Ú@)Úanyr#   r"   s   fr   Úpep508_versionspecr7   o   s?   ø€ ÷
 ƒsÔ
/™Ó
/‡s‡s‚sÔ
/™Ó
/×/Ò/ñ ô �K ˜wÐ'Ó(Ð(r   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   ‚   s   € ÷ ?ñ ?¤Cð ?¬Dñ ?r   c                óô   € V P                  R4      w  rpR \        VP                  R4      VP                  R4      4       4       p\        ;QJ d    R V 4       F  '       d   K   R# 	  R# ! R V 4       4      # )z¶See PyPA's specification for defining build-backend references
introduced in :pep:`517#source-trees`.

This is similar to an entry-point reference (e.g., ``package.module:object``).
Ú:c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir-   ©Ústrip©r.   Úis   & r   r0   Ú+pep517_backend_reference.<locals>.<genexpr>‰   s   é € ÐPÑ&O —7‘7—9�9Ó&Oùó   ‚Ú.c              3   óJ   "  € T F  q'       g   K  \        V4      x € K  	  R # 5ir-   ©Úpython_identifierr>   s   & r   r0   r@   Š   s   é € Ð>©[¨»AÔ#Ô  ×#Ð#«[ùs   ‚	#�#FT)Ú	partitionÚ_chainÚsplitÚall)r   ÚmoduleÚ_ÚobjÚidentifierss   &    r   Úpep517_backend_referencerN   ‚   sa   € ð —_‘_ SÓ)�N€FˆsÙP¤f¨V¯\©\¸#Ó->ÀÇ	Á	È#ÃÔ&OÓP€Kß‹3Ñ>©[Ó>�3Œ3Ð>Š3Ð>ˆ3Ñ>©[Ó>Ó>Ð>r   c                ó$   € V ^8„  d   QhR\         /# )r   r   )r	   )r   s   "r   r   r   ‘   s   € ÷ 
Mñ 
Mœsñ 
Mr   c                  ó<  € ^ RI p ^ RIHp ^ RIHp RpV P                  4       pV! W4R7      ;_uu_ 4       pV! 4       pVP                  RR4      VR&   VP                  4       P                  VP                  R	R
4      4      uuRRR4       #   + '       g   i     R# ; i)é    N)ÚMessage)Úurlopenz.https://pypi.org/pypi?:action=list_classifiers)Úcontextzcontent-typez
text/plainÚcontent_typeÚcharsetzutf-8)
ÚsslÚemail.messagerR   Úurllib.requestrS   Úcreate_default_contextÚ	getheaderÚreadÚdecodeÚ	get_param)rW   rR   rS   ÚurlrT   ÚresponseÚheaderss          r   Ú_download_classifiersrb   ‘   sy   € ÛÝ%Ý&à
:€CØ×(Ñ(Ó*€GÙ	�×	&Õ	&¨(Ù“)ˆØ"*×"4Ñ"4°^À\Ó"Rˆ�ÑØ�}‰}‹×%Ñ% g×&7Ñ&7¸	À7Ó&KÓL÷ 
'×	&×	&Ó	&ús   ´AB
Â
B	c                   óh   a € ] tR t^žt o Rt V 3R lR ltV 3R lR ltV 3R lR ltV 3R ltR	t	V t
R
# )Ú_TroveClassifieraW  The ``trove_classifiers`` package is the official way of validating classifiers,
however this package might not be always available.
As a workaround we can still download a list from PyPI.
We also don't want to be over strict about it, so simply skipping silently is an
option (classifiers will be validated anyway during the upload to PyPI).
c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr(   )r   Ú__classdict__s   "€r   r   Ú_TroveClassifier.__annotate__­   s   ø€ ÷ +ñ +˜$ñ +r   c                ó0   € R V n         RV n        RV n        R # )NFÚtrove_classifier)Ú
downloadedÚ_skip_downloadÚ__name__©Úselfs   &r   Ú__init__Ú_TroveClassifier.__init__­   s   € ØˆŒØ#ˆÔØ*ˆŽr   c                ó   <€ V ^8„  d   QhRR/# rf   r(   )r   rg   s   "€r   r   rh   ²   s   ø€ ÷ #ñ # 4ñ #r   c                ó   € R V n         R# )TN)rl   rn   s   &r   Ú_disable_downloadÚ"_TroveClassifier._disable_download²   s
   € à"ˆÖr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r   r   )r   rg   s   "€r   r   rh   ¶   s   ø€ ÷ Rñ R™cð R¡dñ Rr   c                óT  € V P                   R J g   V P                  RJ d   R# \        P                  ! R4      '       g   \        P                  ! R4      '       d!   R V n         Rp\        P                  V4       R# V P                   f?   Rp\        P                  V4        \        \        4       P                  4       4      V n         WP                   9   ;'       g     VP                  4       P                  R4      #   \         d!    R T n         \        P                  R4        R# i ; i)FTÚ
NO_NETWORKÚVALIDATE_PYPROJECT_NO_NETWORKzxInstall ``trove-classifiers`` to ensure proper validation. Skipping download of classifiers list from PyPI (NO_NETWORK).zxInstall ``trove-classifiers`` to ensure proper validation. Meanwhile a list of classifiers will be downloaded from PyPI.z*Problem with download, skipping validationú
private ::)rk   rl   ÚosÚgetenvÚ_loggerÚdebugÚsetrb   Ú
splitlinesÚ	ExceptionÚlowerÚ
startswith)ro   r   Úmsgs   && r   Ú__call__Ú_TroveClassifier.__call__¶   sð   € Ø�?‰?˜eÓ# t×':Ñ':¸dÓ'BÙä�9Š9�\×"Ò"¤b§i¢iÐ0O×&PÒ&PØ#ˆDŒOðPð ô �M‰M˜#ÔÙà�?‰?Ò"ðPð ô �M‰M˜#ÔðÜ"%Ô&;Ó&=×&HÑ&HÓ&JÓ"K�”ð Ÿ™Ñ'×QÐQ¨5¯;©;«=×+CÑ+CÀLÓ+QÐQøô ô Ø"'�”Ü—‘ÐJÔKÚðús   Â!&C< Ã<'D'Ä&D'c                ót   <€ V ^8„  d   Qh/ S[ P                  RRS[ P                  S[,          3,          ;R&   # )r   NzLiteral[False]rk   )ÚtypingÚUnionÚSetr	   )r   rg   s   "€r   r   rh   ž   s+   ø‡ ‚ ñ —‘˜TÐ#3±V·Z±ZÁµ_ÐDÕEÑEò r   )rm   rl   rk   N)rm   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rp   rt   r…   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)rg   s   @r   rd   rd   ž   s6   ø‡ € ñð÷+ð +÷
#ð #÷Rð R÷1 ƒ r   rd   )Úclassifiersc                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   Ö   s   € ÷ Uñ U¤ð U¬ñ Ur   c                ób   € V \         9   ;'       g     V P                  4       P                  R4      # )z!See https://pypi.org/classifiers/rz   )Ú_trove_classifiersr‚   rƒ   r"   s   &r   rj   rj   Ö   s'   € àÔ*Ñ*×TÐT¨e¯k©k«m×.FÑ.FÀ|Ó.TÐTr   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   â   s   € ÷ Lñ LœCð L¤Dñ Lr   c           	     ó¬   € V P                  R4      vrVP                  R4      '       g   R# \        RP                  VR\	        R4      )  .VO4      4      # )z‹Name of a directory containing type stubs.
It must follow the name scheme ``<package>-stubs`` as defined in
:pep:`561#stub-only-packages`.
rB   ú-stubsFN)rH   ÚendswithÚpython_module_nameÚjoinÚlen)r   ÚtopÚchildrens   &  r   Úpep561_stub_namerŸ   â   sP   € ð
 —[‘[ Ó%€N€CØ�<‰<˜×!Ò!ÙÜ˜cŸh™h¨Ð,<¬s°8«}¨nÐ(=Ð'IÀÐ'IÓJÓKÐKr   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   ñ   s   € ÷ ñ Œsð ”tñ r   c                ój  € ^ RI Hp  V! V 4      pVP                  '       gY   \        P	                  RV  24       V P                  R4      '       g*   V P                  R4      '       g   RV 9   g   V! RV  24      p\        VP                  ;'       d    VP                  4      #   \         d     R# i ; i)z›Valid URL (validation uses :obj:`urllib.parse`).
For maximum compatibility please make sure to include a ``scheme`` prefix
in your URL (e.g. ``http://``).
)ÚurlparsezsFor maximum compatibility please make sure to include a `scheme` prefix in your URL (e.g. 'http://'). Given value: Ú/Ú\r5   zhttp://F)	Úurllib.parser¢   Úschemer}   Úwarningrƒ   r
   Únetlocr�   )r   r¢   Úpartss   &  r   r_   r_   ñ   s    € õ
 &ðÙ˜“ˆØ�|�|ˆ|Ü�O‰Oð à %˜wð(ôð
 ×$Ñ$ S×)Ò)¨U×-=Ñ-=¸d×-CÒ-CÀsÈeÄ|Ù  7¨5¨'Ð!2Ó3�ä�E—L‘L×1Ð1 U§\¡\Ó2Ð2øÜô Úðús(   ˆB# ¢.B# ÁB# Á()B# ÂB# Â#B2Â1B2z[^\[\s=]([^=]*[^\s=])?z[\w.-]+z\w+(\.\w+)*c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r     s   € ÷  ñ  œSð  ¤Tñ  r   c                ó"   € V P                  4       # )zPCan be used as identifier in Python.
(Validation uses :obj:`str.isidentifier`).
)Úisidentifierr"   s   &r   rE   rE     s   € ð ×ÑÓÐr   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r     s   € ÷ ?ñ ?¤sð ?¬tñ ?r   c                ó  € V P                  R4      '       g   V P                  R4      '       d   R# \        ;QJ d+    R V P                  R4       4       F  '       d   K   R# 	  R# ! R V P                  R4       4       4      # )z‰
Python "dotted identifier", i.e. a sequence of :obj:`python_identifier`
concatenated with ``"."`` (e.g.: ``package.module.submodule``).
rB   Fc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir-   rD   )r.   Úms   & r   r0   Ú.python_qualified_identifier.<locals>.<genexpr>  s   é € Ð>Ñ-=¨Ô  ×#Ð#Ó-=ùó   ‚T)rƒ   r™   rI   rH   r"   s   &r   Úpython_qualified_identifierr³     sa   € ð
 ×Ñ˜×Ò §¡¨s× 3Ò 3Ùß‹3Ñ>¨U¯[©[¸Ô-=Ó>�3Œ3Ð>Š3Ð>ˆ3Ñ>¨U¯[©[¸Ô-=Ó>Ó>Ð>r   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   "  s   € ÷ .ñ .œcð .¤dñ .r   c                ó   € \        V 4      # )zkModule name that can be used in an ``import``-statement in Python.
See :obj:`python_qualified_identifier`.
)r³   r"   s   &r   rš   rš   "  s   € ô ' uÓ-Ð-r   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   )  s   € ÷ 7ñ 7¤cð 7¬dñ 7r   c                óÊ   € V P                  R4      '       g   V P                  R4      '       d   R# V P                  R4      '       d   R# \        V P                  RR4      4      # )a•  Similar to :obj:`python_module_name`, but relaxed to also accept
dash characters (``-``) and cover special cases like ``pip-run``.

It is recommended, however, that beginners avoid dash characters,
as they require advanced knowledge about Python internals.

The following are disallowed:

* names starting/ending in dashes,
* names ending in ``-stubs`` (potentially collide with :obj:`pep561_stub_name`).
Ú-Fr˜   rK   )rƒ   r™   rš   Úreplacer"   s   &r   Úpython_module_name_relaxedrº   )  sN   € ð ×Ñ˜×Ò §¡¨s× 3Ò 3ÙØ‡~�~�h×ÒÙÜ˜eŸm™m¨C°Ó5Ó6Ð6r   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   <  s   € ÷ ;ñ ;¤3ð ;¬4ñ ;r   c                ó0   € \         P                  V 4      RJ# )z`See ``Data model > group`` in the :ref:`PyPA's entry-points specification
<pypa:entry-points>`.
N)ÚENTRYPOINT_GROUP_REGEXr   r"   s   &r   Úpython_entrypoint_groupr¾   <  s   € ô "×'Ñ'¨Ó.°dÐ:Ð:r   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   C  s   € ÷ 
ñ 
¤#ð 
¬$ñ 
r   c                óÆ   € \         P                  V 4      '       g   R# \        P                  V 4      '       g)   RV  R2pV\        ,          p\        P                  V4       R# )z_See ``Data model > name`` in the :ref:`PyPA's entry-points specification
<pypa:entry-points>`.
FzEntry point `z'` does not follow recommended pattern: T)ÚENTRYPOINT_REGEXr   ÚRECOMMEDED_ENTRYPOINT_REGEXÚRECOMMEDED_ENTRYPOINT_PATTERNr}   r§   )r   r„   s   & r   Úpython_entrypoint_namerÄ   C  sR   € ô ×!Ñ! %×(Ò(ÙÜ&×,Ñ,¨U×3Ò3Ø˜e˜WÐ$KÐLˆØÔ,Õ,ˆÜ�‰˜ÔÙr   c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   P  s   € ÷ Bñ B¤sð B¬tñ Br   c                ó¨  € V P                  R4      w  rpRV9   dÅ   VP                  R4      w  rBpVP                  4       R,          R8w  d   R# R VP                  \        P                  R,           4      P	                  R4       4       p\
        ;QJ d    R V 4       F  '       d   K   RM	  R	M! R V 4       4      '       g   R# \        P                  R
V  R24       MTpVP	                  R4      pV'       d   \        WtP	                  R4      4      M
\        V4      p\
        ;QJ d    R V 4       F  '       d   K   R# 	  R	# ! R V 4       4      # )zÁReference to a Python object using in the format::

    importable.module:object.attr

See ``Data model >object reference`` in the :ref:`PyPA's entry-points specification
<pypa:entry-points>`.
r:   Ú[r4   Fc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir-   r<   )r.   Úxs   & r   r0   Ú.python_entrypoint_reference.<locals>.<genexpr>]  s   é € ÐXÑ%W —'‘'—)�)Ó%WùrA   z[]Ú,c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir-   )r   )r.   Úes   & r   r0   rÊ   ^  s   é € Ð8±¨AÔ$ Q×'Ð'³ùr²   TÚ`z4` - using extras for entry points is not recommendedrB   c              3   óT   "  € T F  p\        VP                  4       4      x € K   	  R # 5ir-   )rE   r=   r>   s   & r   r0   rÊ   f  s   é € ÐA±[°Ô  §¡£×+Ð+³[ùs   ‚&(éÿÿÿÿ)
rF   r=   ÚstringÚ
whitespacerH   rI   r}   r§   rG   Úiter)	r   rJ   rK   ÚrestrL   Úextras_ÚextrasÚmodule_partsrM   s	   &        r   Úpython_entrypoint_referencerØ   P  s   € ð —o‘o cÓ*�O€FˆtØ
ˆd„{ØŸ.™.¨Ó-‰ˆ�Ø�=‰=‹?˜2Õ #Ô%ÙÙX W§]¡]´6×3DÑ3DÀtÕ3KÓ%L×%RÑ%RÐSVÔ%WÓXˆß‹sÑ8±Ó8�s�sŠsÑ8±Ó8×8Ò8ÙÜ�‰˜!˜E˜7Ð"VÐWÕXàˆà—<‘< Ó$€Lß:>”&˜§y¡y°£~Ô6ÄDÈÓDV€Kß‹3ÑA±[ÓA�3Œ3ÐAŠ3ÐAˆ3ÑA±[ÓAÓAÐAr   c                óD   € V ^8„  d   QhR\         P                  R\        /# r   ©ÚbuiltinsÚintr
   )r   s   "r   r   r   i  s   € ÷ ñ ”—‘ð ¤$ñ r   c                ó.   € ^ T u;8*  ;'       d    R8  # u # )z/Unsigned 8-bit integer (:math:`0 \leq x < 2^8`)é   r(   r"   s   &r   Úuint8rß   i  s   € à�×Ô˜ÑÐÑÐr   c                óD   € V ^8„  d   QhR\         P                  R\        /# r   rÚ   )r   s   "r   r   r   n  s   € ÷ ñ ”(—,‘,ð ¤4ñ r   c                ó.   € ^ T u;8*  ;'       d    R8  # u # )z3Unsigned 16-bit integer (:math:`0 \leq x < 2^{16}`)i   r(   r"   s   &r   Úuint16râ   n  ó   € à�×Ô˜ÑÐÑÐr   c                óD   € V ^8„  d   QhR\         P                  R\        /# r   rÚ   )r   s   "r   r   r   s  s   € ÷ ñ ”—‘ð ¤ñ r   c                ó.   € ^ T u;8*  ;'       d    R8  # u # )z3Unsigned 64-bit integer (:math:`0 \leq x < 2^{64}`)l            r(   r"   s   &r   Úuintræ   s  rã   r   c                óD   € V ^8„  d   QhR\         P                  R\        /# r   rÚ   )r   s   "r   r   r   x  s   € ÷ %ñ %Œx�|‰|ð %¤ñ %r   c                ó.   € RT u;8*  ;'       d    R8  # u # )z7Signed 64-bit integer (:math:`-2^{63} \leq x < 2^{63}`)l            lûÿÿÿ         r(   r"   s   &r   rÜ   rÜ   x  s   € à�u×$Ô$˜uÑ$Ð$Ñ$Ð$r   )Úlicensesc                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   €  s   € ÷ ñ ”Cð œDñ r   c                ól   €  \         P                  ! V 4       R#   \         P                   d     R# i ; i)zrSee :ref:`PyPA's License-Expression specification
<pypa:core-metadata-license-expression>` (added in :pep:`639`).
TF)Ú	_licensesÚcanonicalize_license_expressionÚInvalidLicenseExpressionr"   s   &r   ÚSPDXrï   €  s0   € ð	Ü×5Ò5°eÔ<ÙøÜ×1Ñ1ô 	Úð	úr$   zžCould not find an up-to-date installation of `packaging`. License expressions might not be validated. To enforce validation, please install `packaging>=24.2`.c                ó0   € V ^8„  d   QhR\         R\        /# r   r   )r   s   "r   r   r   ‘  s   € ÷ ñ ”Cð œDñ r   c                 ó   € R # r'   r(   r"   s   &r   rï   rï   ‘  r)   r   )>rŽ   rÛ   Úloggingr{   ÚrerÑ   rˆ   Ú	itertoolsr   rG   ÚTYPE_CHECKINGÚtyping_extensionsr   Ú	getLoggerrm   r}   ÚVERSION_PATTERNÚcompileÚXÚIr   r   ÚPEP508_IDENTIFIER_PATTERNr   r   Ú	packagingr   r   ÚImportErrorÚsetuptools._vendor.packagingr#   r§   r7   rN   rb   rd   Útrove_classifiersr’   r•   rj   rŸ   r_   ÚENTRYPOINT_PATTERNrÁ   rÃ   rÂ   ÚENTRYPOINT_GROUP_PATTERNr½   rE   r³   rš   rº   r¾   rÄ   rØ   rß   râ   ræ   rÜ   ré   rì   rï   r(   r   r   Ú<module>r     s1  ðñó Û Û 	Û 	Û Û Ý %à	××ÐÝ)à
×
Ò
˜HÓ
%€ð
€ð> —
’
˜7 _Õ4°wÕ>ÀÇÁÀrÇtÁtÅÓL€õ4ð GÐ ØŸ*š* qÐ)BÐ(CÀ1Ð%EÀrÇtÁtÓLÐ õ;ðð
Ý2õõ*)õ&?õ
M÷2Rñ 2Rðj*ÝCõUõLõð0 /Ð Ø—:’: Ð"4Ð!5°QÐ7¸¿¹Ó>Ð Ø *Ð Ø Ÿjšj¨1Ð-JÐ,KÈ1Ð)MÈrÏtÉtÓTÐ Ø)Ð ØŸš aÐ(@Ð'AÀÐ$CÀRÇTÁTÓJÐ õ õ?õ.õ7õ&;õ
õBõ2õ
õ
õ
%ð
Ý/÷øðY	 ô 
÷	
ð 	
ð
ûð  ô Ø‡O�Oð	=ô÷ð ðûðl ô *Ù'Ó)Óð*ûð` ô Ø‡O�Oð	Cô÷ð ðúsT   Â:F5 Ã G	 Ã#G. Æ'H Æ5GÇG	 ÇGÇG	 Ç	G+Ç*G+Ç.H Ç?H ÈH%È$H%