Ë
    ¨eh~  ã                   ó8   — d Z ddlZddlZddlmZ  G d„ d«      Zy)zDuration module.é    N)Ú_apic                   óÆ  — e Zd ZdZddgZd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Z ej                  eej                  «      Z ej                  eej"                  «      Z ej                  eej&                  «      Z ej                  eej*                  «      Z ej                  eej.                  «      Z ej                  eej2                  «      Zd„ Zd„ Zd„ ZeZd„ Zd„ Z d„ Z!y)ÚDurationzClass Duration in development.ÚETÚUTCc                 ób   — t        j                  | j                  |¬«       || _        || _        y)a3  
        Create a new Duration object.

        = ERROR CONDITIONS
        - If the input frame is not in the allowed list, an error is thrown.

        = INPUT VARIABLES
        - frame     The frame of the duration.  Must be 'ET' or 'UTC'
        - seconds  The number of seconds in the Duration.
        )ÚframeN)r   Úcheck_in_listÚallowedÚ_frameÚ_seconds)Úselfr	   Úsecondss      úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/testing/jpl_units/Duration.pyÚ__init__zDuration.__init__   s&   € ô 	×Ñ˜4Ÿ<™<¨uÕ5ØˆŒØˆ�ó    c                 ó   — | j                   S )z$Return the frame the duration is in.)r   ©r   s    r   r	   zDuration.frame   s   € à�{‰{Ðr   c                 óT   — t        | j                  t        | j                  «      «      S )z*Return the absolute value of the duration.)r   r   Úabsr   r   s    r   Ú__abs__zDuration.__abs__!   s   € ä˜Ÿ™¤S¨¯©Ó%7Ó8Ð8r   c                 óD   — t        | j                  | j                   «      S )z+Return the negative value of this Duration.)r   r   r   r   s    r   Ú__neg__zDuration.__neg__%   s   € ä˜Ÿ™ d§m¡m ^Ó4Ð4r   c                 ó   — | j                   S )z-Return the number of seconds in the Duration.©r   r   s    r   r   zDuration.seconds)   s   € à�}‰}Ðr   c                 ó    — | j                   dk7  S )Nr   r   r   s    r   Ú__bool__zDuration.__bool__-   s   € Ø�}‰} Ñ!Ð!r   c                 ó`   — | j                  |d«        || j                  |j                  «      S )zT
        Check that *self* and *rhs* share frames; compare them using *op*.
        Úcompare)ÚcheckSameFramer   )r   ÚopÚrhss      r   Ú_cmpzDuration._cmp0   s)   € ð 	×Ñ˜C Ô+Ù�$—-‘- §¡Ó.Ð.r   c                 óÈ   — ddl mc m} t        ||j                  «      r|| z   S | j                  |d«       t        | j                  | j                  |j                  z   «      S )a"  
        Add two Durations.

        = ERROR CONDITIONS
        - If the input rhs is not in the same frame, an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to add.

        = RETURN VALUE
        - Returns the sum of ourselves and the input Duration.
        r   NÚadd)	Úmatplotlib.testing.jpl_unitsÚtestingÚ	jpl_unitsÚ
isinstanceÚEpochr    r   r   r   )r   r"   ÚUs      r   Ú__add__zDuration.__add__>   sP   € ÷ 	1Ð0ä�c˜1Ÿ7™7Ô#Ø˜‘:Ðà×Ñ˜C Ô'Ü˜Ÿ™ T§]¡]°S·\±\Ñ%AÓBÐBr   c                 ó€   — | j                  |d«       t        | j                  | j                  |j                  z
  «      S )a3  
        Subtract two Durations.

        = ERROR CONDITIONS
        - If the input rhs is not in the same frame, an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to subtract.

        = RETURN VALUE
        - Returns the difference of ourselves and the input Duration.
        Úsub)r    r   r   r   ©r   r"   s     r   Ú__sub__zDuration.__sub__T   s2   € ð 	×Ñ˜C Ô'Ü˜Ÿ™ T§]¡]°S·\±\Ñ%AÓBÐBr   c                 óZ   — t        | j                  | j                  t        |«      z  «      S )z´
        Scale a UnitDbl by a value.

        = INPUT VARIABLES
        - rhs     The scalar to multiply by.

        = RETURN VALUE
        - Returns the scaled Duration.
        )r   r   r   Úfloatr/   s     r   Ú__mul__zDuration.__mul__d   s"   € ô ˜Ÿ™ T§]¡]´U¸3³ZÑ%?Ó@Ð@r   c                 ó:   — | j                   d›d| j                  › �S )úPrint the Duration.Úgú )r   r   r   s    r   Ú__str__zDuration.__str__r   s   € à—-‘- Ð" ! D§K¡K =Ð1Ð1r   c                 ó>   — d| j                   › d| j                  d›d�S )r5   z
Duration('z', r6   ú))r   r   r   s    r   Ú__repr__zDuration.__repr__v   s"   € à˜DŸK™K˜=¨¨D¯M©M¸!Ð+<¸AÐ>Ð>r   c                 ó†   — | j                   |j                   k7  r(t        d|› d| j                   › d|j                   › �«      ‚y)aK  
        Check to see if frames are the same.

        = ERROR CONDITIONS
        - If the frame of the rhs Duration is not the same as our frame,
          an error is thrown.

        = INPUT VARIABLES
        - rhs     The Duration to check for the same frame
        - func    The name of the function doing the check.
        zCannot z' Durations with different frames.
LHS: z
RHS: N)r   Ú
ValueError)r   r"   Úfuncs      r   r    zDuration.checkSameFramez   sN   € ð �;‰;˜#Ÿ*™*Ò$ÜØ˜$˜ð  ØŸ™�}ð %ØŸ
™
�|ð%ó&ð &ð %r   N)"Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r   r   r   r   r#   Ú	functoolsÚpartialmethodÚoperatorÚeqÚ__eq__ÚneÚ__ne__ÚltÚ__lt__ÚleÚ__le__ÚgtÚ__gt__ÚgeÚ__ge__r,   r0   r3   Ú__rmul__r8   r;   r    © r   r   r   r   	   së   „ Ù(à�Uˆm€Gò òò9ò5òò"ò/ð %ˆY×$Ñ$ T¨8¯;©;Ó7€FØ$ˆY×$Ñ$ T¨8¯;©;Ó7€FØ$ˆY×$Ñ$ T¨8¯;©;Ó7€FØ$ˆY×$Ñ$ T¨8¯;©;Ó7€FØ$ˆY×$Ñ$ T¨8¯;©;Ó7€FØ$ˆY×$Ñ$ T¨8¯;©;Ó7€FòCò,Cò 
Að €Hò2ò?ó&r   r   )rB   rC   rE   Ú
matplotlibr   r   rS   r   r   ú<module>rU      s   ðÙ ã Û å ÷A&ò A&r   