§
    ƒÛg�\  ã                   óž  — d dl Z d dlZd dlmZ d dlZd dl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 d dlmZmZmZmZmZmZmZ  G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ dee¦  «        Z" G d„ de¦  «        Z#e G d„ de¦  «        ¦   «         Z$e%dk    r ej&        ¦   «          dS dS )é    N)Úproduct)ÚnjitÚtypedÚobjmodeÚprange)Ú	PYVERSION)Úir_utilsÚir)ÚUnsupportedErrorÚCompilerErrorÚNumbaPerformanceWarningÚTypingError)ÚTestCaseÚunittestÚcaptured_stdoutÚMemoryLeakMixinÚskip_parfors_unsupportedÚskip_unless_scipyÚexpected_failure_py311c                   ó   — e Zd ZdS )ÚMyErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úQ/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_try_except.pyr   r      s   € € € € € Ø€Dr   r   c                   ó|   — e 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ed„ ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestTryBareExceptzhTest the following pattern:

        try:
            <body>
        except:
            <handling>
    c                 óÈ   ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )Nc                 ó   — | rt           ‚d S ©N©r   ©Úxs    r   Úinnerz5TestTryBareExcept.test_try_inner_raise.<locals>.inner    s   € àð Ý�ðð r   c                 ó0   •— 	  ‰| ¦  «         dS #  Y dS xY w)Nú
not raisedÚcaughtr   )r%   r&   s    €r   Úudtz3TestTryBareExcept.test_try_inner_raise.<locals>.udt%   s*   ø€ ð Ø��a‘”�Ø#�|øð Ø�x�xøøøs   ƒ �Fr(   Tr)   ©r   ÚassertEqual)Úselfr*   r&   s     @r   Útest_try_inner_raisez&TestTryBareExcept.test_try_inner_raise   s…   ø€ Ý	ð	ð 	ñ 
Œð	õ 
ð	 ð 	 ð 	 ð 	 ñ 
Œð	 ð 	×Ò˜˜˜U™œ \Ñ2Ô2Ð2Ø×Ò˜˜˜T™œ HÑ-Ô-Ð-Ð-Ð-r   c                 ó’  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t	          |j        ¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )	Nc                 óZ   — | dk    rt          d¦  «        ‚| dk    rt          d¦  «        ‚d S )Né   Úoneé   Útwor#   r$   s    r   r&   z5TestTryBareExcept.test_try_state_reset.<locals>.inner1   s3   € à�AŠvˆvÝ˜e‘n”nÐ$Ø�a’�Ý˜e‘n”nÐ$ð �r   c                 óZ   •— 	  ‰| ¦  «         d}n	#  d}Y nxY w| dk    r ‰d¦  «         |S )Nr(   r)   r   r3   r   )r%   Úresr&   s     €r   r*   z3TestTryBareExcept.test_try_state_reset.<locals>.udt8   sI   ø€ ðØ��a‘”�Ø"��øðØ���øøøØ�AŠvˆvØ��a‘”�ØˆJs   ƒ ‘r   r4   r1   r)   éÿÿÿÿr(   )r   ÚassertRaisesr   r,   ÚstrÚ	exception)r-   r*   Úraisesr&   s      @r   Útest_try_state_resetz&TestTryBareExcept.test_try_state_reset0   s  ø€ Ý	ð	%ð 	%ñ 
Œð	%õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�wÑ'Ô'ð 	¨6ØˆC�‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜VÔ-Ñ.Ô.°Ñ6Ô6Ð6Ø×Ò˜˜˜Q™œ Ñ*Ô*Ð*Ø×Ò˜˜˜R™œ ,Ñ/Ô/Ð/Ð/Ð/s   ¾AÁAÁAc                 ó&   — t           d„ ¦   «         }|S )Nc                 óü   — | dk    rt          d¦  «         t          d¦  «        ‚| dk    rt          d¦  «         t          d¦  «        ‚| dk    rt          d¦  «         t          d	¦  «        ‚t          d
¦  «         d S )Nr1   Úcall_oner2   r3   Úcall_twor4   é   Ú
call_threeÚthreeÚ
call_other©Úprintr   r$   s    r   r&   z-TestTryBareExcept._multi_inner.<locals>.innerJ   s�   € à�AŠvˆvÝ�jÑ!Ô!Ð!Ý˜e‘n”nÐ$Ø�a’�Ý�jÑ!Ô!Ð!Ý˜e‘n”nÐ$Ø�a’�Ý�lÑ#Ô#Ð#Ý˜gÑ&Ô&Ð&å�lÑ#Ô#Ð#Ð#Ð#r   )r   )r-   r&   s     r   Ú_multi_innerzTestTryBareExcept._multi_innerI   s"   € Ý	ð	$ð 	$ñ 
Œð	$ð ˆr   c                 ó¢  ‡— |                       ¦   «         Št          ˆfd„¦   «         }|                      t          ¦  «        5 }t	          ¦   «         5 } |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         |                      t          |j	        ¦  «        d¦  «         t	          ¦   «         5 } |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         t	          ¦   «         5 } |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d	¢¦  «         d S )
Nc                 ó"  •— 	 	 t          d¦  «          ‰| ¦  «         t          d¦  «         d S #  t          d¦  «          ‰|¦  «         t          d¦  «         Y d S xY w#  t          d¦  «          ‰|¦  «         t          d¦  «         Y d S xY w)NÚAÚBÚCÚDÚEÚF)rF   )r%   ÚyÚzr&   s      €r   r*   z.TestTryBareExcept.test_nested_try.<locals>.udt]   s˜   ø€ ððÝ˜#‘J”J�JØ�E˜!‘H”H�HÝ˜#‘J”J�J�J�JøðÝ˜#‘J”J�JØ�E˜!‘H”H�HÝ˜#‘J”J�J�J�J�JøøøøðÝ�c‘
”
�
Ø��a‘”�Ý�c‘
”
�
�
�
�
øøøs   „)/ ¯+AÁA  ÁA  Á +Br1   r3   rA   )rJ   r?   rL   r@   rN   rB   rC   r   )rJ   r?   rL   rD   rM   )rJ   r?   rL   r@   rN   rD   rO   )
rG   r   r8   r   r   r,   ÚgetvalueÚsplitr9   r:   )r-   r*   r;   Ústdoutr&   s       @r   Útest_nested_tryz!TestTryBareExcept.test_nested_tryZ   sÍ  ø€ Ø×!Ò!Ñ#Ô#ˆå	ð	ð 	ð 	ð 	ñ 
Œð	ð  ×Ò�wÑ'Ô'ð 	¨6Ý Ñ"Ô"ð  fØ��A�q˜!‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØAÐAÐAñ	
ô 	
ð 	
ð 	×Ò�˜VÔ-Ñ.Ô.°Ñ8Ô8Ð8õ ÑÔð 	 &ØˆC��1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø5Ð5Ð5ñ	
ô 	
ð 	
õ ÑÔð 	 &ØˆC��1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØFÐFÐFñ	
ô 	
ð 	
ð 	
ð 	
sZ   ÁBÁA+ÁBÁ+A/	Á/BÁ2A/	Á3BÂBÂ	BÃ?DÄDÄ DÅ.FÆFÆFc                 ól  ‡— |                       ¦   «         Št          ˆfd„¦   «         }t          ¦   «         5 } |dd¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         |                      |d¦  «         t          ¦   «         5 } |dd¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         |                      |d¦  «         t          ¦   «         5 } |dd¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         |                      |d	¦  «         d S )
Nc                 óº   •— 	 t          d¦  «         t          |¦  «        D ]"}t          |¦  «         || k    r ‰|¦  «         Œ#n#  t          d¦  «         Y nxY w|S )NrJ   rK   )rF   Úrange)r%   ÚnÚir&   s      €r   r*   z/TestTryBareExcept.test_loop_in_try.<locals>.udtŠ   sl   ø€ ðÝ�c‘
”
�
Ý˜q™œð !ð !�AÝ˜!‘H”H�HØ˜A’v�vØ˜˜a™œ˜øð!øðÝ�c‘
”
�
�
�
øøøØˆHs   ƒAA ÁArA   é   )rJ   Ú0Ú1Ú2Ú3rB   rK   r1   )rJ   r\   r]   r?   rK   r   )rJ   r\   rD   r]   r^   r3   )rG   r   r   r,   rR   rS   )r-   r*   rT   r6   r&   s       @r   Útest_loop_in_tryz"TestTryBareExcept.test_loop_in_try‡   s€  ø€ Ø×!Ò!Ñ#Ô#ˆå	ð		ð 		ð 		ð 		ñ 
Œð		õ ÑÔð 	 &Ø�#�a˜‘)”)ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø8Ð8Ð8ñ	
ô 	
ð 	
ð 	×Ò˜˜aÑ Ô Ð õ ÑÔð 	 &Ø�#�a˜‘)”)ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø,Ð,Ð,ñ	
ô 	
ð 	
ð 	×Ò˜˜aÑ Ô Ð õ ÑÔð 	 &Ø�#�a˜‘)”)ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø.Ð.Ð.ñ	
ô 	
ð 	
ð 	×Ò˜˜aÑ Ô Ð Ð Ð s5   ¶AÁAÁAÂ:CÃCÃCÄ>EÅEÅEc                 ó2  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         ddg¦  «         |                      |d¦  «         t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         ddg¦  «         |                      |d¦  «         d S )	Nc                 ó–   — 	 t          d¦  «         | rt          d¦  «        ‚t          d¦  «         n#  t          d¦  «         Y dS xY wdS )NrJ   Úmy_errorrK   rL   éA  é{   rE   r$   s    r   r*   z0TestTryBareExcept.test_raise_in_try.<locals>.udt²   sU   € ðÝ�c‘
”
�
Øð .Ý! *Ñ-Ô-Ð-Ý�c‘
”
�
�
øðÝ�c‘
”
�
Ø�s�søøøØ�3s	   ‚/2 ²ATrJ   rL   rd   FrK   re   ©r   r   r,   rR   rS   ©r-   r*   rT   r6   s       r   Útest_raise_in_tryz#TestTryBareExcept.test_raise_in_try±   sŸ  € Ý	ð		ð 		ñ 
Œð		õ ÑÔð 	 &Ø�#�d‘)”)ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø�#ˆJñ	
ô 	
ð 	
ð 	×Ò˜˜cÑ"Ô"Ð"õ ÑÔð 	 &Ø�#�e‘*”*ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø�#ˆJñ	
ô 	
ð 	
ð 	×Ò˜˜cÑ"Ô"Ð"Ð"Ð"ó   Ÿ7·;¾;Â"B:Â:B>ÃB>c                 ó.  ‡— t           ˆfd„¦   «         Št          ¦   «         5 } ‰d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         |                      |                     ¦   «                              ¦   «         dg¦  «         d S )Nc                 óŒ   •— | dk    r'	  ‰| dz
  ¦  «         n#  t          d¦  «         Y dS xY w| dk    rt          d¦  «        ‚d S )Nr   r1   ÚCAUGHTé   r:   )rF   Ú
ValueError)r%   Úfoos    €r   ro   z-TestTryBareExcept.test_recursion.<locals>.fooÓ   s]   ø€ à�1ŠuˆuðØ�C˜˜A™‘J”J�J�JøðÝ˜(‘O”O�OØ˜2˜2øøøØ�AŠvˆvÝ  Ñ-Ô-Ð-ð ˆvs   ‰ ˜,é
   rl   )r   r   ÚassertIsNoner,   rR   rS   )r-   rT   r6   ro   s      @r   Útest_recursionz TestTryBareExcept.test_recursionÒ   sÝ   ø€ Ý	ð	.ð 	.ð 	.ð 	.ñ 
Œð	.õ ÑÔð 	 &Ø�#�b‘'”'ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜#ÑÔÐØ×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°X°KÑAÔAÐAÐAÐAs   ¢:º>Á>c                 óN  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |d¦  «         |                      |                     ¦   «                              ¦   «         g ¦  «         d S )Nc              3   ó~   K  — | dk    r4	 dV — t          d¦  «        ‚# t          $ r t          d¦  «         Y d S w xY wd S )Nr   é   r:   rl   )rn   Ú	ExceptionrF   r$   s    r   ro   z)TestTryBareExcept.test_yield.<locals>.fooå   s^   è è € à�1Šuˆuð$Ø�G�G�GÝ$ [Ñ1Ô1Ð1øÝ ð $ð $ð $Ý˜(‘O”O�O�O�O�Oð$øøøð	 ˆus   Š �:¹:c                 ó4   •— t           ‰| ¦  «        ¦  «        S r"   )Únext)rQ   ro   s    €r   Úbarz)TestTryBareExcept.test_yield.<locals>.barî   s   ø€ å˜˜˜A™œ‘<”<Ðr   rp   ru   rf   )r-   ry   rT   r6   ro   s       @r   Ú
test_yieldzTestTryBareExcept.test_yieldä   sø   ø€ Ý	ð	$ð 	$ñ 
Œð	$õ 
ð	 ð 	 ð 	 ð 	 ñ 
Œð	 õ ÑÔð 	 &Ø�#�b‘'”'ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜˜aÑ Ô Ð Ø×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°BÑ7Ô7Ð7Ð7Ð7s   ²A
Á
AÁAc                 óþ   — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         dg¦  «         d S )Nc                 ó    — d„ } |¦   «          d S )Nc                  óP   — 	 t          d¦  «        ‚#  t          d¦  «         Y dS xY w)Nr:   rl   rm   ©rn   rF   r   r   r   ry   z9TestTryBareExcept.test_closure2.<locals>.foo.<locals>.barû   s0   € ðÝ$ [Ñ1Ô1Ð1øðÝ˜(‘O”O�OØ˜2˜2øøøs   ‚ ‘%r   ©r%   ry   s     r   ro   z,TestTryBareExcept.test_closure2.<locals>.fooù   s"   € ðð ð ð ˆC‰EŒEˆEˆEˆEr   rp   rl   rf   ©r-   ro   rT   s      r   Útest_closure2zTestTryBareExcept.test_closure2ø   s¾   € Ý	ð	ð 	ñ 
Œð	õ ÑÔð 	 &ØˆC�‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°X°KÑAÔAÐAÐAÐAó   Ÿ7·;¾;c                 ó4  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |g d¢¦  «         |                      |                     ¦   «                              ¦   «         dgdz  ¦  «         d S )Nc                 ó@   — d„ }d„ t          |g d¢¦  «        D ¦   «         S )Nc                 óR   — 	 t          d¦  «        ‚#  t          d¦  «         | cY S xY w)Nr:   rl   r~   ©rQ   s    r   ry   z9TestTryBareExcept.test_closure3.<locals>.foo.<locals>.bar  s2   € ðÝ$ [Ñ1Ô1Ð1øðÝ˜(‘O”O�OØ�H�H�Høøøs   ‚ ‘&c                 ó   — g | ]}|‘ŒS r   r   ©Ú.0r%   s     r   ú
<listcomp>z@TestTryBareExcept.test_closure3.<locals>.foo.<locals>.<listcomp>  s   € Ð3Ð3Ð3˜!�AÐ3Ð3Ð3r   ©r1   r3   rA   )Úmapr   s     r   ro   z,TestTryBareExcept.test_closure3.<locals>.foo	  s5   € ðð ð ð 4Ð3�s 3¨	¨	¨	Ñ2Ô2Ð3Ñ3Ô3Ð3r   rp   r‹   rl   rA   rf   ©r-   ro   rT   r6   s       r   Útest_closure3zTestTryBareExcept.test_closure3  sÜ   € Ý	ð	4ð 	4ñ 
Œð	4õ ÑÔð 	 &Ø�#�b‘'”'ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜˜i˜i˜iÑ(Ô(Ð(Ø×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°X°KÀ!±OÑEÔEÐEÐEÐEr‚   c                 ó  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         d¦  «         |                      |¦  «         t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         d¦  «         |                      |g d¢¦  «         d S )Nc                 ót   — d„ }	 d„ t          |ddd| g¦  «        D ¦   «         S #  t          d¦  «         Y d S xY w)Nc                 ó0   — | dk     rt          d¦  «        ‚| S )Nr   r:   ©rn   r†   s    r   ry   z9TestTryBareExcept.test_closure4.<locals>.foo.<locals>.bar  s   € Ø�q’5�5Ý$ [Ñ1Ô1Ð1Ø�r   c                 ó   — g | ]}|‘ŒS r   r   rˆ   s     r   rŠ   z@TestTryBareExcept.test_closure4.<locals>.foo.<locals>.<listcomp>"  s   € Ð:Ð:Ð:˜a˜Ð:Ð:Ð:r   r1   r3   rA   rl   )rŒ   rF   r   s     r   ro   z,TestTryBareExcept.test_closure4.<locals>.foo  sV   € ðð ð ð
 Ø:Ð:¥3 s¨Q°°1°a¨LÑ#9Ô#9Ð:Ñ:Ô:Ð:øð Ý�h‘”����øøøs   …# £7r7   rl   é   Ú )r1   r3   rA   r”   )r   r   r,   rR   Ústriprq   r�   s       r   Útest_closure4zTestTryBareExcept.test_closure4  su  € Ý	ð		 ð 		 ñ 
Œð		 õ ÑÔð 	 &Ø�#�b‘'”'ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°HÑ=Ô=Ð=Ø×Ò˜#ÑÔÐåÑÔð 	 &Ø�#�a‘&”&ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò˜ŸšÑ*Ô*¨BÑ/Ô/Ð/Ø×Ò˜˜l˜l˜lÑ+Ô+Ð+Ð+Ð+s   Ÿ7·;¾;ÂB7Â7B;Â>B;c                 óü   — t           d„ ¦   «         }t          ¦   «         5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         dg¦  «         d S )Nc                  óž   — t          j        d¦  «        } 	 t           j                             | ¦  «        }d S #  t	          d¦  «         |cY S xY w)N)r”   r”   rl   )ÚnpÚzerosÚlinalgÚcholeskyrF   )ÚaÚchols     r   ro   z0TestTryBareExcept.test_real_problem.<locals>.foo3  sL   € å”˜Ñ Ô ˆAðÝ”y×)Ò)¨!Ñ,Ô,���øðÝ�h‘”�Ø���øøøs	   –7 ·Arl   rf   r€   s      r   Útest_real_problemz#TestTryBareExcept.test_real_problem1  s¼   € å	ð	ð 	ñ 
Œð	õ ÑÔð 	 &ØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ŸšÑ*Ô*×0Ò0Ñ2Ô2°X°KÑ@Ô@Ð@Ð@Ð@s   Ÿ6¶:½:c           	      ó:  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         dgdz  d„ t          dd¦  «        D ¦   «         z   ¦  «         d S )Nc                 ó.  — t          | ¦  «        D ]&}	 |dk    rt          ‚Œ#  t          d¦  «         Y Œ$xY w	 	 	 |dk    rt          ‚n#  t          d¦  «         t          ‚xY wd S #  t          d¦  «         t          ‚xY w#  t          d¦  «         Y d S xY w)Nr[   rl   ÚCAUGHT1ÚCAUGHT2ÚCAUGHT3)rX   rn   rF   )rY   rZ   s     r   ro   z,TestTryBareExcept.test_for_loop.<locals>.fooB  sÎ   € õ ˜1‘X”Xð %ð %�ð$Ø˜1’u�uÝ(Ð(ð øð$Ý˜(‘O”O�O�O�Oøøøð%ð	)ð-Ø  1šu˜uÝ&0Ð 0ð  %øð-Ý! )Ñ,Ô,Ð,Ý",Ð,øøøð	  %˜uøð
)Ý˜iÑ(Ô(Ð(Ý(Ð(øøøøð%Ý˜)Ñ$Ô$Ð$Ð$Ð$Ð$øøøs1   “!¡4ºA ÁA% ÁA Á A% Á%A=Á=B  Â Brp   rl   r”   c                 ó   — g | ]}d |z  ‘ŒS )zCAUGHT%sr   )r‰   rZ   s     r   rŠ   z3TestTryBareExcept.test_for_loop.<locals>.<listcomp>_  s   € ÐCÐCÐC°!˜z¨A™~ÐCÐCÐCr   r1   )r   r   r,   rR   rS   rX   r€   s      r   Útest_for_loopzTestTryBareExcept.test_for_loopA  sê   € Ý	ð	%ð 	%ñ 
Œð	%õ. ÑÔð 	 &ØˆC�‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØˆK˜!‰OÐCÐCµu¸QÀ±{´{ÐCÑCÔCÑCñ	
ô 	
ð 	
ð 	
ð 	
r‚   c                 óh   — t           d„ ¦   «         } |d¦  «        }|                      |d¦  «         d S )Nc                 ó   — 	 n#  Y nxY w| S r"   r   r$   s    r   ro   z,TestTryBareExcept.test_try_pass.<locals>.fooc  s   € ðØøðØ�øøøØˆHs   ƒre   r+   )r-   ro   r6   s      r   Útest_try_passzTestTryBareExcept.test_try_passb  sF   € Ý	ð	ð 	ñ 
Œð	ð ˆc�#‰hŒhˆØ×Ò˜˜cÑ"Ô"Ð"Ð"Ð"r   c                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nc                  ó.   — 	 t          d¦  «        ‚#  ‚ xY w©NÚERRORr’   r   r   r   r*   z6TestTryBareExcept.test_try_except_reraise.<locals>.udto  s!   € ðÝ  Ñ)Ô)Ð)øðØøøøs   ‚ ‘ú4The re-raising of an exception is not yet supported.©r   r8   r   ÚassertInr9   r:   ©r-   r*   r;   s      r   Útest_try_except_reraisez)TestTryBareExcept.test_try_except_reraisen  óÀ   € Ý	ð	ð 	ñ 
Œð	ð ×ÒÕ/Ñ0Ô0ð 	°FØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØBÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
ó   «AÁAÁ	AN)r   r   r   Ú__doc__r.   r<   rG   rU   r`   rh   rr   rz   r�   rŽ   r—   r   r    r§   rª   r³   r   r   r   r   r      s  € € € € € ðð ð.ð .ð .ð"0ð 0ð 0ð2ð ð ð"+
ð +
ð +
ðZ(!ð (!ð (!ðT#ð #ð #ðBBð Bð Bð$8ð 8ð 8ð(Bð Bð Bð Fð Fð Fð",ð ,ð ,ð0 ðAð Añ ÔðAð
ð 
ð 
ðB
#ð 
#ð 
#ð
ð 
ð 
ð 
ð 
r   r   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestTryExceptCaughtc                 óÚ  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         t          ¦   «         5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         d S )Nc                 óÄ   — 	 t          d¦  «         | rt          d¦  «        ‚t          d¦  «         n# t          $ r t          d¦  «         Y nw xY wt          d¦  «         d S )NrJ   Ú321rK   rL   rM   ©rF   ÚZeroDivisionErrorrv   r$   s    r   r*   z5TestTryExceptCaught.test_catch_exception.<locals>.udt€  sn   € ðÝ�c‘
”
�
Øð 3Ý+¨EÑ2Ô2Ð2Ý�c‘
”
�
�
øÝð ð ð Ý�c‘
”
�
�
�
ðøøøå�#‰JŒJˆJˆJˆJs   ‚/2 ²AÁAT)rJ   rL   rM   F©rJ   rK   rM   rf   )r-   r*   rT   s      r   Útest_catch_exceptionz(TestTryExceptCaught.test_catch_exception  ss  € Ý	ð	ð 	ñ 
Œð	õ ÑÔð 	 &ØˆC�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØˆOˆOñ	
ô 	
ð 	
õ ÑÔð 	 &ØˆC�‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØˆOˆOñ	
ô 	
ð 	
ð 	
ð 	
s   Ÿ7·;¾;ÂB$Â$B(Â+B(c                 ó2  — t           d„ ¦   «         }t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         ddg¦  «         |                      |d¦  «         t          ¦   «         5 } |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «                              ¦   «         g d¢¦  «         |                      |d¦  «         d S )	Nc                 óÀ   — 	 t          d¦  «         | rt          ‚t          d¦  «         d}n## t          $ r t          d¦  «         d}|cY S w xY wt          d¦  «         |S )NrJ   rK   re   rL   rd   rM   r¼   )r%   Úrs     r   r*   z5TestTryExceptCaught.test_return_in_catch.<locals>.udtž  sx   € ð	Ý�c‘
”
�
Øð ,Ý+Ð+Ý�c‘
”
�
Ø��øÝð ð ð Ý�c‘
”
�
Ø�Ø���ðøøøõ �#‰JŒJˆJØˆHs   ‚), ¬AÁATrJ   rL   rd   Fr¾   re   rf   rg   s       r   Útest_return_in_catchz(TestTryExceptCaught.test_return_in_catch�  sŸ  € Ý	ð	ð 	ñ 
Œð	õ ÑÔð 	 &Ø�#�d‘)”)ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%Ø�#ˆJñ	
ô 	
ð 	
ð 	×Ò˜˜cÑ"Ô"Ð"õ ÑÔð 	 &Ø�#�e‘*”*ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒØ�OŠOÑÔ×#Ò#Ñ%Ô%ØˆOˆOñ	
ô 	
ð 	
ð 	×Ò˜˜cÑ"Ô"Ð"Ð"Ð"ri   c                 óð   — t           d„ ¦   «         }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nc                 óV   — 	 | rt           ‚d}n# t          $ r}d}|cY d }~S d }~ww xY w|S )Nre   rd   )r½   rv   )r%   rÂ   Úes      r   r*   z1TestTryExceptCaught.test_save_caught.<locals>.udtÂ  sV   € ðØð ,Ý+Ð+Ø��øÝð ð ð Ø�Ø������øøøøðøøøð ˆHs   ‚ Ž
&˜!›&¡&Tz3Exception object cannot be stored into variable (e)r°   r²   s      r   Útest_save_caughtz$TestTryExceptCaught.test_save_caughtÁ  sÂ   € Ý	ð	ð 	ñ 
Œð	ð ×ÒÕ/Ñ0Ô0ð 	°FØˆC�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØAÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
s   «AÁAÁ
Ac                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nc                  ó@   — 	 t          d¦  «        ‚# t          $ r ‚ w xY wr­   ©rn   rv   r   r   r   r*   z8TestTryExceptCaught.test_try_except_reraise.<locals>.udtÕ  s3   € ðÝ  Ñ)Ô)Ð)øÝð ð ð Øðøøøs   ‚ ‘r¯   r°   r²   s      r   r³   z+TestTryExceptCaught.test_try_except_reraiseÔ  r´   rµ   c                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nc                  ó`   — 	 t          d¦  «        ‚# t          $ r 	 ‚ # t          $ r ‚ w xY ww xY wr­   rÊ   r   r   r   r*   z>TestTryExceptCaught.test_try_except_reraise_chain.<locals>.udtä  sV   € ðÝ  Ñ)Ô)Ð)øÝð ð ð ðØøÝ ð ð ð Øðøøøðøøøs   ‚ ‘
-œ�)©-r¯   r°   r²   s      r   Útest_try_except_reraise_chainz1TestTryExceptCaught.test_try_except_reraise_chainã  sÀ   € Ý	ð	ð 	ñ 
Œð	ð ×ÒÕ/Ñ0Ô0ð 	°FØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØBÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
rµ   c                 ó¢   — t           d„ ¦   «         }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )Nc                 ó:   — 	 d| z   d| z  S # t           $ r Y dS w xY w)Nr1   é­Þ  )rv   ©rP   s    r   r*   z7TestTryExceptCaught.test_division_operator.<locals>.udtø  s?   € ðØ�A‘�ð ˜1‘u�øõ ð ð ð Ø�v�vðøøøs   ‚ Œ
™r   rÐ   r3   g      à?r+   ©r-   r*   s     r   Útest_division_operatorz*TestTryExceptCaught.test_division_operatorõ  sa   € õ 
ð	ð 	ñ 
Œð	ð 	×Ò˜˜˜Q™œ Ñ(Ô(Ð(Ø×Ò˜˜˜Q™œ Ñ%Ô%Ð%Ð%Ð%r   N)	r   r   r   r¿   rÃ   rÇ   r³   rÍ   rÓ   r   r   r   r¸   r¸   ~  so   € € € € € ð
ð 
ð 
ð<"#ð "#ð "#ðH
ð 
ð 
ð&
ð 
ð 
ð
ð 
ð 
ð$&ð &ð &ð &ð &r   r¸   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚTestTryExceptNestedzTests for complicated nestingc                 óf  — t          ¦   «         5 } ||i |¤Ž d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         }t          ¦   «         5 } ||i |¤Ž d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         }|                      ||d                     ||¦  «        ¬¦  «         d S )Nzargs={} kwargs={})Úmsg)r   rR   r,   Úformat)r-   ÚcfuncÚpyfuncÚargsÚkwargsrT   ÚexpectÚgots           r   Úcheck_comparez!TestTryExceptNested.check_compare  sE  € ÝÑÔð 	$ &ØˆF�DÐ#˜FÐ#Ð#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à—’Ñ"Ô"ˆåÑÔð 	# &ØˆE�4Ð"˜6Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#à�oŠoÑÔˆØ×ÒØ�CØ#×*Ò*¨4°Ñ8Ô8ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
s   �	$¤(«(Á	A&Á&A*Á-A*c           	      óä   — t           d„ ¦   «         }t          t          ddgd¬¦  «        ¦  «        }|                      |¦  «         |D ]'\  }}}}|                      ||j        ||||¬¦  «         Œ(d S )Nc                 óØ  — t          d¦  «         | �rHt          d¦  «         	 t          d¦  «         |rt          d¦  «         t          d¦  «        ‚t          d¦  «         t          d¦  «         nÛ# t          $ rÎ t          d¦  «         	 t          d	¦  «         	 t          d
¦  «         |rt          d¦  «         t          d¦  «        ‚t          d¦  «         t          d¦  «         n# t          $ r t          d¦  «         Y nw xY wt          d¦  «         n# t          $ r t          d¦  «         Y nw xY wt          d¦  «         Y nw xY wt          d¦  «         t          d¦  «         d S )NrJ   rK   rL   rM   rP   rN   ÚGrO   ÚHÚIÚJrQ   ÚKÚMÚLÚOÚNÚPÚQÚR©rF   r   rv   ©r%   rP   rQ   Úps       r   r*   z5TestTryExceptNested.test_try_except_else.<locals>.udt  s~  € å�#‰JŒJˆJØñ Ý�c‘
”
�
ðÝ˜#‘J”J�JØð +Ý˜c™
œ
˜
Ý% c™lœlÐ*Ý˜#‘J”J�Jõ* ˜#‘J”J�J�Jøõ) !ð ð ð Ý˜#‘J”J�Jð#Ý˜c™
œ
˜
ð	'Ý! #™JœJ˜JØ ð 3Ý % c¡
¤
 
Ý&-¨c¡l¤lÐ 2Ý! #™JœJ˜Jõ " #™JœJ˜J˜Jøõ  )ð 'ð 'ð 'Ý! #™JœJ˜J˜J˜Jð'øøøõ ˜c™
œ
˜
˜
øõ %ð #ð #ð #Ý˜c™
œ
˜
˜
˜
ð#øøøõ ˜#‘J”J�J�J�Jð%øøøõ* �c‘
”
�
Ý�#‰JŒJˆJˆJˆJsY   £>A1 Á1E	ÂDÂ>C)ÃDÃ)DÄDÄDÄDÄE	ÄD4Ä1E	Ä3D4Ä4E	ÅE	TFr”   ©Úrepeatrï   ©r   Úlistr   Ú
assertTruerß   Úpy_func)r-   r*   Úcasesr%   rP   rQ   rð   s          r   Útest_try_except_elsez(TestTryExceptNested.test_try_except_else  s¡   € Ý	ð 	ð  	ñ 
Œð 	õD •W˜d E˜]°1Ð5Ñ5Ô5Ñ6Ô6ˆØ�Š˜ÑÔÐØð 	ð 	‰JˆAˆq�!�QØ×ÒØ�S”[Ø�q˜A ð ñ ô ð ð ð	ð 	r   c                 óÜ   — t           d„ ¦   «         }t          t          ddgd¬¦  «        ¦  «        }|                      |¦  «         |D ]#\  }}|                      ||j        ||¬¦  «         Œ$d S )Nc                 ó˜  — 	 t          d¦  «         | rt          d¦  «         t          ‚t          d¦  «         n#  t          d¦  «         Y nxY w	 t          d¦  «         |rt          d¦  «         t          ‚	 t          d¦  «         n# t          $ r t          d¦  «         Y nw xY wt          d	¦  «         d S # t          d	¦  «         w xY w# 	 t          d¦  «         |rt          d¦  «         t          ‚	 t          d¦  «         n# t          $ r t          d¦  «         Y nw xY wt          d	¦  «         w # t          d	¦  «         w xY wxY w)
NrJ   rK   rL   rM   rN   rO   rã   râ   rä   rî   ©rð   Úqs     r   r*   z8TestTryExceptNested.test_try_except_finally.<locals>.udtB  sc  € ðÝ�c‘
”
�
Øð "Ý˜#‘J”J�JÝ!�MÝ�c‘
”
�
�
øðÝ�c‘
”
�
�
�
øøøð
Ý˜#‘J”J�JØð &Ý˜c™
œ
˜
Ý%˜ð&õ ˜#‘J”J�J�Jøõ !ð ð ð Ý˜#‘J”J�J�J�Jðøøøõ
 ˜#‘J”J�J�J�Jø•E˜#‘J”J�J�Jøøøøð
Ý˜#‘J”J�JØð &Ý˜c™
œ
˜
Ý%˜ð&õ ˜#‘J”J�J�Jøõ !ð ð ð Ý˜#‘J”J�J�J�Jðøøøõ
 ˜#‘J”J�J�Jø•E˜#‘J”J�J�Jøøøøøøsz   ‚69 ¸C ¹AÁ
C Á'B Á8B8 ÂB$Â!B8 Â#B$Â$B8 Â8C	ÃE	Ã'DÃ6D5ÄD"ÄD5Ä!D"Ä"D5Ä%E	Ä5EÅE	TFr3   rñ   rû   ró   )r-   r*   r÷   rð   rü   s        r   Útest_try_except_finallyz+TestTryExceptNested.test_try_except_finallyA  s˜   € Ý	ð	ð 	ñ 
Œð	õ, •W˜d E˜]°1Ð5Ñ5Ô5Ñ6Ô6ˆØ�Š˜ÑÔÐØð 	ð 	‰DˆAˆqØ×ÒØ�S”[Ø�qð ñ ô ð ð ð	ð 	r   N)r   r   r   r¶   rß   rø   rý   r   r   r   rÕ   rÕ     sH   € € € € € Ø#Ð#ð
ð 
ð 
ð*ð *ð *ðXð ð ð ð r   rÕ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestTryExceptRefctc                 óN  — t           d„ ¦   «         } |dd¬¦  «        }|                      t          |¦  «        t          t          d¦  «        ¦  «        ¦  «          |dd¬¦  «        }|                      t          |¦  «        t          t          d¦  «        ¦  «        ¦  «         d S )Nc                 ó¼   — t          j        ¦   «         }	 t          | ¦  «        D ]$}||k    rt          ‚|                     |¦  «         Œ%	 |S # t
          $ r |cY S w xY wr"   )r   ÚListrX   Ú
IndexErrorÚappendrv   )rY   Úraise_atÚlstrZ   s       r   r*   z6TestTryExceptRefct.test_list_direct_raise.<locals>.udtd  sy   € å”*‘,”,ˆCðÝ˜q™œð "ð "�AØ˜H’}�}Ý(Ð(Ø—J’J˜q‘M”M�M�Mð"ð �
øõ ð ð ð Ø�
�
�
ðøøøs   •4A ÁAÁArp   r[   ©r  ©r   r,   rô   rX   )r-   r*   Úouts      r   Útest_list_direct_raisez)TestTryExceptRefct.test_list_direct_raisec  s›   € Ý	ð
	ð 
	ñ 
Œð
	ð ˆc�"˜qÐ!Ñ!Ô!ˆØ×Ò�˜c™œ¥D­¨q©¬¡N¤NÑ3Ô3Ð3Øˆc�"˜rÐ"Ñ"Ô"ˆØ×Ò�˜c™œ¥D­¨r©¬¡O¤OÑ4Ô4Ð4Ð4Ð4r   c           	      ó„  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         } |dd¬¦  «        }|                      t          |¦  «        dgt          t          d¦  «        ¦  «        z   ¦  «          |dd¬¦  «        }|                      t          |¦  «        dgt          t          d¦  «        ¦  «        z   ¦  «         d S )Nc                 ón   — t          |¦  «        D ]$}||k    rt          ‚|                      |¦  «         Œ%| S r"   )rX   r  r  )r  rY   r  rZ   s       r   Úappenderz=TestTryExceptRefct.test_list_indirect_raise.<locals>.appenderw  s<   € å˜1‘X”Xð ð �Ø˜’=�=Ý$Ð$Ø—
’
˜1‘”��ØˆJr   c                 ó˜   •— t          j        ¦   «         }|                     d¦  «         	  ‰|| |¦  «         |S # t          $ r |cY S w xY w)Né¾  )r   r  r  rv   )rY   r  r  r  s      €r   r*   z8TestTryExceptRefct.test_list_indirect_raise.<locals>.udt  sf   ø€ å”*‘,”,ˆCØ�JŠJ�vÑÔÐðØ�˜˜a Ñ*Ô*Ð*ð �
øõ ð ð ð Ø�
�
�
ðøøøs   «: ºA	ÁA	rp   r[   r  r  r  )r-   r*   r	  r  s      @r   Útest_list_indirect_raisez+TestTryExceptRefct.test_list_indirect_raisev  sÏ   ø€ Ý	ð	ð 	ñ 
Œð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ˆc�"˜qÐ!Ñ!Ô!ˆØ×Ò�˜c™œ V H­tµE¸!±H´H©~¬~Ñ$=Ñ>Ô>Ð>Øˆc�"˜rÐ"Ñ"Ô"ˆØ×Ò�˜c™œ V H­tµE¸"±I´I©¬Ñ$>Ñ?Ô?Ð?Ð?Ð?r   c                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      t	          |j        ¦  «        d¦  «         d S )Nc                  ó  — 	 t          j        ¦   «         } t          d¦  «         |                      d¦  «         t          d¦  «         |                      d¦  «         t          d¦  «         | S # t          $ r t          d¦  «         Y d S w xY w)NrJ   r   rK   ÚfdarL   rM   )r   r  rF   r  rv   )r  s    r   r*   z<TestTryExceptRefct.test_incompatible_refinement.<locals>.udt�  s…   € ð	Ý”j‘l”l�Ý�c‘
”
�
Ø—
’
˜1‘”�Ý�c‘
”
�
Ø—
’
˜5Ñ!Ô!Ð!Ý�c‘
”
�
Ø�
øÝð ð ð Ý�c‘
”
�
�
�
�
ðøøøs   ‚A+A. Á.BÂ
Bz@Cannot refine type|cannot safely cast unicode_type to int(32|64))r   r8   r   ÚassertRegexpMatchesr9   r:   r²   s      r   Útest_incompatible_refinementz/TestTryExceptRefct.test_incompatible_refinement�  sÁ   € Ý	ð
	ð 
	ñ 
Œð
	ð ×Ò�{Ñ+Ô+ð 	¨vØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à× Ò Ý�Ô Ñ!Ô!ØOñ	
ô 	
ð 	
ð 	
ð 	
rµ   N)r   r   r   r
  r  r  r   r   r   rÿ   rÿ   b  sD   € € € € € ð5ð 5ð 5ð&@ð @ð @ð2
ð 
ð 
ð 
ð 
r   rÿ   c                   ó|   — e Zd Zd„ Zed„ ¦   «         Zed„ ¦   «         Z ej        e	dk     d¦  «        d„ ¦   «         Z
dS )ÚTestTryExceptOtherControlFlowc                 óB  — t           d„ ¦   «         }|                      t           |dd¦  «        ¦  «        t          t          d¦  «        ¦  «        ¦  «         |                      t           |dd¦  «        ¦  «        t          t          d¦  «        ¦  «        ¦  «         d S )Nc              3   óv   K  — t          | ¦  «        D ]&}	 ||k    rt          ‚|V — Œ# t          $ r Y  d S w xY wd S r"   )rX   rn   rv   )rY   r%   rZ   s      r   r*   z5TestTryExceptOtherControlFlow.test_yield.<locals>.udt§  sh   è è € å˜1‘X”Xð ð �ðØ˜A’v�vÝ(Ð(Ø�G�G�G�GøÝ ð ð ð Ø�F�F�Fðøøøðð s   •'§
6µ6rp   r[   r  rÒ   s     r   rz   z(TestTryExceptOtherControlFlow.test_yield¦  s‹   € Ý	ð	ð 	ñ 
Œð	ð 	×Ò�˜c˜c " a™jœjÑ)Ô)­4µ°a±´©>¬>Ñ:Ô:Ð:Ø×Ò�˜c˜c " b™kœkÑ*Ô*­Dµ°r±´©O¬OÑ<Ô<Ð<Ð<Ð<r   c                 óò   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t	          |j        ¦  «        ¦  «         d S )Nc                  ó®   — 	 t          ¦   «         5  t          t          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S # t          $ r Y d S w xY wr"   )r   rF   Úobjectrv   r   r   r   r*   z7TestTryExceptOtherControlFlow.test_objmode.<locals>.udt¶  s¦   € ðÝ‘Y”Yð $ð $Ý�&™(œ(‘O”O�Oð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $øåð ð ð Ø��ðøøøs.   ‚A �9¬A ¹=½A Á =ÁA Á
AÁAúlunsupported control flow: with-context contains branches (i.e. break/return/raise) that can leave the block ©r   r8   r   r±   r9   r:   )r-   r*   r;   r×   s       r   Útest_objmodez*TestTryExceptOtherControlFlow.test_objmode´  sÇ   € å	ð	ð 	ñ 
Œð	ð ×Ò�}Ñ-Ô-ð 	°ØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðEˆà�ŠØÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
rµ   c                 óþ   ‡— d„ Št           ˆfd„¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t	          |j        ¦  «        ¦  «         d S )Nc                 ó‚   — t          j        t          t          |                      ¦   «         ¦  «        ¦  «        ¦  «        S r"   )rš   Úasarrayrô   ÚreversedÚtolistr$   s    r   ry   zCTestTryExceptOtherControlFlow.test_objmode_output_type.<locals>.barÉ  s*   € Ý”:�d¥8¨A¯HªH©J¬JÑ#7Ô#7Ñ8Ô8Ñ9Ô9Ð9r   c                  óè   •— t          j        d¦  «        } t          j        | ¦  «        }	 t          d¬¦  «        5  | ‰| ¦  «        z  }d d d ¦  «         n# 1 swxY w Y   n# t          $ r Y nw xY w|S )Nr[   zintp[:]rÑ   )rš   ÚarangeÚ
zeros_liker   rv   )r%   rP   ry   s     €r   r  zLTestTryExceptOtherControlFlow.test_objmode_output_type.<locals>.test_objmodeÌ  sÃ   ø€ å”	˜!‘”ˆAÝ”˜aÑ Ô ˆAðÝ˜yÐ)Ñ)Ô)ð  ð  à˜˜˜Q™œ‘K�Að ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  øøõ ð ð ð Ø�ðøøøàˆHs4   «A" »AÁ
A" ÁAÁA" ÁAÁA" Á"
A/Á.A/r  r  )r-   r  r;   r×   ry   s       @r   Útest_objmode_output_typez6TestTryExceptOtherControlFlow.test_objmode_output_typeÇ  sã   ø€ ð	:ð 	:ð 	:õ 
ð		ð 		ð 		ð 		ñ 
Œð		ð ×Ò�}Ñ-Ô-ð 	°ØˆL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðEˆà�ŠØÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
s   ±AÁAÁA)rA   é	   zPython 3.9+ onlyc                 óž  — d„ }t          j        |¦  «        D ]}|j        dk    r nŒ|                      d¦  «         t	          j        i |j        ¦  «        }d}|j                             ¦   «         D ]A\  }}| 	                    t          j        ¦  «        D ]}d}|j        r||j        d         v rd}ŒŒB|s|                      d¦  «         d S d S )	Nc                  óL   — 	 t           ‚# t           $ r t          d¦  «        ‚w xY wr­   )rv   rn   r   r   r   rÚ   zMTestTryExceptOtherControlFlow.test_reraise_opcode_unreachable.<locals>.pyfuncç  s5   € ð*Ý�øÝð *ð *ð *Ý  Ñ)Ô)Ð)ð*øøøs   ‚	 ‰#ÚRERAISEz!expected RERAISE opcode not foundFz8Unreachable condition reached (op code RERAISE executed)r   Tz.expected RERAISE unreachable message not found)ÚdisÚget_instructionsÚopnameÚfailr	   Úget_ir_of_codeÚ__code__ÚblocksÚitemsÚ
find_instsr
   ÚStaticRaiseÚexc_args)	r-   rÚ   ÚinstÚfunc_irÚfoundÚlblÚblkÚstmtr×   s	            r   Útest_reraise_opcode_unreachablez=TestTryExceptOtherControlFlow.test_reraise_opcode_unreachableá  s  € ð	*ð 	*ð 	*õ
 Ô(¨Ñ0Ô0ð 	;ð 	;ˆDØŒ{˜iÒ'Ð'Ø�ð (ð �IŠIÐ9Ñ:Ô:Ð:ÝÔ)¨"¨f¬oÑ>Ô>ˆØˆØœ×,Ò,Ñ.Ô.ð 	!ð 	!‰HˆC�ØŸš¥r¤~Ñ6Ô6ð !ð !�ð Q�Ø”=ð ! S¨D¬M¸!Ô,<Ð%<Ð%<Ø �Eøð!ð ð 	HØ�IŠIÐFÑGÔGÐGÐGÐGð	Hð 	Hr   N)r   r   r   rz   r   r  r(  r   ÚskipIfr   r>  r   r   r   r  r  ¥  s�   € € € € € ð=ð =ð =ð ð
ð 
ñ Ôð
ð$ ð
ð 
ñ Ôð
ð2 €X„_�Y Ò'Ð);Ñ<Ô<ðHð Hñ =Ô<ðHð Hð Hr   r  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestTryExceptParforsc                 óÜ   — d„ }dg} ||Ž }|                         t          d¬¦  «        |¦  «        |Ž |¦  «         |                         t          d¬¦  «        |¦  «        |Ž |¦  «         d S )Nc                 ód   — d}t          | ¦  «        D ]}	 |dz  }Œ	# t          $ r |dz  }Y Œw xY w|S )Nr   r1   ©r   rv   ©rY   ÚcrZ   s      r   r*   z>TestTryExceptParfors.test_try_in_prange_reduction.<locals>.udt  sY   € ØˆAÝ˜A‘Y”Yð ð �ðØ˜‘F�A�AøÝ ð ð ð Ø˜‘F�A�A�AðøøøàˆHs   •›-¬-rp   F©ÚparallelT)r,   r   ©r-   r*   rÛ   rÝ   s       r   Útest_try_in_prange_reductionz1TestTryExceptParfors.test_try_in_prange_reduction  s“   € ð	ð 	ð 	ð ˆtˆØ��d�ˆØ×ÒÐ2Ð-� uÐ-Ñ-Ô-¨cÑ2Ô2°DÐ9¸6ÑBÔBÐBØ×ÒÐ1Ð,� tÐ,Ñ,Ô,¨SÑ1Ô1°4Ð8¸&ÑAÔAÐAÐAÐAr   c                 ó  — d„ }dg} ||Ž }|                         t          d¬¦  «        |¦  «        |Ž |¦  «         t          j        d¬¦  «        5 }t          j        dt
          ¦  «         |                         t          d¬¦  «        |¦  «        |Ž |¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          |¦  «        d¦  «         |                      d	t          |d
         ¦  «        ¦  «         d S )Nc                 ó^   — d}	 t          | ¦  «        D ]}|dz  }Œ	 |S # t          $ r Y dS w xY w)Nr   r1   rÐ   rD  rE  s      r   r*   zCTestTryExceptParfors.test_try_outside_prange_reduction.<locals>.udt  s\   € ØˆAðÝ ™œð ð �AØ˜‘F�A�Aðð
 �øõ ð ð ð Ø�v�vðøøøs   „ ž
,«,rp   FrG  T)ÚrecordÚalwaysr1   z5no transformation for parallel execution was possibler   )	r,   r   ÚwarningsÚcatch_warningsÚsimplefilterr   Úlenr±   r9   )r-   r*   rÛ   rÝ   Úws        r   Ú!test_try_outside_prange_reductionz6TestTryExceptParfors.test_try_outside_prange_reduction  se  € ð	ð 	ð 	ð ˆtˆØ��d�ˆØ×ÒÐ2Ð-� uÐ-Ñ-Ô-¨cÑ2Ô2°DÐ9¸6ÑBÔBÐBåÔ$¨DÐ1Ñ1Ô1ð 	F°QÝÔ! (Õ,CÑDÔDÐDØ×ÒÐ5Ð0�T¨4Ð0Ñ0Ô0°Ñ5Ô5°tÐ<¸fÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	×Ò�˜Q™œ Ñ#Ô#Ð#Ø�ŠÐMÝ˜!˜Aœ$‘i”iñ	!ô 	!ð 	!ð 	!ð 	!s   ÁAB(Â(B,Â/B,c                 ó  — d„ }t          j        d¦  «        dg} ||Ž }|                        t          d¬¦  «        |¦  «        |Ž |¦  «         |                        t          d¬¦  «        |¦  «        |Ž |¦  «         d S )Nc                 ó¾   — |                       ¦   «         }t          | j        ¦  «        D ]3}	 ||k    rt          ‚| |         |z   ||<   Œ# t          $ r d||<   Y Œ0w xY w|S ©Nr7   ©Úcopyr   Úsizern   rv   ©Úarrr%   r	  rZ   s       r   r*   z8TestTryExceptParfors.test_try_in_prange_map.<locals>.udt*  s|   € Ø—(’(‘*”*ˆCÝ˜CœHÑ%Ô%ð  ð  �ð Ø˜A’v�vÝ(Ð(Ø  œV a™Z�C˜‘F�FøÝ ð  ð  ð  Ø�C˜‘F�F�Fð øøøàˆJs   ¬AÁAÁArp   é   FrG  T©rš   r&  ÚassertPreciseEqualr   rI  s       r   Útest_try_in_prange_mapz+TestTryExceptParfors.test_try_in_prange_map)  óž   € ð		ð 		ð 		õ ”	˜"‘”˜qÐ!ˆØ��d�ˆØ×ÒÐ 9Ð 4¥¨eÐ 4Ñ 4Ô 4°SÑ 9Ô 9¸4Ð @À&ÑIÔIÐIØ×ÒÐ 8Ð 3¥¨dÐ 3Ñ 3Ô 3°CÑ 8Ô 8¸$Ð ?ÀÑHÔHÐHÐHÐHr   c                 ó  — d„ }t          j        d¦  «        dg} ||Ž }|                        t          d¬¦  «        |¦  «        |Ž |¦  «         |                        t          d¬¦  «        |¦  «        |Ž |¦  «         d S )Nc                 óÀ   — |                       ¦   «         }	 t          | j        ¦  «        D ]}||k    rt          ‚| |         |z   ||<   Œn# t          $ r d||<   Y nw xY w|S rW  rX  r[  s       r   r*   z=TestTryExceptParfors.test_try_outside_prange_map.<locals>.udt;  sƒ   € Ø—(’(‘*”*ˆCðÝ ¤Ñ)Ô)ð (ð (�AØ˜A’v�vÝ(Ð(Ø  œV a™Z�C˜‘F�Fð(øõ ð ð ð Ø��A‘��ðøøøàˆJs   –2A	 Á	AÁArp   r]  FrG  Tr^  rI  s       r   Útest_try_outside_prange_mapz0TestTryExceptParfors.test_try_outside_prange_map:  ra  r   N)r   r   r   rJ  rT  r`  rd  r   r   r   rA  rA  ÿ  s[   € € € € € ðBð Bð Bð !ð !ð !ð.Ið Ið Ið"Ið Ið Ið Ið Ir   rA  Ú__main__)'rO  r-  Ú	itertoolsr   Únumpyrš   Únumbar   r   r   r   Únumba.core.utilsr   Ú
numba.corer	   r
   Únumba.core.errorsr   r   r   r   Únumba.tests.supportr   r   r   r   r   r   r   rv   r   r   r¸   rÕ   rÿ   r  rA  r   Úmainr   r   r   ú<module>rn     sº  ðØ €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð	ð 	ð 	ð 	ð 	ˆiñ 	ô 	ð 	ðd
ð d
ð d
ð d
ð d
˜ñ d
ô d
ð d
ðND&ð D&ð D&ð D&ð D&˜(ñ D&ô D&ð D&ðNZð Zð Zð Zð Z˜(ñ Zô Zð Zðz@
ð @
ð @
ð @
ð @
˜¨(ñ @
ô @
ð @
ðFWHð WHð WHð WHð WH Hñ WHô WHð WHðt ðIIð IIð IIð IIð II˜8ñ IIô IIñ ÔðIIðX ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   