§
    ƒÛgq?  ã                   óÜ   — d dl Zd dl Z d dlZd dlmZmZ d dlmZmZ d dl	m
Z
 d dlmZmZ  G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Zedk    r ej        ¦   «          dS dS )é    N)ÚnjitÚjit)ÚTypingErrorÚUnsupportedError)Úir)ÚTestCaseÚIRPreservingTestPipelinec                   óV   — 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dS )ÚTestClosurec                 óÀ   ‡— dŠˆfd„} t          di |¤Ž|¦  «        }|                       |d¦  «        d¦  «         dŠ|                       |d¦  «        d¦  «         d S )Né
   c                 ó   •— | ‰z   S ©N© ©ÚxÚYs    €úN/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_closure.pyÚadd_Yz3TestClosure.run_jit_closure_variable.<locals>.add_Y   ó   ø€ Ø�q‘5ˆLó    úi4(i4)é   é   é   ©r   ©r   ÚassertEqual)ÚselfÚjitargsr   Úc_add_Yr   s       @r   Úrun_jit_closure_variablez$TestClosure.run_jit_closure_variable   s‰   ø€ Øˆð	ð 	ð 	ð 	ð 	ð +•#Ð*Ð* 'Ð*Ð*¨5Ñ1Ô1ˆØ×Ò˜˜ ™œ RÑ(Ô(Ð(ð ˆØ×Ò˜˜ ™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó2   — |                       d¬¦  «         d S ©NT©Úforceobj©r"   ©r   s    r   Útest_jit_closure_variablez%TestClosure.test_jit_closure_variable   ó   € Ø×%Ò%¨tÐ%Ñ4Ô4Ð4Ð4Ð4r   c                 ó2   — |                       d¬¦  «         d S ©NT©Únopythonr'   r(   s    r   Útest_jit_closure_variable_npmz)TestClosure.test_jit_closure_variable_npm   r*   r   c                 ój  ‡— dŠˆfd„} t          di |¤Ž|¦  «        }|                       |d¦  «        d¦  «         dŠ t          di |¤Ž|¦  «        }|                       |d¦  «        d¦  «         dŠ|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )	Nr   c                 ó   •— | ‰z   S r   r   r   s    €r   r   z0TestClosure.run_rejitting_closure.<locals>.add_Y%   r   r   r   r   r   r   é   r   r   )r   r    r   r!   Ú	c_add_Y_2r   s        @r   Úrun_rejitting_closurez!TestClosure.run_rejitting_closure"   sç   ø€ Øˆð	ð 	ð 	ð 	ð 	ð +•#Ð*Ð* 'Ð*Ð*¨5Ñ1Ô1ˆØ×Ò˜˜ ™œ RÑ(Ô(Ð(ð ˆØ,•CÐ,Ð, GÐ,Ð,¨UÑ3Ô3ˆ	Ø×Ò˜˜ 1™œ rÑ*Ô*Ð*ØˆØ×Ò˜˜ 1™œ rÑ*Ô*Ð*à×Ò˜˜ ™œ RÑ(Ô(Ð(Ð(Ð(r   c                 ó2   — |                       d¬¦  «         d S r$   ©r4   r(   s    r   Útest_rejitting_closurez"TestClosure.test_rejitting_closure4   ó   € Ø×"Ò"¨DÐ"Ñ1Ô1Ð1Ð1Ð1r   c                 ó2   — |                       d¬¦  «         d S r,   r6   r(   s    r   Útest_rejitting_closure_npmz&TestClosure.test_rejitting_closure_npm7   r8   r   c                 ó†   ‡‡— dŠdŠˆˆfd„} t          di |¤Ž|¦  «        }|                       |d¦  «        d¦  «         d S )Nr   é   c                 ó   •— | ‰z   ‰z  S r   r   )r   r   ÚZs    €€r   Úadd_Y_mult_ZzDTestClosure.run_jit_multiple_closure_variables.<locals>.add_Y_mult_Z>   s   ø€ Ø˜‘E˜Q‘;Ðr   r   r   é   r   r   )r   r    r?   Úc_add_Y_mult_Zr   r>   s       @@r   Ú"run_jit_multiple_closure_variablesz.TestClosure.run_jit_multiple_closure_variables:   sq   øø€ ØˆØˆð	ð 	ð 	ð 	ð 	ð 	ð 2�Ð1Ð1¨Ð1Ð1°,Ñ?Ô?ˆØ×Ò˜˜¨Ñ*Ô*¨BÑ/Ô/Ð/Ð/Ð/r   c                 ó2   — |                       d¬¦  «         d S r$   ©rB   r(   s    r   Ú#test_jit_multiple_closure_variablesz/TestClosure.test_jit_multiple_closure_variablesD   ó   € Ø×/Ò/¸Ð/Ñ>Ô>Ð>Ð>Ð>r   c                 ó2   — |                       d¬¦  «         d S r,   rD   r(   s    r   Ú'test_jit_multiple_closure_variables_npmz3TestClosure.test_jit_multiple_closure_variables_npmG   rF   r   c                 óX  ‡— d„ } t          di |¤Ž|¦  «        Š‰                     ¦   «          ˆfd„} t          di |¤Ž|¦  «        }|                     ¦   «          |                      |‰¦  «        5  |                       |d¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | dz  S )Nr   r   ©Úas    r   Úmult_10z3TestClosure.run_jit_inner_function.<locals>.mult_10K   s   € Ø�r‘6ˆMr   ú
intp(intp)c                 ó    •—  ‰| dz   ¦  «        S ©Né   r   )r   Ú	c_mult_10s    €r   Údo_mathz3TestClosure.run_jit_inner_function.<locals>.do_mathQ   s   ø€ Ø�9˜Q ™UÑ#Ô#Ð#r   r   é2   )rN   )r   Údisable_compileÚassertRefCountr   )r   r    rM   rS   Ú	c_do_mathrR   s        @r   Úrun_jit_inner_functionz"TestClosure.run_jit_inner_functionJ   s%  ø€ ð	ð 	ð 	ð 1•CÐ0Ð0¨Ð0Ð0°Ñ9Ô9ˆ	Ø×!Ò!Ñ#Ô#Ð#ð	$ð 	$ð 	$ð 	$ð 	$ð 1•CÐ0Ð0¨Ð0Ð0°Ñ9Ô9ˆ	Ø×!Ò!Ñ#Ô#Ð#à× Ò  ¨IÑ6Ô6ð 	/ð 	/Ø×Ò˜Y˜Y q™\œ\¨2Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   Á2 BÂB#Â&B#c                 ó2   — |                       d¬¦  «         d S r$   ©rX   r(   s    r   Útest_jit_inner_functionz#TestClosure.test_jit_inner_functionZ   ó   € Ø×#Ò#¨TÐ#Ñ2Ô2Ð2Ð2Ð2r   c                 ó2   — |                       d¬¦  «         d S r,   rZ   r(   s    r   Útest_jit_inner_function_npmz'TestClosure.test_jit_inner_function_npm]   r\   r   N)Ú__name__Ú
__module__Ú__qualname__r"   r)   r/   r4   r7   r:   rB   rE   rH   rX   r[   r^   r   r   r   r   r      sÈ   € € € € € ð)ð )ð )ð5ð 5ð 5ð5ð 5ð 5ð)ð )ð )ð$2ð 2ð 2ð2ð 2ð 2ð0ð 0ð 0ð?ð ?ð ?ð?ð ?ð ?ð/ð /ð /ð 3ð 3ð 3ð3ð 3ð 3ð 3ð 3r   r   c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestInlinedClosurezª
    Tests for (partial) closure support in njit. The support is partial
    because it only works for closures that can be successfully inlined
    at compile time.
    c                 óz   — d„ }t          |¦  «        }|                       |d¦  «         |d¦  «        ¦  «         d S )Nc                 ó6   — d„ } || ¦  «         || ¦  «        z   S )Nc                 ó   — | | z  S r   r   )r   s    r   ÚinnerzDTestInlinedClosure.test_inner_function.<locals>.outer.<locals>.innerl   ó   € Ø˜1‘u�r   r   ©r   rg   s     r   Úouterz5TestInlinedClosure.test_inner_function.<locals>.outerj   s.   € ðð ð ð �5˜‘8”8˜e˜e A™hœhÑ&Ð&r   r   ©r   r   ©r   rj   Úcfuncs      r   Útest_inner_functionz&TestInlinedClosure.test_inner_functionh   sJ   € ð	'ð 	'ð 	'õ �U‘”ˆØ×Ò˜˜˜r™œ E E¨"¡I¤IÑ.Ô.Ð.Ð.Ð.r   c                 óz   — d„ }t          |¦  «        }|                       |d¦  «         |d¦  «        ¦  «         d S )Nc                 óF   ‡— | dz   Šˆfd„} || ¦  «         || ¦  «        z   S )Nr   c                 ó   •— | | z  ‰z   S r   r   ©r   Úys    €r   rg   zQTestInlinedClosure.test_inner_function_with_closure.<locals>.outer.<locals>.innery   s   ø€ Ø˜1‘u˜q‘yÐ r   r   ©r   rg   rs   s     @r   rj   zBTestInlinedClosure.test_inner_function_with_closure.<locals>.outerv   sB   ø€ Ø�A‘ˆAð!ð !ð !ð !ð !ð �5˜‘8”8˜e˜e A™hœhÑ&Ð&r   r   rk   rl   s      r   Ú test_inner_function_with_closurez3TestInlinedClosure.test_inner_function_with_closuret   sJ   € ð	'ð 	'ð 	'õ �U‘”ˆØ×Ò˜˜˜r™œ E E¨"¡I¤IÑ.Ô.Ð.Ð.Ð.r   c                 óz   — d„ }t          |¦  «        }|                       |d¦  «         |d¦  «        ¦  «         d S )Nc                 óJ   ‡— | dz   Šˆfd„} || ¦  «        Š‰ || ¦  «        z   S )Nr   c                 ó   •— | ‰z  S r   r   rr   s    €r   rg   zSTestInlinedClosure.test_inner_function_with_closure_2.<locals>.outer.<locals>.inner†   ó   ø€ Ø˜1‘u�r   r   rt   s     @r   rj   zDTestInlinedClosure.test_inner_function_with_closure_2.<locals>.outerƒ   sF   ø€ Ø�A‘ˆAðð ð ð ð ð ��a‘”ˆAØ�u�u˜Q‘x”x‘<Ðr   r   rk   rl   s      r   Ú"test_inner_function_with_closure_2z5TestInlinedClosure.test_inner_function_with_closure_2�   sJ   € ð	 ð 	 ð 	 õ �U‘”ˆØ×Ò˜˜˜r™œ E E¨"¡I¤IÑ.Ô.Ð.Ð.Ð.r   c                 óØ   — d}i }t          |                     ¦   «         |¦  «         t          |d         ¦  «        }|                       |d¦  «         |d         d¦  «        ¦  «         d S )Na  
            def outer(x):
                y = x + 1
                z = 0

                def inner(x):
                    nonlocal z
                    z += x * x
                    return z + y

                return inner(x) + inner(x) + z
        rj   r   )ÚexecÚstripr   r   )r   ÚcodeÚnsrm   s       r   Ú"test_inner_function_with_closure_3z5TestInlinedClosure.test_inner_function_with_closure_3�   si   € ðˆð ˆÝˆT�ZŠZ‰\Œ\˜2ÑÔÐå�R˜”[Ñ!Ô!ˆØ×Ò˜˜˜r™œ K B w¤K°¡O¤OÑ4Ô4Ð4Ð4Ð4r   c                 óz   — d„ }t          |¦  «        }|                       |d¦  «         |d¦  «        ¦  «         d S )Nc                 ó*   ‡ — ˆ fd„} |‰ ‰ z  ¦  «        S )Nc                 óZ   •‡ — ˆˆ fd„}d}t          ‰ ¦  «        D ]}| ||¦  «        z  }Œ|S )Nc                 ó   •— ‰‰z   | z   S r   r   ©Úzr   rs   s    €€r   Ú	innermostz^TestInlinedClosure.test_inner_function_nested.<locals>.outer.<locals>.inner.<locals>.innermost©   s   ø€ Ø˜q™5 1™9Ð$r   r   ©Úrange)rs   r‡   ÚsÚir   s   `   €r   rg   zKTestInlinedClosure.test_inner_function_nested.<locals>.outer.<locals>.inner§   sW   øø€ ð%ð %ð %ð %ð %ð %ð �Ý˜q™œð &ð &�AØ˜˜ 1™œÑ%�A�AØ�r   r   ri   s   ` r   rj   z<TestInlinedClosure.test_inner_function_nested.<locals>.outer¥   s0   ø€ ðð ð ð ð ð �5˜˜Q™‘<”<Ðr   r   rk   rl   s      r   Útest_inner_function_nestedz-TestInlinedClosure.test_inner_function_nested£   sJ   € ð	 ð 	 ð 	 õ �U‘”ˆØ×Ò˜˜˜r™œ E E¨"¡I¤IÑ.Ô.Ð.Ð.Ð.r   c                 ól  ‡‡— t           ˆfd„¦   «         Šˆfd„}ˆfd„}d„ }d„ }d„ }d„ }dŠˆfd	„}dŠˆfd
„}d„ }	d„ }
d„ }d„ }d"d„}d"d„}d"d„}d„ }d„ }d„ }d„ }d„ }d„ }d„ }|||||||	|
|||||||g}|D ];}t          |¦  «        }d}|                       ||¦  «         ||¦  «        ¦  «         Œ<|                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d }|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d }|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } ||¦  «         ddd¦  «         n# 1 swxY w Y   d }|                      |t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } t	          d¬¦  «        |¦  «        } |¦   «          ddd¦  «         n# 1 swxY w Y   d!}|                      |t          |j        ¦  «        ¦  «         dS )#z3 Tests the large number of use cases defined below c                 óN   •— | dk     r| S  ‰| dz
  ¦  «         ‰| dz
  ¦  «        z   S )Nr<   r   r   )ÚnÚfib3s    €r   r�   z4TestInlinedClosure.test_bulk_use_cases.<locals>.fib3º   s4   ø€ à�1ŠuˆuØ�Ø�4˜˜A™‘;”;   a¨!¡e¡¤Ñ,Ð,r   c                 ó$   •— ˆfd„} || ¦  «        S )z, Test calling recursive function from inner c                 ó   •—  ‰| ¦  «        S r   r   )r   r�   s    €r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer1.<locals>.innerÂ   s   ø€ Ø�t˜A‘w”w�r   r   )r   rg   r�   s     €r   Úouter1z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer1À   s)   ø€ ðð ð ð ð à�5˜‘8”8ˆOr   c                 ó2   •‡— | dz   Šˆˆfd„} || ¦  «        S )z. Test calling recursive function from closure r   c                 ó    •— |  ‰‰¦  «        z   S r   r   )r   r�   r†   s    €€r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer2.<locals>.innerÊ   s   ø€ Ø˜4˜4 ™7œ7‘{Ð"r   r   )r   rg   r†   r�   s     @€r   Úouter2z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer2Æ   s8   øø€ à�A‘ˆAð#ð #ð #ð #ð #ð #à�5˜‘8”8ˆOr   c                 ó$   ‡— ˆfd„Š ‰| ¦  «        S )z Test recursive inner c                 ó4   •— | dk     rdS  ‰| dz
  ¦  «         d S ©Nr<   r   r   r   ri   s    €r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer3.<locals>.innerÐ   s&   ø€ Ø�q’5�5Ø˜2à�E˜!˜a™%‘L”L�L�L�Lr   r   ri   s    @r   Úouter3z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer3Î   s+   ø€ ð!ð !ð !ð !ð !ð
 �5˜‘8”8ˆOr   c                 ó2   ‡‡— | dz   Šˆˆfd„Š ‰| ¦  «        S )z Test recursive closure r   c                 ó:   •— | ‰z   dk     rdS  ‰| dz
  ¦  «         d S r™   r   rt   s    €€r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer4.<locals>.innerÛ   s*   ø€ Ø�q‘5˜1’9�9Ø˜2à�E˜!˜a™%‘L”L�L�L�Lr   r   rt   s    @@r   Úouter4z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer4×   s:   øø€ à�A‘ˆAð!ð !ð !ð !ð !ð !ð
 �5˜‘8”8ˆOr   c                 ó.   ‡— | dz   Šˆfd„} || ¦  «        S )z Test nested closure r   c                 ó<   •‡— ‰| z   dz   Šˆfd„} || ¦  «        ‰z   S )Nr<   c                 ó   •— | ‰z   S r   r   ©r   r†   s    €r   Úinner2zVTestInlinedClosure.test_bulk_use_cases.<locals>.outer5.<locals>.inner1.<locals>.inner2é   s   ø€ Ø˜q™5�Lr   r   )r   r¢   r†   rs   s     @€r   Úinner1zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer5.<locals>.inner1æ   s>   øø€ Ø˜‘E˜A‘I�ð!ð !ð !ð !ð !ð �v˜a‘y”y 1‘}Ð$r   r   ©r   r£   rs   s     @r   Úouter5z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer5â   s5   ø€ à�A‘ˆAð%ð %ð %ð %ð %ð �6˜!‘9”9Ðr   c                 ó.   ‡— | dz   Šˆfd„} || ¦  «        S )z. Test closure with list comprehension in body r   c                 óF   •— ‰| z   dz   }d„ t          |¦  «        D ¦   «         S )Nr<   c                 ó   — g | ]}|‘ŒS r   r   )Ú.0Úts     r   ú
<listcomp>zZTestInlinedClosure.test_bulk_use_cases.<locals>.outer6.<locals>.inner1.<locals>.<listcomp>ö   s   € Ð,Ð,Ð,˜a˜Ð,Ð,Ð,r   rˆ   )r   r†   rs   s     €r   r£   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer6.<locals>.inner1ô   s*   ø€ Ø˜‘E˜A‘I�Ø,Ð,¥5¨¡8¤8Ð,Ñ,Ô,Ð,r   r   r¤   s     @r   Úouter6z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer6ð   s5   ø€ à�A‘ˆAð-ð -ð -ð -ð -ð �6˜!‘9”9Ðr   é	   c                 ó   •— | dz   }| |z   ‰z   S )z) Test use of outer scope var, no closure r   r   )r   r†   Ú_OUTER_SCOPE_VARs     €r   Úouter7z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer7û   s   ø€ à�A‘ˆAØ�q‘5Ð+Ñ+Ð+r   c                 ó2   •‡— | dz   Šˆˆfd„} || ¦  «        S )z+ Test use of outer scope var, with closure r   c                 ó   •— | ‰z   ‰z   S r   r   )r   r¯   r†   s    €€r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer8.<locals>.inner  s   ø€ Ø˜1‘uÐ/Ñ/Ð/r   r   )r   rg   r†   r¯   s     @€r   Úouter8z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer8  s8   øø€ à�A‘ˆAð0ð 0ð 0ð 0ð 0ð 0à�5˜‘8”8ˆOr   c                 ó2   ‡— | dz   Šˆfd„}|} || ¦  «        S )z Test closure assignmentr   c                 ó   •— | ‰z   S r   r   r¡   s    €r   rg   zETestInlinedClosure.test_bulk_use_cases.<locals>.outer9.<locals>.inner  ry   r   r   )r   rg   Úfr†   s      @r   Úouter9z6TestInlinedClosure.test_bulk_use_cases.<locals>.outer9
  s7   ø€ à�A‘ˆAðð ð ð ð àˆAØ�1�Q‘4”4ˆKr   c                 ó:   ‡‡— | dz   Šˆfd„Šˆfd„} || ¦  «        S )z! Test two inner, one calls other r   c                 ó   •— | ‰z   S r   r   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer10.<locals>.inner  ry   r   c                 ó   •—  ‰| ¦  «        S r   r   ri   s    €r   r¢   zGTestInlinedClosure.test_bulk_use_cases.<locals>.outer10.<locals>.inner2  s   ø€ Ø�u˜Q‘x”x�r   r   )r   r¢   rg   r†   s     @@r   Úouter10z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer10  sO   øø€ à�A‘ˆAðð ð ð ð ð ð  ð  ð  ð  ð �6˜!‘9”9Ðr   c                 ó   ‡— | dz   Šˆfd„}|S )z return the closure r   c                 ó   •— | ‰z   S r   r   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer11.<locals>.inner#  ry   r   r   ©r   rg   r†   s     @r   Úouter11z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer11  s*   ø€ à�A‘ˆAðð ð ð ð àˆLr   c                 ó0   ‡— | dz   Šdˆfd„	} || ¦  «        S )z closure with kwargr   é   c                 ó   •— | ‰z   |z   S r   r   ©r   Úkwr†   s     €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer12.<locals>.inner+  ó   ø€ Ø˜1‘u˜r‘zÐ!r   ©rÁ   r   r¾   s     @r   Úouter12z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer12'  s7   ø€ à�A‘ˆAð"ð "ð "ð "ð "ð "à�5˜‘8”8ˆOr   rÁ   c                 ó   — | dz   |z   }|S )z outer with kwarg no closurer   r   rÃ   s      r   Úouter13z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer13/  s   € à�A‘˜‘
ˆAØˆHr   c                 ó2   ‡‡— | dz   Šˆˆfd„} || ¦  «        S )z! outer with kwarg used in closurer   c                 ó   •— | ‰z   ‰z   S r   r   rÃ   s    €€r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer14.<locals>.inner8  rÅ   r   r   ©r   rÄ   rg   r†   s    ` @r   Úouter14z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer144  s8   øø€ à�A‘ˆAð"ð "ð "ð "ð "ð "à�5˜‘8”8ˆOr   c                 ó0   ‡— | dz   Šˆfd„} || |¦  «        S )z# outer with kwarg as arg to closurer   c                 ó   •— | ‰z   |z   S r   r   rÃ   s     €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer15.<locals>.inner@  rÅ   r   r   rÌ   s      @r   Úouter15z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer15<  s5   ø€ à�A‘ˆAð"ð "ð "ð "ð "à�5˜˜B‘<”<Ðr   c                 óH   ‡— | dz   Šˆfd„}t           || ¦  «        ¦  «        S )z( closure is generator, consumed locally r   c              3   ó   •K  — | ‰z   V — d S r   r   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer16.<locals>.innerH  ó   øè è € Ø˜!‘e�����r   )Úlistr¾   s     @r   Úouter16z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer16D  s;   ø€ à�A‘ˆAðð ð ð ð õ ˜˜˜a™œ‘>”>Ð!r   c                 ó.   ‡— | dz   Šˆfd„} || ¦  «        S )z  closure is generator, returned r   c              3   ó   •K  — | ‰z   V — d S r   r   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer17.<locals>.innerQ  rÓ   r   r   r¾   s     @r   Úouter17z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer17M  s4   ø€ à�A‘ˆAðð ð ð ð ð �5˜‘8”8ˆOr   c                 ó<   ‡— | dz   Šˆfd„} || ¦  «        D ]}|}Œ|S )z( closure is generator, consumed in loop r   c              3   ó   •K  — | ‰z   V — d S r   r   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer18.<locals>.innerZ  rÓ   r   r   )r   rg   r‹   rª   r†   s       @r   Úouter18z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer18V  sJ   ø€ à�A‘ˆAðð ð ð ð ð �U˜1‘X”Xð ð �Ø��àˆHr   c                 óF   ‡‡— | dz   Š| dz   Šˆfd„}ˆfd„} ||| ¦  «        S )z# closure as arg to another closure r   r<   c                 ó   •— | ‰z   S r   r   )r   Úz1s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer19.<locals>.innerg  s   ø€ Ø˜2‘v�r   c                 ó    •—  | |¦  «        ‰z   S r   r   )r¶   r   Úz2s     €r   r¢   zGTestInlinedClosure.test_bulk_use_cases.<locals>.outer19.<locals>.inner2j  s   ø€ Ø�q˜‘t”t˜b‘yÐ r   r   )r   rg   r¢   rÞ   rà   s      @@r   Úouter19z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer19b  s\   øø€ à�Q‘ˆBØ�Q‘ˆBðð ð ð ð ð!ð !ð !ð !ð !ð �6˜% Ñ#Ô#Ð#r   c                 ó.   ‡— | dz   Šˆfd„} || ¦  «        S )z Test calling numpy in closure r   c                 ó2   •— | t          j        ‰¦  «        z   S r   )ÚnumpyÚcosr¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer20.<locals>.inners  s   ø€ Ø�5œ9 Q™<œ<Ñ'Ð'r   r   r¾   s     @r   Úouter20z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer20o  s2   ø€ à�A‘ˆAð(ð (ð (ð (ð (à�5˜‘8”8ˆOr   c                 ó.   ‡— | dz   Šˆfd„} || ¦  «        S )z) Test calling numpy import as in closure r   c                 ó2   •— | t          j        ‰¦  «        z   S r   )Únprå   r¡   s    €r   rg   zFTestInlinedClosure.test_bulk_use_cases.<locals>.outer21.<locals>.inner{  s   ø€ Ø�2œ6 !™9œ9‘}Ð$r   r   r¾   s     @r   Úouter21z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer21w  s2   ø€ à�A‘ˆAð%ð %ð %ð %ð %à�5˜‘8”8ˆOr   c                  ó   — d„ } d} | |Ž  dS )z6Test to ensure that unsupported *args raises correctlyc                 ó   — d S r   r   )rL   Úbs     r   ÚbarzDTestInlinedClosure.test_bulk_use_cases.<locals>.outer22.<locals>.bar�  s   € Ø�r   ©r   r<   Nr   )rî   r   s     r   Úouter22z7TestInlinedClosure.test_bulk_use_cases.<locals>.outer22  s%   € ðð ð àˆAØˆC�ˆGˆGˆGˆGr   r   Tr-   Nz.Unsupported use of op_LOAD_CLOSURE encounteredz%Cannot capture the non-constant valuez-The use of yield in a closure is unsupported.z,Calling a closure with *args is unsupported.rÆ   )
r   r   ÚassertRaisesÚNotImplementedErrorr   ÚassertInÚstrÚ	exceptionr   r   )r   r“   r–   rš   r�   r¥   r¬   r°   r³   r·   r»   r¿   rÇ   rÉ   rÍ   rÐ   rÕ   rØ   rÛ   rá   ræ   rê   rð   r¶   Úrefrm   ÚvarÚraisesÚmsgr¯   r�   s                                @@r   Útest_bulk_use_casesz&TestInlinedClosure.test_bulk_use_cases¶   s  øø€ õ 
ð	-ð 	-ð 	-ð 	-ñ 
Œð	-ð
	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð		ð 		ð 		ð	ð 	ð 	ð	ð 	ð 	ð Ðð	,ð 	,ð 	,ð 	,ð 	,ð
 Ðð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð
	ð 
	ð 
	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð 	ð
	ð 	ð 	ð 	ð	 ð 	 ð 	 ð 	 ð	"ð 	"ð 	"ð	ð 	ð 	ð
	ð 
	ð 
	ð	$ð 	$ð 	$ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð �V˜V V¨V°VØ�W˜g w°Ø�g˜w¨ð1ˆð ð 	3ð 	3ˆCÝ˜‘I”IˆEØˆCØ×Ò˜U˜U 3™ZœZ¨¨¨S©¬Ñ2Ô2Ð2Ð2ð ×ÒÕ2Ñ3Ô3ð 	°vØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ?ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×ÒÕ2Ñ3Ô3ð 	°vØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ?ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×Ò�{Ñ+Ô+ð 	¨vØ&•C Ð&Ñ&Ô& wÑ/Ô/ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 6ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×ÒÕ/Ñ0Ô0ð 	°FØ&•C Ð&Ñ&Ô& wÑ/Ô/ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð >ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×ÒÕ/Ñ0Ô0ð 	°FØ&•C Ð&Ñ&Ô& wÑ/Ô/ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð >ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×ÒÕ/Ñ0Ô0ð 	°FØ&•C Ð&Ñ&Ô& wÑ/Ô/ˆEØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð >ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1à×ÒÕ/Ñ0Ô0ð 	°FØ&•C Ð&Ñ&Ô& wÑ/Ô/ˆEØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð =ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s~   Ã%D Ä DÄDÅ%F Æ FÆFÇ%H È HÈHÉ%J Ê JÊJË%L Ì LÌLÍ%N Î NÎNÏ$O?Ï?PÐPc                 ól  — t          t          ¬¦  «        d„ ¦   «         }|                       |dd¦  «        d¦  «         |j        |j        d                  j        d         }g }|j                             ¦   «         D ]j}|j        D ]`}t          |t          j        ¦  «        rDt          |j        t          j        ¦  «        r%|j        j        dk    r|                     |¦  «         ŒaŒk|                      t          |¦  «        d	¦  «         |D ]&}|j        j        }d
}|                      ||¦  «         Œ'd S )N)Úpipeline_classc                 ó4   — d„ } || ¦  «         ||¦  «        fS )Nc                 ó   — d}d}||z   | z   S )Né   r   r   r…   s      r   rî   zITestInlinedClosure.test_closure_renaming_scheme.<locals>.foo.<locals>.barÀ  s   € Ø�Ø�Ø˜1‘u˜q‘yÐ r   r   )rL   rí   rî   s      r   Úfooz<TestInlinedClosure.test_closure_renaming_scheme.<locals>.foo¾  s-   € ð!ð !ð !ð �3�q‘6”6˜3˜3˜q™6œ6�>Ð!r   r   é   )é   é#   r   Úpreserved_irrÿ   r<   zclosure__locals__bar_v[0-9]+.x)r   r	   r   Ú	overloadsÚ
signaturesÚmetadataÚblocksÚvaluesÚbodyÚ
isinstancer   ÚAssignÚvalueÚConstÚappendÚlenÚtargetÚnameÚassertRegex)	r   r   Úfunc_irÚstoreÚblkÚstmtr‹   r  Úregexs	            r   Útest_closure_renaming_schemez/TestInlinedClosure.test_closure_renaming_schemeº  sL  € õ 
Õ5Ð	6Ñ	6Ô	6ð	"ð 	"ñ 
7Ô	6ð	"ð 	×Ò˜˜˜R ™œ hÑ/Ô/Ð/ð ”- ¤¨qÔ 1Ô2Ô;¸NÔKˆØˆØ”>×(Ò(Ñ*Ô*ð 	/ð 	/ˆCØœð /ð /�Ý˜d¥B¤IÑ.Ô.ð /Ý! $¤*­b¬hÑ7Ô7ð /Øœ:Ô+¨qÒ0Ð0Ø!ŸLšL¨Ñ.Ô.Ð.øð	/ð 	×Ò�˜U™œ QÑ'Ô'Ð'Øð 	*ð 	*ˆAØ”8”=ˆDØ5ˆEØ×Ò˜T 5Ñ)Ô)Ð)Ð)ð	*ð 	*r   c                 óœ   ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }t          j                              |¦   «         d¦  «         d S )Nc                  ó   — dd„} | S )Nçš™™™™™ñ?c                 ó   — | |z   S r   r   rr   s     r   rî   z;TestInlinedClosure.test_issue9222.<locals>.foo.<locals>.barâ  rh   r   )r  r   )rî   s    r   r   z.TestInlinedClosure.test_issue9222.<locals>.fooà  s   € ðð ð ð àˆJr   c                  ó*   •—   ‰ ¦   «         d¦  «        S rP   r   )r   s   €r   Úconsumez2TestInlinedClosure.test_issue9222.<locals>.consumeæ  s   ø€ à�3�3‘5”5˜‘8”8ˆOr   gffffff@)r   ré   ÚtestingÚassert_allclose)r   r  r   s     @r   Útest_issue9222z!TestInlinedClosure.test_issue9222Ü  si   ø€ õ 
ð	ð 	ñ 
Œð	õ
 
ð	ð 	ð 	ð 	ñ 
Œð	õ
 	Œ
×"Ò" 7 7¡9¤9¨gÑ6Ô6Ð6Ð6Ð6r   N)r_   r`   ra   Ú__doc__rn   ru   rz   r€   rŒ   rú   r  r"  r   r   r   rc   rc   a   s›   € € € € € ðð ð
/ð 
/ð 
/ð/ð /ð /ð/ð /ð /ð5ð 5ð 5ð(/ð /ð /ð&B2ð B2ð B2ðH *ð  *ð  *ðD7ð 7ð 7ð 7ð 7r   rc   c                   óN   — e Zd Ze ed¬¦  «        gZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestObjmodeFallbackTr%   c                 ó"  — d„ }t           j                             d¦  «        }t          j        t           j                             dd¦  «        dz  ¦  «                             t
          ¦  «        }| j        D ]}  ||¦  «        ||¦  «         Œd S )Nc                 ó¨   ‡— | j         \  }}t          |¦  «        D ]6}| |         Št          t          ‰¦  «        d¬¦  «        }ˆfd„|D ¦   «          Œ7d S )NT)Úreversec                 ó~   •— g | ]9}t          t          j        ‰|k    ¦  «                             ¦   «         ¦  «        ‘Œ:S r   )Úsetré   ÚargwhereÚflatten)r©   r   Úcoxvs     €r   r«   zLTestObjmodeFallback.test_issue2955.<locals>.numbaFailure.<locals>.<listcomp>þ  s;   ø€ ÐGÐGÐG¸1••R”[ ¨¢Ñ+Ô+×3Ò3Ñ5Ô5Ñ6Ô6ÐGÐGÐGr   )Úshaper‰   Úsortedr*  )ÚscoresÚcoocÚrowsÚcolsr‹   Úgroupsr-  s         @r   ÚnumbaFailurez8TestObjmodeFallback.test_issue2955.<locals>.numbaFailureù  so   ø€ Øœ‰JˆD�$Ý˜4‘[”[ð Hð H�Ø˜a”y�Ý¥ D¡	¤	°4Ð8Ñ8Ô8�ØGÐGÐGÐGÀÐGÑGÔGÐGÐGðHð Hr   )r   r   r   gƒÀÊ¡E¶û?)ré   ÚrandomÚabsÚrandnÚastypeÚintÚ
decorators)r   r5  r   rs   Úds        r   Útest_issue2955z"TestObjmodeFallback.test_issue2955÷  s•   € ð	Hð 	Hð 	Hõ ŒI×Ò˜XÑ&Ô&ˆÝŒF•B”I—O’O B¨Ñ+Ô+¨eÑ3Ñ5Ô5×<Ò<½SÑAÔAˆØ”ð 	"ð 	"ˆAØˆAˆAˆl‰OŒO˜A˜qÑ!Ô!Ð!Ð!ð	"ð 	"r   c                 óÒ  — d„ }| j         D ]Û}  ||¦  «        t          j        d¦  «                             dd¦  «        t          j        d¦  «                             dd¦  «        ¦  «        } |t          j        d¦  «                             dd¦  «        t          j        d¦  «                             dd¦  «        ¦  «        }t          j                             ||¦  «         ŒÜd S )Nc                 óÖ  — t          | ¦  «        t          j        urt          j        | ¦  «        } t          |¦  «        t          j        urt          j        |¦  «        }| j        \  }}t          j        t          j        d„ t          |¦  «        D ¦   «         ¦  «        | f¦  «        } t          j        t          j        | | j        ¦  «        |¦  «        }|d         }|dd …         }||fS )Nc                 ó   — g | ]}d g‘ŒS ©r   r   ©r©   Ú_s     r   r«   zCTestObjmodeFallback.test_issue3239.<locals>.fit.<locals>.<listcomp>  s   € Ð0Ð0Ð0 !˜1˜#Ð0Ð0Ð0r   r   r   )	Útyperé   ÚndarrayÚarrayr.  Úhstackr‰   ÚdotÚT)ÚXrs   ÚmrC  ÚresÚ	interceptÚcoefss          r   Úfitz/TestObjmodeFallback.test_issue3239.<locals>.fit  sÈ   € Ý�A‰wŒw�bœjÐ(Ð(Ý”H˜Q‘K”K�å�A‰wŒw�bœjÐ(Ð(Ý”H˜Q‘K”K�à”7‰DˆAˆqÝ”	Ý”Ð0Ð0¥u¨Q¡x¤xÐ0Ñ0Ô0Ñ1Ô1Øðñ ô ˆAõ
 ”&�œ  1¤3™œ¨Ñ+Ô+ˆCØ˜AœˆIØ˜˜˜”GˆEØ˜eÐ#Ð#r   r   r   )r;  ré   ÚarangeÚreshaper   Úassert_equal)r   rO  r<  rL  Úexps        r   Útest_issue3239z"TestObjmodeFallback.test_issue3239  sÝ   € ð	$ð 	$ð 	$ð$ ”ð 	.ð 	.ˆAØ�!�!�C‘&”&�œ 2™œ×.Ò.¨q°"Ñ5Ô5Ýœ 2™œ×.Ò.¨q°"Ñ5Ô5ñ7ô 7ˆCà�#•b”i ‘m”m×+Ò+¨A¨rÑ2Ô2Ý”i ‘m”m×+Ò+¨A¨rÑ2Ô2ñ4ô 4ˆCåŒJ×#Ò# C¨Ñ-Ô-Ð-Ð-ð	.ð 	.r   c                 óT   ‡— ddgŠˆfd„}| j         D ]}  ||¦  «        ¦   «          Œd S )N)rÿ   é|   )é4   rÿ   c                  óH   •— ˆfd„dD ¦   «          t          d¦  «        D ]} Œd S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r   r   )r©   Úindexrí   s     €r   r«   zATestObjmodeFallback.test_issue3289.<locals>.a.<locals>.<listcomp>$  s   ø€ Ð*Ð*Ð*˜%ˆQˆuŒXÐ*Ð*Ð*r   )r   r   rÿ   rˆ   )r   rí   s    €r   rL   z-TestObjmodeFallback.test_issue3289.<locals>.a#  s?   ø€ Ø*Ð*Ð*Ð* 6Ð*Ñ*Ô*Ð*Ý˜1‘X”Xð ð �Øðð r   )r;  )r   rL   r<  rí   s      @r   Útest_issue3289z"TestObjmodeFallback.test_issue3289   sX   ø€ Ø�wÐˆð	ð 	ð 	ð 	ð 	ð ”ð 	ð 	ˆAØˆAˆAˆa‰DŒD‰FŒFˆFˆFð	ð 	r   c                 óÒ   — d„ }t          j        d¦  «        dgddggdœ}| j        D ]?}  ||¦  «        |¦  «        }t           j                             | ||¦  «        ¦  «         Œ@d S )Nc                 ó‚   — t          d„ | d         D ¦   «         ¦  «        }| d         dk    }t          |¦  «        rd}||fS )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r  )r©   rK  s     r   r«   zCTestObjmodeFallback.test_issue3413.<locals>.foo.<locals>.<listcomp>.  s   € Ð/Ð/Ð/ •S˜‘V”VÐ/Ð/Ð/r   rs   r   r   é   )ÚmaxÚany)Údatarª   Úmaskr†   s       r   r   z/TestObjmodeFallback.test_issue3413.<locals>.foo,  sK   € åÐ/Ð/ T¨#¤YÐ/Ñ/Ô/Ñ0Ô0ˆAà˜”9 ’>ˆDÝ�4‰yŒyð Ø�Ø�a�4ˆKr   rÿ   r   r<   é   rr   )ré   rP  r;  r   r!  )r   r   rb  r<  rL  s        r   Útest_issue3413z"TestObjmodeFallback.test_issue3413*  s…   € ð	ð 	ð 	õ ”Y˜q‘\”\¨!¨¨q°!¨f¨Ð6Ð6ˆØ”ð 	7ð 	7ˆAØ�!�!�C‘&”&˜‘,”,ˆCÝŒJ×&Ò& s¨C¨C°©I¬IÑ6Ô6Ð6Ð6ð	7ð 	7r   c                 ó–   — d„ }| j         D ]=}  ||¦  «        ¦   «         }t          j                             | |¦   «         ¦  «         Œ>d S )Nc                  óf   — t          j        d¦  «        } t          j        d„ | D ¦   «         ¦  «        S )N)rï   )rd  rQ   c                 ó   — g | ]}|‘ŒS r   r   ©r©   r   s     r   r«   zDTestObjmodeFallback.test_issue3659.<locals>.main.<locals>.<listcomp>>  s   € ˜N˜N˜N 1˜Q˜N˜N˜Nr   )ré   rF  rK   s    r   Úmainz0TestObjmodeFallback.test_issue3659.<locals>.main<  s,   € Ý”Ð)Ñ*Ô*ˆAÝ”8˜N˜N¨˜N™NœNÑ+Ô+Ð+r   )r;  ré   r   r!  )r   rj  r<  rL  s       r   Útest_issue3659z"TestObjmodeFallback.test_issue3659:  sb   € ð	,ð 	,ð 	,ð ”ð 	4ð 	4ˆAØ�!�!�D‘'”'‘)”)ˆCÝŒJ×&Ò& s¨D¨D©F¬FÑ3Ô3Ð3Ð3ð	4ð 	4r   c                 óÂ   — d„ }t          j        d¦  «        }| j        D ]?}  ||¦  «        |¦  «        }t           j                             | ||¦  «        ¦  «         Œ@d S )Nc                 ó’   — t          j        d„ | j        D ¦   «         ¦  «         t          j        d„ | j        D ¦   «         ¦  «         | S )Nc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r   ©ré   Úfloat_ri  s     r   r«   zFTestObjmodeFallback.test_issue3803.<locals>.center.<locals>.<listcomp>F  ó    € Ð0Ð0Ð0 q•b”i ‘l”lÐ0Ð0Ð0r   c                 ó6   — g | ]}t          j        d ¦  «        ‘ŒS rA  ro  rB  s     r   r«   zFTestObjmodeFallback.test_issue3803.<locals>.center.<locals>.<listcomp>G  rq  r   )ré   rF  rI  )rJ  s    r   Úcenterz2TestObjmodeFallback.test_issue3803.<locals>.centerE  sI   € ÝŒHÐ0Ð0¨A¬CÐ0Ñ0Ô0Ñ1Ô1Ð1ÝŒHÐ0Ð0¨A¬CÐ0Ñ0Ô0Ñ1Ô1Ð1ØˆHr   )r   )ré   Úzerosr;  r   r!  )r   rs  rJ  r<  rL  s        r   Útest_issue3803z"TestObjmodeFallback.test_issue3803C  ss   € ð	ð 	ð 	õ
 ŒH�U‰OŒOˆØ”ð 	7ð 	7ˆAØ�!�!�F‘)”)˜A‘,”,ˆCÝŒJ×&Ò& s¨F¨F°1©I¬IÑ6Ô6Ð6Ð6ð	7ð 	7r   N)r_   r`   ra   r   r;  r=  rT  r[  re  rk  ru  r   r   r   r%  r%  ï  s‡   € € € € € ð �s�s DÐ)Ñ)Ô)Ð*€Jð"ð "ð "ð.ð .ð .ð6ð ð ð7ð 7ð 7ð 4ð 4ð 4ð
7ð 
7ð 
7ð 
7ð 
7r   r%  Ú__main__)rä   ré   ÚunittestÚnumbar   r   Únumba.core.errorsr   r   Ú
numba.corer   Únumba.tests.supportr   r	   r   rc   r%  r_   rj  r   r   r   ú<module>r|     s<  ðà Ð Ð Ð Ø €€€à €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BðR3ð R3ð R3ð R3ð R3�(ñ R3ô R3ð R3ðjK7ð K7ð K7ð K7ð K7˜ñ K7ô K7ð K7ð\^7ð ^7ð ^7ð ^7ð ^7˜(ñ ^7ô ^7ð ^7ðB ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   