§
    2@Äjú¡  ã                   ó  — d dl Z d dlmZmZ d dlZd dlZd dlZd dlm	Z	m
Z
mZ d dlmZmZmZ d dlmZmZmZ d dlmZ d dlmZmZmZmZ dd	iZd
d	i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„ Z0d„ Z1e
d „ ¦   «         Z2e
d!„ ¦   «         Z3d"„ Z4d#„ Z5d$„ Z6 G d%„ d&e¦  «        Z7 G d'„ d(ee¦  «        Z8 G d)„ d*ee¦  «        Z9 G d+„ d,ee¦  «        Z:e;d-k    r ej<        ¦   «          dS dS ).é    N)ÚIntEnumÚauto)ÚjitÚnjitÚtypeof)ÚutilsÚtypesÚerrors)ÚTestCaseÚtagÚMemoryLeakMixin)Ú	arraydecl)ÚintpÚellipsisÚslice2_typeÚslice3_typeÚforceobjTÚnopythonc                 ó   — | |||…         S ©N© )ÚaÚstartÚstopÚsteps       úJC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_indexing.pyÚslicing_1d_usecaser      s   € ØˆU�4˜ˆ_ÔÐó    c                 ó|   — | |||…         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S ©Nr   é   ©ÚrangeÚshape)r   r   r   r   ÚbÚtotalÚis          r   Úslicing_1d_usecase2r(      sQ   € Ø	ˆ%��Tˆ/Ô€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 óz   — | ||…         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   r   r   r%   r&   r'   s         r   Úslicing_1d_usecase3r*      sN   € Ø	ˆ%�ˆ*Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 óz   — | d d …         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   r%   r&   r'   s       r   Úslicing_1d_usecase4r,   %   sN   € Ø	ˆ!ˆ!ˆ!Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 óz   — | |d …         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   ©r   r   r%   r&   r'   s        r   Úslicing_1d_usecase5r/   ,   sN   € Ø	ˆ%ˆ&ˆ&Œ	€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 óz   — | d |…         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   r   r%   r&   r'   s        r   Úslicing_1d_usecase6r1   3   sN   € Ø	ˆ%ˆ4ˆ%Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 ó|   — | |d d…         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S ©Néþÿÿÿr   r!   r"   r.   s        r   Úslicing_1d_usecase7r5   :   sP   € à	ˆ%ˆ)�ˆ)Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 ó|   — | d d d…         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r3   r"   r.   s        r   Úslicing_1d_usecase8r7   B   sP   € à	ˆ$ˆ$ˆBˆ$Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 ó"   — | |||…|||…f         S r   r   )r   Ústart1Ústop1Ústep1Ústart2Ústop2Ústep2s          r   Úslicing_2d_usecaser?   K   s    € àˆV�E˜%Ð ¨¨eÐ!3Ð3Ô4Ð4r   c                 ó   — | |||…|f         S r   r   )r   r9   r:   r;   Úindexs        r   Úslicing_2d_usecase3rB   O   s   € àˆV�E˜%Ð Ð&Ô'Ð'r   c                 ó€   — | ||d …|f         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   Úindex0r9   Úindex2r%   r&   r'   s          r   Úslicing_3d_usecaserF   S   sV   € Ø	ˆ&�&�'�'˜6Ð
!Ô"€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 ó€   — | |d |…|f         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   rD   r:   rE   r%   r&   r'   s          r   Úslicing_3d_usecase2rH   Z   sV   € Ø	ˆ&�&�5�&˜&Ð
 Ô!€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 óv   — | |         }d}t          |j        d         ¦  «        D ]}|||         |dz   z  z  }Œ|S r    r"   )r   rA   r%   r&   r'   s        r   Úpartial_1d_usecaserJ   a   sJ   € Ø	ˆ%Œ€AØ€EÝ�1”7˜1”:ÑÔð  ð  ˆØ��1”˜˜Q™‘ÑˆˆØ€Lr   c                 ó   — | |         S r   r   )r   r'   s     r   Úinteger_indexing_1d_usecaserL   h   s   € ØˆQŒ4€Kr   c                 ó   — | ||f         S r   r   ©r   Úi1Úi2s      r   Úinteger_indexing_2d_usecaserQ   k   s   € ØˆR�ˆUŒ8€Or   c                 ó   — | |         |         S r   r   rN   s      r   Úinteger_indexing_2d_usecase2rS   n   s   € ØˆRŒ5�Œ9Ðr   c                 ó   — | ||…df         S ©N.r   ©r   r'   Újs      r   Úellipsis_usecase1rX   q   s   € ØˆQˆqˆS�#ˆXŒ;Ðr   c                 ó   — | d||…f         S rU   r   rV   s      r   Úellipsis_usecase2rZ   t   s   € ØˆS�!�A�#ˆXŒ;Ðr   c                 ó   — | |d|f         S rU   r   rV   s      r   Úellipsis_usecase3r\   w   s   € ØˆQ��QˆYŒ<Ðr   c                 ó   — | d          S r   r   ©r   s    r   Únone_index_usecaser_   z   s   € ØˆTŒ7€Nr   c                 ó   — | d         S )Nr   r   r^   s    r   Úempty_tuple_usecasera   }   s   € ØˆRŒ5€Lr   c                 ó   — || |<   d S r   r   )r   rA   Úvalues      r   Úsetitem_usecaserd   �   s   € à€A€e�H€H€Hr   c                 ó   — || d d …<   d S r   r   )r   rc   s     r   Úsetitem_broadcast_usecaserf   †   s   € à€A€a€a€a�D€D€Dr   c                 ó   — || |||…<   | S r   r   )r   r%   r   r   r   s        r   Úslicing_1d_usecase_setrh   ‹   s   € Ø€A€eˆD�€oÑØ€Hr   c                 ó*   — | ||…xx         |z  cc<   | S r   r   )r   r%   r   r   s       r   Úslicing_1d_usecase_addrj   �   s#   € ð €eˆD€j€M€M„M�QÑ€M€M�MØ€Hr   c                 ó    — || |||…|||…f<   | S r   r   )r   r%   r   r   r   r<   r=   r>   s           r   Úslicing_2d_usecase_setrl   •   s#   € Ø,-€A€eˆD�€o�f˜U 5Ð(Ð(Ñ)Ø€Hr   c                   ó*   — e Zd ZdZ e¦   «         ZdZdS )Ú	EnumIndexr   éÿÿÿÿN)Ú__name__Ú
__module__Ú__qualname__ÚINDEX0r   ÚINDEX1Ú
INDEX_NEG1r   r   r   rn   rn   š   s#   € € € € € Ø€FØˆT‰VŒV€FØ€J€J€Jr   rn   c                   ó¼  — e Zd ZdZefd„Zd„ Zefd„Zd„ Zefd„Z	d„ Z
efd„Zd	„ Zd
„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Z d„ Z!efd„Z"d „ Z#efd!„Z$d"„ Z%ee&fd#„Z'd$„ Z(d%„ Z)d&„ Z*efd'„Z+efd(„Z,d)„ Z-efd*„Z.d+„ Z/efd,„Z0d-„ Z1efd.„Z2d/„ Z3d0„ Z4d1„ Z5efd2„Z6d3„ Z7efd4„Z8d5„ Z9efd6„Z:d7„ Z;d8S )9ÚTestGetItemz‰
    Test basic indexed load from an array (returning a view or a scalar).
    Note fancy indexing is tested in test_fancy_indexing.
    c                 óJ  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }dD ](} ||g|¢R Ž }|                       ||g|¢R Ž |¦  «         Œ)d S )Nr!   ÚCé
   Úi4©Údtype)©r   rz   r!   ©é   é   r!   ©rz   r   r!   ©r   rz   ro   ©r   rz   r€   )é	   r   ro   ©éûÿÿÿr4   r!   ©r   ro   r!   )r   r	   ÚArrayÚint32r   ÚnpÚarangeÚassertPreciseEqual)	ÚselfÚflagsÚpyfuncÚ	arraytypeÚargtysÚcfuncr   ÚindicesÚexpecteds	            r   Útest_1d_slicingzTestGetItem.test_1d_slicing¦   sÆ   € Ý#ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆðð 
	Bð 
	BˆGð �v˜aÐ* 'Ð*Ð*Ð*ˆHØ×#Ò# E E¨!Ð$6¨gÐ$6Ð$6Ð$6¸ÑAÔAÐAÐAð
	Bð 
	Br   c                 ó<   — |                       t          ¬¦  «         d S ©N)r�   )r–   ÚNoflags©rŽ   s    r   Útest_1d_slicing_npmzTestGetItem.test_1d_slicing_npm¹   ó   € Ø×Ò¥7ÐÑ+Ô+Ð+Ð+Ð+r   c                 ó  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }g d¢}|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ't          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        d d d	…         }|                      |j	        d
         ¦  «         |                      |j	        d         ¦  «         g d¢}|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ'd S )Nr!   ry   rz   r{   r|   ©r~   r   r‚   rƒ   r„   ÚAé   r€   ÚC_CONTIGUOUSÚF_CONTIGUOUS)
r(   r	   r‰   rŠ   r   r‹   rŒ   ÚassertEqualÚassertFalser�   ©	rŽ   r�   r�   r‘   r’   r“   r   ÚargsÚargs	            r   Útest_1d_slicing2zTestGetItem.test_1d_slicing2¼   sº  € Ý$ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆðð ð ˆð ð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô% c c¨ cÔ*ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1ðð ð ˆð ð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r¨   r™   rš   s    r   Útest_1d_slicing2_npmz TestGetItem.test_1d_slicing2_npmà   ó   € Ø×Ò¥GÐÑ,Ô,Ð,Ð,Ð,r   c                 óæ  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }g d¢}|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ't          j        t          j        dd¦  «        }|t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        d d d	…         }|                      |j	        d
         ¦  «         |                      |j	        d         ¦  «         |D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ'd S )Nr!   ry   rz   r{   r|   ))r�   rz   )r€   r�   )rz   r   ©r   rz   )é   rz   rŸ   r    r€   r¡   r¢   )
r*   r	   r‰   rŠ   r   r‹   rŒ   r£   r¤   r�   r¥   s	            r   Útest_1d_slicing3zTestGetItem.test_1d_slicing3ã   sŸ  € Ý$ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+Ð6ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆðð ð ˆð ð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+Ð6ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô% c c¨ cÔ*ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1àð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r¯   r™   rš   s    r   Útest_1d_slicing3_npmz TestGetItem.test_1d_slicing3_npm  r«   r   c                 ó‚  — t           }t          j        t          j        dd¦  «        }|f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }|                       ||¦  «         ||¦  «        ¦  «         t          j        t          j        dd¦  «        }|f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        d d d…         }|                      |j	        d	         ¦  «         |                      |j	        d
         ¦  «         |                       ||¦  «         ||¦  «        ¦  «         d S )Nr!   ry   rz   r{   r|   rŸ   r    r€   r¡   r¢   )
r,   r	   r‰   rŠ   r   r‹   rŒ   r£   r¤   r�   ©rŽ   r�   r�   r‘   r’   r“   r   s          r   Útest_1d_slicing4zTestGetItem.test_1d_slicing4  s:  € Ý$ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆØ×Ò˜˜ ™œ E E¨!¡H¤HÑ-Ô-Ð-õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô% c c¨ cÔ*ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜˜ ™œ E E¨!¡H¤HÑ-Ô-Ð-Ð-Ð-r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r´   r™   rš   s    r   Útest_1d_slicing4_npmz TestGetItem.test_1d_slicing4_npm  r«   r   c                 óö  — t          t          dd¦  «        ¦  «        }t          j        t          j        dd¦  «        }|t          j        f} t          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }|D ],}|                       |||¦  «         |||¦  «        ¦  «         Œ-t          j        t          j        dd¦  «        }|t          j        f} t          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        d d d	…         }|  	                    |j
        d
         ¦  «         |  	                    |j
        d         ¦  «         |D ],}|                       |||¦  «         |||¦  «        ¦  «         Œ-d S )Ni÷ÿÿÿrz   r!   ry   r{   r|   rŸ   r    r€   r¡   r¢   )Úlistr#   r	   r‰   rŠ   r   r‹   rŒ   r£   r¤   r�   )	rŽ   r�   r�   r¦   r‘   r’   r“   r   r§   s	            r   Úcheck_1d_slicing_with_argz%TestGetItem.check_1d_slicing_with_arg  s„  € Ý•E˜"˜b‘M”MÑ"Ô"ˆå”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆØð 	<ð 	<ˆCØ×Ò˜V˜V A s™^œ^¨U¨U°1°c©]¬]Ñ;Ô;Ð;Ð;õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô% c c¨ cÔ*ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1Øð 	<ð 	<ˆCØ×Ò˜V˜V A s™^œ^¨U¨U°1°c©]¬]Ñ;Ô;Ð;Ð;ð	<ð 	<r   c                 ó@   — t           }|                      ||¦  «         d S r   )r/   r¹   ©rŽ   r�   r�   s      r   Útest_1d_slicing5zTestGetItem.test_1d_slicing50  ó#   € Ý$ˆØ×&Ò& v¨uÑ5Ô5Ð5Ð5Ð5r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r¼   r™   rš   s    r   Útest_1d_slicing5_npmz TestGetItem.test_1d_slicing5_npm4  r«   r   c                 ó@   — t           }|                      ||¦  «         d S r   )r1   r¹   r»   s      r   Útest_1d_slicing6zTestGetItem.test_1d_slicing67  r½   r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rÁ   r™   rš   s    r   Útest_1d_slicing6_npmz TestGetItem.test_1d_slicing6_npm;  r«   r   c                 ó@   — t           }|                      ||¦  «         d S r   )r5   r¹   r»   s      r   Útest_1d_slicing7zTestGetItem.test_1d_slicing7>  r½   r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rÅ   r™   rš   s    r   Útest_1d_slicing7_npmz TestGetItem.test_1d_slicing7_npmB  r«   r   c                 ó@   — t           }|                      ||¦  «         d S r   )r7   r¹   r»   s      r   Útest_1d_slicing8zTestGetItem.test_1d_slicing8E  r½   r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rÉ   r™   rš   s    r   Útest_1d_slicing8_npmz TestGetItem.test_1d_slicing8_npmI  r«   r   c                 óx  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }dD ]+}|                       ||g|¢R Ž  ||g|¢R Ž d|›�¬	¦  «         Œ,d
S )z
        arr_2d[a:b:c]
        r€   ry   éd   r{   r|   rz   rž   z	for args )ÚmsgN)	r   r	   r‰   rŠ   r   r‹   rŒ   Úreshaper�   )rŽ   r�   r�   r‘   r’   r“   r   r¦   s           r   Útest_2d_slicingzTestGetItem.test_2d_slicingL  sè   € õ $ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆð.ð 	Að 	AˆDà×#Ò# F F¨1Ð$4¨tÐ$4Ð$4Ð$4°e°e¸A°oÀ°o°o°o°oØ9=¸Ð(?ð $ñ Aô Að Að Að	Að 	Ar   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rÐ   r™   rš   s    r   Útest_2d_slicing_npmzTestGetItem.test_2d_slicing_npm[  rœ   r   c                 ó¶  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }g d¢}d„ t          j	        ||¦  «        D ¦   «         }|D ](}	 ||g|	¢R Ž }
|  
                     ||g|	¢R Ž |
¦  «         Œ)t          j        t          j        dd	¦  «        }|t          j        t          j        t          j        t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        d
d¬¦  «                             dd¦  «        ddd…ddd…f         }|D ](}	 ||g|	¢R Ž }
|  
                     ||g|	¢R Ž |
¦  «         Œ)dS )z&
        arr_2d[a:b:c, d:e:f]
        r€   ry   rÍ   r{   r|   rz   )	r~   r   r‚   rƒ   r„   )rz   r   ro   )r…   r   r4   r†   rˆ   c                 ó   — g | ]
\  }}||z   ‘ŒS r   r   )Ú.0Útup1Útup2s      r   ú
<listcomp>z0TestGetItem.test_2d_slicing2.<locals>.<listcomp>u  s6   € ð Ið Ið IÙ �T˜4ð �t‘ð Ið Ið Ir   rŸ   é�  r    N)r?   r	   r‰   rŠ   r   r‹   rŒ   rÏ   Ú	itertoolsÚproductr�   )rŽ   r�   r�   r‘   r’   r“   r   r”   r¦   r§   r•   s              r   Útest_2d_slicing2zTestGetItem.test_2d_slicing2^  só  € õ
 $ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{Ý”+�uœ{­E¬Kð9ˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆð	ð 	ð 	ˆðIð IÝ$-Ô$5°g¸wÑ$GÔ$GðIñ Iô Iˆàð 	>ð 	>ˆCØ�v˜a� #���ˆHØ×#Ò# E E¨! N¨c N N N°HÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{Ý”+�uœ{­E¬Kð9ˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6°s°s¸°s¸C¸C¸a¸C°xÔ@ˆàð 	>ð 	>ˆCØ�v˜a� #���ˆHØ×#Ò# E E¨! N¨c N N N°HÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rÜ   r™   rš   s    r   Útest_2d_slicing2_npmz TestGetItem.test_2d_slicing2_npm‡  r«   r   c                 ó   — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }g d¢}|D ](} ||g|¢R Ž }	|                       ||g|¢R Ž |	¦  «         Œ)t          j        t          j        dd¦  «        }|t          j        t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        d	d¬¦  «                             d
d
¦  «        ddd…ddd…f         }|D ](} ||g|¢R Ž }	|                       ||g|¢R Ž |	¦  «         Œ)dS )z"
        arr_2d[a:b:c, d]
        r€   ry   rÍ   r{   r|   rz   ))r   rz   r!   r   )r€   r�   r!   r!   )rz   r   ro   é   )r…   r   r4   é   )r   rz   r€   r�   )r   ro   r�   r!   rŸ   rÙ   r    N)	rB   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r�   )
rŽ   r�   r�   r‘   r’   r“   r   r¦   r§   r•   s
             r   Útest_2d_slicing3zTestGetItem.test_2d_slicing3Š  sµ  € õ
 %ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{Ý”+ðˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆð
ð 
ð 
ˆð ð 	>ð 	>ˆCØ�v˜a� #���ˆHØ×#Ò# E E¨! N¨c N N N°HÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{Ý”+ðˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6°s°s¸°s¸C¸C¸a¸C°xÔ@ˆàð 	>ð 	>ˆCØ�v˜a� #���ˆHØ×#Ò# E E¨! N¨c N N N°HÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )râ   r™   rš   s    r   Útest_2d_slicing3_npmz TestGetItem.test_2d_slicing3_npm¯  r«   r   c                 óæ  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             ddd¦  «        }g d¢}|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ't          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        d	d¬¦  «        d d d
…                              ddd¦  «        }|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ'd S ©Nr�   ry   iè  r{   r|   rz   ))r   r…   r!   r   )r…   r   r!   )r   r…   ro   )r   r…   r€   rŸ   iÐ  r€   )	rF   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r£   r¥   s	            r   Útest_3d_slicingzTestGetItem.test_3d_slicing²  s•  € å#ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�d $Ð'Ñ'Ô'×/Ò/°°B¸Ñ;Ô;ˆð
ð 
ð 
ˆð ð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�d $Ð'Ñ'Ô'¨¨¨!¨Ô,×4Ò4°R¸¸RÑ@Ô@ˆàð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rç   r™   rš   s    r   Útest_3d_slicing_npmzTestGetItem.test_3d_slicing_npmÏ  rœ   r   c                 óæ  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             ddd¦  «        }g d¢}|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ't          j        t          j        dd¦  «        }|t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        d	d¬¦  «        d d d
…                              ddd¦  «        }|D ]&}|                       ||g|¢R Ž  ||g|¢R Ž ¦  «         Œ'd S ræ   )	rH   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r£   r¥   s	            r   Útest_3d_slicing2zTestGetItem.test_3d_slicing2Ò  s•  € å$ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�d $Ð'Ñ'Ô'×/Ò/°°B¸Ñ;Ô;ˆð
ð 
ð 
ˆð ð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+µu´{ÐCˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�d $Ð'Ñ'Ô'¨¨¨!¨Ô,×4Ò4°R¸¸RÑ@Ô@ˆàð 	>ð 	>ˆCØ×Ò˜V˜V A˜_¨˜_˜_˜_¨e¨e°A¨n¸¨n¨n¨nÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rë   r™   rš   s    r   Útest_3d_slicing2_npmz TestGetItem.test_3d_slicing2_npmï  r«   r   c                 óÖ  — t           }t          j        t          j        dd¦  «        }|t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }|                       ||d¦  «         ||d¦  «        ¦  «         |                       ||d¦  «         ||d¦  «        ¦  «         |                       ||d¦  «         ||d¦  «        ¦  «         t          j        t          j        dd	¦  «        }|t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        d d d
…         }|                      |j	        d         ¦  «         |                      |j	        d         ¦  «         |                       ||d¦  «         ||d¦  «        ¦  «         |                       ||d
¦  «         ||d
¦  «        ¦  «         |                       ||d¦  «         ||d¦  «        ¦  «         t          j        t          j        dd¦  «        }t          j        t          j
        dd¦  «        }||f} t	          |fi |¤Ž|¦  «        }t          j        ddt
          j        ¬¦  «        }dD ]j}t          j        |¦  «                             t
          j
        ¦  «        }	|	j        dk    sJ ‚|                       |||	¦  «         |||	¦  «        ¦  «         Œkd S )Nr!   ry   rz   r{   r|   r   r…   ro   rŸ   r€   r¡   r¢   r�   é   )r   r…   r4   )rL   r	   r‰   rŠ   r   r‹   rŒ   r£   r¤   r�   Úint16ÚarrayÚastypeÚndim)
rŽ   r�   r�   r‘   r’   r“   r   Ú	indextyper'   Úidxs
             r   Útest_1d_integer_indexingz$TestGetItem.test_1d_integer_indexingò  sÍ  € å,ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆØ×Ò˜˜  1™œ u u¨Q°¡{¤{Ñ3Ô3Ð3Ø×Ò˜˜  1™œ u u¨Q°¡{¤{Ñ3Ô3Ð3Ø×Ò˜˜  2™œ¨¨¨a°©¬Ñ5Ô5Ð5õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô% c c¨ cÔ*ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜˜  1™œ u u¨Q°¡{¤{Ñ3Ô3Ð3Ø×Ò˜˜  1™œ u u¨Q°¡{¤{Ñ3Ô3Ð3Ø×Ò˜˜  2™œ¨¨¨a°©¬Ñ5Ô5Ð5õ ”K¥¤¨Q°Ñ4Ô4ˆ	Ý”K¥¤¨Q°Ñ4Ô4ˆ	Ø˜YÐ'ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�a˜¥2¤8Ð,Ñ,Ô,ˆØð 	<ð 	<ˆAÝ”(˜1‘+”+×$Ò$¥R¤XÑ.Ô.ˆCØ”8˜q’=�=�=�=Ø×Ò˜V˜V A s™^œ^¨U¨U°1°c©]¬]Ñ;Ô;Ð;Ð;ð	<ð 	<r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rö   r™   rš   s    r   Útest_1d_integer_indexing_npmz(TestGetItem.test_1d_integer_indexing_npm  ó   € Ø×%Ò%­GÐ%Ñ4Ô4Ð4Ð4Ð4r   c                 óô  — t           }t          j        t          j        dd¦  «        }t          j        t
          t          j        ¦  «        }||f} t          |fi |¤Ž|¦  «        }t          j	        dd¬¦  «        }|  
                     ||t
          j        ¦  «         ||t
          j        ¦  «        ¦  «         |  
                     ||t
          j        ¦  «         ||t
          j        ¦  «        ¦  «         |  
                     ||t
          j        ¦  «         ||t
          j        ¦  «        ¦  «         d„ } t          |ffi |¤Ž|¦  «        }	|  
                     ||¦  «         |	|¦  «        ¦  «         d S )Nr!   ry   rz   r{   r|   c                 ól   — | t           j                 | t           j                 | t           j                 fS r   )rn   rs   rt   ru   r^   s    r   Úconst_pyfuncz7TestGetItem.test_1d_enum_indexing.<locals>.const_pyfunc'  s-   € Ø•iÔ&Ô'Ø•iÔ&Ô'Ø•iÔ*Ô+ð-ð -r   )rL   r	   r‰   rŠ   ÚIntEnumMemberrn   r   r   r‹   rŒ   r£   rs   rt   ru   )
rŽ   r�   r�   r‘   Úidxtyper’   r“   r   rü   Úconst_cfuncs
             r   Útest_1d_enum_indexingz!TestGetItem.test_1d_enum_indexing  sg  € å,ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	ÝÔ%¥iµ´Ñ<Ô<ˆØ˜WÐ%ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%ˆØ×Ò˜˜ ¥9Ô#3Ñ4Ô4°e°e¸A½yÔ?OÑ6PÔ6PÑQÔQÐQØ×Ò˜˜ ¥9Ô#3Ñ4Ô4°e°e¸A½yÔ?OÑ6PÔ6PÑQÔQÐQØ×Ò˜˜ ¥9Ô#7Ñ8Ô8¸%¸%ÀÅ9ÔCWÑ:XÔ:XÑYÔYÐYð	-ð 	-ð 	-ð
 1•c˜9˜,Ð0Ð0¨%Ð0Ð0°Ñ>Ô>ˆØ×Ò˜˜ a™œ¨+¨+°a©.¬.Ñ9Ô9Ð9Ð9Ð9r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r   r™   rš   s    r   Útest_1d_enum_indexing_npmz%TestGetItem.test_1d_enum_indexing_npm/  s   € Ø×"Ò"­Ð"Ñ1Ô1Ð1Ð1Ð1r   c                 ó.  — t           }t          j        t          j        dd¦  «        }|t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }|                       ||d¦  «         ||d¦  «        ¦  «         |                       ||d¦  «         ||d¦  «        ¦  «         |                       ||d	¦  «         ||d	¦  «        ¦  «         t          j        t          j        dd
¦  «        }|t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        d d d…         }|                       ||d¦  «         ||d¦  «        ¦  «         d S )Nr€   ry   rÍ   r{   r|   rz   r   r…   ro   rŸ   r    r®   rá   )	rL   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r�   r³   s          r   Útest_integer_indexing_1d_for_2dz+TestGetItem.test_integer_indexing_1d_for_2d2  sˆ  € å,ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆØ×Ò   q¨!¡¤¨e¨e°A°q©k¬kÑ:Ô:Ð:Ø×Ò   q¨!¡¤¨e¨e°A°q©k¬kÑ:Ô:Ð:Ø×Ò   q¨"¡¤¨u¨u°Q¸©|¬|Ñ<Ô<Ð<å”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[Ð)ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�b Ð%Ñ%Ô%×-Ò-¨a°Ñ3Ô3°C°C°a°CÔ8ˆØ×Ò   q¨!¡¤¨e¨e°A°q©k¬kÑ:Ô:Ð:Ð:Ð:r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r  r™   rš   s    r   Ú#test_integer_indexing_1d_for_2d_npmz/TestGetItem.test_integer_indexing_1d_for_2d_npmE  s   € Ø×,Ò,µ7Ð,Ñ;Ô;Ð;Ð;Ð;r   c           	      óÌ  — t          j        dd¬¦  «                             dd¦  «        }t          j        t          j        dd¦  «        }|t          j        t          j        f} t          |fi |¤Ž|¦  «        }|                       ||dd¦  «         ||dd¦  «        ¦  «         |                       ||d	d	¦  «         ||d	d	¦  «        ¦  «         |                       ||d
d¦  «         ||d
d¦  «        ¦  «         t          j        dd¬¦  «                             dd¦  «        d d d…d d d…f         }|                      |j	        d         ¦  «         |                      |j	        d         ¦  «         t          j        t          j        dd¦  «        }|t          j        t          j        f} t          |fi |¤Ž|¦  «        }|                       ||dd¦  «         ||dd¦  «        ¦  «         |                       ||dd¦  «         ||dd¦  «        ¦  «         |                       ||d
d¦  «         ||d
d¦  «        ¦  «         t          j        dd¬¦  «                             dd¦  «        }t          j        t          j        dd¦  «        }t          j        t          j        dd¦  «        }|||f} t          |fi |¤Ž|¦  «        }dD ]“\  }}	t          j
        |¦  «                             t           j        ¦  «        }t          j
        |	¦  «                             t           j        ¦  «        }	|                       ||||	¦  «         ||||	¦  «        ¦  «         Œ”d S )NrÍ   r{   r|   rz   r€   ry   r   r�   r…   r4   ro   r¡   r¢   rŸ   r!   ))r   r�   )rà   r…   )r4   ro   )r‹   rŒ   rÏ   r	   r‰   rŠ   r   r£   r¤   r�   rñ   rò   )
rŽ   r�   r�   r   r‘   r’   r“   rô   r'   rW   s
             r   Útest_2d_integer_indexingz$TestGetItem.test_2d_integer_indexingH  s@  € õ ŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+Ð6ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆà×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  2 rÑ*Ô*¨E¨E°!°R¸Ñ,<Ô,<Ñ=Ô=Ð=õ ŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6°s°s¸°s¸C¸C¸a¸C°xÔ@ˆØ×Ò˜œ Ô0Ñ1Ô1Ð1Ø×Ò˜œ Ô0Ñ1Ô1Ð1å”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ[­%¬+Ð6ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆà×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  2 rÑ*Ô*¨E¨E°!°R¸Ñ,<Ô,<Ñ=Ô=Ð=õ ŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ý”K¥¤¨Q°Ñ4Ô4ˆ	Ø˜Y¨	Ð2ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆà.ð 	>ð 	>‰DˆAˆqÝ”˜‘”×"Ò"¥2¤8Ñ,Ô,ˆAÝ”˜‘”×"Ò"¥2¤8Ñ,Ô,ˆAØ×Ò˜V˜V A q¨!™_œ_¨e¨e°A°q¸!©n¬nÑ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r  r™   rš   s    r   Útest_2d_integer_indexing_npmz(TestGetItem.test_2d_integer_indexing_npmm  rù   r   c                 ó~   — |                       t          ¬¦  «         |                       t          t          ¬¦  «         d S )N)r�   )r�   r�   )r  rS   r™   rš   s    r   Útest_2d_integer_indexing2z%TestGetItem.test_2d_integer_indexing2p  sK   € Ø×%Ò%Õ-IÐ%ÑJÔJÐJØ×%Ò%­GÝ-Ið 	&ñ 	Kô 	Kð 	Kð 	Kð 	Kr   c                 óª  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }t          j        d¦  «                             dd¦  «        }|                       ||dd¦  «        |d         d         ¦  «         |                       ||dd¦  «        |d         d         ¦  «         |                       ||dd¦  «        |d         d         ¦  «         d S )	Nc                 ó   — | |         S r   r   )ÚXÚi0s     r   Úindex1z=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index1v  s   € à�R”5ˆLr   c                 ó(   •—  ‰| |         |¦  «        S r   r   )r  r  rO   r  s      €r   rE   z=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index2y  s   ø€ à�6˜!˜Bœ% Ñ$Ô$Ð$r   rz   r€   r®   r   r!   ro   )r   r‹   rŒ   rÏ   r£   )rŽ   rE   r   r  s      @r   Ú!test_2d_integer_indexing_via_callz-TestGetItem.test_2d_integer_indexing_via_callu  sâ   ø€ Ý	ð	ð 	ñ 
Œð	å	ð	%ð 	%ð 	%ð 	%ñ 
Œð	%åŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆØ×Ò˜˜  1 a™œ¨!¨A¬$¨q¬'Ñ2Ô2Ð2Ø×Ò˜˜  1 a™œ¨!¨A¬$¨q¬'Ñ2Ô2Ð2Ø×Ò˜˜  2 rÑ*Ô*¨A¨b¬E°"¬IÑ6Ô6Ð6Ð6Ð6r   c                 ó  — t          j        dd¬¦  «                             dd¦  «        }t          }t	          j        t          j        dd¦  «        }|t          j        t          j        f} t          |fi |¤Ž|¦  «        }|  	                     ||dd¦  «         ||dd¦  «        ¦  «         |  	                     ||dd¦  «         ||dd¦  «        ¦  «         |  	                     ||d	d	¦  «         ||d	d	¦  «        ¦  «         d S )
NrÍ   r{   r|   rz   r€   ry   r   r…   ro   )
r‹   rŒ   rÏ   rQ   r	   r‰   rŠ   Úfloat32r   r£   )rŽ   r�   r   r�   r‘   r’   r“   s          r   Útest_2d_float_indexingz"TestGetItem.test_2d_float_indexing�  s  € ÝŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆÝ,ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�Uœ]­E¬KÐ8ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆà×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  1 a™œ¨%¨%°°1°a©.¬.Ñ9Ô9Ð9Ø×Ò˜˜  2 rÑ*Ô*¨E¨E°!°R¸Ñ,<Ô,<Ñ=Ô=Ð=Ð=Ð=r   c                 óB  ‡ ‡‡— t           Šˆˆˆ fd„}t          j        dd¬¦  «                             d¦  «        }t	          j        t          j        dd¦  «        } |||¦  «         t          j        dd¬¦  «                             d¦  «        j        }t	          j        t          j        dd	¦  «        } |||¦  «         t          j        dd¬¦  «                             d¦  «        d d d…         }t	          j        t          j        dd
¦  «        } |||¦  «         d S )Nc                 ól  •— |t           j        f} t          |fi ‰¤Ž‰¦  «        }‰                      ‰| d¦  «         || d¦  «        ¦  «         | j        d         dz
  }‰                      ‰| |¦  «         || |¦  «        ¦  «         ‰                      ‰| d¦  «         || d¦  «        ¦  «         d S )Nr   r!   ro   )r	   rŠ   r   r£   r$   )Úarrr‘   r’   r“   Únr�   r�   rŽ   s        €€€r   Úcheckz3TestGetItem.test_partial_1d_indexing.<locals>.check�  sÂ   ø€ Ø¥¤Ð-ˆFØ(•C˜Ð(Ð( %Ð(Ð(¨Ñ0Ô0ˆEØ×Ò˜V˜V C¨™^œ^¨U¨U°3¸©]¬]Ñ;Ô;Ð;Ø”	˜!”˜qÑ ˆAØ×Ò˜V˜V C¨™^œ^¨U¨U°3¸©]¬]Ñ;Ô;Ð;Ø×Ò˜V˜V C¨™_œ_¨e¨e°C¸©n¬nÑ=Ô=Ð=Ð=Ð=r   é   r{   r|   )rá   r�   r€   ry   )r�   rá   ÚFrŸ   )rJ   r‹   rŒ   rÏ   r	   r‰   rŠ   ÚT)rŽ   r�   r  r   r‘   r�   s   ``   @r   Útest_partial_1d_indexingz$TestGetItem.test_partial_1d_indexingŒ  s  øøø€ Ý#ˆð	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>õ ŒI�b Ð%Ñ%Ô%×-Ò-¨fÑ5Ô5ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Øˆˆa�ÑÔÐåŒI�b Ð%Ñ%Ô%×-Ò-¨fÑ5Ô5Ô7ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Øˆˆa�ÑÔÐåŒI�b Ð%Ñ%Ô%×-Ò-¨fÑ5Ô5°c°c¸°cÔ:ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Øˆˆa�ÑÔÐÐÐr   c                 óò   ‡‡‡— ˆˆfd„Šˆˆfd„} |t          j        dd¬¦  «                             dd¦  «        ¦  «          |t          j        dd¬¦  «                             ddd¦  «        ¦  «         d S )	Nc                 ó|   •— t          | ¦  «        t          j        t          j        f} t          |fi ‰¤Ž‰¦  «        S r   )r   r	   r   r   )r  r’   r�   r�   s     €€r   Úcompile_funcz0TestGetItem.check_ellipsis.<locals>.compile_func¤  s9   ø€ Ý˜S‘k”k¥5¤:­u¬zÐ:ˆFØ'•3�vÐ'Ð' Ð'Ð'¨Ñ/Ô/Ð/r   c           	      óÞ   •— d} ‰| ¦  «        }t          j        ||¦  «        D ]H\  }} || ||¦  «        }t          j                              ‰| ||¦  «         || ||¦  «        ¦  «         ŒId S )N)r   r!   r€   ro   r4   )rÚ   rÛ   r‹   ÚtestingÚassert_equal)r   Úboundsr“   r'   rW   Úxr"  r�   s         €€r   Úrunz'TestGetItem.check_ellipsis.<locals>.run¨  s‡   ø€ Ø&ˆFØ �L ‘O”OˆEÝ!Ô)¨&°&Ñ9Ô9ð Ið I‘��1Ø�E˜!˜Q ‘N”N�Ý”
×'Ò'¨¨¨q°!°Q©¬¸¸¸qÀ!ÀQ¹¼ÑHÔHÐHÐHðIð Ir   é   r{   r|   rá   é   r�   )r‹   rŒ   rÏ   )rŽ   r�   r�   r(  r"  s    `` @r   Úcheck_ellipsiszTestGetItem.check_ellipsis£  s¯   øøø€ ð	0ð 	0ð 	0ð 	0ð 	0ð 	0ð	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	ˆ�BŒI�b Ð%Ñ%Ô%×-Ò-¨a°Ñ3Ô3Ñ4Ô4Ð4Øˆ�BŒI�b Ð%Ñ%Ô%×-Ò-¨a°°AÑ6Ô6Ñ7Ô7Ð7Ð7Ð7r   c                 ó<   — |                       t          |¦  «         d S r   )r+  rX   ©rŽ   r�   s     r   Útest_ellipsis1zTestGetItem.test_ellipsis1²  ó   € Ø×ÒÕ-¨uÑ5Ô5Ð5Ð5Ð5r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r.  r™   rš   s    r   Útest_ellipsis1_npmzTestGetItem.test_ellipsis1_npmµ  ó   € Ø×Ò¥'ÐÑ*Ô*Ð*Ð*Ð*r   c                 ó<   — |                       t          |¦  «         d S r   )r+  rZ   r-  s     r   Útest_ellipsis2zTestGetItem.test_ellipsis2¸  r/  r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r4  r™   rš   s    r   Útest_ellipsis2_npmzTestGetItem.test_ellipsis2_npm»  r2  r   c                 ó<   — |                       t          |¦  «         d S r   )r+  r\   r-  s     r   Útest_ellipsis3zTestGetItem.test_ellipsis3¾  r/  r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r8  r™   rš   s    r   Útest_ellipsis3_npmzTestGetItem.test_ellipsis3_npmÁ  r2  r   c                 óþ   — t           d„ ¦   «         }|j        }d}d}t          j        ||z  ¦  «                             ||¦  «        } ||¦  «        } ||¦  «        }t          j                             ||¦  «         d S )Nc                 óŒ   — t          j        | ¦  «        }d}t          j        | d|f         ¦  «        D ]\  }}|||         |<   Œ|S )Nr   .)r‹   Ú
zeros_likeÚndenumerate)r  Úoutr'   rA   Úvals        r   Úudtz0TestGetItem.test_ellipsis_issue1498.<locals>.udtÇ  sO   € å”- Ñ$Ô$ˆCØˆAÝ œn¨S°°a°¬[Ñ9Ô9ð $ð $‘
��sØ #��E”
˜1‘�àˆJr   rá   )r   Úpy_funcr‹   rŒ   rÏ   r$  r%  )rŽ   rA  rB  Ú	outersizeÚ	innersizer  Úgotr•   s           r   Útest_ellipsis_issue1498z#TestGetItem.test_ellipsis_issue1498Ä  sŒ   € õ 
ð	ð 	ñ 
Œð	ð ”+ˆàˆ	Øˆ	ÝŒi˜	 IÑ-Ñ.Ô.×6Ò6°yÀ)ÑLÔLˆØˆc�#‰hŒhˆØ�7˜3‘<”<ˆÝ
Œ
×Ò  XÑ.Ô.Ð.Ð.Ð.r   c                 óÎ   — t           d„ ¦   «         }t          j        d¦  «        } ||¦  «        }|                     |¦  «        }t          j                             ||¦  «         d S )Nc                 ó   — | d         S )N).r   r   )r  s    r   rA  z0TestGetItem.test_ellipsis_issue1499.<locals>.udtÜ  s   € à�v”;Ðr   r�   )r   r‹   rŒ   rB  r$  r%  )rŽ   rA  r  rE  r•   s        r   Útest_ellipsis_issue1499z#TestGetItem.test_ellipsis_issue1499Ù  sh   € õ 
ð	ð 	ñ 
Œð	õ Œi˜‰lŒlˆØˆc�#‰hŒhˆØ—;’;˜sÑ#Ô#ˆÝ
Œ
×Ò  XÑ.Ô.Ð.Ð.Ð.r   c                 ó*  — t           }t          j        t          j        dd¦  «        }|f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S )Nr€   ry   rÍ   r{   r|   rz   ©	r_   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r�   r³   s          r   Útest_none_indexzTestGetItem.test_none_indexå  s’   € Ý#ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�c Ð&Ñ&Ô&×.Ò.¨r°2Ñ6Ô6ˆØ×Ò   q¡	¤	¨5¨5°©8¬8Ñ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rL  r™   rš   s    r   Útest_none_index_npmzTestGetItem.test_none_index_npmî  rœ   r   c                 ó(  — t           }t          j        t          j        dd¦  «        }|f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             d¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S ©Nr   ry   r!   r{   r|   r   rK  r³   s          r   Útest_none_index_0dzTestGetItem.test_none_index_0dñ  s�   € Ý#ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�a˜tÐ$Ñ$Ô$×,Ò,¨RÑ0Ô0ˆØ×Ò   q¡	¤	¨5¨5°©8¬8Ñ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rQ  r™   rš   s    r   Útest_none_index_0d_npmz"TestGetItem.test_none_index_0d_npmú  s   € Ø×Ò¥gÐÑ.Ô.Ð.Ð.Ð.r   c                 ó(  — t           }t          j        t          j        dd¦  «        }|f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             d¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S rP  )	ra   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r�   r³   s          r   Útest_empty_tuple_indexingz%TestGetItem.test_empty_tuple_indexingý  s�   € Ý$ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø�ˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒI�a˜tÐ$Ñ$Ô$×,Ò,¨RÑ0Ô0ˆØ×Ò   q¡	¤	¨5¨5°©8¬8Ñ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rU  r™   rš   s    r   Útest_empty_tuple_indexing_npmz)TestGetItem.test_empty_tuple_indexing_npm  ó   € Ø×&Ò&­WÐ&Ñ5Ô5Ð5Ð5Ð5r   N)<rp   rq   rr   Ú__doc__Úenable_pyobj_flagsr–   r›   r¨   rª   r¯   r±   r´   r¶   r¹   r¼   r¿   rÁ   rÃ   rÅ   rÇ   rÉ   rË   rÐ   rÒ   rÜ   rÞ   râ   rä   rç   ré   rë   rí   rö   rø   r   r  r  r  rQ   r  r
  r  r  r  r  r+  r.  r1  r4  r6  r8  r:  rF  rI  rL  rN  rQ  rS  rU  rW  r   r   r   rw   rw       sZ  € € € € € ðð ð
 %7ð Bð Bð Bð Bð&,ð ,ð ,ð &8ð ">ð ">ð ">ð ">ðH-ð -ð -ð &8ð >ð >ð >ð >ð<-ð -ð -ð &8ð .ð .ð .ð .ð&-ð -ð -ð<ð <ð <ð, &8ð 6ð 6ð 6ð 6ð-ð -ð -ð &8ð 6ð 6ð 6ð 6ð-ð -ð -ð &8ð 6ð 6ð 6ð 6ð-ð -ð -ð &8ð 6ð 6ð 6ð 6ð-ð -ð -ð %7ð Að Að Að Að,ð ,ð ,ð &8ð '>ð '>ð '>ð '>ðR-ð -ð -ð &8ð #>ð #>ð #>ð #>ðJ-ð -ð -ð %7ð >ð >ð >ð >ð:,ð ,ð ,ð &8ð >ð >ð >ð >ð:-ð -ð -ð .@ð "<ð "<ð "<ð "<ðH5ð 5ð 5ð +=ð :ð :ð :ð :ð,2ð 2ð 2ð 5Gð ;ð ;ð ;ð ;ð&<ð <ð <ð .@Ø(Cð#>ð #>ð #>ð #>ðJ5ð 5ð 5ðKð Kð Kð

7ð 
7ð 
7ð ,>ð 	>ð 	>ð 	>ð 	>ð .@ð ð ð ð ð.8ð 8ð 8ð $6ð 6ð 6ð 6ð 6ð+ð +ð +ð $6ð 6ð 6ð 6ð 6ð+ð +ð +ð $6ð 6ð 6ð 6ð 6ð+ð +ð +ð/ð /ð /ð*
/ð 
/ð 
/ð %7ð 5ð 5ð 5ð 5ð,ð ,ð ,ð (:ð 5ð 5ð 5ð 5ð/ð /ð /ð /Að 5ð 5ð 5ð 5ð6ð 6ð 6ð 6ð 6r   rw   c                   ó°   — e Zd ZdZefd„Zefd„Zd„ Zefd„Zefd„Z	efd„Z
efd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zefd„Zefd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestSetItemzk
    Test basic indexed store into an array.
    Note fancy indexing is tested in test_fancy_indexing.
    c                 óæ   — ddl m} d„ }  |d	i |¤Ž|¦  «        }t          j        dd¬¦  «        }|                     ¦   «         } ||¦  «          ||¦  «         |                      ||¦  «         dS )
z9 this used to work, and was used in one of the tutorials r   )r   c                 óx   — t          t          | ¦  «        ¦  «        D ]}|t          j        d¦  «        z  | |<   Œd S )NrÍ   )r#   ÚlenÚdecimalÚDecimal)rñ   rA   s     r   r�   z3TestSetItem.test_conversion_setitem.<locals>.pyfunc  sC   € Ý�s 5™zœzÑ*Ô*ð <ð <�Ø$¥w¤°sÑ';Ô';Ñ;��e‘�ð<ð <r   úvoid(i8[:])rÍ   rO   r|   N)rb  )Únumbar   r‹   rŒ   Úcopyr�   )rŽ   r�   r   r�   r“   rA  Úcontrols          r   Útest_conversion_setitemz#TestSetItem.test_conversion_setitem  s›   € àÐÐÐÐÐð	<ð 	<ð 	<ð ,��Ð+Ð+ UÐ+Ð+¨FÑ3Ô3ˆåŒi˜ 4Ð(Ñ(Ô(ˆØ—(’(‘*”*ˆØˆˆw‰ŒˆØˆˆc‰
Œ
ˆ
Ø×Ò  WÑ-Ô-Ð-Ð-Ð-r   c                 ó`  ‡— t           }t          j        t          j        dd¦  «        }t          j        t          j        dd¦  «        }||t          j        t          j        t          j        f} t          |fi |¤Ž|¦  «        }d}t          j        |d¬¦  «        dz   Šdd	|d	z
  ||dz   |d
z   d| d	z   | | dz
  | d
z
  g}ˆfd„}	t          j	        ||¦  «        D ]^\  }
}dD ]V}|
||f}t          |Ž } | |	¦   «         ‰|         g|¢R Ž } | |	¦   «         ‰|         g|¢R Ž }|                      ||¦  «         ŒWŒ_|                      t          ¦  «        5   |t          j        ‰t          j        ¬¦  «        ‰ddd¦  «         ddd¦  «         n# 1 swxY w Y   |                      ¦   «          dS )z+
        1d to 1d slice assignment
        r!   ry   rŸ   rz   rP   r|   é(   r   r€   r�   r4   c                  ó0   •— t          j        ‰ d¬¦  «        S )Nr{   r|   )r‹   r=  )r§   s   €r   Ú	make_destz2TestSetItem.test_1d_slicing_set.<locals>.make_dest0  s   ø€ Ý”= ¨DÐ1Ñ1Ô1Ð1r   ©r!   r€   ro   r4   N)rh   r	   r‰   rŠ   rð   r   r‹   rŒ   rÚ   rÛ   Úslicer�   ÚassertRaisesÚ
ValueErrorr=  Údisable_leak_check)rŽ   r�   r�   Ú	dest_typeÚsrc_typer’   r“   ÚNr&  rj  r   r   r   r¦   rA   ÚpyleftÚcleftr§   s                    @r   Útest_1d_slicing_setzTestSetItem.test_1d_slicing_set   sH  ø€ õ (ˆõ ”K¥¤¨Q°Ñ4Ô4ˆ	Ý”;�uœ{¨A¨sÑ3Ô3ˆØ˜X¥u¤{µE´KÅÄÐMˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆàˆÝŒi˜ Ð&Ñ&Ô&¨Ñ+ˆØ�Q˜˜A™˜q ! a¡%¨¨Q©Ø�q�b˜1‘f˜q˜b 1 " q¡&¨1¨"¨q©&ð2ˆð	2ð 	2ð 	2ð 	2ð 	2å$Ô,¨V°VÑ<Ô<ð 	7ð 	7‰KˆE�4Ø&ð 7ð 7�Ø˜d DÐ(�Ý˜t˜�Ø˜ 	 	¡¤¨S°¬ZÐ?¸$Ð?Ð?Ð?�Ø˜˜i˜i™kœk¨3¨u¬:Ð=¸Ð=Ð=Ð=�Ø×'Ò'¨°Ñ6Ô6Ð6Ð6ð7ð ×Ò�zÑ*Ô*ð 	Dð 	DØˆE•"”- ­2¬8Ð4Ñ4Ô4°c¸1¸aÀÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	×ÒÑ!Ô!Ð!Ð!Ð!s   Å.FÆFÆFc                 ó¶  — t           }t          j        t          j        dd¦  «        }||t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        j        |         j        }d}t          |¦  «        }	t          j	        |t          j        ¬¦  «        }
|d| |	z   dz   df} ||
 
                    ¦   «         g|¢R Ž } ||
 
                    ¦   «         g|¢R Ž }|                      ||¦  «         |d| |	z   df}|                      t          ¦  «        5 } ||
 
                    ¦   «         g|¢R Ž  ddd¦  «         n# 1 swxY w Y   |                      ¦   «          |                     dd¦  «        r[t          |
t!          d| |	z   d¦  «                 ¦  «        }d|› d	|	› d
�}|                      |t%          |j        ¦  «        ¦  «         dS dS )z9
        Generic sequence to 1d slice assignment
        r!   ry   rz   r|   Nr   Fzcannot assign slice of shape (z,) from input of shape (z,))rh   r	   r‰   rŠ   r   Ú	overloadsÚentry_pointr_  r‹   rŒ   rd  r�   rm  rn  ro  Úgetrl  ÚassertInÚstrÚ	exception)rŽ   r�   ÚseqtyÚseqr�   rp  r’   r“   rr  Úkr§   r¦   r•   rE  ÚraisesÚ
slice_sizerÎ   s                    r   Úcheck_1d_slicing_set_sequencez)TestSetItem.check_1d_slicing_set_sequence@  s,  € õ (ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø˜U¥E¤Kµ´½e¼kÐJˆð %•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,Ô6°vÔ>ÔJˆàˆÝ�‰HŒHˆÝŒi˜¥¤Ð*Ñ*Ô*ˆØ�Q˜˜˜Q™ ™
 AÐ&ˆØ�6˜#Ÿ(š(™*œ*Ð, tÐ,Ð,Ð,ˆØˆe�C—H’H‘J”JÐ& Ð&Ð&Ð&ˆØ×Ò ¨#Ñ.Ô.Ð.à�Q˜˜˜Q™ Ð"ˆØ×Ò�zÑ*Ô*ð 	%¨fØˆE�#—(’(‘*”*Ð$˜tÐ$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%à×ÒÑ!Ô!Ð!à�9Š9�Z Ñ'Ô'ð 	6å˜S¥ q¨1¨"¨q©&°!Ñ!4Ô!4Ô5Ñ6Ô6ˆJð°Jð ð Øðð ð ˆCà�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5ð	6ð 	6s   Ä!E	Å	EÅEc                 ón   — |                       |t          j        t          j        d¦  «        d¦  «         dS )z.
        Tuple to 1d slice assignment
        r€   )rà   éÖÿÿÿN)r‚  r	   ÚUniTuplerð   r-  s     r   Útest_1d_slicing_set_tuplez%TestSetItem.test_1d_slicing_set_tuple`  s;   € ð 	×*Ò*Ø•5”>¥%¤+¨qÑ1Ô1°8ñ	=ô 	=ð 	=ð 	=ð 	=r   c                 óp   — |                       |t          j        t          j        ¦  «        ddg¦  «         dS )z-
        List to 1d slice assignment
        rà   r„  N)r‚  r	   ÚListrð   r-  s     r   Útest_1d_slicing_set_listz$TestSetItem.test_1d_slicing_set_listg  s=   € ð 	×*Ò*Ø•5”:�eœkÑ*Ô*¨Q°¨Hñ	6ô 	6ð 	6ð 	6ð 	6r   c                 ó<  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        t          j        f} t          |fi |¤Ž|¦  «        }d}t          j        |d¬¦  «        }d}dd|dz
  ||dz   |d	z   d
| dz   | | dz
  | d	z
  g}	t          j	        |	|	¦  «        D ]\\  }
}dD ]T}||
||f} || 
                    ¦   «         g|¢R Ž } || 
                    ¦   «         g|¢R Ž }|                      ||¦  «         ŒUŒ]dS )z/
        scalar to 1d slice assignment
        r!   ry   rz   r{   r|   é*   r   r€   r�   r4   rk  N)rh   r	   r‰   rŠ   rð   r   r‹   rŒ   rÚ   rÛ   rd  r�   )rŽ   r�   r�   r‘   r’   r“   rr  r§   r@  r&  r   r   r   r¦   rs  rt  s                   r   Útest_1d_slicing_broadcastz%TestSetItem.test_1d_slicing_broadcastn  sW  € õ (ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	ð �Uœ[­%¬+µu´{ÅEÄKÐPˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆàˆÝŒi˜ Ð&Ñ&Ô&ˆØˆØ�Q˜˜A™˜q ! a¡%¨¨Q©Ø�q�b˜1‘f˜q˜b 1 " q¡&¨1¨"¨q©&ð2ˆå$Ô,¨V°VÑ<Ô<ð 	7ð 	7‰KˆE�4Ø&ð 7ð 7�Ø˜E 4¨Ð-�Ø˜ §¢¡
¤
Ð2¨TÐ2Ð2Ð2�Ø˜˜cŸhšh™jœjÐ0¨4Ð0Ð0Ð0�Ø×'Ò'¨°Ñ6Ô6Ð6Ð6ð	7ð	7ð 	7r   c                 óº  — t           }t          j        t          j        dd¦  «        }||t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «        }dD ]j} |t          j        |¦  «        |t          |Ž          g|¢R Ž } |t          j        |¦  «        |t          |Ž          g|¢R Ž }	|  	                    ||	¦  «         Œkd S )Nr!   ry   rz   r{   r|   )r­   )r€   r®   )
rj   r	   r‰   rŠ   r   r‹   rŒ   r=  rl  r�   )
rŽ   r�   r�   r‘   r’   r“   r§   Útestrs  rt  s
             r   Útest_1d_slicing_addzTestSetItem.test_1d_slicing_add…  së   € Ý'ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø˜Y­¬µU´[ÐAˆØ$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒi˜ $Ð'Ñ'Ô'ˆØ%ð 	3ð 	3ˆDØ�V�BœM¨#Ñ.Ô.°µE¸4°LÔ0AÐIÀDÐIÐIÐIˆFØ�E�"œ-¨Ñ,Ô,¨cµ%¸°,Ô.?ÐGÀ$ÐGÐGÐGˆEØ×#Ò# F¨EÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )ru  r™   rš   s    r   Útest_1d_slicing_set_npmz#TestSetItem.test_1d_slicing_set_npm‘  ó   € Ø× Ò ¥wÐ Ñ/Ô/Ð/Ð/Ð/r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r‰  r™   rš   s    r   Útest_1d_slicing_set_list_npmz(TestSetItem.test_1d_slicing_set_list_npm”  rù   r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r†  r™   rš   s    r   Útest_1d_slicing_set_tuple_npmz)TestSetItem.test_1d_slicing_set_tuple_npm—  rX  r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rŒ  r™   rš   s    r   Útest_1d_slicing_broadcast_npmz)TestSetItem.test_1d_slicing_broadcast_npmš  rX  r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r�  r™   rš   s    r   Útest_1d_slicing_add_npmz#TestSetItem.test_1d_slicing_add_npm�  r’  r   c                 ó¦  — t           }t          j        t          j        dd¦  «        }||t          j        t          j        t          j        t          j        t          j        t          j        f} t	          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }g d¢}|D ]œ} |t          j        |¦  «        |t          |dd	…         Ž t          |d	d
…         Ž f         g|¢R Ž }	 |t          j        |¦  «        |t          |dd	…         Ž t          |d	d
…         Ž f         g|¢R Ž }
|  
                    |
|	¦  «         Œ�dS )z+
        2d to 2d slice assignment
        r€   rŸ   rÍ   r{   r|   rz   ©)r   rz   r!   r   rz   r!   )r€   r�   r!   r€   r�   r!   )rz   r   r!   rz   r   r!   )r   rz   ro   r   rz   ro   )r   rz   r€   r   rz   r€   r   r�   é   N)rl   r	   r‰   rŠ   r   r‹   rŒ   rÏ   r=  rl  r�   )rŽ   r�   r�   r‘   r’   r“   r§   ÚtestsrŽ  rs  rt  s              r   Útest_2d_slicing_setzTestSetItem.test_2d_slicing_set   sa  € õ (ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	Ø˜Y­¬µU´[Å%Ä+Ý”+�uœ{­E¬Kð9ˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒi˜ TÐ*Ñ*Ô*×2Ò2°2°bÑ9Ô9ˆð
ð 
ð 
ˆð ð 	3ð 	3ˆDØ�V�BœM¨#Ñ.Ô.°µE¸4ÀÀ!À¼9Ð4EÅuÈdÐSTÐUVÐSVÌiÐGXÐ4XÔ0YÐaÐ\`ÐaÐaÐaˆFØ�E�"œ-¨Ñ,Ô,¨cµ%¸¸aÀ¸c¼Ð2CÅUÈDÐQRÐSTÐQTÌIÐEVÐ2VÔ.WÐ_ÐZ^Ð_Ð_Ð_ˆEØ×#Ò# E¨6Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó&  — t           }t          j        t          j        dd¦  «        }|t          j        t          j        t          j        t          j        t          j        t          j        t          j        f} t          |fi |¤Ž|¦  «        }t          j        dd¬¦  «                             dd¦  «        }d}g d¢}|D ]P}	 || 	                    ¦   «         |g|	¢R Ž }
 || 	                    ¦   «         |g|	¢R Ž }|  
                    ||
¦  «         ŒQd	S )
z/
        scalar to 2d slice assignment
        r€   ry   rÍ   r{   r|   rz   r‹  rœ  N)rl   r	   r‰   rŠ   rð   r   r‹   rŒ   rÏ   rd  r�   )rŽ   r�   r�   r‘   r’   r“   r§   r@  rž  rŽ  rs  rt  s               r   Útest_2d_slicing_broadcastz%TestSetItem.test_2d_slicing_broadcast·  s  € õ (ˆÝ”K¥¤¨Q°Ñ4Ô4ˆ	ð �Uœ[­%¬+µu´{ÅEÄKÝ”+�uœ{­E¬Kð9ˆà$•�FÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆåŒi˜ TÐ*Ñ*Ô*×2Ò2°2°bÑ9Ô9ˆØˆð
ð 
ð 
ˆð ð 	3ð 	3ˆDØ�V˜CŸHšH™JœJ¨Ð3¨dÐ3Ð3Ð3ˆFØ�E˜#Ÿ(š(™*œ* cÐ1¨DÐ1Ð1Ð1ˆEØ×#Ò# E¨6Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )rŸ  r™   rš   s    r   Útest_2d_slicing_set_npmz#TestSetItem.test_2d_slicing_set_npmÑ  r’  r   c                 ó<   — |                       t          ¬¦  «         d S r˜   )r¡  r™   rš   s    r   Útest_2d_slicing_broadcast_npmz)TestSetItem.test_2d_slicing_broadcast_npmÔ  rX  r   c                 óL  — t          j        d¦  «        }t          |dd¦  «         |                      |                     ¦   «         g d¢¦  «         t          |t          j        d¦  «                             t           j        ¦  «        d¦  «         |                      |                     ¦   «         g d¢¦  «         t          j        d¦  «                             dd¦  «        }t          |dd¦  «         |                      |                     ¦   «         g d	¢g d
¢g d¢g¦  «         dS )z+
        scalar indexed assignment
        r®   r!   r‹  )r   r‹  r€   r�   rá   r�   rà   )r   r‹  r€   rà   rá   r…   )r   r!   r€   )r‹  r‹  r‹  )r�  é   rà   N)	r‹   rŒ   rd   r£   Útolistrñ   rò   Úuint16rÏ   )rŽ   r  s     r   Útest_setitemzTestSetItem.test_setitem×  sý   € õ Œi˜‰lŒlˆÝ˜˜Q Ñ#Ô#Ð#Ø×Ò˜Ÿš™œÐ'7Ð'7Ð'7Ñ8Ô8Ð8å˜�RœX a™[œ[×/Ò/µ´	Ñ:Ô:¸AÑ>Ô>Ð>Ø×Ò˜Ÿš™œÐ'7Ð'7Ð'7Ñ8Ô8Ð8åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝ˜˜Q Ñ#Ô#Ð#Ø×Ò˜Ÿš™œ¨	¨	¨	°<°<°<ÀÀÀÐ'KÑLÔLÐLÐLÐLr   c           	      óö  — t          j        d¦  «        }t          |d¦  «         |                      |                     ¦   «         dgdz  ¦  «         t          j        d¦  «                             dd¦  «        }t          |t          j        dd¦  «        ¦  «         |                      |                     ¦   «         g d¢g d¢g¦  «         t          j        d¦  «                             dd¦  «        }t          |t          j        dd¦  «                             dd¦  «        ¦  «         |                      |                     ¦   «         g d¢g d¢g¦  «         t          j        d	¦  «                             dddd¦  «        }t          |t          j        dd¦  «                             dd¦  «        ¦  «         g d¢g d¢g}|                      |                     ¦   «         |ggdz  ¦  «         t          j        d¦  «        }t          |t          j        dd¦  «                             dd¦  «        ¦  «         |                      |                     ¦   «         g d
¢¦  «         t          j        d¦  «                             dd¦  «        }t          |t          j        dd|j        z   ¦  «                             dddd¦  «        ¦  «         |                      |                     ¦   «         g d¢g d¢g¦  «         dS )z.
        broadcasted array assignment
        r®   r‹  r�  r€   r�   r!   rá   )r!   r€   r�   r  )r!   r€   r�   rá   r®   )rá   r®   r�  N)r‹   rŒ   rf   r£   r¨  rÏ   Úsize)rŽ   ÚdstÚinner2s      r   Útest_setitem_broadcastz"TestSetItem.test_setitem_broadcastæ  s{  € õ
 Œi˜‰lŒlˆÝ! # rÑ*Ô*Ð*Ø×Ò˜Ÿš™œ¨ t¨a¡xÑ0Ô0Ð0åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝ! #¥r¤y°°A¡¤Ñ7Ô7Ð7Ø×Ò˜Ÿš™œ¨	¨	¨	°9°9°9Ð'=Ñ>Ô>Ð>åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝ! #¥r¤y°°A¡¤×'>Ò'>¸qÀ!Ñ'DÔ'DÑEÔEÐEØ×Ò˜Ÿš™œ¨	¨	¨	°9°9°9Ð'=Ñ>Ô>Ð>åŒi˜‰mŒm×#Ò# A q¨!¨QÑ/Ô/ˆÝ! #¥r¤y°°A¡¤×'>Ò'>¸qÀ!Ñ'DÔ'DÑEÔEÐEØ�)�)˜Y˜Y˜YÐ'ˆØ×Ò˜Ÿš™œ¨¨ z°A¡~Ñ6Ô6Ð6åŒi˜‰lŒlˆÝ! #¥r¤y°°A¡¤×'>Ò'>¸qÀ!Ñ'DÔ'DÑEÔEÐEØ×Ò˜Ÿš™œ   Ñ7Ô7Ð7åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝ! #¥r¤y°°A¸¼±LÑ'AÔ'A×'IÒ'IÈ!ÈQÐPQÐSTÑ'UÔ'UÑVÔVÐVØ×Ò˜Ÿš™œ¨	¨	¨	°9°9°9Ð'=Ñ>Ô>Ð>Ð>Ð>r   c                 óH  — t          j        d¦  «        }t          j        d¦  «                             dd¦  «        }|                      t          ¦  «        5 }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         t          j        d¦  «                             dd¦  «        }t          j        d¦  «                             ddd¦  «        }|                      t          ¦  «        5 }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         t          j        d¦  «                             dd¦  «        }t          j        d¦  «        }|                      t          ¦  «        5 }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         |  	                    ¦   «          d S )	Nr®   rz   r€   z<cannot assign slice of shape (5,) from input of shape (2, 5)r!   zAcannot assign slice of shape (1, 5) from input of shape (1, 2, 5)rá   z<cannot assign slice of shape (2, 5) from input of shape (4,))
r‹   rŒ   rÏ   rm  rn  rf   r{  r|  r£   ro  )rŽ   r­  Úsrcr€  Úerrmsgs        r   Útest_setitem_broadcast_errorz(TestSetItem.test_setitem_broadcast_error  s¤  € õ Œi˜‰lŒlˆÝŒi˜‰mŒm×#Ò# A qÑ)Ô)ˆØ×Ò�zÑ*Ô*ð 	0¨fÝ% c¨3Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0å�VÔ%Ñ&Ô&ˆØ×Òð )àñ	!ô 	!ð 	!õ Œi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝŒi˜‰mŒm×#Ò# A q¨!Ñ,Ô,ˆØ×Ò�zÑ*Ô*ð 	0¨fÝ% c¨3Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0å�VÔ%Ñ&Ô&ˆØ×Òð ,àñ	!ô 	!ð 	!õ
 Œi˜‰mŒm×#Ò# A qÑ)Ô)ˆÝŒi˜‰lŒlˆØ×Ò�zÑ*Ô*ð 	0¨fÝ% c¨3Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0å�VÔ%Ñ&Ô&ˆØ×Òð &àñ	 ô 	 ð 	 ð 	×ÒÑ!Ô!Ð!Ð!Ð!s6   ÁA4Á4A8Á;A8ÄD1Ä1D5Ä8D5Æ<GÇGÇ Gc                 ó4  — t          j        d¦  «                             dd¦  «        }t          j        dd¦  «        }t          ||ddd¦  «         |                      |                     ¦   «         ddgddgddgg¦  «         t          j        d¦  «                             dd¦  «        }t          j        dd¦  «        }t          ||dd d¦  «         |                      |                     ¦   «         ddgddgddgg¦  «         t          j        d¦  «                             dd¦  «        }t          j        dd¦  «                             dd¦  «        }t          ||d dd¦  «         |                      |                     ¦   «         ddgddgddgg¦  «         d S )Nr�  r�   r€   r!   r   rá   r®   )r‹   rŒ   rÏ   rh   r£   r¨  )rŽ   r­  r±  s      r   Útest_slicing_1d_broadcastz%TestSetItem.test_slicing_1d_broadcast$  sq  € åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝŒi˜˜1‰oŒoˆÝ˜s C¨¨A¨qÑ1Ô1Ð1Ø×Ò˜Ÿš™œ¨¨A¨°°A°¸¸A¸Ð'?Ñ@Ô@Ð@åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝŒi˜˜1‰oŒoˆÝ˜s C¨¨D°!Ñ4Ô4Ð4Ø×Ò˜Ÿš™œ¨¨A¨°°A°¸¸A¸Ð'?Ñ@Ô@Ð@åŒi˜‰lŒl×"Ò" 1 aÑ(Ô(ˆÝŒi˜˜1‰oŒo×%Ò% a¨Ñ+Ô+ˆÝ˜s C¨¨q°!Ñ4Ô4Ð4Ø×Ò˜Ÿš™œ¨¨A¨°°A°¸¸A¸Ð'?Ñ@Ô@Ð@Ð@Ð@r   c                 ó4  — t          j        d¦  «        }d|j        _        |                      t
          t          j        f¦  «        5 }t          |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |  	                    dt          |j        ¦  «        ¦  «         d S )Nr®   Fr!   r‹  z%Cannot modify readonly array of type:)r‹   rŒ   r�   Ú	writeablerm  Ú	TypeErrorr
   ÚTypingErrorrd   rz  r{  r|  )rŽ   r  r€  s      r   Útest_setitem_readonlyz!TestSetItem.test_setitem_readonly5  sÊ   € ÝŒi˜‰lŒlˆØ#ˆŒ	ÔØ×Ò¥	­6Ô+=Ð>Ñ?Ô?ð 	(À6Ý˜C  BÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(à�ŠÐ=Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s   ÁA%Á%A)Á,A)N)rp   rq   rr   rY  rZ  rf  ru  r‚  r†  r‰  rŒ  r�  r‘  r”  r–  r˜  rš  rŸ  r¡  r£  r¥  rª  r¯  r³  rµ  rº  r   r   r   r\  r\  
  s¶  € € € € € ðð ð
 -?ð .ð .ð .ð .ð  );ð "ð "ð "ð "ð@6ð 6ð 6ð@ /Að =ð =ð =ð =ð .@ð 6ð 6ð 6ð 6ð /Að 7ð 7ð 7ð 7ð. );ð 
3ð 
3ð 
3ð 
3ð0ð 0ð 0ð5ð 5ð 5ð6ð 6ð 6ð6ð 6ð 6ð0ð 0ð 0ð );ð 3ð 3ð 3ð 3ð. /Að 3ð 3ð 3ð 3ð40ð 0ð 0ð6ð 6ð 6ðMð Mð Mð?ð ?ð ?ð<"ð "ð "ð@Að Að Að"-ð -ð -ð -ð -r   r\  c                   ó   — e Zd ZdZd„ ZdS )Ú
TestTypingz3
    Check typing of basic indexing operations
    c                 ó¾  — t           j        }t          j        t          j        dd¦  «        }t          j        t          j        dd¦  «        }t          j        t          j        dd¦  «        }dt
          fddft          fddft          fddft          t          fddft          t          fddft          t          fddft          t          fddft          fddft
          t          fddft
          t          fddft
          t          t          fddft
          t          t          fddft
          t          t          fddft
          t          fddft
          t          t          fddft          t
          t          fddft          t
          t          fddft          t          t          fddft          t
          t          t          fddft          t          t          fddft          t          t
          t          fddft          t          t          fddft          t          t          fddft          t          t          fddfg}|D ]�\  }}}t          j	        |¦  «        }	 |||	¦  «        }
|  
                    t          |
j        ¦  «        |¦  «         |  
                    |
j        j        |rdnd|¦  «         |                      |
j        ¦  «         ŒŽ|D ]�\  }}}t          j	        |¦  «        }	 |||	¦  «        }
|  
                    t          |
j        ¦  «        |¦  «         |  
                    |
j        j        |rdnd|¦  «         |                      |
j        ¦  «         ŒŽ|D ]ˆ\  }}}t          j	        |¦  «        }	 |||	¦  «        }
|  
                    t          |
j        ¦  «        |¦  «         |  
                    |
j        j        d¦  «         |                      |
j        ¦  «         Œ‰dS )	zc
        Check an appropriate layout is inferred for the result of array
        indexing.
        r�   ry   r  rŸ   )r   TTTFN)r   Úget_array_index_typer	   r‰   Úfloat64r   r   r   r   ÚTupler£   ÚtuplerA   ÚresultÚlayoutr¤   Úadvanced)rŽ   ÚfuncÚctyÚftyÚatyr”   Úindex_tupleÚkeep_cÚ_rA   ÚrÚkeep_fs               r   Útest_layoutzTestTyping.test_layoutC  sž  € õ Ô-ˆåŒk�%œ-¨¨CÑ0Ô0ˆÝŒk�%œ-¨¨CÑ0Ô0ˆÝŒk�%œ-¨¨CÑ0Ô0ˆð Ýˆ[˜$ Ð%õ ˆW�d˜EÐ"Ýˆ^˜T 5Ð)Ý•KÐ  $¨Ð.Ý�4Ð  %¨Ð/Ý�;Ð'¨°Ð6å•KÐ  %¨Ð/Ýˆ^˜U EÐ*õ �Ð  tÐ,Ý�Ð% u¨dÐ3Ý��kÐ+¨U°EÐ:Ý�¥TÐ+¨U°DÐ9Ý�¥[Ð2°E¸5ÐAå�Ð% u¨eÐ4Ý�¥TÐ+¨U°EÐ:õ •H�dÐ$ e¨UÐ3Ý�8¥[Ð2°E¸5ÐAÝ•D�+Ð'¨¨uÐ5Ý•H�d¥KÐ1°4¸Ð?Ý�4¥Ð'¨°Ð5Ý�4¥­4Ð1°5¸$Ð?Ý•K¥Ð'¨°Ð6å�4¥Ð'¨°Ð6Ý•D�+Ð'¨°Ð6ðG$ˆðL '.ð 	)ð 	)Ñ"ˆK˜ Ý”K Ñ,Ô,ˆEØ��S˜%Ñ Ô ˆAØ×Ò�U 1¤7™^œ^¨[Ñ9Ô9Ð9Ø×Ò˜QœXœ_°VÐ.D¨c¨cÀØ(ñ*ô *ð *à×Ò˜QœZÑ(Ô(Ð(Ð(à&-ð 	)ð 	)Ñ"ˆK˜˜FÝ”K Ñ,Ô,ˆEØ��S˜%Ñ Ô ˆAØ×Ò�U 1¤7™^œ^¨[Ñ9Ô9Ð9Ø×Ò˜QœXœ_°VÐ.D¨c¨cÀØ(ñ*ô *ð *à×Ò˜QœZÑ(Ô(Ð(Ð(à!(ð 	)ð 	)ÑˆK˜˜AÝ”K Ñ,Ô,ˆEØ��S˜%Ñ Ô ˆAØ×Ò�U 1¤7™^œ^¨[Ñ9Ô9Ð9Ø×Ò˜QœXœ_¨cÑ2Ô2Ð2Ø×Ò˜QœZÑ(Ô(Ð(Ð(ð	)ð 	)r   N)rp   rq   rr   rY  rÎ  r   r   r   r¼  r¼  >  s2   € € € € € ðð ðG)ð G)ð G)ð G)ð G)r   r¼  Ú__main__)=r`  Úenumr   r   rÚ   Únumpyr‹   Úunittestrc  r   r   r   Ú
numba.corer   r	   r
   Únumba.tests.supportr   r   r   Únumba.core.typingr   Únumba.core.typesr   r   r   r   rZ  r™   r   r(   r*   r,   r/   r1   r5   r7   r?   rB   rF   rH   rJ   rL   rQ   rS   rX   rZ   r\   r_   ra   rd   rf   rh   rj   rl   rn   rw   r\  r¼  rp   Úmainr   r   r   ú<module>rØ     s{  ðØ €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð ! $Ð'Ð à�tÐ
€ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð5ð 5ð 5ð(ð (ð (ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð ðð ñ „ðð ðð ñ „ððð ð ðð ð ðð ð ð
ð ð ð ð �ñ ô ð ðg	6ð g	6ð g	6ð g	6ð g	6�/ 8ñ g	6ô g	6ð g	6ðTq-ð q-ð q-ð q-ð q-�/ 8ñ q-ô q-ð q-ðh	L)ð L)ð L)ð L)ð L)� (ñ L)ô L)ð L)ð^ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   