§
    ƒÛg¹®  ã                   ób  — d Z 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mZ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mZ ddlmZ ddlmZm Z  dd	l!m"Z" dd
l#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ dZ, ed¬¦  «        d„ ¦   «         Z-d„ Z. ee.d¬¦  «        d„ ¦   «         Z/ G d„ de&¦  «        Z0dZ1d„ Z2 G d„ de(e0¦  «        Z3 G d„ de(e0¦  «        Z4 G d„ de(e0¦  «        Z5 G d„ de0¦  «        Z6 G d„ de(e0¦  «        Z7 G d „ d!e&¦  «        Z8 G d"„ d#e&¦  «        Z9e:d$k    r e'j;        ¦   «          dS dS )%zn
This tests the inline kwarg to @jit and @overload etc, it has nothing to do with
LLVM or low level inlining.
é    N)Úproduct)ÚnjitÚtypeofÚ	literallyÚprange)ÚtypesÚirÚir_utilsÚcgutilsÚerrorsÚutils)ÚoverloadÚoverload_methodÚoverload_attributeÚregister_modelÚmodelsÚmake_attribute_wrapperÚ	intrinsicÚregister_jitable)ÚInlineOptions)ÚDefaultPassBuilderÚCompilerBase)ÚInlineOverloads©Ú	signature)ÚTestCaseÚunittestÚMemoryLeakMixinÚIRPreservingTestPipelineÚskip_parfors_unsupportedÚignore_internal_warningsiÎÿÿÿÚalways©Úinlinec                 ó   — | dz   S ©Né   © ©Úxs    úR/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_ir_inlining.pyÚ_global_funcr,   &   s   € àˆq‰5€Ló    c                 ó   — | dz   S r&   r(   r)   s    r+   Ú_global_defnr/   ,   s   € Øˆq‰5€Lr-   c                 ó   — t           S ©N©r/   r)   s    r+   Ú_global_overloadr3   0   s   € åÐr-   c                   ó(   — e Zd ZdZdddœZd„ Zd„ ZdS )ÚInliningBaseFT©r"   Úneverc                 óì   — |j                              ¦   «         D ]Y}|j        D ]O}t          |t          j        ¦  «        r3t          |j        t          j        ¦  «        r|j        j        dk    r  dS ŒPŒZdS )Né   TF)ÚblocksÚvaluesÚbodyÚ
isinstancer	   ÚAssignÚvalueÚFreeVar)ÚselfÚfunc_irÚblkÚstmts       r+   Úsentinel_17_cost_modelz#InliningBase.sentinel_17_cost_model>   s‚   € ð ”>×(Ò(Ñ*Ô*ð 	(ð 	(ˆCØœð (ð (�Ý˜d¥B¤IÑ.Ô.ð (Ý! $¤*­b¬jÑ9Ô9ð (Øœ:Ô+¨rÒ1Ð1Ø#' 4 4 4øð	(ð
 ˆur-   c                 ó´  — |                      dd ¦  «        }|sJ ‚|                      dd¦  «        }|rJ ‚|                     ¦   «         D ]3\  }}t          |t          ¦  «        sJ ‚t          |t          ¦  «        sJ ‚Œ4 t          t          ¬¦  «        |¦  «        }|                       ||Ž  ||Ž ¦  «         |j        |j	        d                  j
        d         }	t          j        |	j        ¦  «        |	_        | j        r7t          d                     dd	¦  «        ¦  «         |	                     ¦   «          |d
k    r(|                      t%          |	j        ¦  «        |¦  «         t'          t)          |	j                             ¦   «         ¦  «        ¦  «        }
d„ |
                     ¦   «         D ¦   «         }|sJ ‚|                     ¦   «         D ]Š\  }}d}|D ]g}t/          |dd¦  «        dk    r)|	                     |j        ¦  «        }||j        |k    z  }Œ@t          j        |¦  «        r||j        j        |k    z  }Œh|                      ||k    ¦  «         Œ‹|	S )NÚinline_expectÚblock_countr'   ©Úpipeline_classr   Úpreserved_irÚFIRéP   ú-ÚSKIPc                 ó   — g | ]}|‘ŒS r(   r(   ©Ú.0r*   s     r+   ú
<listcomp>z&InliningBase.check.<locals>.<listcomp>e   s   € Ð/Ð/Ð/�q�Ð/Ð/Ð/r-   FÚopÚcall)ÚpopÚitemsr=   ÚstrÚboolr   r   ÚassertEqualÚ	overloadsÚ
signaturesÚmetadatar
   Úsimplify_CFGr:   Ú_DEBUGÚprintÚcenterÚdumpÚlenÚnextÚiterr;   Ú
find_exprsÚgetattrÚget_definitionÚfuncÚnameÚis_operator_or_getitemÚfnÚ__name__ÚassertFalse)rA   Ú	test_implÚargsÚkwargsrG   rH   ÚkÚvÚj_funcÚfirÚblockÚexprsÚfoundÚexprÚ	func_defns                  r+   ÚcheckzInliningBase.checkK   sd  € ØŸ
š
 ?°DÑ9Ô9ˆØÐÐÐØ—j’j °Ñ2Ô2ˆØÐÐÐØ!×'Ò'Ñ)Ô)ð 	'ð 	'‰DˆAˆqÝ˜a¥Ñ%Ô%Ð%Ð%Ð%Ý˜a¥Ñ&Ô&Ð&Ð&Ð&Ð&à>•Õ%=Ð>Ñ>Ô>¸yÑIÔIˆð 	×Ò˜˜ DÐ)¨6¨6°4¨=Ñ9Ô9Ð9ð Ô˜vÔ0°Ô3Ô4Ô=¸nÔMˆÝÔ*¨3¬:Ñ6Ô6ˆŒ
ØŒ;ð 	Ý�%—,’,˜r 3Ñ'Ô'Ñ(Ô(Ð(Ø�HŠH‰JŒJˆJØ˜&Ò Ð Ø×Ò�S ¤™_œ_¨kÑ:Ô:Ð:Ý•T˜#œ*×+Ò+Ñ-Ô-Ñ.Ô.Ñ/Ô/ˆð 0Ð/˜E×,Ò,Ñ.Ô.Ð/Ñ/Ô/ˆØˆˆˆØ!×'Ò'Ñ)Ô)ð 	)ð 	)‰DˆAˆqØˆEØð 3ð 3�Ý˜4  uÑ-Ô-°Ò7Ð7Ø #× 2Ò 2°4´9Ñ =Ô =�IØ˜Yœ^¨qÒ0Ñ0�E�EÝÔ4°TÑ:Ô:ð 3Ø˜TœWÔ-°Ò2Ñ2�EøØ×Ò˜U ašZÑ(Ô(Ð(Ð(àˆ
r-   N)rm   Ú
__module__Ú__qualname__r_   Úinline_opt_as_boolrE   r{   r(   r-   r+   r5   r5   5   sE   € € € € € à€Fà$(°5Ð9Ð9Ðð
	ð 	ð 	ð&ð &ð &ð &ð &r-   r5   éÒ  c                  ó   ‡— dŠdˆfd„	} | S )NiþÊ  é   ù              ð?c                 óÎ  •— | |z   }| ‰z  } t          j        |t           j        ¬¦  «        }||z   }d|z  }d}	d}
t          j        |¦  «        dk    �r ||z  }t          j        d|dz   ¦  «        }t          j        ||z
  ¦  «        ||z  z   }t          j        |d         ¦  «        dk     r<t          | ¦  «        D ]!}|	dz  }	t          j        |	¦  «        dk     r nŒ"|	|d         z  }	||z  }g }t          t          |¦  «        ¦  «        D ]H}|                     ||         ¦  «         |dk    rd}d}
|d	|z
  k    r|
|z  }
|
|d         t          z   z  }
ŒI||z   |z   |
z   |z   | z   |	z   S )
N©Údtyper‚   r   r'   é   é   é   é{   éz   )
ÚnpÚzerosÚ	complex64ÚabsÚarangeÚsqrtÚrangerc   ÚappendÚ_GLOBAL)ÚaÚbÚcÚdÚeÚfÚgÚhÚiÚnÚtrr   ÚlÚmÚoÚpÚqÚrÚsÚ_FREEVARs                      €r+   Úfooz_gen_involved.<locals>.foo{   s‡  ø€ Ø�‰EˆØ	ˆX‰ˆÝŒH�Q�bœlÐ+Ñ+Ô+ˆØ�‰EˆØ�‰FˆàˆØˆÝŒ6�!‰9Œ9�qŠ=‰=Ø�A‘ˆAÝ”	˜!˜Q ™UÑ#Ô#ˆAÝ”˜˜A™‘”  Q¡Ñ&ˆAÝŒv�a˜”d‰|Œ|˜aÒÐÝ˜q™œð ð �AØ˜‘F�AÝ”v˜a‘y”y 1’}�}Ø˜ð %à�Q�q”T‘	�Ø�A‘ˆAØˆAÝ�3˜q™6œ6‘]”]ð $ð $�Ø—’˜˜1œ‘”�Ø�u’9�9Ø�AØ�AØ˜3 ™7’{�{Ø˜Q™˜Ø�Q�q”T�G‘^Ñ#��à�1‰u�q‰y˜1‰}˜qÑ  1Ñ$ qÑ(Ð(r-   )r�   r‚   Nr(   )r§   r¦   s    @r+   Ú_gen_involvedr¨   x   s.   ø€ Ø€Hð)ð )ð )ð )ð )ð )ð@ €Jr-   c                   ó    — e Zd Zd„ Zd„ Zd„ Z ej        d¦  «        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 )ÚTestFunctionInliningc                 óv   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddi¬¦  «         d S )Nr7   r#   c                  ó   — d S r1   r(   r(   r-   r+   r§   z9TestFunctionInlining.test_basic_inline_never.<locals>.foo¡   ó   € àˆFr-   c                  ó   •—  ‰ ¦   «         S r1   r(   ©r§   s   €r+   Úimplz:TestFunctionInlining.test_basic_inline_never.<locals>.impl¥   ó   ø€ Ø�3‘5”5ˆLr-   r§   F©rG   ©r   r{   ©rA   r°   r§   s     @r+   Útest_basic_inline_neverz,TestFunctionInlining.test_basic_inline_never    sa   ø€ Ý	�WÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	à�
Š
�4¨¨u ~ˆ
Ñ6Ô6Ð6Ð6Ð6r-   c                 óv   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddi¬¦  «         d S )Nr"   r#   c                  ó   — d S r1   r(   r(   r-   r+   r§   z:TestFunctionInlining.test_basic_inline_always.<locals>.fooª   r­   r-   c                  ó   •—  ‰ ¦   «         S r1   r(   r¯   s   €r+   r°   z;TestFunctionInlining.test_basic_inline_always.<locals>.impl®   r±   r-   r§   Tr²   r³   r´   s     @r+   Útest_basic_inline_alwaysz-TestFunctionInlining.test_basic_inline_always©   sa   ø€ Ý	�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	à�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó`  ‡‡‡	— ˆˆˆ	fd„}d}t          |||¦  «        D ]�\  }}}t          |¬¦  «        d„ ¦   «         Š	t          |¬¦  «        d„ ¦   «         Št          |¬¦  «        d„ ¦   «         Š| j        |         | j        |         | j        |         dœ}|                      ||¬¦  «         Œ�d S )	Nc                  óJ   •—  ‰¦   «         }  ‰¦   «         } ‰¦   «         }| ||fS r1   r(   ©r*   ÚyÚzÚbarÚbazr§   s      €€€r+   r°   z;TestFunctionInlining.test_basic_inline_combos.<locals>.impl´   ó/   ø€ Ø�‘”ˆAØ�‘”ˆAØ�‘”ˆAØ�a˜�7ˆNr-   r6   r#   c                  ó   — d S r1   r(   r(   r-   r+   r§   z:TestFunctionInlining.test_basic_inline_combos.<locals>.foo¾   ó   € à�r-   c                  ó   — d S r1   r(   r(   r-   r+   r¿   z:TestFunctionInlining.test_basic_inline_combos.<locals>.barÂ   rÃ   r-   c                  ó   — d S r1   r(   r(   r-   r+   rÀ   z:TestFunctionInlining.test_basic_inline_combos.<locals>.bazÆ   rÃ   r-   ©r§   r¿   rÀ   r²   )r   r   r~   r{   )
rA   r°   ÚoptsÚ
inline_fooÚ
inline_barÚ
inline_bazrG   r¿   rÀ   r§   s
          @@@r+   Útest_basic_inline_combosz-TestFunctionInlining.test_basic_inline_combos²   s  øøø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ˆå29¸$ÀÀdÑ2KÔ2Kð 	:ð 	:Ñ.ˆJ˜
 Jå˜Ð$Ñ$Ô$ðð ñ %Ô$ðõ ˜Ð$Ñ$Ô$ðð ñ %Ô$ðõ ˜Ð$Ñ$Ô$ðð ñ %Ô$ðð %)Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GðIð IˆMð �JŠJ�t¨=ˆJÑ9Ô9Ð9Ð9ð#	:ð 	:r-   z$Need to work out how to prevent thisc                 ó‚   ‡‡— t          d¬¦  «        ˆfd„¦   «         ŠdŠˆˆfd„}|                      |ddi¬¦  «         d S )	Nr"   r#   c                 ó4   •— | dk    rdS  ‰| dz
  ¦  «         d S )Nr   r�   r'   r(   )r*   r§   s    €r+   r§   z7TestFunctionInlining.test_recursive_inline.<locals>.fooÒ   s&   ø€ à�AŠvˆvØ�rà��A˜‘E‘
”
�
�
�
r-   r†   c                  óR   •— d} ‰dk    r| dz  }  ‰d¦  «         | ‰k     r| dz  } d S d S )Nr   r'   rˆ   r(   )r•   r”   r§   s    €€r+   r°   z8TestFunctionInlining.test_recursive_inline.<locals>.implÛ   sD   ø€ ØˆAØ�1ŠuˆuØ�Q‘�ØˆC�‰FŒFˆFØ�1ŠuˆuØ�Q‘���ð ˆur-   r§   Tr²   r³   )rA   r°   r”   r§   s     @@r+   Útest_recursive_inlinez*TestFunctionInlining.test_recursive_inlineÏ   s|   øø€ õ 
�XÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	ð ˆð	ð 	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó  ‡‡	‡
— d„ }ˆˆ	ˆ
fd„}d}t          |||¦  «        D ]k\  }}} ||dd¦  «        Š
 ||dd¦  «        Š ||dd	¦  «        Š	| j        |         | j        |         | j        |         d
œ}|                      ||¬¦  «         Œld S )Nc                 óP   ‡‡‡— ‰dz   Št          | ¬¦  «        ˆˆˆfd„¦   «         }|S )Nr�   r#   c                  ó   •— ‰ ‰dz   ‰fS ©Nr†   r(   ©r*   r½   r¾   s   €€€r+   ri   zITestFunctionInlining.test_freevar_bindings.<locals>.factory.<locals>.funcê   s   ø€ à˜1˜q™5 !�}Ð$r-   )r   )r$   r*   r½   ri   r¾   s    `` @r+   Úfactoryz;TestFunctionInlining.test_freevar_bindings.<locals>.factoryç   sL   øøø€ Ø�B‘ˆAå˜Ð Ñ Ô ð%ð %ð %ð %ð %ð %ñ !Ô ð%àˆKr-   c                  óJ   •—  ‰¦   «         }  ‰¦   «         } ‰¦   «         }| ||fS r1   r(   r¼   s      €€€r+   r°   z8TestFunctionInlining.test_freevar_bindings.<locals>.implï   rÁ   r-   r6   é
   é   é   é(   é2   é<   rÆ   r²   ©r   r~   r{   )rA   rÕ   r°   rÇ   rÈ   rÉ   rÊ   rG   r¿   rÀ   r§   s           @@@r+   Útest_freevar_bindingsz*TestFunctionInlining.test_freevar_bindingså   sí   øøø€ ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ˆå29¸$ÀÀdÑ2KÔ2Kð 		:ð 		:Ñ.ˆJ˜
 Jà�'˜* b¨"Ñ-Ô-ˆCØ�'˜* b¨"Ñ-Ô-ˆCØ�'˜* b¨"Ñ-Ô-ˆCà$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GðIð IˆMð �JŠJ�t¨=ˆJÑ9Ô9Ð9Ð9ð		:ð 		:r-   c                 ó>   — d„ }|                       |ddi¬¦  «         d S )Nc                  ó$   — d} t          | ¦  «        S ©Né   )r,   r)   s    r+   r°   z6TestFunctionInlining.test_global_binding.<locals>.impl  ó   € ØˆAÝ ‘?”?Ð"r-   r,   Tr²   ©r{   ©rA   r°   s     r+   Útest_global_bindingz(TestFunctionInlining.test_global_binding  ó4   € ð	#ð 	#ð 	#ð 	�
Š
�4¨¸Ð'=ˆ
Ñ>Ô>Ð>Ð>Ð>r-   c                 óP   ‡— ddl mŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr'   ©r¿   c                  ó0   •— t           dz   }  ‰¦   «         | fS ©Nr‡   ©Ú_GLOBAL1©r¾   r¿   s    €r+   r°   zBTestFunctionInlining.test_inline_from_another_module.<locals>.impl  ó   ø€ Ý˜1‘ˆAØ�3‘5”5˜!�8ˆOr-   r¿   Tr²   )Úinlining_usecasesr¿   r{   ©rA   r°   r¿   s     @r+   Útest_inline_from_another_modulez4TestFunctionInlining.test_inline_from_another_module
  óP   ø€ à*Ð*Ð*Ð*Ð*Ð*ð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 óV   ‡— dd l mc mŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr   c                  óD   •— t           dz   } ‰                     ¦   «         | fS rë   )rí   r¿   ©r¾   Úiucs    €r+   r°   zLTestFunctionInlining.test_inline_from_another_module_w_getattr.<locals>.impl  ó   ø€ Ý˜1‘ˆAØ—7’7‘9”9˜a�<Ðr-   r¿   Tr²   ©Únumba.tests.inlining_usecasesÚtestsrð   r{   ©rA   r°   r÷   s     @r+   Ú)test_inline_from_another_module_w_getattrz>TestFunctionInlining.test_inline_from_another_module_w_getattr  óY   ø€ à3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ð	 ð 	 ð 	 ð 	 ð 	 ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 óX   ‡— dd l }dd lmŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr   c                  óN   •— t           dz   } ‰j                             ¦   «         | fS rë   )rí   rð   r¿   ©r¾   Únts    €r+   r°   zNTestFunctionInlining.test_inline_from_another_module_w_2_getattr.<locals>.impl#  ó&   ø€ Ý˜1‘ˆAØÔ'×+Ò+Ñ-Ô-¨qÐ0Ð0r-   r¿   Tr²   ©rú   Únumba.testsrû   r{   ©rA   Únumbar°   r  s      @r+   Ú+test_inline_from_another_module_w_2_getattrz@TestFunctionInlining.test_inline_from_another_module_w_2_getattr  ó\   ø€ à,Ð,Ð,Ð,Ø Ð Ð Ð Ð Ð ð	1ð 	1ð 	1ð 	1ð 	1ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó^   ‡— d„ } |¦   «         Šˆfd„}|                       |ddi¬¦  «         d S )Nc                  óJ   ‡— ddl mŠ t          d¬¦  «        ˆfd„¦   «         } | S )Nr'   ré   r"   r#   c                  ó   •—  ‰ ¦   «         S r1   r(   ré   s   €r+   Útmpz]TestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.factory.<locals>.tmp.  ó   ø€ à�s‘u”u�r-   )rð   r¿   r   )r  r¿   s    @r+   rÕ   zPTestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.factory+  óI   ø€ Ø.Ð.Ð.Ð.Ð.Ð.å˜Ð"Ñ"Ô"ðð ð ð ñ #Ô"ðàˆJr-   c                  ó0   •— t           dz   }  ‰¦   «         | fS rë   rì   ©r¾   rÀ   s    €r+   r°   zMTestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.impl5  rï   r-   r¿   Tr²   rä   )rA   rÕ   r°   rÀ   s      @r+   Ú*test_inline_from_another_module_as_freevarz?TestFunctionInlining.test_inline_from_another_module_as_freevar)  óZ   ø€ ð	ð 	ð 	ð ˆg‰iŒiˆð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 óh   ‡— ddl mŠ ˆfd„} |dd¦  «        }|                      |ddi¬¦  «         d S )	Nr'   )Úbaz_factoryc                 ó2   •‡ ‡‡—  ‰‰ ¦  «        Šˆ ˆˆfd„}|S )Nc                  ó8   •— t           ‰‰z  z   }  ‰¦   «         | ‰fS r1   rì   ©r¾   r”   r•   r¿   s    €€€r+   r°   zYTestFunctionInlining.test_inline_w_freevar_from_another_module.<locals>.gen.<locals>.implB  ó#   ø€ Ý˜q 1™uÑ$�Ø�s‘u”u˜a �{Ð"r-   r(   )r”   r•   r°   r¿   r  s   `` @€r+   ÚgenzKTestFunctionInlining.test_inline_w_freevar_from_another_module.<locals>.gen?  ó=   øøøø€ Ø�+˜a‘.”.ˆCð#ð #ð #ð #ð #ð #ð #ð ˆKr-   r×   rØ   r¿   Tr²   )rð   r  r{   )rA   r  r°   r  s      @r+   Ú)test_inline_w_freevar_from_another_modulez>TestFunctionInlining.test_inline_w_freevar_from_another_module;  ó_   ø€ à2Ð2Ð2Ð2Ð2Ð2ð	ð 	ð 	ð 	ð 	ð ˆs�2�r‰{Œ{ˆØ�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó@  ‡ ‡‡‡‡— ˆ fd„}ˆ fd„}dD ]D\  ŠŠt          |¬¦  «        ˆfd„¦   «         Šˆˆfd„}‰                      |dd‰d	k    i¬
¦  «         ŒEdD ]D\  ŠŠt          |¬¦  «        ˆfd„¦   «         Šˆˆfd„}‰                      |dd‰d	k    i¬
¦  «         ŒEd S )Nc                 ó¤   •— ‰                      | t          j        ¦  «         ‰                     | j        d¦  «         ‰                     |¦  «        S ©NrU   ©ÚassertIsInstancer	   ÚExprrZ   rT   rE   ©ry   Úcaller_infoÚcallee_inforA   s      €r+   Ús17_caller_modelzCTestFunctionInlining.test_inlining_models.<locals>.s17_caller_modelL  óG   ø€ Ø×!Ò! $­¬Ñ0Ô0Ð0Ø×Ò˜TœW fÑ-Ô-Ð-Ø×.Ò.¨{Ñ;Ô;Ð;r-   c                 ó¤   •— ‰                      | t          j        ¦  «         ‰                     | j        d¦  «         ‰                     |¦  «        S r   r!  r$  s      €r+   Ús17_callee_modelzCTestFunctionInlining.test_inlining_models.<locals>.s17_callee_modelQ  r(  r-   )©é   r9   ©r9   r,  r#   c                  ó   •— ‰ S r1   r(   ©Úcallees   €r+   r§   z6TestFunctionInlining.test_inlining_models.<locals>.fooY  ó   ø€ à�r-   c                 ó0   •— | ‰z   } ‰¦   «         }|dz   |fS rÓ   r(   ©r¾   r*   r½   Úcallerr§   s      €€r+   r°   z7TestFunctionInlining.test_inlining_models.<locals>.impl]  ó$   ø€ Ø˜‘J�Ø�C‘E”E�Ø˜1‘u˜a�x�r-   r×   r§   r9   r²   c                  ó   •— ‰ S r1   r(   r/  s   €r+   r¿   z6TestFunctionInlining.test_inlining_models.<locals>.barg  r1  r-   c                 ó0   •— | ‰z   } ‰¦   «         }|dz   |fS rÓ   r(   ©r¾   r*   r½   r¿   r4  s      €€r+   r°   z7TestFunctionInlining.test_inlining_models.<locals>.implk  r5  r-   r¿   r³   )rA   r'  r*  r°   r¿   r0  r4  r§   s   `   @@@@r+   Útest_inlining_modelsz)TestFunctionInlining.test_inlining_modelsJ  s[  øøøøø€ ð	<ð 	<ð 	<ð 	<ð 	<ð
	<ð 	<ð 	<ð 	<ð 	<ð 3ð 	Fð 	F‰NˆF�FåÐ)Ð*Ñ*Ô*ðð ð ð ñ +Ô*ðð ð  ð  ð  ð  ð  ð
 �JŠJ�t˜R°°vÀ²|Ð/DˆJÑEÔEÐEÐEð 3ð 	Fð 	F‰NˆF�FåÐ)Ð*Ñ*Ô*ðð ð ð ñ +Ô*ðð ð  ð  ð  ð  ð  ð
 �JŠJ�t˜R°°vÀ²|Ð/DˆJÑEÔEÐEÐEð	Fð 	Fr-   c                 óx   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddid¬¦  «         d S )	Nr"   r#   c                  ó   — dS ©Nr�   r(   r(   r-   r+   r§   z9TestFunctionInlining.test_inline_inside_loop.<locals>.foos  ó   € à�2r-   c                  óJ   •— d} t          d¦  «        D ]}|  ‰¦   «         z  } Œ| S )Nç        rˆ   ©r‘   )Úaccrœ   r§   s     €r+   r°   z:TestFunctionInlining.test_inline_inside_loop.<locals>.implw  s3   ø€ ØˆCÝ˜1‘X”Xð ð �Ø�s�s‘u”u‘��ØˆJr-   r§   Té   ©rG   rH   r³   r´   s     @r+   Útest_inline_inside_loopz,TestFunctionInlining.test_inline_inside_loopr  se   ø€ Ý	�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }À!ˆ
ÑDÔDÐDÐDÐDr-   c                 óx   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddid¬¦  «         d S )	Nr"   r#   c                  ó   — dS r<  r(   r(   r-   r+   r§   zHTestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.foo€  r=  r-   c                  óT   •— d} t          d¦  «        D ]}ˆfd„}|  |¦   «         z  } Œ| S )Nr?  rˆ   c                  ó   •—  ‰ ¦   «         dz   S ©Né   r(   r¯   s   €r+   r¿   zVTestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.impl.<locals>.bar‡  s   ø€ Ø˜3™5œ5 1™9Ð$r-   r@  )rA  rœ   r¿   r§   s      €r+   r°   zITestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.impl„  sL   ø€ ØˆCÝ˜1‘X”Xð ð �ð%ð %ð %ð %ð %à�s�s‘u”u‘��ØˆJr-   r§   TrB  rC  r³   r´   s     @r+   Ú&test_inline_inside_closure_inside_loopz;TestFunctionInlining.test_inline_inside_closure_inside_loop  se   ø€ Ý	�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }À!ˆ
ÑDÔDÐDÐDÐDr-   c                 óx   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddid¬¦  «         d S )	Nr"   r#   c                 ó(   ‡ — ˆ fd„} |¦   «         dz   S )Nc                  ó   •— d‰ z   S r<  r(   )r”   s   €r+   rÀ   zbTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.foo.<locals>.baz‘  s   ø€ Ø˜A‘v�r-   é   r(   )r”   rÀ   s   ` r+   r§   zUTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.foo�  s,   ø€ ðð ð ð ð à�3‘5”5˜1‘9Ðr-   c                  ó2   •‡— dŠˆˆfd„}  | ‰dz   ¦  «        S )Né	   c                 ó&   •—  ‰‰¦  «        dz   | z   S rI  r(   ©r*   r§   r¾   s    €€r+   r¿   zcTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.impl.<locals>.bar˜  ó   ø€ Ø�s˜1‘v”v ‘z A‘~Ð%r-   r‡   r(   ©r¿   r¾   r§   s    @€r+   r°   zVTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.impl•  ó9   øø€ ØˆAð&ð &ð &ð &ð &ð &à�3�q˜1‘u‘:”:Ðr-   r§   Tr'   rC  r³   r´   s     @r+   Ú3test_inline_closure_inside_inlinable_inside_closurezHTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closureŽ  se   ø€ Ý	�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð
	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }À!ˆ
ÑDÔDÐDÐDÐDr-   c                 ó‚  ‡‡‡—  t          d¬¦  «        t          ¦   «         ¦  «        Št          d¬¦  «        ˆfd„¦   «         Št          d¬¦  «        ˆˆfd„¦   «         Šˆfd„}t          j        dv rd}n-t          j        dv rd	}nt	          d
t          j        › �¦  «        ‚|                      |ddddœ|¬¦  «         d S )Nr"   r#   c                 ó�   •‡— dŠˆfd„}t          | ¦  «        D ],}‰ |d‰z   ¦  «         ‰d‰dd |‰¦  «        ¦  «        z   z  ŠŒ-‰S )Nr   c                 ó   •— | ‰z   S r1   r(   )rž   rA  s    €r+   ÚbizzCTestFunctionInlining.test_inline_involved.<locals>.boz.<locals>.biz¦  s   ø€ Ø˜3‘w�r-   rO  ç       @r'   y              (@r@  )Újr[  r*   rA  Úfortrans      @€r+   Úbozz6TestFunctionInlining.test_inline_involved.<locals>.boz¢  su   øø€ àˆCðð ð ð ð å˜1‘X”Xð Ið I�Ø�s�s˜1˜s™7‘|”| g g¨b°#°q¸#¸s¸sÀ3¹x¼xÑ&HÔ&HÑHÑH��ØˆJr-   c                 ó¶   •‡ ‡— d}t          d¦  «        D ]7} ‰ddddd¦  «        Šˆ ˆfd„}| ||¦  «        dz    ‰|¦  «        z   ‰z   z  }Œ8| |d¦  «        z   S )Nr   r�   r'   c                 ó   •— d‰z   | z   ‰z   S r<  r(   )r*   r”   r  s    €€r+   rÀ   zCTestFunctionInlining.test_inline_involved.<locals>.foo.<locals>.baz²  s   ø€ Ø ™6 A™:¨Ñ+Ð+r-   rO  r‡   r@  )r”   rA  r¢   rÀ   r  r_  r^  s   `   @€€r+   r§   z6TestFunctionInlining.test_inline_involved.<locals>.foo¬  s�   øøø€ àˆCÝ˜2‘Y”Yð 1ð 1�Ø�g˜a  A q¨!Ñ,Ô,�ð,ð ,ð ,ð ,ð ,ð ,à�s�s˜1‘v”v ‘z C C¨¡F¤FÑ*¨SÑ0Ñ0��Ø˜˜˜Q™œ‘<Ðr-   c                  ó2   •‡— dŠˆˆfd„}  | ‰dz   ¦  «        S )NrQ  c                 ó&   •—  ‰‰¦  «        dz   | z   S rI  r(   rS  s    €€r+   r¿   zDTestFunctionInlining.test_inline_involved.<locals>.impl.<locals>.barº  rT  r-   r‡   r(   rU  s    @€r+   r°   z7TestFunctionInlining.test_inline_involved.<locals>.impl·  rV  r-   ))r†   rO  )r†   rQ  é!   ))r†   r×   )r†   r,  é#   zUnsupported Python version: T)r§   r_  r^  rC  )r   r¨   r   Ú	PYVERSIONÚ
ValueErrorr{   )rA   r°   Úbcr_  r§   r^  s      @@@r+   Útest_inline_involvedz)TestFunctionInlining.test_inline_involvedž  s&  øøø€ à'•$˜hÐ'Ñ'Ô'­©¬Ñ8Ô8ˆå	�XÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ 
�XÐ	Ñ	Ô	ð	 ð 	 ð 	 ð 	 ð 	 ñ 
Ô	ð	 ð	ð 	ð 	ð 	ð 	õ Œ?Ð.Ð.Ð.ØˆBˆBÝŒ_Ð 2Ð2Ð2ØˆBˆBåÐM½E¼OÐMÐMÑNÔNÐNà�
Š
�4¨t¸DØ37ð(9ð (9ØFHð 	ñ 	Jô 	Jð 	Jð 	Jð 	Jr-   c                 ó  ‡
— t          d¬¦  «        d„ ¦   «         Š
t          t          ¬¦  «        ˆ
f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 ]U}|j        j        }|                      ¦   «                              | j        ¦  «        }|› d�}	|                      ||	¦  «         ŒVd S )Nr"   r#   c                 ó   — d}d}||z   | z   S )Nrˆ   r×   r(   )r¾   r*   r½   s      r+   r¿   z=TestFunctionInlining.test_inline_renaming_scheme.<locals>.barÍ  s   € àˆAØˆAØ�q‘5˜1‘9Ðr-   rI   c                 ó0   •—  ‰| ¦  «         ‰|¦  «        fS r1   r(   )r”   r•   r¿   s     €r+   r§   z=TestFunctionInlining.test_inline_renaming_scheme.<locals>.fooÓ  ó   ø€ à�3�q‘6”6˜3˜3˜q™6œ6�>Ð!r-   r×   rØ   )é   re  r   rK   rˆ   r‡   z__locals__bar_v[0-9]+.x)r   r   rZ   r[   r\   r]   r:   r;   r<   r=   r	   r>   r?   ÚConstr’   rc   Útargetrj   ÚidÚlstripr|   ÚassertRegex)rA   r§   rB   ÚstorerC   rD   rœ   rj   ÚbasenameÚregexr¿   s             @r+   Útest_inline_renaming_schemez0TestFunctionInlining.test_inline_renaming_schemeÉ  s¤  ø€ õ 
�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ
 
Õ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Ø—w’w‘y”y×'Ò'¨¬Ñ8Ô8ˆHØ Ð9Ð9Ð9ˆEØ×Ò˜T 5Ñ)Ô)Ð)Ð)ð		*ð 	*r-   N)rm   r|   r}   rµ   r¹   rË   r   ÚskiprÏ   rÞ   ræ   rò   rý   r  r  r  r9  rD  rK  rW  ri  rw  r(   r-   r+   rª   rª   ž   s>  € € € € € ð7ð 7ð 7ð6ð 6ð 6ð:ð :ð :ð: €X„]Ð9Ñ:Ô:ð6ð 6ñ ;Ô:ð6ð*:ð :ð :ð:?ð ?ð ?ð6ð 6ð 6ð6ð 6ð 6ð	6ð 	6ð 	6ð6ð 6ð 6ð$6ð 6ð 6ð&Fð &Fð &FðPEð Eð EðEð Eð EðEð Eð Eð )Jð )Jð )JðV#*ð #*ð #*ð #*ð #*r-   rª   c                   ó   — e Zd Zd„ ZdS )ÚTestRegisterJitableInliningc                 óv   ‡— t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      |ddi¬¦  «         d S )Nr"   r#   c                  ó   — dS r&   r(   r(   r-   r+   r§   zFTestRegisterJitableInlining.test_register_jitable_inlines.<locals>.fooó  s   € à�1r-   c                  ó   •—  ‰ ¦   «          d S r1   r(   r¯   s   €r+   r°   zGTestRegisterJitableInlining.test_register_jitable_inlines.<locals>.impl÷  s   ø€ ØˆC‰EŒEˆEˆEˆEr-   r§   Tr²   )r   r{   r´   s     @r+   Útest_register_jitable_inlinesz9TestRegisterJitableInlining.test_register_jitable_inlinesñ  sc   ø€ å	 Ð	*Ñ	*Ô	*ð	ð 	ñ 
+Ô	*ð	ð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   N)rm   r|   r}   r~  r(   r-   r+   rz  rz  ï  s#   € € € € € ð	6ð 	6ð 	6ð 	6ð 	6r-   rz  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d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestOverloadInliningc                 ó~   ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }ˆfd„}|                      |ddi¬¦  «         d S )	Nc                  ó   — d S r1   r(   r(   r-   r+   r§   z9TestOverloadInlining.test_basic_inline_never.<locals>.foo   ó   € ØˆDr-   r7   r#   c                  ó   — d„ } | S )Nc                  ó   — d S r1   r(   r(   r-   r+   Úfoo_implzTTestOverloadInlining.test_basic_inline_never.<locals>.foo_overload.<locals>.foo_impl  ó   € Ø�r-   r(   )r†  s    r+   Úfoo_overloadzBTestOverloadInlining.test_basic_inline_never.<locals>.foo_overload  s   € ðð ð àˆOr-   c                  ó   •—  ‰ ¦   «         S r1   r(   r¯   s   €r+   r°   z:TestOverloadInlining.test_basic_inline_never.<locals>.impl	  r±   r-   r§   Fr²   ©r   r{   ©rA   rˆ  r°   r§   s      @r+   rµ   z,TestOverloadInlining.test_basic_inline_neverÿ  sv   ø€ ð	ð 	ð 	õ 
�#˜gÐ	&Ñ	&Ô	&ð	ð 	ñ 
'Ô	&ð	ð
	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨u ~ˆ
Ñ6Ô6Ð6Ð6Ð6r-   c                 ó~   ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }ˆfd„}|                      |ddi¬¦  «         d S )	Nc                  ó   — d S r1   r(   r(   r-   r+   r§   z:TestOverloadInlining.test_basic_inline_always.<locals>.foo  rƒ  r-   r"   r#   c                  ó   — d„ } | S )Nc                  ó   — d S r1   r(   r(   r-   r+   r°   zQTestOverloadInlining.test_basic_inline_always.<locals>.foo_overload.<locals>.impl  r‡  r-   r(   ©r°   s    r+   rˆ  zCTestOverloadInlining.test_basic_inline_always.<locals>.foo_overload  s   € ðð ð àˆKr-   c                  ó   •—  ‰ ¦   «         S r1   r(   r¯   s   €r+   r°   z;TestOverloadInlining.test_basic_inline_always.<locals>.impl  r±   r-   r§   Tr²   rŠ  r‹  s      @r+   r¹   z-TestOverloadInlining.test_basic_inline_always  sv   ø€ ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	ð 	ñ 
(Ô	'ð	ð
	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó~   ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }ˆfd„}|                      |ddi¬¦  «         d S )	Nc                 ó   — | |z   S r1   r(   ©r”   r•   s     r+   r§   zBTestOverloadInlining.test_inline_always_kw_no_default.<locals>.foo   s   € Ø�q‘5ˆLr-   r"   r#   c                 ó   — d„ S )Nc                 ó   — | |z   S r1   r(   r”  s     r+   ú<lambda>z]TestOverloadInlining.test_inline_always_kw_no_default.<locals>.overload_foo.<locals>.<lambda>%  s
   €   A¡€ r-   r(   r”  s     r+   Úoverload_foozKTestOverloadInlining.test_inline_always_kw_no_default.<locals>.overload_foo#  s   € à%Ð%Ð%r-   c                  ó   •—  ‰ dd¬¦  «        S )Nr†   rB  ©r•   r(   r¯   s   €r+   r°   zCTestOverloadInlining.test_inline_always_kw_no_default.<locals>.impl'  s   ø€ Ø�3�q˜A�;‘;”;Ðr-   r§   Tr²   rŠ  ©rA   r˜  r°   r§   s      @r+   Ú test_inline_always_kw_no_defaultz5TestOverloadInlining.test_inline_always_kw_no_default  sv   ø€ ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	&ð 	&ñ 
(Ô	'ð	&ð	ð 	ð 	ð 	ð 	ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó²  ‡‡— d„ }d„ }d„ Š|                       ¦   «         \  }Št          |d‰¦  «         t          |d‰¦  «         t          t          j        d¬¦  «        ˆˆfd„¦   «         }t          t          j        d	¬¦  «        ˆˆfd
„¦   «         }|                      | |¦   «         ddi¬¦  «         |                      | |¦   «         ddi¬¦  «         d S )Nc                 ó   — |  S r1   r(   r)   s    r+   Úimpl_inlinezETestOverloadInlining.test_inline_operators_unary.<locals>.impl_inline.  ó	   € Ø�2ˆIr-   c                 ó   — | 
 S r1   r(   r)   s    r+   Úimpl_noinlinezGTestOverloadInlining.test_inline_operators_unary.<locals>.impl_noinline1  r   r-   c                 ó   — dS ©NTr(   r)   s    r+   r—  zBTestOverloadInlining.test_inline_operators_unary.<locals>.<lambda>4  s   €  T€ r-   Ú__neg__Ú__pos__r"   r#   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   ©r=   ©r*   Ú	DummyTypeÚdummy_unary_impls    €€r+   Úoverload_dummy_negzLTestOverloadInlining.test_inline_operators_unary.<locals>.overload_dummy_neg9  ó%   ø€ å˜!˜YÑ'Ô'ð (Ø'Ð'ð(ð (r-   r7   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  r©  s    €€r+   Úoverload_dummy_poszLTestOverloadInlining.test_inline_operators_unary.<locals>.overload_dummy_pos>  r­  r-   ÚnegTr²   ÚposF)Úmake_dummy_typeÚsetattrr   Úoperatorr°  r±  r{   )rA   rŸ  r¢  ÚDummyr¬  r¯  rª  r«  s         @@r+   Útest_inline_operators_unaryz0TestOverloadInlining.test_inline_operators_unary,  s&  øø€ ð	ð 	ð 	ð	ð 	ð 	ð *˜>ÐØ×/Ò/Ñ1Ô1ÑˆˆyÝ��yÐ"2Ñ3Ô3Ð3Ý��yÐ"2Ñ3Ô3Ð3å	•(”, xÐ	0Ñ	0Ô	0ð	(ð 	(ð 	(ð 	(ð 	(ñ 
1Ô	0ð	(õ 
•(”, wÐ	/Ñ	/Ô	/ð	(ð 	(ð 	(ð 	(ð 	(ñ 
0Ô	/ð	(ð 	�
Š
�;  ¡¤¸¸t°}ˆ
ÑEÔEÐEØ�
Š
�= % %¡'¤'¸%À¸ˆ
ÑHÔHÐHÐHÐHr-   c                 ó²  ‡‡— d„ }d„ }|                       ¦   «         \  }Šd„ Št          |d‰¦  «         t          |d‰¦  «         t          t          j        d¬¦  «        ˆˆfd„¦   «         }t          t          j        d	¬¦  «        ˆˆfd
„¦   «         }|                      | |¦   «         ddi¬¦  «         |                      | |¦   «         ddi¬¦  «         d S )Nc                 ó   — | dk    S r&   r(   r)   s    r+   rŸ  zETestOverloadInlining.test_inline_operators_binop.<locals>.impl_inlineH  ó   € Ø˜’6ˆMr-   c                 ó   — | dk    S r&   r(   r)   s    r+   r¢  zGTestOverloadInlining.test_inline_operators_binop.<locals>.impl_noinlineK  r¹  r-   c                 ó   — dS r¤  r(   r”  s     r+   r—  zBTestOverloadInlining.test_inline_operators_binop.<locals>.<lambda>P  s   € ¨€ r-   Ú__eq__Ú__ne__r"   r#   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  ©r”   r•   rª  Údummy_binop_impls     €€r+   Úoverload_dummy_eqzKTestOverloadInlining.test_inline_operators_binop.<locals>.overload_dummy_eqT  r­  r-   r7   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  r¿  s     €€r+   Úoverload_dummy_nezKTestOverloadInlining.test_inline_operators_binop.<locals>.overload_dummy_neY  r­  r-   ÚeqTr²   ÚneF)r²  r³  r   r´  rÄ  rÅ  r{   )rA   rŸ  r¢  rµ  rÁ  rÃ  rª  rÀ  s         @@r+   Útest_inline_operators_binopz0TestOverloadInlining.test_inline_operators_binopF  s'  øø€ ð	ð 	ð 	ð	ð 	ð 	ð  ×/Ò/Ñ1Ô1Ñˆˆyà,Ð,ÐÝ��xÐ!1Ñ2Ô2Ð2Ý��xÐ!1Ñ2Ô2Ð2å	•(”+ hÐ	/Ñ	/Ô	/ð	(ð 	(ð 	(ð 	(ð 	(ñ 
0Ô	/ð	(õ 
•(”+ gÐ	.Ñ	.Ô	.ð	(ð 	(ð 	(ð 	(ð 	(ñ 
/Ô	.ð	(ð 	�
Š
�;  ¡¤¸¸d°|ˆ
ÑDÔDÐDØ�
Š
�= % %¡'¤'¸$À¸ˆ
ÑGÔGÐGÐGÐGr-   c                 óN  ‡‡	— d„ }d„ }|                       ¦   «         \  }Šd„ Š	t          |d‰	¦  «         t          |d‰	¦  «         t          t          j        d¬¦  «        ˆˆ	fd„¦   «         }t          t          j        d	¬¦  «        ˆˆ	fd
„¦   «         }t          t          j        d¬¦  «        ˆˆ	fd„¦   «         }t          t          j        d	¬¦  «        ˆˆ	fd„¦   «         }|                      | |¦   «         ddi¬¦  «         |                      | |¦   «         ddi¬¦  «         d S )Nc                 ó   — | dz  } d S r&   r(   r)   s    r+   rŸ  zMTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.impl_inlinec  ó   € Ø�‰FˆAˆAˆAr-   c                 ó   — | dz  } d S r&   r(   r)   s    r+   r¢  zOTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.impl_noinlinef  rÉ  r-   c                 ó   — dS r¤  r(   r”  s     r+   r—  zJTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.<lambda>k  s   € °€ r-   Ú__iadd__Ú__isub__r"   r#   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  ©r”   r•   rª  Údummy_inplace_binop_impls     €€r+   Úoverload_dummy_iaddzUTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_iaddo  ó%   ø€ å˜!˜YÑ'Ô'ð 0Ø/Ð/ð0ð 0r-   r7   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  rÏ  s     €€r+   Úoverload_dummy_isubzUTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_isubt  rÒ  r-   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  rÏ  s     €€r+   Úoverload_dummy_addzTTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_add{  rÒ  r-   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  rÏ  s     €€r+   Úoverload_dummy_subzTTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_sub€  rÒ  r-   ÚiaddTr²   ÚisubF)	r²  r³  r   r´  rÙ  rÚ  ÚaddÚsubr{   )
rA   rŸ  r¢  rµ  rÑ  rÔ  rÖ  rØ  rª  rÐ  s
           @@r+   Ú#test_inline_operators_inplace_binopz8TestOverloadInlining.test_inline_operators_inplace_binopa  s›  øø€ ð	ð 	ð 	ð	ð 	ð 	ð  ×/Ò/Ñ1Ô1Ñˆˆyà#4Ð#4Ð Ý��zÐ#;Ñ<Ô<Ð<Ý��zÐ#;Ñ<Ô<Ð<å	•(”-¨Ð	1Ñ	1Ô	1ð	0ð 	0ð 	0ð 	0ð 	0ñ 
2Ô	1ð	0õ 
•(”-¨Ð	0Ñ	0Ô	0ð	0ð 	0ð 	0ð 	0ð 	0ñ 
1Ô	0ð	0õ 
•(”, xÐ	0Ñ	0Ô	0ð	0ð 	0ð 	0ð 	0ð 	0ñ 
1Ô	0ð	0õ 
•(”, wÐ	/Ñ	/Ô	/ð	0ð 	0ð 	0ð 	0ð 	0ñ 
0Ô	/ð	0ð 	�
Š
�;  ¡¤¸À°~ˆ
ÑFÔFÐFØ�
Š
�= % %¡'¤'¸&À%¸ˆ
ÑIÔIÐIÐIÐIr-   c                 óD  ‡‡— d„ }d„ }|                       ¦   «         \  }Šd„ Št          |d‰¦  «         t          t          j        d¬¦  «        ˆˆfd„¦   «         }|                      | |¦   «         dd	d
i¬¦  «         |                      | |¦   «         d	d
i¬¦  «         d S )Nc                 ó   — | |         S r1   r(   ©r*   Úidxs     r+   r°   zGTestOverloadInlining.test_inline_always_operators_getitem.<locals>.implŠ  ó   € Ø�S”6ˆMr-   c                 ó   — | d         S r&   r(   r)   s    r+   Úimpl_static_getitemzVTestOverloadInlining.test_inline_always_operators_getitem.<locals>.impl_static_getitem�  ó   € Ø�Q”4ˆKr-   c                 ó   — d S r1   r(   ©Úobjrá  s     r+   r—  zKTestOverloadInlining.test_inline_always_operators_getitem.<locals>.<lambda>’  ó   € ¨d€ r-   Ú__getitem__r"   r#   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  ©rè  rá  rª  Údummy_getitem_impls     €€r+   Úoverload_dummy_getitemzYTestOverloadInlining.test_inline_always_operators_getitem.<locals>.overload_dummy_getitem•  ó%   ø€ å˜#˜yÑ)Ô)ð *Ø)Ð)ð*ð *r-   r'   ÚgetitemTr²   ©r²  r³  r   r´  rð  r{   ©rA   r°   rä  rµ  rî  rª  rí  s        @@r+   Ú$test_inline_always_operators_getitemz9TestOverloadInlining.test_inline_always_operators_getitemˆ  sî   øø€ ð	ð 	ð 	ð	ð 	ð 	ð  ×/Ò/Ñ1Ô1Ñˆˆyà2Ð2ÐÝ��}Ð&8Ñ9Ô9Ð9å	•(Ô"¨8Ð	4Ñ	4Ô	4ð	*ð 	*ð 	*ð 	*ð 	*ñ 
5Ô	4ð	*ð 	�
Š
�4˜˜™œ !°I¸tÐ3Dˆ
ÑEÔEÐEØ�
Š
Ð&¨¨©¬Ø"+¨TÐ!2ð 	ñ 	4ô 	4ð 	4ð 	4ð 	4r-   c                 óD  ‡‡— d„ }d„ }|                       ¦   «         \  }Šd„ Št          |d‰¦  «         t          t          j        d¬¦  «        ˆˆfd„¦   «         }|                      | |¦   «         dd	d
i¬¦  «         |                      | |¦   «         d	d
i¬¦  «         d S )Nc                 ó   — | |         S r1   r(   rà  s     r+   r°   zFTestOverloadInlining.test_inline_never_operators_getitem.<locals>.impl¢  râ  r-   c                 ó   — | d         S r&   r(   r)   s    r+   rä  zUTestOverloadInlining.test_inline_never_operators_getitem.<locals>.impl_static_getitem¥  rå  r-   c                 ó   — d S r1   r(   rç  s     r+   r—  zJTestOverloadInlining.test_inline_never_operators_getitem.<locals>.<lambda>ª  ré  r-   rê  r7   r#   c                 ó,   •— t          | ‰¦  «        r‰S d S r1   r¨  rì  s     €€r+   rî  zXTestOverloadInlining.test_inline_never_operators_getitem.<locals>.overload_dummy_getitem­  rï  r-   r'   rð  Fr²   rñ  rò  s        @@r+   Ú#test_inline_never_operators_getitemz8TestOverloadInlining.test_inline_never_operators_getitem   sî   øø€ ð	ð 	ð 	ð	ð 	ð 	ð  ×/Ò/Ñ1Ô1Ñˆˆyà2Ð2ÐÝ��}Ð&8Ñ9Ô9Ð9å	•(Ô"¨7Ð	3Ñ	3Ô	3ð	*ð 	*ð 	*ð 	*ð 	*ñ 
4Ô	3ð	*ð 	�
Š
�4˜˜™œ !°I¸uÐ3Eˆ
ÑFÔFÐFØ�
Š
Ð&¨¨©¬Ø"+¨UÐ!3ð 	ñ 	5ô 	5ð 	5ð 	5ð 	5r-   c                 ó2  ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }ˆfd„}|                      t          ¦  «        5 }|                      |ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d	t          |j        ¦  «        ¦  «         d S )
Nc                 ó   — | |d         z   S ©Nr   r(   r”  s     r+   r§   z;TestOverloadInlining.test_inline_stararg_error.<locals>.foo¹  s   € Ø�q˜”t‘8ˆOr-   r"   r#   c                 ó   — d„ S )Nc                 ó   — | |d         z   S rü  r(   r”  s     r+   r—  zVTestOverloadInlining.test_inline_stararg_error.<locals>.overload_foo.<locals>.<lambda>¾  s   €   Q q¤T¡€ r-   r(   r”  s     r+   r˜  zDTestOverloadInlining.test_inline_stararg_error.<locals>.overload_foo¼  s   € à)Ð)Ð)r-   c                  ó   •—  ‰ ddd¦  «        S )Nr†   rˆ   r(   r¯   s   €r+   r°   z<TestOverloadInlining.test_inline_stararg_error.<locals>.implÀ  s   ø€ Ø�3�q˜!˜Q‘<”<Ðr-   r§   Tr²   z-Stararg not supported in inliner for arg 1 *b)r   ÚassertRaisesÚNotImplementedErrorr{   ÚassertInrX   Ú	exception)rA   r˜  r°   r˜   r§   s       @r+   Útest_inline_stararg_errorz.TestOverloadInlining.test_inline_stararg_error¸  s	  ø€ ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	*ð 	*ñ 
(Ô	'ð	*ð	 ð 	 ð 	 ð 	 ð 	 ð ×ÒÕ2Ñ3Ô3ð 	:°qØ�JŠJ�t¨E°4¨=ˆJÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	�ŠÐEÝ˜!œ+Ñ&Ô&ñ	(ô 	(ð 	(ð 	(ð 	(s   ¾A$Á$A(Á+A(c                 óx  ‡
‡‡— ˆ
ˆˆfd„}d}t          |||¦  «        D ]›\  }}}d„ Šd„ Š
d„ Št          ‰|¬¦  «        d„ ¦   «         }t          ‰
|¬¦  «        d„ ¦   «         }t          ‰|¬¦  «        d	„ ¦   «         }| j        |         | j        |         | j        |         d
œ}	|                      ||	¬¦  «         Œœd S )Nc                  óJ   •—  ‰¦   «         }  ‰¦   «         } ‰¦   «         }| ||fS r1   r(   r¼   s      €€€r+   r°   z;TestOverloadInlining.test_basic_inline_combos.<locals>.implË  rÁ   r-   r6   c                  ó   — d S r1   r(   r(   r-   r+   r§   z:TestOverloadInlining.test_basic_inline_combos.<locals>.fooÕ  r‡  r-   c                  ó   — d S r1   r(   r(   r-   r+   r¿   z:TestOverloadInlining.test_basic_inline_combos.<locals>.barØ  r‡  r-   c                  ó   — d S r1   r(   r(   r-   r+   rÀ   z:TestOverloadInlining.test_basic_inline_combos.<locals>.bazÛ  r‡  r-   r#   c                  ó   — d„ } | S )Nc                  ó   — d S r1   r(   r(   r-   r+   r°   zQTestOverloadInlining.test_basic_inline_combos.<locals>.foo_overload.<locals>.implà  ó   € Ø�Fr-   r(   r�  s    r+   rˆ  zCTestOverloadInlining.test_basic_inline_combos.<locals>.foo_overloadÞ  ó   € ðð ð à�r-   c                  ó   — d„ } | S )Nc                  ó   — d S r1   r(   r(   r-   r+   r°   zQTestOverloadInlining.test_basic_inline_combos.<locals>.bar_overload.<locals>.implæ  r  r-   r(   r�  s    r+   Úbar_overloadzCTestOverloadInlining.test_basic_inline_combos.<locals>.bar_overloadä  r  r-   c                  ó   — d„ } | S )Nc                  ó   — d S r1   r(   r(   r-   r+   r°   zQTestOverloadInlining.test_basic_inline_combos.<locals>.baz_overload.<locals>.implì  r  r-   r(   r�  s    r+   Úbaz_overloadzCTestOverloadInlining.test_basic_inline_combos.<locals>.baz_overloadê  r  r-   rÆ   r²   )r   r   r~   r{   )rA   r°   rÇ   rÈ   rÉ   rÊ   rˆ  r  r  rG   r¿   rÀ   r§   s             @@@r+   rË   z-TestOverloadInlining.test_basic_inline_combosÉ  sP  øøø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ˆå29¸$ÀÀdÑ2KÔ2Kð  	:ð  	:Ñ.ˆJ˜
 Jðð ð ðð ð ðð ð õ �c *Ð-Ñ-Ô-ðð ñ .Ô-ðõ
 �c *Ð-Ñ-Ô-ðð ñ .Ô-ðõ
 �c *Ð-Ñ-Ô-ðð ñ .Ô-ðð
 %)Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GðIð IˆMð �JŠJ�t¨=ˆJÑ9Ô9Ð9Ð9ðA 	:ð  	:r-   c                 ó>  ‡‡	‡
— ˆˆ	ˆ
fd„}d}t          |||¦  «        D ]~\  }}}d„ Š
d„ Šd„ Š	dd„} |‰
dd|¬	¦  «          |‰d
d|¬	¦  «          |‰	dd|¬	¦  «         | j        |         | j        |         | j        |         dœ}|                      ||¬¦  «         Œd S )Nc                  óJ   •—  ‰¦   «         }  ‰¦   «         } ‰¦   «         }| ||fS r1   r(   r¼   s      €€€r+   r°   z8TestOverloadInlining.test_freevar_bindings.<locals>.impl÷  rÁ   r-   r6   c                  ó$   — d} d}| dz   }| |dz   |fS )Nr×   rØ   r�   r†   r(   rÔ   s      r+   r§   z7TestOverloadInlining.test_freevar_bindings.<locals>.foo  ó%   € Ø�Ø�Ø˜‘F�Ø˜1˜q™5 !�}Ð$r-   c                  ó$   — d} d}| dz   }| |dz   |fS )NrÙ   rÚ   r�   r†   r(   rÔ   s      r+   r¿   z7TestOverloadInlining.test_freevar_bindings.<locals>.bar	  r  r-   c                  ó$   — d} d}| dz   }| |dz   |fS )NrÜ   rM   r�   r†   r(   rÔ   s      r+   rÀ   z7TestOverloadInlining.test_freevar_bindings.<locals>.baz  r  r-   c                 óR   ‡‡‡— ‰dz   Št          | |¬¦  «        ˆˆˆfd„¦   «         }d S )Nr�   r#   c                  ó   •— ˆˆˆfd„} | S )Nc                  ó   •— ‰ ‰dz   ‰fS rÓ   r(   rÔ   s   €€€r+   r°   zWTestOverloadInlining.test_freevar_bindings.<locals>.factory.<locals>.func.<locals>.impl  s   ø€ Ø ! 1 q¡5¨!˜}Ð,r-   r(   )r°   r*   r½   r¾   s    €€€r+   ri   zITestOverloadInlining.test_freevar_bindings.<locals>.factory.<locals>.func  s+   ø€ ð-ð -ð -ð -ð -ð -ð -à�Kr-   )r   )rp  r*   r½   r$   ri   r¾   s    ``  @r+   rÕ   z;TestOverloadInlining.test_freevar_bindings.<locals>.factory  sS   øøø€ Ø˜‘F�å˜&¨Ð0Ñ0Ô0ð ð  ð  ð  ð  ð  ñ 1Ô0ð ð  ð  r-   r×   rØ   r#   rÙ   rÚ   rÜ   rM   rÆ   r²   r1   rÝ   )rA   r°   rÇ   rÈ   rÉ   rÊ   rÕ   rG   r¿   rÀ   r§   s           @@@r+   rÞ   z*TestOverloadInlining.test_freevar_bindingsõ  s4  øøø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ˆå29¸$ÀÀdÑ2KÔ2Kð '	:ð '	:Ñ.ˆJ˜
 Jð%ð %ð %ð%ð %ð %ð%ð %ð %ð ð  ð  ð  ð ˆG�C˜˜R¨
Ð3Ñ3Ô3Ð3ØˆG�C˜˜R¨
Ð3Ñ3Ô3Ð3ØˆG�C˜˜R¨
Ð3Ñ3Ô3Ð3à$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GØ$(Ô$;¸JÔ$GðIð IˆMð �JŠJ�t¨=ˆJÑ9Ô9Ð9Ð9ðO'	:ð '	:r-   c                 ó>   — d„ }|                       |ddi¬¦  «         d S )Nc                  ó$   — d} t          | ¦  «        S rá   r2   )r¾   s    r+   r°   z?TestOverloadInlining.test_global_overload_binding.<locals>.impl*  rã   r-   r/   Tr²   rä   rå   s     r+   Útest_global_overload_bindingz1TestOverloadInlining.test_global_overload_binding(  rç   r-   c                 óP   ‡— ddl mŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr'   ©rÀ   c                  ó0   •— t           dz   }  ‰¦   «         | fS rë   rì   r  s    €r+   r°   zBTestOverloadInlining.test_inline_from_another_module.<locals>.impl4  rï   r-   rÀ   Tr²   )rð   rÀ   r{   )rA   r°   rÀ   s     @r+   rò   z4TestOverloadInlining.test_inline_from_another_module0  ró   r-   c                 óV   ‡— dd l mc mŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr   c                  óD   •— t           dz   } ‰                     ¦   «         | fS rë   )rí   rÀ   rö   s    €r+   r°   zLTestOverloadInlining.test_inline_from_another_module_w_getattr.<locals>.impl>  rø   r-   rÀ   Tr²   rù   rü   s     @r+   rý   z>TestOverloadInlining.test_inline_from_another_module_w_getattr:  rþ   r-   c                 óX   ‡— dd l }dd lmŠ ˆfd„}|                      |ddi¬¦  «         d S )Nr   c                  óN   •— t           dz   } ‰j                             ¦   «         | fS rë   )rí   rð   rÀ   r  s    €r+   r°   zNTestOverloadInlining.test_inline_from_another_module_w_2_getattr.<locals>.implI  r  r-   rÀ   Tr²   r  r  s      @r+   r  z@TestOverloadInlining.test_inline_from_another_module_w_2_getattrD  r	  r-   c                 ó^   ‡— d„ } |¦   «         Šˆfd„}|                       |ddi¬¦  «         d S )Nc                  óJ   ‡— ddl mŠ t          d¬¦  «        ˆfd„¦   «         } | S )Nr'   r!  r"   r#   c                  ó   •—  ‰ ¦   «         S r1   r(   r!  s   €r+   r  z]TestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.factory.<locals>.tmpT  r  r-   )rð   rÀ   r   )r  rÀ   s    @r+   rÕ   zPTestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.factoryQ  r  r-   c                  ó0   •— t           dz   }  ‰¦   «         | fS rë   rì   )r¾   Úbops    €r+   r°   zMTestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.impl[  rï   r-   rÀ   Tr²   rä   )rA   rÕ   r°   r+  s      @r+   r  z?TestOverloadInlining.test_inline_from_another_module_as_freevarO  r  r-   c                 óh   ‡— ddl mŠ ˆfd„} |dd¦  «        }|                      |ddi¬¦  «         d S )	Nr'   )Úbop_factoryc                 ó2   •‡ ‡‡—  ‰‰ ¦  «        Šˆ ˆˆfd„}|S )Nc                  ó8   •— t           ‰‰z  z   }  ‰¦   «         | ‰fS r1   rì   r  s    €€€r+   r°   zYTestOverloadInlining.test_inline_w_freevar_from_another_module.<locals>.gen.<locals>.implh  r  r-   r(   )r”   r•   r°   r¿   r-  s   `` @€r+   r  zKTestOverloadInlining.test_inline_w_freevar_from_another_module.<locals>.gene  r  r-   r×   rØ   r¿   Tr²   )rð   r-  r{   )rA   r  r°   r-  s      @r+   r  z>TestOverloadInlining.test_inline_w_freevar_from_another_modulea  r  r-   c                 óX  ‡ ‡‡‡‡	— ˆ fd„}ˆ fd„}dD ]J\  ŠŠˆfd„Š	t          ‰	|¬¦  «        ˆfd„¦   «         }ˆˆ	fd„}‰                      |dd	‰d
k    i¬¦  «         ŒKdD ]J\  ŠŠˆfd„Št          ‰|¬¦  «        ˆfd„¦   «         }ˆˆfd„}‰                      |dd‰d
k    i¬¦  «         ŒKd S )Nc                 ó®   •— ‰                      | t          j        ¦  «         ‰                     | j        d¦  «         ‰                     |j        ¦  «        S r   ©r"  r	   r#  rZ   rT   rE   rB   r$  s      €r+   r'  zCTestOverloadInlining.test_inlining_models.<locals>.s17_caller_modelr  óJ   ø€ Ø×!Ò! $­¬Ñ0Ô0Ð0Ø×Ò˜TœW fÑ-Ô-Ð-Ø×.Ò.¨{Ô/BÑCÔCÐCr-   c                 ó®   •— ‰                      | t          j        ¦  «         ‰                     | j        d¦  «         ‰                     |j        ¦  «        S r   r2  r$  s      €r+   r*  zCTestOverloadInlining.test_inlining_models.<locals>.s17_callee_modelw  r3  r-   ))r×   r,  r-  c                  ó   •— ‰ S r1   r(   r/  s   €r+   r§   z6TestOverloadInlining.test_inlining_models.<locals>.foo  ó   ø€ Ø�r-   r#   c                  ó   •— ˆfd„} | S )Nc                  ó   •— ‰ S r1   r(   r/  s   €r+   r°   zGTestOverloadInlining.test_inlining_models.<locals>.foo_ol.<locals>.impl„  ó   ø€ Ø!�Mr-   r(   ©r°   r0  s    €r+   Úfoo_olz9TestOverloadInlining.test_inlining_models.<locals>.foo_ol‚  ó!   ø€ ð"ð "ð "ð "ð "à�r-   c                 ó0   •— | ‰z   } ‰¦   «         }|dz   |fS rÓ   r(   r3  s      €€r+   r°   z7TestOverloadInlining.test_inlining_models.<locals>.implˆ  r5  r-   r×   r§   r9   r²   )r+  )r,  r×   c                  ó   •— ‰ S r1   r(   r/  s   €r+   r¿   z6TestOverloadInlining.test_inlining_models.<locals>.bar’  r6  r-   c                  ó   •— ˆfd„} | S )Nc                  ó   •— ‰ S r1   r(   r/  s   €r+   r°   zGTestOverloadInlining.test_inlining_models.<locals>.bar_ol.<locals>.impl—  r9  r-   r(   r:  s    €r+   Úbar_olz9TestOverloadInlining.test_inlining_models.<locals>.bar_ol•  r<  r-   c                 ó0   •— | ‰z   } ‰¦   «         }|dz   |fS rÓ   r(   r8  s      €€r+   r°   z7TestOverloadInlining.test_inlining_models.<locals>.impl›  r5  r-   r¿   rŠ  )
rA   r'  r*  r;  r°   rA  r¿   r0  r4  r§   s
   `     @@@@r+   r9  z)TestOverloadInlining.test_inlining_modelsp  sŸ  øøøøø€ ð	Dð 	Dð 	Dð 	Dð 	Dð
	Dð 	Dð 	Dð 	Dð 	Dð 3ð 	Fð 	F‰NˆF�Fðð ð ð ð õ �cÐ"2Ð3Ñ3Ô3ðð ð ð ñ 4Ô3ðð
 ð  ð  ð  ð  ð  ð
 �JŠJ�t˜R°°vÀ²|Ð/DˆJÑEÔEÐEÐEð 3ð 	Fð 	F‰NˆF�Fðð ð ð ð õ �cÐ"2Ð3Ñ3Ô3ðð ð ð ñ 4Ô3ðð
 ð  ð  ð  ð  ð  ð
 �JŠJ�t˜R°°vÀ²|Ð/DˆJÑEÔEÐEÐEð!	Fð 	Fr-   c                 ó~  ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }t          ‰d¬¦  «        d„ ¦   «         }d„ }t          ‰|¬¦  «        d„ ¦   «         }ˆfd	„}|                      |d
did¬¦  «        }t          t          |j                             ¦   «         ¦  «        ¦  «        d         }d„ |                     d¬¦  «        D ¦   «         }|                      t          |¦  «        dk    ¦  «         d„ | 	                    t          j        ¦  «        D ¦   «         }	|	D ]}
|                      |
j        d¦  «         Œd S )Nc                 ód   — t          t          | ¦  «        t          j        ¦  «        r| dz   S | dz   S )Nr   r'   )r=   r   r   ÚFloatr)   s    r+   r¿   z_TestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar§  s.   € Ý�& ™)œ)¥U¤[Ñ1Ô1ð Ø˜4‘x�à˜1‘u�r-   r"   r#   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | dz   S r&   r(   r)   s    r+   r°   ztTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_int_ol.<locals>.impl°  ó   € Ø˜q™5�Lr-   ©r=   r   ÚInteger©r*   r°   s     r+   Ú
bar_int_olzfTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_int_ol­  ó4   € å˜!�Uœ]Ñ+Ô+ð ð!ð !ð !à�ðð r-   r7   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | dz   S )Nr   r(   r)   s    r+   r°   zvTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_float_ol.<locals>.impl·  s   € Ø˜t™8�Or-   )r=   r   rE  rK  s     r+   Úbar_float_olzhTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_float_ol´  s4   € å˜!�Uœ[Ñ)Ô)ð ð$ð $ð $à�ðð r-   c                  ó   — dS r¤  r(   ©rp   s    r+   Úalways_inline_cost_modelztTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.always_inline_cost_model»  ó   € Ø�4r-   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | dz   S r&   r(   r)   s    r+   r°   zxTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_complex_ol.<locals>.implÁ  rH  r-   )r=   r   ÚComplexrK  s     r+   Úbar_complex_olzjTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_complex_ol¾  rM  r-   c                  óV   •—  ‰d¦  «        }  ‰d¦  «        } ‰d¦  «        }| |z   |z   S )Nr'   gffffff@y              @r(   ©r”   r•   r–   r¿   s      €r+   r°   z`TestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.implÅ  s8   ø€ Ø��A‘”ˆAØ��C‘”ˆAà��B‘”ˆAØ�q‘5˜1‘9Ðr-   r¿   Fr'   rC  c                 ó   — g | ]}|‘ŒS r(   r(   rQ   s     r+   rS   zfTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.<listcomp>Ñ  s   € Ð8Ð8Ð8�q�Ð8Ð8Ð8r-   rU   )rT   c           	      ón   — g | ]2}t          t          |d d¦  «        t          j        ¦  «        ¯+|j        ‘Œ3S )r?   N)r=   rg   r	   ro  r?   rQ   s     r+   rS   zfTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.<listcomp>Õ  sM   € ð Fð Fð F˜aÝ¥¨¨7°DÑ 9Ô 9½2¼8ÑDÔDðF�!”'ð Fð Fð Fr-   r   )r   r{   rd   re   r:   rW   rf   Ú
assertTruerc   Ú
find_instsr	   r>   ÚassertNotEqualr?   )rA   rL  rP  rS  rX  r°   ru   rv   ÚcallsÚconstsÚvalr¿   s              @r+   Ú=test_multiple_overloads_with_different_inline_characteristicszRTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics¢  s£  ø€ ð
	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	ð 	ñ 
(Ô	'ð	õ 
�#˜gÐ	&Ñ	&Ô	&ð	ð 	ñ 
'Ô	&ð	ð	ð 	ð 	õ 
�#Ð6Ð	7Ñ	7Ô	7ð	ð 	ñ 
8Ô	7ð	ð	ð 	ð 	ð 	ð 	ð �jŠj˜¨e°U¨^ÈˆjÑKÔKˆõ •T˜#œ*×*Ò*Ñ,Ô,Ñ-Ô-Ñ.Ô.¨qÔ1ˆØ8Ð8˜E×,Ò,°Ð,Ñ7Ô7Ð8Ñ8Ô8ˆØ�Š�˜E™
œ
 ašÑ(Ô(Ð(ðFð F 5×#3Ò#3µB´IÑ#>Ô#>ð Fñ Fô Fˆàð 	1ð 	1ˆCØ×Ò ¤	¨4Ñ0Ô0Ð0Ð0ð	1ð 	1r-   c                 óü   ‡— d„ }d„ Š t          ‰d¬¦  «        |¦  «         ˆfd„}d}|                      ||ddi¬	¦  «         d
„ Š t          ‰d¬¦  «        |¦  «         d}|                      ||ddi¬	¦  «         d S )Nc                 ó€   — t          | t          j        ¦  «        sd„ }|S | j        dk    rd„ }|S | j        dv rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r1   )r   r„   s    r+   Úfoo_noopznTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_noopà  s   € Ý$ UÑ+Ô+Ð+r-   rX   c                 ó   — dS ©Nr×   r(   r„   s    r+   Úfoo_as_str_implzuTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_as_str_implå  ó   € Ø˜2r-   )Úint64Úfloat64c                 ó   — dS ©NrØ   r(   r„   s    r+   Úfoo_as_num_implzuTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_as_num_implê  rk  r-   )r=   r   ÚStringLiteralÚliteral_value)r…   rg  rj  rp  s       r+   Úfoo_ovldz\TestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovldÝ  sz   € å˜e¥UÔ%8Ñ9Ô9ð  ð,ð ,ð ,à�àÔ" eÒ+Ð+ðð ð à&Ð&àÔ"Ð&:Ð:Ð:ðð ð à&Ð&ð ;Ð:r-   c                 ó   — dS ri  r(   r„   s    r+   r§   zWTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.fooï  ó   € Ø�2r-   r"   r#   c                 ó   •—  ‰| ¦  «        S r1   r(   )r…   r§   s    €r+   ro   z]TestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.test_implô  s   ø€ Ø�3�u‘:”:Ðr-   rX   r§   Tr²   c                 ó   — dS ro  r(   r„   s    r+   r§   zWTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.fooü  ru  r-   rl  rŠ  )rA   rs  ro   r…   r§   s       @r+   Ú5test_overload_inline_always_with_literally_in_inlineezJTestOverloadInlining.test_overload_inline_always_with_literally_in_inlineeÚ  sÑ   ø€ ð	'ð 	'ð 	'ð$	ð 	ð 	ð 	'��˜XÐ&Ñ&Ô& xÑ0Ô0Ð0ð	ð 	ð 	ð 	ð 	ð ˆØ�
Š
�9˜e°E¸4°=ˆ
ÑAÔAÐAð	ð 	ð 	à&��˜XÐ&Ñ&Ô& xÑ0Ô0Ð0ð ˆØ�
Š
�9˜e°E¸4°=ˆ
ÑAÔAÐAÐAÐAr-   c                 óŠ   ‡‡— dŠd„ Št          ‰d¬¦  «        ˆfd„¦   «         }ˆfd„}|                      |dddi¬	¦  «         d S )
NTc                 ó   — dS r¤  r(   ©ÚAs    r+   r§   z8TestOverloadInlining.test_inline_always_ssa.<locals>.foo	  rT  r-   r"   r#   c                 ó   •— ˆfd„}|S )Nc                 óx   •— ‰}t          t          | ¦  «        ¦  «        D ]}‰}| |         r| |         }||z  }Œ|S r1   )r‘   rc   )r|  r¥   rœ   ÚdummyÚ
dummy_trues       €r+   r°   zOTestOverloadInlining.test_inline_always_ssa.<locals>.foo_overload.<locals>.impl  sM   ø€ Ø�Ý�s 1™vœv™œð ð �AØ&�EØ˜”tð %Ø ! !¤˜Ø˜‘J�A�AØ�r-   r(   )r|  r°   r€  s     €r+   rˆ  zATestOverloadInlining.test_inline_always_ssa.<locals>.foo_overload  s#   ø€ ðð ð ð ð ð ˆKr-   c                  óB   •—  ‰ t          j        g d¢¦  «        ¦  «        S )N)TFT)r‹   Úarrayr¯   s   €r+   r°   z9TestOverloadInlining.test_inline_always_ssa.<locals>.impl  s$   ø€ Ø�3•r”xÐ 3Ð 3Ð 3Ñ4Ô4Ñ5Ô5Ð5r-   rO   r§   ©rH   rG   rŠ  )rA   rˆ  r°   r€  r§   s      @@r+   Útest_inline_always_ssaz+TestOverloadInlining.test_inline_always_ssa  sŠ   øø€ ð ˆ
ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð
	ð 
	ð 
	ð 
	ñ 
(Ô	'ð
	ð	6ð 	6ð 	6ð 	6ð 	6ð 	�
Š
�4 V¸EÀ4¸=ˆ
ÑIÔIÐIÐIÐIr-   c                 óÄ  ‡— d„ Št          ‰d¬¦  «        ˆfd„¦   «         }t          ˆfd„¦   «         }t          j        d¬¦  «        5 }t          j        dt
          j        ¦  «         t          ¦   «          |                       |¦   «         | 	                    ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |¦  «        d¦  «         d S )	Nc                  ó,   — d} | dk    r| dz  } | dk    °dS )Nrˆ   r'   r‡   r×   r(   rš  s    r+   r¿   zGTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.bar!  s+   € ØˆAØ�a’%�%Ø�a‘�ð �a’%�%ð �2r-   r"   r#   c                  ó   •— ‰ S r1   r(   ré   s   €r+   Úbar_implzLTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.bar_impl(  s   ø€ àˆJr-   c                  ó   •—  ‰ ¦   «          d S r1   r(   ré   s   €r+   r§   zGTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.foo,  s   ø€ àˆC‰EŒEˆEˆEˆEr-   T)Úrecordr   )r   r   ÚwarningsÚcatch_warningsÚsimplefilterr   ÚNumbaIRAssumptionWarningr!   rZ   Úpy_funcrc   )rA   rˆ  r§   Úwr¿   s       @r+   Ú%test_inline_always_ssa_scope_validityz:TestOverloadInlining.test_inline_always_ssa_scope_validity  s<  ø€ ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	ð 	ð 	ð 	ñ 
(Ô	'ð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	õ Ô$¨DÐ1Ñ1Ô1ð 	3°QÝÔ! (­FÔ,KÑLÔLÐLÝ$Ñ&Ô&Ð&Ø×Ò˜S˜S™UœU C§K¢K¡M¤MÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	×Ò�˜Q™œ Ñ#Ô#Ð#Ð#Ð#s   ÁAB2Â2B6Â9B6N)rm   r|   r}   rµ   r¹   rœ  r¶  rÆ  rÝ  ró  rù  r  rË   rÞ   r  rò   rý   r  r  r  r9  rc  rx  r„  r‘  r(   r-   r+   r€  r€  ý  sv  € € € € € ð7ð 7ð 7ð6ð 6ð 6ð 6ð 6ð 6ðIð Ið Ið4Hð Hð Hð6%Jð %Jð %JðN4ð 4ð 4ð05ð 5ð 5ð0(ð (ð (ð"*:ð *:ð *:ðX1:ð 1:ð 1:ðf?ð ?ð ?ð6ð 6ð 6ð6ð 6ð 6ð	6ð 	6ð 	6ð6ð 6ð 6ð$6ð 6ð 6ð0Fð 0Fð 0Fðd61ð 61ð 61ðp(Bð (Bð (BðTJð Jð Jð4$ð $ð $ð $ð $r-   r€  c                   ót   ‡ — e Zd Zˆ fd„Z	 dd„Z	 dd„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚTestOverloadMethsAttrsInliningc                 ó~   •— |                       ¦   «          t          t          | ¦  «                             ¦   «          d S r1   )r²  Úsuperr“  ÚsetUp)rA   Ú	__class__s    €r+   r–  z$TestOverloadMethsAttrsInlining.setUp;  s8   ø€ Ø×ÒÑÔÐÝÕ,¨dÑ3Ô3×9Ò9Ñ;Ô;Ð;Ð;Ð;r-   Tc                 ó€  —  t          t          ¬¦  «        |¦  «        }|                       ||Ž |¦  «         |j        |j        d                  j        d         }|j        |_        |                      t          |j        ¦  «        |¦  «         |rU|j                             ¦   «         D ]9}t          | 
                    d¦  «        ¦  «        }	|                      |	¦  «         Œ:d S g }
|j                             ¦   «         D ]'}|
t          | 
                    d¦  «        ¦  «        z  }
Œ(|                      |
¦  «         d S )NrI   r   rK   rU   ©r   r   rZ   r[   r\   r]   r:   rc   r;   Úlistrf   rn   r]  )rA   ro   rp   ÚexpectedrH   Úexpects_inlinedrt   ru   rv   r`  Úallcallss              r+   Úcheck_methodz+TestOverloadMethsAttrsInlining.check_method?  s>  € à>•Õ%=Ð>Ñ>Ô>¸yÑIÔIˆà×Ò˜˜ ˜¨Ñ1Ô1Ð1ð Ô˜vÔ0°Ô3Ô4Ô=¸nÔMˆØ”ZˆŒ
Ø×Ò�˜SœZ™œ¨+Ñ6Ô6Ð6Øð 
	&àœ×*Ò*Ñ,Ô,ð (ð (�Ý˜U×-Ò-¨fÑ5Ô5Ñ6Ô6�Ø× Ò  Ñ'Ô'Ð'Ð'ð(ð (ð
 ˆHØœ×*Ò*Ñ,Ô,ð ;ð ;�Ø�D ×!1Ò!1°&Ñ!9Ô!9Ñ:Ô:Ñ:��Ø�OŠO˜HÑ%Ô%Ð%Ð%Ð%r-   c                 ó€  —  t          t          ¬¦  «        |¦  «        }|                       ||Ž |¦  «         |j        |j        d                  j        d         }|j        |_        |                      t          |j        ¦  «        |¦  «         |rU|j                             ¦   «         D ]9}t          | 
                    d¦  «        ¦  «        }	|                      |	¦  «         Œ:d S g }
|j                             ¦   «         D ]'}|
t          | 
                    d¦  «        ¦  «        z  }
Œ(|                      |
¦  «         d S )NrI   r   rK   rg   r™  )rA   ro   rp   r›  rH   rœ  rt   ru   rv   ÚgetattrsÚallgetattrss              r+   Úcheck_getattrz,TestOverloadMethsAttrsInlining.check_getattrU  s@  € à>•Õ%=Ð>Ñ>Ô>¸yÑIÔIˆà×Ò˜˜ ˜¨Ñ1Ô1Ð1ð Ô˜vÔ0°Ô3Ô4Ô=¸nÔMˆØ”ZˆŒ
Ø×Ò�˜SœZ™œ¨+Ñ6Ô6Ð6Øð 
	)àœ×*Ò*Ñ,Ô,ð +ð +�Ý × 0Ò 0°Ñ ;Ô ;Ñ<Ô<�Ø× Ò  Ñ*Ô*Ð*Ð*ð+ð +ð
 ˆKØœ×*Ò*Ñ,Ô,ð Að A�Ø�t E×$4Ò$4°YÑ$?Ô$?Ñ@Ô@Ñ@��Ø�OŠO˜KÑ(Ô(Ð(Ð(Ð(r-   c                 ó¶   — |                       ¦   «         \  }}t          |dd¬¦  «        d	d„¦   «         }d„ }|                      | |¦   «         gdd¬¦  «         d S )
NÚinline_methodr"   r#   c                 ó   — dd„}|S )Nc                 ó   — d||fS )NúTHIS IS INLINEDr(   )rè  rb  Úval2s      r+   ÚgetzqTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>._get_inlined_method.<locals>.getp  s   € Ø)¨3°Ð5Ð5r-   ©NNr(   )rè  rb  r¨  r©  s       r+   Ú_get_inlined_methodzdTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>._get_inlined_methodn  s   € ð6ð 6ð 6ð 6àˆJr-   c                 óX   — |                       d¦  «        |                       d¬¦  «        fS )Nr‰   éA  )r¨  ©r¤  ©rè  s    r+   r§   zTTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>.foot  s,   € Ø×$Ò$ SÑ)Ô)¨3×+<Ò+<À#Ð+<Ñ+FÔ+FÐFÐFr-   ))r§  r‰   N)r§  Nr­  r'   )ro   rp   r›  rH   rª  ©r²  r   rž  )rA   rµ  rª  r«  r§   s        r+   Ú(test_overload_method_default_args_alwayszGTestOverloadMethsAttrsInlining.test_overload_method_default_args_alwaysk  s˜   € Ø×/Ò/Ñ1Ô1Ñˆˆyå	˜ O¸HÐ	EÑ	EÔ	Eð	ð 	ð 	ñ 
FÔ	Eð	ð
	Gð 	Gð 	Gð 	×ÒØØ�%‘'”'�ð6àð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 óÂ   ‡— ˆfd„}|                       ¦   «         \  }}t          |d|¬¦  «        d„ ¦   «         }d„ }|                      | |¦   «         gdd‰¬¦  «         d S )	Nc                  ó   •— ‰S r1   r(   )rp   Úshould_inlines    €r+   Ú	costmodelzKTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>.costmodel€  s	   ø€ Ø Ð r-   r¤  r#   c                 ó   — d„ }|S )Nc                 ó
   — d|fS )NúTHIS IS INLINED!!!r(   )rè  rb  s     r+   r©  zbTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>._get_inlined_method.<locals>.get‡  s   € Ø,¨cÐ2Ð2r-   r(   )rè  rb  r©  s      r+   r«  zUTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>._get_inlined_method…  s   € ð3ð 3ð 3àˆJr-   c                 ó,   — |                       d¦  «        S ©Nr‰   r®  r¯  s    r+   r§   zETestOverloadMethsAttrsInlining.make_overload_method_test.<locals>.foo‹  s   € Ø×$Ò$ SÑ)Ô)Ð)r-   )r¸  r‰   r'   ©ro   rp   r›  rH   rœ  r°  )rA   rµ  r´  rµ  rª  r«  r§   s     `    r+   Úmake_overload_method_testz8TestOverloadMethsAttrsInlining.make_overload_method_test  s­   ø€ ð	!ð 	!ð 	!ð 	!ð 	!ð  ×/Ò/Ñ1Ô1Ñˆˆyå	˜ O¸IÐ	FÑ	FÔ	Fð	ð 	ñ 
GÔ	Fð	ð
	*ð 	*ð 	*ð 	×ÒØØ�%‘'”'�Ø0ØØ)ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó4   — |                       dd¬¦  «         d S ©Nr"   T©rµ  r´  ©r¼  ©rA   s    r+   Ú'test_overload_method_cost_driven_alwayszFTestOverloadMethsAttrsInlining.test_overload_method_cost_driven_always–  s/   € Ø×&Ò&ØØð 	'ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó4   — |                       dd¬¦  «         d S ©Nr7   Fr¿  rÀ  rÁ  s    r+   Ú&test_overload_method_cost_driven_neverzETestOverloadMethsAttrsInlining.test_overload_method_cost_driven_neverœ  s/   € Ø×&Ò&ØØð 	'ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó6   — |                       d„ d¬¦  «         d S )Nc                  ó   — dS r¤  r(   rR  s    r+   r—  z]TestOverloadMethsAttrsInlining.test_overload_method_cost_driven_must_inline.<locals>.<lambda>¤  ó   €  D€ r-   Tr¿  rÀ  rÁ  s    r+   Ú,test_overload_method_cost_driven_must_inlinezKTestOverloadMethsAttrsInlining.test_overload_method_cost_driven_must_inline¢  s2   € Ø×&Ò&Ø(Ð(Øð 	'ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó6   — |                       d„ d¬¦  «         d S )Nc                  ó   — dS ©NFr(   rR  s    r+   r—  z[TestOverloadMethsAttrsInlining.test_overload_method_cost_driven_no_inline.<locals>.<lambda>ª  ó   €  E€ r-   Fr¿  rÀ  rÁ  s    r+   Ú*test_overload_method_cost_driven_no_inlinezITestOverloadMethsAttrsInlining.test_overload_method_cost_driven_no_inline¨  s2   € Ø×&Ò&Ø)Ð)Øð 	'ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó¶   — |                       ¦   «         \  }}t          |d|¬¦  «        d„ ¦   «         }d„ }|                      | |¦   «         gdd|¬¦  «         d S )NÚinlinemer#   c                 ó   — d„ }|S )Nc                 ó   — dS )NúMY INLINED ATTRSr(   r¯  s    r+   r©  z_TestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>._get_inlineme.<locals>.get³  s   € Ø)Ð)r-   r(   )rè  r©  s     r+   Ú_get_inlinemezRTestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>._get_inlineme±  s   € ð*ð *ð *àˆJr-   c                 ó   — | j         S r1   )rÐ  r¯  s    r+   r§   zHTestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>.foo·  s
   € Ø”<Ðr-   rÓ  r'   r»  )r²  r   r¢  )rA   rµ  r´  rµ  rª  rÔ  r§   s          r+   Úmake_overload_attribute_testz;TestOverloadMethsAttrsInlining.make_overload_attribute_test®  s‘   € Ø×/Ò/Ñ1Ô1Ñˆˆyå	˜I z¸)Ð	DÑ	DÔ	Dð	ð 	ñ 
EÔ	Dð	ð
	 ð 	 ð 	 ð 	×ÒØØ�%‘'”'�Ø'ØØ)ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó4   — |                       dd¬¦  «         d S r¾  ©rÖ  rÁ  s    r+   Útest_overload_attribute_alwaysz=TestOverloadMethsAttrsInlining.test_overload_attribute_alwaysÂ  s/   € Ø×)Ò)ØØð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó4   — |                       dd¬¦  «         d S rÄ  rØ  rÁ  s    r+   Útest_overload_attribute_neverz<TestOverloadMethsAttrsInlining.test_overload_attribute_neverÈ  s/   € Ø×)Ò)ØØð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó6   — |                       d„ d¬¦  «         d S )Nc                  ó   — dS r¤  r(   rR  s    r+   r—  z^TestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_must_inline.<locals>.<lambda>Ð  rÈ  r-   Tr¿  rØ  rÁ  s    r+   Ú-test_overload_attribute_costmodel_must_inlinezLTestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_must_inlineÎ  s2   € Ø×)Ò)Ø(Ð(Øð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r-   c                 ó6   — |                       d„ d¬¦  «         d S )Nc                  ó   — dS rÌ  r(   rR  s    r+   r—  z\TestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_no_inline.<locals>.<lambda>Ö  rÍ  r-   Fr¿  rØ  rÁ  s    r+   Ú+test_overload_attribute_costmodel_no_inlinezJTestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_no_inlineÔ  s2   € Ø×)Ò)Ø)Ð)Øð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r-   )T)rm   r|   r}   r–  rž  r¢  r±  r¼  rÂ  rÅ  rÉ  rÎ  rÖ  rÙ  rÛ  rÞ  rá  Ú__classcell__©r—  s   @r+   r“  r“  :  s  ø€ € € € € ð<ð <ð <ð <ð <ð
 &*ð&ð &ð &ð &ð. '+ð)ð )ð )ð )ð,
ð 
ð 
ð(
ð 
ð 
ð.
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð(
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð 
r-   r“  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestGeneralInliningc                 ó|   — t          t          d¬¦  «        d„ ¦   «         }d„ }|                      |ddi¬¦  «         d S )Nr"   r#   c                 ó   — d S r1   r(   r{  s    r+   Úoverload_lenzSTestGeneralInlining.test_with_inlined_and_noninlined_variants.<locals>.overload_lenâ  s   € ð$ð $r-   c                  ó$   — t          g d¢¦  «        S )N)r‡   r†   rB  )rc   r(   r-   r+   r°   zKTestGeneralInlining.test_with_inlined_and_noninlined_variants.<locals>.implç  s   € Ý�y�y�y‘>”>Ð!r-   rc   Fr²   )r   rc   r{   )rA   rè  r°   s      r+   Ú)test_with_inlined_and_noninlined_variantsz=TestGeneralInlining.test_with_inlined_and_noninlined_variantsÝ  s\   € õ
 
•#˜hÐ	'Ñ	'Ô	'ð	$ð 	$ñ 
(Ô	'ð	$ð	"ð 	"ð 	"ð 	�
Š
�4¨¨u ~ˆ
Ñ6Ô6Ð6Ð6Ð6r-   c                 ó‚   ‡— dd„Št          ‰d¬¦  «        dd„¦   «         }ˆfd„}|                      |dd	i¬
¦  «         d S )Nr†   rˆ   c                 ó   — | |z   |z   S r1   r(   ©r”   r•   r–   s      r+   r§   z1TestGeneralInlining.test_with_kwargs.<locals>.fooï  s   € Ø�q‘5˜1‘9Ðr-   r"   r#   c                 ó   — dd„}|S )Nr†   rˆ   c                 ó   — | |z   |z   S r1   r(   rí  s      r+   r°   zHTestGeneralInlining.test_with_kwargs.<locals>.overload_foo.<locals>.implô  s   € Ø˜1‘u˜q‘yÐ r-   ©r†   rˆ   r(   )r”   r•   r–   r°   s       r+   r˜  z:TestGeneralInlining.test_with_kwargs.<locals>.overload_fooò  s   € ð!ð !ð !ð !àˆKr-   c                  ó   •—  ‰ dd¬¦  «        S )Nr†   r×   ©r–   r(   r¯   s   €r+   r°   z2TestGeneralInlining.test_with_kwargs.<locals>.implø  s   ø€ Ø�3�q˜B�<‘<”<Ðr-   r§   Tr²   rð  rŠ  r›  s      @r+   Útest_with_kwargsz$TestGeneralInlining.test_with_kwargsí  s€   ø€ ð	ð 	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	ð 	ð 	ñ 
(Ô	'ð	ð
	 ð 	 ð 	 ð 	 ð 	 ð 	�
Š
�4¨¨t }ˆ
Ñ5Ô5Ð5Ð5Ð5r-   c                 ó~   ‡— t          d¬¦  «        dd„¦   «         Šdˆfd„	}|                      |d	d
ddi¬¦  «         d S )Nr"   r#   r�   rQ  c                 ó   — | |z   S r1   r(   rí  s      r+   r¿   z2TestGeneralInlining.test_with_kwargs2.<locals>.barÿ  s   € à�q‘5ˆLr-   rJ  rˆ   c                 ó$   •—  ‰| |z   d¬¦  «        S )Nrâ   rò  r(   rZ  s      €r+   r°   z3TestGeneralInlining.test_with_kwargs2.<locals>.impl  s   ø€ Ø�3�q˜1‘u Ð#Ñ#Ô#Ð#r-   r†   rB  r¿   Tr²   )r�   rQ  )rJ  rˆ   r³   rñ   s     @r+   Útest_with_kwargs2z%TestGeneralInlining.test_with_kwargs2ý  sq   ø€ å	�XÐ	Ñ	Ô	ð	ð 	ð 	ñ 
Ô	ð	ð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	�
Š
�4˜˜A¨e°T¨]ˆ
Ñ;Ô;Ð;Ð;Ð;r-   c                 óz   ‡— t          d¬¦  «        d	d„¦   «         Šˆfd„}|                      |dddi¬¦  «         d S )
Nr"   r#   c                 ó   — |€d}| |fS rº  r(   r”  s     r+   r¿   z@TestGeneralInlining.test_inlining_optional_constant.<locals>.bar  s   € àˆyØ�Ø�q�6ˆMr-   c                  óD   •—  ‰ ¦   «          ‰ d¦  «         ‰ d¬¦  «        fS )Nr‰   r­  rš  r(   ré   s   €r+   r°   zATestGeneralInlining.test_inlining_optional_constant.<locals>.impl  s(   ø€ Ø�3‘5”5˜#˜#˜c™(œ( C C¨# J¡J¤JÐ.Ð.r-   rO   r¿   Trƒ  rª  r³   rñ   s     @r+   Útest_inlining_optional_constantz3TestGeneralInlining.test_inlining_optional_constant  sl   ø€ õ 
�XÐ	Ñ	Ô	ð	ð 	ð 	ñ 
Ô	ð	ð
	/ð 	/ð 	/ð 	/ð 	/ð 	�
Š
�4 V¸EÀ4¸=ˆ
ÑIÔIÐIÐIÐIr-   N)rm   r|   r}   rê  ró  r÷  rû  r(   r-   r+   rå  rå  Û  sU   € € € € € ð7ð 7ð 7ð 6ð 6ð 6ð 	<ð 	<ð 	<ðJð Jð Jð Jð Jr-   rå  c                   ó   — e Zd Zd„ ZdS )ÚTestInlineOptionsc                 óÜ  — t          d¦  «        }|                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |j        d¦  «         t          d¦  «        }|                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |j        d¦  «         d„ }t          |¦  «        }|                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |j        |¦  «         d S )Nr"   r7   c                 ó   — | S r1   r(   r)   s    r+   Ú
cost_modelz0TestInlineOptions.test_basic.<locals>.cost_model&  s   € ØˆHr-   )	r   r]  Úis_always_inlinern   Úis_never_inlineÚhas_cost_modelrZ   r?   ÚassertIs)rA   r"   r7   r   Úmodels        r+   Ú
test_basiczTestInlineOptions.test_basic  sM  € Ý˜xÑ(Ô(ˆØ�Š˜Ô/Ñ0Ô0Ð0Ø×Ò˜Ô/Ñ0Ô0Ð0Ø×Ò˜Ô.Ñ/Ô/Ð/Ø×Ò˜œ xÑ0Ô0Ð0å˜gÑ&Ô&ˆØ×Ò˜Ô/Ñ0Ô0Ð0Ø�Š˜Ô-Ñ.Ô.Ð.Ø×Ò˜Ô-Ñ.Ô.Ð.Ø×Ò˜œ gÑ.Ô.Ð.ð	ð 	ð 	å˜jÑ)Ô)ˆØ×Ò˜Ô/Ñ0Ô0Ð0Ø×Ò˜Ô.Ñ/Ô/Ð/Ø�Š˜Ô,Ñ-Ô-Ð-Ø�Š�e”k :Ñ.Ô.Ð.Ð.Ð.r-   N)rm   r|   r}   r  r(   r-   r+   rý  rý    s#   € € € € € ð/ð /ð /ð /ð /r-   rý  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Z	dS )ÚTestInlineMiscIssuesc                 ó  ‡— d„ Št          ‰d¬¦  «        d„ ¦   «         }t          d¬¦  «        ˆfd„¦   «         }t          d¬¦  «        d„ ¦   «         } |t          j        d	¦  «        ¦  «          |t          j        d	¦  «        ¦  «         d S )
Nc                 ó   — d S r1   r(   )r‚  r…   s     r+   Úoutput_factoryz;TestInlineMiscIssues.test_issue4691.<locals>.output_factory2  rƒ  r-   r"   r#   c                 óN   — t          | t          j        j        ¦  «        rd„ }|S d S )Nc                 óL   — | j         dd …         }t          j        ||¬¦  «        S ©Nr†   r„   )Úshaper‹   rŒ   )r‚  r…   r  s      r+   r°   zLTestInlineMiscIssues.test_issue4691.<locals>.ol_output_factory.<locals>.impl8  s&   € Ø!œK¨¨¨œO�EÝœ8 E°Ð7Ñ7Ô7Ð7r-   )r=   r   ÚnpytypesÚArray)r‚  r…   r°   s      r+   Úol_output_factoryz>TestInlineMiscIssues.test_issue4691.<locals>.ol_output_factory5  s9   € å˜%¥¤Ô!5Ñ6Ô6ð ð8ð 8ð 8ð �ðð r-   T)Únogilc                 ó*   •—  ‰| | j         ¦  «        }|S r1   r„   )r‚  Úoutr  s     €r+   rl   z/TestInlineMiscIssues.test_issue4691.<locals>.fn>  s   ø€ à �. ¨¬Ñ4Ô4ˆCØˆJr-   c                 óR   — t          j        | j        dd …         | j        ¬¦  «        S r  )r‹   rŒ   r  r…   ©r‚  s    r+   Úfn2z0TestInlineMiscIssues.test_issue4691.<locals>.fn2C  s#   € å”8˜EœK¨¨¨œO°5´;Ð?Ñ?Ô?Ð?r-   )r×   rØ   rÙ   rÚ   rÛ   )r   r   r‹   Úones)rA   r  rl   r  r  s       @r+   Útest_issue4691z#TestInlineMiscIssues.test_issue46911  sÔ   ø€ ð	ð 	ð 	õ 
�.¨Ð	2Ñ	2Ô	2ð	ð 	ñ 
3Ô	2ð	õ 
�DÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ 
�DÐ	Ñ	Ô	ð	@ð 	@ñ 
Ô	ð	@ð 	ˆ�2Œ7Ð'Ñ(Ô(Ñ)Ô)Ð)Øˆ�BŒGÐ(Ñ)Ô)Ñ*Ô*Ð*Ð*Ð*r-   c                 ó˜   ‡— t          d¬¦  «        d„ ¦   «         Št           ˆfd„¦   «         } |t          j        d¦  «        ¦  «         d S )Nr"   r#   c                 ó:   — | j         dk    rt          d¦  «        ‚| S )Nr'   zInvalid number of dimensions)Úndimrg  r  s    r+   Úinliningz5TestInlineMiscIssues.test_issue4693.<locals>.inliningL  s!   € àŒz˜QŠˆÝ Ð!?Ñ@Ô@Ð@àˆLr-   c                 ó   •—  ‰| ¦  «        S r1   r(   )r‚  r  s    €r+   rl   z/TestInlineMiscIssues.test_issue4693.<locals>.fnS  s   ø€ à�8˜E‘?”?Ð"r-   r×   )r   r‹   rŒ   )rA   rl   r  s     @r+   Útest_issue4693z#TestInlineMiscIssues.test_issue4693J  sm   ø€ å	�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
ð	#ð 	#ð 	#ð 	#ñ 
Œð	#ð 	ˆ�2Œ8�B‰<Œ<ÑÔÐÐÐr-   c                 ó&  ‡— t          d¬¦  «        d„ ¦   «         Št           ˆfd„¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )Nr"   r#   c                  ó$   — d} t          | ¦  «        ‚)NúSomething happened)rg  )Úmsgs    r+   r  z5TestInlineMiscIssues.test_issue5476.<locals>.inlining\  s   € à&ˆCÝ˜S‘/”/Ð!r-   c                  ó   •—  ‰ ¦   «         S r1   r(   )r  s   €r+   rl   z/TestInlineMiscIssues.test_issue5476.<locals>.fna  s   ø€ à�8‘:”:Ðr-   r#  )r   r   rg  r  rX   r  )rA   rl   Úraisesr  s      @r+   Útest_issue5476z#TestInlineMiscIssues.test_issue5476Y  sê   ø€ õ 
�XÐ	Ñ	Ô	ð	"ð 	"ñ 
Ô	ð	"õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�zÑ*Ô*ð 	¨fØˆB‰DŒDˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ*­C°Ô0@Ñ,AÔ,AÑBÔBÐBÐBÐBs   ÁAÁA"Á%A"c                 óà  ‡‡‡	‡
—  G ˆ	fd„d¦  «        Š G d„ dt           j        ¦  «        Št          ‰¦  «         G d„ dt          j        ¦  «        ¦   «         }t          ‰dd¦  «         t          ˆfd	„¦   «         Š
t          ‰d
¬¦  «        ˆ
fd„¦   «         }t          ‰dd
¬¦  «        d„ ¦   «         }t          ˆfd„¦   «         }dŠ	d} |‰	|¦  «        }|  
                    |‰	|z  ¦  «         d S )Nc                   ó    •— e Zd Zd„ Zˆ fd„ZdS )ú2TestInlineMiscIssues.test_issue5792.<locals>.Dummyc                 ó   — || _         d S r1   ©Údata)rA   r-  s     r+   Ú__init__z;TestInlineMiscIssues.test_issue5792.<locals>.Dummy.__init__o  s   € Ø �”	�	�	r-   c                 ó   •— ‰|j         z  S r1   r,  )rA   Úotherr-  s     €r+   Údivz6TestInlineMiscIssues.test_issue5792.<locals>.Dummy.divr  s   ø€ Ø˜eœjÑ(Ð(r-   N)rm   r|   r}   r.  r1  r,  s   €r+   rµ  r*  n  s=   ø€ € € € € ð!ð !ð !ð)ð )ð )ð )ð )ð )ð )r-   rµ  c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ú6TestInlineMiscIssues.test_issue5792.<locals>.DummyTypec                 ól   •— || _         t          ¦   «                              d| j         › d�¬¦  «         d S )NzDummy(ú))rj   ©r-  r•  r.  )rA   r-  r—  s     €r+   r.  z?TestInlineMiscIssues.test_issue5792.<locals>.DummyType.__init__v  s9   ø€ Ø �”	Ý‘”× Ò Ð&;¨t¬yÐ&;Ð&;Ð&;Ð Ñ<Ô<Ð<Ð<Ð<r-   ©rm   r|   r}   r.  râ  rã  s   @r+   rª  r3  u  s8   ø€ € € € € ð=ð =ð =ð =ð =ð =ð =ð =ð =r-   rª  c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ú;TestInlineMiscIssues.test_issue5792.<locals>.DummyTypeModelc                 ób   •— d|j         fg}t          ¦   «                              |||¦  «         d S )Nr-  r6  )rA   ÚdmmÚfe_typeÚmembersr—  s       €r+   r.  zDTestInlineMiscIssues.test_issue5792.<locals>.DummyTypeModel.__init__|  s8   ø€ à˜Wœ\Ð*ð�õ ‘”× Ò   g¨wÑ7Ô7Ð7Ð7Ð7r-   r7  rã  s   @r+   ÚDummyTypeModelr9  z  s8   ø€ € € € € ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r-   r>  r-  Ú_datac                 óH   •— d„ } ‰|¦  «        }t          ||¦  «        }||fS )Nc                 óæ   — |j         }|\  } t          j        |¦  «        | |¦  «        }||_        | j        r'| j                             ||j        d         |¦  «         |                     ¦   «         S rü  )	Úreturn_typer   Úcreate_struct_proxyr-  Ú
enable_nrtÚnrtÚincrefrp   Ú	_getvalue)ÚcontextÚbuilderÚsigrp   Útypr-  r  s          r+   ÚcodegenzHTestInlineMiscIssues.test_issue5792.<locals>.init_dummy.<locals>.codegen†  so   € Ø”o�Ø‘�Ø8�Ô3°CÑ8Ô8¸À'ÑJÔJ�Ø!�”
àÔ%ð CØ”K×&Ò& w°´¸´¸TÑBÔBÐBà—’Ñ(Ô(Ð(r-   r   )Ú	typingctxr-  rL  Úret_typrJ  rª  s        €r+   Ú
init_dummyz7TestInlineMiscIssues.test_issue5792.<locals>.init_dummy„  s:   ø€ ð	)ð 	)ð 	)ð  �i ‘o”oˆGÝ˜G TÑ*Ô*ˆCà˜�<Ðr-   r"   r#   c                 ó   •— ˆfd„}|S )Nc                 ó   •—  ‰| ¦  «        S r1   r(   )r-  rO  s    €r+   ÚctorzITestInlineMiscIssues.test_issue5792.<locals>.dummy_overload.<locals>.ctor˜  s   ø€ Ø!�z $Ñ'Ô'Ð'r-   r(   )r-  rR  rO  s     €r+   Údummy_overloadz;TestInlineMiscIssues.test_issue5792.<locals>.dummy_overload–  s#   ø€ ð(ð (ð (ð (ð (ð ˆKr-   r1  c                 ó   — d„ }|S )Nc                 ó    — | j         |j         z  S r1   )r?  )rA   r0  s     r+   r°   zGTestInlineMiscIssues.test_issue5792.<locals>.div_overload.<locals>.implŸ  s   € Ø”z E¤KÑ/Ð/r-   r(   )rA   r0  r°   s      r+   Údiv_overloadz9TestInlineMiscIssues.test_issue5792.<locals>.div_overload�  s   € ð0ð 0ð 0ð ˆKr-   c                 óZ   •—  ‰| ¦  «        } ‰|¦  «        }|                      |¦  «        S r1   )r1  )r-  Ú
other_datar  r0  rµ  s       €r+   ro   z6TestInlineMiscIssues.test_issue5792.<locals>.test_impl¤  s1   ø€ à�E˜$‘K”KˆEØ�E˜*Ñ%Ô%ˆEà—9’9˜UÑ#Ô#Ð#r-   g      ð?r\  )r   ÚTyper   r   ÚStructModelr   r   r   r   r   rZ   )rA   r>  rS  rV  ro   rX  Úresrµ  rª  r-  rO  s          @@@@r+   Útest_issue5792z#TestInlineMiscIssues.test_issue5792j  sž  øøøø€ ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð	=ð 	=ð 	=ð 	=ð 	=�œ
ñ 	=ô 	=ð 	=õ
 
˜	Ñ	"Ô	"ð	8ð 	8ð 	8ð 	8ð 	8�VÔ/ñ 	8ô 	8ñ 
#Ô	"ð	8õ 	˜y¨&°'Ñ:Ô:Ð:å	ð	 ð 	 ð 	 ð 	 ñ 
Œð	 õ" 
�% Ð	)Ñ	)Ô	)ð	ð 	ð 	ð 	ñ 
*Ô	)ð	õ 
˜ E°(Ð	;Ñ	;Ô	;ð	ð 	ñ 
<Ô	;ð	õ 
ð	$ð 	$ð 	$ð 	$ñ 
Œð	$ð ˆØˆ
Øˆi˜˜jÑ)Ô)ˆØ×Ò˜˜d ZÑ/Ñ0Ô0Ð0Ð0Ð0r-   c                 óÜ   ‡—  G d„ dt           ¦  «        }d„ Št          ‰d¬¦  «        d„ ¦   «         }t          |¬¦  «        ˆfd„¦   «         }|                       |d	¦  «        d
¦  «         dS )z] Similar to the above test_issue5792, checks mutation of the inlinee
        IR is local onlyc                   ó   — e Zd Zd„ ZdS )ú;TestInlineMiscIssues.test_issue5824.<locals>.CustomCompilerc                 ó¢   — t          j        | j        ¦  «        }|                     t          t          ¦  «         |                     ¦   «          |gS r1   )r   Údefine_nopython_pipelineÚstateÚadd_pass_afterr   Úfinalize)rA   Úpms     r+   Údefine_pipelineszLTestInlineMiscIssues.test_issue5824.<locals>.CustomCompiler.define_pipelines¶  s>   € Ý'Ô@ÀÄÑLÔL�à×!Ò!¥/µ?ÑCÔCÐCØ—’‘”�Ø�t�r-   N)rm   r|   r}   rf  r(   r-   r+   ÚCustomCompilerr_  ´  s#   € € € € € ðð ð ð ð r-   rg  c                 ó   — d S r1   r(   r)   s    r+   r¿   z0TestInlineMiscIssues.test_issue5824.<locals>.bar½  s   € ØˆCr-   r"   r#   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | dz   S )NgÍÌÌÌÌÌô?r(   r)   s    r+   r°   zATestInlineMiscIssues.test_issue5824.<locals>.ol_bar.<locals>.implÃ  s   € Ø˜s™7�Nr-   rI  rK  s     r+   Úol_barz3TestInlineMiscIssues.test_issue5824.<locals>.ol_barÀ  s4   € å˜!�Uœ]Ñ+Ô+ð ð#ð #ð #à�ðð r-   rI   c                 ó0   •—  ‰| ¦  «         ‰| ¦  «        fS r1   r(   rî   s    €r+   r§   z0TestInlineMiscIssues.test_issue5824.<locals>.fooÇ  rm  r-   r×   )çš™™™™™&@rm  N)r   r   r   rZ   )rA   rg  rk  r§   r¿   s       @r+   Útest_issue5824z#TestInlineMiscIssues.test_issue5824°  s¼   ø€ ð	ð 	ð 	ð 	ð 	�\ñ 	ô 	ð 	ð	ð 	ð 	õ 
�#˜hÐ	'Ñ	'Ô	'ð	ð 	ñ 
(Ô	'ð	õ 
˜^Ð	,Ñ	,Ô	,ð	"ð 	"ð 	"ð 	"ñ 
-Ô	,ð	"ð 	×Ò˜˜˜R™œ ,Ñ/Ô/Ð/Ð/Ð/r-   c                 ó
  ‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆfd„¦   «         }t          j        d¦  «        } ||¦  «         |                      |dt          j        |¦  «        z  ¦  «         t          d¬¦  «        d	„ ¦   «         }|                      t          j        ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d
t          |j
        ¦  «        ¦  «         d S )Nr"   r#   c                 óT   — t          | j        ¦  «        D ]}| |xx         dz  cc<   Œd S r&   )r‘   Úsize)r*   rœ   s     r+   r¿   z0TestInlineMiscIssues.test_issue7380.<locals>.barÖ  s:   € å˜1œ6‘]”]ð ð �Ø�!��”˜‘	��‘�ðð r-   T)Úparallelc                 ód   •— t          | j        d         ¦  «        D ]} ‰| |         ¦  «         Œd S rü  )r   r  )r”   rœ   r¿   s     €r+   r§   z0TestInlineMiscIssues.test_issue7380.<locals>.fooÛ  s=   ø€ å˜AœG AœJÑ'Ô'ð ð �Ø��A�a”D‘	”	�	�	ðð r-   )r×   r×   r‡   c                 óž   — t          | j        d         ¦  «        D ]1}| |         }t          |j        ¦  «        D ]}||xx         dz  cc<   ŒŒ2d S )Nr   r'   )r   r  r‘   rq  )r”   rœ   r*   s      r+   Úfoo_badz4TestInlineMiscIssues.test_issue7380.<locals>.foo_badæ  se   € å˜AœG AœJÑ'Ô'ð ð �Ø�a”D�Ý˜qœv™œð ð �AØ�a�D�D”D˜A‘I�D�D‘D�Dððð r-   z Overwrite of parallel loop index)r   r‹   r  ÚassertPreciseEqualÚ	ones_liker   r   ÚUnsupportedRewriteErrorr  rX   r  )rA   r§   r”   ru  r˜   r¿   s        @r+   Útest_issue7380z#TestInlineMiscIssues.test_issue7380Í  sb  ø€ õ 
�XÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�tÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ ŒG�HÑÔˆØˆˆA‰Œˆà×Ò  1¥r¤|°A¡¤Ñ#6Ñ7Ô7Ð7õ 
�tÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð ×Ò�vÔ=Ñ>Ô>ð 	À!ØˆG�A‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ8½#¸a¼kÑ:JÔ:JÑKÔKÐKÐKÐKs   Â8CÃCÃCN)
rm   r|   r}   r  r   r'  r\  rn  r    ry  r(   r-   r+   r  r  /  s‡   € € € € € ð+ð +ð +ð2ð ð ðCð Cð Cð"D1ð D1ð D1ðL0ð 0ð 0ð: ð"Lð "Lñ Ôð"Lð "Lð "Lr-   r  Ú__main__)<Ú__doc__r´  r‹  Ú	itertoolsr   Únumpyr‹   r  r   r   r   r   Ú
numba.corer   r	   r
   r   r   r   Únumba.core.extendingr   r   r   r   r   r   r   r   Únumba.core.cpur   Únumba.core.compilerr   r   Únumba.core.typed_passesr   Únumba.core.typingr   Únumba.tests.supportr   r   r   r   r    r!   rí   r,   r/   r3   r5   r“   r¨   rª   rz  r€  r“  rå  rý  r  rm   Úmainr(   r-   r+   ú<module>r†     sÎ  ððð ð
 €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð )Ð (Ð (Ð (Ð (Ð (Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð €ð €ˆXÐÑÔðð ñ Ôðð
ð ð ð 
€ˆ,˜xÐ(Ñ(Ô(ðð ñ )Ô(ðð<ð <ð <ð <ð <�8ñ <ô <ð <ð@ €ð#ð #ð #ðLN*ð N*ð N*ð N*ð N*˜?¨Lñ N*ô N*ð N*ðb
6ð 6ð 6ð 6ð 6 /°<ñ 6ô 6ð 6ðz$ð z$ð z$ð z$ð z$˜?¨Lñ z$ô z$ð z$ðz^
ð ^
ð ^
ð ^
ð ^
 \ñ ^
ô ^
ð ^
ðB9Jð 9Jð 9Jð 9Jð 9J˜/¨<ñ 9Jô 9Jð 9Jðx/ð /ð /ð /ð /˜ñ /ô /ð /ð0ALð ALð ALð ALð AL˜8ñ ALô ALð ALðH ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr-   