§
    ÜóÉjî  ã                   óÔ   — U d dl mZ d dlmZ d dlZd dlmZ dZej	        e
d<   ej         G d„ d¦  «        ¦   «         Zej        d	ej        d
efd„¦   «         Z ej        e¦  «         dS )é    )ÚFraction)ÚRationalN)ÚlibaviÿÿÿÚ
_INT32_MAXc                   óî   — e Zd ZdZdd„Zej        dej        fd„¦   «         Z	e
d„ ¦   «         Ze
d„ ¦   «         Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z dS )Ú
AVRationalu‚  
    An exact rational number stored as two int32s, mirroring FFmpeg's
    ``AVRational``.

    Values are always reduced to lowest terms with a positive denominator.
    Arithmetic between two :class:`AVRational` uses FFmpeg's ``av_mul_q``
    family: intermediates are computed in int64, then reduced back to int32,
    **approximating** the result if it does not fit. Arithmetic with other
    numeric types promotes to :class:`fractions.Fraction` (exact).

    Following FFmpeg, a zero denominator is allowed: ``1/0``, ``-1/0``
    (infinities) and ``0/0`` (undefined) exist and, like the unset value
    ``AVRational(0, 1)``, are falsy â€” so ``if rate:`` covers every
    not-a-real-value case that used to be ``None``.

    Every PyAV setter that accepts a :class:`fractions.Fraction` (e.g.
    ``stream.time_base``, ``codec_context.framerate``) also accepts an
    :class:`AVRational`.
    r   é   c                 ó(  — |dk    r#t          |t          ¦  «        r|j        |j        }}|}|}t	          j        t          j        |¦  «        t          j        |¦  «        ||t          ¦  «        st          |› d|› d�¦  «        ‚|| _
        || _        d S )Nr	   ú/z" cannot be reduced to fit in int32)Ú
isinstancer   Ú	numeratorÚdenominatorÚlibÚ	av_reduceÚcythonÚaddressr   ÚOverflowErrorÚnumÚden)Úselfr   r   Ún64Úd64ÚnÚds          úp/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/av/rational.pyÚ__init__zAVRational.__init__!   s™   € Ø�!Š8ˆ8�
 3­Ñ1Ô1ˆ8Ø”} c¤o�ˆCØ"ˆØ"ˆõ Œ}ÝŒN˜1ÑÔ�vœ~¨aÑ0Ô0°#°s½Jñ
ô 
ð 	Rõ   3Ð PÐ P¨Ð PÐ PÐ PÑQÔQÐQØˆŒØˆŒˆˆó    Úreturnc                 ó6   — | j         |_         | j        |_        |S ©N©r   r   )r   Úqs     r   Ú_qzAVRational._q/   s   € ð ”ˆŒØ”ˆŒØˆr   c                 ó   — | j         S r    )r   ©r   s    r   r   zAVRational.numerator6   ó	   € àŒxˆr   c                 ó   — | j         S r    )r   r%   s    r   r   zAVRational.denominator:   r&   r   c                 ó(   — d| j         › d| j        › d�S )NzAVRational(z, ú)r!   r%   s    r   Ú__repr__zAVRational.__repr__>   s   € Ø4˜TœXÐ4Ð4¨¬Ð4Ð4Ð4Ð4r   c                 ó$   — | j         › d| j        › �S )Nr   r!   r%   s    r   Ú__str__zAVRational.__str__A   s   € Ø”(Ð'Ð'˜TœXÐ'Ð'Ð'r   c                 ó.   — | j         dk    o
| j        dk    S ©Nr   r!   r%   s    r   Ú__bool__zAVRational.__bool__D   s   € ØŒx˜1Š}Ð. ¤¨Q¢Ð.r   c                 ó˜   — | j         dk    r1| j        dk    rt          d¦  «        n| j        t          d¦  «        z  S | j        | j         z  S )Nr   ÚnanÚinf)r   r   Úfloatr%   s    r   Ú	__float__zAVRational.__float__G   sC   € ØŒ8�qŠ=ˆ=Ø#'¤8¨q¢= =•5˜‘<”<�<°d´hÅÀuÁÄÑ6MÐMØŒx˜$œ(Ñ"Ð"r   c                 ó’   — | j         dk    rt          | j        df¦  «        S t          t          | j        | j         ¦  «        ¦  «        S r.   )r   Úhashr   r   r%   s    r   Ú__hash__zAVRational.__hash__L   s=   € ØŒ8�qŠ=ˆ=Ý˜œ 1˜Ñ&Ô&Ð&Ý•H˜TœX t¤xÑ0Ô0Ñ1Ô1Ð1r   c                 ó,   — t           | j        | j        ffS r    ©r   r   r   r%   s    r   Ú
__reduce__zAVRational.__reduce__Q   s   € Ý˜TœX t¤xÐ0Ð1Ð1r   c                 óÆ   — t          |t          ¦  «        r"|}| j        |j        k    o| j        |j        k    S | j        dk    rdS t	          | j        | j        ¦  «        |k    S )Nr   F)r   r   r   r   r   ©r   ÚotherÚos      r   Ú__eq__zAVRational.__eq__T   s_   € Ý�e�ZÑ(Ô(ð 	;Ø!ˆAØ”8˜qœuÒ$Ð:¨¬°Q´UÒ):Ð:ØŒ8�qŠ=ˆ=Ø�5Ý˜œ $¤(Ñ+Ô+¨uÒ4Ð4r   c                 ó>   — t          | j        | j        ¦  «        |k     S r    ©r   r   r   ©r   r=   s     r   Ú__lt__zAVRational.__lt__\   ó   € Ý˜œ $¤(Ñ+Ô+¨eÒ3Ð3r   c                 ó>   — t          | j        | j        ¦  «        |k    S r    rA   rB   s     r   Ú__le__zAVRational.__le___   ó   € Ý˜œ $¤(Ñ+Ô+¨uÒ4Ð4r   c                 ó>   — t          | j        | j        ¦  «        |k    S r    rA   rB   s     r   Ú__gt__zAVRational.__gt__b   rD   r   c                 ó>   — t          | j        | j        ¦  «        |k    S r    rA   rB   s     r   Ú__ge__zAVRational.__ge__e   rG   r   c                 ó8   — t          | j         | j        ¦  «        S r    r9   r%   s    r   Ú__neg__zAVRational.__neg__h   s   € Ý˜4œ8˜) T¤XÑ.Ô.Ð.r   c                 óö   — t          |t          ¦  «        rH|}t          t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        S t          | j        | j        ¦  «        |z  S r    )	r   r   Úfrom_avrationalr   Úav_mul_qr#   r   r   r   r<   s      r   Ú__mul__zAVRational.__mul__k   ó]   € Ý�e�ZÑ(Ô(ð 	DØ!ˆAÝ"¥3¤<°·²±	´	¸1¿4º4¹6¼6Ñ#BÔ#BÑCÔCÐCÝ˜œ $¤(Ñ+Ô+¨eÑ3Ð3r   c                 ó<   — |t          | j        | j        ¦  «        z  S r    rA   rB   s     r   Ú__rmul__zAVRational.__rmul__q   ó   € Ø•x ¤¨$¬(Ñ3Ô3Ñ3Ð3r   c                 ó4  — t          |t          ¦  «        rg|}|j        dk    rt          | › d|› �¦  «        ‚t	          t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        S t          | j        | j	        ¦  «        |z  S )Nr   z / )
r   r   r   ÚZeroDivisionErrorrO   r   Úav_div_qr#   r   r   r<   s      r   Ú__truediv__zAVRational.__truediv__t   s„   € Ý�e�ZÑ(Ô(ð 	DØ!ˆAØŒu˜ŠzˆzÝ'¨4Ð(;Ð(;°EÐ(;Ð(;Ñ<Ô<Ð<Ý"¥3¤<°·²±	´	¸1¿4º4¹6¼6Ñ#BÔ#BÑCÔCÐCÝ˜œ $¤(Ñ+Ô+¨eÑ3Ð3r   c                 ó<   — |t          | j        | j        ¦  «        z  S r    rA   rB   s     r   Ú__rtruediv__zAVRational.__rtruediv__|   rU   r   c                 óö   — t          |t          ¦  «        rH|}t          t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        S t          | j        | j        ¦  «        |z   S r    )	r   r   rO   r   Úav_add_qr#   r   r   r   r<   s      r   Ú__add__zAVRational.__add__   rR   r   c                 ó<   — |t          | j        | j        ¦  «        z   S r    rA   rB   s     r   Ú__radd__zAVRational.__radd__…   rU   r   c                 óö   — t          |t          ¦  «        rH|}t          t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        S t          | j        | j        ¦  «        |z
  S r    )	r   r   rO   r   Úav_sub_qr#   r   r   r   r<   s      r   Ú__sub__zAVRational.__sub__ˆ   rR   r   c                 ó<   — |t          | j        | j        ¦  «        z
  S r    rA   rB   s     r   Ú__rsub__zAVRational.__rsub__Ž   rU   r   N)r   r	   )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úcfuncr   r   r#   Úpropertyr   r   r*   r,   r/   r4   r7   r:   r?   rC   rF   rI   rK   rM   rQ   rT   rY   r[   r^   r`   rc   re   © r   r   r   r      s¿  € € € € € ðð ð(ð ð ð ð „\ð�C”Nð ð ð ñ „\ðð ðð ñ „Xðð ðð ñ „Xðð5ð 5ð 5ð(ð (ð (ð/ð /ð /ð#ð #ð #ð
2ð 2ð 2ð
2ð 2ð 2ð5ð 5ð 5ð4ð 4ð 4ð5ð 5ð 5ð4ð 4ð 4ð5ð 5ð 5ð/ð /ð /ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4ð 4ð 4r   r   r"   r   c                 óî   — t                                t           ¦  «        }t          j        t	          j        |j        ¦  «        t	          j        |j        ¦  «        | j        | j        t          ¦  «         |S r    )	r   Ú__new__r   r   r   r   r   r   r   )r"   Úobjs     r   rO   rO   ’   sW   € å ×(Ò(­Ñ4Ô4€Cå„MÝŒ�s”wÑÔ¥¤°´Ñ!8Ô!8¸!¼%ÀÄÍ
ñô ð ð €Jr   )Ú	fractionsr   Únumbersr   r   Úcython.cimportsr   r   r   ÚlonglongÚ__annotations__Úcclassr   rj   rO   Úregisterrl   r   r   ú<module>rw      så   ðà Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø (Ð (Ð (Ð (Ð (Ð (à(€
ˆFŒOÐ (Ð (Ñ (ð „ðC4ð C4ð C4ð C4ð C4ñ C4ô C4ñ „ðC4ðL „ð�s”~ð ¨*ð ð ð ñ „ðð €Ô �*Ñ Ô Ð Ð Ð r   