§
    Ð! hWš  ã                  ó¸  — d dl mZ d dlmZmZ d dlmZ d dlZd dlm	Z	 d dl
mZmZmZmZmZmZ d dlZd dlmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZm Z m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.c m/Z0 d dl1m2Z2 d dl3m.c m4c m5Z6 d dl3m7Z7m8Z8 d dl9m:Z: erd dl;m<Z<m=Z=m>Z>m?Z?m@Z@  eAd ¦  «        ZB ejC        ejD        ¦  «        ZE G d„ de7¦  «        ZFdS )é    )Úannotations)ÚHashableÚIterator)Ú	timedeltaN)Ú	getsizeof)ÚTYPE_CHECKINGÚAnyÚCallableÚLiteralÚcastÚoverload)ÚindexÚlib)Úunique_deltas)Ú
no_default)Úfunction)Úcache_readonlyÚdeprecate_nonkeyword_argumentsÚdoc)Úensure_platform_intÚensure_python_intÚis_floatÚ
is_integerÚ	is_scalarÚis_signed_integer_dtype)ÚABCTimedeltaIndex)Úops)Úextract_array)ÚIndexÚmaybe_extract_name)Úunpack_zerodim_and_defer)ÚAxisÚDtypeÚ
NaPositionÚSelfÚnptc                  óê  ‡ — e Zd ZU dZdZedfZded<   ded<   ed�d
„¦   «         Z		 	 	 	 	 	 d‘d’d„Z
ed“d”d„¦   «         Ze	 d•d–d„¦   «         Zed—d„¦   «         Zed˜d„¦   «         Zed™d„¦   «         Zdšd„Zd „ Zd!„ Zd›d&„Zedœd(„¦   «         Zedœd)„¦   «         Zedœd*„¦   «         Zedœd+„¦   «         Zd�džd-„ZedŸd/„¦   «         Zed d0„¦   «         Zed d1„¦   «         Zed d2„¦   «         Zd¡d5„Zed¢d6„¦   «         Z  e!e"j#        ¦  «        dœd7„¦   «         Z#	 	 	 d£d¤ˆ fd?„Z$ed d@„¦   «         Z%d¥dB„Z& e!e"j'        ¦  «        d¦dD„¦   «         Z' e!e"j(        ¦  «        e)fd§dF„¦   «         Z(d¨dG„Z* e!e"j+        ¦  «        d©dªdH„¦   «         Z+d«dJ„Z,d¬d­dM„Z-d¬d­dN„Z.d®dO„Z/	 	 d¯d°dS„Z0d±ˆ fdV„Z1e2dWdWdWdWdXœd²d_„¦   «         Z3e2dWdWdWd`œd³dc„¦   «         Z3e2dWdWdWdWdXœd´de„¦   «         Z3 e4dfdggdh¬i¦  «        	 	 	 	 dµd´ˆ fdk„¦   «         Z3d�d¶ˆ fdl„Z5d·dn„Z6d¸dr„Z7d¹ds„Z8dºˆ fdu„Z9d•ˆ fdv„	Z:	 d“d»ˆ fdx„Z;d¼ˆ fdy„Z<d½ˆ fd{„Z=d¾ˆ fd~„Z>dœd„Z?edœd€„¦   «         Z@ˆ fd�„ZAd¿d„„ZB eCd…¦  «        ˆ fd†„¦   «         ZDd d‡„ZEd dˆ„ZFˆ fd‰„ZGˆ fdŠ„ZH	 	 	 dÀdÁd�„ZIˆ xZJS )ÂÚ
RangeIndexaL  
    Immutable Index implementing a monotonic integer range.

    RangeIndex is a memory-saving special case of an Index limited to representing
    monotonic ranges with a 64-bit dtype. Using RangeIndex may in some instances
    improve computing speed.

    This is the default index type used
    by DataFrame and Series when no explicit index is provided by the user.

    Parameters
    ----------
    start : int (default: 0), range, or other RangeIndex instance
        If int and "stop" is not given, interpreted as "stop" instead.
    stop : int (default: 0)
    step : int (default: 1)
    dtype : np.int64
        Unused, accepted for homogeneity with other index types.
    copy : bool, default False
        Unused, accepted for homogeneity with other index types.
    name : object, optional
        Name to be stored in the index.

    Attributes
    ----------
    start
    stop
    step

    Methods
    -------
    from_range

    See Also
    --------
    Index : The base pandas Index type.

    Examples
    --------
    >>> list(pd.RangeIndex(5))
    [0, 1, 2, 3, 4]

    >>> list(pd.RangeIndex(-2, 4))
    [-2, -1, 0, 1, 2, 3]

    >>> list(pd.RangeIndex(0, 10, 2))
    [0, 2, 4, 6, 8]

    >>> list(pd.RangeIndex(2, -10, -3))
    [2, -1, -4, -7]

    >>> list(pd.RangeIndex(0))
    []

    >>> list(pd.RangeIndex(1, 0))
    []
    Ú
rangeindexzsigned integerÚrangeÚ_rangeú
np.ndarrayÚ_valuesÚreturnútype[libindex.Int64Engine]c                ó   — t           j        S ©N)ÚlibindexÚInt64Engine©Úselfs    úSc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/indexes/range.pyÚ_engine_typezRangeIndex._engine_type‚   s   € åÔ#Ð#ó    NFÚdtypeúDtype | NoneÚcopyÚboolÚnameúHashable | Noner%   c                ó.  — |                       |¦  «         t          ||| ¦  «        }t          || ¦  «        r|                     |¬¦  «        S t          |t          ¦  «        r|                      ||¬¦  «        S t          j        |||¦  «        rt          d¦  «        ‚|�t          |¦  «        nd}|€d|}}nt          |¦  «        }|�t          |¦  «        nd}|dk    rt          d¦  «        ‚t	          |||¦  «        }|                      ||¬¦  «        S )N©r=   z,RangeIndex(...) must be called with integersr   é   zStep must not be zero)Ú_validate_dtyper    Ú
isinstancer;   r*   Ú_simple_newÚcomÚall_noneÚ	TypeErrorr   Ú
ValueError)ÚclsÚstartÚstopÚstepr9   r;   r=   Úrngs           r6   Ú__new__zRangeIndex.__new__‰   s-  € ð 	×Ò˜EÑ"Ô"Ð"Ý! $¨¨sÑ3Ô3ˆõ �e˜SÑ!Ô!ð 	5Ø—:’: 4�:Ñ(Ô(Ð(Ý˜�uÑ%Ô%ð 	5Ø—?’? 5¨t�?Ñ4Ô4Ð4õ Œ<˜˜t TÑ*Ô*ð 	LÝÐJÑKÔKÐKà,1Ð,=Õ! %Ñ(Ô(Ð(À1ˆàˆ<Ø˜U�4ˆEˆEå$ TÑ*Ô*ˆDà*.Ð*:Õ  Ñ&Ô&Ð&ÀˆØ�1Š9ˆ9ÝÐ4Ñ5Ô5Ð5å�E˜4 Ñ&Ô&ˆØ�Š˜s¨ˆÑ.Ô.Ð.r8   Údatac                óÒ   — t          |t          ¦  «        s't          | j        › dt	          |¦  «        › d�¦  «        ‚|                      |¦  «         |                      ||¬¦  «        S )af  
        Create :class:`pandas.RangeIndex` from a ``range`` object.

        Returns
        -------
        RangeIndex

        Examples
        --------
        >>> pd.RangeIndex.from_range(range(5))
        RangeIndex(start=0, stop=5, step=1)

        >>> pd.RangeIndex.from_range(range(2, -10, -3))
        RangeIndex(start=2, stop=-10, step=-3)
        z7(...) must be called with object coercible to a range, z was passedr@   )rC   r*   rG   Ú__name__ÚreprrB   rD   )rI   rO   r=   r9   s       r6   Ú
from_rangezRangeIndex.from_range­   s{   € õ" ˜$¥Ñ&Ô&ð 	ÝØ”<ð 2ð 2Ý˜t™*œ*ð2ð 2ð 2ñô ð ð 	×Ò˜EÑ"Ô"Ð"Ø�Š˜t¨$ˆÑ/Ô/Ð/r8   Úvaluesc                óÈ   — t                                | ¦  «        }t          |t          ¦  «        sJ ‚||_        ||_        i |_        |                     ¦   «          d |_        |S r1   )	ÚobjectrN   rC   r*   r+   Ú_nameÚ_cacheÚ_reset_identityÚ_references)rI   rT   r=   Úresults       r6   rD   zRangeIndex._simple_newÉ   s_   € õ —’ Ñ$Ô$ˆå˜&¥%Ñ(Ô(Ð(Ð(Ð(àˆŒØˆŒØˆŒØ×ÒÑ Ô Ð Ø!ˆÔØˆr8   ÚNonec                ób   — |€d S | j         \  }} ||¦  «        st          d|› d|› �¦  «        ‚d S )Nz#Incorrect `dtype` passed: expected z, received )Ú_dtype_validation_metadatarH   )rI   r9   Úvalidation_funcÚexpecteds       r6   rB   zRangeIndex._validate_dtypeØ   sZ   € àˆ=ØˆFà$'Ô$BÑ!ˆ˜Øˆ˜uÑ%Ô%ð 	ÝØR°hÐRÐRÈ5ÐRÐRñô ð ð	ð 	r8   útype[Index]c                ó   — t           S )z(return the class to use for construction)r   r4   s    r6   Ú_constructorzRangeIndex._constructorç   s	   € õ ˆr8   c                ód   — t          j        | j        | j        | j        t           j        ¬¦  «        S )z�
        An int array that for performance reasons is created only when needed.

        The constructed array is saved in ``_cache``.
        ©r9   )ÚnpÚarangerJ   rK   rL   Úint64r4   s    r6   Ú_datazRangeIndex._dataí   s%   € õ Œy˜œ T¤Y°´	ÅÄÐJÑJÔJÐJr8   úlist[tuple[str, int]]c                óD   — | j         }d|j        fd|j        fd|j        fgS )z,return a list of tuples of start, stop, steprJ   rK   rL   )r+   rJ   rK   rL   ©r5   rM   s     r6   Ú_get_data_as_itemszRangeIndex._get_data_as_itemsö   s+   € àŒkˆØ˜#œ)Ð$ v¨s¬xÐ&8¸6À3Ä8Ð:LÐMÐMr8   c                ó¸   — d| j         i}|                     t          |                      ¦   «         ¦  «        ¦  «         t          j        t          | ¦  «        |fd fS )Nr=   )rW   ÚupdateÚdictrm   ÚibaseÚ
_new_IndexÚtype)r5   Úds     r6   Ú
__reduce__zRangeIndex.__reduce__û   sN   € Ø�T”ZÐ ˆØ	�Š•�d×-Ò-Ñ/Ô/Ñ0Ô0Ñ1Ô1Ð1ÝÔ¥$ t¡*¤*¨a °$Ð6Ð6r8   c                ó´   — t          d|                      ¦   «         ¦  «        }| j        �.|                     dt	          j        | j        ¦  «        f¦  «         |S )zH
        Return a list of tuples of the (attr, formatted_value)
        zlist[tuple[str, str | int]]Nr=   )r   rm   rW   Úappendrq   Údefault_pprint)r5   Úattrss     r6   Ú_format_attrszRangeIndex._format_attrs  sQ   € õ Ð2°D×4KÒ4KÑ4MÔ4MÑNÔNˆØŒ:Ð!Ø�LŠL˜&¥%Ô"6°t´zÑ"BÔ"BÐCÑDÔDÐDØˆr8   Úheaderú	list[str]Úna_repÚstrc               ó  ‡— t          | j        ¦  «        s|S t          | j        d         ¦  «        }t          | j        d         ¦  «        }t          t          |¦  «        t          |¦  «        ¦  «        Š|ˆfd„| j        D ¦   «         z   S )Nr   éÿÿÿÿc                ó   •— g | ]	}|d ‰› �›‘Œ
S )ú<© )Ú.0ÚxÚ
max_lengths     €r6   ú
<listcomp>z2RangeIndex._format_with_header.<locals>.<listcomp>  s'   ø€ ÐCÐCÐC°!˜AÐ- 
Ð-Ð-Ð-ÐCÐCÐCr8   )Úlenr+   r~   Úmax)r5   r{   r}   Úfirst_val_strÚlast_val_strr†   s        @r6   Ú_format_with_headerzRangeIndex._format_with_header  s�   ø€ å�4”;ÑÔð 	ØˆMÝ˜DœK¨œNÑ+Ô+ˆÝ˜4œ; rœ?Ñ+Ô+ˆÝ�˜]Ñ+Ô+­S°Ñ->Ô->Ñ?Ô?ˆ
àÐCÐCÐCÐC°t´{ÐCÑCÔCÑCÐCr8   Úintc                ó   — | j         j        S )a	  
        The value of the `start` parameter (``0`` if this was not supplied).

        Examples
        --------
        >>> idx = pd.RangeIndex(5)
        >>> idx.start
        0

        >>> idx = pd.RangeIndex(2, -10, -3)
        >>> idx.start
        2
        )r+   rJ   r4   s    r6   rJ   zRangeIndex.start  s   € ð  Œ{Ô Ð r8   c                ó   — | j         j        S )zç
        The value of the `stop` parameter.

        Examples
        --------
        >>> idx = pd.RangeIndex(5)
        >>> idx.stop
        5

        >>> idx = pd.RangeIndex(2, -10, -3)
        >>> idx.stop
        -10
        )r+   rK   r4   s    r6   rK   zRangeIndex.stop*  s   € ð Œ{ÔÐr8   c                ó   — | j         j        S )a´  
        The value of the `step` parameter (``1`` if this was not supplied).

        Examples
        --------
        >>> idx = pd.RangeIndex(5)
        >>> idx.step
        1

        >>> idx = pd.RangeIndex(2, -10, -3)
        >>> idx.step
        -3

        Even if :class:`pandas.RangeIndex` is empty, ``step`` is still ``1`` if
        not supplied.

        >>> idx = pd.RangeIndex(1, 0)
        >>> idx.step
        1
        )r+   rL   r4   s    r6   rL   zRangeIndex.step;  s   € ð. Œ{ÔÐr8   c                óh   ‡— | j         Št          ‰¦  «        t          ˆfd„dD ¦   «         ¦  «        z   S )zD
        Return the number of bytes in the underlying data.
        c              3  óR   •K  — | ]!}t          t          ‰|¦  «        ¦  «        V — Œ"d S r1   )r   Úgetattr)r„   Ú	attr_namerM   s     €r6   ú	<genexpr>z$RangeIndex.nbytes.<locals>.<genexpr>Z  sI   øè è € ð $
ð $
àõ •g˜c 9Ñ-Ô-Ñ.Ô.ð$
ð $
ð $
ð $
ð $
ð $
r8   )rJ   rK   rL   )r+   r   Úsumrl   s    @r6   ÚnbyteszRangeIndex.nbytesT  sQ   ø€ ð
 ŒkˆÝ˜‰~Œ~¥ð $
ð $
ð $
ð $
à6ð$
ñ $
ô $
ñ !
ô !
ñ 
ð 	
r8   Údeepc                ó   — | j         S )aè  
        Memory usage of my values

        Parameters
        ----------
        deep : bool
            Introspect the data deeply, interrogate
            `object` dtypes for system-level memory consumption

        Returns
        -------
        bytes used

        Notes
        -----
        Memory usage does not include memory consumed by elements that
        are not components of the array if deep=False

        See Also
        --------
        numpy.ndarray.nbytes
        )r—   )r5   r˜   s     r6   Úmemory_usagezRangeIndex.memory_usage_  s   € ð. Œ{Ðr8   únp.dtypec                ó   — t           S r1   )Ú_dtype_int64r4   s    r6   r9   zRangeIndex.dtypex  s   € åÐr8   c                ó   — dS )z%return if the index has unique valuesTrƒ   r4   s    r6   Ú	is_uniquezRangeIndex.is_unique|  s	   € ð ˆtr8   c                óH   — | j         j        dk    pt          | ¦  «        dk    S ©Nr   rA   ©r+   rL   rˆ   r4   s    r6   Úis_monotonic_increasingz"RangeIndex.is_monotonic_increasing�  ó!   € àŒ{Ô !Ò#Ð5¥s¨4¡y¤y°A¢~Ð5r8   c                óH   — | j         j        dk     pt          | ¦  «        dk    S r¡   r¢   r4   s    r6   Úis_monotonic_decreasingz"RangeIndex.is_monotonic_decreasing…  r¤   r8   Úkeyr	   c                óv   — t          |¦  «         	 t          |¦  «        }n# t          $ r Y dS w xY w|| j        v S ©NF)Úhashr   rG   r+   )r5   r§   s     r6   Ú__contains__zRangeIndex.__contains__‰  sP   € ÝˆS‰	Œ	ˆ	ð	Ý# CÑ(Ô(ˆCˆCøÝð 	ð 	ð 	Ø�5�5ð	øøøà�d”kÐ!Ð!s   ‘! ¡
/®/c                ó   — dS )NÚintegerrƒ   r4   s    r6   Úinferred_typezRangeIndex.inferred_type‘  s   € àˆyr8   c                óŽ  — t          |¦  «        s#t          |¦  «        r`|                      ¦   «         rLt          |¦  «        }	 | j                             |¦  «        S # t
          $ r}t          |¦  «        |‚d }~ww xY wt          |t          ¦  «        rt          |¦  «        ‚|  	                    |¦  «         t          |¦  «        ‚r1   )
r   r   r�   r+   r   rH   ÚKeyErrorrC   r   Ú_check_indexing_error)r5   r§   Únew_keyÚerrs       r6   Úget_loczRangeIndex.get_loc˜  s¿   € å�c‰?Œ?ð 	-�x¨™}œ}ð 	-°·²Ñ1AÔ1Að 	-Ý˜#‘h”hˆGð-Ø”{×(Ò(¨Ñ1Ô1Ð1øÝð -ð -ð -Ý˜s‘m”m¨Ð,øøøøð-øøøå�c�8Ñ$Ô$ð 	 Ý˜3‘-”-ÐØ×"Ò" 3Ñ'Ô'Ð'Ý�s‰mŒmÐs   ÁA Á
A<Á'A7Á7A<Útargetr   Úmethodú
str | NoneÚlimitú
int | Noneúnpt.NDArray[np.intp]c                óþ  •— t          j        |||¦  «        r%t          ¦   «                              ||||¬¦  «        S | j        dk    r| j        | j        | j        }}}n%| j        d d d…         }|j        |j        |j        }}}t          j	        |¦  «        }	|	|z
  }
|
|z  dk    |
dk    z  |	|k     z  }d|
| <   |
|         |z  |
|<   || j        k    rt          | ¦  «        dz
  |
|         z
  |
|<   t          |
¦  «        S )N)r¶   Ú	tolerancer¸   r   r€   rA   )rE   Úany_not_noneÚsuperÚ_get_indexerrL   rJ   rK   r+   rf   Úasarrayrˆ   r   )r5   rµ   r¶   r¸   r¼   rJ   rK   rL   ÚreverseÚtarget_arrayÚlocsÚvalidÚ	__class__s               €r6   r¿   zRangeIndex._get_indexer¥  s  ø€ õ Ô˜F I¨uÑ5Ô5ð 	Ý‘7”7×'Ò'Ø˜v°À%ð (ñ ô ð ð Œ9�qŠ=ˆ=Ø $¤
¨D¬I°t´y˜�4ˆEˆEð ”k $ $ B $Ô'ˆGØ '¤¨w¬|¸W¼\˜�4ˆEå”z &Ñ)Ô)ˆØ˜eÑ#ˆØ˜‘ Ò! d¨a¢iÑ0°LÀ4Ò4GÑHˆØˆˆeˆV‰Ø˜5”k DÑ(ˆˆU‰à�4”9ÒÐå˜d™)œ) a™-¨$¨u¬+Ñ5ˆD�‰KÝ" 4Ñ(Ô(Ð(r8   c                ó   — dS )zA
        Should an integer key be treated as positional?
        Frƒ   r4   s    r6   Ú_should_fallback_to_positionalz)RangeIndex._should_fallback_to_positionalÃ  s	   € ð
 ˆur8   ú	list[int]c                ó*   — t          | j        ¦  «        S r1   )Úlistr+   r4   s    r6   ÚtolistzRangeIndex.tolistÌ  s   € Ý�D”KÑ Ô Ð r8   úIterator[int]c              #  ó$   K  — | j         E d {V —† d S r1   ©r+   r4   s    r6   Ú__iter__zRangeIndex.__iter__Ï  s&   è è € à”;ÐÐÐÐÐÐÐÐÐr8   r   c                óª  — |t           u r| j        n|}|j        j        dk    rt	          ||t
          j        ¬¦  «        S t          |¦  «        }t          |¦  «        dk    rX|d         dk    rL|d         }t          |d         |d         |z   |¦  «        }t          | ¦  «                             ||¬¦  «        S | j                             ||¬¦  «        S )NÚf)r=   r9   rA   r   r€   r@   )r   rW   r9   Úkindr   rf   Úfloat64r   rˆ   r*   rs   rD   rc   )r5   rT   r=   Úunique_diffsÚdiffÚ	new_ranges         r6   Ú_shallow_copyzRangeIndex._shallow_copyÓ  sÐ   € à!¥ZÐ/Ð/ˆtŒzˆz°TˆàŒ<Ô Ò#Ð#Ý˜ dµ"´*Ð=Ñ=Ô=Ð=õ % VÑ,Ô,ˆÝˆ|ÑÔ Ò!Ð! l°1¤o¸Ò&:Ð&:Ø ”?ˆDÝ˜f Qœi¨°¬°dÑ):¸DÑAÔAˆIÝ˜‘:”:×)Ò)¨)¸$Ð)Ñ?Ô?Ð?àÔ$×0Ò0°¸dÐ0ÑCÔCÐCr8   c                óz   — t          | ¦  «                             | j        | j        ¬¦  «        }| j        |_        |S )Nr@   )rs   rD   r+   rW   rX   )r5   r[   s     r6   Ú_viewzRangeIndex._viewã  s2   € Ý�d‘”×'Ò'¨¬¸$¼*Ð'ÑEÔEˆØœˆŒØˆr8   c                ól   — |                       ||¬¦  «        d         }|                      |¬¦  «        }|S )N)r=   r˜   r   r@   )Ú_validate_namesÚ_rename)r5   r=   r˜   Ú	new_indexs       r6   r;   zRangeIndex.copyè  s8   € à×#Ò#¨°DÐ#Ñ9Ô9¸!Ô<ˆØ—L’L d�LÑ+Ô+ˆ	ØÐr8   Úmethc                óÀ   — t          | ¦  «        dz
  }|dk    rt          j        S |dk    r| j        dk    s|dk    r| j        dk     r| j        S | j        | j        |z  z   S )NrA   r€   Úminr   r‰   )rˆ   rf   ÚnanrL   rJ   )r5   rÞ   Úno_stepss      r6   Ú_minmaxzRangeIndex._minmaxî  sc   € Ý�t‘9”9˜q‘=ˆØ�rŠ>ˆ>Ý”6ˆMØ�eŠmˆm ¤	¨A¢ °4¸5²=°=ÀTÄYÐQRÂ]À]Ø”:ÐàŒz˜DœI¨Ñ0Ñ0Ð0r8   TÚskipnac                ó~   — t          j        |¦  «         t          j        ||¦  «         |                      d¦  «        S )z#The minimum value of the RangeIndexrà   )ÚnvÚvalidate_minmax_axisÚvalidate_minrã   ©r5   Úaxisrä   ÚargsÚkwargss        r6   rà   zRangeIndex.min÷  ó7   € å
Ô Ñ%Ô%Ð%Ý
Œ˜˜fÑ%Ô%Ð%Ø�|Š|˜EÑ"Ô"Ð"r8   c                ó~   — t          j        |¦  «         t          j        ||¦  «         |                      d¦  «        S )z#The maximum value of the RangeIndexr‰   )ræ   rç   Úvalidate_maxrã   ré   s        r6   r‰   zRangeIndex.maxý  rí   r8   c                ó‚  — |                      dd¦  «        }|                      dd¦  «         t          j        ||¦  «         | j        j        dk    r.t          j        t          | ¦  «        t
          j        ¬¦  «        }n2t          j        t          | ¦  «        dz
  ddt
          j        ¬¦  «        }|s|ddd…         }|S )	zÞ
        Returns the indices that would sort the index and its
        underlying data.

        Returns
        -------
        np.ndarray[np.intp]

        See Also
        --------
        numpy.ndarray.argsort
        Ú	ascendingTrÒ   Nr   re   rA   r€   )	Úpopræ   Úvalidate_argsortr+   rL   rf   rg   rˆ   Úintp)r5   rë   rì   rñ   r[   s        r6   ÚargsortzRangeIndex.argsort  s¬   € ð —J’J˜{¨DÑ1Ô1ˆ	Ø�
Š
�6˜4Ñ Ô Ð Ý
Ô˜D &Ñ)Ô)Ð)àŒ;Ô˜aÒÐÝ”Y�s 4™yœyµ´Ð8Ñ8Ô8ˆFˆFå”Y�s 4™yœy¨1™}¨b°"½B¼GÐDÑDÔDˆFàð 	"Ø˜D˜D˜b˜D”\ˆFØˆr8   ÚsortÚuse_na_sentinelú'tuple[npt.NDArray[np.intp], RangeIndex]c                ó®   — t          j        t          | ¦  «        t           j        ¬¦  «        }| }|r!| j        dk     r|d d d…         }|d d d…         }||fS )Nre   r   r€   )rf   rg   rˆ   rô   rL   )r5   rö   r÷   ÚcodesÚuniquess        r6   Ú	factorizezRangeIndex.factorize  s_   € õ
 ”	�#˜d™)œ)­2¬7Ð3Ñ3Ô3ˆØˆØð 	$�D”I ’M�MØ˜$˜$˜B˜$”KˆEØ˜d˜d ˜d”mˆGØ�gˆ~Ðr8   ÚotherrV   c                ó�   •— t          |t          ¦  «        r| j        |j        k    S t          ¦   «                              |¦  «        S )zL
        Determines if two Index objects contain the same elements.
        )rC   r(   r+   r¾   Úequals)r5   rý   rÅ   s     €r6   rÿ   zRangeIndex.equals)  s<   ø€ õ �e�ZÑ(Ô(ð 	/Ø”; %¤,Ò.Ð.Ý‰wŒw�~Š~˜eÑ$Ô$Ð$r8   .©Úreturn_indexerrñ   Úna_positionr§   r  úLiteral[False]rñ   r  r$   úCallable | Nonec               ó   — d S r1   rƒ   ©r5   r  rñ   r  r§   s        r6   Úsort_valueszRangeIndex.sort_values2  ó	   € ð 	ˆr8   )rñ   r  r§   úLiteral[True]ú$tuple[Self, np.ndarray | RangeIndex]c               ó   — d S r1   rƒ   r  s        r6   r  zRangeIndex.sort_values=  r  r8   ú+Self | tuple[Self, np.ndarray | RangeIndex]c               ó   — d S r1   rƒ   r  s        r6   r  zRangeIndex.sort_valuesH  r  r8   z3.0r5   r  )ÚversionÚallowed_argsr=   Úlastc                ój  •— |�%t          ¦   «                              ||||¬¦  «        S | }d}|r| j        dk     r| d d d…         }d}n| j        dk    r| d d d…         }d}|rQ|r"t          t	          | ¦  «        dz
  dd¦  «        }nt          t	          | ¦  «        ¦  «        }|t          |¦  «        fS |S )Nr   Fr   r€   TrA   )r¾   r  rL   r*   rˆ   r(   )	r5   r  rñ   r  r§   Úsorted_indexÚinverse_indexerrM   rÅ   s	           €r6   r  zRangeIndex.sort_valuesS  sá   ø€ ð ˆ?Ý‘7”7×&Ò&Ø-Ø#Ø'Øð	 'ñ ô ð ð  ˆLØ#ˆOØð +Ø”9˜q’=�=Ø#'¨¨¨"¨¤:�LØ&*�Oøà”9˜q’=�=Ø#'¨¨¨"¨¤:�LØ&*�Oàð 	 Øð 'Ý�C ™IœI¨™M¨2¨rÑ2Ô2��å�C ™IœIÑ&Ô&�Ø¥¨C¡¤Ð0Ð0àÐr8   c                ó  •— t          |t          ¦  «        s#t          ¦   «                              ||¬¦  «        S | j        dk     r| j        d d d…         n| j        }|j        dk     r|j        d d d…         n|j        }t          |j        |j        ¦  «        }t          |j	        |j	        ¦  «        }||k    r|  
                    t          ¦  «        S |                      |j        |j        ¦  «        \  }}}	|j        |j        z
  |z  r|  
                    t          ¦  «        S |j        |j        |j        z
  |j        z  |z  |z  z   }
|j        |j        z  |z  }t          |
||¦  «        }|  
                    |¦  «        }|                     |¦  «        }t          ||j	        |j        ¦  «        }|  
                    |¦  «        }| j        dk     o
|j        dk     |j        dk     ur|d d d…         }|€|                     ¦   «         }|S )N©rö   r   r€   )rC   r(   r¾   Ú_intersectionrL   r+   r‰   rJ   rà   rK   rD   Ú_empty_rangeÚ_extended_gcdr*   Ú_min_fitting_elementr  )r5   rý   rö   ÚfirstÚsecondÚint_lowÚint_highÚgcdÚsÚ_Ú	tmp_startÚnew_steprÖ   rÝ   Ú	new_startrÅ   s                  €r6   r  zRangeIndex._intersection|  sù  ø€ õ ˜%¥Ñ,Ô,ð 	;Ý‘7”7×(Ò(¨°TÐ(Ñ:Ô:Ð:à%)¤Y°¢] ]�”˜D˜D˜b˜DÔ!Ð!¸¼ˆØ',¤z°A¢~ ~�”˜d˜d ˜dÔ#Ð#¸5¼<ˆõ �e”k 6¤<Ñ0Ô0ˆÝ�u”z 6¤;Ñ/Ô/ˆØ�wÒÐØ×#Ò#¥LÑ1Ô1Ð1ð ×&Ò& u¤z°6´;Ñ?Ô?‰	ˆˆQ�ð ŒK˜&œ,Ñ&¨#Ñ-ð 	2Ø×#Ò#¥LÑ1Ô1Ð1ð ”K 6¤<°%´+Ñ#=ÀÄÑ"KÈsÑ"RÐUVÑ"VÑVˆ	Ø”: ¤Ñ+¨sÑ2ˆÝ˜) X¨xÑ8Ô8ˆ	Ø×$Ò$ YÑ/Ô/ˆ	ð ×2Ò2°7Ñ;Ô;ˆ	Ý˜) Y¤^°Y´^ÑDÔDˆ	Ø×$Ò$ YÑ/Ô/ˆ	àŒI˜ŠMÐ,˜eœj¨1šn°i´nÀqÒ6HÐIÐIØ! $ $ B $œˆIàˆ<Ø!×-Ò-Ñ/Ô/ˆIàÐr8   Úlower_limitc                ó‚   — || j         z
   t          | j        ¦  «        z   }| j         t          | j        ¦  «        |z  z   S )z?Returns the smallest element greater than or equal to the limit)rJ   ÚabsrL   )r5   r$  râ   s      r6   r  zRangeIndex._min_fitting_elementª  s;   € à" T¤ZÑ/Ð0µC¸¼	±N´NÑBÐCˆØŒz�C ¤	™NœN¨XÑ5Ñ5Ð5r8   ÚaÚbútuple[int, int, int]c                óv   — d\  }}d\  }}||}}|r%||z  }	|||	|z  z
  }}|||	|z  z
  }}|||	|z  z
  }}|°%|||fS )z¼
        Extended Euclidean algorithms to solve Bezout's identity:
           a*x + b*y = gcd(x, y)
        Finds one particular solution for x, y: s, t
        Returns: gcd, s, t
        )r   rA   )rA   r   rƒ   )
r5   r'  r(  r  Úold_sÚtÚold_tÚrÚold_rÚquotients
             r6   r  zRangeIndex._extended_gcd¯  s   € ð ‰ˆˆ5Ø‰ˆˆ5Ø�aˆ5ˆØð 	/Ø ‘zˆHØ˜% (¨Q¡,Ñ.�1ˆEØ˜% (¨Q¡,Ñ.�1ˆEØ˜% (¨Q¡,Ñ.�1ˆEð	 ð 	/ð
 �e˜UÐ"Ð"r8   c                ó¨   — |sdS | j         sdS t          |¦  «        dk    r|j        | j         j        z  rdS |j        | j         v o|d         | j         v S )z)Check if other range is contained in selfTFrA   r€   )r+   rˆ   rL   rJ   )r5   rý   s     r6   Ú_range_in_selfzRangeIndex._range_in_selfÀ  sc   € ð ð 	Ø�4ØŒ{ð 	Ø�5Ýˆu‰:Œ:˜Š>ˆ>˜eœj¨4¬;Ô+;Ñ;ˆ>Ø�5ØŒ{˜dœkÐ)ÐF¨e°B¬i¸4¼;Ð.FÐFr8   úbool | Nonec                óP  •— t          |t          ¦  «        �rm|dv s,|du �rd| j        dk    �rX|                      |j        ¦  «        �r=| j        | j        }}| j        | j        t          | ¦  «        dz
  z  z   }|j        |j        }}|j        |j        t          |¦  «        dz
  z  z   }| j        dk     r|| |}}}|j        dk     r|| |}}}t          | ¦  «        dk    r2t          |¦  «        dk    rt          | j        |j        z
  ¦  «        x}}n+t          | ¦  «        dk    r|}nt          |¦  «        dk    r|}t          ||¦  «        }	t          ||¦  «        }
||k    rš||z
  |z  dk    r/||z
  |k    r&||z
  |k    r t          | ¦  «        |	|
|z   |¦  «        S |dz  dk    rUt          ||z
  ¦  «        |dz  k    r<t          ||z
  ¦  «        |dz  k    r# t          | ¦  «        |	|
|dz  z   |dz  ¦  «        S n‰||z  dk    r<||z
  |z  dk    r/||z   |k    r&||z
  |k    r t          | ¦  «        |	|
|z   |¦  «        S nD||z  dk    r;||z
  |z  dk    r/||z   |k    r&||z
  |k    r t          | ¦  «        |	|
|z   |¦  «        S t          ¦   «                              ||¬¦  «        S )aœ  
        Form the union of two Index objects and sorts if possible

        Parameters
        ----------
        other : Index or array-like

        sort : bool or None, default None
            Whether to sort (monotonically increasing) the resulting index.
            ``sort=None|True`` returns a ``RangeIndex`` if possible or a sorted
            ``Index`` with a int64 dtype if not.
            ``sort=False`` can return a ``RangeIndex`` if self is monotonically
            increasing and other is fully contained in self. Otherwise, returns
            an unsorted ``Index`` with an int64 dtype.

        Returns
        -------
        union : Index
        ©NTFr   rA   é   r  )rC   r(   rL   r2  r+   rJ   rˆ   r&  rà   r‰   rs   r¾   Ú_union)r5   rý   rö   Ústart_sÚstep_sÚend_sÚstart_oÚstep_oÚend_oÚstart_rÚend_rrÅ   s              €r6   r7  zRangeIndex._unionË  sþ  ø€ õ( �e�ZÑ(Ô(ñ 3	KØ�|Ð#Ð#Ø˜�‘ $¤)¨a¢-¡-°D×4GÒ4GÈÌÑ4UÔ4U¡-ð #'¤*¨d¬i˜�Øœ
 T¤Yµ#°d±)´)¸a±-Ñ%@Ñ@�Ø"'¤+¨u¬z˜�Øœ e¤jµC¸±J´JÀ±NÑ&CÑC�Ø”9˜q’=�=Ø-2°V°G¸W U˜V�GØ”: ’>�>Ø-2°V°G¸W U˜V�GÝ�t‘9”9 ’>�>¥c¨%¡j¤j°A¢o oÝ&)¨$¬*°u´{Ñ*BÑ&CÔ&CÐC�F˜V˜VÝ˜‘Y”Y !’^�^Ø#�F�FÝ˜‘Z”Z 1’_�_Ø#�FÝ˜g wÑ/Ô/�Ý˜E 5Ñ)Ô)�Ø˜VÒ#Ð#à  7Ñ*¨fÑ4¸Ò9Ð9Ø$ u™_°Ò7Ð7Ø$ u™_°Ò7Ð7à)�t D™zœz¨'°5¸6±>À6ÑJÔJÐJà !™ qš˜Ý  ¨7Ñ!2Ñ3Ô3°vÀ±zÒAÐAÝ  ¨¡Ñ/Ô/°6¸A±:Ò=Ð=ð  *�t D™zœz¨'°5¸6ÀA¹:Ñ3EÀvÐPQÁzÑRÔRÐRøà˜f‘_¨Ò)Ð)à  7Ñ*¨fÑ4¸Ò9Ð9Ø$ vÑ-°Ò8Ð8Ø" V™^¨uÒ4Ð4à)�t D™zœz¨'°5¸6±>À6ÑJÔJÐJøØ˜f‘_¨Ò)Ð)à  7Ñ*¨fÑ4¸Ò9Ð9Ø$ vÑ-°Ò8Ð8Ø" V™^¨uÒ4Ð4à)�t D™zœz¨'°5¸6±>À6ÑJÔJÐJå‰wŒw�~Š~˜e¨$ˆ~Ñ/Ô/Ð/r8   c                ór  •— |                       |¦  «         |                      |¦  «         |                      |¦  «        \  }}t          |t          ¦  «        s#t          ¦   «                              ||¬¦  «        S |dur)| j        dk     r| d d d…                              |¦  «        S t          j	        | |¦  «        }| j        dk     r| j
        d d d…         n| j
        }|                      |¦  «        }|j        dk     r|d d d…         }t          |¦  «        dk    r|                      |¬¦  «        S t          |¦  «        t          | ¦  «        k    r| d d…                              |¦  «        S t          |¦  «        dk    r‹|d         | d         k    r
| dd …         S |d         | d         k    r
| d d…         S t          | ¦  «        dk    r|d         | d         k    r| d d d…         S t          ¦   «                              ||¬¦  «        S t          |¦  «        dk    r.|d         |d         k    r|d         |d         k    r
| dd…         S |j        |j        k    rÅ|d         |j        k    r+t          |d         |j        z   |j        |j        ¦  «        }�nc|d         |d         k    r#t          |j        |d         |j        ¦  «        }�n.|j
        |dd…         k    rt          |¦  «        dz
  }|d d |…         }nýt          ¦   «                              ||¬¦  «        S t          | ¦  «        dk    sJ ‚|j        |j        dz  k    r�|d         |d         k    r$|d         |d         |d	         fv r|dd d…         }n||d         |d         k    r$|d         |d         |d	         fv r|d d d…         }nFt          ¦   «                              ||¬¦  «        S t          ¦   «                              ||¬¦  «        S t#          | ¦  «                             ||¬¦  «        }	|| j
        ur|	d d d…         }	|	S )
Nr  Fr   r€   r@   rA   é   r6  éþÿÿÿ)Ú_validate_sort_keywordÚ_assert_can_do_setopÚ_convert_can_do_setoprC   r(   r¾   Ú_differencerL   r   Úget_op_result_namer+   Úintersectionrˆ   ÚrenamerJ   r*   rK   rs   rD   )r5   rý   rö   Úresult_nameÚres_namer  ÚoverlapÚnew_rngrL   rÝ   rÅ   s             €r6   rF  zRangeIndex._difference  s0  ø€ à×#Ò# DÑ)Ô)Ð)Ø×!Ò! %Ñ(Ô(Ð(Ø!×7Ò7¸Ñ>Ô>Ñˆˆ{å˜%¥Ñ,Ô,ð 	9Ý‘7”7×&Ò& u°4Ð&Ñ8Ô8Ð8à�uÐÐ ¤¨Q¢ Ø˜˜˜"˜”:×)Ò)¨%Ñ0Ô0Ð0åÔ)¨$°Ñ6Ô6ˆà%)¤Y°¢] ]�”˜D˜D˜b˜DÔ!Ð!¸¼ˆØ×#Ò# EÑ*Ô*ˆØŒ<˜!ÒÐØ˜d˜d ˜d”mˆGåˆw‰<Œ<˜1ÒÐØ—;’; H�;Ñ-Ô-Ð-Ýˆw‰<Œ<�3˜t™9œ9Ò$Ð$Ø˜˜˜”8—?’? 8Ñ,Ô,Ð,õ ˆw‰<Œ<˜1ÒÐØ�qŒz˜T !œWÒ$Ð$Ø˜A˜B˜B”x�à˜”˜t BœxÒ'Ð'Ø˜C˜R˜C”yÐ å�T‘”˜a’� G¨A¤J°$°q´'Ò$9Ð$9Ø˜C˜C˜a˜C”yÐ õ ‘w”w×*Ò*¨5°tÐ*Ñ<Ô<Ð<å�‰\Œ\˜QÒÐ 7¨1¤:°°q´Ò#9Ð#9¸gÀb¼kÈUÐSUÌYÒ>VÐ>Và˜˜"˜”:ÐàŒ<˜5œ:Ò%Ð%Ø�qŒz˜Uœ[Ò(Ð(å ¨¤¨e¬jÑ 8¸%¼*ÀeÄjÑQÔQ�‘Ø˜”  b¤	Ò)Ð)å ¤¨W°Q¬Z¸¼ÑDÔD�‘Ø” 5¨¨2¨¤;Ò.Ð.å˜5‘z”z A‘~�Ø   $ œ-��õ ‘w”w×*Ò*¨5°tÐ*Ñ<Ô<Ð<õ
 �t‘9”9˜q’=�=�=�=àŒ|˜uœz¨A™~Ò-Ð-Ø˜1”:  q¤Ò)Ð)¨g°b¬k¸eÀB¼iÈÈrÌÐ=SÐ.SÐ.Sà# A D q Dœk�G�Gà˜Q”Z 5¨¤8Ò+Ð+°¸´ÀÀbÄ	È5ÐQSÌ9Ð?UÐ0UÐ0Uà# C C a Cœj�G�Gõ !™7œ7×.Ò.¨u¸4Ð.Ñ@Ô@Ð@õ ‘w”w×*Ò*¨5°tÐ*Ñ<Ô<Ð<å˜‘J”J×*Ò*¨7¸Ð*ÑBÔBˆ	Ø˜œÐ#Ð#Ø! $ $ B $œˆIàÐr8   rJ  c                ó(  •— t          |t          ¦  «        r|�#t          ¦   «                              |||¦  «        S |                      |¦  «        }|                     | ¦  «        }|                     |¦  «        }|�|                     |¦  «        }|S r1   )rC   r(   r¾   Úsymmetric_differenceÚ
differenceÚunionrI  )r5   rý   rJ  rö   ÚleftÚrightr[   rÅ   s          €r6   rO  zRangeIndex.symmetric_differencem  sŠ   ø€ õ ˜%¥Ñ,Ô,ð 	J°Ð0@Ý‘7”7×/Ò/°°{ÀDÑIÔIÐIà�Š˜uÑ%Ô%ˆØ× Ò  Ñ&Ô&ˆØ—’˜EÑ"Ô"ˆàÐ"Ø—]’] ;Ñ/Ô/ˆFØˆr8   c                ó6  •— t          |¦  «        ra|dt          | ¦  «         fv r
| dd …         S |dt          | ¦  «        dz
  fv r
| d d…         S t          | ¦  «        dk    r|dv r| d d d…         S nˆt          j        |¦  «        rtt          j        t          j        |t
          j        ¬¦  «        t          | ¦  «        ¦  «        }t          |t          ¦  «        r| |         }|  
                    |d¬	¦  «        S t          ¦   «                              |¦  «        S )
Nr   rA   r€   rA  )rA   rB  r6  re   Fr  )r   rˆ   r   Úis_list_likeÚmaybe_indices_to_slicerf   rÀ   rô   rC   ÚslicerP  r¾   Údelete)r5   ÚlocÚslcrý   rÅ   s       €r6   rX  zRangeIndex.delete  s  ø€ õ �c‰?Œ?ð 	:Ø�q�3˜t™9œ9˜*�oÐ%Ð%Ø˜A˜B˜B”x�Ø�r�3˜t™9œ9 q™=Ð)Ð)Ð)Ø˜C˜R˜C”yÐ Ý�4‰yŒy˜AŠ~ˆ~ #¨ . .Ø˜C˜C˜a˜C”yÐ øåÔ˜cÑ"Ô"ð 	:ÝÔ,­R¬Z¸Å2Ä7Ð-KÑ-KÔ-KÍSÐQUÉYÌYÑWÔWˆCå˜#�uÑ%Ô%ð :ð ˜Sœ	�Ø—’ u°5�Ñ9Ô9Ð9å‰wŒw�~Š~˜cÑ"Ô"Ð"r8   rY  c                ó„  •— t          | ¦  «        �rŽt          |¦  «        st          |¦  «        �ro| j        }|dk    re|| d         | j        z
  k    rQt          |j        |j        z
  |j        |j        ¦  «        }t          | ¦  «         	                    || j
        ¬¦  «        S |t          | ¦  «        k    re|| d         | j        z   k    rQt          |j        |j        |j        z   |j        ¦  «        }t          | ¦  «         	                    || j
        ¬¦  «        S t          | ¦  «        dk    rr|| d         | j        dz  z   k    r[t          | j        dz  ¦  «        }t          | j        | j        |¦  «        }t          | ¦  «         	                    || j
        ¬¦  «        S t          ¦   «                              ||¦  «        S )Nr   r@   r€   r6  )rˆ   r   r   r+   rL   r*   rJ   rK   rs   rD   rW   r�   r¾   Úinsert)r5   rY  ÚitemrM   rM  rL   rÅ   s         €r6   r\  zRangeIndex.insert•  s„  ø€ Ýˆt‰9Œ9ñ 	H�* TÑ*Ô*ð 	H­h°t©n¬nñ 	Hð ”+ˆCØ�aŠxˆx˜D D¨¤G¨d¬iÑ$7Ò7Ð7Ý ¤	¨C¬HÑ 4°c´hÀÄÑIÔI�Ý˜D‘z”z×-Ò-¨g¸D¼JÐ-ÑGÔGÐGà�˜D™	œ	Ò!Ð! d¨d°2¬h¸¼Ñ.BÒ&BÐ&BÝ ¤	¨3¬8°c´hÑ+>ÀÄÑIÔI�Ý˜D‘z”z×-Ò-¨g¸D¼JÐ-ÑGÔGÐGå�T‘”˜a’� D¨D°¬G°d´iÀ!±mÑ,CÒ$CÐ$Cå˜4œ9 q™=Ñ)Ô)�Ý ¤
¨D¬I°tÑ<Ô<�Ý˜D‘z”z×-Ò-¨g¸D¼JÐ-ÑGÔGÐGå‰wŒw�~Š~˜c 4Ñ(Ô(Ð(r8   Úindexesúlist[Index]c                óú  •— t          d„ |D ¦   «         ¦  «        s"t          ¦   «                              ||¦  «        S t          |¦  «        dk    r|d         S t	          t
          t                   |¦  «        }dx}x}}d„ |D ¦   «         }|D �]}|j        }	|€$|	j        }|€t          |	¦  «        dk    r|	j	        }na|€_|	j        |k    rJt          j        d„ |D ¦   «         ¦  «        }
|                      |
¦  «        }|                     |¦  «        c S |	j        |z
  }||	j	        k    rt          |	¦  «        dk    p|duo
|	j        |k    }|rH|                      t          j        d„ |D ¦   «         ¦  «        ¦  «        }|                     |¦  «        c S |�|	d         |z   }�Œ|r5|€|d         j        n|}t          |||¦  «                             |¦  «        S t          dd¦  «                             |¦  «        S )	aŠ  
        Overriding parent method for the case of all RangeIndex instances.

        When all members of "indexes" are of type RangeIndex: result will be
        RangeIndex if possible, Index with a int64 dtype otherwise. E.g.:
        indexes = [RangeIndex(3), RangeIndex(3, 6)] -> RangeIndex(6)
        indexes = [RangeIndex(3), RangeIndex(4, 6)] -> Index([0,1,2,4,5], dtype='int64')
        c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r1   )rC   r(   ©r„   r…   s     r6   r•   z%RangeIndex._concat.<locals>.<genexpr>³  s,   è è € Ð>Ð>°•:˜a¥Ñ,Ô,Ð>Ð>Ð>Ð>Ð>Ð>r8   rA   r   Nc                ó0   — g | ]}t          |¦  «        ¯|‘ŒS rƒ   ©rˆ   )r„   Úobjs     r6   r‡   z&RangeIndex._concat.<locals>.<listcomp>¾  s#   € ÐDÐDÐD S½3¸s¹8¼8ÐD˜SÐDÐDÐDr8   c                ó   — g | ]	}|j         ‘Œ
S rƒ   ©r-   rb  s     r6   r‡   z&RangeIndex._concat.<locals>.<listcomp>Ë  s   € Ð,LÐ,LÐ,L¸1¨Q¬YÐ,LÐ,LÐ,Lr8   c                ó   — g | ]	}|j         ‘Œ
S rƒ   rg  rb  s     r6   r‡   z&RangeIndex._concat.<locals>.<listcomp>Ö  s   € Ð#CÐ#CÐ#C°! A¤IÐ#CÐ#CÐ#Cr8   r€   )Úallr¾   Ú_concatrˆ   r   rÊ   r(   r+   rJ   rL   rf   Úconcatenaterc   rI  rK   )r5   r^  r=   Úrng_indexesrJ   rL   Únext_Únon_empty_indexesre  rM   rT   r[   Únon_consecutiverK   rÅ   s                 €r6   rj  zRangeIndex._concatª  s6  ø€ õ Ð>Ð>°gÐ>Ñ>Ô>Ñ>Ô>ð 	Ý‘7”7—?’? 7¨DÑ1Ô1Ð1å�‰\Œ\˜QÒÐØ˜1”:Ðå�4¥
Ô+¨WÑ5Ô5ˆà#Ð#ˆÐ#��uð EÐD¨KÐDÑDÔDÐà$ð 	'ñ 	'ˆCØ”*ˆCàˆ}àœ	�Ø�<¥C¨¡H¤H¨q¢L LØœ8�DøØ�à”9 Ò%Ð%Ýœ^Ð,LÐ,LÀÐ,LÑ,LÔ,LÑMÔM�FØ!×.Ò.¨vÑ6Ô6�FØ!Ÿ=š=¨Ñ.Ô.Ð.Ð.Ð.à”y 5Ñ(�à# s¤xÒ/Ð@µC¸±H´H¸q²Lð Ø˜TÐ!Ð8 c¤i°5Ò&8ð ð ð +Ø×*Ò*Ý”NÐ#CÐ#C°{Ð#CÑ#CÔ#CÑDÔDñô �ð —}’} TÑ*Ô*Ð*Ð*Ð*àÐØ˜Bœ $™�ùàð 	>ð 27°Ð$ RÔ(Ô-Ð-ÀEˆDÝ˜e T¨4Ñ0Ô0×7Ò7¸Ñ=Ô=Ð=õ ˜!˜QÑÔ×&Ò& tÑ,Ô,Ð,r8   c                ó*   — t          | j        ¦  «        S )z5
        return the length of the RangeIndex
        )rˆ   r+   r4   s    r6   Ú__len__zRangeIndex.__len__ç  s   € õ �4”;ÑÔÐr8   c                ó    — t          | ¦  «        S r1   rd  r4   s    r6   ÚsizezRangeIndex.sizeí  s   € å�4‰yŒyÐr8   c           	     ó˜  •— t          |t          ¦  «        r|                      |¦  «        S t          |¦  «        rRt	          |¦  «        }	 | j        |         S # t          $ r(}t          d|› dt          | ¦  «        › �¦  «        |‚d}~ww xY wt          |¦  «        rt          d¦  «        ‚t          ¦   «          
                    |¦  «        S )zE
        Conserve RangeIndex type for scalar and slice keys.
        úindex ú' is out of bounds for axis 0 with size Nzuonly integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices)rC   rW  Ú_getitem_slicer   r�   r+   Ú
IndexErrorrˆ   r   r¾   Ú__getitem__)r5   r§   r²   r³   rÅ   s       €r6   ry  zRangeIndex.__getitem__ñ  sä   ø€ õ �c�5Ñ!Ô!ð 	Ø×&Ò& sÑ+Ô+Ð+Ý˜‰_Œ_ð 	Ý˜#‘h”hˆGðØ”{ 7Ô+Ð+øÝð ð ð Ý ØT˜SÐTÐTÍÈTÉÌÐTÐTñô àðøøøøðøøøõ �s‰^Œ^ð 	Ýð+ñô ð õ ‰wŒw×"Ò" 3Ñ'Ô'Ð's   ÁA Á
B
Á"#BÂB
ÚslobjrW  c                ón   — | j         |         }t          | ¦  «                             || j        ¬¦  «        S )zH
        Fastpath for __getitem__ when we know we have a slice.
        r@   )r+   rs   rD   rW   )r5   rz  Úress      r6   rw  zRangeIndex._getitem_slice  s1   € ð Œk˜%Ô ˆÝ�D‰zŒz×%Ò% c°´
Ð%Ñ;Ô;Ð;r8   Ú__floordiv__c                ó  •— t          |¦  «        rÚ|dk    rÔt          | ¦  «        dk    s| j        |z  dk    rf| j        |z  dk    rX| j        |z  }| j        |z  }|t          | ¦  «        |z  z   }t	          |||pd¦  «        }|                      || j        ¬¦  «        S t          | ¦  «        dk    r:| j        |z  }t	          ||dz   d¦  «        }|                      || j        ¬¦  «        S t          ¦   «                              |¦  «        S )Nr   rA   r@   )	r   rˆ   rJ   rL   r*   rD   rW   r¾   r}  )r5   rý   rJ   rL   rK   rÖ   rÅ   s         €r6   r}  zRangeIndex.__floordiv__  s  ø€ å�eÑÔð 
	D ¨!¢ Ý�4‰yŒy˜AŠ~ˆ~ ¤¨eÑ!3°qÒ!8Ð!8¸T¼YÈÑ=NÐRSÒ=SÐ=SØœ
 eÑ+�Ø”y EÑ)�Ø�s 4™yœy¨4Ñ/Ñ/�Ý! %¨¨t¨y°qÑ9Ô9�	Ø×'Ò'¨	¸¼
Ð'ÑCÔCÐCÝ�4‰yŒy˜AŠ~ˆ~Øœ
 eÑ+�Ý! %¨°©°AÑ6Ô6�	Ø×'Ò'¨	¸¼
Ð'ÑCÔCÐCå‰wŒw×#Ò# EÑ*Ô*Ð*r8   c                ó   — d| j         vS )Nr   rÎ   ©r5   rë   rì   s      r6   ri  zRangeIndex.all"  s   € Ø˜œÐ#Ð#r8   c                ó*   — t          | j        ¦  «        S r1   )Úanyr+   r€  s      r6   r‚  zRangeIndex.any%  s   € Ý�4”;ÑÔÐr8   c                óÖ   •— t          |t          ¦  «        r2| j        |j        k    r"t          ¦   «                              | |¦  «        S t          ¦   «                              ||¦  «        S r1   )rC   r(   r+   r¾   Ú_cmp_method)r5   rý   ÚoprÅ   s      €r6   r„  zRangeIndex._cmp_method*  sW   ø€ Ý�e�ZÑ(Ô(ð 	1¨T¬[¸E¼LÒ-HÐ-Hå‘7”7×&Ò& t¨RÑ0Ô0Ð0Ý‰wŒw×"Ò" 5¨"Ñ-Ô-Ð-r8   c           	     ó¦  •— t          |t          ¦  «        rt          S t          |t          t          j        f¦  «        r"t          ¦   «                              ||¦  «        S t          j	        t          |dd¦  «        d¦  «        r"t          ¦   «                              ||¦  «        S |t          j        t          j        t          j        t          j        t          j        t          j        t&          t          j        fv r"t          ¦   «                              ||¦  «        S d}|t          j        t          j        t          j        t          j        fv r|}t3          |dd¬¦  «        }| }	 |rWt	          j        d¬¦  «        5   ||j        |¦  «        }ddd¦  «         n# 1 swxY w Y   t9          |¦  «        r|st:          ‚n|t          j        k    r|j         n|j        }t	          j        d¬¦  «        5   ||j        |¦  «        } ||j         |¦  «        }ddd¦  «         n# 1 swxY w Y   t          j!        | |¦  «        }	 tE          | ¦  «        ||||	¬¦  «        }
tG          d	„ |||fD ¦   «         ¦  «        s|
 $                    d
¦  «        }
|
S # t:          tJ          tL          f$ r% t          ¦   «                              ||¦  «        cY S w xY w)z‘
        Parameters
        ----------
        other : Any
        op : callable that accepts 2 params
            perform the binary op
        r9   NÚmT)Úextract_numpyÚextract_rangeÚignore)ri  r@   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r1   )r   rb  s     r6   r•   z+RangeIndex._arith_method.<locals>.<genexpr>q  s(   è è € ÐEÐE¨•z !‘}”}ÐEÐEÐEÐEÐEÐEr8   rÓ   )'rC   r   ÚNotImplementedr   rf   Útimedelta64r¾   Ú_arith_methodr   Úis_np_dtyper“   ÚoperatorÚpowr   ÚrpowÚmodÚrmodÚfloordivÚ	rfloordivÚdivmodÚrdivmodÚmulÚrmulÚtruedivÚrtruedivr   ÚerrstaterL   r   rH   ÚrsubrJ   rK   rG  rs   ri  ÚastyperG   ÚZeroDivisionError)r5   rý   r…  rL   rS  rR  ÚrstepÚrstartÚrstoprK  r[   rÅ   s              €r6   rŽ  zRangeIndex._arith_method0  s-  ø€ õ �eÕ.Ñ/Ô/ð 		4å!Ð!Ý˜¥	­2¬>Ð:Ñ;Ô;ð 	4õ ‘7”7×(Ò(¨°Ñ3Ô3Ð3ÝŒ_�W U¨G°TÑ:Ô:¸CÑ@Ô@ð 	4å‘7”7×(Ò(¨°Ñ3Ô3Ð3àÝŒLÝŒHÝŒLÝŒHÝÔÝŒMÝÝŒKð	
ð 	
ð 	
õ ‘7”7×(Ò(¨°Ñ3Ô3Ð3à $ˆØ•(”,¥¤­(Ô*:½C¼LÐIÐIÐIØˆDõ ˜e°4ÀtÐLÑLÔLˆØˆð 	4àð DÝ”[ XÐ.Ñ.Ô.ð 3ð 3Ø ˜D ¤¨EÑ2Ô2�Eð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ
 " %Ñ(Ô(ð %°ð %Ý$Ð$ð%ð
 ')­C¬H¢n n˜œ˜
˜
¸$¼)�å” Ð*Ñ*Ô*ð -ð -Ø˜˜DœJ¨Ñ.Ô.�Ø˜˜4œ9 eÑ,Ô,�ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ Ô-¨d°EÑ:Ô:ˆHØ•T˜$‘Z”Z ¨¨u¸8ÐDÑDÔDˆFõ
 ÐEÐE¨v°u¸eÐ.DÐEÑEÔEÑEÔEð 2ØŸš yÑ1Ô1�àˆMøå�IÕ'8Ð9ð 	4ð 	4ð 	4å‘7”7×(Ò(¨°Ñ3Ô3Ð3Ð3Ð3ð	4øøøs\   Å)J Æ FÆJ ÆF"Æ"J Æ%F"Æ&AJ Ç6#H%ÈJ È%H)È)J È,H)È-A&J Ê9KËKr   rê   r"   Ú
allow_fillc                ó:  — |rt          j        d|¦  «         t          |¦  «        rt          d¦  «        ‚t	          |¦  «        }|                      |||¦  «         t          |¦  «        dk    rt          j        g | j	        ¬¦  «        }nñ| 
                    ¦   «         }|t          | ¦  «        k    r"t          d|› dt          | ¦  «        › �¦  «        ‚|                     ¦   «         }|t          | ¦  «         k     r"t          d|› dt          | ¦  «        › �¦  «        ‚|                     | j	        d¬¦  «        }|dk     r|t          | ¦  «        z  }| j        d	k    r
|| j        z  }| j        dk    r
|| j        z  }| j                             || j        ¬
¦  «        S )Nrƒ   z!Expected indices to be array-liker   re   ru  rv  Úsafe)ÚcastingrA   r@   )ræ   Úvalidate_taker   rG   r   Ú_maybe_disallow_fillrˆ   rf   Úarrayr9   r‰   rx  rà   rŸ  rL   rJ   rc   rD   r=   )	r5   Úindicesrê   r¤  Ú
fill_valuerì   ÚtakenÚind_maxÚind_mins	            r6   ÚtakezRangeIndex.take|  s§  € ð ð 	)ÝÔ˜R Ñ(Ô(Ð(Ý�WÑÔð 	AÝÐ?Ñ@Ô@Ð@Ý% gÑ.Ô.ˆð 	×!Ò! *¨j¸'ÑBÔBÐBåˆw‰<Œ<˜1ÒÐÝ”H˜R t¤zÐ2Ñ2Ô2ˆEˆEà—k’k‘m”mˆGØ�#˜d™)œ)Ò#Ð#Ý ØX˜WÐXÐXÍSÐQUÉYÌYÐXÐXñô ð ð —k’k‘m”mˆGØ�#˜d™)œ)˜Ò#Ð#Ý ØX˜WÐXÐXÍSÐQUÉYÌYÐXÐXñô ð ð —N’N 4¤:°v�NÑ>Ô>ˆEØ˜Š{ˆ{Ø�˜T™œÑ"�ØŒy˜AŠ~ˆ~Ø˜œÑ"�ØŒz˜QŠˆØ˜œÑ#�ð Ô ×,Ò,¨U¸¼Ð,ÑCÔCÐCr8   )r.   r/   )NNNNFN)r9   r:   r;   r<   r=   r>   r.   r%   )NN)rO   r*   r9   r:   r.   r%   r1   )rT   r*   r=   r>   r.   r%   )r9   r:   r.   r\   )r.   ra   )r.   r,   )r.   rj   )r{   r|   r}   r~   r.   r|   )r.   r�   )F)r˜   r<   r.   r�   )r.   r›   )r.   r<   )r§   r	   r.   r<   )r.   r~   )NNN)rµ   r   r¶   r·   r¸   r¹   r.   rº   )r.   rÈ   )r.   rÌ   )r=   r   )r.   r%   r©   )r=   r>   r˜   r<   r.   r%   )rÞ   r~   r5  )rä   r<   r.   r�   )r.   rº   )FT)rö   r<   r÷   r<   r.   rø   )rý   rV   r.   r<   )
r  r  rñ   r<   r  r$   r§   r  r.   r%   )
r  r	  rñ   r<   r  r$   r§   r  r.   r
  )
r  r<   rñ   r<   r  r$   r§   r  r.   r  )FTr  N)rý   r   rö   r<   )r$  r�   r.   r�   )r'  r�   r(  r�   r.   r)  )rý   r*   r.   r<   )rý   r   rö   r3  )rJ  r>   )r.   r   )rY  r�   r.   r   )r^  r_  r=   r   r.   r   )rz  rW  r.   r%   )r   TN)rê   r"   r¤  r<   r.   r   )KrQ   Ú
__module__Ú__qualname__Ú__doc__Ú_typr   r^   Ú__annotations__Úpropertyr7   rN   ÚclassmethodrS   rD   rB   r   rc   ri   rm   ru   rz   rŒ   rJ   rK   rL   r—   rš   r9   rŸ   r£   r¦   r«   r®   r   r   r´   r¿   rÇ   rË   rÏ   r×   r   rÙ   r;   rã   rà   r‰   rõ   rü   rÿ   r   r  r   r  r  r  r2  r7  rF  rO  rX  r\  rj  rq  rs  ry  rw  r!   r}  ri  r‚  r„  rŽ  r°  Ú__classcell__)rÅ   s   @r6   r(   r(   B   s  ø€ € € € € € ð8ð 8ðt €DØ"9Ð;KÐ!LÐØ€M€M�MØÐÐÑàð$ð $ð $ñ „Xð$ð ØØØ"ØØ $ð"/ð "/ð "/ð "/ð "/ðH ð0ð 0ð 0ð 0ñ „[ð0ð6 à48ðð ð ð ñ „[ðð ðð ð ñ „[ðð ðð ð ñ „^ðð
 ðKð Kð Kñ „^ðKðNð Nð Nð Nð
7ð 7ð 7ðð ð ðDð Dð Dð Dð ð!ð !ð !ñ „Xð!ð" ð ð  ð  ñ „Xð ð  ð ð  ð  ñ „Xð ð0 ð
ð 
ð 
ñ „^ð
ðð ð ð ð ð2 ðð ð ñ „Xðð ðð ð ñ „Xðð ð6ð 6ð 6ñ „^ð6ð ð6ð 6ð 6ñ „^ð6ð"ð "ð "ð "ð ðð ð ñ „Xðð 	€SˆŒÑÔð
ð 
ð 
ñ Ôð
ð "Ø Øð)ð )ð )ð )ð )ð )ð )ð< ðð ð ñ „^ðð!ð !ð !ð !ð 	€SˆŒÑÔðð ð ñ Ôðð 	€SˆÔ	ÑÔØ5?ð Dð Dð Dð Dñ ÔðDðð ð ð ð
 	€SˆŒ�_„_ðð ð ð ñ „_ðð
1ð 1ð 1ð 1ð#ð #ð #ð #ð #ð#ð #ð #ð #ð #ðð ð ð ð8 Ø $ð
ð 
ð 
ð 
ð 
ð%ð %ð %ð %ð %ð %ð ð *-ØØ"%Ø"ðð ð ð ð ñ „Xðð ð
 Ø"%Ø"ðð ð ð ð ñ „Xðð ð  #ØØ"%Ø"ðð ð ð ð ñ „Xðð $Ð#Ø V H°=ðñ ô ð
  %ØØ"(Ø#ð! ð ! ð ! ð ! ð ! ð ! ñô ð! ðL,ð ,ð ,ð ,ð ,ð ,ð ,ð\6ð 6ð 6ð 6ð
#ð #ð #ð #ð"	Gð 	Gð 	Gð 	GðI0ð I0ð I0ð I0ð I0ð I0ðVUð Uð Uð Uð Uð Uðp @Dðð ð ð ð ð ð ð$#ð #ð #ð #ð #ð #ð,)ð )ð )ð )ð )ð )ð*;-ð ;-ð ;-ð ;-ð ;-ð ;-ðz ð  ð  ð  ð ðð ð ñ „Xðð(ð (ð (ð (ð (ð.<ð <ð <ð <ð Ð˜nÑ-Ô-ð+ð +ð +ð +ñ .Ô-ð+ð$$ð $ð $ð $ð ð  ð  ð  ð
.ð .ð .ð .ð .ðH4ð H4ð H4ð H4ð H4ð^ ØØð'Dð 'Dð 'Dð 'Dð 'Dð 'Dð 'Dð 'Dð 'Dr8   r(   )GÚ
__future__r   Úcollections.abcr   r   Údatetimer   r�  Úsysr   Útypingr   r	   r
   r   r   r   Únumpyrf   Úpandas._libsr   r2   r   Úpandas._libs.algosr   Úpandas._libs.libr   Úpandas.compat.numpyr   ræ   Úpandas.util._decoratorsr   r   r   Úpandas.core.dtypes.commonr   r   r   r   r   r   Úpandas.core.dtypes.genericr   Úpandas.corer   Úpandas.core.commonÚcoreÚcommonrE   Úpandas.core.constructionr   Úpandas.core.indexes.baser^  Úbaserq   r   r    Úpandas.core.ops.commonr!   Úpandas._typingr"   r#   r$   r%   r&   r*   r  r9   rh   r�   r(   rƒ   r8   r6   ú<module>rÏ     s  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð ðð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;àð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆu�Q‰xŒx€ØˆrŒx˜œÑ!Ô!€ðaDð aDð aDð aDð aD�ñ aDô aDð aDð aDð aDr8   