§
    Ï! hú‘  ã                  óö  — d dl mZ d dlmZ d dlZd dlmZmZ d dlZ	d dl
mZmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d d	lmZmZmZm Z m!Z! d d
l"m#Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z: d dl;m<Z< d dl=m>c m?Z@ d dlAmBZB erd dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZK d dlLmMZM d dlNZNd-d„ZO G d„ de:jP        ¦  «        ZQ	 	 	 d.d/d&„ZRd0d1d)„ZSd2d3d*„ZTd4d,„ZUdS )5é    )Úannotations)Ú	timedeltaN)ÚTYPE_CHECKINGÚcast)ÚlibÚtslibs)	ÚNaTÚNaTTypeÚTickÚ	TimedeltaÚastype_overflowsafeÚget_supported_dtypeÚiNaTÚis_supported_dtypeÚperiods_per_second)Úcast_from_unit_vectorized)Úget_timedelta_daysÚget_timedelta_field)Úarray_to_timedelta64Úfloordiv_object_arrayÚints_to_pytimedeltaÚparse_timedelta_unitÚtruediv_object_array)Úfunction)Úvalidate_endpoints)ÚTD64NS_DTYPEÚis_float_dtypeÚis_integer_dtypeÚis_object_dtypeÚ	is_scalarÚis_string_dtypeÚpandas_dtype)ÚExtensionDtype)Úisna)ÚnanopsÚ	roperator)Údatetimelike_accumulations)Údatetimelike)Úgenerate_regular_range)Úunpack_zerodim_and_defer)ÚIterator)ÚAxisIntÚDateTimeErrorChoicesÚDtypeObjÚNpDtypeÚSelfÚnpt©Ú	DataFrameÚnameÚstrÚaliasÚ	docstringc                óR   ‡— dˆfd„}| |_         d|› d�|_        t          |¦  «        S )NÚreturnú
np.ndarrayc                ó¼   •— | j         }‰dk    rt          || j        ¬¦  «        }nt          |‰| j        ¬¦  «        }| j        r|                      |d d¬¦  «        }|S )NÚdays©ÚresoÚfloat64)Ú
fill_valueÚconvert)Úasi8r   Ú_cresor   Ú_hasnaÚ_maybe_mask_results)ÚselfÚvaluesÚresultr6   s      €úWc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/arrays/timedeltas.pyÚfz_field_accessor.<locals>.fR   ss   ø€ Ø”ˆØ�FŠ?ˆ?Ý'¨°T´[ÐAÑAÔAˆFˆFõ
 )¨°¸T¼[ÐIÑIÔIˆFØŒ;ð 	Ø×-Ò-Ø 4°ð .ñ ô ˆFð ˆó    ú
)r9   r:   )Ú__name__Ú__doc__Úproperty)r4   r6   r7   rJ   s    `  rI   Ú_field_accessorrP   Q   sH   ø€ ðð ð ð ð ð ð  €A„JØ"�YÐ"Ð"Ð"€A„IÝ�A‰;Œ;ÐrK   c                  óô  ‡ — e Zd ZU dZdZ ej        dd¦  «        Zeej        e	fZ
d„ ZdZedvd	„¦   «         Zd
Zg Zded<   g Zded<   dgZded<   g d¢Zded<   eez   ez   dgz   Zded<   g d¢Zded<   dwd„Zedxd„¦   «         ZdZeZed„ ¦   «         Zedefdyˆ fd#„¦   «         Zedd$d%œdzd(„¦   «         Zedd$e j!        dd)œdzd*„¦   «         Z"e	 d{dd+œd|d-„¦   «         Z#d}d.„Z$d~d/„Z%dd1„Z&d€d�d3„Z'd‚d5„Z(dddd$dd2d6d7œdƒd?„Z)dddd@d$d2dAœd„dC„Z*d2dDœd…ˆ fdG„Z+d†d‡dI„Z,dddJœdˆdN„Z-dO„ Z. e/dP¦  «        d‰dQ„¦   «         Z0e0Z1dR„ Z2dS„ Z3dŠdU„Z4 e/dV¦  «        dW„ ¦   «         Z5 e/dX¦  «        dY„ ¦   «         Z6 e/dZ¦  «        d[„ ¦   «         Z7 e/d\¦  «        d]„ ¦   «         Z8 e/d^¦  «        d_„ ¦   «         Z9 e/d`¦  «        da„ ¦   «         Z: e/db¦  «        dc„ ¦   «         Z; e/dd¦  «        de„ ¦   «         Z<d‹df„Z=d‹dg„Z>d‹dh„Z?dŒdj„Z@d�dk„ZA eBjC        dl¦  «        ZD eEdmdmeD¦  «        ZF eBjC        dn¦  «        ZG eEdodoeG¦  «        ZH eBjC        dp¦  «        ZI eEdqdqeI¦  «        ZJ eBjC        dr¦  «        ZK eEdsdseK¦  «        ZLedŽdu„¦   «         ZMˆ xZNS )�ÚTimedeltaArrayal  
    Pandas ExtensionArray for timedelta data.

    .. warning::

       TimedeltaArray is currently experimental, and its API may change
       without warning. In particular, :attr:`TimedeltaArray.dtype` is
       expected to change to be an instance of an ``ExtensionDtype``
       subclass.

    Parameters
    ----------
    values : array-like
        The timedelta data.

    dtype : numpy.dtype
        Currently, only ``numpy.dtype("timedelta64[ns]")`` is accepted.
    freq : Offset, optional
    copy : bool, default False
        Whether to copy the underlying array of data.

    Attributes
    ----------
    None

    Methods
    -------
    None

    Examples
    --------
    >>> pd.arrays.TimedeltaArray._from_sequence(pd.TimedeltaIndex(['1h', '2h']))
    <TimedeltaArray>
    ['0 days 01:00:00', '0 days 02:00:00']
    Length: 2, dtype: timedelta64[ns]
    Útimedeltaarrayr	   Únsc                ó,   — t          j        | d¦  «        S )NÚm)r   Úis_np_dtype©Úxs    rI   ú<lambda>zTimedeltaArray.<lambda>�   s   € ¥S¤_°Q¸Ñ%<Ô%<€ rK   )r   Útimedelta64r9   útype[Timedelta]c                ó   — t           S ©N©r   ©rF   s    rI   Ú_scalar_typezTimedeltaArray._scalar_type“   s   € åÐrK   iè  z	list[str]Ú
_other_opsÚ	_bool_opsÚfreqÚ_object_ops)r<   ÚsecondsÚmicrosecondsÚnanosecondsÚ
_field_opsÚunitÚ_datetimelike_ops)Úto_pytimedeltaÚtotal_secondsÚroundÚfloorÚceilÚas_unitÚ_datetimelike_methodsrY   únp.timedelta64úTimedelta | NaTTypec                ó�   — |                      d¦  «        }|t          j        k    rt          S t          j        || j        ¬¦  «        S )NÚi8r=   )Úviewr	   Ú_valuer   Ú_from_value_and_resorC   )rF   rY   Úys      rI   Ú	_box_funczTimedeltaArray._box_funcª   s9   € Ø�FŠF�4‰LŒLˆØ•”
Š?ˆ?ÝˆJÝÔ-¨a°d´kÐBÑBÔBÐBrK   únp.dtype[np.timedelta64]c                ó   — | j         j        S )a3  
        The dtype for the TimedeltaArray.

        .. warning::

           A future version of pandas will change dtype to be an instance
           of a :class:`pandas.api.extensions.ExtensionDtype` subclass,
           not a ``numpy.dtype``.

        Returns
        -------
        numpy.dtype
        )Ú_ndarrayÚdtyper`   s    rI   r   zTimedeltaArray.dtype°   s   € ð" Œ}Ô"Ð"rK   Nc                ó€   — t          |¦  «        }t          |j        ¦  «         ||j        k    rt          d¦  «        ‚|S )Nz'Values resolution does not match dtype.)Ú_validate_td64_dtyper   Ú
ValueError)ÚclsrG   r   s      rI   Ú_validate_dtypezTimedeltaArray._validate_dtypeÉ   sB   € õ % UÑ+Ô+ˆÝ˜Vœ\Ñ*Ô*Ð*Ø�F”LÒ Ð ÝÐFÑGÔGÐGØˆrK   rG   únpt.NDArray[np.timedelta64]úTick | Noner   r0   c                ód  •— t          j        |d¦  «        sJ ‚t          j        |¦  «        rJ ‚t	          |t
          j        ¦  «        sJ t          |¦  «        ¦   «         ‚||j        k    sJ ‚|�t	          |t          ¦  «        sJ ‚t          ¦   «                              ||¬¦  «        }||_        |S )NrV   )rG   r   )r   rW   r   Úis_unitlessÚ
isinstanceÚnpÚndarrayÚtyper   r   ÚsuperÚ_simple_newÚ_freq)rƒ   rG   rd   r   rH   Ú	__class__s        €rI   rŽ   zTimedeltaArray._simple_newÓ   s­   ø€ õ Œ˜u cÑ*Ô*Ð*Ð*Ð*ÝÔ% eÑ,Ô,Ð,Ð,Ð,Ý˜&¥"¤*Ñ-Ô-Ð;Ð;­t°F©|¬|Ñ;Ô;Ð-Ø˜œÒ$Ð$Ð$Ð$Øˆ|�z¨$µÑ5Ô5ˆ|ˆ|Ð5å‘”×$Ò$¨F¸%Ð$Ñ@Ô@ˆØˆŒØˆrK   F©r   Úcopyr’   Úboolc               ó°   — |rt          |¦  «        }t          ||d ¬¦  «        \  }}|�t          ||d¬¦  «        }|                      ||j        |¬¦  «        S )N©r’   rj   Fr‘   ©r   rd   )r�   Úsequence_to_td64nsr   rŽ   r   )rƒ   Údatar   r’   rd   s        rI   Ú_from_sequencezTimedeltaArray._from_sequenceå   sc   € àð 	0Ý(¨Ñ/Ô/ˆEå'¨°4¸dÐCÑCÔC‰
ˆˆdàÐÝ& t°5¸uÐEÑEÔEˆDà�Š˜t¨4¬:¸DˆÑAÔAÐArK   )r   r’   rd   rj   c               óì   — |rt          |¦  «        }|dvsJ ‚t          |||¬¦  «        \  }}|�t          ||d¬¦  «        }|                      ||j        |¬¦  «        }|                     |i ¦  «         |S )zo
        _from_sequence_not_strict but without responsibility for finding the
        result's `freq`.
        ©ÚYrz   ÚMr•   NFr‘   r–   )r�   r—   r   rŽ   r   Ú_maybe_pin_freq)rƒ   r˜   r   r’   rd   rj   Úinferred_freqrH   s           rI   Ú_from_sequence_not_strictz(TimedeltaArray._from_sequence_not_strictñ   s‘   € ð ð 	0Ý(¨Ñ/Ô/ˆEà˜?Ð*Ð*Ð*Ð*å0°¸DÀtÐLÑLÔLÑˆˆmàÐÝ& t°5¸uÐEÑEÔEˆDà—’ ¨T¬Z¸m�ÑLÔLˆà×Ò˜t RÑ(Ô(Ð(ØˆrK   ©rj   ú
str | Nonec               óX  — t          j        |¦  «        }|€+t          d„ |||fD ¦   «         ¦  «        rt          d¦  «        ‚t	          j        ||||¦  «        dk    rt          d¦  «        ‚|�"t          |¦  «                             d¦  «        }|�"t          |¦  «                             d¦  «        }|�|dvrt          d¦  «        ‚nd}|�|�|                     |d¬	¦  «        }|�|�|                     |d¬	¦  «        }t          |¦  «        \  }}|�t          |||||¬
¦  «        }	n3t          j        |j        |j        |¦  «                             d¦  «        }	|s
|	dd …         }	|s
|	d d…         }	|	                     d|› d�¦  «        }
|                      |
|
j        |¬¦  «        S )Nc              3  ó   K  — | ]}|d u V — Œ	d S r^   © ©Ú.0rY   s     rI   ú	<genexpr>z1TimedeltaArray._generate_range.<locals>.<genexpr>  s&   è è € ÐIÐI¨a  T 	ÐIÐIÐIÐIÐIÐIrK   z1Must provide freq argument if no data is suppliedé   zVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedrT   )ÚsÚmsÚusrT   z+'unit' must be one of 's', 'ms', 'us', 'ns'F)Úround_okr¡   rv   é   éÿÿÿÿzm8[ú]r–   )ÚdtlÚvalidate_periodsÚanyr‚   ÚcomÚcount_not_noner   rq   r   r)   rŠ   Úlinspacerx   Úastyperw   rŽ   r   )rƒ   ÚstartÚendÚperiodsrd   Úclosedrj   Úleft_closedÚright_closedÚindexÚ
td64valuess              rI   Ú_generate_rangezTimedeltaArray._generate_range  sß  € õ Ô& wÑ/Ô/ˆØˆ<�CÐIÐI°G¸UÀCÐ3HÐIÑIÔIÑIÔIˆ<ÝÐPÑQÔQÐQåÔ˜e S¨'°4Ñ8Ô8¸AÒ=Ð=Ýð<ñô ð ð
 ÐÝ˜eÑ$Ô$×,Ò,¨TÑ2Ô2ˆEàˆ?Ý˜C‘.”.×(Ò(¨Ñ.Ô.ˆCàÐØÐ2Ð2Ð2Ý Ð!NÑOÔOÐOð 3ð ˆDàÐ Ð!1Ø—M’M $°�MÑ7Ô7ˆEØˆ?˜tÐ/Ø—+’+˜d¨U�+Ñ3Ô3ˆCå$6°vÑ$>Ô$>Ñ!ˆ�\àÐÝ*¨5°#°wÀÈ4ÐPÑPÔPˆEˆEå”K ¤¨c¬j¸'ÑBÔB×IÒIÈ$ÑOÔOˆEàð 	Ø˜!˜"˜"”IˆEØð 	Ø˜#˜2˜#”JˆEà—Z’Z  d   Ñ.Ô.ˆ
Ø�Š˜z°Ô1AÈˆÑMÔMÐMrK   c                ó  — t          || j        ¦  «        s|t          urt          d¦  «        ‚|                      |¦  «         |t          u rt          j        |j        | j        ¦  «        S | 	                    | j        ¦  «        j
        S )Nz'value' should be a Timedelta.)r‰   ra   r	   r‚   Ú_check_compatible_withrŠ   r[   rx   rj   rq   Úasm8©rF   Úvalues     rI   Ú_unbox_scalarzTimedeltaArray._unbox_scalar?  sz   € Ý˜% Ô!2Ñ3Ô3ð 	?¸ÅSÐ8HÐ8HÝÐ=Ñ>Ô>Ð>Ø×#Ò# EÑ*Ô*Ð*Ø•Cˆ<ˆ<Ý”> %¤,°´	Ñ:Ô:Ð:à—=’= ¤Ñ+Ô+Ô0Ð0rK   c                ó    — t          |¦  «        S r^   r_   rÄ   s     rI   Ú_scalar_from_stringz"TimedeltaArray._scalar_from_stringH  s   € Ý˜ÑÔÐrK   ÚNonec                ó   — d S r^   r¥   ©rF   Úothers     rI   rÂ   z%TimedeltaArray._check_compatible_withK  s   € àˆrK   Tc                ó´  — t          |¦  «        }t          j        |d¦  «        r“|| j        k    r|r|                      ¦   «         S | S t          |¦  «        rFt          | j        |d¬¦  «        }t          | ¦  «         	                    ||j        | j
        ¬¦  «        S t          d| j        › d|› d�¦  «        ‚t          j                             | ||¬¦  «        S )NrV   F©r’   r–   zCannot convert from z to z1. Supported resolutions are 's', 'ms', 'us', 'ns')r"   r   rW   r   r’   r   r   r~   rŒ   rŽ   rd   r‚   r±   ÚDatetimeLikeArrayMixinr·   )rF   r   r’   Ú
res_valuess       rI   r·   zTimedeltaArray.astypeR  s   € õ
 ˜UÑ#Ô#ˆåŒ?˜5 #Ñ&Ô&ð 	Ø˜œ
Ò"Ð"Øð 'ØŸ9š9™;œ;Ð&Ø�å! %Ñ(Ô(ð 
å0°´ÀÈEÐRÑRÔR�
Ý˜D‘z”z×-Ò-Ø jÔ&6¸T¼Yð .ñ ô ð õ !ðF¨4¬:ð Fð F¸5ð Fð Fð Fñô ð õ
 Ô)×0Ò0°°uÀ4Ð0ÑHÔHÐHrK   r+   c              #  óR  K  — | j         dk    r+t          t          | ¦  «        ¦  «        D ]}| |         V — Œd S | j        }t          | ¦  «        }d}||z  dz   }t          |¦  «        D ]>}||z  }t	          |dz   |z  |¦  «        }t          |||…         d¬¦  «        }|E d {V —† Œ?d S )Nr®   i'  T©Úbox)ÚndimÚrangeÚlenr~   Úminr   )	rF   Úir˜   ÚlengthÚ	chunksizeÚchunksÚstart_iÚend_iÚ	converteds	            rI   Ú__iter__zTimedeltaArray.__iter__m  så   è è € ØŒ9�qŠ=ˆ=Ý�3˜t™9œ9Ñ%Ô%ð ð �Ø˜1”g����ðð ð ”=ˆDÝ˜‘Y”YˆFØˆIØ 	Ñ)¨QÑ.ˆFÝ˜6‘]”]ð %ð %�Ø˜i™-�Ý˜Q ™U iÑ/°Ñ8Ô8�Ý/°°W¸U°]Ô0CÈÐNÑNÔN�	Ø$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð	%ð %rK   r   )Úaxisr   ÚoutÚkeepdimsÚinitialÚskipnaÚ	min_countrà   úAxisInt | NoneúNpDtype | Nonerâ   rä   rå   Úintc               óœ   — t          j        d||||dœ¦  «         t          j        | j        |||¬¦  «        }|                      ||¦  «        S )Nr¥   )r   rá   râ   rã   )rà   rä   rå   )ÚnvÚvalidate_sumr%   Únansumr~   Ú_wrap_reduction_result)	rF   rà   r   rá   râ   rã   rä   rå   rH   s	            rI   ÚsumzTimedeltaArray.sum€  sd   € õ 	ŒØ˜%¨¸ÈgÐVÐVñ	
ô 	
ð 	
õ ”ØŒM ¨V¸yð
ñ 
ô 
ˆð ×*Ò*¨4°Ñ8Ô8Ð8rK   r®   )rà   r   rá   Úddofrâ   rä   rï   c               óà   — t          j        d|||dœd¬¦  «         t          j        | j        |||¬¦  «        }|�| j        dk    r|                      |¦  «        S |                      |¦  «        S )Nr¥   )r   rá   râ   Ústd)Úfname)rà   rä   rï   r®   )rê   Úvalidate_stat_ddof_funcr%   Únanstdr~   rÔ   r{   Ú_from_backing_data)rF   rà   r   rá   rï   râ   rä   rH   s           rI   rñ   zTimedeltaArray.std”  s€   € õ 	Ô"Ø˜%¨¸ÐBÐBÈ%ð	
ñ 	
ô 	
ð 	
õ ”˜tœ}°4ÀÈTÐRÑRÔRˆØˆ<˜4œ9¨š>˜>Ø—>’> &Ñ)Ô)Ð)Ø×&Ò& vÑ.Ô.Ð.rK   )rä   r4   r5   c               ó4  •— |dk    rat          t          |¦  «        } || j                             ¦   «         fd|i|¤Ž}t	          | ¦  «                             |d | j        ¬¦  «        S |dk    rt          d¦  «        ‚ t          ¦   «         j	        |fd|i|¤ŽS )NÚcumsumrä   )rd   r   Úcumprodz$cumprod not supported for Timedelta.)
Úgetattrr'   r~   r’   rŒ   rŽ   r   Ú	TypeErrorr�   Ú_accumulate)rF   r4   rä   ÚkwargsÚoprH   r�   s         €rI   rû   zTimedeltaArray._accumulateª  s«   ø€ Ø�8ÒÐÝÕ3°TÑ:Ô:ˆBØ�R˜œ×*Ò*Ñ,Ô,ÐFÐF°VÐF¸vÐFÐFˆFå˜‘:”:×)Ò)¨&°tÀ4Ä:Ð)ÑNÔNÐNØ�YÒÐÝÐBÑCÔCÐCð '•5‘7”7Ô& tÐEÐE°FÐE¸fÐEÐEÐErK   Úboxedc                ó(   — ddl m}  || d¬¦  «        S )Nr   ©Úget_format_timedelta64TrÒ   )Úpandas.io.formats.formatr  )rF   rþ   r  s      rI   Ú
_formatterzTimedeltaArray._formatter¹  s*   € ØCÐCÐCÐCÐCÐCà%Ð% d°Ð5Ñ5Ô5Ð5rK   )Úna_repÚdate_formatr  ústr | floatúnpt.NDArray[np.object_]c               ón   — ddl m}  || |¦  «        } t          j        |dd¦  «        | j        ¦  «        S )Nr   r   r®   )r  r  rŠ   Ú
frompyfuncr~   )rF   r  r  rü   r  Ú	formatters         rI   Ú_format_native_typesz#TimedeltaArray._format_native_types¾  sM   € ð 	DÐCÐCÐCÐCÐCð +Ð*¨4°Ñ8Ô8ˆ	ð .�rŒ}˜Y¨¨1Ñ-Ô-¨d¬mÑ<Ô<Ð<rK   c                ó¢   — t          |t          ¦  «        rJ ‚t          dt          |¦  «        j        › dt          | ¦  «        j        › �¦  «        ‚)Nzcannot add the type z to a )r‰   r   rú   rŒ   rM   rË   s     rI   Ú_add_offsetzTimedeltaArray._add_offsetÌ  sO   € Ý˜e¥TÑ*Ô*Ð*Ð*Ð*ÝØT¥4¨¡;¤;Ô#7ÐTÐT½tÀD¹z¼zÔ?RÐTÐTñ
ô 
ð 	
rK   Ú__mul__c                ó,  ‡‡— t          ‰¦  «        rc| j        ‰z  }d }| j        �&t          ‰¦  «        s| j        ‰z  }|j        dk    rd }t          | ¦  «                             ||j        |¬¦  «        S t          ‰d¦  «        st          j
        ‰¦  «        Št          ‰¦  «        t          | ¦  «        k    r)t          j        ‰j        d¦  «        st          d¦  «        ‚t          ‰j        ¦  «        rm| j        Šˆˆfd„t!          t          | ¦  «        ¦  «        D ¦   «         }t          j
        |¦  «        }t          | ¦  «                             ||j        ¬¦  «        S | j        ‰z  }t          | ¦  «                             ||j        ¬¦  «        S )Nr   r–   r   rV   z$Cannot multiply with unequal lengthsc                ó2   •— g | ]}‰|         ‰|         z  ‘ŒS r¥   r¥   )r§   ÚnÚarrrÌ   s     €€rI   ú
<listcomp>z*TimedeltaArray.__mul__.<locals>.<listcomp>ì  s&   ø€ ÐBÐBÐB¨A�c˜!”f˜u QœxÑ'ÐBÐBÐBrK   ©r   )r    r~   rd   r$   r  rŒ   rŽ   r   ÚhasattrrŠ   ÚarrayrÖ   r   rW   r‚   r   rÕ   )rF   rÌ   rH   rd   r  s    `  @rI   r  zTimedeltaArray.__mul__Ò  sw  øø€ å�UÑÔð 		Qà”] UÑ*ˆFØˆDØŒyÐ$­T°%©[¬[Ð$Ø”y 5Ñ(�Ø”6˜Q’;�;à�DÝ˜‘:”:×)Ò)¨&¸¼È4Ð)ÑPÔPÐPå�u˜gÑ&Ô&ð 	$å”H˜U‘O”OˆEÝˆu‰:Œ:�˜T™œÒ"Ð"­3¬?¸5¼;ÈÑ+LÔ+LÐ"õ ÐCÑDÔDÐDå˜5œ;Ñ'Ô'ð 	Fð ”-ˆCØBÐBÐBÐBÐBµµs¸4±y´yÑ1AÔ1AÐBÑBÔBˆFÝ”X˜fÑ%Ô%ˆFÝ˜‘:”:×)Ò)¨&¸¼Ð)ÑEÔEÐEð ” Ñ&ˆÝ�D‰zŒz×%Ò% f°F´LÐ%ÑAÔAÐArK   c                ó¢  — t          || j        ¦  «        r}t          |¦  «        }t          d|¦  «        t          u rFt          j        | j        t
          j        ¬¦  «        }| 	                    t
          j
        ¦  «         |S  || j        |¦  «        S |t          j        t          j        fv r9t          dt!          |¦  «        j        › dt!          | ¦  «        j        › �¦  «        ‚ || j        |¦  «        }d}| j        �'| j        |z  }|j        dk    r| j        j        dk    rd}t!          | ¦  «                             ||j        |¬¦  «        S )zv
        Shared logic for __truediv__, __rtruediv__, __floordiv__, __rfloordiv__
        with scalar 'other'.
        rt   r  zCannot divide z by Nr   r–   )r‰   Ú_recognized_scalarsr   r   r	   rŠ   ÚemptyÚshaper?   ÚfillÚnanr~   r&   ÚrtruedivÚ	rfloordivrú   rŒ   rM   rd   ÚnanosrŽ   r   )rF   rÌ   rý   ÚresrH   rd   s         rI   Ú_scalar_divlike_opz!TimedeltaArray._scalar_divlike_opö  sH  € õ
 �e˜TÔ5Ñ6Ô6ð "	QÝ˜eÑ$Ô$ˆEõ Ð)¨5Ñ1Ô1µSÐ8Ð8å”h˜tœzµ´Ð<Ñ<Ô<�Ø—’�œÑ Ô Ð Ø�
ð �2�d”m UÑ+Ô+Ð+ð •iÔ(­)Ô*=Ð>Ð>Ð>ÝØT¥T¨%¡[¤[Ô%9ÐTÐT½tÀD¹z¼zÔ?RÐTÐTñô ð ð �R˜œ uÑ-Ô-ˆFØˆDàŒyÐ$ð ”y 5Ñ(�Ø”: ’?�? t¤y¤¸!Ò';Ð';ð  �Då˜‘:”:×)Ò)¨&¸¼È4Ð)ÑPÔPÐPrK   c                ó¬   — t          |d¦  «        st          j        |¦  «        }t          |¦  «        t          | ¦  «        k    rt	          d¦  «        ‚|S )Nr   z*Cannot divide vectors with unequal lengths)r  rŠ   r  rÖ   r‚   rË   s     rI   Ú_cast_divlike_opzTimedeltaArray._cast_divlike_op  sL   € Ý�u˜gÑ&Ô&ð 	$å”H˜U‘O”OˆEåˆu‰:Œ:�˜T™œÒ"Ð"ÝÐIÑJÔJÐJØˆrK   únp.ndarray | Selfc                óD  —  || j         t          j        |¦  «        ¦  «        }t          |j        ¦  «        st          |j        ¦  «        rC|t          j        t          j        fv r)t          | ¦  «         
                    ||j        ¬¦  «        S |t          j        t          j        fv rw|                      ¦   «         t          |¦  «        z  }|                     ¦   «         r?|                     t          j        ¦  «        }t          j        ||t          j        ¦  «         |S )z‡
        Shared logic for __truediv__, __floordiv__, and their reversed versions
        with timedelta64-dtype ndarray other.
        r  )r~   rŠ   Úasarrayr   r   r   ÚoperatorÚtruedivÚfloordivrŒ   rŽ   r&   r  r$   r³   r·   r?   Úputmaskr  )rF   rÌ   rý   rH   Úmasks        rI   Ú_vector_divlike_opz!TimedeltaArray._vector_divlike_op(  sõ   € ð ��D”M¥2¤:¨eÑ#4Ô#4Ñ5Ô5ˆå˜Uœ[Ñ)Ô)ð 	F­^¸E¼KÑ-HÔ-Hð 	FÈbÝÔÝÔðU
ð O
ð O
õ ˜‘:”:×)Ò)¨&¸¼Ð)ÑEÔEÐEà•(Ô#¥YÔ%8Ð9Ð9Ð9Ø—9’9‘;”;¥ e¡¤Ñ,ˆDØ�xŠx‰zŒzð 1ØŸš¥r¤zÑ2Ô2�Ý”
˜6 4­¬Ñ0Ô0Ð0àˆrK   Ú__truediv__c                óZ  — t           j        }t          |¦  «        r|                      ||¦  «        S |                      |¦  «        }t          j        |j        d¦  «        s(t          |j        ¦  «        st          |j        ¦  «        r|  
                    ||¦  «        S t          |j        ¦  «        rst          j        |¦  «        }| j        dk    r=d„ t          | |¦  «        D ¦   «         }d„ |D ¦   «         }t          j        |d¬¦  «        }nt#          | j        |¦  «        }|S t&          S )NrV   r®   c                ó   — g | ]
\  }}||z  ‘ŒS r¥   r¥   ©r§   ÚleftÚrights      rI   r  z.TimedeltaArray.__truediv__.<locals>.<listcomp>P  s    € ÐMÐMÐM©[¨T°5˜D 5™LÐMÐMÐMrK   c                ó:   — g | ]}|                      d d¦  «        ‘ŒS ©r®   r¯   ©Úreshaper¦   s     rI   r  z.TimedeltaArray.__truediv__.<locals>.<listcomp>Q  ó&   € Ð@Ð@Ð@°!˜QŸYšY q¨"Ñ-Ô-Ð@Ð@Ð@rK   r   ©rà   )r'  r(  r    r!  r#  r   rW   r   r   r   r,  r   rŠ   r&  rÔ   ÚzipÚconcatenater   r~   ÚNotImplemented©rF   rÌ   rý   Úres_colsÚ	res_cols2rH   s         rI   r-  zTimedeltaArray.__truediv__>  s)  € õ ÔˆÝ�UÑÔð 	6Ø×*Ò*¨5°"Ñ5Ô5Ð5à×%Ò% eÑ,Ô,ˆåŒO˜EœK¨Ñ-Ô-ð	6å ¤Ñ,Ô,ð	6õ ˜eœkÑ*Ô*ð	6ð
 ×*Ò*¨5°"Ñ5Ô5Ð5å˜5œ;Ñ'Ô'ð 	"Ý”J˜uÑ%Ô%ˆEØŒy˜1Š}ˆ}ØMÐM½CÀÀeÑ<LÔ<LÐMÑMÔM�Ø@Ð@°xÐ@Ñ@Ô@�	Ýœ¨	¸Ð:Ñ:Ô:��å-¨d¬m¸UÑCÔC�àˆMõ "Ð!rK   Ú__rtruediv__c                ó¢  ‡ ‡— t           j        }t          ‰¦  «        r‰                      ‰|¦  «        S ‰                      ‰¦  «        Št          j        ‰j        d¦  «        r‰                      ‰|¦  «        S t          ‰j        ¦  «        r=ˆˆ fd„t          t          ‰ ¦  «        ¦  «        D ¦   «         }t          j        |¦  «        S t          S )NrV   c                ó2   •— g | ]}‰|         ‰|         z  ‘ŒS r¥   r¥   ©r§   r  rÌ   rF   s     €€rI   r  z/TimedeltaArray.__rtruediv__.<locals>.<listcomp>j  s&   ø€ ÐHÐHÐH°!˜5 œ8 d¨1¤gÑ-ÐHÐHÐHrK   )r&   r  r    r!  r#  r   rW   r   r,  r   rÕ   rÖ   rŠ   r  r;  )rF   rÌ   rý   Úresult_lists   ``  rI   r?  zTimedeltaArray.__rtruediv__[  sÊ   øø€ õ ÔˆÝ�UÑÔð 	6Ø×*Ò*¨5°"Ñ5Ô5Ð5à×%Ò% eÑ,Ô,ˆÝŒ?˜5œ;¨Ñ,Ô,ð 	"Ø×*Ò*¨5°"Ñ5Ô5Ð5å˜Uœ[Ñ)Ô)ð 	"ð IÐHÐHÐHÐHµu½SÀ¹Y¼YÑ7GÔ7GÐHÑHÔHˆKÝ”8˜KÑ(Ô(Ð(õ "Ð!rK   Ú__floordiv__c                ó~  — t           j        }t          |¦  «        r|                      ||¦  «        S |                      |¦  «        }t          j        |j        d¦  «        s(t          |j        ¦  «        st          |j        ¦  «        r|  
                    ||¦  «        S t          |j        ¦  «        r…t          j        |¦  «        }| j        dk    r=d„ t          | |¦  «        D ¦   «         }d„ |D ¦   «         }t          j        |d¬¦  «        }nt#          | j        |¦  «        }|j        t&          k    sJ ‚|S t(          S )NrV   r®   c                ó   — g | ]
\  }}||z  ‘ŒS r¥   r¥   r0  s      rI   r  z/TimedeltaArray.__floordiv__.<locals>.<listcomp>�  s    € ÐNÐNÐN©k¨d°E˜D E™MÐNÐNÐNrK   c                ó:   — g | ]}|                      d d¦  «        ‘ŒS r4  r5  r¦   s     rI   r  z/TimedeltaArray.__floordiv__.<locals>.<listcomp>‚  r7  rK   r   r8  )r'  r)  r    r!  r#  r   rW   r   r   r   r,  r   rŠ   r&  rÔ   r9  r:  r   r~   Úobjectr;  r<  s         rI   rD  zTimedeltaArray.__floordiv__p  s:  € åÔˆÝ�UÑÔð 	6Ø×*Ò*¨5°"Ñ5Ô5Ð5à×%Ò% eÑ,Ô,ˆåŒO˜EœK¨Ñ-Ô-ð	"å ¤Ñ,Ô,ð	"õ ˜eœkÑ*Ô*ð	"ð
 ×*Ò*¨5°"Ñ5Ô5Ð5å˜Uœ[Ñ)Ô)ð 	"Ý”J˜uÑ%Ô%ˆEØŒy˜1Š}ˆ}ØNÐN½SÀÀuÑ=MÔ=MÐNÑNÔN�Ø@Ð@°xÐ@Ñ@Ô@�	Ýœ¨	¸Ð:Ñ:Ô:��å.¨t¬}¸eÑDÔD�à”<¥6Ò)Ð)Ð)Ð)ØˆMõ "Ð!rK   Ú__rfloordiv__c                ó¦  ‡ ‡— t           j        }t          ‰¦  «        r‰                      ‰|¦  «        S ‰                      ‰¦  «        Št          j        ‰j        d¦  «        r‰                      ‰|¦  «        S t          ‰j        ¦  «        r?ˆˆ fd„t          t          ‰ ¦  «        ¦  «        D ¦   «         }t          j        |¦  «        }|S t          S )NrV   c                ó2   •— g | ]}‰|         ‰|         z  ‘ŒS r¥   r¥   rB  s     €€rI   r  z0TimedeltaArray.__rfloordiv__.<locals>.<listcomp>˜  s&   ø€ ÐIÐIÐI°1˜5 œ8 t¨A¤wÑ.ÐIÐIÐIrK   )r&   r  r    r!  r#  r   rW   r   r,  r   rÕ   rÖ   rŠ   r  r;  )rF   rÌ   rý   rC  rH   s   ``   rI   rI  zTimedeltaArray.__rfloordiv__�  sÉ   øø€ åÔ ˆÝ�UÑÔð 	6Ø×*Ò*¨5°"Ñ5Ô5Ð5à×%Ò% eÑ,Ô,ˆÝŒ?˜5œ;¨Ñ,Ô,ð 		"Ø×*Ò*¨5°"Ñ5Ô5Ð5å˜Uœ[Ñ)Ô)ð 	"ØIÐIÐIÐIÐI½½cÀ$¹i¼iÑ8HÔ8HÐIÑIÔIˆKÝ”X˜kÑ*Ô*ˆFØˆMõ "Ð!rK   Ú__mod__c                ó`   — t          || j        ¦  «        rt          |¦  «        }| | |z  |z  z
  S r^   ©r‰   r  r   rË   s     rI   rL  zTimedeltaArray.__mod__Ÿ  s:   € õ �e˜TÔ5Ñ6Ô6ð 	%Ý˜eÑ$Ô$ˆEØ�t˜u‘}¨Ñ-Ñ-Ð-rK   Ú__rmod__c                ó`   — t          || j        ¦  «        rt          |¦  «        }||| z  | z  z
  S r^   rN  rË   s     rI   rO  zTimedeltaArray.__rmod__¦  s:   € õ �e˜TÔ5Ñ6Ô6ð 	%Ý˜eÑ$Ô$ˆEØ˜ ™¨Ñ-Ñ-Ð-rK   Ú
__divmod__c                ól   — t          || j        ¦  «        rt          |¦  «        }| |z  }| ||z  z
  }||fS r^   rN  ©rF   rÌ   Úres1Úres2s       rI   rQ  zTimedeltaArray.__divmod__­  sG   € õ �e˜TÔ5Ñ6Ô6ð 	%Ý˜eÑ$Ô$ˆEà�u‰}ˆØ�d˜U‘lÑ"ˆØ�TˆzÐrK   Ú__rdivmod__c                ól   — t          || j        ¦  «        rt          |¦  «        }|| z  }||| z  z
  }||fS r^   rN  rS  s       rI   rV  zTimedeltaArray.__rdivmod__·  sG   € õ �e˜TÔ5Ñ6Ô6ð 	%Ý˜eÑ$Ô$ˆEà˜‰}ˆØ�t˜d‘{Ñ"ˆØ�TˆzÐrK   c                ó„   — d }| j         �| j          }t          | ¦  «                             | j         | j        |¬¦  «        S ©Nr–   )rd   rŒ   rŽ   r~   r   )rF   rd   s     rI   Ú__neg__zTimedeltaArray.__neg__Á  s?   € ØˆØŒ9Ð Ø”I�:ˆDÝ�D‰zŒz×%Ò% t¤} n¸D¼JÈTÐ%ÑRÔRÐRrK   c                óŽ   — t          | ¦  «                             | j                             ¦   «         | j        | j        ¬¦  «        S rY  )rŒ   rŽ   r~   r’   r   rd   r`   s    rI   Ú__pos__zTimedeltaArray.__pos__Ç  s>   € Ý�D‰zŒz×%Ò%ØŒM×ÒÑ Ô ¨¬
¸¼ð &ñ 
ô 
ð 	
rK   c                ó‚   — t          | ¦  «                             t          j        | j        ¦  «        | j        ¬¦  «        S )Nr  )rŒ   rŽ   rŠ   Úabsr~   r   r`   s    rI   Ú__abs__zTimedeltaArray.__abs__Ì  s/   € å�D‰zŒz×%Ò%¥b¤f¨T¬]Ñ&;Ô&;À4Ä:Ð%ÑNÔNÐNrK   únpt.NDArray[np.float64]c                óh   — t          | j        ¦  «        }|                      | j        |z  d¬¦  «        S )a{  
        Return total duration of each element expressed in seconds.

        This method is available directly on TimedeltaArray, TimedeltaIndex
        and on Series containing timedelta values under the ``.dt`` namespace.

        Returns
        -------
        ndarray, Index or Series
            When the calling object is a TimedeltaArray, the return type
            is ndarray.  When the calling object is a TimedeltaIndex,
            the return type is an Index with a float64 dtype. When the calling object
            is a Series, the return type is Series of type `float64` whose
            index is the same as the original.

        See Also
        --------
        datetime.timedelta.total_seconds : Standard library version
            of this method.
        TimedeltaIndex.components : Return a DataFrame with components of
            each Timedelta.

        Examples
        --------
        **Series**

        >>> s = pd.Series(pd.to_timedelta(np.arange(5), unit='d'))
        >>> s
        0   0 days
        1   1 days
        2   2 days
        3   3 days
        4   4 days
        dtype: timedelta64[ns]

        >>> s.dt.total_seconds()
        0         0.0
        1     86400.0
        2    172800.0
        3    259200.0
        4    345600.0
        dtype: float64

        **TimedeltaIndex**

        >>> idx = pd.to_timedelta(np.arange(5), unit='d')
        >>> idx
        TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
                       dtype='timedelta64[ns]', freq=None)

        >>> idx.total_seconds()
        Index([0.0, 86400.0, 172800.0, 259200.0, 345600.0], dtype='float64')
        N)r@   )r   rC   rE   rB   )rF   Úppss     rI   rm   zTimedeltaArray.total_secondsÓ  s3   € õl ! ¤Ñ-Ô-ˆØ×'Ò'¨¬	°C©ÀDÐ'ÑIÔIÐIrK   c                ó*   — t          | j        ¦  «        S )a  
        Return an ndarray of datetime.timedelta objects.

        Returns
        -------
        numpy.ndarray

        Examples
        --------
        >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='D')
        >>> tdelta_idx
        TimedeltaIndex(['1 days', '2 days', '3 days'],
                        dtype='timedelta64[ns]', freq=None)
        >>> tdelta_idx.to_pytimedelta()
        array([datetime.timedelta(days=1), datetime.timedelta(days=2),
               datetime.timedelta(days=3)], dtype=object)
        )r   r~   r`   s    rI   rl   zTimedeltaArray.to_pytimedelta  s   € õ$ # 4¤=Ñ1Ô1Ð1rK   aC  Number of days for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='d'))
    >>> ser
    0   1 days
    1   2 days
    2   3 days
    dtype: timedelta64[ns]
    >>> ser.dt.days
    0    1
    1    2
    2    3
    dtype: int64

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta(["0 days", "10 days", "20 days"])
    >>> tdelta_idx
    TimedeltaIndex(['0 days', '10 days', '20 days'],
                    dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.days
    Index([0, 10, 20], dtype='int64')r<   a‹  Number of seconds (>= 0 and less than 1 day) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='s'))
    >>> ser
    0   0 days 00:00:01
    1   0 days 00:00:02
    2   0 days 00:00:03
    dtype: timedelta64[ns]
    >>> ser.dt.seconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='s')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:01', '0 days 00:00:02', '0 days 00:00:03'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.seconds
    Index([1, 2, 3], dtype='int32')rf   aÝ  Number of microseconds (>= 0 and less than 1 second) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='us'))
    >>> ser
    0   0 days 00:00:00.000001
    1   0 days 00:00:00.000002
    2   0 days 00:00:00.000003
    dtype: timedelta64[ns]
    >>> ser.dt.microseconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='us')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:00.000001', '0 days 00:00:00.000002',
                    '0 days 00:00:00.000003'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.microseconds
    Index([1, 2, 3], dtype='int32')rg   añ  Number of nanoseconds (>= 0 and less than 1 microsecond) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='ns'))
    >>> ser
    0   0 days 00:00:00.000000001
    1   0 days 00:00:00.000000002
    2   0 days 00:00:00.000000003
    dtype: timedelta64[ns]
    >>> ser.dt.nanoseconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='ns')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:00.000000001', '0 days 00:00:00.000000002',
                    '0 days 00:00:00.000000003'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.nanoseconds
    Index([1, 2, 3], dtype='int32')rh   r3   c                ó¢   ‡‡— ddl m} g d¢Š| j        }|rˆfd„Šnd„ Š |ˆfd„| D ¦   «         ‰¬¦  «        }|s|                     d¦  «        }|S )	aØ  
        Return a DataFrame of the individual resolution components of the Timedeltas.

        The components (days, hours, minutes seconds, milliseconds, microseconds,
        nanoseconds) are returned as columns in a DataFrame.

        Returns
        -------
        DataFrame

        Examples
        --------
        >>> tdelta_idx = pd.to_timedelta(['1 day 3 min 2 us 42 ns'])
        >>> tdelta_idx
        TimedeltaIndex(['1 days 00:03:00.000002042'],
                       dtype='timedelta64[ns]', freq=None)
        >>> tdelta_idx.components
           days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
        0     1      0        3        0             0             2           42
        r   r2   )r<   ÚhoursÚminutesrf   Úmillisecondsrg   rh   c                ój   •— t          | ¦  «        rt          j        gt          ‰¦  «        z  S | j        S r^   )r$   rŠ   r  rÖ   Ú
components)rY   Úcolumnss    €rI   rJ   z$TimedeltaArray.components.<locals>.fÊ  s.   ø€ Ý˜‘7”7ð 3ÝœF˜8¥c¨'¡l¤lÑ2Ð2Ø”|Ð#rK   c                ó   — | j         S r^   )ri  rX   s    rI   rJ   z$TimedeltaArray.components.<locals>.fÑ  s
   € Ø”|Ð#rK   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r¥   r¥   )r§   rY   rJ   s     €rI   r  z-TimedeltaArray.components.<locals>.<listcomp>Ô  s!   ø€ Ð/Ð/Ð/ Q˜A˜A˜a™DœDÐ/Ð/Ð/rK   )rj  Úint64)Úpandasr3   rD   r·   )rF   r3   ÚhasnansrH   rj  rJ   s       @@rI   ri  zTimedeltaArray.components¦  s°   øø€ ð, 	%Ð$Ð$Ð$Ð$Ð$ð
ð 
ð 
ˆð ”+ˆØð 
	$ð$ð $ð $ð $ð $ð $ð$ð $ð $ð �Ð/Ð/Ð/Ð/¨$Ð/Ñ/Ô/¸ÐAÑAÔAˆØð 	,Ø—]’] 7Ñ+Ô+ˆFØˆrK   )r9   r\   )rY   rs   r9   rt   )r9   r|   )rG   r…   rd   r†   r   r|   r9   r0   )r’   r“   r9   r0   r^   )rj   r¢   r9   r0   )r9   rs   )r9   rt   )r9   rÉ   )T)r’   r“   )r9   r+   )
rà   ræ   r   rç   râ   r“   rä   r“   rå   rè   )
rà   ræ   r   rç   rï   rè   râ   r“   rä   r“   )r4   r5   rä   r“   )F)rþ   r“   )r  r  r9   r  )r9   r0   )r9   r$  )r9   rR   )r9   r`  )r9   r  )r9   r3   )OrM   Ú
__module__Ú__qualname__rN   Ú_typrŠ   r[   Ú_internal_fill_valuer   r   r  Ú_is_recognized_dtypeÚ_infer_matchesrO   ra   Ú__array_priority__rb   Ú__annotations__rc   re   ri   rk   rr   r{   r   r�   r   Ú_default_dtypeÚclassmethodr„   rŽ   r™   r   Ú
no_defaultr    rÀ   rÆ   rÈ   rÂ   r·   rß   rî   rñ   rû   r  r  r  r*   r  Ú__rmul__r!  r#  r,  r-  r?  rD  rI  rL  rO  rQ  rV  rZ  r\  r_  rm   rl   ÚtextwrapÚdedentÚdays_docstringrP   r<   Úseconds_docstringrf   Úmicroseconds_docstringrg   Únanoseconds_docstringrh   ri  Ú__classcell__)r�   s   @rI   rR   rR   g   s¿  ø€ € € € € € ð#ð #ðJ €DØ)˜2œ>¨%°Ñ6Ô6ÐØ$ b¤n°dÐ;ÐØ<Ð<ÐØ1€Nàðð ð ñ „Xðð Ðà€JÐÐÐÑØ€IÐÐÐÑØ$˜X€KÐ%Ð%Ð%Ñ%ØNÐNÐN€JÐNÐNÐNÑNØ#-°Ñ#;¸iÑ#GÈ6È(Ñ#RÐÐRÐRÐRÑRð(ð (ð (Ðð ð ð ñ ðCð Cð Cð Cð ð#ð #ð #ñ „Xð#ð& €EØ!€Nàðð ñ „[ðð ð !Ø*6ð	ð ð ð ð ð ñ „[ðð" Ø+/¸eð 	Bð 	Bð 	Bð 	Bð 	Bñ „[ð	Bð ð
 ØØŒ^Øðð ð ð ð ñ „[ðð8 à/3ð+NØKOð+Nð +Nð +Nð +Nð +Nñ „[ð+Nð`1ð 1ð 1ð 1ð ð  ð  ð  ðð ð ð ðIð Ið Ið Ið Ið6%ð %ð %ð %ð,  $Ø $ØØØØØð9ð 9ð 9ð 9ð 9ð 9ð.  $Ø $ØØØØð/ð /ð /ð /ð /ð /ð, 8<ð 
Fð 
Fð 
Fð 
Fð 
Fð 
Fð 
Fð 
Fð6ð 6ð 6ð 6ð 6ð (-¸$ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð
ð 
ð 
ð Ð˜iÑ(Ô(ðBð Bð Bñ )Ô(ðBðB €Hð'Qð 'Qð 'QðRð ð ðð ð ð ð, Ð˜mÑ,Ô,ð"ð "ñ -Ô,ð"ð8 Ð˜nÑ-Ô-ð"ð "ñ .Ô-ð"ð( Ð˜nÑ-Ô-ð"ð "ñ .Ô-ð"ð8 Ð˜oÑ.Ô.ð"ð "ñ /Ô.ð"ð" Ð˜iÑ(Ô(ð.ð .ñ )Ô(ð.ð Ð˜jÑ)Ô)ð.ð .ñ *Ô)ð.ð Ð˜lÑ+Ô+ðð ñ ,Ô+ðð Ð˜mÑ,Ô,ðð ñ -Ô,ððSð Sð Sð Sð
ð 
ð 
ð 
ð
Oð Oð Oð Oð7Jð 7Jð 7Jð 7Jðr2ð 2ð 2ð 2ð( %�X”_ð	)ñô €Nð8 ˆ?˜6 6¨>Ñ:Ô:€Dà'˜œð	'ñô Ðð8 ˆoØØØñô €Gð -˜Xœ_ð	'ñô Ðð: #�?ØØØñô €Lð ,˜HœOð	'ñô Ðð: "�/ØØØñô €Kð ð0ð 0ð 0ñ „Xð0ð 0ð 0ð 0ð 0rK   rR   FÚraiser’   r“   Úerrorsr-   r9   útuple[np.ndarray, Tick | None]c                óø  — |dvsJ ‚d}|�t          |¦  «        }t          j        | |d¬¦  «        \  } }t          | t          ¦  «        r| j        }| j        t          k    st          | j        ¦  «        rt          | ||¬¦  «        } d}�n"t          | j        ¦  «        rt          | |¬¦  «        \  } }|o| }nôt          | j        ¦  «        rqt          | j        t          ¦  «        r| j        }| j        } nt!          j        | ¦  «        }t%          | |pd¦  «        } t&          | |<   |                      d	¦  «        } d}not+          j        | j        d
¦  «        r=t/          | j        ¦  «        s(t1          | j        ¦  «        }t3          | |d¬¦  «        } d}nt5          d| j        › d�¦  «        ‚|st!          j        | ¦  «        } nt!          j        | |¬¦  «        } | j        j        d
k    sJ ‚| j        dk    sJ ‚| |fS )aÖ  
    Parameters
    ----------
    data : list-like
    copy : bool, default False
    unit : str, optional
        The timedelta unit to treat integers as multiples of. For numeric
        data this defaults to ``'ns'``.
        Must be un-specified if the data contains a str and ``errors=="raise"``.
    errors : {"raise", "coerce", "ignore"}, default "raise"
        How to handle elements that cannot be converted to timedelta64[ns].
        See ``pandas.to_timedelta`` for details.

    Returns
    -------
    converted : numpy.ndarray
        The sequence converted to a numpy array with dtype ``timedelta64[ns]``.
    inferred_freq : Tick or None
        The inferred frequency of the sequence.

    Raises
    ------
    ValueError : Data cannot be converted to timedelta64[ns].

    Notes
    -----
    Unlike `pandas.to_timedelta`, if setting ``errors=ignore`` will not cause
    errors to be ignored; they are caught and subsequently ignored at a
    higher level.
    r›   NrR   )Úcls_name©rj   r„  Fr¡   rT   zm8[ns]rV   r‘   zdtype z' cannot be converted to timedelta64[ns]rÎ   Úm8)r   r±   Ú!ensure_arraylike_for_datetimeliker‰   rR   rd   r   rH  r!   Ú_objects_to_td64nsr   Ú_ints_to_td64nsr   r#   Ú_maskÚ_datarŠ   Úisnanr   r   rw   r   rW   r   r   r   rú   r&  r  Úkind)r˜   r’   rj   r„  rŸ   Ú	copy_mader+  Ú	new_dtypes           rI   r—   r—   Þ  s&  € ðH �Ð&Ð&Ð&Ð&à€MØÐÝ# DÑ)Ô)ˆåÔ6ØˆdÐ-ðñ ô �J€Dˆ$õ �$�Ñ'Ô'ð "Øœ	ˆð „z•VÒÐ�¨t¬zÑ:Ô:Ðå! $¨T¸&ÐAÑAÔAˆØˆ‰å	˜$œ*Ñ	%Ô	%ð Vå)¨$°TÐ:Ñ:Ô:‰ˆˆiØÐ%˜I˜ˆˆå	˜œ
Ñ	#Ô	#ð Võ �d”j¥.Ñ1Ô1ð 	"Ø”:ˆDØ”:ˆDˆDå”8˜D‘>”>ˆDå(¨¨t¨|°tÑ<Ô<ˆÝˆˆT‰
Ø�yŠy˜Ñ"Ô"ˆØˆˆå	Œ˜œ SÑ	)Ô	)ð 	VÝ! $¤*Ñ-Ô-ð 	å+¨D¬JÑ7Ô7ˆIÝ& t°9À5ÐIÑIÔIˆDØˆDøõ ÐT ¤ÐTÐTÐTÑUÔUÐUàð )ÝŒz˜$ÑÔˆˆåŒx˜ 4Ð(Ñ(Ô(ˆàŒ:Œ?˜cÒ!Ð!Ð!Ð!ØŒ:˜ÒÐÐÐà�ÐÐrK   rT   rj   c                ó$  — d}|�|nd}| j         t          j        k    r!|                      t          j        ¦  «        } d}|dk    r4d|› d�}|                      |¦  «        } t          | t          ¬¦  «        } d}n|                      d¦  «        } | |fS )	a­  
    Convert an ndarray with integer-dtype to timedelta64[ns] dtype, treating
    the integers as multiples of the given timedelta unit.

    Parameters
    ----------
    data : numpy.ndarray with integer-dtype
    unit : str, default "ns"
        The timedelta unit to treat integers as multiples of.

    Returns
    -------
    numpy.ndarray : timedelta64[ns] array converted from data
    bool : whether a copy was made
    FNrT   Tztimedelta64[r°   r  útimedelta64[ns])r   rŠ   rm  r·   rw   r   r   )r˜   rj   r‘  Ú	dtype_strs       rI   rŒ  rŒ  >  s£   € ð  €IØÐ#ˆ4ˆ4¨€Dà„z•R”XÒÐð �{Š{�2œ8Ñ$Ô$ˆØˆ	àˆt‚|€|Ø* 4Ð*Ð*Ð*ˆ	Ø�yŠy˜Ñ#Ô#ˆå" 4­|Ð<Ñ<Ô<ˆð ˆ	ˆ	ð �yŠyÐ*Ñ+Ô+ˆà�ˆ?ÐrK   c                ó�   — t          j        | t           j        ¬¦  «        }t          |||¬¦  «        }|                     d¦  «        S )aR  
    Convert a object-dtyped or string-dtyped array into an
    timedelta64[ns]-dtyped array.

    Parameters
    ----------
    data : ndarray or Index
    unit : str, default "ns"
        The timedelta unit to treat integers as multiples of.
        Must not be specified if the data contains a str.
    errors : {"raise", "coerce", "ignore"}, default "raise"
        How to handle elements that cannot be converted to timedelta64[ns].
        See ``pandas.to_timedelta`` for details.

    Returns
    -------
    numpy.ndarray : timedelta64[ns] array converted from data

    Raises
    ------
    ValueError : Data cannot be converted to timedelta64[ns].

    Notes
    -----
    Unlike `pandas.to_timedelta`, if setting `errors=ignore` will not cause
    errors to be ignored; they are caught and subsequently ignored at a
    higher level.
    r  rˆ  r”  )rŠ   r&  Úobject_r   rw   )r˜   rj   r„  rG   rH   s        rI   r‹  r‹  f  sA   € õ< ŒZ˜¥B¤JÐ/Ñ/Ô/€Få! &¨t¸FÐCÑCÔC€FØ�;Š;Ð(Ñ)Ô)Ð)rK   r.   c                ó  — t          | ¦  «        } | t          j        d¦  «        k    rd}t          |¦  «        ‚t	          j        | d¦  «        st          d| › d�¦  «        ‚t          | ¦  «        st          d¦  «        ‚| S )Nr‰  zhPassing in 'timedelta' dtype with no precision is not allowed. Please pass in 'timedelta64[ns]' instead.rV   zdtype 'z,' is invalid, should be np.timedelta64 dtypez;Supported timedelta64 resolutions are 's', 'ms', 'us', 'ns')r"   rŠ   r   r‚   r   rW   r   )r   Úmsgs     rI   r�   r�   Š  sŽ   € Ý˜ÑÔ€EØ•”˜‘”ÒÐð8ð 	õ ˜‰oŒoÐåŒ?˜5 #Ñ&Ô&ð XÝÐV 5ÐVÐVÐVÑWÔWÐWÝ Ñ&Ô&ð XÝÐVÑWÔWÐWà€LrK   )r4   r5   r6   r5   r7   r5   )FNrƒ  )r’   r“   r„  r-   r9   r…  )rT   )rj   r5   )Nrƒ  )r„  r-   )r9   r.   )VÚ
__future__r   Údatetimer   r'  Útypingr   r   ÚnumpyrŠ   Úpandas._libsr   r   Úpandas._libs.tslibsr	   r
   r   r   r   r   r   r   r   Úpandas._libs.tslibs.conversionr   Úpandas._libs.tslibs.fieldsr   r   Úpandas._libs.tslibs.timedeltasr   r   r   r   r   Úpandas.compat.numpyr   rê   Úpandas.util._validatorsr   Úpandas.core.dtypes.commonr   r   r   r   r    r!   r"   Úpandas.core.dtypes.dtypesr#   Úpandas.core.dtypes.missingr$   Úpandas.corer%   r&   Úpandas.core.array_algosr'   Úpandas.core.arraysr(   r±   Úpandas.core.arrays._rangesr)   Úpandas.core.commonÚcoreÚcommonr´   Úpandas.core.ops.commonr*   Úcollections.abcr+   Úpandas._typingr,   r-   r.   r/   r0   r1   rn  r3   r|  rP   ÚTimelikeOpsrR   r—   rŒ  r‹  r�   r¥   rK   rI   ú<module>r³     s   ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð
 Ð Ð Ð ðð ð ð ð ð ð ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð EÐ DÐ DÐ DÐ DÐ Dðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ø +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø =Ð =Ð =Ð =Ð =Ð =Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;àð !Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð Ð Ð Ð Ð à €€€ðð ð ð ð,pð pð pð pð p�S”_ñ pô pð pðr Ø	Ø#*ð	]ð ]ð ]ð ]ð ]ð@%ð %ð %ð %ð %ðP!*ð !*ð !*ð !*ð !*ðHð ð ð ð ð rK   