§
    1@Äjp“  ã                   ó
  — d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZmZ d dl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+ d dl,m-Z- d dl.m/Z/  eej0        ¦  «        d„ ¦   «         Z1 eej2        ej3        ej3        ¦  «        d„ ¦   «         Z4 eej5        ej3        ej3        ¦  «        d„ ¦   «         Z6 eej5        ej7        ej7        ¦  «        d„ ¦   «         Z8 eej5        ej9        ej9        ¦  «        d„ ¦   «         Z: eej;        ej<        ej<        ¦  «         eej;        ej=        ej=        ¦  «        d„ ¦   «         ¦   «         Z> eej?        ej<        ej<        ¦  «         eej?        ej=        ej=        ¦  «        d„ ¦   «         ¦   «         Z@d„ ZA  eej;        ¦  «         eAd¦  «        ¦  «           eej?        ¦  «         eAd¦  «        ¦  «          eejB        ¦  «        d„ ¦   «         ZC eej3        ejB        ¦  «         eejD        ejB        ¦  «         eej9        ejB        ¦  «        d„ ¦   «         ¦   «         ¦   «         ZE eejB        ej3        ¦  «         eejB        ej9        ¦  «         eejB        ejD        ¦  «        d„ ¦   «         ¦   «         ¦   «         ZF eejG        ejH        ejI        ¦  «        d„ ¦   «         ZJ eejK        ejH        ejI        ej3        ¦  «        d„ ¦   «         ZLd„ ZMd„ ZN eeOejP        ¦  «        d„ ¦   «         ZQ eeOejP        ejI        ¦  «        d„ ¦   «         ZR eeSej3        ¦  «        d „ ¦   «         ZTed!„ ¦   «         ZU eeV¦  «        d"„ ¦   «         ZW eeSejX        ¦  «        d#„ ¦   «         ZY eeZ ej[        ej3        ¦  «        ¦  «        d$„ ¦   «         Z\ eej]        ej3        ¦  «        d%„ ¦   «         Z^ eej_        ¦  «        d&„ ¦   «         Z` eeja        ¦  «        d'„ ¦   «         Zb eejD        ¦  «        d(„ ¦   «         Zc eedej3        ¦  «        d)„ ¦   «         Ze eefejg        ¦  «        d*„ ¦   «         Zh eeiejj        ¦  «        d+„ ¦   «         Zk ed,ej3        ej3        ¦  «        d-„ ¦   «         Zl eemejn        ¦  «        d.„ ¦   «         Zo eepejq        ¦  «        d/„ ¦   «         Zr ees¦  «        d0„ ¦   «         Zt eeseju        ¦  «        d1„ ¦   «         Zv eep¦  «        d2„ ¦   «         Zw eepd3¬4¦  «        d5„ ¦   «         Zxd d6lymzZzm{Z{ d d7l|mZm}Z}  eezej~        ej        ¦  «         eezej€        ej        ¦  «        d8„ ¦   «         ¦   «         Z� ee‚¦  «        d9„ ¦   «         Zƒ ee‚¦  «        d:„ ¦   «         Z„ ee…¦  «        d;„ ¦   «         Z† ee…¦  «        d<„ ¦   «         Z‡ ee…¦  «        d=„ ¦   «         Zˆ ee‚¦  «        d>„ ¦   «         Z‰ed?„ ¦   «         ZŠed@„ ¦   «         Z‹ e}dA„ ¦  «        ZŒ e}dB„ ¦  «        Z�e}dC„ ¦   «         ZŽ ee‚¦  «        dD„ ¦   «         Z� ee…¦  «        dE„ ¦   «         Z� eej‘         ej[        ej3        ¦  «        ¦  «        dF„ ¦   «         Z’ ee“¦  «        dWdG„¦   «         Z” ee•¦  «        dH„ ¦   «         Z– ee—¦  «        dI„ ¦   «         Z˜ ee™¦  «        dJ„ ¦   «         ZšdK„ Z› ee›¦  «        dL„ ¦   «         ZœedM„ ¦   «         Z� edNdO¦  «        Zž ež¦   «         ZŸ ee d¬P¦  «        dQ„ ¦   «         Z¡ ee ¦  «        dR„ ¦   «         Z¢edS„ ¦   «         Z£ ee¤¦  «        dT„ ¦   «         Z¥ ee¦¦  «        dU„ ¦   «         Z§ ee¨¦  «        dXdV„¦   «         Z©dS )Yé    )Ú
namedtupleN)Úreduce)Úir)Úlower_builtinÚlower_getattrÚlower_getattr_genericÚ
lower_castÚlower_constantÚiternext_implÚcall_getiterÚcall_iternextÚimpl_ret_borrowedÚimpl_ret_untrackedÚnumba_typeref_ctor)ÚtypingÚtypesÚutilsÚcgutils)ÚoverloadÚ	intrinsic)Ú
Conversion)ÚTypingErrorÚLoweringErrorÚNumbaExperimentalFeatureWarningÚNumbaTypeErrorÚRequireLiteralValueÚNumbaPerformanceWarning)ÚAbstractTemplateÚinfer_globalÚ	signature)Úliteral_unroll)Úas_numba_typec                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | S ©N© )Úvals    úGC:\Projects\Historical\venv\Lib\site-packages\numba/cpython/builtins.pyÚimplzol_truth.<locals>.impl    s   € ØˆJó    ©Ú
isinstancer   ÚBoolean)r'   r)   s     r(   Úol_truthr.      s4   € å�#•u”}Ñ%Ô%ð ð	ð 	ð 	àˆðð r*   c                 ó€   — |                       t          j        |¦  «        }|                      |||¦  «        ¦  «        S )z3
    Implement `x is not y` as `not (x is y)`.
    )Úget_functionÚoperatorÚis_Únot_)ÚcontextÚbuilderÚsigÚargsÚis_impls        r(   Úgeneric_is_notr9   %   s9   € ð
 ×"Ò"¥8¤<°Ñ5Ô5€GØ�<Š<˜˜ ¨Ñ.Ô.Ñ/Ô/Ð/r*   c                 óü   — |j         \  }}||k    ra|j        rd}t          |¦  «        ‚	 |                      t          j        |¦  «        } |||¦  «        S # t          $ r t          j        cY S w xY wt          j        S )z-
    Default implementation for `x is y`
    zno default `is` implementation)	r7   Úmutabler   r0   r1   ÚeqÚNotImplementedErrorr   Ú	false_bit)r4   r5   r6   r7   Úlhs_typeÚrhs_typeÚmsgÚeq_impls           r(   Ú
generic_isrC   .   s    € ð
 œÑ€Hˆhà�8ÒÐàÔð 2Ø6�Ý# CÑ(Ô(Ð(ð2Ø%×2Ò2µ8´;ÀÑDÔD�Gð
 #˜7 7¨DÑ1Ô1Ð1øõ	 +ð -ð -ð -å"Ô,Ð,Ð,Ð,ð-øøøõ Ô Ð s   ª A ÁA/Á.A/c                 ó   — |j         \  }}||k    rc|                     |d         t          j        ¦  «        }|                     |d         t          j        ¦  «        }|                     d||¦  «        S t          j        S )z7
    Implementation for `x is y` for Opaque types.
    r   é   z==)r7   Úptrtointr   Úintp_tÚicmp_unsignedr>   )r4   r5   r6   r7   r?   r@   Úlhs_ptrÚrhs_ptrs           r(   Ú	opaque_isrK   H   sr   € ð
 œÑ€Hˆhà�8ÒÐØ×"Ò" 4¨¤7­G¬NÑ;Ô;ˆØ×"Ò" 4¨¤7­G¬NÑ;Ô;ˆà×$Ò$ T¨7°GÑ<Ô<Ð<åÔ Ð r*   c                 óh  — |\  }}|j         \  }}|                      |||t          j        ¦  «        }|                      |||t          j        ¦  «        }	|                      t
          j        t          j        t          j        t          j        t          j        ¦  «        ¦  «        }
 |
|||	f¦  «        S )zà
    Implementation for `x is y` for types derived from types.Boolean
    (e.g. BooleanLiteral), and cross-checks between literal and non-literal
    booleans, to satisfy Python's behavior preserving identity for bools.
    )	r7   Úcastr   Úbooleanr0   r1   r<   r   r    )r4   r5   r6   r7   Úarg1Úarg2Ú	arg1_typeÚ	arg2_typeÚ_arg1Ú_arg2rB   s              r(   Úbool_is_implrU   X   s•   € ð �J€Dˆ$Øœ8Ñ€IˆyØ�LŠL˜ $¨	µ5´=ÑAÔA€EØ�LŠL˜ $¨	µ5´=ÑAÔA€EØ×"Ò"ÝŒÝÔ�œ­¬µu´}ÑEÔEñô €Gð ˆ7�7˜U E˜NÑ+Ô+Ð+r*   c                 óº   — |j         \  }}d}|j        |j        k    rd}t          j        t          j        d¦  «        |¦  «        }t          | ||j        |¦  «        S ©Nr   rE   ©r7   Úliteral_valuer   ÚConstantÚIntTyper   Úreturn_type©r4   r5   r6   r7   rO   rP   r'   Úress           r(   Úconst_eq_implr_   k   óY   € ð ”�J€Dˆ$Ø
€CØÔ˜TÔ/Ò/Ð/ØˆÝ
Œ+•b”j ‘m”m SÑ
)Ô
)€CÝ˜g w°´ÀÑEÔEÐEr*   c                 óº   — |j         \  }}d}|j        |j        k    rd}t          j        t          j        d¦  «        |¦  «        }t          | ||j        |¦  «        S rW   rX   r]   s           r(   Úconst_ne_implrb   w   r`   r*   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó,  •‡— t          | t          j        ¦  «        }t          |t          j        ¦  «        }|r	|rˆfd„}|S ||z  rMt          | t          j        ¦  «        }t          |t          j        ¦  «        }|s|r‰rd„ }nd„ }|S ‰ Šˆfd„}|S d S )Nc                 ó   •— ‰S r%   r&   )ÚaÚbr'   s     €r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.implˆ   s   ø€ Ø�
r*   c                 ó
   — | |u S r%   r&   ©rf   rg   s     r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.impl–   s   € Ø  A˜v˜r*   c                 ó
   — | |uS r%   r&   ri   s     r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.impl™   s   € Ø#$¨ 6Ð)r*   c                 ó   •— ‰S r%   r&   )rf   rg   Únvals     €r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.implŸ   s   ø€ Ø�Kr*   )r,   r   ÚNoneTypeÚOptional)	rf   rg   Úa_noneÚb_noner)   Ú
a_optionalÚ
b_optionalrl   r'   s	          @€r(   Únone_equalityz!gen_non_eq.<locals>.none_equalityƒ   só   øø€ Ý˜A�uœ~Ñ.Ô.ˆÝ˜A�uœ~Ñ.Ô.ˆàð 	�fð 	ðð ð ð ð àˆKà�f‰_ð 	Ý# A¥u¤~Ñ6Ô6ˆJÝ# A¥u¤~Ñ6Ô6ˆJð ð ˜Zð Øð *ð&ð &ð &ð &ð*ð *ð *à�ð �w�ð ð  ð  ð  ð  à�ð+	ð 	r*   r&   )r'   rs   s   ` r(   Ú
gen_non_eqrt   ‚   s$   ø€ ðð ð ð ð ð> Ðr*   TFc                 ó¤   — |                      ¦   «         }|                      ||||¦  «        }|                      ||¦  «        } || ||||¦  «        S )z>
    Deferred.__getattr__ => redirect to the actual type.
    )ÚgetrM   Úget_getattr)r4   r5   ÚtypÚvalueÚattrÚ
inner_typer'   Úimps           r(   Údeferred_getattrr}   ©   sU   € ð
 —’‘”€JØ
�,Š,�w  s¨JÑ
7Ô
7€CØ
×
Ò
˜j¨$Ñ
/Ô
/€CØˆ3ˆw˜ ¨S°$Ñ7Ô7Ð7r*   c                 óÂ   — |                       ||||                     ¦   «         ¦  «        }| j        |         }|                     ||                     ¦   «         |¦  «        S r%   )rM   rv   Údata_model_managerÚsetÚmake_uninitialized)r4   r5   ÚfromtyÚtotyr'   ÚactualÚmodels          r(   Úany_to_deferredr†   ³   sR   € ð �\Š\˜' 3¨°·²±
´
Ñ;Ô;€FØÔ& tÔ,€EØ�9Š9�W˜e×6Ò6Ñ8Ô8¸&ÑAÔAÐAr*   c                 óœ   — | j         |         }|                     ||¦  «        }|                      |||                     ¦   «         |¦  «        S r%   )r   rv   rM   )r4   r5   r‚   rƒ   r'   r…   s         r(   Údeferred_to_anyrˆ   »   sD   € ð Ô& vÔ.€EØ
�)Š)�G˜SÑ
!Ô
!€CØ�<Š<˜  f§j¢j¡l¤l°DÑ9Ô9Ð9r*   c                 ó’   — |\  }}|                      ||g¦  «        }|                     |¦  «        }t          | ||j        |¦  «        S r%   )ÚgepÚloadr   r\   )r4   r5   r6   r7   Úbase_ptrÚidxÚelem_ptrr^   s           r(   Úgetitem_cpointerr�   Æ   sG   € à�M€HˆcØ�{Š{˜8 c UÑ+Ô+€HØ
�,Š,�xÑ
 Ô
 €CÝ˜W g¨s¬ÀÑDÔDÐDr*   c                 ól   — |\  }}}|                      ||g¦  «        }|                     ||¦  «         d S r%   )rŠ   Ústore)r4   r5   r6   r7   rŒ   r�   r'   rŽ   s           r(   Úsetitem_cpointerr’   Î   s=   € àÑ€Hˆc�3Ø�{Š{˜8 c UÑ+Ô+€HØ‡M‚M�#�xÑ Ô Ð Ð Ð r*   c                 óâ   ‡ ‡‡— t          |¦  «        t          |¦  «        k    sJ ||f¦   «         ‚t          |¦  «        dk    sJ ‚ˆˆˆ fd„}t          ||¦  «        }t          ||¦  «        \  }}|S )Nr   c                 ót  •— | \  }}|\  }}‰j                              ||¦  «        }|€J ‚‰                     ‰|||¦  «        }‰                     ‰|||¦  «        }t          j        t
          j        ||¦  «        }‰                     ‰|¦  «        } |‰||f¦  «        }	‰                     |	||¦  «        }
||
fS r%   )	Útyping_contextÚunify_typesrM   r   r    r   rN   r0   Úselect)Úaccumulatorry   ÚacctyÚaccÚvtyÚvÚtyÚcmpsigÚgeÚpredr^   r5   Úcmpopr4   s              €€€r(   Úbinary_minmaxz do_minmax.<locals>.binary_minmaxÛ   sÄ   ø€ ð !‰
ˆˆsØ‰ˆˆQØÔ#×/Ò/°°sÑ;Ô;ˆØˆ~ˆ~ˆ~Ø�lŠl˜7 C¨°Ñ3Ô3ˆØ�LŠL˜ ! S¨"Ñ-Ô-ˆÝÔ!¥%¤-°°RÑ8Ô8ˆØ×!Ò! %¨Ñ0Ô0ˆØˆr�'˜A˜s˜8Ñ$Ô$ˆØ�nŠn˜T 1 cÑ*Ô*ˆØ�3ˆwˆr*   )ÚlenÚzipr   )	r4   r5   Úargtysr7   r¡   r¢   ÚtypvalsÚrestyÚresvals	   ``  `    r(   Ú	do_minmaxr©   ×   s�   øøø€ Ýˆv‰;Œ;�#˜d™)œ)Ò#Ð#Ð# f¨d ^Ñ#Ô#Ð#Ýˆt‰9Œ9�qŠ=ˆ=ˆ=ˆ=ðð ð ð ð ð ð õ �&˜$ÑÔ€GÝ˜=¨'Ñ2Ô2�M€Eˆ6Ø€Mr*   c                 ó   — d| j         fz  S )Nzllvm.rint.f%d)Úbitwidth)Útps    r(   Ú_round_intrinsicr­   î   s   € à˜bœk˜^Ñ+Ð+r*   c                 ó|  — |j         d         }|                      |¦  «        }|j        }t          j        ||g¦  «        }t          j        ||t          |¦  «        ¦  «        }|                     ||¦  «        }	| 	                    |	|                      |j
        ¦  «        ¦  «        }	t          | ||j
        |	¦  «        S ©Nr   )r7   Úget_value_typeÚmoduler   ÚFunctionTyper   Úget_or_insert_functionr­   ÚcallÚfptosir\   r   )
r4   r5   r6   r7   ÚflttyÚlltyr±   ÚfntyÚfnr^   s
             r(   Úround_impl_unaryrº   ò   s£   € àŒH�QŒK€EØ×!Ò! %Ñ(Ô(€DØŒ^€FÝŒ?˜4 $ Ñ(Ô(€DÝ	Ô	'¨°Õ6FÀuÑ6MÔ6MÑ	NÔ	N€BØ
�,Š,�r˜4Ñ
 Ô
 €Cà
�.Š.˜˜g×4Ò4°S´_ÑEÔEÑ
FÔ
F€CÝ˜g w°´ÀÑEÔEÐEr*   c                 óð   ‡— |j         d         }t          j        t          |¦  «        t	          j        ||¦  «        ¦  «        Šˆfd„}|                      ||||¦  «        }t          | ||j        |¦  «        S )Nr   c                 ó$  •— t          j        | ¦  «        st          j        | ¦  «        r| S |dk    rG|dk    rd|dz
  z  }d}nd|z  }d}| |z  |z  }t          j        |¦  «        r| S  ‰|¦  «        |z  |z  S d| z  }| |z  } ‰|¦  «        |z  S )Nr   é   g      $@g’ÕMÏð€Dg      ð?)ÚmathÚisinfÚisnan)ÚxÚndigitsÚpow1Úpow2ÚyÚ_rounds        €r(   Úround_ndigitsz(round_impl_binary.<locals>.round_ndigits  sÃ   ø€ ÝŒ:�a‰=Œ=ð 	�DœJ q™MœMð 	ØˆHà�aŠ<ˆ<Ø˜Š|ˆ|ð  ¨"¡Ñ-�Ø��à˜w‘�Ø�Ø�T‘˜TÑ!ˆAÝŒz˜!‰}Œ}ð Ø�Ø�F˜1‘I”I Ñ$¨Ñ,Ð,ð ˜W˜HÑ%ˆDØ�D‘ˆAØ�6˜!‘9”9˜tÑ#Ð#r*   )	r7   r   ÚExternalFunctionr­   r   r    Úcompile_internalr   r\   )r4   r5   r6   r7   r¶   rÇ   r^   rÆ   s          @r(   Úround_impl_binaryrÊ   þ   sˆ   ø€ àŒH�QŒK€Eõ Ô#Ý˜ÑÔ¥Ô!1°%¸Ñ!?Ô!?ñAô A€Fð$ð $ð $ð $ð $ð. ×
"Ò
" 7¨M¸3ÀÑ
EÔ
E€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ó„   — |j         \  }|\  }|                      ||||j        ¦  «        }t          | ||j        |¦  «        S r%   ©r7   rM   r\   r   )r4   r5   r6   r7   r�   r'   r^   s          r(   Ú
float_implrÍ   $  sA   € àŒ8�D€RØ�E€SØ
�,Š,�w  R¨¬Ñ
9Ô
9€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ó‚   — t          |t          j        ¦  «        r|}nt          j        }d„ }t	          ||¦  «        }||fS )Nc                 ó„   — |j         \  }|\  }|                      ||||j        ¦  «        }t          | ||j        |¦  «        S r%   rÌ   )r4   r5   r    r7   r�   r'   r^   s          r(   r)   zcast_int.<locals>.impl2  sC   € ØŒ~‰ˆØ‰ˆØ�lŠl˜7 C¨¨YÔ-BÑCÔCˆÝ! '¨7°IÔ4IÈ3ÑOÔOÐOr*   )r,   r   ÚIntegerÚintpr    )Ú	typingctxrÁ   Úrettyr)   r6   s        r(   Úcast_intrÔ   +  sQ   € å�!•U”]Ñ#Ô#ð Øˆˆå”
ˆðPð Pð Põ �E˜1Ñ
Ô
€CØ�ˆ9Ðr*   c                 ór   — t          | t          j        t          j        t          j        f¦  «        rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r%   )rÔ   ©rÁ   s    r(   r)   zol_int.<locals>.impl>  s   € Ý˜A‘;”;Ðr*   )r,   r   rÐ   r-   ÚFloat)rÁ   r)   s     r(   Úol_intrÙ   ;  sA   € å�!•e”m¥U¤]µE´KÐ@ÑAÔAð ð	ð 	ð 	ð ˆð	ð r*   c                 óœ   — |j         \  }|                      |j        t          |j        ¦  «        ¦  «        }t          | ||j        |¦  «        S r%   )r7   Úget_constantr\   ÚfloatrY   r   )r4   r5   r6   r7   r�   r^   s         r(   Úfloat_literal_implrÝ   C  sC   € àŒ8�D€RØ
×
Ò
˜sœµ°bÔ6FÑ0GÔ0GÑ
HÔ
H€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ó¤  — |j         }|j        }t          |j        ¦  «        dk    r…|j        \  }|\  }t	          |t
          j        ¦  «        r/|                      ||||¦  «        }t          | ||j         |¦  «        S |                      ||||¦  «        }	|  	                    |d¦  «        }
nWt          |j        ¦  «        dk    r?|j        \  }}|\  }	}
|                      ||	||¦  «        }	|                      ||
||¦  «        }
|  
                    ||¦  «        }|	|_        |
|_        |                     ¦   «         }t          | ||j         |¦  «        S )NrE   r   é   )r\   Úunderlying_floatr£   r7   r,   r   ÚComplexrM   r   rÛ   Úmake_complexÚrealÚimagÚ	_getvalue)r4   r5   r6   r7   Úcomplex_typeÚ
float_typeÚargtyÚargr^   rã   rä   ÚrealtyÚimagtyÚcmplxs                 r(   Úcomplex_implrí   J  sA  € à”?€LØÔ.€JÝ
ˆ3Œ8�}„}˜ÒÐØ”(‰ˆØ‰ˆÝ�e�Uœ]Ñ+Ô+ð 	7à—,’,˜w¨¨U°LÑAÔAˆCÝ% g¨w¸¼ÈÑMÔMÐMà—<’< ¨¨e°ZÑ@Ô@ˆDØ×'Ò'¨
°AÑ6Ô6ˆDˆDå	ˆSŒX‰Œ˜!Ò	Ð	Øœ8Ñˆ�Ø‰ˆˆtØ�|Š|˜G T¨6°:Ñ>Ô>ˆØ�|Š|˜G T¨6°:Ñ>Ô>ˆà× Ò  ¨,Ñ7Ô7€EØ€E„JØ€E„JØ
�/Š/Ñ
Ô
€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ó  ‡— t          |j        t          j        ¦  «        r@|j        j        Šˆfd„}|                      ||||¦  «        }t          | ||j        |¦  «        S |\  }|j        \  }|                      ||||j        ¦  «        S )z1
    Call a number class, e.g. np.int32(...)
    c                  ó0   •— t          j        | ‰¬¦  «        S )N)Údtype)ÚnpÚarray)Úarg_hackÚdts    €r(   Úfooznumber_constructor.<locals>.foon  s   ø€ Ý”8˜H¨BÐ/Ñ/Ô/Ð/r*   )	r,   r\   r   ÚArrayrð   rÉ   r   r7   rM   )	r4   r5   r6   r7   rõ   r^   r'   Úvaltyrô   s	           @r(   Únumber_constructorrø   f  sš   ø€ õ
 �#”/¥5¤;Ñ/Ô/ð BàŒ_Ô"ˆð	0ð 	0ð 	0ð 	0ð 	0à×&Ò& w°°S¸$Ñ?Ô?ˆÝ! '¨7°C´OÀSÑIÔIÐIð ‰ˆØ”(‰ˆØ�|Š|˜G S¨%°´ÑAÔAÐAr*   c                 ó*   — |                       ¦   «         S r%   ©Úget_dummy_value©r4   r5   r�   Úpyvals       r(   Úconstant_dummyrþ   |  s   € ð ×"Ò"Ñ$Ô$Ð$r*   c                 óÈ   — |                       |¦  «        }|                      ||                     |¦  «        t          |¦  «        ¬¦  «        }|                     ||¦  «        S )N)Úinfo)Úget_function_pointer_typeÚadd_dynamic_addrÚget_pointerÚstrÚbitcast)r4   r5   r�   rý   ÚptrtyÚptrvals         r(   Úconstant_function_pointerr  �  s\   € à×-Ò-¨bÑ1Ô1€EØ×%Ò% g¨r¯~ª~¸eÑ/DÔ/DÝ+.¨u©:¬:ð &ñ 7ô 7€Fà�?Š?˜6 5Ñ)Ô)Ð)r*   c                 ót   — |€|                       ||j        ¦  «        S |                      ||j        |¦  «        S r%   )Úmake_optional_noneÚtypeÚmake_optional_valuerü   s       r(   Úconstant_optionalr  ‰  s9   € à€}Ø×)Ò)¨'°2´7Ñ;Ô;Ð;à×*Ò*¨7°B´G¸UÑCÔCÐCr*   c                 ó*   — |                       ¦   «         S )z&
    One-argument type() builtin.
    rú   )r4   r5   r6   r7   s       r(   Ú	type_implr  “  s   € ð
 ×"Ò"Ñ$Ô$Ð$r*   c                 óD   — |j         \  }|\  }t          | |||¦  «        }|S r%   )r7   r   )r4   r5   r6   r7   r�   r'   Úitervals          r(   Ú	iter_implr  ›  s*   € à
Œ(�C€BØ�D€CÝ˜7 G¨R°Ñ5Ô5€GØ€Nr*   c                 óR  — |j         \  }|\  }t          | |||¦  «        }|                     |                     |                     ¦   «         ¦  «        d¬¦  «        5  | j                             |t          d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         S )NF)Úlikelyr&   )	r7   r   Úif_thenr3   Úis_validÚ	call_convÚreturn_user_excÚStopIterationÚyielded_value)r4   r5   r6   r7   Úitertyr  r^   s          r(   Ú	next_implr  £  sä   € àŒh�G€FØ�H€Gå
˜ ¨&°'Ñ
:Ô
:€Cà	�Š˜Ÿš c§l¢l¡n¤nÑ5Ô5¸eˆÑ	DÔ	Dð Fð FØÔ×)Ò)¨'µ=À"ÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð ×ÒÑÔÐs   Á"B
Â
BÂBznot inc                 ób   — d„ }|                       ||||¦  «        }|                     |¦  «        S )Nc                 ó,   — t          j        || ¦  «        S r%   )r1   Úcontainsri   s     r(   Úin_implznot_in.<locals>.in_impl´  s   € ÝÔ   AÑ&Ô&Ð&r*   )rÉ   r3   )r4   r5   r6   r7   r   r^   s         r(   Únot_inr!  ²  s>   € ð'ð 'ð 'ð ×
"Ò
" 7¨G°S¸$Ñ
?Ô
?€CØ�<Š<˜ÑÔÐr*   c                 ó    — |j         \  }|j        }|                      |t          |j        ¦  «        ¦  «        }t          | ||j        |¦  «        S r%   )r7   r\   rÛ   r£   r   r   )r4   r5   r6   r7   r�   rÓ   r^   s          r(   Úconstsized_lenr#  ½  sE   € àŒ8�D€RØŒO€EØ
×
Ò
˜u¥c¨"¬(¡m¤mÑ
4Ô
4€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ób   — |j         \  }t          |¦  «        rt          j        S t          j        S r%   )r7   r£   r   Útrue_bitr>   )r4   r5   r6   r7   r�   s        r(   Ú
sized_boolr&  Å  s+   € àŒ8�D€RÝ
ˆ2�w„wð !ÝÔÐåÔ Ð r*   c                 óh   — |j         }|                      |¦  «        }t          | ||j         |¦  «        S r%   )r\   Úget_constant_undefr   )r4   r5   r6   r7   rÓ   r^   s         r(   Úlower_empty_tupler)  Í  s2   € àŒO€EØ
×
$Ò
$ UÑ
+Ô
+€CÝ˜g w°´ÀÑEÔEÐEr*   c                 ó8   — |\  }t          | ||j        |¦  «        S r%   )r   r\   )r4   r5   r6   r7   r'   s        r(   Úlower_tupler+  Ó  s   € à�D€CÝ˜W g¨s¬ÀÑDÔDÐDr*   c                 óÎ   — t           j        t           j        t           j        t           j        t           j        t           j        t           j        f}t          | |¦  «        rd„ }|S d S )Nc                 ó(   — t          | ¦  «        dk    S r¯   )r£   r×   s    r(   Ú	bool_implz bool_sequence.<locals>.bool_implå  s   € Ý�q‘6”6˜A’:Ðr*   )	r   ÚCharSeqÚUnicodeCharSeqÚDictTypeÚListTypeÚSetTypeÚUnicodeTypeÚSetr,   )rÁ   Úvalid_typesr.  s      r(   Úbool_sequencer7  Ø  sc   € õ 	ŒÝÔÝŒÝŒÝŒÝÔÝŒ	ð€Kõ �!�[Ñ!Ô!ð ð	ð 	ð 	àÐðð r*   Úalways)Úinlinec                 óD   — t          | t          j        ¦  «        s| €d„ S d S )Nc                 ó   — dS ©NFr&   r×   s    r(   ú<lambda>zbool_none.<locals>.<lambda>ì  s   € ˜€ r*   ©r,   r   rm   r×   s    r(   Ú	bool_noner?  é  s)   € å�!•U”^Ñ$Ô$ð ¨¨	ØˆÐð )2¨	r*   )Ú
IndexValueÚIndexValueType)r   Úregister_jitablec                 óš   — |j         }|\  }} t          j        |¦  «        | |¦  «        }||_        ||_        |                     ¦   «         S r%   )r\   r   Úcreate_struct_proxyÚindexry   rå   )r4   r5   r6   r7   rx   rE  ry   Úindex_values           r(   Úimpl_index_valuerG  ó  sR   € ð Œ/€CØ�L€Eˆ5Ø2•'Ô-¨cÑ2Ô2°7¸GÑDÔD€KØ€KÔØ€KÔØ× Ò Ñ"Ô"Ð"r*   c                 óh   — t          | t          ¦  «        rt          |t          ¦  «        rd„ }|S d S d S )Nc                 ó8  — t          j        | j        ¦  «        r/t          j        |j        ¦  «        r| j        |j        k     r| S |S | S t          j        |j        ¦  «        r|S | j        |j        k    r|S | j        |j        k    r| j        |j        k     r| S |S | S r%   ©rñ   rÀ   ry   rE  ©Úindval1Úindval2s     r(   Úmin_implzindval_min.<locals>.min_impl  ó¤   € ÝŒx˜œÑ&Ô&ð #Ý”8˜GœMÑ*Ô*ð #à”} w¤}Ò4Ð4Ø&˜à&˜ð #�NÝ”˜'œ-Ñ(Ô(ð 	#à�Ø” ¤Ò.Ð.Ø�Ø” '¤-Ò/Ð/Ø”= 7¤=Ò0Ð0Ø"�Nà"�NØˆNr*   ©r,   rA  )rL  rM  rN  s      r(   Ú
indval_minrQ  þ  óP   € å�'�>Ñ*Ô*ð Ý�'�>Ñ*Ô*ðð	ð 	ð 	ð, ˆð1ð ð ð r*   c                 ó|   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó
   — | o|S r%   r&   ©Úval1Úval2s     r(   Úbool_min_implz"boolval_min.<locals>.bool_min_impl  s   € Ø�=˜DÐ r*   r+   )rV  rW  rX  s      r(   Úboolval_minrY    sS   € å�$�œÑ&Ô&ð Ý�$�œÑ&Ô&ðð	!ð 	!ð 	!àÐð	ð ð ð r*   c                 óh   — t          | t          ¦  «        rt          |t          ¦  «        rd„ }|S d S d S )Nc                 ó8  — t          j        | j        ¦  «        r/t          j        |j        ¦  «        r| j        |j        k     r| S |S | S t          j        |j        ¦  «        r|S |j        | j        k    r|S | j        |j        k    r| j        |j        k     r| S |S | S r%   rJ  rK  s     r(   Úmax_implzindval_max.<locals>.max_impl(  rO  r*   rP  )rL  rM  r\  s      r(   Ú
indval_maxr]  $  rR  r*   c                 ó|   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó
   — | p|S r%   r&   rU  s     r(   Úbool_max_implz"boolval_max.<locals>.bool_max_implE  s   € Ø�<˜4Ðr*   r+   )rV  rW  r`  s      r(   Úboolval_maxra  A  sS   € å�$�œÑ&Ô&ð Ý�$�œÑ&Ô&ðð	 ð 	 ð 	 àÐð	ð ð ð r*   c                  óÂ  — t          | ¦  «        dk    ršt          | d         t          j        ¦  «        r1t          | d         j        t          j        t          j        f¦  «        sDt          | d         t          j        ¦  «        r)t          d„ | d         j        D ¦   «         ¦  «        rd„ }|S | D ]+}t          |t          j        t          j        f¦  «        s d S Œ,d„ }|S )NrE   r   c              3   ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S r%   ©r,   r   ÚNumberr-   ©Ú.0r�   s     r(   ú	<genexpr>zol_max.<locals>.<genexpr>S  ó5   è è € ÐSÐSÀ"•
˜2¥¤­e¬mÐ<Ñ=Ô=ÐSÐSÐSÐSÐSÐSr*   c                  ó,   — t          | d         ¦  «        S r¯   ©Ú
max_varargr×   s    r(   r)   zol_max.<locals>.implV  ó   € Ý˜a œdÑ#Ô#Ð#r*   c                  ó    — t          | ¦  «        S r%   rk  r×   s    r(   r)   zol_max.<locals>.impl^  ó   € Ý˜a‘=”=Ð r*   ©	r£   r,   r   ÚUniTuplerð   re  r-   Ú	BaseTupleÚall©rÁ   r)   r�   s      r(   Úol_maxru  K  óë   € å
ˆ1�v„v�‚{€{å�q˜”t�Uœ^Ñ,Ô,ð õ �q˜”t”z¥E¤Lµ%´-Ð#@ÑAÔAð õ
 �q˜”t�Uœ_Ñ-Ô-ð õ ÐSÐSÈÈ!ÌÌ
ÐSÑSÔSÑSÔSð ð	$ð 	$ð 	$àˆàð 	ð 	ˆBÝ˜b¥5¤<µ´Ð"?Ñ@Ô@ð Ø�t�tðð	!ð 	!ð 	!àˆr*   c                  óÂ  — t          | ¦  «        dk    ršt          | d         t          j        ¦  «        r1t          | d         j        t          j        t          j        f¦  «        sDt          | d         t          j        ¦  «        r)t          d„ | d         j        D ¦   «         ¦  «        rd„ }|S | D ]+}t          |t          j        t          j        f¦  «        s d S Œ,d„ }|S )NrE   r   c              3   ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S r%   rd  rf  s     r(   rh  zol_min.<locals>.<genexpr>k  ri  r*   c                  ó,   — t          | d         ¦  «        S r¯   ©Ú
min_varargr×   s    r(   r)   zol_min.<locals>.impln  rm  r*   c                  ó    — t          | ¦  «        S r%   rz  r×   s    r(   r)   zol_min.<locals>.implv  ro  r*   rp  rt  s      r(   Úol_minr}  c  rv  r*   c                 óÄ   — t          |¦  «        dk    rt          d¦  «        ‚d„ } | j        |Ž }|�t          ||¦  «        }||fS t          dd„ |D ¦   «         › �¦  «        ‚)Nr   z max() argument is an empty tuplec                 ó¦   — t          |j        d         ¦  «        }t          j        ||d         ¦  «        }t	          | |||t
          j        ¦  «        S r¯   )Úlistr7   r   Úunpack_tupler©   r1   Úgt©r4   r5   r6   r7   r¥   s        r(   r)   zmax_vararg.<locals>.impl€  óC   € Ý�c”h˜q”kÑ"Ô"ˆÝÔ# G¨T°!¬WÑ5Ô5ˆÝ˜ '¨6°4½¼ÑEÔEÐEr*   úGiven types cannot be unified: c                 ó   — g | ]}|‘ŒS r&   r&   rf  s     r(   ú
<listcomp>zmax_vararg.<locals>.<listcomp>Š  ó   € Ð<LÐ<LÐ<LÀB¸RÐ<LÐ<LÐ<Lr*   ©r£   r   r–   r    ©r4   rÁ   r)   rÓ   r6   s        r(   rl  rl  {  óˆ   € å
ˆ1�v„v�‚{€{ÝÐ<Ñ=Ô=Ð=ðFð Fð Fð
  ˆGÔ Ð#€EØÐÝ˜˜qÑ!Ô!ˆØ�DˆyÐåÐNÐ<LÐ<LÈ!Ð<LÑ<LÔ<LÐNÐNÑOÔOÐOr*   c                 óÄ   — t          |¦  «        dk    rt          d¦  «        ‚d„ } | j        |Ž }|�t          ||¦  «        }||fS t          dd„ |D ¦   «         › �¦  «        ‚)Nr   z min() argument is an empty tuplec                 ó¦   — t          |j        d         ¦  «        }t          j        ||d         ¦  «        }t	          | |||t
          j        ¦  «        S r¯   )r€  r7   r   r�  r©   r1   Últrƒ  s        r(   r)   zmin_vararg.<locals>.impl’  r„  r*   r…  c                 ó   — g | ]}|‘ŒS r&   r&   rf  s     r(   r‡  zmin_vararg.<locals>.<listcomp>œ  rˆ  r*   r‰  rŠ  s        r(   r{  r{  �  r‹  r*   c                 ó   — | |k    S r%   r&   ri   s     r(   r=  r=  ¢  s
   € ¨Q°ªU€ r*   c                 ó   — | |k     S r%   r&   ri   s     r(   r=  r=  £  s
   € ¨!¨aª%€ r*   c                 óJ   ‡— t          | t          j        ¦  «        rˆfd„}|S d S )Nc                 ój   •— t          | ¦  «        }t          |¦  «        }|D ]} ‰||¦  «        r|}Œ|S r%   )ÚiterÚnext)ÚiterableÚitÚ
return_valr'   Úops       €r(   r)   zmin_max_impl.<locals>.impl©  sH   ø€ Ý�h‘”ˆBÝ˜b™œˆJØð %ð %�Ø�2�c˜:Ñ&Ô&ð %Ø!$�JøØÐr*   )r,   r   ÚIterableType)r–  r™  r)   s    ` r(   Úmin_max_implr›  ¦  sB   ø€ å�(�EÔ.Ñ/Ô/ð ð	ð 	ð 	ð 	ð 	ð ˆðð r*   c                 ó,   — t          | t          ¦  «        S r%   )r›  Ú	less_than©r–  s    r(   Úiterable_minrŸ  ³  s   € å˜¥)Ñ,Ô,Ð,r*   c                 ó,   — t          | t          ¦  «        S r%   )r›  Úgreater_thanrž  s    r(   Úiterable_maxr¢  ¸  s   € å˜¥,Ñ/Ô/Ð/r*   c                 ó²  — |j         }d„ }t          j                             |j        ¦  «        }t          j        |t          j        |¦  «        |¦  «        }t          |¦  «        dk    r,|  	                    ¦   «         |  
                    |||¦  «        f}n+|  	                    ¦   «         |  
                    ||d¦  «        f}|                      ||||¦  «        S )ae  Redirect constructor implementation to `numba_typeref_ctor(cls, *args)`,
    which should be overloaded by the type's implementation.

    For example:

        d = Dict()

    `d` will be typed as `TypeRef[DictType]()`.  Thus, it will call into this
    implementation.  We need to redirect the lowering to a function
    named ``numba_typeref_ctor``.
    c                 ó   — t          | g|¢R Ž S r%   )r   )Úclsr7   s     r(   Ú	call_ctorz%redirect_type_ctor.<locals>.call_ctorÌ  s   € Ý! #Ð-¨Ð-Ð-Ð-Ð-r*   r   r&   )r\   r   ÚTupleÚ
from_typesr7   r   r    ÚTypeRefr£   rû   Ú
make_tuplerÉ   )r4   r5   r6   r7   r¥  r¦  Ú	ctor_argss          r(   Úredirect_type_ctorr¬  ½  sØ   € ð Œ/€Cð.ð .ð .õ ”×&Ò& s¤xÑ0Ô0€Iå
Ô
˜3¥¤¨cÑ 2Ô 2°IÑ
>Ô
>€CÝ
ˆ9�~„~˜ÒÐØ×'Ò'Ñ)Ô)Ø×"Ò" 7¨I°tÑ<Ô<ð>ˆˆð ×'Ò'Ñ)Ô)Ø×"Ò" 7¨I°rÑ:Ô:ð<ˆð ×#Ò# G¨Y¸¸TÑBÔBÐBr*   c                 óô  ‡— d }t          |t          j        ¦  «        rd}n9t          |t          j        ¦  «        rd}nt          |t          j        ¦  «        rd}|� dj        |Ž }t          |¦  «        ‚t          | t          j        j        t          j	        t          j
        t          j        t          j        f¦  «        rt          Šn)t          | t          j        j        ¦  «        rt          Šnd S dˆfd„	}|S )N)ÚstringsÚ )Úbytesrg   )Ú	bytearrayrg   z/sum() can't sum {} [use {}''.join(seq) instead]r   c                 ó2   •— |} ‰| ¦  «        D ]}||z   }Œ|S r%   r&   )r–  Ústartrš   rÁ   Úiterators       €r(   r)   zol_sum.<locals>.implø  s1   ø€ ØˆØ�˜(Ñ#Ô#ð 	ð 	ˆAà˜‘'ˆCˆCØˆ
r*   ©r   )r,   r   r4  ÚBytesÚ	ByteArrayÚformatr   Ú
containersÚ_HomogeneousTupleÚListr2  rö   Ú	RangeTyper”  Ú_HeterogeneousTupler!   )r–  r³  ÚerrorrA   r)   r´  s        @r(   Úol_sumr¿  Ý  s  ø€ ð €EÝ�%�Ô*Ñ+Ô+ð #ØˆˆÝ	�E�5œ;Ñ	'Ô	'ð #ØˆˆÝ	�E�5œ?Ñ	+Ô	+ð #Ø"ˆàÐØFÐ?ÔFÈÐNˆÝ˜#ÑÔÐõ �(�UÔ-Ô?ÅÄÝ"œ^­U¬[½%¼/ðKñ Lô Lð åˆˆÝ	�H�uÔ/ÔCÑ	EÔ	Eð õ "ˆˆàˆtðð ð ð ð ð ð €Kr*   c                 ó   — d„ }|S )Nc              7   ó8   K  — t          |g|¢R Ž D ]	} | |Ž V — Œ
d S r%   )r¤   )Úfuncr–  r7   rÁ   s       r(   r)   zol_map.<locals>.impl  s@   è è € Ý�XÐ% Ð%Ð%Ð%ð 	ð 	ˆAØ�$˜�(ˆNˆNˆNˆNð	ð 	r*   r&   )rÂ  r–  r7   r)   s       r(   Úol_maprÃ    s   € ðð ð ð €Kr*   c                 óL   — | �t          | t          j        ¦  «        rd„ }nd„ }|S )Nc              3   ó    K  — |D ]}|r|V — Œ	d S r%   r&   ©rÂ  r–  rÁ   s      r(   r)   zol_filter.<locals>.impl  s1   è è € Øð ð �Øð Ø�G�G�Gøðð r*   c              3   ó2   K  — |D ]} | |¦  «        r|V — Œd S r%   r&   rÆ  s      r(   r)   zol_filter.<locals>.impl  s9   è è € Øð ð �Ø�4˜‘7”7ð Ø�G�G�Gøðð r*   r>  )rÂ  r–  r)   s      r(   Ú	ol_filterrÈ    sA   € àˆ� D­%¬.Ñ9Ô9ˆð	ð 	ð 	ð 	ð
	ð 	ð 	ð €Kr*   c                 ó^  — d„ }d„ }t          | ¦  «        }t          |t          j        ¦  «        rd|› d�}t	          |¦  «        ‚t          j        t          j        t          j        t          j        t          j	        t          j
        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        f}t          ||¦  «        sd|› d�}t	          |¦  «        ‚|}t          |t          j        ¦  «        r|j        d         }t          |t          j        ¦  «        s|f}|D �]z}t          |t          j        ¦  «        r|j        d         }	n$t          |t          j        ¦  «        r|}	n|j        }	t:          t          j        t<          t          j        t>          t          j        t          j	        ft@          t          j
        tB          t          j"        tF          t          j        i}
|	|
v rt          ||
|	         ¦  «        r|c S Œât          |t          j$        ¦  «        rM|	t          j        t          j        t          j        fvrd}t	          |¦  «        ‚tK          |¦  «        |	u r|n|c S t          |	¦  «        }||k    r|c S t          |t          j        t          j        f¦  «        r#t          |tK          |¦  «        ¦  «        r|c S �Œ«t          |t          j        ¦  «        r3t          |t          j        ¦  «        r|j        |j&        j        k    r|c S t          |t          j'        ¦  «        rh|j        d         t          j(        k    rMt          ||j)        ¦  «        s4t          |t          j"        ¦  «        rt          |t          j"        ¦  «        r|c S �Œ||S )	Nc                 ó   — dS )NTr&   ©ÚvarÚtypss     r(   Ú	true_implz ol_isinstance.<locals>.true_impl  s   € Øˆtr*   c                 ó   — dS r<  r&   rË  s     r(   Ú
false_implz!ol_isinstance.<locals>.false_impl"  s   € Øˆur*   z1isinstance cannot handle optional types. Found: "ú"z1isinstance() does not support variables of type "z".r   zLNumba type classes (except numba.typed.* container types) are not supported.)*r"   r,   r   rn   r   re  r¶  r¼  r1  ÚLiteralStrKeyDictr»  r2  r§  rq  r5  ÚFunctionÚ	ClassTyper4  ÚClassInstanceTyperm   rö   r-   rØ   r0  rá   Ú
NPDatetimeÚNPTimedeltar3  Úkeyr°  ÚrangeÚdictr€  Útuplerr  r€   r©  r  Úinstance_typeÚ	ContainerÚ	undefinedÚ	__class__)rÌ  rÍ  rÎ  rÐ  Úvar_tyrA   Úsupported_var_tyÚt_typsrx   rØ  Útypes_not_registeredÚ	numba_typs               r(   Úol_isinstancerå    s�  € ðð ð ðð ð õ ˜3ÑÔ€Få�&�%œ.Ñ)Ô)ð "ØKÀ&ÐKÐKÐKˆÝ˜SÑ!Ô!Ð!õ œ¥e¤kµ5´?Ýœ­Ô(?ÅÄÝœ­¬µU´^ÅUÄYÝœ­¬½Ô9JÝÔ/µ´ÅÄÝœ¥u¤{µEÔ4HÝœ¥uÔ'7½Ô9JÝœð'Ðõ �fÐ.Ñ/Ô/ð "ØLÀ&ÐLÐLÐLˆÝ˜SÑ!Ô!Ð!à€Fõ �&�%œ.Ñ)Ô)ð !à”*˜Q”-ˆå�f�eœkÑ*Ô*ð Ø�ˆàð 5%ñ 5%ˆå�c�5œ>Ñ*Ô*ð 	Ø”'˜!”*ˆCˆCÝ˜�Uœ_Ñ-Ô-ð 	ØˆCˆCà”'ˆCõ
 •5”;Ý•5”?Ý•5”>¥5Ô#:Ð;Ý•%”*Ý•5”?Ý•”ð 
Ðð Ð&Ð&Ð&Ý˜&Ð"6°sÔ";Ñ<Ô<ð !Ø Ð Ð Ð Øå�c�5œ=Ñ)Ô)ð 	%ð �5œ>­5¬>½5¼=ÐIÐIÐIð3�å$ SÑ)Ô)Ð)õ !% V¡¤°Ð 3Ð 3�9�9¸ÐCÐCÐCå% cÑ*Ô*ˆIØ˜Ò"Ð"Ø Ð Ð Ð Ý˜I­Ô(8½%Ô:KÐ'LÑMÔMð %Ý˜f¥d¨9¡o¤oÑ6Ô6ð %Ø$Ð$Ð$Ð$ñ%å˜I¥u¤Ñ7Ô7ð %Ý˜v¥uÔ'>Ñ?Ô?ð%à”J )Ô"9Ô"=Ò=Ð=à Ð Ð Ð Ý˜I¥u¤Ñ7Ô7ð %Ø”M !Ô$­¬Ò7Ð7å˜f iÔ&9Ñ:Ô:ð %Ý ­¬Ñ8Ô8ð%å" 9­e¬oÑ>Ô>ð%ð %Ð$Ð$Ð$ùàÐr*   c                 ó   — d S r%   r&   ©ÚobjÚnames     r(   Ú_getattr_raise_attr_excrê  „  s	   € ð 	€Dr*   c                 ó„   ‡— t          |t          j        ¦  «        st          d¦  «        ‚|j        }d| › d|› d�Šˆfd„}|S )Nú(argument 'name' must be a literal stringú'z' has no attribute 'c                 ó"   •— t          ‰¦  «        ‚r%   )ÚAttributeError)rè  ré  Úmessages     €r(   r)   z(ol__getattr_raise_attr_exc.<locals>.impl‘  s   ø€ Ý˜WÑ%Ô%Ð%r*   )r,   r   ÚStringLiteralr   rY   )rè  ré  Úlnamer)   rð  s       @r(   Úol__getattr_raise_attr_excró  Š  sf   ø€ å�d�EÔ/Ñ0Ô0ð NÝ!Ð"LÑMÔMÐMØÔ€EØ3�#Ð3Ð3¨5Ð3Ð3Ð3€Gð&ð &ð &ð &ð &à€Kr*   c                 óÄ  ‡‡‡‡‡	‡
‡— t          |t          j        ¦  «        st          d¦  «        ‚|j        Š
|                      ‰‰
¦  «        Št          ‰t          j        ¦  «        rd‰› d‰
› d‰› d�}t          |¦  «        ‚‰€�t          ‰t          j        ¦  «        r‰j	        t          k    s ‰‰|‰¦  «        }ˆfd„}nœ|                      t          ¦  «        Š	‰	                     | ‰|fi ¦  «        Št          j        ‰|‰¦  «        }ˆ	ˆfd„}nL ‰‰|‰¦  «        }t          ‰t          j        ¦  «        rˆˆfd„}n|                      ‰‰
¦  «        Šˆˆˆ
ˆfd	„}||fS )
Nrì  zQReturning function objects is not implemented. getattr() was requested to return z from attribute 'z' of ú.c                 óP   •— |d         }| j                              |‰|¦  «         |S ©Néÿÿÿÿ)ÚnrtÚincref)Úcgctxr5   r6   ÚllargsÚtmpÚdefaults        €r(   r)   zresolve_getattr.<locals>.impl«  s+   ø€ Ø˜R”j�Ø”	× Ò  ¨'°3Ñ7Ô7Ð7Ø�
r*   c                 óX   •— |                       ‰‰¦  «        } |||d d…         ¦  «        S r÷  )r0   )rû  r5   r6   rü  Únative_implr¸   Ú	raise_sigs        €€r(   r)   zresolve_getattr.<locals>.impl´  s2   ø€ Ø#×0Ò0°°yÑAÔA�Ø"�{ 7¨F°3°B°3¬KÑ8Ô8Ð8r*   c                 ó¸   •— ‰j         }|                      ||d         ‰|¦  «        }|                      |||¦  «        }| j                             |‰|¦  «         |S r¯   )ÚthisrM   Úget_bound_functionrù  rú  )	rû  r5   r6   Úll_argsÚ	cast_typeÚcastedr^   r¹   rè  s	          €€r(   r)   zresolve_getattr.<locals>.impl¼  s[   ø€ ØœG�	ØŸš G¨W°Q¬Z¸¸iÑHÔH�Ø×.Ò.¨w¸À	ÑJÔJ�Ø”	× Ò  ¨"¨cÑ2Ô2Ð2Ø�
r*   c                 óÆ   •— |                       ‰
‰	¦  «        } || |‰
|d         ‰	¦  «        }|                      ||‰‰¦  «        }| j                             |‰|¦  «         |S r¯   )rw   rM   rù  rú  )rû  r5   r6   r  Ú	attr_implr^   r  Úattrtyr¹   rò  rè  s          €€€€r(   r)   zresolve_getattr.<locals>.implÆ  si   ø€ Ø!×-Ò-¨c°5Ñ9Ô9�	Ø�i  w°°W¸Q´ZÀÑGÔG�ØŸš G¨S°&¸"Ñ=Ô=�Ø”	× Ò  ¨"¨fÑ5Ô5Ð5Ø�r*   )r,   r   rñ  r   rY   Úresolve_getattrrÓ  r   Ú
NamedTupleÚinstance_classÚ_getattr_default_typeÚresolve_value_typerê  Úget_call_typeÚnoneÚBoundFunction)Útyctxrè  ré  rþ  rA   r6   r)   r
  r¹   r¸   rò  r  s    ` `   @@@@@r(   r  r  –  sÿ  øøøøøøø€ å�d�EÔ/Ñ0Ô0ð NÝ!Ð"LÑMÔMÐMØÔ€EØ	×	Ò	˜s EÑ	*Ô	*€Bõ �"•e”nÑ%Ô%ð ð&Ø46ð&ð &àð&ð &à"ð&ð &ð &ˆõ ˜#ÑÔÐà	€zõ ˜7¥EÔ$4Ñ5Ô5ð 	9ØÔ&Õ*?Ò?Ð?à�'˜#˜t WÑ-Ô-ˆCðð ð ð ð ð ð ×+Ò+Õ,CÑDÔDˆDØ×*Ò*¨5°3¸°+¸rÑBÔBˆIÝ”*˜S $¨Ñ0Ô0ˆCð9ð 9ð 9ð 9ð 9ð 9ð 9ð
 ˆb��d˜GÑ$Ô$ˆÝ�b�%Ô-Ñ.Ô.ð 	ðð ð ð ð ð ð ð ×*Ò*¨3°Ñ6Ô6ˆFðð ð ð ð ð ð ð ð �ˆ9Ðr*   r  r¯  )Úprefer_literalc                 ó   — d„ }|S )Nc                 ó.   — t          | |t          ¦  «        S r%   )r  Ú_getattr_defaultrç  s     r(   r)   zol_getattr_2.<locals>.implÙ  s   € Ý˜s DÕ*:Ñ;Ô;Ð;r*   r&   ©rè  ré  r)   s      r(   Úol_getattr_2r  ×  s   € ð<ð <ð <à€Kr*   c                 ó   — d„ }|S )Nc                 ó$   — t          | ||¦  «        S r%   )r  )rè  ré  rþ  s      r(   r)   zol_getattr_3.<locals>.implä  s   € Ý˜s D¨'Ñ2Ô2Ð2r*   r&   )rè  ré  rþ  r)   s       r(   Úol_getattr_3r  â  s   € ð3ð 3ð 3à€Kr*   c                 ó  ‡— t          |t          j        ¦  «        st          d¦  «        ‚|j        }|                      ||¦  «        Š‰€t          j        d¦  «        }nt          j        d¦  «        } |||¦  «        }ˆfd„}||fS )Nrì  FTc                 ó8   •— ‰€t           j        nt           j        S r%   )r   r>   r%  )rû  r5   r6   r  r¹   s       €r(   r)   zresolve_hasattr.<locals>.implú  s   ø€ Ø#% :�gÔÐµ7Ô3CÐCr*   )r,   r   rñ  r   rY   r  Úliteral)r  rè  ré  rò  rÓ   r6   r)   r¹   s          @r(   Úresolve_hasattrr   é  s¥   ø€ å�d�EÔ/Ñ0Ô0ð NÝ!Ð"LÑMÔMÐMØÔ€EØ	×	Ò	˜s EÑ	*Ô	*€Bð 
€zÝ”˜eÑ$Ô$ˆˆå”˜dÑ#Ô#ˆØ
ˆ%��TÑ
Ô
€CðDð Dð Dð Dð Dà�ˆ9Ðr*   c                 ó   — d„ }|S )Nc                 ó"   — t          | |¦  «        S r%   )r   rç  s     r(   r)   zol_hasattr.<locals>.impl  s   € Ý˜s DÑ)Ô)Ð)r*   r&   r  s      r(   Ú
ol_hasattrr#    s   € ð*ð *ð *à€Kr*   c                 ó   ‡— d| › d�Šˆfd„}|S )Nz<object type:ú>c                 ód   •— d}t          | |¦  «        dk    r t          | |¦  «        ¦   «         S ‰S )NÚ__repr__T)ÚhasattrÚgetattr)rè  rz   Úmissing_repr_formats     €r(   r)   zol_repr_generic.<locals>.impl  s=   ø€ ØˆÝ�3˜ÑÔ Ò%Ð%Ø%•7˜3 Ñ%Ô%Ñ'Ô'Ð'ð 'Ð&r*   r&   )rè  r)   r*  s     @r(   Úol_repr_genericr+  
  s4   ø€ à0¨#Ð0Ð0Ð0Ðð'ð 'ð 'ð 'ð 'ð €Kr*   c                 ó   — dd„}|S )Nr¯  c                 ó|   — d}t          | |¦  «        dk    r t          | |¦  «        ¦   «         S t          | ¦  «        S )NÚ__str__T)r(  r)  Úrepr)Úobjectrz   s     r(   r)   zol_str_generic.<locals>.impl  s@   € ØˆÝ�6˜4Ñ Ô  DÒ(Ð(Ø(•7˜6 4Ñ(Ô(Ñ*Ô*Ð*å˜‘<”<Ðr*   ©r¯  r&   )r0  r)   s     r(   Úol_str_genericr2    s   € ð ð  ð  ð  ð €Kr*   rµ  r1  )ªÚcollectionsr   r¾   Ú	functoolsr   Únumpyrñ   r1   ÚwarningsÚllvmliter   Únumba.core.imputilsr   r   r   r	   r
   r   r   r   r   r   r   Ú
numba.corer   r   r   r   Únumba.core.extendingr   r   Únumba.core.typeconvr   Únumba.core.errorsr   r   r   r   r   r   Únumba.core.typing.templatesr   r   r    Únumba.misc.specialr!   Únumba.core.typing.asnumbatyper"   Útruthr.   Úis_notÚAnyr9   r2   rC   ÚOpaquerK   r-   rU   r<   ÚLiteralÚIntegerLiteralr_   Únerb   rt   ÚDeferredTyper}   rn   r†   rˆ   ÚgetitemÚCPointerrÐ   r�   Úsetitemr’   r©   r­   ÚroundrØ   rº   rÊ   rÜ   rÍ   rÔ   ÚintrÙ   rñ  rÝ   ÚcomplexÚVarArgrí   ÚNumberClassrø   ÚDummyrþ   ÚExternalFunctionPointerr  r  r  r  r”  rš  r  r•  ÚIteratorTyper  r!  r£   Ú
ConstSizedr#  ÚboolÚSizedr&  rÛ  r)  rr  r+  r7  r?  Únumba.core.typing.builtinsr@  rA  Únumba.extendingrB  rÑ   ÚTypeÚuintprG  ÚminrQ  rY  Úmaxr]  ra  ru  r}  rl  r{  r¡  r�  r›  rŸ  r¢  r©  r¬  Úsumr¿  ÚmaprÃ  ÚfilterrÈ  r,   rå  rê  ró  r  r  r  r)  r  r  r   r(  r#  r/  r+  r  r2  r&   r*   r(   ú<module>r_     s5  ðØ "Ð "Ð "Ð "Ð "Ð "Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø €€€à Ð Ð Ð Ð Ð ðIð Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið
 5Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4à -Ð -Ð -Ð -Ð -Ð -Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ð 
€ˆ(Œ.ÑÔðð ñ Ôðð €ˆxŒ ¤	¨5¬9Ñ5Ô5ð0ð 0ñ 6Ô5ð0ð €ˆxŒ|˜UœY¨¬	Ñ2Ô2ð!ð !ñ 3Ô2ð!ð2 €ˆxŒ|˜Uœ\¨5¬<Ñ8Ô8ð!ð !ñ 9Ô8ð!ð €ˆxŒ|˜Uœ]¨E¬MÑ:Ô:ð,ð ,ñ ;Ô:ð,ð$ €ˆxŒ{˜EœM¨5¬=Ñ9Ô9Ø€ˆxŒ{˜EÔ0°%Ô2FÑGÔGðFð Fñ HÔGñ :Ô9ðFð €ˆxŒ{˜EœM¨5¬=Ñ9Ô9Ø€ˆxŒ{˜EÔ0°%Ô2FÑGÔGðFð Fñ HÔGñ :Ô9ðFð ð  ð  ðD €€ˆŒÑ Ô �j�j Ñ&Ô&Ñ 'Ô 'Ð 'Ø €€ˆŒÑ Ô �j�j Ñ'Ô'Ñ (Ô (Ð (ð Ð�uÔ)Ñ*Ô*ð8ð 8ñ +Ô*ð8ð €ˆEŒI�uÔ)Ñ*Ô*Ø€ˆEŒN˜EÔ.Ñ/Ô/Ø€ˆEŒM˜5Ô-Ñ.Ô.ðBð Bñ /Ô.ñ 0Ô/ñ +Ô*ðBð
 €ˆEÔ ¤	Ñ*Ô*Ø€ˆEÔ ¤Ñ.Ô.Ø€ˆEÔ ¤Ñ/Ô/ð:ð :ñ 0Ô/ñ /Ô.ñ +Ô*ð:ð €ˆxÔ ¤°´Ñ?Ô?ðEð Eñ @Ô?ðEð €ˆxÔ ¤°´ÀÄ	ÑJÔJð!ð !ñ KÔJð!ðð ð ð.,ð ,ð ,ð €ˆu�e”kÑ"Ô"ð	Fð 	Fñ #Ô"ð	Fð €ˆu�e”k 5¤=Ñ1Ô1ðFð Fñ 2Ô1ðFðJ €ˆu�e”iÑ Ô ðFð Fñ !Ô ðFð ðð ñ „ðð 
€ˆ#�„ðð ñ „ðð €ˆu�eÔ)Ñ*Ô*ðFð Fñ +Ô*ðFð €ˆw˜˜œ U¤YÑ/Ô/Ñ0Ô0ðFð Fñ 1Ô0ðFð6 €ˆuÔ  %¤)Ñ,Ô,ðBð Bñ -Ô,ðBð* €�”ÑÔð%ð %ñ Ôð%ð €�Ô-Ñ.Ô.ð*ð *ñ /Ô.ð*ð €�”ÑÔðDð Dñ  ÔðDð €ˆt�U”YÑÔð%ð %ñ  Ôð%ð €ˆt�UÔ'Ñ(Ô(ðð ñ )Ô(ðð €ˆt�UÔ'Ñ(Ô(ð	ð 	ñ )Ô(ð	ð €ˆx˜œ E¤IÑ.Ô.ðð ñ /Ô.ðð €ˆs�EÔ$Ñ%Ô%ðFð Fñ &Ô%ðFð €ˆt�U”[Ñ!Ô!ð!ð !ñ "Ô!ð!ð €ˆuÑÔðFð Fñ ÔðFð
 €ˆu�e”oÑ&Ô&ðEð Eñ 'Ô&ðEð 
€ˆ$�„ðð ñ „ðð  
€ˆ$�xÐ Ñ Ô ðð ñ !Ô ðð BÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à€ˆz˜5œ: u¤zÑ2Ô2Ø€ˆz˜5œ;¨¬
Ñ3Ô3ð#ð #ñ 4Ô3ñ 3Ô2ð#ð 
€ˆ#�„ðð ñ „ðð8 
€ˆ#�„ðð ñ „ðð 
€ˆ#�„ðð ñ „ðð8 
€ˆ#�„ðð ñ „ðð 
€ˆ#�„ðð ñ „ðð. 
€ˆ#�„ðð ñ „ðð. ðPð Pñ „ðPð" ðPð Pñ „ðPð(  ÐÐ 2Ð 2Ñ3Ô3€ØÐÐ/Ð/Ñ0Ô0€	ð ð	ð 	ñ Ôð	ð 
€ˆ#�„ð-ð -ñ „ð-ð 
€ˆ#�„ð0ð 0ñ „ð0ð €ˆuŒ}˜l˜eœl¨5¬9Ñ5Ô5Ñ6Ô6ðCð Cñ 7Ô6ðCð> 
€ˆ#�„ð ð  ð  ñ „ð ðN 
€ˆ#�„ðð ñ „ðð 
€ˆ&ÑÔðð ñ Ôðð 
€ˆ*ÑÔðbð bñ ÔðbðN	ð 	ð 	ð 
€Ð
!Ñ"Ô"ðð ñ #Ô"ðð ð5ð 5ñ „ð5ðr #˜
Ð#:¸BÑ?Ô?Ð Ø(Ð(Ñ*Ô*Ð ð 
€ˆ' $Ð'Ñ'Ô'ðð ñ (Ô'ðð 
€ˆ'ÑÔðð ñ Ôðð ðð ñ „ðð2 
€ˆ'ÑÔðð ñ Ôðð 
€ˆ$�„ð
ð 
ñ „ð
ð 
€ˆ#�„ðð ð ñ „ðð ð r*   