+
    Hwiy?                     ^   R t ^ RIHtHt ^ RIt^ RIt^ RIt^ RIHtH	t	H
t
HtHtHtHt ^ RIHt ]'       d   ^ RIt^ RIHt ^ RIHt R t ! R R	]4      t]! 4       t ! R
 R]4      t ! R R]4      tR tR tR t R t!R t"R t#]! RR7       ! R R4      4       t$R t%R t&^RI'H(t( R t). ROt*R# )z0
Versions for Python packages.

See L{Version}.
)divisionabsolute_importN)TYPE_CHECKINGAnyTypeVarUnionOptionalDictBinaryIO)	dataclass)Literal)Distributionc                &    W8  d   R# W8X  d   ^ # ^# )zy
Compare two objects.

Returns a negative number if C{a < b}, zero if they are equal, and a
positive number if C{a > b}.
 )abs   &&6/usr/lib/python3/dist-packages/incremental/__init__.py_cmpr      s     	u		
    c                   B   a  ] tR t^2t o RtR tR tR tR tR t	Rt
V tR# )	_Infz2
An object that is bigger than all other objects.
c                    V\         J d   ^ # ^# )zi
@param other: Another object.
@type other: any

@return: 0 if other is inf, 1 otherwise.
@rtype: C{int}
)_infselfothers   &&r   __cmp___Inf.__cmp__7   s     D=r   c                *    V P                  V4      ^ 8  #     r   r   s   &&r   __lt___Inf.__lt__C       ||E"Q&&r   c                *    V P                  V4      ^ 8*  # r    r"   r   s   &&r   __le___Inf.__le__F       ||E"a''r   c                *    V P                  V4      ^ 8  # r    r"   r   s   &&r   __gt___Inf.__gt__I   r%   r   c                *    V P                  V4      ^ 8  # r    r"   r   s   &&r   __ge___Inf.__ge__L   r)   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r#   r'   r+   r.   __static_attributes____classdictcell____classdict__s   @r   r   r   2   s(     
'('( (r   r   c                       ] tR t^StRtRtR# )IncomparableVersionsz%
Two versions could not be compared.
r   N)r0   r1   r2   r3   r4   r5   r   r   r   r:   r:   S   s    r   r:   c                      a  ] tR t^Yt o RtRR lt]R 4       tR t]t	]t
]tR tR tR tR	 tR
 tR tR tR tR tRtV tR# )Versionz
An encapsulation of a version for a project, with support for outputting
PEP-440 compatible version strings.

This class supports the standard major.minor.micro[rcN] scheme of
versioning.
Nc	                b   V'       d   V'       d   \        R4      hV'       d(   V'       g    Tp\        P                  ! R\        ^R7       VR8X  d4   V'       g!   V'       g   V'       g   V'       g	   V'       d   \        R4      hWn        W n        W0n        W@n        WPn        Wpn	        Wn
        R# )aJ  
@param package: Name of the package that this is a version of.
@type package: C{str}
@param major: The major version number.
@type major: C{int} or C{str} (for the "NEXT" symbol)
@param minor: The minor version number.
@type minor: C{int}
@param micro: The micro version number.
@type micro: C{int}
@param release_candidate: The release candidate number.
@type release_candidate: C{int}
@param prerelease: The prerelease number. (Deprecated)
@type prerelease: C{int}
@param post: The postrelease number.
@type post: C{int}
@param dev: The development release number.
@type dev: C{int}
z Please only return one of these.zvPassing prerelease to incremental.Version was deprecated in Incremental 16.9.0. Please pass release_candidate instead.
stacklevelNEXTz;When using NEXT, all other values except Package must be 0.N)
ValueErrorwarningswarnDeprecationWarningpackagemajorminormicrorelease_candidatepostdev)	r   rE   rF   rG   rH   rI   
prereleaserJ   rK   s	   &&&&&&&&&r   __init__Version.__init__b   s    : ?@@ 1 *MM- # F?!2dc Q  


!2	r   c                T    \         P                  ! R \        ^R7       V P                  # )zuAccessing incremental.Version.prerelease was deprecated in Incremental 16.9.0. Use Version.release_candidate instead.r>   )rB   rC   rD   rI   r   s   &r   rL   Version.prerelease   s)    1 	
 %%%r   c                Z   V P                   R8X  d   V P                   # V P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pRV P                   V P                  V P
                  WV3,          # )z
Return a PEP440-compatible "public" representation of this L{Version}.

Examples:

  - 14.4.0
  - 1.2.3rc1
  - 14.2.1rc1dev9
  - 16.04.0dev0
r@    rcz.postz.devz%r.%d.%d%s%s%s)rF   rI   rJ   rK   rG   rH   )r   rT   rJ   rK   s   &   r   publicVersion.public   s     ::::!!)B *  113B99D  !%		+D88C  #hh(C4::tzz4::rQT"UUUr   c           	     b   V P                   f   RpMRV P                   : 2pV P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pRV P                  P                  V P
                  V P                  V P                  V P                  VVV3,          # )NrS   z, release_candidate=z, post=z, dev=z%s(%r, %r, %d, %d%s%s%s))	rI   rJ   rK   	__class__r0   rE   rF   rG   rH   )r   rI   rJ   rK   s   &   r   __repr__Version.__repr__   s    !!) " * =A<R<R T99D  #'))-D88C  !%*C)NN##LLJJJJJJ	-
 	
 		
r   c                H    R V P                   : RV P                  4       : R2# )[z
, version ]rE   shortrP   s   &r   __str__Version.__str__   s    %)\\4::<@@r   c           	        \        WP                  4      '       g   \        # V P                  P	                  4       VP                  P	                  4       8w  d'   \        V P                  : RVP                  : 24      hV P                  R8X  d   \        pMV P                  pV P                  f   \        pMV P                  pV P                  f   RpMV P                  pV P                  f   \        pMV P                  pVP                  R8X  d   \        pMVP                  pVP                  f   \        pMVP                  pVP                  f   RpMVP                  pVP                  f   \        p	MVP                  p	\        W P                  V P                  W4V3WaP                  VP                  WxV	34      p
V
# )a  
Compare two versions, considering major versions, minor versions, micro
versions, then release candidates, then postreleases, then dev
releases. Package names are case insensitive.

A version with a release candidate is always less than a version
without a release candidate. If both versions have release candidates,
they will be included in the comparison.

Likewise, a version with a dev release is always less than a version
without a dev release. If both versions have dev releases, they will
be included in the comparison.

@param other: Another version.
@type other: L{Version}

@return: NotImplemented when the other object is not a Version, or one
    of -1, 0, or 1.

@raise IncomparableVersions: when the package names of the versions
    differ.
z != r@   r   )
isinstancerX   NotImplementedrE   lowerr:   rF   r   rI   rJ   rK   r   rG   rH   )r   r   rF   rI   rJ   rK   
othermajorotherrc	otherpostotherdevxs   &&         r   r   Version.__cmp__   s[   . %00!!<<5==#6#6#88&T\\5=='QRR::EJJE!!) $ $ 6 699D99D88C((C;;& JJ""*G--G::I

I99HyyHJJ

,=SIekk7xP
 r   c                F    V P                  V4      pV\        J d   V# V^ 8H  # r    r   rd   r   r   cs   && r   __eq__Version.__eq__/  &    LLHAvr   c                F    V P                  V4      pV\        J d   V# V^ 8g  # r    rm   rn   s   && r   __ne__Version.__ne__5  rr   r   c                F    V P                  V4      pV\        J d   V# V^ 8  # r    rm   rn   s   && r   r#   Version.__lt__;  &    LLH1ur   c                F    V P                  V4      pV\        J d   V# V^ 8*  # r    rm   rn   s   && r   r'   Version.__le__A  rr   r   c                F    V P                  V4      pV\        J d   V# V^ 8  # r    rm   rn   s   && r   r+   Version.__gt__G  rx   r   c                F    V P                  V4      pV\        J d   V# V^ 8  # r    rm   rn   s   && r   r.   Version.__ge__M  rr   r   )rK   rF   rH   rG   rE   rJ   rI   )NNNN)r0   r1   r2   r3   r4   rM   propertyrL   rU   baser_   localrY   r`   r   rp   rt   r#   r'   r+   r.   r5   r6   r7   s   @r   r<   r<   Y   sp     5n & &V> DEE
6AHT r   r<   c                H    V P                   : RV P                  4       : 2pV# )z
Get a friendly string for the given version object.

@param version: A L{Version} object.
@return: A string containing the package and short version number.
 r^   )versionresults   & r   getVersionStringr   T  s      9FMr   c                   \         P                  P                  V RVP                  4       4      p\         P                  P                  WP                  4       4      p\         P                  P	                  V4      '       d   V# \         P                  P	                  V4      '       d   V# \        RP                  WV4      4      h)z
Determine the package root directory.

The result is one of:

    - src/{package}
    - {package}

Where {package} is downcased.
srcz=Can't find the directory of project {}: I looked in {} and {})ospathjoinre   isdirrA   format)r   rE   src_dircurrent_dirs   &&  r   	_findPathr   _  s     ggll48G'',,t]]_5K	ww}}W	{	#	#KRR+
 	
r   c                    / p\        V R4      ;_uu_ 4       p\        VP                  4       V4       RRR4       VR,          #   + '       g   i     TR,          # ; i)z7
Load the current version from a ``_version.py`` file.
rN__version__)openexecread)version_pathversion_infofs   &  r   _existing_versionr   y  sP     L	lC	 	 AQVVX|$ 
! && 
!	  &&s   AA	c                     \        R4      pTP                  '       g   R#  \        TP                  4      pTP                  4       T P                  n        R#   \         d     R# i ; i  \
         d     R# i ; i)af  
Setuptools integration: load the version from the working directory

This function is registered as a setuptools.finalize_distribution_options
entry point [1]. Consequently, it is called in all sorts of weird
contexts. In setuptools, silent failure is the law.

[1]: https://setuptools.pypa.io/en/latest/userguide/extension.html#customizing-distribution-options

@param dist:
    A (possibly) empty C{setuptools.Distribution} instance to mutate.
    There may be some metadata here if a `setup.py` called `setup()`,
    but this hook is always called before setuptools loads anything
    from ``pyproject.toml``.
z./pyproject.tomlN)	_load_pyproject_toml	Exceptionopt_inr   r   FileNotFoundErrorrU   metadatar   )distconfigr   s   &  r   _get_setuptools_versionr     ss      &&89 ===#F$7$78 $NN,DMM    s"   A A* A'&A'*A98A9c                   V'       g   R# ^ RI Hp VP                  V 4      pVP                  4        VP                  4        F  pV^,          R8X  g   K  \        P
                  P                  \        P
                  P                  V^,          4      R4      p\        V4      P                  4       V P                  n         R# 	  \        R4      h)z
Distutils integration: get the version from the package listed in the Distribution.

This function is invoked when a C{setup.py} calls C{setup(use_incremental=True)}.

@see: https://setuptools.pypa.io/en/latest/userguide/extension.html#adding-arguments
N)build_py_version_version.pyzNo _version.py found.)setuptools.commandr   finalize_optionsfind_all_modulesr   r   r   dirnamer   rU   r   r   r   )r   keywordvaluer   
sp_commanditemr   s   &&&    r   _get_distutils_versionr     s     +""4(J!++-7j 77<<Q(@-PL$5l$C$J$J$LDMM!	 . +
,,r   c                `    \         P                  R8  d   ^ RIpM^ RIpVP	                  V 4      # )z"
Read the content of a TOML file.
N)      )sysr   tomllibtomliload)r   r   s   & r   
_load_tomlr     s&     '!<<?r   T)frozenc                   F   a  ] tR tRt o Rt   ]R 4       tV 3R ltRtV t	R# )_IncrementalConfigi  z6
Configuration loaded from a ``pyproject.toml`` file.
c                V    \         P                  P                  V P                  R4      # )z0Path of the ``_version.py`` file. May not exist.r   )r   r   r   rP   s   &r   r   _IncrementalConfig.version_path  s     ww||DII}55r   c                >   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )   r   rE   r   )boolstr)r   r8   s   "r   __annotate___IncrementalConfig.__annotate__  s)      L  L   I! r   r   N)
r0   r1   r2   r3   r4   r   r   __annotate_func__r5   r6   r7   s   @r   r   r     s3     
 D #6 6)  r   r   c           	        \        V R4      ;_uu_ 4       p\        V4      pRRR4       \        X4      pRpVe   RV9   d
   VR,          pVf    VR,          R,          pVf   \	        R4      h\        V\        4      '       g$   \        RP                  \        V4      4      4      h\        VRJV\        \        P                  P                  V 4      V4      R7      #   + '       g   i     L; i  \         d     Li ; i)ac  
Load Incremental configuration from a ``pyproject.toml``

If the [tool.incremental] section is empty we take the project name
from the [project] section. Otherwise we require only a C{name} key
specifying the project name. Other keys are forbidden to allow future
extension and catch typos.

@param toml_path:
    Path to the ``pyproject.toml`` to load.
rbNnameprojectzIncremental failed to extract the project name from pyproject.toml. Specify it like:

    [project]
    name = "Foo"

Or:

    [tool.incremental]
    name = "Foo"

z/The project name must be a string, but found {})r   rE   r   )r   r   _extract_tool_incrementalKeyErrorrA   rc   r   	TypeErrorr   typer   r   r   r   r   )	toml_pathr   datatool_incrementalrE   s   &    r   r   r     s     
i		!!} 
 16 G#2B(B"6*	9of-G    	 gs##=DDT']S
 	
 t+rwwy17; E 
	  		s   CC1 C.	1C?>C?c                 L   R V 9  d   R# \        V R ,          \        4      '       g   \        R4      hRV R ,          9  d   R# V R ,          R,          p\        V\        4      '       g   \        R4      hR0P                  VP	                  4       4      '       g   \        R4      hV# )toolNz[tool] must be a tableincrementalz"[tool.incremental] must be a tabler   z'Unexpected key(s) in [tool.incremental])rc   dictrA   
issupersetkeys)r   r   s   & r   r   r     s    Td6lD))122DL(F|M2&--=>>8/44677BCCr   )r   c                  ,    \         P                  ! 4       # )N)r   rU   r   r   r   _setuptools_versionr   1  s    r   )r   r<   r   )+r4   
__future__r   r   r   r   rB   typingr   r   r   r   r   r	   r
   dataclassesr   iotyping_extensionsr   distutils.distr   _Distributionr   objectr   r   r   r:   r<   r   r   r   r   r   r   r   r   r   r   r   r   __all__r   r   r   <module>r      s    1 	 
  O O O ! )<((6 (< v9 xf xv
4	' -F-2 $6 6 602j" "  9r   