+
    )O|j€  ã                  ó¼   € ^ RI Ht ^ RIHt ^RIHt ^RIHt ^RI	H
t
Ht ^RIHtHt ^RIHt ]'       d   ^ RIHt R	R
.tR R lt ! R R	]4      t ! R R
4      tR# )é    )Úannotations)ÚTYPE_CHECKING)Úparse_requirement)ÚParserSyntaxError)ÚMarkerÚ_normalize_extra_values)ÚInvalidSpecifierÚSpecifierSet©Úcanonicalize_name)ÚIteratorÚInvalidRequirementÚRequirementc               ó   € V ^8„  d   QhRR/# )é   Úreturnz	list[str]© )Úformats   "ÚOC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\packaging/requirements.pyÚ__annotate__r      s   € ÷ ñ �ñ ó    c                 ó   € \         # ©N)Ú__all__r   r   r   Ú__dir__r      s   € Ü€Nr   c                  ó   € ] tR t^tRtRtR# )r   zZ
An invalid requirement was found, users should refer to PEP 508.

.. versionadded:: 16.1
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   r   r   r   r      s   † õr   c                  ó~   € ] tR t^#tRtRtR R ltR R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltRtR# )r   aq  Parse a requirement.

Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.

.. versionadded:: 16.1

.. versionchanged:: 22.0
    Added equality (``__eq__``) and hashing (``__hash__``) so requirements
    can be compared and stored in sets / dicts.

.. versionchanged:: 23.2
    Equality and hashing began canonicalizing requirement names, so
    requirements whose names differ only by normalization (e.g.
    ``Requirement("Foo")`` vs ``Requirement("foo")``) now compare and hash
    equal.

Instances are safe to serialize with :mod:`pickle`. They use a stable
format so the same pickle can be loaded in future packaging releases.

.. versionchanged:: 26.2

    Added a stable pickle format. Pickles created with packaging 26.2+ can
    be unpickled with future releases.  Backward compatibility with pickles
    from packaging < 26.2 is supported but may be removed in a future
    release.

.. versionchanged:: 26.3

    The dedicated pickle support introduced in 26.2 did not preserve the
    specifier's explicit :attr:`~packaging.specifiers.SpecifierSet.prereleases`
    override; it is now included again.

    Equality and hashing normalize requirement names, extras, and
    equivalent specifiers. The string representation still preserves the
    parsed name and extras spelling.
c               ó    € V ^8„  d   QhRRRR/# )r   Úrequirement_stringÚstrr   ÚNoner   )r   s   "r   r   ÚRequirement.__annotate__R   s   € ÷ Jñ J¨3ð J°4ñ Jr   c                	ó4  €  \        V4      pTP                  T n        TP
                  ;'       g    R T n        \        TP                  4      T n         \        TP                  4      T n	        R T n        TP                  eF   \        P                  ! \        4      T n        \        TP                  4      T P                  n        R # R #   \         d   p\        \        T4      4      ThR p?ii ; i  \         d   p\        \        T4      4      ThR p?ii ; ir   )Ú_parse_requirementr   r   r&   ÚnameÚurlÚsetÚextrasr
   Ú	specifierr	   Úmarkerr   Ú__new__r   Ú_markers)Úselfr%   ÚparsedÚes   &&  r   Ú__init__ÚRequirement.__init__R   sÛ   € ð	4Ü'Ð(:Ó;ˆFð  Ÿ™ˆŒ	Ø%Ÿz™z×1Ð1¨TˆŒÜ # F§M¡MÓ 2ˆŒð	4Ü+7¸×8HÑ8HÓ+IˆDŒNð &*ˆŒØ�=‰=Ò$Ü Ÿ.š.¬Ó0ˆDŒKÜ#:¸6¿=¹=Ó#IˆD�K‰KÖ ñ %øô !ô 	4Ü$¤S¨£VÓ,°!Ð3ûð	4ûô  ô 	4Ü$¤S¨£VÓ,°!Ð3ûð	4ús/   ‚C
 ÁC2 Ã
C/ÃC*Ã*C/Ã2DÃ=DÄDc               ó    € V ^8„  d   QhRRRR/# )r   r+   r&   r   zIterator[str]r   )r   s   "r   r   r(   d   s   € ÷ %ñ % ð %¨ñ %r   c              #  	ó   "  € Vx € V P                   '       d-   R P                  \        V P                   4      4      pRV R2x € V P                  '       d   \	        V P                  4      x € V P
                  '       d(   RV P
                   2x € V P                  '       d   Rx € V P                  '       d   RV P                   2x € R# R# 5i)Ú,Ú[Ú]z @ Ú z; N)r.   ÚjoinÚsortedr/   r&   r,   r0   )r3   r+   Úformatted_extrass   && r   Ú_iter_partsÚRequirement._iter_partsd   s›   é € ØŠ
à�;�;ˆ;Ø"Ÿx™x¬¨t¯{©{Ó(;Ó<ÐØÐ&Ð' qÐ)Ò)à�>�>ˆ>Ü�d—n‘nÓ%Ò%à�8�8ˆ8Ø˜Ÿ™�zÐ"Ò"Ø�{�{ˆ{Ø’	à�;�;ˆ;Ø�t—{‘{�mÐ$Ô$ñ ùs   ‚ACÁ(CÂ "CÂ#CÂ9Cc               ó   € V ^8„  d   QhRR/# )r   r   ztuple[str, bool | None]r   )r   s   "r   r   r(   v   s   € ÷ 8ñ 8Ð5ñ 8r   c                	óD   € \        V 4      V P                  P                  3# r   )r&   r/   Ú_prereleases©r3   s   &r   Ú__getstate__ÚRequirement.__getstate__v   s   € ô
 �D“	˜4Ÿ>™>×6Ñ6Ð7Ð7r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚstateÚobjectr   r'   r   )r   s   "r   r   r(   }   s   € ÷ !ñ ! &ð !¨Tñ !r   c                	ó,  € \        V\        4      '       d   TpR pMä\        V\        4      '       d[   \        V4      ^8X  dK   \        V^ ,          \        4      '       d.   V^,          e   \        V^,          \        4      '       d   Vw  r#Mt\        V\
        4      '       dP   VP                  4       \        V P                  4      8¼  d(   V P                   F  p\        WW,          4       K  	  R # \        RV: 24      h \        V4      pTP                  T n        TP                  T n        TP                  T n        TP                   T n        Y0P                   n        TP$                  T n        R #   \         d   p\        RT: 24      ThR p?ii ; i)Nz Cannot restore Requirement from )Ú
isinstancer&   ÚtupleÚlenÚboolÚdictÚkeysr-   Ú	__slots__ÚsetattrÚ	TypeErrorr   r   r+   r,   r.   r/   rE   r0   )r3   rJ   r%   ÚprereleasesÚkeyÚtmpÚexcs   &&     r   Ú__setstate__ÚRequirement.__setstate__}   s:  € Ü�eœS×!Ò!à&+ÐØ'+‰Kä�uœe×$Ò$Ü�E“
˜a”Ü˜5 �8¤S×)Ò)Ø�q•Ò!¤Z°°aµ¼$×%?Ò%?ð /4Ñ+Ð Ü˜œt×$Ò$¨¯©«¼¸T¿^¹^Ó9LÔ)Là—~”~�Ü˜ 5¥:Ö.ñ &áäÐ>¸u¹iÐHÓIÐIð	SÜÐ0Ó1ˆCð —H‘HˆŒ	Ø—7‘7ˆŒØ—j‘jˆŒØŸ™ˆŒØ&1�‰Ô#Ø—j‘jˆŽøô "ô 	SÜÐ>¸u¹iÐHÓIÈsÐRûð	Sús   ÄE3 Å3FÅ>FÆFc               ó   € V ^8„  d   QhRR/# ©r   r   r&   r   )r   s   "r   r   r(   �   s   € ÷ 4ñ 4˜ñ 4r   c                	óV   € R P                  V P                  V P                  4      4      # )Ú )r>   rA   r+   rF   s   &r   Ú__str__ÚRequirement.__str__�   s    € Ø�w‰w�t×'Ñ'¨¯	©	Ó2Ó3Ð3r   c               ó   € V ^8„  d   QhRR/# r]   r   )r   s   "r   r   r(       s   € ÷ =ñ =˜#ñ =r   c                	óP   € R V P                   P                   R\        V 4      : R2# )Ú<Ú(z)>)Ú	__class__r   r&   rF   s   &r   Ú__repr__ÚRequirement.__repr__    s&   € Ø�4—>‘>×*Ñ*Ð+¨1¬S°«Y©M¸Ð<Ð<r   c               ó   € V ^8„  d   QhRR/# )r   r   Úintr   )r   s   "r   r   r(   £   s   € ÷ 
ñ 
˜#ñ 
r   c                	ó¸   € \        \        V P                  4      \        R  V P                   4       4      V P
                  V P                  V P                  34      # )c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r   ©Ú.0r5   s   & r   Ú	<genexpr>Ú'Requirement.__hash__.<locals>.<genexpr>¬   s   é € ÐD¹°1Ô+¨A×.Ð.»ùó   ‚)Úhashr   r+   Ú	frozensetr.   r/   r,   r0   rF   s   &r   Ú__hash__ÚRequirement.__hash__£   sI   € ô ä! $§)¡)Ó,ÜÑD¸¿ºÓDÓDØ—‘Ø—‘Ø—‘ðó
ð 	
r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚotherrK   r   rP   r   )r   s   "r   r   r(   ³   s   € ÷ 
ñ 
˜Fð 
 tñ 
r   c                	óÞ  € \        V\        4      '       g   \        # \        R  V P                   4       4      p\        R VP                   4       4      p\        V P                  4      \        VP                  4      8H  ;'       dh    W#8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # )c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r   rm   s   & r   ro   Ú%Requirement.__eq__.<locals>.<genexpr>¸   s   é € ÐJ¹k¸Ô 1°!× 4Ð 4»kùrq   c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r   rm   s   & r   ro   rz   ¹   s   é € Ð L¹|¸!Ô!2°1×!5Ð!5»|ùrq   )
rM   r   ÚNotImplementedrs   r.   r   r+   r/   r,   r0   )r3   rw   Úself_extrasÚother_extrass   &&  r   Ú__eq__ÚRequirement.__eq__³   sÁ   € Ü˜%¤×-Ò-Ü!Ð!ô  ÑJ¸d¿kºkÓJÓJˆÜ Ñ L¸u¿|º|Ó LÓLˆä˜dŸi™iÓ(Ô,=¸e¿j¹jÓ,IÑI÷ ,ð ,ØÑ+÷,ð ,à—‘ %§/¡/Ñ1÷,ð ,ð —‘˜EŸI™IÑ%÷,ð ,ð —‘˜uŸ|™|Ñ+ð	
r   )r.   r0   r+   r/   r,   N)r   r   r   r    r!   rS   r6   rA   rG   rZ   r`   rg   rt   r   r"   r   r   r   r   r   #   s?   † ñ%ðX A€IõJõ$%õ$8õ!õ@4õ=õ
÷ 
ñ 
r   N)Ú
__future__r   Útypingr   Ú_parserr   r*   Ú
_tokenizerr   Úmarkersr   r   Ú
specifiersr	   r
   Úutilsr   Úcollections.abcr   r   r   Ú
ValueErrorr   r   r   r   r   Ú<module>rŠ      sN   ðõ #å  å <Ý )ß 4ß 6Ý $çÝ(ð Øð€õô˜ô ÷]
ó ]
r   