+
    iK                    \    ^ RI Ht ^ RIHtHt ^ RIHtHt ^ RIH	t	 ] ! R R4      4       t
R# )    )annotations)	dataclassfield)NormalizedNamecanonicalize_name)CommandErrorc                      ] tR t^t$ Rt]! ]R7      tR]R&   ]! ]R7      t	R]R&   ]! R]
RRR7      tR]R	&   R
 R ltR R ltR R ltRtR# )ReleaseControlz9Helper for managing which release types can be installed.)default_factoryset[str]all_releases
only_finalF)initr   comparereprlist[tuple[str, str]]_orderc          
     ,    V ^8  d   QhRRRRRRRRRR/# )	   valuestrtargetr   other	attr_namereturnNone )formats   "j/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/models/release_control.py__annotate__ReleaseControl.__annotate__   s4     %2 %2%2"*%23;%2HK%2	%2    c                r   VP                  R4      '       d   \        R4      hVP                  R4      pRV9   du   VP                  4        VP                  4        VP	                  R4       V P
                  P                  VR34       VRVP                  R4      ^,           1 RV9  g   Ky  R# V F  pVR8X  d0   VP                  4        V P
                  P                  VR34       K9  \        V4      pVP                  V4       VP	                  V4       V P
                  P                  WF34       K  	  R# )a  Parse and apply release control option value.

Processes comma-separated package names or special values `:all:` and `:none:`.

When adding packages to target, they're removed from other to maintain mutual
exclusivity between all_releases and only_final. All operations are tracked in
order so that the original command-line argument sequence can be reconstructed
when passing options to build subprocesses.
-z9--all-releases / --only-final option requires 1 argument.,:all:Nz:none:)

startswithr   splitclearaddr   appendindexr   discard)selfr   r   r   r   newnames   &&&&&  r   handle_mutual_excludes%ReleaseControl.handle_mutual_excludes   s    C  K  kk#nKKMLLNJJwKK	734,cii(1,,-s"Dx""Ix#89$T*DMM$JJtKK	01 r"   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r    r!   <   s      "7 r"   c                (    V P                   R,          # )at  
Get ordered list of (flag_name, value) tuples for reconstructing CLI args.

Returns:
    List of tuples where each tuple is (attribute_name, value).
    The attribute_name is either 'all_releases' or 'only_final'.

Example:
    [("all_releases", ":all:"), ("only_final", "simple")]
    would be reconstructed as:
    ["--all-releases", ":all:", "--only-final", "simple"]
:NNN)r   )r.   s   &r   get_ordered_argsReleaseControl.get_ordered_args<   s     {{1~r"   c                    V ^8  d   QhRRRR/# )r   canonical_namer   r   zbool | Noner   )r   s   "r   r    r!   K   s       K r"   c                    WP                   9   d   R# WP                  9   d   R# RV P                   9   d   R# RV P                  9   d   R# R# )z
Determine if pre-releases are allowed for a package.

Returns:
    True: Pre-releases are allowed (package in all_releases)
    False: Only final releases allowed (package in only_final)
    None: No specific setting, use default behavior
TFr&   N)r   r   )r.   r8   s   &&r   allows_prereleases!ReleaseControl.allows_prereleasesK   sC     ....)))'r"   r   N)__name__
__module____qualname____firstlineno____doc__r   setr   __annotations__r   listr   r1   r5   r:   __static_attributes__r   r"   r   r
   r
      sS    C"37L(7 5J5$)D%e%F! %2N r"   r
   N)
__future__r   dataclassesr   r   pip._vendor.packaging.utilsr   r   pip._internal.exceptionsr   r
   r   r"   r   <module>rI      s-    " ( I 1 P P Pr"   