
    J/Ph                     4   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
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 d dlmZ d Zd	 Zd
 Zd Zd Zd Zd Z ee ej!        ej!                  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( eej)        ej!        ej!                   eej*        ej!        ej!                  d                         Z+d Z,d Z- eej.        ej!        ej/                   eej0        ej!        ej/                   eej.        ej1        ej/                   eej0        ej1        ej/                  d                                                 Z2d Z3d Z4d Z5d Z6d Z7d Z8d Z9d Z:d Z;d Z<d  Z=d! Z>d" Z?d# Z@d$ ZAd% ZBd& ZCd' ZDd( ZEd) ZFd* ZGd+ ZHd, ZId- ZJd. ZK  eejL        ejM        ejM                  e;             eejN        ejM        ejM                  e<             eejO        ejM        ejM                  e7             eejP        ejM        ejM                  e8             eejQ        ejM        ejM                  e9             eejR        ejM        ejM                  e:             eejS        ejM                  eJ             eejT        ejM                  eK           d/ ZUd0 ZV eU              eV             d1 ZWd2 ZXd3 ZYd4 ZZd5 Z[d6 Z\ ee ej1        ej1                  dod7            Z]dod8Z^dod9Z_d: Z`d; Zad< Zbd= Zcd> Zdd? Zed@ ZfdA ZgdB ZhdC ZidD Zjej1        Zk  eejl        ekek          eW             eejm        ekek          eW             eejn        ekek          eX             eejo        ekek          eX             eejp        ekek          eY             eejq        ekek          eY             eej#        ekek          e_             eej$        ekek          e_             eej&        ekek          eZ             eej'        ekek          eZ             eej)        ekek          e^             eej*        ekek          e^             eej.        ekek          e`             eej0        ekek          e`             ee.ekek          e`             eejL        ekek          ee             eejN        ekek          ef             eejO        ekek          ea             eejP        ekek          eb             eejQ        ekek          ec             eejR        ekek          ed             eerek          eg             eejS        ek          eh             eejT        ek          ei           [k eejs        dE          dF             Zt eejs        dG          dH             Zu edIejs                  dJ             ZvdK ZwdL ZxdM Zyej1        ej!        fD ]AZz  eezdE          ew             eezdG          ex             edIez          ey           B eej.        ejs        ejs                   eej0        ejs        ejs                   ee.ejs        ejs                  dN                                     Z{dO Z|dP Z}dQ Z~ edR          ZdS ZdT ZdU ZdV ZdW ZdX Zejs        Zk  eejl        ekek          e|             eejm        ekek          e|             eejn        ekek          e}             eejo        ekek          e}             eejp        ekek          e~             eejq        ekek          e~             eej&        ekek          e             eej'        ekek          e             eejS        ek          e             eejT        ek          e             eejL        ekek          e             eejN        ekek          e             eerek          e           [k edYej                   edYej                  dZ                         Zd[ Z eeej                  d\             Z eeej!                  d]             Z eeej1                  d^             Z eeejs                  d_             Zej!        ej1        ejs        fD ]Zk  eej        ek          e             eej        ejM                  e            eej/        ej!                   eej/        ej1                   eej/        ejs                  d`                                     Z eej!        ej!                  da             Z eej!        ej                  db             Z eej1        ej1                  dc             Z eej!        ej1                  dd             Z eej1        ej!                  de             Z eej1        ejs                   eej!        ejs                  df                         Z eejs        ejs                  dg             Z eej        ej                  dh             Z eej        ej                  di             Z eej/        ej                   eej        ej                  dj                         Z eejs                  dk             Z eej!                   eej1                   eej                  dl                                     Zdm Z  eej1        dn          e             eej!        dn          e           dS )p    N)ir)Constant)lower_builtinlower_getattr
lower_castlower_constantimpl_ret_untracked)typingtypeserrorscgutils)overload_methodviewerc                     | j         rdgS g S )z;
    Return the modifier flags for integer arithmetic.
    nsw)signed)rettypes    Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cpython/new_numbers.py_int_arith_flagsr      s     ~ 
 w	    c                    |\  }}|j         \  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	t	          |j                            }
t          | ||j        |
          S N)flags)argscastreturn_typeaddr   r	   contextbuildersigr   vavbtatbabress              r   int_add_implr*   #       HRxHRWb"co66AWb"co66A
++a"23?"C"C+
D
DCgwEEEr   c                    |\  }}|j         \  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	t	          |j                            }
t          | ||j        |
          S r   )r   r   r   subr   r	   r   s              r   int_sub_implr.   ,   r+   r   c                    |\  }}|j         \  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	t	          |j                            }
t          | ||j        |
          S r   )r   r   r   mulr   r	   r   s              r   int_mul_implr1   5   r+   r   c           
      L   |j         |j         k    sJ |                     d          }|                     d          }t          j        ||          }t          j        ||          }|                    |                    d||                     |j                            |                    d||                     d                              }	|                    |                    |	          d          5  |                    ||          }
|	                    ||          }|                    d|
                    ||          |          }|                    d||          }|                    ||          }|                    |          5 \  }}|5  |                    |
|           |                    ||           d	d	d	           n# 1 swxY w Y   |5  |                    |                    |
|          |           |                    |                    ||          |           d	d	d	           n# 1 swxY w Y   d	d	d	           n# 1 swxY w Y   d	d	d	           n# 1 swxY w Y   |                    |          |                    |          fS )
a@  
    Reference Objects/intobject.c
    xdivy = x / y;
    xmody = (long)(x - (unsigned long)xdivy * y);
    /* If the signs of x and y differ, and the remainder is non-0,
     * C89 doesn't define whether xdivy is now the floor or the
     * ceiling of the infinitely precise quotient.  We want the floor,
     * and we have it iff the remainder's sign matches y's.
     */
    if (xmody && ((y ^ xmody) < 0) /* i.e. and signs differ */) {
        xmody += y;
        --xdivy;
        assert(xmody && ((y ^ xmody) >= 0));
    }
    *p_xdivy = xdivy;
    *p_xmody = xmody;
    r      ==Tlikely<!=N)typer   alloca_once_valueand_icmp_signedminvalif_thennot_sdivsremxorif_elsestorer-   r   load)r    r!   tyxyZEROONEresdivresmodis_overflowxdivyxmodyy_xor_xmody_ltzxmody_istruecondif_different_signsif_same_signss                    r   int_divmod_signedrV   >   sU   $ 6QV66!99D
&&))C &w55F&w55F,,D!QVVBI%6%677D!QVVBZZ002 2K 
k224	@	@ = = Q""Q""!--c7;;q%3H3H$OO**4==||L/::__T"" 	=&I'9= - -eV,,,eV,,,- - - - - - - - - - - - - - - $ = =gkk%55v>>>gkk%33V<<<= = = = = = = = = = = = = = =	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	== = = = = = = = = = = = = = =& <<f!5!555s   <BI1I-G	IGIGI"AI7III
III1I	I1!I	"I11I58I5c                     |j         rt          | ||||          S |                    ||          |                    ||          fS )zD
    Integer divmod(x, y).  The caller must ensure that y != 0.
    )r   rV   udivurem)r    r!   rG   rH   rI   s        r   
int_divmodrZ   w   sK     
y 6 '2q!<<<||Aq!!7<<1#5#555r   c           	      N   |\  }}|j         \  }}|j        }	t          |	t          j                  r|	j        }	|                     ||||	          }
|                     ||||	          }t          j        ||
j	        d          }t          j        ||
j	        d          }|
                    t          j        ||          d          5 \  }}|5  | j                            ||f          s,|                    ||           |                    ||           d d d            n# 1 swxY w Y   |5  t          | ||	|
|          \  }}|                    ||           |                    ||           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   ||fS )NquotnameremFr6   )r   r   
isinstancer   UniTupledtyper   r   alloca_oncer:   rD   is_scalar_zeroerror_modelfp_zero_divisionrE   rZ   )r    r!   r"   r   zerodiv_messager#   r$   r%   r&   rG   r'   r(   r\   r_   if_zeroif_non_zeroqrs                     r   _int_divmod_implrl      sh   FBXFB	B"en%% XWb"b))AWb"b))AwV<<<D

gqvE
:
:
:C	/;;E 
 
 "4w 	& 	&&77/+- - &
 a&&&a%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&  	" 	"gwAq99DAqMM!T"""MM!S!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"" " " " " " " " " " " " " " " 9s\   
FA	D%F%D)	)F,D)	-F2AF5FF	FF		FFFc                     t          | |||d          \  }}t          j        ||                    |          |                    |          f          S )Nzinteger divmod by zero)rl   r   
pack_arrayrF   r    r!   r"   r   r\   r_   s         r   int_divmod_implrp      s\     '3!9; ;ID# g&||D117<<3D3DEG G Gr   c                 X    t          | |||d          \  }}|                    |          S )Nzinteger division by zerorl   rF   ro   s         r   int_floordiv_implrs      s4     !'3!;= =ID#<<r   c                 ~   |\  }}|j         \  }}|                     ||||j                  }|                     ||||j                  }	t          j        ||	          5  | j                            |d           d d d            n# 1 swxY w Y   |                    ||	          }
t          | ||j        |
          S )Nzdivision by zero)	r   r   r   r   rh   re   rf   fdivr	   r   s              r   int_truediv_implrw      s    HRxHRWb"co66AWb"co66A	!	$	$ M M,,W6KLLLM M M M M M M M M M M M M M M
,,q!

CgwEEEs   BBBc                 X    t          | |||d          \  }}|                    |          S )Nzinteger modulo by zerorr   ro   s         r   int_rem_implry      s4     !'3!9; ;ID#<<r   c                 l    t          |t          j                  r| j        j        sd|j        dz
  z  S dS )Nr5   r3   F)r`   r   Integerre   raise_on_fp_zero_divisionbitwidth)r    r   s     r   _get_power_zerodiv_returnr~      s>    ;.. #= k*Q.//ur   c                     t          |j        d         t          j                  |j        t          |           fd}|                     ||||          }t          | ||j        |          S )z@
    a ^ b, where a is an integer or real, and b an integer
    r   c                 ^    d          } |           } |dk     r<d}| }|dk     rt           r'| dk    rrS t          d          | dk    r| dk    rdS nd}|}|dk    r"t          j        | t	          |                    S |dk    r|dz  r|| z  }|dz  }| | z  } |dk    |rd|z  n|S )	Nr3   r   T&0 cannot be raised to a negative powerr5   F         ?)OverflowErrorZeroDivisionErrormathpowfloat)r'   r(   rk   invertexp
is_integertpzerodiv_returns        r   	int_powerz!int_power_impl.<locals>.int_power   s   BqEEBqEEq55F"CQww## 66% Z--/0XYYY66a2gg1FC==8AuQxx(((QhhQw QAICFA	 Qhh !'sQwwa'r   )r`   r   r   r{   r   r~   compile_internalr	   )	r    r!   r"   r   r   r)   r   r   r   s	         @@@r   int_power_implr      s     CHQK77J	B.w;;N( ( ( ( ( ( (> 
"
"7IsD
A
ACgwEEEr   c                    |j         d         j        }t          |t          j                  st
          t          |          dk    rt
          |dk     }t          |          }|j        }t          |t          j	                  t          | |          |                     |d         |j         d         |          }|j        }fd}	 |d          }
|}|dk    r(|dz  r |	|
|          }
|dz  } |	||          }|dk    (|r7rfd}nd }|                     |t          j        ||          |
f          }
|
S )zH
    a ^ b, where a is an integer or real, and b a constant integer
    r3   r   r   c                 `    r                     | |          S                     | |          S N)r0   fmul)r'   r(   r!   r   s     r   r0   zstatic_power_impl.<locals>.mul  s3     	&;;q!$$$<<1%%%r   c                 V    | dk    rrS t          d          | dk    r| dk    rdS | S )Nr   r   r3   r5   )r   )r'   r   s    r   invert_implz&static_power_impl.<locals>.invert_impl$  sE    66% Z--/0XYYY66a2gg1Hr   c                     d| z  S )Nr    )r'   s    r   r   z&static_power_impl.<locals>.invert_impl1  s    Qwr   )r   valuer`   numbersIntegralNotImplementedErrorabsr   r   r{   r~   r   r:   r   r
   	signature)r    r!   r"   r   r   r   r   valltyr0   r)   r'   r   r   r   s    `           @@r   static_power_implr      s    (1+
Cc7+,, "!!
3xx'!!1WF
c((C	BB..J.w;;N
,,wQ!b
9
9C
(C& & & & & & #a&&CA
((7 	 #c3--C	c#smm	 ((  I 		 	 	 	 	 	   &&w'-'7B'?'?#I I Jr   c                 L     |j         dg|R  }t          | ||j        |          S Nr8   r=   r	   r   r    r!   r"   r   r)   s        r   int_slt_implr   :  2    
'
c
)D
)
)
)CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S Nz<=r   r   s        r   int_sle_implr   ?  2    
'
d
*T
*
*
*CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S N>r   r   s        r   int_sgt_implr   D  r   r   c                 L     |j         dg|R  }t          | ||j        |          S Nz>=r   r   s        r   int_sge_implr   I  r   r   c                 L     |j         dg|R  }t          | ||j        |          S r   icmp_unsignedr	   r   r   s        r   int_ult_implr   N  2    
'

+d
+
+
+CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S r   r   r   s        r   int_ule_implr   S  2    
'

,t
,
,
,CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S r   r   r   s        r   int_ugt_implr   X  r   r   c                 L     |j         dg|R  }t          | ||j        |          S r   r   r   s        r   int_uge_implr   ]  r   r   c                 L     |j         dg|R  }t          | ||j        |          S Nr4   r   r   s        r   int_eq_implr   b  r   r   c                 L     |j         dg|R  }t          | ||j        |          S Nr9   r   r   s        r   int_ne_implr   g  r   r   c                       fd}|S )Nc                 @   |\  }}|                     d|t          |j        d                    }|                     
|t          |j        d                    }|                    
||          }|                    |||          }	t          | ||j        |	          S Nr8   r   r=   r   r:   r   selectr	   r   r    r!   r"   r   leftrightcmp_zerolt_zeroge_zeror)   ops             r   implz%int_signed_unsigned_cmp.<locals>.implm  s    u &&sD(49a2H2HII%%b$A0F0FGG''D%88nnXw88!'7COSIIIr   r   r   r   s   ` r   int_signed_unsigned_cmpr   l  s(    J J J J J  Kr   c                       fd}|S )Nc                 @   |\  }}|                     d|t          |j        d                    }|                     
t          |j        d          |          }|                    
||          }|                    |||          }	t          | ||j        |	          S r   r   r   s             r   r   z%int_unsigned_signed_cmp.<locals>.impl  s    u&&sE8EJ3J3JKK%%b(5:q*A*A5II''D%88nnXw88!'7COSIIIr   r   r   s   ` r   int_unsigned_signed_cmpr     s(    J J J J J Kr   c                     |\  }t          |j        d           }|                    d||          }|                    |          }|                    |||          }t          | ||j        |          S r   )r   r:   r=   negr   r	   r   )	r    r!   r"   r   rH   rJ   ltznegatedr)   s	            r   int_abs_implr     sk    
CQAFD!!D


c1d
+
+Ckk!nnG
..gq
)
)CgwEEEr   c                 8    |\  }t          | ||j        |          S r   r	   r   )r    r!   r"   r   rH   s        r   uint_abs_implr     s    
CQgwCCCr   c                     |j         \  }}|\  }}|                     ||||j                  }|                     ||||j                  }|                    ||          }t	          | ||j        |          S r   )r   r   r   shlr	   	r    r!   r"   r   valtyamttyr   amtr)   s	            r   int_shl_implr     sq    XNUEJS#
,,wUCO
<
<C
,,wUCO
<
<C
++c3

CgwEEEr   c                 4   |j         \  }}|\  }}|                     ||||j                  }|                     ||||j                  }|j        j        r|                    ||          }n|                    ||          }t          | ||j        |          S r   )r   r   r   r   ashrlshrr	   r   s	            r   int_shr_implr     s    XNUEJS#
,,wUCO
<
<C
,,wUCO
<
<C
 %ll3$$ll3$$gwEEEr   c                     |j         \  }}|\  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	          }
t	          | ||j        |
          S r   )r   r   r   r<   r	   r    r!   r"   r   atbtavbvcavcbcr)   s              r   int_and_implr     sq    xHRHR
,,wB
8
8C
,,wB
8
8C
,,sC
 
 CgwEEEr   c                     |j         \  }}|\  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	          }
t	          | ||j        |
          S r   )r   r   r   or_r	   r   s              r   int_or_implr     q    xHRHR
,,wB
8
8C
,,wB
8
8C
++c3

CgwEEEr   c                     |j         \  }}|\  }}|                     ||||j                  }|                     ||||j                  }	|                    ||	          }
t	          | ||j        |
          S r   )r   r   r   rC   r	   r   s              r   int_xor_implr     r   r   c                     |j         \  }|\  }|                    |          }|                     ||||j                  }t	          | ||j        |          S r   )r   r   r   r   r	   r    r!   r"   r   typr   r)   s          r   int_negate_implr     sR    HESES
++c

C
,,wS#/
:
:CgwEEEr   c                     |j         \  }|\  }|                     ||||j                  }t          | ||j        |          S r   r   r   r   r	   r   s          r   int_positive_implr     A    HESES
,,wS#/
:
:CgwEEEr   c           
         |j         \  }|\  }|                    |t          |j        t	          d|j        j        z  d                              }|                     ||||j                  }t          | ||j        |          S )N1   )	r   rC   r   r:   intwidthr   r   r	   r   s          r   int_invert_implr    ss    HESES
++c8CHc#2F.J.JKK
L
LC
,,wS#/
:
:CgwEEEr   c                 2   |\  }t          |j        d          }t          |j        d          }t          |j        d          }|                    d||          }|                    d||          }	t	          j        ||j                  }
|                    d          }|                    d          }|                    d          }|                    d	          }|                    d
          }|                    |||           |                    |          5  |	                    ||
           |
                    |           ddd           n# 1 swxY w Y   |                    |          5  |                    |	||           ddd           n# 1 swxY w Y   |                    |          5  |	                    ||
           |
                    |           ddd           n# 1 swxY w Y   |                    |          5  |	                    ||
           |
                    |           ddd           n# 1 swxY w Y   |                    |           |                    |
          }t          | ||j        |          S )z
    np.sign(int)
    r3   r5   r   r4   r   z.zeroz.postestz.posz.negz.exitN)r   r:   r   r=   r   rc   append_basic_blockcbranch
goto_blockrE   branchposition_at_endrF   r	   r   )r    r!   r"   r   rH   POSNEGrJ   r   cmp_pospresultbb_zero
bb_postestbb_posbb_negbb_exitr)   s                    r   int_sign_implr    sd    CQ
161

C
162

CAFAD$$T1d33H!!#q$//G!'1622G((11G++J77J''//F''//F((11GOOHgz222			G	$	$    dG$$$w                              
		J	'	' 1 10001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
		F	#	#    c7###w                              
		F	#	#    c7###w                              G$$$
,,w

CgwEEEsH   !,EE E9FF!$F!=,G55G9<G9,IIIc                     |j         \  }|\  }|                     ||||j                  }|                    |          }t	          | ||j        |          S r   )r   r   r   r   r	   r   s          r   bool_negate_implr    sR    HESES
,,wS#/
:
:C
++c

CgwEEEr   c                     |j         \  }|\  }|                     ||||j                  }t          | ||j        |          S r   r   r   s          r   bool_unary_positive_implr    r   r   c                  T   t           j        }  t          t          j        | |           t
                      t          t          j        | |           t
                      t          t          j        | |           t                      t          t          j	        | |           t                      t          t          j
        | |           t                      t          t          j        | |           t                      t          t          j        | |           t                      t          t          j        | |           t                       t          t          j        | |           t$                      t          t          j        | |           t$                      t          t          j        | |           t*                      t          t          j        | |           t*                      t          t          j        |           t0                      t          t          j        |           t4                      t          t          j        | |           t8                      t          t          j        | |           t8                      t          t6          | |           t8                     t           j        D ]^}  t          t          j        | |           t@                      t          t          j!        | |           tD                      t          t          j#        | |           tH                      t          t          j%        | |           tL                      t          t          j        t           j'        |           t8                      t          t          j        t           j'        |           t8                      t          t6          t           j'        |           t8                      t          tP          |           tR                     ` t          t          j        t           j*        t           j*                  tV                      t          t          j#        t           j*        t           j*                  tV                      t          t          j!        t           j*        t           j*                  tV                      t          t          j%        t           j*        t           j*                  tV                     tY          j-        t           j.        t           j/                  D ]^}  t          t          j        | |           tV                      t          t          j!        | |           t`                      t          t          j#        | |           tb                      t          t          j%        | |           td                      t          t          j        t           j'        |           t8                      t          t          j        t           j'        |           t8                      t          t6          t           j'        |           t8                      t          tP          |           tf                     `d S r   )4r   r{   r   operatorr   r*   iaddr-   r.   isubr0   r1   imuleqr   ner   lshiftr   ilshiftrshiftr   irshiftr   r   posr   r   r   ipownp_unsigned_domainltr   ler   gtr   ger   Floatr   r   IntegerLiteralr   	itertoolschainpy_signed_domainnp_signed_domainr   r   r   r   rG   s    r   _implement_integer_operatorsr4  &  s   	B'M(,B''555(M(-R((666'M(,B''555(M(-R((666'M(,B''555(M(-R((666&M(+r2&&{333&M(+r2&&{333*M(/2r**<888+M("B++L999*M(/2r**<888+M("B++L999#M(,##O444#M(,##$5666'M(,B''777(M(-R((888M#r2~...& . .*hk2r**<888*hk2r**<888*hk2r**<888*hk2r**<8884hlEK44^DDD5hmU["55nEEE+c5;++N;;;c2}----JM(+u3U5IJJ<XXXJM(+u3U5IJJ<XXXJM(+u3U5IJJ<XXXJM(+u3U5IJJ<XXXoe4#46 6 	- 	-*hk2r**<888*hk2r**<888*hk2r**<888*hk2r**<8884hlEK44^DDD5hmU["55nEEE+c5;++N;;;c2|,,,,	- 	-r   c                  |   t           j        t           j        fD ]!}  t          t          j        | |           t                      t          t          j        | |           t                      t          t          j        | |           t                      t          t          j
        | |           t                      t          t          j        | |           t                      t          t          j        | |           t                      t          t          j        |           t                     #d S r   )r   Booleanr{   r   r  r<   r   iandr   r   iorrC   r   ixorr   r  r3  s    r   _implement_bitwise_operatorsr:  W  s    }em, < <,hmR,,\:::,hmR,,\:::+hlB++K888+hlB++K888+hlB++L999,hmR,,\:::*hor**?;;;;< <r   c                 D     |j         | }t          | ||j        |          S r   )faddr	   r   r   s        r   real_add_implr=  g  &    
',
CgwEEEr   c                 D     |j         | }t          | ||j        |          S r   )fsubr	   r   r   s        r   real_sub_implrA  l  r>  r   c                 D     |j         | }t          | ||j        |          S r   )r   r	   r   r   s        r   real_mul_implrC  q  r>  r   c                     t          j        ||d                   5  | j                            |d           d d d            n# 1 swxY w Y    |j        | }t          | ||j        |          S )Nr3   ru   )r   rh   re   rf   rv   r	   r   r   s        r   real_div_implrE  v  s    	$q'	*	* M M,,W6KLLLM M M M M M M M M M M M M M M
',
CgwEEEs   AAAc                    |j         |j         k    sJ |j         }|j        }|                     d|j         g          }t          j        |||t          j        |          f          }t          j        |||          }|j        ryd|_	        t          j
        |                    d                    }	|j        \  }
}}t          | |	|
|          \  }}|	                    ||           |	                    |           t          j        ||          }|                    ||||f          }||                    |          fS )Nz.numba.python.remlinkonce_odrentry)r:   modulemanglerr   FunctionTypePointerTyper   get_or_insert_functionis_declarationlinkage	IRBuilderr  r   real_divmod_func_bodyrE   retrc   callrF   )r    r!   rH   rI   floattyrI  fnamefntyfn	fnbuilderfxfypmoddivmodquotients                   r   real_divmodr_  }  s.   6QVfG^FOO/!&::E?7Wgr~g7N7N$OPPD		'e	<	<B	 #
L!6!6w!?!?@@	wB()RDDST"""cw00D||BAt--HW\\$''''r   c           	       	   t          j        ||j                  }t          j        ||j                  }t          j        ||j                  }|                    ||          }|                    |                    ||          |          }|                    ||           |                    ||           |                    d          }	|                    d          }
|                    d          }|                    d||	          }|                    d||	          }|                    d||	          }|	                    |d          5 \  }}|5  |
                    d||          }|                    |          5  |                    |                    ||          |           |                    |                    ||          |           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |5  |                    ||
|	          }|                    ||           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   ~~|                    |          }|                    d||	          }|                    |          5  t          j        t          j        d}|t%          |j                           }|                     t(          j        t-          j        ||                    } |||g          }|                    ||          }|                    ||          }t1          |j        d	          }|                    d
||          }|                    |||          }|                    ||           d d d            n# 1 swxY w Y   t          j        ||          5  |                    ||          }|                    ||           |                    |                    ||          |          }|                    ||           d d d            n# 1 swxY w Y   |                    |          |                    |          fS )N        g       r   r9   r8   Tr6   )r   doubleg      ?r   )r   rc   r:   fremrv   r@  rE   fcmp_unorderedfcmp_orderedrD   r   r?   r<  r   rF   r   float32float64strget_functionr   floorr
   r   r   ifnotr   )r    r!   vxwxr[  pdiv	pfloordivr]  r\  rJ   NZEROrK   
mod_istruewx_ltzmod_ltzif_nonzero_modif_zero_modwx_ltz_ne_mod_ltz
div_istruerealtypemaprealtypefloorfnfloordivfloordivdifffloordivincrHALFpreds                              r   rQ  rQ    s   \ w00Dw00D#GRW55I
,,r2

C
,,w||B,,b
1
1CMM#tMM#t 773<<DGGDMME
''#,,C''c488J!!#r400F""3T22G	D	1	1 %5Rnk 	; 	; !( 5 5dFG L L!233 ; ;gll344d;;;gll333T:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;  	% 	% ..55CMM#t$$$		% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%% % % % % % % % % % % % % % %  	S
,,t

C%%dC66J		$	$ + + %!&0 0s27||,&&tz'-'7('K'KM M77SE**||C22||Hc22%%##Ct<<>>$h??h	***+ + + + + + + + + + + + + + + 
w
	+	+ + +ll3$$c4   <<S" 5 5r::h	***	+ + + + + + + + + + + + + + + <<	""GLL$6$666s   I-H	AG*H*G..H1G.2H5IH	IH		I.I<II	II	II#&I#-C9N22N69N6A-QQQc                 R   |\  }}t          j        ||j        d          }t          j        ||j        d          }|                    t          j        ||          d          5 \  }	}
|	5  | j                            |d|          sX|                    ||          }|                    ||          }|	                    ||           |	                    ||           d d d            n# 1 swxY w Y   |
5  t          | |||          \  }}|	                    ||           |	                    ||           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        ||                    |          |                    |          f          S )Nr\   r]   r_   Fr6   zmodulo by zero)r   rc   r:   rD   rd   re   rf   rv   rc  rE   r_  rn   rF   )r    r!   r"   r   locrH   rI   r\   r_   rh   ri   rj   rk   s                r   real_divmod_implr    sa   DAqwV<<<D

gqvE
:
:
:C	/;;E 
 
 "4w 	& 	&&77,c3 3 & LLA&&LLA&&a&&&a%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&  	" 	"wA66DAqMM!T"""MM!S!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"" " " " " " " " " " " " " " "  g&||D117<<3D3DEG G Gs\   (E!.A5C/#E!/C3	3E!6C3	7E!<AE
>E!
E	E!E	E!!E%(E%c                 l   |\  }}t          j        ||j                  }|                    t          j        ||          d          5 \  }}	|5  | j                            |d|          s,|                    ||          }
|                    |
|           d d d            n# 1 swxY w Y   |	5  t          | |||          \  }}
|                    |
|           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | ||j        |                    |                    S )NFr6   r  )r   rc   r:   rD   rd   re   rf   rc  rE   r_  r	   r   rF   )r    r!   r"   r   r  rH   rI   r)   rh   ri   r_   _s               r   real_mod_implr    s   DAq

gqv
.
.C	/;;E 
 
 $4w 	( 	(&77,c3 3 ( ll1a((c3'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(  	$ 	$ '1a88FAsMM#s###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ gw%ll3//1 1 1[   
DA	B%D%B)	)D,B)	-D2,C*D*C.	.D1C.	2DDDc                 l   |\  }}t          j        ||j                  }|                    t          j        ||          d          5 \  }}	|5  | j                            |d|          s,|                    ||          }
|                    |
|           d d d            n# 1 swxY w Y   |	5  t          | |||          \  }
}|                    |
|           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          | ||j        |                    |                    S )NFr6   ru   )r   rc   r:   rD   rd   re   rf   rv   rE   r_  r	   r   rF   )r    r!   r"   r   r  rH   rI   r)   rh   ri   r\   r  s               r   real_floordiv_implr  ,  s   DAq

gqv
.
.C	/;;E 
 
 %4w 	) 	)&77.5 5 ) ||Aq))dC(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)  	% 	%!'7Aq99GD!MM$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%% % % % % % % % % % % % % % % gw%ll3//1 1 1r  c                    |\  }}|j         }| j        r-|                     t          j        |          } |||          }n4|                    d|j        g          }	|                    |	||f          }t          | ||j	        |          S )Nzllvm.pow)
rI  implement_powi_as_math_callri  r   r   declare_intrinsicr:   rS  r	   r   )
r    r!   r"   r   rH   rI   rI  impr)   rW  s
             r   real_power_implr  ?  s    DAq^F* '""48S11c'4  %%j16(;;ll21v&&gwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S r   re  r	   r   r   s        r   real_lt_implr  K  2    
'
s
*T
*
*
*CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S r   r  r   s        r   real_le_implr  P  2    
'
t
+d
+
+
+CgwEEEr   c                 L     |j         dg|R  }t          | ||j        |          S r   r  r   s        r   real_gt_implr  U  r  r   c                 L     |j         dg|R  }t          | ||j        |          S r   r  r   s        r   real_ge_implr  Z  r  r   c                 L     |j         dg|R  }t          | ||j        |          S r   r  r   s        r   real_eq_implr  _  r  r   c                 L     |j         dg|R  }t          | ||j        |          S r   )rd  r	   r   r   s        r   real_ne_implr  d  s2    
 '
 
-
-
-
-CgwEEEr   c                     |j         \  }t          j        ||          }|                     t          j        |          } |||          S r   )r   r
   r   ri  r   fabs)r    r!   r"   r   rG   r   s         r   real_abs_implr  i  sF    8DR

2r
"
"C	3//D4r   c                 t    ddl m} |                    ||d                   }t          | ||j        |          S Nr   mathimpl)numba.cpythonr  negate_realr	   r   )r    r!   r"   r   r  r)   s         r   real_negate_implr  p  sC    &&&&&&


wQ
0
0CgwEEEr   c                     |j         \  }|\  }|                     ||||j                  }t          | ||j        |          S r   r   r   s          r   real_positive_implr  v  r   r   c           	         |\  }t          |j        d          }t          |j        d          }t          |j        d          }t          j        ||j                  }|                    d||          }	|                    d||          }
|                    |	          5 \  }}|5  |                    ||           ddd           n# 1 swxY w Y   |5  |                    |
          5 \  }}|5  |                    ||           ddd           n# 1 swxY w Y   |5  |                    ||           ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   |                    |          }t          | ||j	        |          S )z
    np.sign(float)
    r3   r5   r   r   r8   N)
r   r:   r   rc   re  rD   rE   rF   r	   r   )r    r!   r"   r   rH   r  r  rJ   r  is_posis_neggt_zeronot_gt_zeror   not_lt_zeror)   s                   r   real_sign_implr  }  s%    CQ
161

C
162

CAFAD!'1622G!!#q$//F!!#q$//F		 	  
.$:Wk 	( 	(MM#w'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	. 	.(( .,BWk 0 0MM#w///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  . . MM!W---. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. ,,w

CgwEEEs   !F'C
>F
C	FC	FE4-E3D	
EDEDE#E	:EE

EE
EE4E!!E4$E!%E4(F4E8	8F;E8	<FFFrealc                 d    |                      |||          }|j        }t          | |||          S Nr   )make_complexr  r	   r    r!   r   r   cplxr)   s         r   complex_real_implr    7    E::D
)CgwS999r   imagc                 d    |                      |||          }|j        }t          | |||          S r  )r  r  r	   r  s         r   complex_imag_implr    r  r   zcomplex.conjugatec                     ddl m} |                     ||j        d         |d                   }|                    ||j                  |_        |                                }t          | ||j        |          S r  )	r  r  r  r   r  r  	_getvaluer	   r   )r    r!   r"   r   r  zr)   s          r   complex_conjugate_implr    sq    &&&&&&Wchqk47;;A!!'1622AF
++--CgwEEEr   c                 &    t          | |||          S r   )r	   )r    r!   r   r   s       r   real_real_implr    s    gwU;;;r   c                 X    t          j        |j                  }t          | |||          S r   )r   get_null_valuer:   r	   )r    r!   r   r   r)   s        r   real_imag_implr    s(    

 
,
,CgwS999r   c                 <    t          | ||j        |d                   S Nr   r   r    r!   r"   r   s       r   real_conjugate_implr    s    gwaIIIr   c           	         |\  }}|j         d         }|j        }|                     |||          }|                     |||          }	|                     ||          }
|j        }|                                }|	                                }|
                                }|                     |d          }|                     |d          }|                    d|	j        |          }|                    d|	j        |          }|	                    ||          }|
                    |          5 \  }}|5  t          | ||||f          }|                     |||          }|j        |
_        |j        |
_        d d d            n# 1 swxY w Y   |5  t          j        dt          j        di|         }t          j        t          j                    |j        gdz            }t'          j        |||          }|                    ||||f           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |                    |          }t/          | ||j        |          S )Nr   r  r  r4   numba_cpowf
numba_cpow   )r   underlying_floatmake_helperrI  _getpointerget_constantre  r  r  r<   rD   complex_mul_implr   	complex64
complex128r   rK  VoidTyper:   r   rM  rS  rF   r	   r   )r    r!   r"   r   cacbrG   ftyr'   r(   crI  papbpcTWOrJ   b_real_is_twob_imag_is_zerob_is_twothen	otherwiser)   cres	func_namerV  cpows                              r   complex_power_implr    s    HR	!B

CGRr22AGRr22AGR((A^F	
B	
B	
B 

sA
&
&CQ''D((qvs;;M))$==N||M>::H		"	" -&7tY 	 	"7GS2r(CCC&&w#&>>DYAFYAF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  	- 	-  , I ?2;==27)a-@@D1&$	JJDLLB|,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-- - - - - - - - - - - - - - -$ ,,r

CgwEEEs\   2H88AF	=H8	F	H8F	H8A?H!H8!H%	%H8(H%	)H88H<?H<c                    |\  }}|j         d         }|                     |||          }|                     |||          }|                     ||          }	|j        }
|j        }|j        }|j        }|                    |
|          |	_        |                    ||          |	_        |	                                }t          | ||j        |          S Nr   r  )r   r  r  r  r<  r  r	   r   r    r!   r"   r   cxcyrG   rH   rI   r  r'   r(   r  dr)   s                  r   complex_add_implr        HR	!BWb33AWb33AWb))A	A	A	A	A\\!QAF\\!QAF
++--CgwEEEr   c                    |\  }}|j         d         }|                     |||          }|                     |||          }|                     ||          }	|j        }
|j        }|j        }|j        }|                    |
|          |	_        |                    ||          |	_        |	                                }t          | ||j        |          S r  )r   r  r  r  r@  r  r	   r   r  s                  r   complex_sub_implr    r  r   c                 \   |\  }}|j         d         }|                     |||          }|                     |||          }|                     ||          }	|j        }
|j        }|j        }|j        }|                    |
|          }|                    ||          }|                    |
|          }|                    ||          }|                    ||          |	_        |                    ||          |	_        |	                                }t          | ||j	        |          S )z'
    (a+bi)(c+di)=(ac-bd)+i(ad+bc)
    r   r  )
r   r  r  r  r   r@  r<  r  r	   r   )r    r!   r"   r   r  r  rG   rH   rI   r  r'   r(   r  r  acbdadbcr)   s                      r   r  r  ,  s    HR	!BWb33AWb33AWb))A	A	A	A	A	a		B	a		B	a		B	a		B\\"b!!AF\\"b!!AF
++--CgwEEEr   nanc                 f    d }|                      ||||          }t          | ||j        |          S )Nc                    | j         }| j        }|j         }|j        }|s|st          d          t          |          t          |          k    rK|st	          t
          t
                    S ||z  }|||z  z   }t	          |||z  z   |z  |||z  z
  |z            S |st	          t
          t
                    S ||z  }||z  |z   }t	          | j         |z  | j        z   |z  | j        |z  | j         z
  |z            S )Nzcomplex division by zero)r  r  r   r   complexNAN)r'   r(   arealaimagbrealbimagratiodenoms           r   complex_divz%complex_div_impl.<locals>.complex_divF  s%    	@U 	@#$>???u::U## )sC(((EMEEEM)E&%/&%/1 1 1
  )sC(((EMEEME)E%!&(E1%!&(E13 3 3r   r   r	   r   )r    r!   r"   r   r  r)   s         r   complex_div_implr  E  sB    3 3 36 
"
"7Kd
C
CCgwEEEr   c                 Z   ddl m} |j        \  }|\  }|                     |||          }|                     ||          }|                    ||j                  |_        |                    ||j                  |_        |                                }t          | ||j	        |          S )Nr   r  r  )
r  r  r   r  r  r  r  r  r	   r   )	r    r!   r"   r   r  r   r   cmplxr)   s	            r   complex_negate_implr  e  s    &&&&&&HESES  #S 99E


w
,
,C##GUZ88CH##GUZ88CH
--//CgwEEEr   c                 8    |\  }t          | ||j        |          S r   r   r    r!   r"   r   r   s        r   complex_positive_implr	  q  s    ESgwEEEr   c                 d   |\  }}|j         d         }|                     |||          }|                     |||          }|                    d|j        |j                  }	|                    d|j        |j                  }
|                    |	|
          }t          | ||j        |          S )Nr   r  r4   )r   r  re  r  r  r<   r	   r   )r    r!   r"   r   r  r  r   rH   rI   reals_are_eqimags_are_eqr)   s               r   complex_eq_implr  v  s    HR
(1+CWc44AWc44A''afaf==L''afaf==L
,,|\
2
2CgwEEEr   c                 d   |\  }}|j         d         }|                     |||          }|                     |||          }|                    d|j        |j                  }	|                    d|j        |j                  }
|                    |	|
          }t          | ||j        |          S )Nr   r  r9   )r   r  rd  r  r  r   r	   r   )r    r!   r"   r   r  r  r   rH   rI   reals_are_neimags_are_ner)   s               r   complex_ne_implr    s    HR
(1+CWc44AWc44A))$??L))$??L
++lL
1
1CgwEEEr   c                 f    d }|                      ||||          }t          | ||j        |          S )z)
    abs(z) := hypot(z.real, z.imag)
    c                 @    t          j        | j        | j                  S r   )r   hypotr  r  )r  s    r   complex_absz%complex_abs_impl.<locals>.complex_abs  s    z!&!&)))r   r  )r    r!   r"   r   r  r)   s         r   complex_abs_implr    sB    * * * 
"
"7Kd
C
CCgwEEEr   znumber.itemc                     |d         S )z;
    The no-op .item() method on booleans and numbers.
    r   r   r  s       r   number_item_implr    s     7Nr   c                     |j         \  }|\  }|                     ||||j                  }|                    |          }t	          | ||j        |          S r   )r   r   r   r@   r	   )r    r!   r"   r   r   r   istruer)   s           r   number_not_implr    sR    HESES\\'3S_==F
,,v

CgwEEEr   c                     |\  }|S r   r   r  s        r   bool_as_boolr    s    ESJr   c                 ^    |\  }|                     d|t          |j        d                    S )Nr9   r   )r   r   r:   r  s        r   int_as_boolr    s-    ES  sHSXq,A,ABBBr   c                 ^    |\  }|                     d|t          |j        d                    S )Nr9   ra  )rd  r   r:   r  s        r   float_as_boolr!    s-    ES!!$Xch-D-DEEEr   c                    |j         \  }|\  }|                     |||          }|j        |j        }}t	          |j        d          }	|                    d||	          }
|                    d||	          }|                    |
|          S )Nra  r9   )r   r  r  r  r   r:   rd  r   )r    r!   r"   r   r   r   r  r  r  zeroreal_istrueimag_istrues               r   complex_as_boolr&    s    HESES  #s33EUZ$DDIs##D((tT::K((tT::K;;{K000r   c                 ~    |                      ||j        |j                  }|                     |||j        |          S r   )get_constant_genericliteral_typeliteral_valuer   r    r!   fromtytotyr   lits         r   literal_int_to_numberr/    sE     
&
&
 
C
 <<f&94@@@r   c                 J   |j         |j         k    r|S |j         |j         k     r)|                    ||                     |                    S |j        r)|                    ||                     |                    S |                    ||                     |                    S r   )r}   truncget_value_typer   sextzextr    r!   r,  r-  r   s        r   integer_to_integerr6    s    }''
		(	(}}S'"8"8">">???	 ?||C!7!7!=!=>>> ||C!7!7!=!=>>>r   c                 T    |                     ||                     |                    S r   )inttoptrr2  r5  s        r   integer_to_voidptrr9    s&    C!7!7!=!=>>>r   c                     |                      |          }|j        |j        k     r|                    ||          S |                    ||          S r   )r2  r}   fpextfptruncr    r!   r,  r-  r   r   s         r   float_to_floatr>  	  sL    

 
 
&
&C&&}}S#&&&sC(((r   c                     |                      |          }|j        r|                    ||          S |                    ||          S r   )r2  r   sitofpuitofpr=  s         r   integer_to_floatrB    sG    

 
 
&
&C} (~~c3'''~~c3'''r   c                     |                      |          }|j        r|                    ||          S |                    ||          S r   )r2  r   fptosifptouir=  s         r   float_to_integerrF    sG    

 
 
&
&C{ (~~c3'''~~c3'''r   c                     |                      ||||j                  }|                     |j        d          }|                     ||          }||_        ||_        |                                S r  )r   r  r  r  r  r  r  )r    r!   r,  r-  r   r  r  r  s           r   non_complex_to_complexrH  !  si     <<fd.CDDD 5q99D  $//EEJEJ??r   c                 *   |j         }|j         }|                     |||          }|                     ||          }|                     ||j        ||          |_        |                     ||j        ||          |_        |                                S r  )r  r  r   r  r  r  )	r    r!   r,  r-  r   srctydsttysrcdsts	            r   complex_to_complexrN  ,  s    #E!E


wc

:
:C


w
-
-C||GSXue<<CH||GSXue<<CH==??r   c                 0    |                      |||          S r   )is_truer5  s        r   any_to_booleanrQ  7  s    ??7FC000r   c                     |                     |t          j        d                    }|                     ||t          j        |          S )N    )r4  r   IntTyper   r   int32)r    r!   r,  r-  r   asints         r   boolean_to_anyrW  ;  s9     LLbjnn--E<<T:::r   c                 |    |                      ||j        |j                  }|                     ||j        |          S r   )r(  r)  r*  rP  r+  s         r   literal_int_to_booleanrY  A  sC     
&
&
 
C
 ??7F$7===r   c                     |j         }|                     |||j                  }|                     |||j                  }t	          j        ||f          S r   )r  r(  r  r  r   literal_struct)r    r!   rG   pyvalr  r  r  s          r   constant_complexr]  N  sQ    

C''ejAAD''ejAAD"D$<000r   c                     t          |t          j                  rt          |          }|                     |          } ||          S r   )r`   npbool_boolr2  )r    r!   rG   r\  r   s        r   constant_integerrb  U  sD     %"" U

 
 
$
$C3u::r   c                     t          | t          j        t          j        f          rMt          |t          j        j                  r0| j        |j        j        k    rt          j	        d          d }|S dS dS )z) Typing for the np scalar 'view' method. zOChanging the dtype of a 0d array is only supported if the itemsize is unchangedc                 "    t          | |          S r   r   )scalarviewtys     r   r   zscalar_view.<locals>.implo  s    &&)))r   N)
r`   r   r-  r{   abstract	DTypeSpecr}   rb   r   TypingError)re  rf  r   s      r   scalar_viewrj  f  s    6EK788 	65>#;<<	?fl333$() ) )	* 	* 	*	 	 	 	r   viewr   )r   r   r/  numpyr_  r  llvmliter   llvmlite.irr   numba.core.imputilsr   r   r   r   r	   
numba.corer
   r   r   r   numba.core.extendingr   numba.cpython.unsafe.numbersr   r   r*   r.   r1   rV   rZ   rl   divmodr{   rp   r{  	ifloordivrs   truedivitruedivrw   r]  imodry   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  r   py_boolr!  r)  r*  r+  r,  r   r&  r4  r:  r=  rA  rC  rE  r_  rQ  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rG   r   r  r-   r  r0   r  r   Complexr  r  r  r  r  r  clsr  r  r  r  r   r  r  r  r	  r  r  r  r6  Numberr  r  ra  r  r  r!  r&  r@   r/  r6  voidptrr9  r>  rB  rF  rH  rN  AnyrQ  rW  BooleanLiteralrY  r]  rb  rj  r   r   r   <module>r     sv                               5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 / / / / / /  "F F FF F FF F F66 66 66r6 6 6  < vu}em44G G 54G x %-??x!5=%-@@  A@ @? x>>x %-??F F @? ?>F x|U]EM::x}emU];;  <; ;:  (F (F (FV x|U]E,@AAx}emU-ABBx|U[%*>??x}ek5+?@@: : A@ @? CB BA:zF F F
F F F
F F F
F F F
F F F
F F F
F F F
F F F
F F F
F F F
  (	 	 	F F FD D D
F F F	F 	F 	FF F FF F FF F FF F FF F FF F F'F 'F 'FTF F FF F F 9hk5=%- 8 8 E E E 8hk5=%- 8 8 E E E 8hk5=%- 8 8 F F F 8hk5=%- 8 8 F F F 8hk5=%- 8 8 F F F 8hk5=%- 8 8 F F F *hlEM * *+; < < < *hlEM * *+C D D D/- /- /-b	< 	< 	<          F F F
F F F
F F F
F F F( ( (,i7 i7 i7X vu{EK00G G G 10G21 1 1 1&1 1 1 1&	F 	F 	FF F F
F F F
F F F
F F F
F F F
F F F
  F F FF F FF F F< [ #hlB # #M 2 2 2 $hmR $ $] 3 3 3 #hlB # #M 2 2 2 $hmR $ $] 3 3 3 #hlB # #M 2 2 2 $hmR $ $] 3 3 3 (hR ( (); < < < )h "b ) )*< = = = 'hB ' ' 6 6 6 (hR ( ( 7 7 7 #hlB # #M 2 2 2 $hmR $ $] 3 3 3 #hlB # #O 4 4 4 $hmR $ $_ 5 5 5 c2r  ? + + + "hk2r " "< 0 0 0 "hk2r " "< 0 0 0 "hk2r " "< 0 0 0 "hk2r " "< 0 0 0 "hk2r " "< 0 0 0 "hk2r " "< 0 0 0 c2  } % % % hlB   0 1 1 1 hlB   2 3 3 3 u}f%%: : &%:
 u}f%%: : &%:
 "EM22F F 32F< < <: : :J J J K' A ACMM#v~...MM#v~...+MM%s++,?@@@@ x|U]EM::x}emU];;sEM5=11'F 'F 21 <; ;:'FRF F F F F F F F F. eEllF F F@	F 	F 	FF F F
	F 	F 	F	F 	F 	FF F F ] #hlB # #$4 5 5 5 $hmR $ $%5 6 6 6 #hlB # #$4 5 5 5 $hmR $ $%5 6 6 6 #hlB # #$4 5 5 5 $hmR $ $%5 6 6 6 'hB ' '(8 9 9 9 (hR ( ()9 : : : hlB   3 4 4 4 hlB   5 6 6 6 #hk2r " "? 3 3 3 "hk2r " "? 3 3 3 c2  ' ( ( ( }em,,}el++  ,+ -,F F F tU]##  $# tU]##C C $#C tU[!!F F "!F tU]##1 1 $#1 =%+u}
5 6 6B$MM(-$$_5555 ,hmU] + +O < < < E %-00E %+..E %-00A A 10 /. 10A EM5=))? ? *)? EM5=))? ? *)? EK%%) ) &%) EM5;''( ( ('( EK''( ( ('( EK''EM5=))  *) (' EM5=))  *) EIu}%%1 1 &%1 EM5<((; ; )(;
 E %-00E %-00> > 10 10> 1 1 1        %V $ $[ 1 1 1 &v & &{ 3 3 3 3 3r   