
    ]h	                    <    S SK Jr  S SKJr  S SKJr   " S S5      rg)    )annotations)canonicalize_name)CommandErrorc                  x    \ rS rSrSrSS/r  S     SS jjrSS jrSS jr\	SS	 j5       r
SS
 jrSS jrSrg)FormatControl   zBHelper for managing formats from which a package can be installed.	no_binaryonly_binaryNc                P    Uc
  [        5       nUc
  [        5       nXl        X l        g N)setr	   r
   )selfr	   r
   s      U/var/www/html/env/lib/python3.13/site-packages/pip/_internal/models/format_control.py__init__FormatControl.__init__   s)    
 I%K"&    c                   ^ ^ [        TT R                  5      (       d  [        $ T R                  TR                  :w  a  g[	        UU 4S jT R                   5       5      $ )NFc              3  V   >#    U  H  n[        TU5      [        TU5      :H  v   M      g 7fr   )getattr).0kotherr   s     r   	<genexpr>'FormatControl.__eq__.<locals>.<genexpr>!   s$     Q.Q74#wua'88.s   &))
isinstance	__class__NotImplemented	__slots__all)r   r   s   ``r   __eq__FormatControl.__eq__   sB    %00!!>>U__,Q$..QQQr   c                h    U R                   R                   SU R                   SU R                   S3$ )N(z, ))r   __name__r	   r
   r   s    r   __repr__FormatControl.__repr__#   s2    ..))*!DNN+;2d>N>N=OqQQr   c                   U R                  S5      (       a  [        S5      eU R                  S5      nSU;   aW  UR                  5         UR                  5         UR	                  S5        US UR                  S5      S-   2	 SU;  a  g SU;   a  MW  U HH  nUS:X  a  UR                  5         M  [        U5      nUR                  U5        UR	                  U5        MJ     g )N-z7--no-binary / --only-binary option requires 1 argument.,:all:   z:none:)
startswithr   splitclearaddindexr   discard)valuetargetr   newnames        r   handle_mutual_excludes$FormatControl.handle_mutual_excludes&   s    C  I  kk#nKKMLLNJJw,cii(1,,-s" n Dx$T*DMM$JJt r   c                *   SS1nXR                   ;   a  UR                  S5        OdXR                  ;   a  UR                  S5        OCSU R                   ;   a  UR                  S5        O!SU R                  ;   a  UR                  S5        [        U5      $ )Nbinarysourcer,   )r
   r3   r	   	frozenset)r   canonical_nameresults      r   get_allowed_formats!FormatControl.get_allowed_formats=   sw    H%---NN8$~~-NN8$(((NN8$&NN8$  r   c                R    U R                  SU R                  U R                  5        g )Nr,   )r8   r	   r
   r&   s    r   disallow_binariesFormatControl.disallow_binariesI   s#    ##NN	
r   )r	   r
   )NN)r	   set[str] | Noner
   rE   returnNone)r   objectrF   bool)rF   str)r4   rJ   r5   set[str]r   rK   rF   rG   )r>   rJ   rF   zfrozenset[str])rF   rG   )r%   
__module____qualname____firstlineno____doc__r   r   r    r'   staticmethodr8   r@   rC   __static_attributes__ r   r   r   r      sb    Lm,I &*'+'"' %' 
	'RR  ,
!
r   r   N)
__future__r   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   r   rR   r   r   <module>rV      s    " 9 1F
 F
r   