
    
3j                     v    S SK r S SKrS SKJrJrJr  SSKJr  SSSSSSS	S
SSSSSS.rS\\	\4   S\\   4S jr
g)    N)IteratorTextIOUnion   )Requirementz(Unused option -c (constraint). Skipping.z)Unused option -r (requirement). Skipping.z#Unused option --no-binary. Skippingz%Unused option --only-binary. Skippingz'Unused option --prefer-binary. Skippingz(Unused option --require-hashes. SkippingzUnused option --pre. Skippingz&Unused option --trusted-host. Skippingz%Unused option --use-feature. Skippingz*Unused option -Z (always-unzip). Skipping.z'Unused option --always-unzip. Skipping.)z-cz--constraint-r--requirementz--no-binaryz--only-binaryz--prefer-binaryz--require-hashesz--prez--trusted-hostz--use-featurez-Zz--always-unzipreqstrreturnc           	   #     #    [        U SS5      n[        U [        5      (       d  U R                  5       n U R	                  5        GH  nUR                  5       nUS:X  a  M  U(       a  UR                  S5      (       a  M;  U(       a  UR                  S5      (       a  MZ  UR                  S5      (       a  UR                  5       u  p4[        R                  R                  [        R                  R                  U=(       d    S5      U5      n[        U5       n[        U5       H  nUv   M	     SSS5        M  UR                  S5      (       dn  UR                  S	5      (       dX  UR                  S
5      (       dB  UR                  S5      (       d,  UR                  S5      (       d  UR                  S5      (       a  [        R                  " SSS9  GM  Sn[         R#                  5        HN  n	UR                  U	5      (       d  M  [        R                  " [        [         R%                  U	5      5      SS9  SnMP     U(       a  GM  [&        R                  " U5      v   GM     g! , (       d  f       GM0  = f7f)z
Parse a requirements file into a list of Requirements

See: pip/req.py:parse_requirements()

:param reqstr: a string or file like object containing requirements
:returns: a *generator* of Requirement objects
nameN #z--hash=)r   r	   .z-fz--find-linksz-iz--index-urlz--extra-index-urlz
--no-indexz&Private repos not supported. Skipping.   )
stacklevelFT)getattr
isinstancestrread
splitlinesstrip
startswithsplitospathjoindirnameopenparsewarningswarn_UNSUPPORTED_OPTIONSkeysgetr   )
r
   filenameline_new_filenamenew_file_pathfrequirementunsupportedparams
             M/home/wildlama/miniconda3/lib/python3.13/site-packages/requirements/parser.pyr    r    *   s     vvt,H fc""!!#zz|2:--33__455"jjlOAGGLLS)I)57Mm$#(8K%% $, %$ __T""doon&E&E%%)G)G 344--MMBqQ %K-224??5))MM#&:&>&>u&E"FSTU"&K 5 ;!''--C $ %$s+   DI8I%/CI8<I8I8%
I5	/	I8)r   r!   typingr   r   r   r,   r   r#   r   r         r/   <module>r3      sh   & 
  * * $ 5>
5@8<@B,><
6? "0.%V$ 0.+)> 0.r2   