+
    öÙ†j@	  ã                   óT   € ^ RI HtHt  ! R R4      t ! R R4      t ! R R]4      tR# )	é    )ÚcopysignÚisnanc                   ó&   a € ] tR t^t o R tRtV tR# )ÚExceptionIsLikeMixinc                ó’  € Vf   Vf   R# Vf   V P                  RV 24       Vf   V P                  RV: R24       \        V\        4      '       g]   V P                  VP                  VP                  4       V P                  VP
                  ^ ,          VP
                  ^ ,          4       R# V P                  VP                  VP                  4       V P                  \        VP                  4      \        VP                  4      4       \        VP                  VP                  4       F  w  r4V P                  W44       K  	  R# )zá
Passes when the provided `exc` matches the structure of `template`.
Individual exceptions don't have to be the same objects or even pass
an equality test: they only need to be the same type and contain equal
`exc_obj.args`.
Nzunexpected exception: zexpected an exception like z
, got None)ÚfailÚ
isinstanceÚExceptionGroupÚassertEqualÚ	__class__ÚargsÚmessageÚlenÚ
exceptionsÚzipÚassertExceptionIsLike)ÚselfÚexcÚtemplateÚeÚts   &&&  Ú,/usr/lib/python3.14/test/support/testcase.pyr   Ú*ExceptionIsLikeMixin.assertExceptionIsLike   sø   € ð Š;˜8Ò+ÙàÒØ�I‰IÐ.¨s¨eÐ4Ô5àŠ;Ø�I‰IÐ3°H±<¸zÐJÔKä˜#œ~×.Ò.Ø×Ñ˜SŸ]™]¨H×,>Ñ,>Ô?Ø×Ñ˜SŸX™X a�[¨(¯-©-¸Õ*:Ö;à×Ñ˜SŸ[™[¨(×*:Ñ*:Ô;Ø×ÑœS §¡Ó0´#°h×6IÑ6IÓ2JÔKÜ˜CŸN™N¨H×,?Ñ,?Ö@‘�Ø×*Ñ*¨1Ö0ó Aó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷1ð 1r   r   c                   ó&   a € ] tR t^t o R tRtV tR# )ÚFloatsAreIdenticalMixinc                óB  € Rp\        V4      '       g   \        V4      '       d&   \        V4      '       d   \        V4      '       d   R# M5W8X  d0   VR8w  d   R# \        RV4      \        RV4      8X  d   R# VR,          pV P                  VP                  W4      4       R# )zûFail unless floats x and y are identical, in the sense that:
(1) both x and y are nans, or
(2) both x and y are infinities, with the same sign, or
(3) both x and y are zeros, with the same sign, or
(4) x and y are both finite and nonzero, and x == y

z&floats {!r} and {!r} are not identicalNg        g      ð?z: zeros have different signs)r   r   r   Úformat)r   ÚxÚyÚmsgs   &&& r   ÚassertFloatsAreIdenticalÚ0FloatsAreIdenticalMixin.assertFloatsAreIdentical    sw   € ð 7ˆä��8Š8”u˜Q—x’xÜ�Q�xŠxœE !ŸHšHÙøØŒVØ�CŒxÙä˜#˜qÓ!¤X¨c°1Ó%5Ô5ÙàÐ5Õ5�Ø�	‰	�#—*‘*˜QÓ"Ö#r   r   N)r   r   r   r   r+   r    r!   r"   s   @r   r%   r%      s   ø‡ € ÷$ð $r   r%   c                   ó&   a € ] tR t^8t o R tRtV tR# )ÚComplexesAreIdenticalMixinc                óž   € V P                  VP                  VP                  4       V P                  VP                  VP                  4       R# )z¿Fail unless complex numbers x and y have equal values and signs.

In particular, if x and y both have real (or imaginary) part
zero, but the zeros have different signs, this test will fail.

N)r+   ÚrealÚimag)r   r(   r)   s   &&&r   ÚassertComplexesAreIdenticalÚ6ComplexesAreIdenticalMixin.assertComplexesAreIdentical9   s4   € ð 	×%Ñ% a§f¡f¨a¯f©fÔ5Ø×%Ñ% a§f¡f¨a¯f©fÖ5r   r   N)r   r   r   r   r2   r    r!   r"   s   @r   r.   r.   8   s   ø‡ € ÷6ð 6r   r.   N)Úmathr   r   r   r%   r.   r   r   r   Ú<module>r5      s)   ðß  ÷1ñ 1÷6$ñ $ô2	6Ð!8ö 	6r   