ó
    ýZhæR ã            	       ó*&  • S r SSKrSSKJr  SSKrSSKrSSKrSSK	J
r
Jr  SSKJrJrJr  SSKJrJrJrJrJrJrJrJr  SSKJrJrJrJr  SSKJrJ r J!r!J"r"  SS	K#J$r$  SS
KJ%r%  SSK&J'r'J(r(J)r)J*r*J+r+  SSK,J-r-  S r.\." 5       r/\%S 5       r0\%S 5       r1\" \Rd                  \
Rf                  5      \" S\
Rf                  5      S 5       5       r4\S 5       r5S r6\" \Rd                  \
Rf                  \
Rn                  \
Rp                  5      \" \Rd                  \
Rf                  \
Rr                  \
Rp                  5      \" S\
Rf                  \
Rn                  \
Rp                  5      \" S\
Rf                  \
Rr                  \
Rp                  5      S 5       5       5       5       r:\" \Rd                  \
Rf                  \
Rp                  5      \" S\
Rf                  \
Rp                  5      S 5       5       r;\" \Rd                  \
Rf                  \
Rn                  5      \" \Rd                  \
Rf                  \
Rr                  5      \" S\
Rf                  \
Rn                  5      \" S\
Rf                  \
Rr                  5      S 5       5       5       5       r<S r=\" \R|                  5      \" \
Rf                  S5      S 5       5       r?\" \R€                  5      \" \
Rf                  S5      S 5       5       rA\" \R„                  5      \" \
Rf                  S5      S 5       5       rC\" \Rˆ                  5      \" \
Rf                  S5      S 5       5       rE\" \RŒ                  5      \" \
Rf                  S 5      S! 5       5       rG\" \R�                  5      \" \
Rf                  S"5      S# 5       5       rI\S$ 5       rJ\S% 5       rK\S& 5       rL\" \Rš                  5      \" \Rœ                  5      \" \
Rf                  S'5      S( 5       5       5       rO\" \R                   5      \" \R¢                  5      \" \
Rf                  S)5      S* 5       5       5       rR\S+ 5       rS\S, 5       rT\S- 5       rU\" \R¬                  5      \" \
Rf                  S.5      GSS/ j5       5       rW\S0 5       rX\S1 5       rY\S2 5       rZS3 r[\" \R¸                  5      \" \
Rf                  S45      GSS5 j5       5       r]\" \R¼                  5      \" \
Rf                  S65      S7 5       5       r_\GSS9 j5       r`\" \RÂ                  5      \" \
Rf                  S:5      GSS; j5       5       rb\" \RÆ                  5      \" \
Rf                  S<5      S= 5       5       rd\" \RÊ                  5      GS	S> j5       rfS? rg\" \RÐ                  5      S@ 5       ri\" \RÔ                  5      SA 5       rk\" \RØ                  5      SB 5       rl\" \RÚ                  5      SC 5       rm\" \RÜ                  5      SD 5       roSE rp\" \Râ                  5      GSSF j5       rq\" \Rä                  5      GSSG j5       rr\SH 5       rs\SI 5       rt\SJ 5       ruSK rv\" \v" \sS8SL95      rw\" \v" \tS8SL95      rx\" \v" \sSMSL95      ry\" \v" \tSMSL95      rz\SN 5       r{\" \Rø                  5      GSSO j5       r|\" \Rú                  5      SP 5       r~\" \Rþ                  5      SQ 5       r€\" \GR                  5      SR 5       r‚\" \GR                  5      SS 5       r„\" \GR
                  5      ST 5       r†\" \GR                  5      SU 5       rˆ\" \GR                  5      SV 5       rŠ\" \GR                  5      SW 5       rŒ\" \GR                  5      SX 5       rŽ\SY 5       r�SZ r�S[ r‘S\ r’\" \‘5      S] 5       r“\" \’5      S^ 5       r”S_ r•\" \•5      S` 5       r–\" \GR.                  5      Sa 5       r˜\Sb:  a  \" \
Rf                  Sc5      " \˜5        \Sd 5       r™GS
Se jrš\" \š" \s5      5      r›\" \š" \™5      5      rœ\" \š" \™SMSf95      r�Sg rž\" \ž" \›5      5      rŸ\" \ž" \œ5      5      r \" \ž" \�5      5      r¡\Sh 5       r¢\Si 5       r£\" \GRH                  5      Sj 5       r¥\Sk 5       r¦\Sl 5       r§\Sm 5       r¨\Sn 5       r©\So 5       rª\Sp 5       r«Sq r¬\" \GRZ                  5      Sr 5       r®\" \GR^                  5      Ss 5       r°\" \GRb                  5      St 5       r²\" \GRf                  5      Su 5       r´\" \GRj                  5      Sv 5       r¶\Sw 5       r·\Sx 5       r¸\Sy 5       r¹\" \GRt                  5      Sz 5       r»\" \GRx                  5      S{ 5       r½\S| 5       r¾\" \GR~                  5      GSS} j5       rÀ\S~ 5       rÁ\GSS j5       rÂ\" \GR†                  5      GSS€ j5       rÄ\" \GRŠ                  5      GSS� j5       rÆ\" \GRŽ                  5      GSS‚ j5       rÈ\GSSƒ j5       rÉ\" \GR”                  5      GSS„ j5       rË\" \GR˜                  5      GSS… j5       rÍ\" \GRœ                  5      GSS† j5       rÏS‡ rÐ\" \Ð5      Sˆ 5       rÑS‰ rÒ\" \GR¦                  5      GS	SŠ j5       rÔS‹ rÕ\" \Õ5      SŒ 5       rÖS� r×\" \×5      SŽ 5       rØ\" \GR²                  5      GSS� j5       rÚ\Sb:¼  a  \" \GR¶                  5      " \Ú5        \S� 5       rÜ\S‘ 5       rÝ\" \GR¼                  5      GSS’ j5       rß\" \GRÀ                  5      S“ 5       ráS”râ\S• 5       rã\S– 5       rä\S— 5       rå\" \GRÌ                  5      S˜ 5       rç\S™ 5       rè\Sš 5       réS› rê\" \ê5      Sœ 5       rë\S� 5       rì\" Sž 5      ríSŸ rîS  rï\S¡ 5       rð\" S¢ 5      rñ\S£ 5       ròS¤ ró\S¥ 5       rô\S¦ 5       rõ\" \GRì                  5      GSS§ j5       r÷\" \GRð                  5      GSS¨ j5       rù\" \GRô                  5      S© 5       rû\" \GRø                  5      Sª 5       rý\S« 5       rþ\S¬ 5       rÿ\S­ 5       Gr \S® 5       Gr\S¯ 5       Gr\" S° 5      GrS± Gr\" G\5      S² 5       Gr\" \GR                  5      GS
S³ j5       GrS´ Gr\%Sµ 5       Gr	\S¶ 5       Gr
\" \GR                  5      \" \GR                  5      GSS· j5       5       Gr\Sb:  a  \" \GR                  5      " G\5        \" \GR                  5      S¸ 5       Gr\" \GR"                  5      GS
S¹ j5       Gr\" \GR&                  \
Rf                  5      \" Sº\
Rf                  5      S» 5       5       GrS¼ Gr\S½ 5       Gr\S¾ 5       GrS¿ Gr\" \GR2                  5      SÀ 5       Gr\" \GR2                  5      SÁ 5       Gr\" \GR8                  5      SÂ 5       Gr\" \GR<                  5      SÃ 5       Gr\" \GR@                  5      SÄ 5       Gr!\" \GRD                  5      GSSÅ j5       Gr#\" SÆ 5      Gr$\" SÇ 5      Gr%\" \GRL                  5      SÈ 5       Gr'\" \GRP                  5      GSSÉ j5       Gr)\" \GRT                  5      SÊ 5       Gr+\" \GRX                  5      GS
SË j5       Gr-SÌ Gr.\" \GR^                  5      GSSÍ j5       Gr0\" \5      Gr1\" \5      Gr2\SÎ 5       Gr3\SÏ 5       Gr4\SÐ 5       Gr5\SÑ 5       Gr6\SÒ 5       Gr7SÓ Gr8G\9" SÔSÕ15      Gr:SÖ Gr;\" \GRx                  5      GSS× j5       Gr<\" \GRz                  5      GS
SØ j5       Gr>G\?Gr@\" \GR‚                  5      GSSÙ j5       GrBSÚGrC\" SÛG\C5      GrDSÜGrE\" SÝG\E5      GrFSÞGrG\" SßG\G5      GrHSà GrI\" \GRŒ                  5      Sá 5       GrJ\" \GR�                  5      Sâ 5       GrKSã GrLSä GrMSå GrN\" G\N5      Sæ 5       GrO\" \GR                   5      GSSç j5       GrQ\" \GR¤                  5      GSSè j5       GrS\" \GR¨                  5      GSSé j5       GrU\Sb:  a(  \" \GR¬                  5      \GR®                  4Sê j5       GrX\" \GR²                  5      Së 5       GrZ\" \GR¶                  5      GSSì j5       Gr\\" \GRº                  5      Sí 5       Gr^\" \GR¾                  5      GSSî j5       Gr`\" \GRÂ                  5      GSSï j5       Grb\Sð 5       Grc\Sñ 5       Grd\Sò 5       Gre\Só 5       GrfSô Grg\" \GRÐ                  5      " G\g" G\c5      5        \" \GRÒ                  5      " G\g" G\d5      5        \" \GRÔ                  5      " G\g" G\e5      5        \" \GRÖ                  5      " G\g" G\f5      5        \GRØ                  " / SõQ5      Grm\GRØ                  " / SöQ5      Grn\S÷ 5       Gro\Sø 5       Grp\Sù 5       Grq\" \GRä                  5      Sú 5       Grs\Sû 5       GrtSü Gru\" G\u5      Sý 5       Grv\" \GRî                  5      Sþ 5       Grx\Sÿ 5       GryGS  Grz\" G\z5      GS 5       Gr{\" \GRø                  5      GSGS j5       Gr}\" \GRü                  5      GS
GS j5       Gr\" \GR                   5      GS
GS j5       Gr�\" \GR                  5      GSGS j5       Grƒ\" \GR                  5      GSGS j5       Gr…g(  z5
Implementation of math operations on Array objects.
é    N)Ú
namedtuple)ÚtypesÚcgutils)ÚoverloadÚoverload_methodÚregister_jitable)Úas_dtypeÚtype_can_asarrayÚtype_is_scalarÚnumpy_versionÚis_nonelikeÚcheck_is_integerÚ	lt_floatsÚ
lt_complex)Úlower_builtinÚimpl_ret_borrowedÚimpl_ret_new_refÚimpl_ret_untracked)Ú
make_arrayÚ	load_itemÚ
store_itemÚ_empty_nd_impl)Úensure_blas)Ú	intrinsic)ÚRequireLiteralValueÚTypingErrorÚNumbaValueErrorÚNumbaNotImplementedErrorÚNumbaTypeError)Útuple_setitemc                  ó:   •  [        5         g! [         a     gf = f©NFT)r   ÚImportError© ó    Úe/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/numba/np/old_arraymath.pyÚ_check_blasr'      s%   € ðÜŒð øô ó Ùðús   ‚
 �
™c                 ó–   ^^^• [        U5      S-
  m[        R                  " [        R                  T5      mT" TU5      nUUU4S jnX44$ )zü
This routine converts shape list where the axis dimension has already
been popped to a tuple for indexing of the same size.  The original shape
tuple is also required because it contains a length field at compile time
whereas the shape list does not.
é   c           	      óZ  >• U R                  T5      n[        R                  " U5      nUu  pgS n[        T5       Hl  n	U R	                  [
        R                  U	5      n
U R                  X[
        R                  " T[
        R                  5      Xj/5      nUR                  X[U	5      nMn     U$ )Nc                 ó
   • X   $ ©Nr$   )ÚaÚis     r&   Úarray_indexerÚB_create_tuple_result_shape.<locals>.codegen.<locals>.array_indexerD   s	   € Ø‘4ˆKr%   )	Úget_value_typer   Úget_null_valueÚrangeÚget_constantr   ÚintpÚcompile_internalÚinsert_value)ÚcgctxÚbuilderÚ	signatureÚargsÚlltuptyÚtupÚin_shapeÚ_r/   r.   ÚdataidxÚdataÚndÚ
shape_listÚtuptys               €€€r&   ÚcodegenÚ+_create_tuple_result_shape.<locals>.codegen<   sœ   ø€ Ø×&Ñ& uÓ-ˆä×$Ò$ WÓ-ˆð ‰ˆò	ô �r–ˆAØ×(Ñ(¬¯©°QÓ7ˆGà×)Ñ)¨'Ü*/¯*ª*°ZÄÇÁÓ*LØ+3Ð*=ó?ˆDð ×&Ñ& s°!Ó4ŠCñ ð ˆ
r%   )Úlenr   ÚUniTupler5   )ÚtyctxrC   Úshape_tupleÚfunction_sigrE   rB   rD   s    `   @@r&   Ú_create_tuple_result_shaperL   +   sD   ú€ ô 
ˆ[Ó	˜AÑ	€Bä�NŠNœ5Ÿ:™: rÓ*€Eá˜ [Ó1€L÷ð* Ð Ð r%   c                 óŠ  ^	^
^• [        U[        R                  5      (       d  [        S5      eUR                  m	[        U5      m
T	T
:¼  a  Sm	T	nT
U-
  S-
  n/ nU[        R                  /U-  -  nU[        R                  /-  nU[        R                  /U-  -  n[        R                  " U5      mT" XU5      nU	U
U4S jnXx4$ )a0  
Generates a tuple that can be used to index a specific slice from an
array for sum with axis.  shape_tuple is the size of the dimensions of
the input array.  'value' is the value to put in the indexing tuple
in the axis dimension and 'axis' is that dimension.  For this to work,
axis has to be a const.
z axis argument must be a constantr   r)   c                 óp  >• U R                  T5      n[        R                  " U5      nUu  pgnS nU R                  X[        R
                  " 5       / 5      n	[        ST5       H  n
UR                  XYU
5      nM     UR                  XWT5      n[        TS-   T5       H  n
UR                  XYU
5      nM     U$ )Nc                  ó   • [        S S 5      $ r,   )Úslicer$   r%   r&   Úcreate_full_sliceÚ<_gen_index_tuple.<locals>.codegen.<locals>.create_full_slice„   s   € Ü˜˜tÓ$Ð$r%   r   r)   )r1   r   r2   r6   r   Úslice2_typer3   r7   )r8   r9   r:   r;   r<   r=   r?   Ú	value_argrQ   Ú
slice_datar.   Ú
axis_valuerB   rD   s              €€€r&   rE   Ú!_gen_index_tuple.<locals>.codegen{   s¾   ø€ Ø×&Ñ& uÓ-ˆä×$Ò$ WÓ-ˆð !Ñˆ�qò	%ð ×+Ñ+¨GÜ,1×,=Ò,=Ó,?Ø,.ó0ˆ
ô �q˜*Ö%ˆAØ×&Ñ& s¸Ó:ŠCñ &ð ×"Ñ" 3°:Ó>ˆô �z A‘~ rÖ*ˆAØ×&Ñ& s¸Ó:ŠCñ +àˆ
r%   )	Ú
isinstancer   ÚLiteralr   Úliteral_valuerG   rS   r5   ÚTuple)rI   rJ   ÚvalueÚaxisÚbeforeÚafterÚ
types_listrK   rE   rV   rB   rD   s            @@@r&   Ú_gen_index_tuplera   T   sË   ú€ ô �dœEŸM™M×*Ñ*Ü!Ð"DÓEÐEà×#Ñ#€Jä	ˆ[Ó	€Bð �RÓØˆ
ð €FØ�‰K˜!‰O€Eà€JØ”5×$Ñ$Ð%¨Ñ.Ñ.€JØ”5—:‘:�,Ñ€JØ”5×$Ñ$Ð%¨Ñ-Ñ-€Jô �KŠK˜
Ó#€Eá˜¨TÓ2€L÷ð> Ð Ð r%   z	array.sumc           
      ó¤   ^• UR                  S5      mU4S jnU R                  XX#[        UR                   S9S9n[        XUR                   U5      $ )Nr   c                 ój   >• Tn[         R                  " U 5       H  nXR                  5       -  nM     U$ r,   ©ÚnpÚnditerÚitem)ÚarrÚcÚvÚzeros      €r&   Úarray_sum_implÚ!array_sum.<locals>.array_sum_impl¥   ó,   ø€ ØˆÜ—’˜3–ˆAØ—‘“‰MŠAñ  àˆr%   ©ri   ©Úlocals©Úreturn_typer6   Údictr   ©Úcontextr9   Úsigr;   rl   Úresrk   s         @r&   Ú	array_sumry       óS   ø€ ð �?‰?˜1Ó€Dõð ×
"Ñ
" 7¸CÜ*.°·±Ñ*Að #ð C€Cä˜W¨s¯©ÀÓDÐDr%   c                 ó   • U $ r,   r$   )rh   rj   s     r&   Ú_array_sum_axis_nopr|   °   s   € à€Jr%   c                 ó    ^ ^^^• UU UU4S jnU$ )Nc                 óì  >• U R                   nT(       d  US:  d  US:”  a  [        S5      eX:¼  a  [        S5      e[        U R                  5      nX1   nUR	                  U5        [        X0R                  5      n[        R                  " UT[        T5      5      n[        U5       HÂ  nT(       a   [        U R                  UT5      nX`U   -  nM*  US:X  a   [        U R                  US5      n	X`U	   -  nMP  US:X  a   [        U R                  US5      n
X`U
   -  nMv  US:X  a   [        U R                  US5      nX`U   -  nMœ  US:X  d  M¤  [        U R                  US5      nX`U   -  nMÄ     T" US5      $ )aà  
function that performs sums over one specific axis

The third parameter to gen_index_tuple that generates the indexing
tuples has to be a const so we can't just pass "axis" through since
that isn't const.  We can check for specific values and have
different instances that do take consts.  Supporting axis summation
only up to the fourth dimension for now.

typing/arraydecl.py:sum_expand defines the return type for sum with
axis. It is one dimension less than the input array.
r   é   zHNumba does not support sum with axis parameter outside the range 0 to 3.zaxis is out of bounds for arrayr)   é   )ÚndimÚ
ValueErrorÚlistÚshapeÚpoprL   re   ÚfullÚtyper3   ra   )rh   r]   r�   ÚashapeÚaxis_lenÚashape_without_axisÚresultÚ
axis_indexÚindex_tuple_genericÚindex_tuple1Úindex_tuple2Úindex_tuple3Úindex_tuple4Úconst_axis_valÚis_axis_constÚoprk   s                €€€€r&   ÚinnerÚ gen_sum_axis_impl.<locals>.inner¶   sn  ø€ ð �x‰xˆæà�a‹x˜4 !›8Ü ð "Gó Hð Hð
 ‹<ÜÐ>Ó?Ð?ô �c—i‘i“ˆà‘<ˆà�
‰
�4Ôä8¸ÇÁÓKÐä—’Ð,¨d´D¸³JÓ?ˆô   ž/ˆJÞä&6°s·y±yÀ*Ø7Eó'GÐ#àÐ1Ñ2Ñ2’ð
 ˜1“9Ü#3°C·I±I¸zÈ1Ó#M�LØ ,Ñ/Ñ/’FØ˜Q“YÜ#3°C·I±I¸zÈ1Ó#M�LØ ,Ñ/Ñ/’FØ˜Q“YÜ#3°C·I±I¸zÈ1Ó#M�LØ ,Ñ/Ñ/’FØ˜Q•YÜ#3°C·I±I¸zÈ1Ó#M�LØ ,Ñ/Ñ/’Fñ+ *ñ, �&˜!‹}Ðr%   r$   )r“   r’   r”   rk   r•   s   ```` r&   Úgen_sum_axis_implr—   µ   s   û€ ÷<ð <ðz €Lr%   c                 ó�  ^• UR                   n[        USU5      " S5      n[        USS 5      c  [        R                  nO[        nUR
                  u  pxn	Sn
Sn[        U[        R                  5      (       aŠ  UR                  nUS:  a  UR                  U-   nUS:  d  X·R                  :”  a  [        S5      eU R                  R                  U5      nU R                  X‹5      nUS   XÃS   4nUR                  XxU	/S9nSn
[!        X«Xe5      n[#        U5      mU4S	 jnU R%                  XX#5      n['        XUR                   U5      $ )
NÚdtyper   r�   Fz'axis' entry is out of boundsr€   ©r;   Tc                 ó   >• T" X5      $ r,   r$   )rh   r]   r™   Úcompileds      €r&   Úarray_sum_impl_axisÚ1array_sum_axis_dtype.<locals>.array_sum_impl_axis  ó   ø€ Ù˜Ó"Ð"r%   )rs   Úgetattrre   Útaker|   r;   rX   r   rY   rZ   r�   r‚   Útyping_contextÚresolve_value_typer4   Úreplacer—   r   r6   r   )rv   r9   rw   r;   Úrettyrk   r”   Úty_arrayÚty_axisÚty_dtyper“   r’   Úaxis_valÚgen_implr�   rx   rœ   s                   @r&   Úarray_sum_axis_dtyper«   ö   s;  ø€ ð
 �O‰O€EÜ�5˜' 5Ô)¨!Ó,€Dô ˆu�f˜dÓ#Ñ+Ü�W‰W‰ä ˆØ$'§H¡HÑ!€X˜Ø€MØ€NÜ�'œ5Ÿ=™=×)Ñ)à ×.Ñ.ˆà˜AÓØ%Ÿ]™]¨^Ñ;ˆNØ˜AÓ ·-±-Ó!?ÜÐ<Ó=Ð=à×(Ñ(×;Ñ;¸NÓKˆØ×'Ñ'¨Ó@ˆà�A‰w˜ q¡'Ð)ˆà�k‰k °8Ð<ˆkÐ=ˆØˆä  ÀÓI€HÜ Ó)€Hõ#ð ×
"Ñ
" 7ÀÓ
K€CÜ˜G¨c¯o©o¸sÓCÐCr%   c           
      ó¤   ^• UR                  S5      mU4S jnU R                  XX#[        UR                   S9S9n[        XUR                   U5      $ )Nr   c                 ój   >• Tn[         R                  " U 5       H  nX#R                  5       -  nM     U$ r,   rd   )rh   r™   ri   rj   rk   s       €r&   rl   Ú'array_sum_dtype.<locals>.array_sum_impl&  rn   r%   ro   rp   rr   ru   s         @r&   Úarray_sum_dtyper¯   !  rz   r%   c                 ó’  ^• UR                   n[        USU5      " S5      n[        USS 5      c  [        R                  nO[        nUR
                  u  pxSn	Sn
[        U[        R                  5      (       aŒ  UR                  n
U
S:  a  UR                  U
-   n
U
S:  d  X§R                  :”  a  SU
 S3n[        U5      eU R                  R                  U
5      nU R                  XŠ5      nUS   U4nUR                  Xx/S9nSn	[!        XšXe5      n[#        U5      mU4S	 jnU R%                  XX#5      n['        XUR                   U5      $ )
Nr™   r   r�   Fz'axis' entry (z) is out of boundsrš   Tc                 ó   >• T" X5      $ r,   r$   )rh   r]   rœ   s     €r&   r�   Ú+array_sum_axis.<locals>.array_sum_impl_axisV  rŸ   r%   )rs   r    re   r¡   r|   r;   rX   r   rY   rZ   r�   r   r¢   r£   r4   r¤   r—   r   r6   r   )rv   r9   rw   r;   r¥   rk   r”   r¦   r§   r“   r’   Úmsgr©   rª   r�   rx   rœ   s                   @r&   Úarray_sum_axisr´   1  sB  ø€ ð
 �O‰O€EÜ�5˜' 5Ô)¨!Ó,€Dô ˆu�f˜dÓ#Ñ+Ü�W‰W‰ä ˆØŸ(™(Ñ€XØ€MØ€NÜ�'œ5Ÿ=™=×)Ñ)à ×.Ñ.ˆà˜AÓØ%Ÿ]™]¨^Ñ;ˆNØ˜AÓ ·-±-Ó!?Ø" >Ð"2Ð2DÐEˆCÜ! #Ó&Ð&à×(Ñ(×;Ñ;¸NÓKˆØ×'Ñ'¨Ó@ˆà�A‰w˜Ð ˆà�k‰k Ð2ˆkÐ3ˆØˆä  ÀÓI€HÜ Ó)€Hõ#ð ×
"Ñ
" 7ÀÓ
K€CÜ˜G¨c¯o©o¸sÓCÐCr%   c                 ó²   • U R                   [        R                  :X  a'  [        R                  " U5      R	                  U 5      nU$ U R                  U5      nU$ r,   )r‡   re   Útimedelta64Úint64Úview)r™   r\   Úacc_inits      r&   Úget_accumulatorrº   ]  sF   € Ø‡z�z”R—^‘^Ó#Ü—8’8˜E“?×'Ñ'¨Ó.ˆð €Oð —:‘:˜eÓ$ˆØ€Or%   Úprodc                 ó–   ^• [        U [        R                  5      (       a)  [        U R                  5      n[        US5      mU4S jnU$ g )Nr)   c                 ój   >• Tn[         R                  " U 5       H  nXR                  5       -  nM     U$ r,   rd   ©r-   ri   rj   r¹   s      €r&   Úarray_prod_implÚ#array_prod.<locals>.array_prod_implm  s,   ø€ ØˆAÜ—Y’Y˜q–\�Ø—V‘V“X‘’ñ "àˆHr%   )rX   r   ÚArrayr	   r™   rº   )r-   r™   r¿   r¹   s      @r&   Ú
array_prodrÂ   e  sB   ø€ ô �!”U—[‘[×!Ñ!Ü˜Ÿ™Ó!ˆä" 5¨!Ó,ˆõ	ð Ðð "r%   Úcumsumc                 óÂ  ^^• [        U [        R                  5      (       a¾  U R                  [        R                  ;   nU R                  [        R
                  :H  nU(       a2  U R                  R                  [        R                  R                  :  d  U(       a  [        [        R                  5      mO[        U R                  5      m[        TS5      mUU4S jnU$ g )Nr   c                 óš   >• [         R                  " U R                  T5      nTn[        U R                  5       H  u  p4X$-  nX!U'   M     U$ r,   ©re   ÚemptyÚsizeÚ	enumerateÚflat©r-   Úoutri   Úidxrj   r¹   r™   s        €€r&   Úarray_cumsum_implÚ'array_cumsum.<locals>.array_cumsum_impl„  óF   ø€ Ü—(’(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÖ+‘�Ø‘�Ø�C“ñ ,ð ˆJr%   ©
rX   r   rÁ   r™   Úsigned_domainÚbool_Úbitwidthr5   r	   rº   )r-   Ú
is_integerÚis_boolrÎ   r¹   r™   s       @@r&   Úarray_cumsumr×   v  s—   ù€ ô �!”U—[‘[×!Ñ!Ø—W‘W¤× 3Ñ 3Ñ3ˆ
Ø—'‘'œUŸ[™[Ñ(ˆÞ˜1Ÿ7™7×+Ñ+¬e¯j©j×.AÑ.AÓAÞÜœUŸZ™ZÓ(‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆö	ð !Ð ð' "r%   Úcumprodc                 óÂ  ^^• [        U [        R                  5      (       a¾  U R                  [        R                  ;   nU R                  [        R
                  :H  nU(       a2  U R                  R                  [        R                  R                  :  d  U(       a  [        [        R                  5      mO[        U R                  5      m[        TS5      mUU4S jnU$ g )Nr)   c                 óš   >• [         R                  " U R                  T5      nTn[        U R                  5       H  u  p4X$-  nX!U'   M     U$ r,   rÆ   rË   s        €€r&   Úarray_cumprod_implÚ)array_cumprod.<locals>.array_cumprod_impl�  rÐ   r%   rÑ   )r-   rÕ   rÖ   rÛ   r¹   r™   s       @@r&   Úarray_cumprodrÝ   �  s—   ù€ ô �!”U—[‘[×!Ñ!Ø—W‘W¤× 3Ñ 3Ñ3ˆ
Ø—'‘'œUŸ[™[Ñ(ˆÞ˜1Ÿ7™7×+Ñ+¬e¯j©j×.AÑ.AÓAÞÜœUŸZ™ZÓ(‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆö	ð "Ð!ð' "r%   Úmeanc                 óH  ^• [        U [        R                  5      (       a‚  U R                  [        R                  [        [        R                  /5      -  ;   nU(       a  [        [        R                  5      nO[        U R                  5      n[        US5      mU4S jnU$ g )Nr   c                 ó‚   >• Tn[         R                  " U 5       H  nXR                  5       -  nM     XR                  -  $ r,   )re   rf   rg   rÈ   r¾   s      €r&   Úarray_mean_implÚ#array_mean.<locals>.array_mean_impl´  s5   ø€ ð ˆAÜ—Y’Y˜q–\�Ø—V‘V“X‘’ñ "à—v‘v‘:Ðr%   )
rX   r   rÁ   r™   Úinteger_domainÚ	frozensetrÓ   r	   Úfloat64rº   )r-   Ú	is_numberr™   rá   r¹   s       @r&   Ú
array_meanrç   ¨  sw   ø€ ô �!”U—[‘[×!Ñ!Ø—G‘Gœu×3Ñ3´iÄÇÁÀÓ6NÑNÑNˆ	ÞÜœUŸ]™]Ó+‰Eä˜QŸW™WÓ%ˆEä" 5¨!Ó,ˆõ	ð Ðð# "r%   Úvarc                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó  • U R                  5       nSn[        R                  " U 5       HF  nUR                  5       U-
  nU[        R                  " U[        R
                  " U5      -  5      -  nMH     X R                  -  $ ©Nr   )rÞ   re   rf   rg   ÚrealÚconjrÈ   )r-   ÚmÚssdrj   Úvals        r&   Úarray_var_implÚ!array_var.<locals>.array_var_implÃ  sc   € à—‘“ˆAð ˆCÜ—Y’Y˜q–\�Ø—v‘v“x !‘|�Ø”r—w’w˜s¤R§W¢W¨S£\Ñ1Ó2Ñ2’ñ "ð Ÿ™‘<Ðr%   ©rX   r   rÁ   )r-   rñ   s     r&   Ú	array_varrô   ¿  s'   € ô �!”U—[‘[×!Ñ!ò		 ð Ðð "r%   Ústdc                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó(   • U R                  5       S-  $ ©Nç      à?)rè   ©r-   s    r&   Úarray_std_implÚ!array_std.<locals>.array_std_implÕ  s   € Ø—5‘5“7˜c‘>Ð!r%   ró   )r-   rû   s     r&   Ú	array_stdrý   Ñ  s'   € ô �!”U—[‘[×!Ñ!ò	"ð Ðð	 "r%   c                 ó
   • X:  $ r,   r$   ©r-   Úmin_vals     r&   Úmin_comparatorr  Û  ó
   € à‰;Ðr%   c                 ó
   • X:„  $ r,   r$   rÿ   s     r&   Úmax_comparatorr  à  r  r%   c                 ó   • g©NFr$   rú   s    r&   Úreturn_falser  å  s   € àr%   Úminc                 ó  ^^• [        U [        R                  5      (       d  g [        U R                  [        R                  [        R
                  45      (       a  [        R                  m[        mOŠ[        U R                  [        R                  5      (       a  [        mS n[        U5      mOL[        U R                  [        R                  5      (       a  [        R                  m[        mO[        m[        mUU4S jnU$ )Nc                 ó¤   • U R                   UR                   :  a  gU R                   UR                   :X  a  U R                  UR                  :  a  gg©NTF©rì   Úimagrÿ   s     r&   Ú	comp_funcÚnpy_min.<locals>.comp_func÷  ó;   € Ø�v‰v˜Ÿ™Ó$ØØ—‘˜7Ÿ<™<Ó'Ø—6‘6˜GŸL™LÓ(ØØr%   c                 ó2  >• U R                   S:X  a  [        S5      e[        R                  " U 5      n[	        U5      R                  S5      nT" U5      (       a  U$ U H5  nUR                  5       nT" U5      (       a  Us  $ T" XB5      (       d  M3  UnM7     U$ )Nr   zDzero-size array to reduction operation minimum which has no identity©rÈ   r‚   re   rf   Únextr¡   rg   )r-   ÚitÚ	min_valuer¸   rj   Ú
comparatorÚpre_return_funcs        €€r&   Úimpl_minÚnpy_min.<locals>.impl_min  ó�   ø€ Ø�6‰6�Q‹;Üð =ó >ð >ô �YŠY�q‹\ˆÜ˜“H—M‘M !Ó$ˆ	Ù˜9×%Ñ%ØÐãˆDØ—	‘	“ˆAÙ˜q×!Ñ!Ø’Ù˜!×'Ó'Ø’	ñ ð Ðr%   )rX   r   rÁ   r™   Ú
NPDatetimeÚNPTimedeltare   Úisnatr  ÚComplexr  r   ÚFloatÚisnan)r-   r  r  r  r  s      @@r&   Únpy_minr!  ê  ó­   ù€ ô �aœŸ™×%Ñ%Øä�!—'‘'œE×,Ñ,¬e×.?Ñ.?Ð@×AÑAÜŸ(™(ˆÜ#‰
Ü	�A—G‘GœUŸ]™]×	+Ñ	+Ü&ˆò	ô & iÓ0‰
Ü	�A—G‘GœUŸ[™[×	)Ñ	)ÜŸ(™(ˆÜ#‰
ä&ˆÜ#ˆ
öð$ €Or%   Úmaxc                 ó  ^^• [        U [        R                  5      (       d  g [        U R                  [        R                  [        R
                  45      (       a  [        R                  m[        mOŠ[        U R                  [        R                  5      (       a  [        mS n[        U5      mOL[        U R                  [        R                  5      (       a  [        R                  m[        mO[        m[        mUU4S jnU$ )Nc                 ó¤   • U R                   UR                   :”  a  gU R                   UR                   :X  a  U R                  UR                  :”  a  ggr  r  )r-   Úmax_vals     r&   r  Únpy_max.<locals>.comp_func)  r  r%   c                 ó2  >• U R                   S:X  a  [        S5      e[        R                  " U 5      n[	        U5      R                  S5      nT" U5      (       a  U$ U H5  nUR                  5       nT" U5      (       a  Us  $ T" XB5      (       d  M3  UnM7     U$ )Nr   zDzero-size array to reduction operation maximum which has no identityr  )r-   r  Ú	max_valuer¸   rj   r  r  s        €€r&   Úimpl_maxÚnpy_max.<locals>.impl_max9  r  r%   )rX   r   rÁ   r™   r  r  re   r  r  r  r  r   r  r   )r-   r  r*  r  r  s      @@r&   Únpy_maxr,    r"  r%   c                 ój  • U R                   S:X  a  [        S5      e[        R                  " U 5      n[	        U5      R                  S5      nSn[        R                  " U5      (       a  U$ SnU H@  nUR                  5       n[        R                  " U5      (       a  Us  $ Xb:  a  UnUnUS-  nMB     U$ ©Nr   ú*attempt to get argmin of an empty sequencer)   ©rÈ   r‚   re   rf   r  r¡   r  rg   )Úarryr  r  Úmin_idxrÍ   r¸   rj   s          r&   Úarray_argmin_impl_datetimer3  N  óœ   € à‡y�y�Aƒ~ÜÐEÓFÐFÜ	�Š�4‹€BÜ�R“—‘˜aÓ €IØ€GÜ	‡x‚x�	×ÑØˆà
€CÛˆØ�I‰I‹KˆÜ�8Š8�A�;‰;ØŠJØ‹=ØˆIØˆGØˆq‰Šñ ð €Nr%   c                 ó(  • U R                   S:X  a  [        S5      eU R                   H  nUnSn  O   [        R                  " W5      (       a  W$ SnU R                   H0  n[        R                  " U5      (       a  Us  $ X:  a  UnUnUS-  nM2     W$ r.  ©rÈ   r‚   rÊ   re   r   ©r1  rj   r  r2  rÍ   s        r&   Úarray_argmin_impl_floatr8  d  óŽ   € à‡y�y�Aƒ~ÜÐEÓFÐFØ�YŒYˆØˆ	ØˆÙñ ô 
‡x‚x�	×ÑØˆà
€CØ�YŒYˆÜ�8Š8�A�;‰;ØŠJØ‹=ØˆIØˆGØˆq‰Šñ ð €Nr%   c                 óÆ   • U R                   S:X  a  [        S5      eU R                   H  nUnSn  O   [        S5      eSnU R                   H  nX:  a  UnUnUS-  nM     U$ )Nr   r/  Úunreachabler)   )rÈ   r‚   rÊ   ÚRuntimeErrorr7  s        r&   Úarray_argmin_impl_genericr=  z  ss   € à‡y�y�Aƒ~ÜÐEÓFÐFØ�YŒYˆØˆ	ØˆÙñ ô
 ˜=Ó)Ð)à
€CØ�YŒYˆØ‹=ØˆIØˆGØˆq‰Šñ	 ð
 €Nr%   Úargminc                 ó@  ^• [        U R                  [        R                  [        R                  45      (       a  [
        mO6[        U R                  [        R                  5      (       a  [        mO[        m[        U5      (       a
  SU4S jjnU$ [        XT5      nU$ )Nc                 ó   >• T" U 5      $ r,   r$   ©r-   r]   Úflatten_impls     €r&   Úarray_argmin_implÚ'array_argmin.<locals>.array_argmin_impl™  ó   ø€ Ù “?Ð"r%   r,   )rX   r™   r   r  r  r3  r  r8  r=  r   Ú%build_argmax_or_argmin_with_axis_impl)r-   r]   rC  rB  s      @r&   Úarray_argminrG  Ž  ó~   ø€ ô �!—'‘'œE×,Ñ,¬e×.?Ñ.?Ð@×AÑAÜ1‰Ü	�A—G‘GœUŸ[™[×	)Ñ	)Ü.‰ä0ˆä�4×Ñ÷	#ð Ðô BØ�\ó
Ðð Ðr%   c                 ój  • U R                   S:X  a  [        S5      e[        R                  " U 5      n[	        U5      R                  S5      nSn[        R                  " U5      (       a  U$ SnU H@  nUR                  5       n[        R                  " U5      (       a  Us  $ Xb:”  a  UnUnUS-  nMB     U$ ©Nr   z*attempt to get argmax of an empty sequencer)   r0  )r1  r  r)  Úmax_idxrÍ   r¸   rj   s          r&   Úarray_argmax_impl_datetimerL  ¢  r4  r%   c                 ó(  • U R                   S:X  a  [        S5      eU R                   H  nUnSn  O   [        R                  " W5      (       a  W$ SnU R                   H0  n[        R                  " U5      (       a  Us  $ X:”  a  UnUnUS-  nM2     W$ rJ  r6  ©r1  rj   r)  rK  rÍ   s        r&   Úarray_argmax_impl_floatrO  ¸  r9  r%   c                 ó²   • U R                   S:X  a  [        S5      eU R                   H  nUnSn  O   SnU R                   H  nUW:”  a  UnUnUS-  nM     W$ rJ  )rÈ   r‚   rÊ   rN  s        r&   Úarray_argmax_impl_genericrQ  Î  sj   € à‡y�y�Aƒ~ÜÐEÓFÐFØ�YŒYˆØˆ	ØˆÙñ ð
 €CØ�YŒYˆØˆy‹=ØˆIØˆGØˆq‰Šñ	 ð
 €Nr%   c                 ó”   ^^^• [        US5        [        R                  m[        [	        U R
                  5      5      mSUUU4S jjnU$ )zp
Given a function that implements the logic for handling a flattened
array, return the implementation function.
r]   c                 óØ  >• US:  a  U R                   U-   nUS:  d  XR                   :¼  a  [        S5      eU R                   S:X  a  T	" U 5      $ Tn[        XR                   S-
  5       H  n[        X#US-   5      nM     [        X R                   S-
  U5      nU R	                  U5      nUR
                  S   nUR                  5       nUR                  U R                  :X  d   eUR                  U-  S:X  d   e[        R                  " UR                  U-  T
5      n[        UR                  5       H  nT	" XsU-  US-   U-   5      Xƒ'   M     UR                  UR
                  S S 5      $ )Nr   zaxis is out of boundsr)   éÿÿÿÿ)r�   r‚   r3   r    Ú	transposer„   ÚravelrÈ   re   rÇ   Úreshape)r-   r]   Útmpr.   Útranspose_indexÚtransposed_arrrî   ÚraveledrÌ   rB  r¥   Útuple_buffers            €€€r&   ÚimplÚ3build_argmax_or_argmin_with_axis_impl.<locals>.implê  sP  ø€ Ø�!‹8Ø—6‘6˜D‘=ˆDà�!‹8�tŸv™v“~ÜÐ4Ó5Ð5ð �6‰6�Q‹;Ù “?Ð"ð ˆÜ�tŸV™V a™ZÖ(ˆAÜ ¨¨A©Ó.ŠCñ )ä'¨¯V©V°a©Z¸Ó>ˆØŸ™ _Ó5ˆð × Ñ  Ñ$ˆØ ×&Ñ&Ó(ˆØ�|‰|˜qŸv™vÓ%Ð%Ð%Ø×"Ñ" QÑ&¨!Ó+Ð+Ð+Ü�hŠh�~×*Ñ*¨aÑ/°Ó7ˆÜ�s—x‘x–ˆAÙ! '¨a©%°°Q±¸!±Ð"<Ó=ˆC‹Fñ !ð �{‰{˜>×/Ñ/°°Ð4Ó5Ð5r%   r,   )r   r   r5   Útupler3   r�   )r-   r]   rB  r]  r¥   r\  s     ` @@r&   rF  rF  à  s;   ú€ ô
 �T˜6Ô"Ü�J‰J€Eäœ˜qŸv™v›Ó'€L÷6ñ 6ð> €Kr%   Úargmaxc                 ó@  ^• [        U R                  [        R                  [        R                  45      (       a  [
        mO6[        U R                  [        R                  5      (       a  [        mO[        m[        U5      (       a
  SU4S jjnU$ [        XT5      nU$ )Nc                 ó   >• T" U 5      $ r,   r$   rA  s     €r&   Úarray_argmax_implÚ'array_argmax.<locals>.array_argmax_impl  rE  r%   r,   )rX   r™   r   r  r  rL  r  rO  rQ  r   rF  )r-   r]   rc  rB  s      @r&   Úarray_argmaxre    rH  r%   Úallc                 ó   • S nU$ )Nc                 ól   • [         R                  " U 5       H  nUR                  5       (       a  M    g   gr"   rd   ©r-   rj   s     r&   Úflat_allÚnp_all.<locals>.flat_all#  s'   € Ü—’˜1–ˆAØ—6‘6—8“8Ùñ ð r%   r$   )r-   rj  s     r&   Únp_allrl     s   € òð €Or%   Fc                 ó¬  • [         R                  " U 5      n[         R                  " U5      nU(       d  U(       d  U(       a  U(       d  gU(       a  U(       a
  U(       d  g g[         R                  " U 5      (       d  [         R                  " U5      (       a  X:H  $ [         R                  " X-
  5      X2[         R                  " US-  5      -  -   :”  a  gg)NFç      ð?T©re   r   ÚisinfÚabs)Úa_vÚb_vÚrtolÚatolÚ	equal_nanÚ	a_v_isnanÚ	b_v_isnans          r&   Ú_allclose_scalarsry  ,  s“   € ä—’˜“€IÜ—’˜“€Iö žIÞžyØö –YÞØð ð ô �8Š8�C�=‰=œBŸHšH SŸM™MØ‘:Ðä�6Š6�#‘)Ó˜t¬R¯VªV°C¸#±IÓ->Ñ&>Ñ>Ó>Øàr%   Úallclosec                 ó²  • [        U 5      (       d  [        S5      e[        U5      (       d  [        S5      e[        U[        [        R
                  45      (       d  [        S5      e[        U[        [        R
                  45      (       d  [        S5      e[        U[        [        R                  45      (       d  [        S5      e[        U [        R                  5      n[        U[        R                  5      nU(       a  U(       a	    S
S jnU$ U(       a  U(       d	    S
S jnU$ U(       d  U(       a	    S
S jn	U	$ U(       d  U(       d	    S
S	 jn
U
$ g g )Nú)The first argument "a" must be array-likeú*The second argument "b" must be array-likeú2The third argument "rtol" must be a floating pointú3The fourth argument "atol" must be a floating pointú0The fifth argument "equal_nan" must be a booleanc                 ó   • [        XX#US9$ )N©rt  ru  rv  )ry  ©r-   Úbrt  ru  rv  s        r&   Únp_allclose_impl_scalar_scalarÚ3np_allclose.<locals>.np_allclose_impl_scalar_scalar`  s   € ä$ Q°Ø/8ñ:ð :r%   c           	      óª   • [         R                  " U5      n[         R                  " U5       H#  n[        XR	                  5       X#US9(       a  M#    g   g©Nr‚  FT©re   Úasarrayrf   ry  rg   )r-   r„  rt  ru  rv  Úbvs         r&   Únp_allclose_impl_scalar_arrayÚ2np_allclose.<locals>.np_allclose_impl_scalar_arrayf  sC   € ä—
’
˜1“ˆAÜ—i’i –l�Ü(¨¯G©G«I¸DØ3<÷>ñ >á ñ #ð r%   c           	      ó¬   • [         R                  " U 5      n [         R                  " U 5       H$  n[        UR	                  5       XUUS9(       a  M$    g   grˆ  r‰  )r-   r„  rt  ru  rv  Úavs         r&   Únp_allclose_impl_array_scalarÚ2np_allclose.<locals>.np_allclose_impl_array_scalarp  sE   € ä—
’
˜1“ˆAÜ—i’i –l�Ü(¨¯©«°AÀtØ3<÷>ñ >á ñ #ð r%   c           	      ó*  • [         R                  " U 5      n [         R                  " U5      n[         R                  " X5      u  pV[         R                  " XV45       H4  u  px[	        UR                  5       UR                  5       UX4S9(       a  M4    g   grˆ  )re   rŠ  Úbroadcast_arraysrf   ry  rg   )	r-   r„  rt  ru  rv  Úa_aÚb_br�  r‹  s	            r&   Únp_allclose_impl_array_arrayÚ1np_allclose.<locals>.np_allclose_impl_array_arrayz  sq   € ä—
’
˜1“ˆAÜ—
’
˜1“ˆAÜ×*Ò*¨1Ó0‰HˆCäŸ)š) S JÖ/‘�Ü(¨¯©«°B·G±G³IÀDØ.2÷Iñ Iá ñ 0ð
 r%   ©gñhãˆµøä>g:Œ0âŽyE>F)	r
   r   rX   Úfloatr   r  ÚboolÚBooleanÚNumber)r-   r„  rt  ru  rv  Úis_a_scalarÚis_b_scalarr…  rŒ  r�  r–  s              r&   Únp_allcloserŸ  F  s7  € ô ˜A×ÑÜÐEÓFÐFä˜A×ÑÜÐFÓGÐGä�dœU¤E§K¡KÐ0×1Ñ1Üð +ó ,ð 	,ô �dœU¤E§K¡KÐ0×1Ñ1Üð +ó ,ð 	,ô �i¤$¬¯©Ð!6×7Ñ7Üð $ó %ð 	%ô ˜Q¤§¡Ó-€KÜ˜Q¤§¡Ó-€Kæ–{ØBGØ5:ô	:ð .Ð-Þ	ž[ØAFØ49ô	ð -Ð,Þž[ØAFØ49ô	ð -Ð,Þ¦Ø@EØ38ô	ð ,Ð+ð "-ˆ[r%   Úanyc                 ó   • S nU$ )Nc                 ól   • [         R                  " U 5       H  nUR                  5       (       d  M    g   gr  rd   ri  s     r&   Úflat_anyÚnp_any.<locals>.flat_any�  s'   € Ü—’˜1–ˆAØ�v‰v�x‹xÙñ ð r%   r$   )r-   r£  s     r&   Únp_anyr¥  Š  s   € òð €Or%   c                 ó´   • Ub  [        U[        R                  5      (       a  SS jnU$ Ub  [        U[        R                  5      (       a  SS jnU$ SS jnU$ )Nc                 óZ   • [         R                  " U 5      n[         R                  " U5      $ r,   )re   rŠ  rÞ   )r-   r]   Úweightsrh   s       r&   Únp_average_implÚ#np_average.<locals>.np_average_implš  s   € Ü—*’*˜Q“-ˆCÜ—7’7˜3“<Ðr%   c                 óŒ  • [         R                  " U 5      n[         R                  " U5      nUR                  UR                  :w  a)  Uc  [        S5      eUR                  S:w  a  [        S5      e[         R
                  " U5      nUS:X  a  [        S5      e[         R
                  " [         R                  " X25      5      U-  nU$ )NzCNumba does not support average when shapes of a and weights differ.r)   z81D weights expected when shapes of a and weights differ.ç        z)Weights sum to zero, can't be normalized.)re   rŠ  r„   Ú	TypeErrorr�   ÚsumÚZeroDivisionErrorÚmultiply)r-   r]   r¨  rh   ÚsclÚavgs         r&   r©  rª  Ÿ  s¯   € Ü—j’j “m�ÜŸ*š* WÓ-�à—9‘9 §¡Ó-Ø‘|Ü'ð4ó5ð 5ð —|‘| qÓ(Ü'ð4ó5ð 5ô —f’f˜W“o�Ø˜#“:Ü+ØCóEð Eô —f’fœRŸ[š[¨Ó6Ó7¸#Ñ=�Ø�
r%   c                 ó   • [        S5      e)Nz)Numba does not support average with axis.)r­  )r-   r]   r¨  s      r&   r©  rª  µ  s   € ÜÐ KÓLÐLr%   ©NN)rX   r   ÚNoneType)r-   r]   r¨  r©  s       r&   Ú
np_averager¶  –  sX   € ð �œ* W¬e¯n©n×=Ñ=ô	 ð< Ðð5 ‰<œ: d¬E¯N©N×;Ñ;ôð2 ÐôMð Ðr%   c                 óœ   • [        U [        R                  [        R                  45      (       a  [        R
                  $ [        S 5       nU$ )z
A generic isnan() function
c                 ó   • gr  r$   ©Úxs    r&   Ú_trivial_isnanÚ!get_isnan.<locals>._trivial_isnanÂ  s   € àr%   )rX   r   r  r  re   r   r   )r™   r»  s     r&   Ú	get_isnanr½  »  s?   € ô �%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6Ü�x‰xˆä	ñ	ó 
ð	àÐr%   c                 ó*   • [        U 5      (       a  S $ g )Nc                 óH   • [         R                  " U 5      R                  S:g  $ rë   ©re   rŠ  r  r¹  s    r&   Ú<lambda>Únp_iscomplex.<locals>.<lambda>Ì  ó   € œŸš A›×+Ñ+¨qÒ0r%   ©r
   r¹  s    r&   Únp_iscomplexrÅ  È  ó   € ä˜×Ñá0Ð0Ør%   c                 ó*   • [        U 5      (       a  S $ g )Nc                 óH   • [         R                  " U 5      R                  S:H  $ rë   rÀ  r¹  s    r&   rÁ  Únp_isreal.<locals>.<lambda>Ô  rÃ  r%   rÄ  r¹  s    r&   Ú	np_isrealrÊ  Ð  rÆ  r%   c                 ó*  ^• [        U 5      n[        U [        R                  5      (       a  [        U R                  5      n[
        R                  " U[
        R                  5      m[        U [        R                  5      (       a  U4S jnU$ U4S jnU$ )Nc                 ó   >• U c  gT$ r  r$   ©rº  Úiscmplxs    €r&   r]  Úiscomplexobj.<locals>.implâ  s   ø€ Ø‰yØØˆNr%   c                 ó   >• T$ r,   r$   rÍ  s    €r&   r]  rÏ  ç  s   ø€ ØˆNr%   )Údetermine_dtyperX   r   ÚOptionalr‡   re   Ú
issubdtypeÚcomplexfloating)rº  Údtr]  rÎ  s      @r&   ÚiscomplexobjrÖ  Ø  sk   ø€ ô 
˜Ó	€BÜ�!”U—^‘^×$Ñ$Ü˜QŸV™VÓ$ˆÜ�mŠm˜B¤× 2Ñ 2Ó3€Gä�!”U—^‘^×$Ñ$õ	ð €Kõ	à€Kr%   c                 ó   • S nU$ )Nc                 ó8   • [         R                  " U 5      (       + $ r,   )re   rÖ  r¹  s    r&   r]  Úisrealobj.<locals>.implñ  s   € Ü—?’? 1Ó%Ô%Ð%r%   r$   ©rº  r]  s     r&   Ú	isrealobjrÛ  ì  s   € ò
&à€Kr%   c                 ó*   ^• [        U 5      mU4S jnU$ )Nc                 ó   >• T$ r,   r$   )Úelementrx   s    €r&   r]  Únp_isscalar.<locals>.implú  s   ø€ Øˆ
r%   )r   )rÞ  r]  rx   s     @r&   Únp_isscalarrà  ö  s   ø€ ä
˜Ó
!€Cõà€Kr%   c                 óL   ^• [        U5      (       a
  SU4S jjnU$ SU4S jjnU$ )Nc                 óŽ   >• [         R                  " [         R                  " U 5      T" [         R                  " U 5      5      5      $ r,   ©re   Úlogical_andrp  Úsignbit©rº  rÌ   Úfns     €r&   r]  Úis_np_inf_impl.<locals>.impl  s)   ø€ Ü—>’>¤"§(¢(¨1£+©r´"·*²*¸Q³-Ó/@ÓAÐAr%   c                 ó�   >• [         R                  " [         R                  " U 5      T" [         R                  " U 5      5      U5      $ r,   rã  ræ  s     €r&   r]  rè    s+   ø€ Ü—>’>¤"§(¢(¨1£+©r´"·*²*¸Q³-Ó/@À#ÓFÐFr%   r,   ©r   )rº  rÌ   rç  r]  s     ` r&   Úis_np_inf_implrë  ÿ  s*   ø€ ô �3×Ñ÷	Bð €K÷	Gð €Kr%   c                 ó2   • [        S 5      n[        XU5      $ )Nc                 ó   • U $ r,   r$   r¹  s    r&   rÁ  Úisneginf.<locals>.<lambda>  s   € ¡Ar%   ©r   rë  ræ  s      r&   Úisneginfrð    s   € ä	™+Ó	&€BÜ˜! "Ó%Ð%r%   c                 ó2   • [        S 5      n[        XU5      $ )Nc                 ó   • U ) $ r,   r$   r¹  s    r&   rÁ  Úisposinf.<locals>.<lambda>  s   €  Q¡Br%   rï  ræ  s      r&   Úisposinfrô    s   € ä	™,Ó	'€BÜ˜! "Ó%Ð%r%   c                 ó
   • X:  $ r,   r$   ©r-   r„  s     r&   Ú	less_thanr÷    ó	   € à‰5€Lr%   c                 ó
   • X:„  $ r,   r$   rö  s     r&   Úgreater_thanrú    rø  r%   c                 ó:   • U R                   S:X  a  [        S5      eg )Nr   z3zero-size array to reduction operation not possible)rÈ   r‚   rú   s    r&   Úcheck_arrayrü  "  s   € à‡v�v�ƒ{ÜÐNÓOÐOð r%   c                 ó2   ^ • U(       a  U 4S jnU$ U 4S jnU$ )Nc                 óH  >• [         R                  " U 5      n[        U5        [         R                  " U5      n[	        U5      R                  S5      nU HÉ  nUR                  5       n[         R                  " UR                  5      (       a)  [         R                  " UR                  5      (       d  UnMa  T" UR                  UR                  5      (       a  UnM‡  UR                  UR                  :X  d  M£  T" UR                  UR                  5      (       d  MÇ  UnMË     U$ rë   )
re   rŠ  rü  rf   r  r¡   rg   r   rì   r  ©r-   rh   r  Ú
return_valr¸   rj   Úcomparison_ops         €r&   r]  Ú!nan_min_max_factory.<locals>.impl*  sÂ   ø€ Ü—*’*˜Q“-ˆCÜ˜ÔÜ—’˜3“ˆBÜ˜b›Ÿ™ qÓ)ˆJÛ�Ø—I‘I“K�Ü—8’8˜JŸO™O×,Ñ,´R·X²X¸a¿f¹f×5EÑ5EØ!"’Já$ Q§V¡V¨Z¯_©_×=Ñ=Ø%&š
ØŸ™ :§?¡?Õ2Ù(¨¯©°·±×AÓAØ)*šJñ ð Ðr%   c                 ó8  >• [         R                  " U 5      n[        U5        [         R                  " U5      n[	        U5      R                  S5      nU HA  nUR                  5       n[         R                  " U5      (       a  M0  T" X55      (       a  M?  UnMC     U$ rë   )re   rŠ  rü  rf   r  r¡   rg   r   rÿ  s         €r&   r]  r  ;  sq   ø€ Ü—*’*˜Q“-ˆCÜ˜ÔÜ—’˜3“ˆBÜ˜b›Ÿ™ qÓ)ˆJÛ�Ø—I‘I“K�Ü—x’x —{“{Ù(¨×7Ó7Ø%&š
ñ	 ð
 Ðr%   r$   )r  Úis_complex_dtyper]  s   `  r&   Únan_min_max_factoryr  (  s   ø€ Þõ	ð: €Kõ
	ð €Kr%   )r  Tc                 óž  • [         R                  " U 5      (       a  [         R                  " U5      (       a  U$ [         R                  " U 5      (       a&  [         R                  " U5      (       a  U S:„  US:„  :H  $ [         R                  " U 5      (       d  [         R                  " U5      (       a  g[        X-
  5      X2[        U5      -  -   :*  $ )Nr   Fro  )rº  Úyrt  ru  rv  s        r&   Ú_isclose_itemr  X  s…   € ä	‡x‚x�‡{�{”r—x’x —{‘{ØÐÜ	�Š�!�‰œŸš !Ÿ™Ø�A‘˜1˜q™5Ñ!Ð!Ü	�Š�!�‰œŸš Ÿ™Øä�1‘5‹z˜T¬3¨q«6¡MÑ1Ñ1Ð1r%   c                 ó:  • [        U 5      (       d  [        S5      e[        U5      (       d  [        S5      e[        U[        [        R
                  45      (       d  [        S5      e[        U[        [        R
                  45      (       d  [        S5      e[        U[        [        R                  45      (       d  [        S5      e[        U [        R                  5      (       a&  [        U[        R                  5      (       a  S
S jnU$ [        U [        R                  5      (       a&  [        U[        R                  5      (       a  S
S jnU$ [        U [        R                  5      (       a&  [        U[        R                  5      (       a  S
S jnU$ S
S	 jnU$ )Nr|  r}  r~  r  r€  c                 ó  • U R                  S5      nUn[        R                  " [        U5      [        R                  5      n[        [        U5      5       H  n[        XX   XbX45      Xx'   M     UR                  U R                  5      $ ©NrT  ©rW  re   ÚzerosrG   rÓ   r3   r  r„   ©	r-   r„  rt  ru  rv  rº  r  rÌ   r.   s	            r&   Úisclose_implÚisclose.<locals>.isclose_imply  sc   € Ø—	‘	˜"“ˆAØˆAÜ—(’(œ3˜q›6¤2§8¡8Ó,ˆCÜœ3˜s›8–_�Ü& q¡t¨Q°dÓF�“ñ %à—;‘;˜qŸw™wÓ'Ð'r%   c                 ó  • U nUR                  S5      n[        R                  " [        U5      [        R                  5      n[        [        U5      5       H  n[        XVU   X#U5      Xx'   M     UR                  UR                  5      $ r  r  r  s	            r&   r  r  ‚  se   € ØˆAØ—	‘	˜"“ˆAÜ—(’(œ3˜q›6¤2§8¡8Ó,ˆCÜœ3˜s›8–_�Ü& q¨A©$°¸IÓF�“ñ %à—;‘;˜qŸw™wÓ'Ð'r%   c                 óä  • [         R                  " U R                  UR                  5      n[         R                  " X5      n[         R                  " X5      n[         R                  " [        U5      [         R                  S9n[        [         R                  " Xg45      5       H4  u  n	u  p«[        U
R                  5       UR                  5       X#U5      X‰'   M6     [         R                  " X…5      $ ©N©r™   )re   Úbroadcast_shapesr„   Úbroadcast_tor  rG   rÓ   rÉ   rf   r  rg   )r-   r„  rt  ru  rv  r„   Úa_Úb_rÌ   r.   r�  r‹  s               r&   r  r  ‹  s¢   € Ü×'Ò'¨¯©°·±Ó9ˆEÜ—’ Ó*ˆBÜ—’ Ó*ˆBä—(’(œ3˜r›7¬"¯(©(Ñ3ˆCÜ(¬¯ª°B°8Ó)<Ö=‘�‘8�BÜ& r§w¡w£y°"·'±'³)¸TØ'0ó2�“ñ  >ô —?’? 3Ó.Ð.r%   c                 ó   • [        XX#U5      $ r,   )r  rƒ  s        r&   r  r  —  s   € Ü   t°9Ó=Ð=r%   r˜  )
r
   r   rX   r™  r   r  rš  r›  rÁ   rœ  )r-   r„  rt  ru  rv  r  s         r&   Úiscloser  d  sJ  € ä˜A×ÑÜÐEÓFÐFä˜A×ÑÜÐFÓGÐGä�dœU¤E§K¡KÐ0×1Ñ1Üð +ó ,ð 	,ô �dœU¤E§K¡KÐ0×1Ñ1Üð +ó ,ð 	,ô �i¤$¬¯©Ð!6×7Ñ7Üð $ó %ð 	%ô �!”U—[‘[×!Ñ!¤j°´E·L±L×&AÑ&Aô	(ðB Ðô3 
�A”u—|‘|×	$Ñ	$¬°A´u·{±{×)CÑ)Cô	(ð0 Ðô! 
�A”u—{‘{×	#Ñ	#¬
°1´e·k±k×(BÑ(Bô		/ð Ðô	>ð Ðr%   c                 ó„   • [        U 5      n[        R                  " U[        R                  5      (       a  [        $ [
        $ r,   )rÑ  re   rÓ  rÔ  Úcomplex_nanminÚreal_nanmin©r-   rÕ  s     r&   Ú	np_nanminr  �  ó/   € ä	˜Ó	€BÜ	‡}‚}�Rœ×+Ñ+×,Ñ,ÜÐäÐr%   c                 ó„   • [        U 5      n[        R                  " U[        R                  5      (       a  [        $ [
        $ r,   )rÑ  re   rÓ  rÔ  Úcomplex_nanmaxÚreal_nanmaxr  s     r&   Ú	np_nanmaxr$  ¦  r   r%   c                 ó~   ^• [        U [        R                  5      (       d  g [        U R                  5      mU4S jnU$ )Nc                 óÞ   >• SnSn[         R                  " U 5       H9  nUR                  5       nT" U5      (       a  M"  XR                  5       -  nUS-  nM;     [         R                  " X5      $ ©Nr¬  r   r)   )re   rf   rg   Údivide)r-   ri   Úcountr¸   rj   r   s        €r&   Únanmean_implÚ np_nanmean.<locals>.nanmean_implµ  sZ   ø€ ØˆØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø—V‘V“X‘�Ø˜‘
’ñ	 !ô �yŠy˜Ó"Ð"r%   ©rX   r   rÁ   r½  r™   )r-   r*  r   s     @r&   Ú
np_nanmeanr-  ¯  s2   ø€ ä�aœŸ™×%Ñ%ØÜ�a—g‘gÓ€Eõ	#ð Ðr%   c                 ó~   ^• [        U [        R                  5      (       d  g [        U R                  5      mU4S jnU$ )Nc                 ól  >• [         R                  " U 5      nSnSn[         R                  " U 5       Hj  nUR                  5       nT" U5      (       a  M"  UR                  5       U-
  nU[         R                  " U[         R
                  " U5      -  5      -  nUS-  nMl     [         R                  " X#5      $ r'  )re   Únanmeanrf   rg   rì   rí   r(  )r-   rî   rï   r)  r¸   rj   rð   r   s          €r&   Únanvar_implÚnp_nanvar.<locals>.nanvar_implÉ  s‹   ø€ ä�JŠJ�q‹Mˆð ˆØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø—v‘v“x !‘|�Ø”r—w’w˜s¤R§W¢W¨S£\Ñ1Ó2Ñ2�Ø˜‘
’ñ !ô �yŠy˜Ó$Ð$r%   r,  )r-   r1  r   s     @r&   Ú	np_nanvarr3  Ã  s2   ø€ ä�aœŸ™×%Ñ%ØÜ�a—g‘gÓ€Eõ%ð  Ðr%   c                 óL   • [        U [        R                  5      (       d  g S nU$ )Nc                 ó4   • [         R                  " U 5      S-  $ rø   )re   Únanvarrú   s    r&   Únanstd_implÚnp_nanstd.<locals>.nanstd_implá  s   € Ü�yŠy˜‹|˜sÑ"Ð"r%   ró   )r-   r7  s     r&   Ú	np_nanstdr9  Ü  s#   € ä�aœŸ™×%Ñ%Øò#ð Ðr%   c                 ó  ^^• [        U [        R                  5      (       d  g [        U R                  [        R                  5      (       a  [        R
                  nOU R                  nU" S5      m[        U R                  5      mUU4S jnU$ )Nr   c                 óŒ   >• Tn[         R                  " U 5       H&  nUR                  5       nT" U5      (       a  M"  X-  nM(     U$ r,   rd   )r-   ri   r¸   rj   r   rk   s       €€r&   Únansum_implÚnp_nansum.<locals>.nansum_implò  s<   ø€ ØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø‘’ñ !ð ˆr%   ©rX   r   rÁ   r™   ÚIntegerr5   r½  )r-   r¥   r<  r   rk   s      @@r&   Ú	np_nansumr@  ç  sb   ù€ ä�aœŸ™×%Ñ%ØÜ�!—'‘'œ5Ÿ=™=×)Ñ)Ü—
‘
‰à—‘ˆÙ�‹8€DÜ�a—g‘gÓ€Eöð Ðr%   c                 ó  ^^• [        U [        R                  5      (       d  g [        U R                  [        R                  5      (       a  [        R
                  nOU R                  nU" S5      m[        U R                  5      mUU4S jnU$ )Nr)   c                 óŒ   >• Tn[         R                  " U 5       H&  nUR                  5       nT" U5      (       a  M"  X-  nM(     U$ r,   rd   )r-   ri   r¸   rj   r   Úones       €€r&   Únanprod_implÚ np_nanprod.<locals>.nanprod_impl  s<   ø€ ØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø‘’ñ !ð ˆr%   r>  )r-   r¥   rD  r   rC  s      @@r&   Ú
np_nanprodrF  ý  sb   ù€ ä�aœŸ™×%Ñ%ØÜ�!—'‘'œ5Ÿ=™=×)Ñ)Ü—
‘
‰à—‘ˆÙ
�‹(€CÜ�a—g‘gÓ€Eöð Ðr%   c                 ó  ^^^• [        U [        R                  5      (       d  g [        U R                  [        R                  [        R
                  45      (       a  S $ U R                  m[        T5      mT" S5      mUUU4S jnU$ )Nc                 ó.   • [         R                  " U 5      $ r,   )re   rØ   rú   s    r&   rÁ  Únp_nancumprod.<locals>.<lambda>  s   € œŸš Aœr%   r)   c                 ó¶   >• [         R                  " U R                  T5      nTn[        U R                  5       H  u  p4T" U5      ) (       a  X$-  nX!U'   M     U$ r,   rÆ   )r-   rÌ   ri   rÍ   rj   Úis_nanrC  r¥   s        €€€r&   Únancumprod_implÚ&np_nancumprod.<locals>.nancumprod_impl   sO   ø€ Ü—(’(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÖ+‘�Ù˜1“I–:Ø‘F�AØ�C“ñ ,ð ˆJr%   ©rX   r   rÁ   r™   r›  r?  r½  )r-   rL  rK  rC  r¥   s     @@@r&   Únp_nancumprodrO    sd   ú€ ä�aœŸ™×%Ñ%Øä�!—'‘'œEŸM™M¬5¯=©=Ð9×:Ñ:á&Ð&à—‘ˆÜ˜5Ó!ˆÙ�A‹hˆ÷	ð Ðr%   c                 ó  ^^^• [        U [        R                  5      (       d  g [        U R                  [        R                  [        R
                  45      (       a  S $ U R                  m[        T5      mT" S5      mUUU4S jnU$ )Nc                 ó.   • [         R                  " U 5      $ r,   )re   rÃ   rú   s    r&   rÁ  Únp_nancumsum.<locals>.<lambda>3  s   € œŸš 1œr%   r   c                 ó¶   >• [         R                  " U R                  T5      nTn[        U R                  5       H  u  p4T" U5      ) (       a  X$-  nX!U'   M     U$ r,   rÆ   )r-   rÌ   ri   rÍ   rj   rK  r¥   rk   s        €€€r&   Únancumsum_implÚ$np_nancumsum.<locals>.nancumsum_impl9  sO   ø€ Ü—(’(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÖ+‘�Ù˜1“I–:Ø‘F�AØ�C“ñ ,ð ˆJr%   rN  )r-   rT  rK  r¥   rk   s     @@@r&   Únp_nancumsumrV  ,  sd   ú€ ä�aœŸ™×%Ñ%Øä�!—'‘'œEŸM™M¬5¯=©=Ð9×:Ñ:á%Ð%à—‘ˆÜ˜5Ó!ˆÙ�Q‹xˆ÷	ð Ðr%   c                 óP   • [        U 5      n[        U5      S:X  a  [        S5      eU$ )Nr   z&zero-size array reduction not possible)Ú_asarrayrG   r‚   ©r-   rh   s     r&   Úprepare_ptp_inputrZ  E  s'   € ä
�1‹+€CÜ
ˆ3ƒx�1ƒ}ÜÐAÓBÐBàˆ
r%   c                 ób   ^ • [        U[        R                  5      (       a  U 4S jnU$ U 4S jnU$ )Nc                 óÌ   >• T" UR                   U R                   5      (       a  U$ UR                   U R                   :X  a$  T" UR                  U R                  5      (       a  U$ U $ r,   r  ©Úcurrent_valrð   r”   s     €r&   r]  Ú+_compute_current_val_impl_gen.<locals>.implU  sS   ø€ Ù�#—(‘(˜K×,Ñ,×-Ñ-Ø�
Ø—(‘(˜k×.Ñ.Ó.Ù˜3Ÿ8™8 [×%5Ñ%5×6Ñ6Ø�
ØÐr%   c                 ó&   >• T" X5      (       a  U$ U $ r,   r$   r]  s     €r&   r]  r_  ]  s   ø€ Ù˜S×.Ñ.�3Ð?°KÐ?r%   )rX   r   r  )r”   r^  rð   r]  s   `   r&   Ú_compute_current_val_impl_genra  N  s+   ø€ Ü�+œuŸ}™}×-Ñ-õ	ð €Kõ	@à€Kr%   c                 ó   • g r,   r$   ©r^  rð   s     r&   Ú_compute_a_maxrd  b  ó   € Ør%   c                 ó   • g r,   r$   rc  s     r&   Ú_compute_a_minrg  f  re  r%   c                 ó6   • [        [        R                  X5      $ r,   )ra  ÚoperatorÚgtrc  s     r&   Ú_compute_a_max_implrk  j  ó   € ä(¬¯©°kÓGÐGr%   c                 ó6   • [        [        R                  X5      $ r,   )ra  ri  Últrc  s     r&   Ú_compute_a_min_implro  o  rl  r%   c                 ó   • g r,   r$   ©rð   s    r&   Ú_early_returnrr  t  re  r%   c                 ó´   ^• Sm[        U [        R                  5      (       a  U4S jnU$ [        U [        R                  5      (       a  U4S jnU$ U4S jnU$ )Nr   c                 ó  >• [         R                  " U R                  5      (       a`  [         R                  " U R                  5      (       a&  S[         R                  [         R                  S-  -   4$ S[         R                  S-   4$ ST4$ )NTù              ð?y                F)re   r   rì   r  Únan©rð   ÚUNUSEDs    €r&   r]  Ú _early_return_impl.<locals>.impl|  sb   ø€ Ü�xŠx˜Ÿ™×!Ñ!Ü—8’8˜CŸH™H×%Ñ%Ø¤§¡¬"¯&©&°2©+Ñ!5Ð5Ð5à¤§¡¨"¡Ð,Ð,à˜f�}Ð$r%   c                 óf   >• [         R                  " U 5      (       a  S[         R                  4$ ST4$ r  )re   r   rv  rw  s    €r&   r]  ry  …  s(   ø€ Ü�xŠx˜�}‰}ØœRŸV™V�|Ð#à˜f�}Ð$r%   c                 ó   >• ST4$ r  r$   rw  s    €r&   r]  ry  ‹  s   ø€ Ø˜&�=Ð r%   )rX   r   r  r  )rð   r]  rx  s     @r&   Ú_early_return_implr|  x  sN   ø€ à€FÜ�#”u—}‘}×%Ñ%õ	%ð" €Kô 
�CœŸ™×	%Ñ	%õ	%ð €Kõ	!à€Kr%   c                 ó–   • [        U S5      (       a4  [        U R                  [        R                  5      (       a  [        S5      eS nU$ )Nr™   ú+Boolean dtype is unsupported (as per NumPy)c                 óè   • [        U 5      nUR                  nUS   nUS   n[        UR                  5       H5  nX%   n[	        U5      u  pxU(       a  Us  $ [        XF5      n[        X65      nM7     XC-
  $ rë   )rZ  rÊ   r3   rÈ   rr  rd  rg  )	r-   rh   Úa_flatÚa_minÚa_maxr.   rð   Útake_branchÚretvals	            r&   Únp_ptp_implÚnp_ptp.<locals>.np_ptp_impl˜  ss   € Ü Ó"ˆà—‘ˆØ�q‘	ˆØ�q‘	ˆä�s—x‘x–ˆAØ‘)ˆCÜ"/°Ó"4ÑˆKÞØ’Ü" 5Ó.ˆEÜ" 5Ó.ŠEñ !ð ‰}Ðr%   )ÚhasattrrX   r™   r   r›  r   )r-   r…  s     r&   Únp_ptprˆ  �  s?   € ô ˆq�'×ÑÜ�a—g‘gœuŸ}™}×-Ñ-ÜÐKÓLÐLòð" Ðr%   )r€   r   Úptpc                 óz   • [         R                  " U 5      (       a  g[         R                  " U5      (       a  gX:  $ r"   )re   r   rö  s     r&   Únan_aware_less_thanr‹  ³  s)   € ä	‡x‚x�‡{�{Øä�8Š8�A�;‰;Øà‘5ˆLr%   c                 ó   ^ ^• SUU 4S jjnU$ )Nc                 ó  >• X-   S-	  nT	" X   X   5      (       a!  X   X   sX'   X'   T(       a  X4   X1   sX1'   X4'   T	" X   X   5      (       a!  X   X   sX'   X'   T(       a  X4   X2   sX2'   X4'   T	" X   X   5      (       a!  X   X   sX'   X'   T(       a  X4   X1   sX1'   X4'   X   nX   X   sX'   X'   T(       a  X4   X2   sX2'   X4'   UnUS-
  n Xb:  a,  T	" X   U5      (       a  US-  nXb:  a  T	" X   U5      (       a  M  Xq:¼  a,  T	" XPU   5      (       a  US-  nXq:¼  a  T	" XPU   5      (       a  M  Xg:¼  a  O-X   X   sX'   X'   T(       a  X7   X6   sX6'   X7'   US-  nUS-  nM•  X   X   sX'   X'   T(       a  X2   X6   sX6'   X2'   U$ ©Nr)   r$   )
ÚAÚlowÚhighÚIÚmidÚpivotr.   ÚjÚargpartitionÚ	pivotimpls
           €€r&   Ú
_partitionÚ&_partition_factory.<locals>._partition¿  sÚ  ø€ Ø‰z˜aÑˆñ �Q‘V˜Q™V×$Ñ$Ø™V Q¡VˆNˆA‰F�A‘FÞØ!"¡¨©��‘˜™Ù�Q‘W˜a™f×%Ñ%Ø™f a¡gˆOˆA‰G�Q‘VÞØ"#¡&¨!©'��‘˜™Ù�Q‘V˜Q™V×$Ñ$Ø™V Q¡VˆNˆA‰F�A‘FÞØ!"¡¨©��‘˜™Ø‘ˆà™& !¡'ˆˆ‰�‘ÞØ™f a¡gˆOˆA‰G�Q‘VØˆØ�1‰HˆØØ“(™y¨©¨u×5Ñ5Ø�Q‘�ð “(™y¨©¨u×5Ó5à“(™y¨°!±×5Ñ5Ø�Q‘�ð “(™y¨°!±×5Ó5à‹vØØ™˜q™tˆJˆA‰D�!‘$ÞØ™T 1¡4�
�‘�a‘dØ�‰FˆAØ�‰FˆAñ ð ™ ¡ˆˆ‰ˆa‰gÞØ™G Q¡TˆMˆA‰D�!‘'Øˆr%   r,   r$   )r—  r–  r˜  s   `` r&   Ú_partition_factoryrš  ¾  s   ù€ ÷,ð ,ðZ Ðr%   )r–  c                 ó   ^ • SU 4S jjnU$ )Nc                 óz   >• T" XX45      nXQ:w  a)  XQ:  a  US-   nT" XX45      nOUS-
  nT" XX45      nXQ:w  a  M)  X   $ )z:
Select the k'th smallest element in array[low:high + 1].
r)   r$   )r1  Úkr�  r‘  rÍ   r.   Úpartitionimpls         €r&   Ú_selectÚ _select_factory.<locals>._selectø  sU   ø€ ñ ˜$ TÓ/ˆØ‹fØ‹uØ˜!‘e�Ù! $¨TÓ7‘à˜1‘u�Ù! $¨TÓ7�ð �fð ‰wˆr%   r,   r$   )rž  rŸ  s   ` r&   Ú_select_factoryr¡  ÷  s   ø€ ÷ð €Nr%   c                 óÈ   •  X2:”  d   e[        XU5      nXA:  a  US-   nO7XAS-   :”  a  US-
  nO)XA:X  a  [        XS-   US-   U5        O[        XX$S-
  5        OMW  X   XS-      4$ )z™
Select the k'th and k+1'th smallest elements in array[low:high + 1].

This is significantly faster than doing two independent selections
for k and k+1.
r)   )r˜  rŸ  )r1  r�  r�  r‘  r.   s        r&   Ú_select_twor£    s„   € ð Ø‹zÐˆzÜ�t $Ó'ˆØ‹5Ø�a‘%‰CØ�Q‘‹YØ�q‘5‰DØ‹VÜ�D˜a™%  Q¡¨Ô-Øä�D˜S a¡%Ô(Øñ ð ‰7�D˜Q™‘KÐÐr%   c                 ót   • SnUS-
  nUS-	  nUS-  S:X  a  [        XS-
  X#5      u  pVXV-   S-  $ [        XX#5      $ )zh
The main logic of the median() call.  *temp_arry* must be disposable,
as this function will mutate it.
r   r)   r€   )r£  rŸ  )Ú	temp_arryÚnr�  r‘  Úhalfr-   r„  s          r&   Ú_median_innerr¨  &  sQ   € ð €CØˆq‰5€DØ�‰6€DØˆ1�u�ƒzÜ˜9¨Q¡h°Ó:‰ˆØ‘˜‰{Ðä�y¨Ó2Ð2r%   c                 óL   • [        U [        R                  5      (       d  g S nU$ )Nc                 óV   • U R                  5       nUR                  S   n[        X5      $ rë   )Úflattenr„   r¨  )r-   r¥  r¦  s      r&   Úmedian_implÚnp_median.<locals>.median_impl;  s(   € ð —I‘I“Kˆ	Ø�O‰O˜AÑˆÜ˜YÓ*Ð*r%   ró   )r-   r¬  s     r&   Ú	np_medianr®  6  s#   € ä�aœŸ™×%Ñ%Øò+ð Ðr%   c                 ó  • [        U 5      nUS:X  a2  [        R                  " [        U5      U S   [        R                  S9nU$ [        R                  " [        U5      [        R                  S9n[        [        U5      5       GHø  nX   nUS:X  at  [        R                  " U 5      n[        R                  " [        R                  " U 5      5      ) (       a,  [        R                  " U5      ) (       a  [        R                  nGOrUS:X  Ga  [        R                  " U 5      n[        R                  " [        R                  " U 5      5      ) (       aÀ  [        R                  " U [        R                  :H  5      n[        R                  " U [        R                  * :H  5      nX(U-   -
  n	U	S:X  a  [        R                  nUS:X  a  US:X  a  [        R                  nUS:”  a  [        R                  nU	S:X  a  US:”  a  US:w  a  [        R                  nOdSUS-
  [        R                  " US5      -  -   n
[        R                  " U
5      nX«-
  n[!        U [#        US-
  5      SUS-
  S9u  pÞUSU-
  -  Xì-  -   nXcU'   GMû     U$ )Nr)   r   r  éd   r€   ç      Y@)r�  r�  r‘  )rG   re   r†   rå   rÇ   r3   r#  rf  Úisfiniterv  r  r®  ÚinfÚtrue_divideÚmathÚfloorr£  Úint)r-   Úqr¦  rÌ   r.   Ú
percentilerð   Únum_pos_infÚnum_neg_infÚ
num_finiteÚrankÚfrî   ÚlowerÚuppers                  r&   Ú_collect_percentiles_innerrÁ  E  së  € ô 	ˆA‹€AàˆAƒvä�gŠg”c˜!“f˜a ™d¬"¯*©*Ñ5ˆðT €JôQ �hŠh”s˜1“v¤R§Z¡ZÑ0ˆÜ”s˜1“v—ˆAØ™ˆJð ˜SÓ Ü—f’f˜Q“i�ä—F’Fœ2Ÿ;š; q›>Ó*Ö*ÜŸš CÓ(Ö(Ü Ÿf™f˜ùð ˜q”Ü—f’f˜Q“i�ä—F’Fœ2Ÿ;š; q›>Ó*Ö*Ü"$§&¢&¨¬b¯f©f©Ó"5�KÜ"$§&¢&¨¬r¯v©v¨g©Ó"6�KØ!"°KÑ&?Ñ!@�JØ! Q“Ü Ÿf™f˜Ø" aÓ'¨A°«FÜ Ÿf™f˜Ø" Q“Ü Ÿf™f˜Ø! Q“Ø&¨›?Ø*¨aÓ/Ü&(§f¡f øð ˜A ™E¤R§^¢^°JÀÓ%FÑFÑF�Ü—J’J˜tÓ$�Ø‘H�Ü*¨1´°A¸±E³
ÀÈÈQÉÑP‘�Ø˜q 1™u‘o¨©	Ñ1�Ø�ŒFñK ðN €Jr%   c                 óÊ   • U(       a  X)    n [        U 5      S:X  a  gO[        R                  " U5      (       a  g[        U 5      S:X  a  U S   n[        R                  " U5      $ g)Nr   Fr)   T)rG   re   r   r²  )r-   Únan_maskÚskip_nanrð   s       r&   Ú_can_collect_percentilesrÅ  z  s[   € æØˆi‰LˆÜˆq‹6�Q‹;Øð ô �6Š6�(×ÑØä
ˆ1ƒv�ƒ{Ø�‰dˆÜ�{Š{˜3ÓÐàr%   c                 óÄ  • SnU R                   S:X  aa  U R                  S:  aQ  [        U R                  5       H5  nX   S:  d'  X   U:”  d  [        R                  " X   5      (       d  M2  Sn  U$     U$ [        R
                  " [        R                  " U 5      5      (       d;  [        R
                  " U S:  5      (       d  [        R
                  " X:„  5      (       a  SnU$ )NTr)   é
   r¬  F)r�   rÈ   r3   re   r   r   )r¸  Úq_upper_boundÚvalidr.   s       r&   Úcheck_validrÊ  ‹  sª   € à€Eð 	‡v�v�ƒ{�q—v‘v “{Ü�q—v‘v–ˆAØ‰t�c‹z˜Q™T MÓ1´R·X²X¸a¹d·^³^Ø�Øð
 €Lò ð €Lô �6Š6”"—(’(˜1“+×Ñ¤"§&¢&¨¨S©§/¡/´R·V²V¸AÑ<M×5NÑ5NØˆEà€Lr%   c                 ó8   • [        U SS9(       d  [        S5      eg )Nr±  ©rÈ  z)Percentiles must be in the range [0, 100]©rÊ  r‚   ©r¸  s    r&   Úpercentile_is_validrÏ  œ  s   € ä�q¨×.ÜÐDÓEÐEð /r%   c                 ó8   • [        U SS9(       d  [        S5      eg )Nrn  rÌ  z%Quantiles must be in the range [0, 1]rÍ  rÎ  s    r&   Úquantile_is_validrÑ  ¢  s   € ä�q¨×,ÜÐ@ÓAÐAð -r%   c                 ó°  • [         R                  " U[         R                  S9R                  5       nU" U5        X-  n[         R                  " U [         R                  S9R                  5       n[         R                  " U5      n[        XVU5      (       a  XV)    n[        XQ5      nU$ [         R                  " [        U5      [         R                  5      nU$ r  )
re   rŠ  rå   r«  r   rÅ  rÁ  r†   rG   rv  )r-   r¸  Úcheck_qÚfactorrÄ  r¥  rÃ  rÌ   s           r&   Ú_collect_percentilesrÕ  ¨  sŸ   € ä
�
Š
�1œBŸJ™JÑ'×/Ñ/Ó1€AÙˆA„JØ	‰
€Aä—
’
˜1¤B§J¡JÑ/×7Ñ7Ó9€IÜ�xŠx˜	Ó"€Hä 	°X×>Ñ>Ø˜iÑ(ˆ	Ü(¨Ó6ˆð €Jô �gŠg”c˜!“fœbŸf™fÓ%ˆà€Jr%   c                 óp  ^^^• [        U 5      n[        R                  " U[        R                  5      (       a  [	        S5      eUUU4S jnUUU4S jn[        U[        R                  [        R                  45      (       a  U$ [        U[        R                  5      (       a  UR                  S:X  a  U$ U$ )zš
The underlying algorithm to find percentiles and quantiles
is the same, hence we converge onto the same code paths
in this inner function implementation
zNot supported for complex dtypec                 ó&   >• [        XTTT5      S   $ rë   ©rÕ  ©r-   r¸  rÓ  rÔ  rÄ  s     €€€r&   Únp_percentile_q_scalar_implÚ?_percentile_quantile_inner.<locals>.np_percentile_q_scalar_implÆ  s   ø€ Ü# A¨'°6¸8ÓDÀQÑGÐGr%   c                 ó    >• [        XTTT5      $ r,   rØ  rÙ  s     €€€r&   Únp_percentile_implÚ6_percentile_quantile_inner.<locals>.np_percentile_implÉ  s   ø€ Ü# A¨'°6¸8ÓDÐDr%   r   )rÑ  re   rÓ  rÔ  r   rX   r   rœ  r›  rÁ   r�   )r-   r¸  rÄ  rÔ  rÓ  rÕ  rÚ  rÝ  s     ```   r&   Ú_percentile_quantile_innerrß  º  s‡   ú€ ô 
˜Ó	€BÜ	‡}‚}�Rœ×+Ñ+×,Ñ,ÜÐ;Ó<Ð<÷H÷Eô �!”e—l‘l¤E§M¡MÐ2×3Ñ3Ø*Ð*Ü	�A”u—{‘{×	#Ñ	#¨¯©°!«Ø*Ð*à!Ð!r%   c                 ó"   • [        XSS[        S9$ )NFrn  ©rÄ  rÔ  rÓ  ©rß  rÏ  ©r-   r¸  s     r&   Únp_percentilerä  Ô  s   € ä%Ø	�u SÔ2Eñð r%   c                 ó"   • [        XSS[        S9$ )NTrn  rá  râ  rã  s     r&   Únp_nanpercentileræ  Û  s   € ä%Ø	�t CÔ1Dñð r%   c                 ó"   • [        XSS[        S9$ )NFr±  rá  ©rß  rÑ  rã  s     r&   Únp_quantileré  â  s   € ä%Ø	�u UÔ4Eñð r%   c                 ó"   • [        XSS[        S9$ )NTr±  rá  rè  rã  s     r&   Únp_nanquantilerë  é  s   € ä%Ø	�t EÔ3Dñð r%   c                 ó~   ^• [        U [        R                  5      (       d  g [        U R                  5      mU4S jnU$ )Nc                 ó*  >• [         R                  " U R                  U R                  5      nSn[         R                  " U 5       H+  nUR                  5       nT" U5      (       a  M"  XAU'   US-  nM-     US:X  a  [         R                  $ [        X5      $ ©Nr   r)   )re   rÇ   rÈ   r™   rf   rg   rv  r¨  )r-   r¥  r¦  r¸   rj   r   s        €r&   Únanmedian_implÚ$np_nanmedian.<locals>.nanmedian_implö  ss   ø€ ä—H’H˜QŸV™V Q§W¡WÓ-ˆ	ØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø ˜!‘Ø�Q‘’ñ	 !ð �‹6Ü—6‘6ˆMä˜YÓ*Ð*r%   r,  )r-   rï  r   s     @r&   Únp_nanmedianrñ  ð  s2   ø€ ä�aœŸ™×%Ñ%ØÜ�a—g‘gÓ€Eõ+ð  Ðr%   c                 ó  • [         R                  " U 5      n[         R                  " U R                  S S 5      nU H@  nX   R	                  5       nSn[        U5      S-
  nU H  n[        XXXg5        UnM     XRU'   MB     U$ )NrT  r   r)   )re   Ú
empty_likeÚndindexr„   ÚcopyrG   Ú_select_w_nan)	r-   Ú	kth_arrayrÌ   rÍ   Úsr1  r�  r‘  Úkths	            r&   Únp_partition_impl_innerrú  	  s|   € ô
 �-Š-˜Ó
€Cä
�*Š*�Q—W‘W˜S˜b�\Ó
"€CÛˆØ‰t�y‰y‹{ˆØˆÜ�4‹y˜1‰}ˆãˆCÜ˜$ SÔ/ØŠCñ ð ˆA‹ñ ð €Jr%   c           	      ó^  • [         R                  " U [         R                  S9n[         R                  " U R                  S S 5      nU H`  nX   R                  5       n[         R                  " [        U5      5      nSn[        U5      S-
  nU H  n	[        XYXxU5        U	nM     XbU'   Mb     U$ )Nr  rT  r   r)   )	re   ró  r5   rô  r„   rõ  ÚarangerG   Ú_arg_select_w_nan)
r-   r÷  rÌ   rÍ   rø  r1  Úidx_arryr�  r‘  rù  s
             r&   Únp_argpartition_impl_innerrÿ    s–   € ô
 �-Š-˜¤§¡Ñ
)€Cä
�*Š*�Q—W‘W˜S˜b�\Ó
"€CÛˆØ‰t�y‰y‹{ˆÜ—9’9œS ›YÓ'ˆØˆÜ�4‹y˜1‰}ˆãˆCÜ˜d¨°HÔ=ØŠCñ ð ˆA‹ñ ð €Jr%   c                 óð  • [        U5      R                  [        R                  5      nUR                  S:w  a  [        S5      e[        R                  " [        R                  " U5      U R                  S   :¬  5      (       a  [        S5      e[        R                  " U5      n[        R                  " U5       H$  u  pEUS:  a  XPR                  S   -   X4'   M   XSU'   M&     [        R                  " U5      $ )ai  
Returns a sorted, unique array of kth values which serve
as indexers for partitioning the input array, a.

If the absolute value of any of the provided values
is greater than a.shape[-1] an exception is raised since
we are partitioning along the last axis (per Numpy default
behaviour).

Values less than 0 are transformed to equivalent positive
index values.
r)   zkth must be scalar or 1-DrT  zkth out of boundsr   )rX  Úastypere   r·   r�   r‚   r   rq  r„   ró  ÚndenumerateÚunique)r-   rù  r÷  rÌ   Úindexrð   s         r&   Ú
valid_kthsr  4  sº   € ô ˜“×$Ñ$¤R§X¡XÓ.€Ià‡~�~˜ÓÜÐ4Ó5Ð5ô 
‡v‚vŒb�fŠf�YÓ 1§7¡7¨2¡;Ñ.×/Ñ/ÜÐ,Ó-Ð-ä
�-Š-˜	Ó
"€Cä—n’n YÖ/‰
ˆØ�‹7ØŸw™w r™{Ñ*ˆC‹Jà�‹Jñ	 0ô �9Š9�S‹>Ðr%   c                 ó¤  • [        U [        R                  [        R                  [        R                  45      (       d  [        S5      e[        U [        R                  5      (       a  U R                  S:X  a  Sn[        U5      e[        USU5      n[        U[        R                  [        R                  45      (       d  [        S5      eS nU$ )Nú(The first argument must be an array-liker   ú3The first argument must be at least 1-D (found 0-D)r™   úPartition index must be integerc                 ó„   • [        U 5      nUR                  S:X  a  UR                  5       $ [        X!5      n[	        X#5      $ rë   )rX  rÈ   rõ  r  rú  ©r-   rù  Úa_tmpr÷  s       r&   Únp_partition_implÚ'np_partition.<locals>.np_partition_implf  s7   € Ü˜“ˆØ�:‰:˜‹?Ø—:‘:“<Ðä" 5Ó.ˆIÜ*¨5Ó<Ð<r%   ©
rX   r   rÁ   ÚSequencer[   r   r�   r    r›  r?  )r-   rù  r³   Úkthdtr  s        r&   Únp_partitionr  W  sœ   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐC×DÑDÜÐGÓHÐHä�!”U—[‘[×!Ñ! a§f¡f°£kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ�eœeŸm™m¬U¯]©]Ð;×<Ñ<äÐ>Ó?Ð?ò=ð Ðr%   c                 ó¤  • [        U [        R                  [        R                  [        R                  45      (       d  [        S5      e[        U [        R                  5      (       a  U R                  S:X  a  Sn[        U5      e[        USU5      n[        U[        R                  [        R                  45      (       d  [        S5      eS nU$ )Nr  r   r  r™   r	  c                 ó¢   • [        U 5      nUR                  S:X  a  UR                  5       R                  S5      $ [	        X!5      n[        X#5      $ )Nr   r5   )rX  rÈ   rõ  r  r  rÿ  r  s       r&   Únp_argpartition_implÚ-np_argpartition.<locals>.np_argpartition_impl€  sB   € Ü˜“ˆØ�:‰:˜‹?Ø—:‘:“<×&Ñ& vÓ.Ð.ä" 5Ó.ˆIÜ-¨eÓ?Ð?r%   r  )r-   rù  r³   r  r  s        r&   Únp_argpartitionr  q  s�   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐC×DÑDÜÐGÓHÐHä�!”U—[‘[×!Ñ! a§f¡f°£kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ�eœeŸm™m¬U¯]©]Ð;×<Ñ<äÐ>Ó?Ð?ò@ð  Ðr%   c                 ó  • [        SU 5      [        SU5      4n[        R                  " U[        R                  S9n[	        US   5       H1  n[        [        SXR-   S-   5      US   5      nSXES U24'   SXEUS 24'   M3     U$ )Nr   r  r)   )r#  re   rÇ   rå   r3   r  )ÚNÚMr�  r„   rÌ   r.   Úm_maxs          r&   Ú	_tri_implr  Ž  s~   € ä��1‹I”s˜1˜a“yÐ €EÜ
�(Š(�5¤§
¡
Ñ
+€Cä�5˜‘8Ž_ˆÜ”C˜˜1™5 1™9Ó% u¨Q¡xÓ0ˆØˆˆv�ˆvˆI‰Øˆˆu‰vˆI‹ñ ð
 €Jr%   c                 ó(   • [        US5        SS jnU$ )Nr�  c                 ó$   • Uc  U n[        XU5      $ r,   )r  )r  r  r�  s      r&   Útri_implÚnp_tri.<locals>.tri_impl¡  s   € Ø‰9ØˆAÜ˜˜qÓ!Ð!r%   rë   )r   )r  r  r�  r  s       r&   Únp_trir!  ›  s   € ô �Q˜Ôô"ð
 €Or%   c                 ó¬   • U R                   S:X  d   e[        U 5      n[        R                  " X4U R                  S9n[        U5       H  nXU'   M	     U$ )ze
Takes a 1d array and tiles it to form a square matrix
- i.e. a facsimile of np.tile(m, (len(m), 1))
r)   r  )r�   rG   re   rÇ   r™   r3   )rî   Úlen_mrÌ   r.   s       r&   Ú_make_squarer$  ©  sO   € ð �6‰6�Q‹;Ðˆ;ä�‹F€EÜ
�(Š(�E�>¨¯©Ñ
1€Cä�5Ž\ˆØˆA‹ñ ð €Jr%   c           	      ó  • [         R                  " U R                  S   U R                  S   US9R                  [         R                  5      n[         R
                  " X [         R                  " X R                  S95      $ ©NéþÿÿÿrT  ©r  r�  r  ©re   Útrir„   r  ÚuintÚwhereÚ
zeros_liker™   ©rî   r�  Úmasks      r&   Únp_tril_impl_2dr0  º  sQ   € ä�6Š6�!—'‘'˜"‘+ §¡¨¡°Ñ2×9Ñ9¼"¿'¹'ÓB€DÜ�8Š8�DœRŸ]š]¨1·G±GÑ<Ó=Ð=r%   c                 ó‚   • [        US5        SS jnSS jnU R                  S:X  a  U$ U R                  S:X  a  [        $ U$ )Nr�  c                 ó.   • [        U 5      n[        X!5      $ r,   )r$  r0  ©rî   r�  Úm_2ds      r&   Únp_tril_impl_1dÚ my_tril.<locals>.np_tril_impl_1dÆ  ó   € Ü˜A‹ˆÜ˜tÓ'Ð'r%   c                 ó˜  • [         R                  " U R                  S   U R                  S   US9R                  [         R                  5      n[         R
                  " U R                  S S 5      n[         R                  " U 5      n[         R                  " X R                  S9nU H  n[         R                  " X U   U5      XF'   M!     U$ r&  ©
re   r*  r„   r  r+  rô  ró  r-  r™   r,  ©rî   r�  r/  rÍ   ÚzÚzero_optÚsels          r&   Únp_tril_impl_multiÚ#my_tril.<locals>.np_tril_impl_multiÊ  s�   € Ü�vŠv�a—g‘g˜b‘k Q§W¡W¨R¡[°AÑ6×=Ñ=¼b¿g¹gÓFˆÜ�jŠj˜Ÿ™  "˜Ó&ˆÜ�MŠM˜!ÓˆÜ—=’= ¯W©WÑ5ˆÛˆCÜ—X’X˜d c¡F¨HÓ5ˆA‹Fñ àˆr%   r)   r€   ©r   )r   r�   r0  )rî   r�  r5  r>  s       r&   Úmy_trilrA  À  sB   € ô �Q˜Ôô(ôð 	‡v�v�ƒ{ØÐØ	
�‰�1‹ÜÐà!Ð!r%   c                 óx   • [        U S5        [        US5        [        U5      (       d  [        US5        SS jnU$ )Nr¦  r�  rî   c                 óT   • [         R                  " [         R                  " XUS95      $ )N©r�  ©re   Únonzeror*  ©r¦  r�  rî   s      r&   Únp_tril_indices_implÚ-np_tril_indices.<locals>.np_tril_indices_implä  s   € Ü�zŠzœ"Ÿ&š& ¨Ñ+Ó,Ð,r%   ©r   N©r   r   )r¦  r�  rî   rH  s       r&   Únp_tril_indicesrL  Û  s6   € ô �Q˜ÔÜ�Q˜ÔÜ�q�>‰>Ü˜˜CÔ ô-àÐr%   c                 ó^   • [        US5        U R                  S:w  a  [        S5      eSS jnU$ )Nr�  r€   úinput array must be 2-dc                 ó`   • [         R                  " U R                  S   XR                  S   S9$ ©Nr   r)   )r�  rî   )re   Útril_indicesr„   ©rh   r�  s     r&   Únp_tril_indices_from_implÚ7np_tril_indices_from.<locals>.np_tril_indices_from_implò  ó#   € Ü�Š˜sŸy™y¨™|¨q·I±I¸a±LÑAÐAr%   r@  ©r   r�   r   )rh   r�  rS  s      r&   Únp_tril_indices_fromrW  é  ó1   € ô �Q˜Ôà
‡x�x�1ƒ}ÜÐ3Ó4Ð4ôBà$Ð$r%   c                 ó
  • [         R                  " U R                  S   U R                  S   US-
  S9R                  [         R                  5      n[         R
                  " U[         R                  " X R                  S9U 5      $ ©Nr'  rT  r)   r(  r  r)  r.  s      r&   Únp_triu_impl_2dr[  ÷  sW   € ä�6Š6�!—'‘'˜"‘+ §¡¨¡°°A±Ñ6×=Ñ=¼b¿g¹gÓF€DÜ�8Š8�Dœ"Ÿ-š-¨·±Ñ9¸1Ó=Ð=r%   c                 ó‚   • [        US5        SS jnSS jnU R                  S:X  a  U$ U R                  S:X  a  [        $ U$ )Nr�  c                 ó.   • [        U 5      n[        X!5      $ r,   )r$  r[  r3  s      r&   Únp_triu_impl_1dÚ my_triu.<locals>.np_triu_impl_1d  r7  r%   c                 óœ  • [         R                  " U R                  S   U R                  S   US-
  S9R                  [         R                  5      n[         R
                  " U R                  S S 5      n[         R                  " U 5      n[         R                  " X R                  S9nU H  n[         R                  " X%X   5      XF'   M      U$ rZ  r9  r:  s          r&   Únp_triu_impl_multiÚ#my_triu.<locals>.np_triu_impl_multi  s’   € Ü�vŠv�a—g‘g˜b‘k Q§W¡W¨R¡[°A¸±EÑ:×AÑAÄ"Ç'Á'ÓJˆÜ�jŠj˜Ÿ™  "˜Ó&ˆÜ�MŠM˜!ÓˆÜ—=’= ¯W©WÑ5ˆÛˆCÜ—X’X˜d¨a©fÓ5ˆA‹Fñ àˆr%   r)   r€   r@  )r   r�   r[  )rî   r�  r^  ra  s       r&   Úmy_triurc  ý  sB   € ô �Q˜Ôô(ôð 	‡v�v�ƒ{ØÐØ	
�‰�1‹ÜÐà!Ð!r%   c                 óx   • [        U S5        [        US5        [        U5      (       d  [        US5        SS jnU$ )Nr¦  r�  rî   c           	      ó`   • [         R                  " S[         R                  " XUS-
  S9-
  5      $ )Nr)   rD  rE  rG  s      r&   Únp_triu_indices_implÚ-np_triu_indices.<locals>.np_triu_indices_impl   s%   € Ü�zŠz˜!œbŸfšf Q¨Q°©UÑ3Ñ3Ó4Ð4r%   rJ  rK  )r¦  r�  rî   rf  s       r&   Únp_triu_indicesrh    s6   € ô �Q˜ÔÜ�Q˜ÔÜ�q�>‰>Ü˜˜CÔ ô5àÐr%   c                 ó^   • [        US5        U R                  S:w  a  [        S5      eSS jnU$ )Nr�  r€   rN  c                 ó`   • [         R                  " U R                  S   XR                  S   S9$ rP  )re   Útriu_indicesr„   rR  s     r&   Únp_triu_indices_from_implÚ7np_triu_indices_from.<locals>.np_triu_indices_from_impl.  rU  r%   r@  rV  )rh   r�  rl  s      r&   Únp_triu_indices_fromrn  %  rX  r%   c                 ó   • g r,   r$   ©rh   s    r&   Ú_prepare_arrayrq  3  re  r%   c                 ó:   • U S [         R                  4;   a  S $ S $ )Nc                 ó.   • [         R                  " S5      $ )Nr$   ©re   Úarrayrp  s    r&   rÁ  Ú%_prepare_array_impl.<locals>.<lambda>:  s   € œ2Ÿ8š8 Bœ<r%   c                 ó4   • [        U 5      R                  5       $ r,   )rX  rV  rp  s    r&   rÁ  rv  <  s   € œ8 C›=×.Ñ.Ô0r%   ©r   Únonerp  s    r&   Ú_prepare_array_implrz  7  s   € à
ˆt”U—Z‘ZÐ Ó Ù'Ð'á0Ð0r%   c                 óz  • U n [        U[        R                  [        R                  45      (       a  [	        U5      $ [        USS 5      nUb  U" 5       S:X  a  [        R                  $ [        USS 5      nUc  [        S5      e[        U[        R                  5      (       a  UR                  nO[	        U5      $ M¹  )NÚ__len__r   r™   ztype has no dtype attr)rX   r   rœ  r›  r	   r    re   rå   r   r  r™   )ÚinobjÚobjÚlrÕ  s       r&   Ú_dtype_of_compoundr€  ?  s›   € Ø
€CØ
Ü�cœEŸL™L¬%¯-©-Ð8×9Ñ9Ü˜C“=Ð Ü�C˜ DÓ)ˆØ‰=™Q›S A›XÜ—:‘:ÐÜ�S˜' 4Ó(ˆØ‰:Ü Ð!9Ó:Ð:Ü�cœ5Ÿ>™>×*Ñ*Ø—)‘)‰Cä˜B“<Ðñ r%   c                 óì  • [        U [        R                  5      (       a4  [        U R                  [        R                  5      (       a  [        S5      e[        U 5      nS n[        U5      (       d  [        U5      nS n[        U5      (       d  [        U5      nUb(  [        R                  " XC5      (       d  Sn[        U5      eUb(  [        R                  " XS5      (       d  Sn[        U5      eSS jnU$ )Nr~  z3dtype of to_begin must be compatible with input aryz1dtype of to_end must be compatible with input aryc                 óø  • [        U5      n[        U 5      n[        U5      nUR                  n[        U5      S:”  a€  [        R                  " [        U5      [        U5      -   [        U5      -   S-
  US9n[        U5      n[        U5      [        U5      -   S-
  n	X7S U& [        R
                  " U5      XxU	& XWU	S & U$ [        R                  " [        U5      [        U5      -   US9n[        U5      nX7S U& XWUS & U$ )Nr   r)   r  )rq  r™   rG   re   rÇ   Údiff)
ÚaryÚto_endÚto_beginÚstartr“  ÚendÚ	out_dtyperÌ   Ú	start_idxÚmid_idxs
             r&   Únp_ediff1d_implÚ#np_ediff1d.<locals>.np_ediff1d_implj  sî   € ä˜xÓ(ˆÜ˜SÓ!ˆÜ˜VÓ$ˆà—I‘Iˆ	ô ˆs‹8�a‹<Ü—(’(œC ›J¬¨S«Ñ1´C¸³HÑ<¸qÑ@Ø!*ñ,ˆCä˜E›
ˆIÜ˜%“j¤3 s£8Ñ+¨aÑ/ˆGØ#�
�ˆOÜ%'§W¢W¨S£\ˆC˜'Ð"Ø��ˆMð ˆ
ô	 —(’(œC ›J¬¨S«Ñ1¸)ÑDˆCÜ˜E›
ˆIØ#�
�ˆOØ!�	�
ˆOØˆ
r%   r´  )
rX   r   rÁ   r™   r›  r   r€  r   re   Úcan_cast)r„  r…  r†  Úary_dtÚto_begin_dtÚ	to_end_dtr³   rŒ  s           r&   Ú
np_ediff1dr’  P  sË   € ô �#”u—{‘{×#Ñ#Ü�c—i‘i¤§¡×/Ñ/Ü Ð!NÓOÐOô
   Ó$€FØ€KÜ˜×!Ñ!Ü(¨Ó2ˆØ€IÜ˜×ÑÜ& vÓ.ˆ	àÑ¤r§{¢{°;×'GÑ'GØCˆÜ˜SÓ!Ð!àÑ¤R§[¢[°×%CÑ%CØAˆÜ˜SÓ!Ð!ôð6 Ðr%   c                 ó   • g r,   r$   rp  s    r&   Ú_select_elementr”  ˆ  re  r%   c                 óD   • [        U SS 5      S:H  nU(       a  S nU$ S nU$ )Nr�   r   c                 óR   • [         R                  " SU R                  S9nXS S & US   $ )N©r)   r  r   )re   ru  r™   )rh   rº  s     r&   r]  Ú"_select_element_impl.<locals>.impl�  s&   € Ü—’˜ S§Y¡YÑ/ˆAØ‰aˆDØ�Q‘4ˆKr%   c                 ó   • U $ r,   r$   rp  s    r&   r]  r˜  –  s   € ØˆJr%   )r    )rh   Úzerodr]  s      r&   Ú_select_element_implr›  Œ  s.   € ä�C˜ Ó&¨!Ñ+€EÞò	ð ˆò	àˆr%   c                 ó   • g r,   r$   )Údxrº  s     r&   Ú_get_drž  ›  re  r%   c                 ó6   • [        U 5      (       a  S nU$ S nU$ )Nc                 ó.   • [         R                  " U5      $ r,   ©re   rŠ  ©rº  r�  s     r&   r]  Úget_d_impl.<locals>.impl¢  s   € Ü—:’:˜b“>Ð!r%   c                 óV   • [         R                  " [         R                  " U 5      5      $ r,   )re   rƒ  rŠ  r¢  s     r&   r]  r£  ¥  s   € Ü—7’7œ2Ÿ:š: a›=Ó)Ð)r%   rê  )rº  r�  r]  s      r&   Ú
get_d_implr¥  Ÿ  s!   € ä�1‡~�~ò	"ð
 €Kò	*à€Kr%   c                 óø   • [        U [        R                  [        R                  45      (       a  [	        S5      e[        U [        R
                  5      (       a  U R                  S:X  a  [	        S5      eSS jnU$ )Nzy cannot be a scalarr   zy cannot be 0Dc                 óÜ   • [         R                  " U 5      n[        X5      nUS[        SS 5      4   US[        S S5      4   -   S-  n[         R                  " XE-  S5      n[        U5      nU$ )N.r)   rT  ç       @)re   rŠ  rž  rP   r®  r”  )r  rº  r�  ÚyarrÚdÚy_aveÚretÚ	processeds           r&   r]  Únp_trapz.<locals>.implµ  si   € Ü�zŠz˜!‹}ˆÜ�1‹MˆØ�cœ5  D›>Ð)Ñ*¨T°#´u¸TÀ2³Ð2FÑ-GÑGÈ3ÑNˆÜ�fŠf�Q‘Y Ó#ˆÜ# CÓ(ˆ	ØÐr%   ©Nrn  )rX   r   rœ  r›  r   rÁ   r�   )r  rº  r�  r]  s       r&   Únp_trapzr°  ª  s]   € ô �!”e—l‘l¤E§M¡MÐ2×3Ñ3ÜÐ0Ó1Ð1Ü	�A”u—{‘{×	#Ñ	#¨¯©°!«ÜÐ*Ó+Ð+ô
ð €Kr%   c                 ó–  • UR                   u  pEU[        U 5      :X  d   eXQ:X  d   eU(       aK  [        U5       H;  nUS:X  a  SUSS2U4'   M  [        R                  " XSS2US-
  4   5      USS2U4'   M=     g[        US-
  SS5       H=  nXaS-
  :X  a  SUSS2U4'   M  [        R                  " XSS2US-   4   5      USS2U4'   M?     g)a  
Generate an N-column Vandermonde matrix from a supplied 1-dimensional
array, x. Store results in an output matrix, out, which is assumed to
be of the required dtype.

Values are accumulated using np.multiply to match the floating point
precision behaviour of numpy.vander.
r   r)   NrT  )r„   rG   r3   re   r°  )rº  r  Ú
increasingrÌ   rî   r¦  r.   s          r&   Ú
_np_vanderr³  Å  sÀ   € ð �9‰9�D€AØ”�A“‹;Ðˆ;Ø‹6€Mˆ6æÜ�q–ˆAØ�A‹vØ�’A�q�D“	äŸKšK¨ªq°1°q±5¨z©?Ó;�’A�q�D“	ò	 ô �q˜1‘u˜b "Ö%ˆAØ˜‘E‹zØ�’A�q�D“	äŸKšK¨ªq°1°q±5¨z©?Ó;�’A�q�D“	ò	 &r%   c                 ó\   • U R                   S:”  a  [        S5      eUS:  a  [        S5      eg )Nr)   z.x must be a one-dimensional array or sequence.r   z#Negative dimensions are not allowed)r�   r‚   )rº  r  s     r&   Ú_check_vander_paramsrµ  á  s1   € à‡v�v�ƒzÜÐIÓJÐJØˆ1ƒuÜÐ>Ó?Ð?ð r%   c                 ó¤  ^• US [         R                  4;  a*  [        U[         R                  5      (       d  [	        S5      eSU4S jjnSS jn[        U [         R
                  5      (       a2  [        U R                  5      n[        R                  " U[        5      mU$ [        U [         R                  [         R                  45      (       a  U$ g )Nz,Second argument N must be None or an integerc                 ó¤   >• Uc  [        U 5      n[        X5        [        R                  " [        U 5      [	        U5      4TS9n[        XX#5        U$ r  )rG   rµ  re   rÇ   r·  r³  )rº  r  r²  rÌ   r™   s       €r&   Únp_vander_implÚ!np_vander.<locals>.np_vander_implï  sG   ø€ Ø‰9Ü�A“ˆAä˜QÔ"ô �hŠhœ˜A›¤ A£Ð'¨uÑ5ˆä�1˜Ô)Øˆ
r%   c                 óâ   • Uc  [        U 5      n[        R                  " U 5      n[        X15        [        R                  " [        U 5      [        U5      4UR                  S9n[        X1X$5        U$ r  )rG   re   ru  rµ  rÇ   r·  r™   r³  )rº  r  r²  Úx_arrrÌ   s        r&   Únp_vander_seq_implÚ%np_vander.<locals>.np_vander_seq_implû  sW   € Ø‰9Ü�A“ˆAä—’˜“ˆÜ˜UÔ&ô �hŠhœ˜A›¤ A£Ð'¨u¯{©{Ñ;ˆä�5˜ZÔ-Øˆ
r%   r  )r   ry  rX   r?  r   rÁ   r	   r™   re   Úpromote_typesr·  r[   r  )rº  r  r²  r¸  r¼  Úx_dtr™   s         @r&   Ú	np_vanderrÀ  é  s™   ø€ à�”u—z‘zÐ"Ó"Ü˜!œUŸ]™]×+Ñ+ÜÐLÓMÐM÷
ôô �!”U—[‘[×!Ñ!Ü˜Ÿ™Ó ˆä× Ò  ¤sÓ+ˆØÐÜ	�AœŸ™¤U§^¡^Ð4×	5Ñ	5Ø!Ð!ð 
6r%   c                 óä   • [        U[        R                  [        R                  45      (       d  [	        S5      eS n[        U [        R
                  [        R                  45      (       a  S $ U$ )Nzshift must be an integerc                 ó  • [         R                  " U 5      n[         R                  " UR                  UR                  S9nUR
                  n[        UR                  5       H%  nXQ-   UR                  -  nXE   UR
                  U'   M'     U$ r  )re   rŠ  rÇ   r„   r™   rÊ   r3   rÈ   )r-   Úshiftrh   rÌ   Úarr_flatr.   rÍ   s          r&   Únp_roll_implÚnp_roll.<locals>.np_roll_impl	  sj   € Ü�jŠj˜‹mˆÜ�hŠh�s—y‘y¨¯	©	Ñ2ˆð —8‘8ˆÜ�s—x‘x–ˆAØ‘9 §¡Ñ(ˆCØ$™KˆC�H‰H�S‹Mñ !ð ˆ
r%   c                 ó.   • [         R                  " U 5      $ r,   r¡  )r-   rÃ  s     r&   rÁ  Únp_roll.<locals>.<lambda>#	  s   € ¤§
¢
¨1¤r%   )rX   r   r?  r›  r   rœ  )r-   rÃ  rÅ  s      r&   Únp_rollrÉ  	  sU   € ä�eœeŸm™m¬U¯]©]Ð;×<Ñ<ÜÐ4Ó5Ð5ò
ô �!”e—l‘l¤E§M¡MÐ2×3Ñ3Ù-Ð-àÐr%   é   c                 ó$  • SnUnXUS-
     :”  a  U$ XS   :  a  gUS::  a(  SnXb:  a  XU   :¼  a  US-  nXb:  a
  XU   :¼  a  M  US-
  $ X2S-
  :”  a  US-
  nUS:  a  SnXU   :  a8  XUS-
     :  a(  US-
  nU[         :”  a  XU[         -
     :¼  a	  U[         -
  nONUS-
  $ XUS-      :  a  U$ XUS-      :  a  US-   $ US-   nX2[         -
  S-
  :  a  XU[         -      :  a	  U[         -   nXE:  a!  XEU-
  S-	  -   nXU   :¼  a  US-   nOUnXE:  a  M!  US-
  $ )Nr   r)   rT  é   r   r€   )ÚLIKELY_IN_CACHE_SIZE)Úkeyrh   ÚlengthÚguessÚiminÚimaxr.   Úimids           r&   Úbinary_search_with_guessrÔ  .	  sŠ  € ð €DØ€Dð �˜!‘‰_ÓØˆØ	�1‰v‹Øð �ƒ{ØˆØ‹j˜S¨¡F›]Ø�‰FˆAð ‹j˜S¨¡F�]à�1‰uˆà˜‰zÓØ˜‘
ˆàˆqƒyØˆð �‰ZÓØ�U˜Q‘Y‘ÓØ˜1‘9ˆDð Ô+Ó+Ø˜uÔ';Ñ;Ñ<Ó<ØÔ3Ñ3�øð ˜1‘9Ðð �U˜Q‘Y‘ÓØˆLð ˜ ™‘^Ó#Ø˜q‘yÐ ð ˜q‘y�àÔ&:Ñ:¸QÑ>Ó?Ø 5Ô+?Ñ#?Ñ@Ó@Ø Ô#7Ñ7�Dð ‹+Ø˜t™¨Ñ)Ñ*ˆØ�d‘)ÓØ˜!‘8‰DàˆDð �+ð �!‰8€Or%   c                 óÈ	  • [         R                  " U 5      n[         R                  " U5      n[         R                  " U5      n[        U5      S:X  a  [        S5      e[        U5      [        U5      :w  a  [        S5      eUR                  S:X  a#  [         R
                  " UR                  US   US9$ [         R                  " UR                  US9nUR                  n[        U5      n	US   n
XiS-
     nU	S:X  ae  US   nUS   n[        U5       HJ  nUR                  U   nXü:  a  X§R                  U'   M'  Xü:”  a  X·R                  U'   M<  X×R                  U'   ML     U$ SnX˜::  a  [         R                  " U	S-
  US9nO[         R                  " SUS9nUR                  (       au  [        U	S-
  5       Hc  nSX^S-      X^   -
  -  nXnS-      R                  Xn   R                  -
  U-  nXnS-      R                  Xn   R                  -
  U-  nUSU-  -   UU'   Me     [        U5       GH·  nUR                  U   n[         R                  " U5      (       a  UnSnUSU-  -   UR                  U'   MI  [        XõU	U5      nUS	:X  a  X§R                  U'   Ml  UU	:X  a  X·R                  U'   M‚  UU	S-
  :X  a  UU   UR                  U'   MŸ  UU   U:X  a  UU   UR                  U'   M¼  UR                  (       a  UU   nOcSUUS-      UU   -
  -  nUUS-      R                  UU   R                  -
  U-  nUUS-      R                  UU   R                  -
  U-  nUSU-  -   nUR                  XõU   -
  -  UU   R                  -   n[         R                  " U5      (       aw  UR                  XõUS-      -
  -  UUS-      R                  -   n[         R                  " U5      (       a2  UU   R                  UUS-      R                  :X  a  UU   R                  nUR                  XõU   -
  -  UU   R                  -   n[         R                  " U5      (       aw  UR                  XõUS-      -
  -  UUS-      R                  -   n[         R                  " U5      (       a2  UU   R                  UUS-      R                  :X  a  UU   R                  nUSU-  -   UR                  U'   GMº     U$ )
Nr   úarray of sample points is emptyú#fp and xp are not of the same size.r)   ©Ú
fill_valuer™   r  ru  r¬  rT  )re   rŠ  rG   r‚   rÈ   r†   r„   rÇ   r3   rÊ   rì   r  r   rÔ  )rº  ÚxpÚfpr™   Údzr�  ÚdyÚdresÚlenxÚlenxpÚlvalÚrvalÚxp_valÚfp_valr.   Úx_valr•  ÚslopesÚinv_dxrì   r  Úslopes                         r&   Únp_interp_impl_complex_innerré  s	  sJ  € ô 
�Š�A‹€BÜ	�Š�B‹€BÜ	�Š�B‹€Bä
ˆ2ƒw�!ƒ|ÜÐ:Ó;Ð;ä
ˆ2ƒw”#�b“'ÓÜÐ>Ó?Ð?à	‡w�w�!ƒ|Ü�wŠw�r—x‘x¨B¨q©E¸Ñ?Ð?ä�8Š8�B—H‘H EÑ*€Dà�7‰7€DÜ�‹G€EØˆa‰5€DØ�a‰i‰=€Dà�ƒzØ�A‘ˆØ�A‘ˆä�t–ˆAØ—G‘G˜A‘JˆEØ‹~Ø#—	‘	˜!“Ø“Ø#—	‘	˜!“à%—	‘	˜!“ñ ðV €KðC ˆð ‹=Ü—X’X˜u q™y°Ñ7‰Fä—X’X˜a uÑ-ˆFà�;�;Ü˜5 1™9Ö%�Ø˜b Q¡™i¨"©%Ñ/Ñ0�Ø˜q™5™	Ÿ™¨©¯©Ñ3°vÑ=�Ø˜q™5™	Ÿ™¨©¯©Ñ3°vÑ=�Ø  2¨¡9Ñ,��q“	ñ	 &ô �t—ˆAØ—G‘G˜A‘JˆEä�xŠx˜�‰Ø�Ø�Ø# b¨4¡iÑ/�—	‘	˜!‘Ùä(¨°E¸1Ó=ˆAà�B‹wØ#—	‘	˜!“Ø�e“Ø#—	‘	˜!“Ø�e˜a‘i“Ø! !™u�—	‘	˜!“Ø�A‘˜%“à! !™u�—	‘	˜!“à—;—;Ø" 1™I‘Eà " Q¨¡U¡)¨b°©eÑ"3Ñ4�FØ˜q 1™u™IŸN™N¨R°©U¯Z©ZÑ7¸6ÑA�DØ˜q 1™u™IŸN™N¨R°©U¯Z©ZÑ7¸6ÑA�DØ  2¨¡9Ñ,�Eð —z‘z U°©U¡]Ñ3°b¸±e·j±jÑ@�Ü—8’8˜D—>‘>Ø Ÿ:™:¨°A¸±E±Ñ):Ñ;¸bÀÀQÁ¹i¿n¹nÑL�DÜ—x’x —~‘~¨"¨Q©%¯*©*¸¸1¸q¹5¹	¿¹Ó*FØ! !™uŸz™z˜à—z‘z U°©U¡]Ñ3°b¸±e·j±jÑ@�Ü—8’8˜D—>‘>Ø Ÿ:™:¨°A¸±E±Ñ):Ñ;¸bÀÀQÁ¹i¿n¹nÑL�DÜ—x’x —~‘~¨"¨Q©%¯*©*¸¸1¸q¹5¹	¿¹Ó*FØ! !™uŸz™z˜à# b¨4¡iÑ/�—	‘	˜!”ña ðd €Kr%   c                 óØ  • [         R                  " U [         R                  S9n[         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        U5      S:X  a  [	        S5      e[        U5      [        U5      :w  a  [	        S5      eUR
                  S:X  a#  [         R                  " UR                  US   US9$ [         R                  " UR                  US9nUR
                  n[        U5      n	US   n
XiS-
     nU	S:X  ae  US   nUS   n[        U5       HJ  nUR                  U   nXü:  a  X§R                  U'   M'  Xü:”  a  X·R                  U'   M<  X×R                  U'   ML     U$ SnX˜::  a  USS  US S -
  USS  US S -
  -  nO[         R                  " SUS9n[        U5       GHŸ  nUR                  U   n[         R                  " U5      (       a  X÷R                  U'   M>  [        XõU	U5      nUS:X  a  X§R                  U'   Ma  UU	:X  a  X·R                  U'   Mw  UU	S-
  :X  a  UU   UR                  U'   M”  UU   U:X  a  UU   UR                  U'   M±  UR
                  (       a  UU   nOUUS-      UU   -
  UUS-      UU   -
  -  nUXõU   -
  -  UU   -   UR                  U'   [         R                  " UR                  U   5      (       d  GM-  UXõUS-      -
  -  UUS-      -   UR                  U'   [         R                  " UR                  U   5      (       d  GM{  UU   UUS-      :X  d  GM�  UU   UR                  U'   GM¢     U$ )Nr  r   rÖ  r×  r)   rØ  rT  )re   rŠ  rå   rG   r‚   rÈ   r†   r„   rÇ   r3   rÊ   r   rÔ  )rº  rÚ  rÛ  r™   rÜ  r�  rÝ  rÞ  rß  rà  rá  râ  rã  rä  r.   rå  r•  ræ  rè  s                      r&   Únp_interp_impl_innerrë  á	  s	  € ô 
�Š�AœRŸZ™ZÑ	(€BÜ	�Š�BœbŸj™jÑ	)€BÜ	�Š�BœbŸj™jÑ	)€Bä
ˆ2ƒw�!ƒ|ÜÐ:Ó;Ð;ä
ˆ2ƒw”#�b“'ÓÜÐ>Ó?Ð?à	‡w�w�!ƒ|Ü�wŠw�r—x‘x¨B¨q©E¸Ñ?Ð?ä�8Š8�B—H‘H EÑ*€Dà�7‰7€DÜ�‹G€EØˆa‰5€DØ�a‰i‰=€Dà�ƒzØ�A‘ˆØ�A‘ˆä�t–ˆAØ—G‘G˜A‘JˆEØ‹~Ø#—	‘	˜!“Ø“Ø#—	‘	˜!“à%—	‘	˜!“ñ ðn €Kð[ ˆð ‹=Ø˜˜�f˜r # 2˜wÑ&¨2¨a¨b¨6°B°s¸°GÑ+;Ñ<‰Fä—X’X˜a uÑ-ˆFä�t—ˆAØ—G‘G˜A‘JˆEä�xŠx˜�‰Ø$—	‘	˜!‘Ùä(¨°E¸1Ó=ˆAà�B‹wØ#—	‘	˜!“Ø�e“Ø#—	‘	˜!“Ø�e˜a‘i“Ø! !™u�—	‘	˜!“Ø�A‘˜%“à! !™u�—	‘	˜!“à—;—;Ø" 1™I‘Eà  A¡™Y¨¨A©Ñ.°2°a¸!±e±9¸rÀ!¹uÑ3DÑE�Eà$¨°1±©Ñ6¸¸A¹Ñ>�—	‘	˜!‘ô —8’8˜DŸI™I a™L×)Ô)Ø#(¨E°q¸1±u±IÑ,=Ñ#>ÀÀAÈÁEÁÑ#J�D—I‘I˜a‘LÜ—x’x §	¡	¨!¡×-Ô-°"°Q±%¸2¸aÀ!¹e¹9Ö2DØ')¨!¡u˜Ÿ	™	 !œñG ðJ €Kr%   c                 ó¾  ^^	• [        US5      (       a  UR                  S:”  a  [        S5      e[        US5      (       a  UR                  S:”  a  [        S5      eSn[        U5      n[        R
                  " U[        R                  5      (       a  [        U5      e[        U5      n[        R                  " U[        R                  5      m[        R
                  " T[        R                  5      (       a  [        m	O[        m	UU	4S jnUU	4S jn[        U [        R                  5      (       a,  [        U [        R                  5      (       a  [        U5      eU$ U$ )Nr�   r)   zxp must be 1Dzfp must be 1Dz:Cannot cast array data from complex dtype to float64 dtypec                 ó   >• T" XUT5      $ r,   r$   ©rº  rÚ  rÛ  r™   r•   s      €€r&   Únp_interp_implÚ!np_interp.<locals>.np_interp_implU
  s   ø€ Ù�Q˜B Ó&Ð&r%   c                 ó2   >• T" XUT5      R                   S   $ rë   )rÊ   rî  s      €€r&   Únp_interp_scalar_implÚ(np_interp.<locals>.np_interp_scalar_implX
  s   ø€ Ù�Q˜B Ó&×+Ñ+¨AÑ.Ð.r%   )r‡  r�   r   rÑ  re   rÓ  rÔ  Úresult_typerå   ré  rë  rX   r   rœ  r  )
rº  rÚ  rÛ  Úcomplex_dtype_msgÚxp_dtÚfp_dtrï  rò  r™   r•   s
           @@r&   Ú	np_interprø  :
  s  ù€ ô ˆr�6×Ñ˜rŸw™w¨›{Ü˜/Ó*Ð*Üˆr�6×Ñ˜rŸw™w¨›{Ü˜/Ó*Ð*ð 	Eð ô ˜BÓ€EÜ	‡}‚}�UœB×.Ñ.×/Ñ/ÜÐ+Ó,Ð,ä˜BÓ€EÜ�NŠN˜5¤"§*¡*Ó-€Eä	‡}‚}�UœB×.Ñ.×/Ñ/Ü,‰ä$ˆö'ö/ô �!”U—\‘\×"Ñ"Ü�aœŸ™×'Ñ'ÜÐ/Ó0Ð0Ø$Ð$àÐr%   c                 óò   • U R                   S:X  d   eU R                  u  p[        R                  " US4U R                  S9n[        U5       H&  n[        R                  " XS S 24   5      U-  X4S4'   M(     U$ )Nr€   r)   r  r   )r�   r„   re   rÇ   r™   r3   r®  )r-   rî   r¦  rÌ   r.   s        r&   Úrow_wise_averagerú  f
  sh   € à�6‰6�Q‹;Ðˆ;à�7‰7�D€AÜ
�(Š(�A�q�6 §¡Ñ
)€Cä�1ŽXˆÜ—F’F˜1¢˜T™7“O aÑ'ˆˆqˆD‹	ñ ð €Jr%   c                 ó  • Uc  U(       a  SnOSnU R                   S   U-
  n[        US5      nU [        U 5      -  n [        R                  " U [        R
                  " U R                  5      5      nU[        R                  " SU5      -  nU$ )Nr   r)   r¬  )r„   r#  rú  re   Údotrí   ÚTr´  )ÚXÚbiasÚddofÚfactri   s        r&   Únp_cov_impl_innerr  s
  s�   € ð �|ÞØ‰DàˆDð �7‰7�1‰:˜Ñ€Dô ˆt�S‹>€Dð Ô	˜!Ó	Ñ€Aô 	�Šˆq”"—'’'˜!Ÿ#™#“,Ó€AØŒ�Š˜˜4Ó	 Ñ €AØ€Hr%   c                  ó   • g r,   r$   r$   r%   r&   Ú_prepare_cov_input_innerr  Œ
  re  r%   c                 óB   • US [         R                  4;   a  S nU$ S nU$ )Nc                 ój   • [         R                  " [        U 5      5      nU(       d  UR                  nU$ r,   )re   Ú
atleast_2drX  rý  )rî   r  Úrowvarr™   Úm_arrs        r&   r  Ú9_prepare_cov_input_impl.<locals>._prepare_cov_input_inner“
  s%   € Ü—M’M¤(¨1£+Ó.ˆEæØŸ™�àˆLr%   c                 óÀ  • [         R                  " [        U 5      5      n[         R                  " [        U5      5      nU(       d>  UR                  S   S:w  a  UR                  nUR                  S   S:w  a  UR                  nUR                  u  pgUR                  u  p‰Xy:w  a  [        S5      e[         R                  " Xh-   U4US9n
XJS U2S S 24'   XZU* S 2S S 24'   U
$ )Nr   r)   z$m and y have incompatible dimensionsr  )re   r  rX  r„   rý  r‚   rÇ   )rî   r  r  r™   r	  Úy_arrÚm_rowsÚm_colsÚy_rowsÚy_colsrÌ   s              r&   r  r
  ›
  sÂ   € Ü—M’M¤(¨1£+Ó.ˆEÜ—M’M¤(¨1£+Ó.ˆEö
 Ø—;‘;˜q‘> QÓ&Ø!ŸG™G�EØ—;‘;˜q‘> QÓ&Ø!ŸG™G�Eà"Ÿ[™[‰NˆFØ"Ÿ[™[‰NˆFàÓÜ Ð!GÓHÐHô —(’(˜F™O¨VÐ4¸EÑBˆCØ#���š�
‰OØ$��‘š!�ÑàˆJr%   rx  )rî   r  r  r™   r  s        r&   Ú_prepare_cov_input_implr  �
  s.   € àˆT”5—:‘:ÐÓò	ðD $Ð#ò5	ð4 $Ð#r%   c                 óf   • U R                   S:X  a!  U R                  S   S:X  a  Sn[        U5      eg g )Nr€   r   r)   zŸ2D array containing a single row is unsupported due to ambiguity in type inference. To use numpy.cov in this case simply pass the row as a 1D array, i.e. m[0].)r�   r„   r<  )rî   r³   s     r&   Ú_handle_m_dim_changer  ¸
  s6   € à‡v�v�ƒ{�q—w‘w˜q‘z Q“ð?ˆô ˜3ÓÐð	 '€{r%   c                 ó   • U $ r,   r$   r¹  s    r&   rÁ  rÁ  Á
  s   € ©qr%   c                 óö  • [         R                  n[        U [        R                  5      (       a  [        U R                  5      nU$ [        U [        R                  [        R                  45      (       a  [        U 5      nU$ [        U [        R                  [        R                  45      (       a½  [        5       nU  HG  n[        US5      (       a"  U Vs/ s H  oBR                  U5      PM       nM6  UR                  U5        MI     [        U5      S:”  a/  [         R                  " U Vs/ s H  n[        U5      PM     sn6 nU$ [        U5      S:X  a  [        UR!                  5       5      nU$ s  snf s  snf )Nr)  r)   )re   rå   rX   r   rÁ   r	   r™   rœ  r›  rH   r[   Úsetr‡  ÚaddrG   r¾  r…   )Ú
array_likeÚarray_like_dtÚcoltypesrð   rj   Útys         r&   rÑ  rÑ  Ä
  s(  € Ü—J‘J€MÜ�*œeŸk™k×*Ñ*Ü  ×!1Ñ!1Ó2ˆð Ðô 
�J¤§¡¬u¯}©}Ð =×	>Ñ	>Ü  Ó,ˆð Ðô 
�J¤§¡´·±Ð =×	>Ñ	>Ü“5ˆÛˆCÜ�s˜G×$Ñ$Ù*-Ó.ª# Q—‘˜a–©#Ó.à—‘˜SÖ!ñ	 ô
 ˆx‹=˜1ÓÜ×,Ò,ÁhÓ.OÂhÀ¬x¸®|ÁhÑ.OÐPˆMð Ðô �‹]˜aÓÜ$ X§\¡\£^Ó4ˆMàÐùò /ùò /Ps   ÃE1Ä,E6c                 óÜ  • [        U [        R                  5      (       a+  U R                  S:”  a  [	        SR                  U5      5      eg [        U [        R                  5      (       aƒ  [        U R                  S   [        R                  5      (       aV  [        U R                  S   R                  S   [        R                  5      (       a  SR                  U5      n[	        U5      eg g g )Nr€   z{0} has more than 2 dimensionsr   )rX   r   rÁ   r�   r   Úformatr  rÎ  )r  Únamer³   s      r&   Úcheck_dimensionsr  Ù
  s¶   € Ü�*œeŸk™k×*Ñ*Ø�?‰?˜QÓÜ Ð!A×!HÑ!HÈÓ!NÓOÐOð ä	�J¤§¡×	/Ñ	/Ü�j—n‘n QÑ'¬¯©×8Ñ8Ü˜*Ÿ.™.¨Ñ+×/Ñ/°Ñ2´E·N±N×CÑCØ6×=Ñ=¸dÓC�Ü$ SÓ)Ð)ð Dð 9ð 
0r%   c                 óŠ   • [         R                  " U 5      (       d  [        S5      eU [        U 5      -
  S:w  a  [        S5      eg )Nz)Cannot convert non-finite ddof to integerr   zddof must be integral value)re   r²  r‚   r·  )r   s    r&   Ú_handle_ddofr!  ä
  s?   € ä�;Š;�t×ÑÜÐDÓEÐEØŒc�$‹iÑ˜1ÓÜÐ6Ó7Ð7ð r%   c                 ó   • U $ r,   r$   r¹  s    r&   rÁ  rÁ  ì
  s   € ©ar%   c                 ó:   • U" U 5        U" U5        [        XX#5      $ r,   )r  )rî   r  r  r™   r   Ú_DDOF_HANDLERÚ_M_DIM_HANDLERs          r&   Ú_prepare_cov_inputr&  ï
  s!   € ñ �1ÔÙ�$ÔÜ# A¨&Ó8Ð8r%   c                 óª  • US [         R                  4;   n[        U [         R                  5      (       a  U R                  S:X  a  U$ [        U [         R
                  5      (       aj  [        S U R                    5       5      (       a  U$ [        U R                   5      S:X  a.  [        U R                   S   [         R
                  5      (       a  U$ [        U [         R                  [         R                  45      (       a  U$ [        U [         R                  5      (       a4  [        U R                  S   [         R                  5      (       d  U(       a  gg)Nr)   c              3   óv   #   • U  H/  n[        U[        R                  [        R                  45      v •  M1     g 7fr,   )rX   r   rœ  r›  )Ú.0rº  s     r&   Ú	<genexpr>Ú)scalar_result_expected.<locals>.<genexpr>þ
  s.   é € ð /Ú-�1ô ˜!œeŸl™l¬E¯M©MÐ:×;Ð;Ú-ùs   ‚79r   TF)r   ry  rX   rÁ   r�   Ú	BaseTuplerf  rG   rœ  r›  r  rÎ  )Úmandatory_inputÚoptional_inputÚopt_is_nones      r&   Úscalar_result_expectedr0  ÷
  sû   € Ø  T¬5¯:©:Ð$6Ñ6€Kä�/¤5§;¡;×/Ñ/°O×4HÑ4HÈAÓ4MØÐä�/¤5§?¡?×3Ñ3Üñ /Ø'×-Ò-ó/÷ /ñ /àÐä�O×)Ñ)Ó*¨aÓ/Ü˜×4Ñ4°QÑ7¼¿¹×IÑIØ"Ð"ä�/¤E§L¡L´%·-±-Ð#@×AÑAØÐä�/¤5§>¡>×2Ñ2Ü˜?×.Ñ.¨qÑ1´5·>±>×BÑBÞØàr%   c                 óˆ   • [         R                  " [         R                  " U 5      S:„  [         R                  " U 5      U 5      $ rŽ  )re   r,  ÚfabsÚsignr¹  s    r&   Ú
_clip_corrr4    s)   € ä�8Š8”B—G’G˜A“J ‘N¤B§G¢G¨A£J°Ó2Ð2r%   c                 óf   • [        U R                  5      n[        U R                  5      nUSU-  -   $ )Nru  )r4  rì   r  )rº  rì   r  s      r&   Ú_clip_complexr6    s-   € ä�a—f‘fÓ€DÜ�a—f‘fÓ€DØ�"�t‘)ÑÐr%   c                 ó`  ^	^
^• [        U S5        [        US5        US [        R                  4;   a  [        m	Og[	        U[        R
                  [        R                  45      (       a  [        m	O1[	        U[        R                  5      (       a  [        m	O[        S5      e[        m
[	        U [        R                  5      (       a  [        m
[        U 5      n[        U5      n[        R                  " XV[        R                   5      mSU	U
U4S jjn  SU	U
U4S jjn[#        X5      (       a  U$ U$ )Nrî   r  z)ddof must be a real numerical scalar typec           	      óR  >• [        XUTUTT5      R                  T5      n[        R                  " [        R                  " UR
                  5      S:H  5      (       a@  [        R                  " UR
                  S   UR
                  S   4[        R                  TS9$ [        XSU5      $ )Nr   rØ  )	r&  r  re   r   ru  r„   r†   rv  r  )	rî   r  r  rÿ  r   rþ  r$  r%  r™   s	         €€€r&   Únp_cov_implÚnp_cov.<locals>.np_cov_impl<  s‰   ø€ Ü˜q V¨U°D¸-Ø-ó/ß/5©v°e«}ð 	
ô �6Š6”"—(’(˜1Ÿ7™7Ó# qÑ(×)Ñ)Ü—7’7˜AŸG™G A™J¨¯©°©
Ð3ÄÇÁØ!&ñ(ð (ô % Q¨dÓ3Ð3r%   c           	      ó8  >• [        XX$T	TT5      R                  T	5      n[        R                  " [        R                  " UR
                  5      S:H  5      (       a  [        R                  nO[        XSU5      R                  S   n[        R                  " U5      $ rë   )	r&  r  re   r   ru  r„   rv  r  rÊ   )
rî   r  r  rÿ  r   rþ  Úvariancer$  r%  r™   s
          €€€r&   Únp_cov_impl_single_variableÚ+np_cov.<locals>.np_cov_impl_single_variableF  sv   ø€ ä˜q V°5¸-Ø-ó/ß/5©v°e«}ð 	
ô �6Š6”"—(’(˜1Ÿ7™7Ó# qÑ(×)Ñ)Ü—v‘v‰Hä(¨°$Ó7×<Ñ<¸QÑ?ˆHä�xŠx˜Ó!Ð!r%   ©NTFN)r  r   ry  Ú_handle_ddof_noprX   r?  r›  r  r!  r   Ú_handle_m_dim_noprÁ   r  rÑ  re   rô  rå   r0  )rî   r  r  rÿ  r   Úm_dtÚy_dtr9  r=  r$  r%  r™   s            @@@r&   Únp_covrD    sð   ú€ ô �Q˜ÔÜ�Q˜Ôð �”e—j‘jÐ!Ó!Ü(‰ä�dœUŸ]™]¬E¯M©MÐ:×;Ñ;Ü,‰MÜ˜œeŸk™k×*Ñ*Ü(‰MäÐIÓJÐJô
 '€NÜ�!”U—[‘[×!Ñ!Ü-ˆô ˜1Ó€DÜ˜1Ó€DÜ�NŠN˜4¤r§z¡zÓ2€E÷4ñ 4ð BGØ)-÷
"ñ 
"ô ˜a×#Ñ#Ø*Ð*àÐr%   c                 óþ   ^• [        U 5      n[        U5      n[        R                  " X4[        R                  5      nU[        R                  :X  a  [
        mO[        mSU4S jjnSS jn[        X5      (       a  U$ U$ )Nc                 ó.  >• [         R                  " XU5      n[         R                  " U5      n[         R                  " UR                  5      n[        UR                  S   5       H$  nX6S S 24==   U-  ss'   US S 2U4==   U-  ss'   M&     T" U5      $ rë   )re   ÚcovÚdiagÚsqrtrì   r3   r„   )rº  r  r  ri   rª  Ústddevr.   Úclip_fns          €r&   Únp_corrcoef_implÚ%np_corrcoef.<locals>.np_corrcoef_impld  sv   ø€ Ü�FŠF�1˜Ó ˆÜ�GŠG�A‹JˆÜ—’˜Ÿ™“ˆä�q—w‘w˜q‘zÖ"ˆAØ’ˆd‹G�vÑ‹GØŠa�ˆd‹G�vÑ�Gñ #ñ �q‹zÐr%   c                 ó8   • [         R                  " XU5      nX3-  $ r,   )re   rG  )rº  r  r  ri   s       r&   Ú np_corrcoef_impl_single_variableÚ5np_corrcoef.<locals>.np_corrcoef_impl_single_variableo  s   € Ü�FŠF�1˜Ó ˆØ‰uˆr%   ©NT)rÑ  re   rô  rå   Ú
complex128r6  r4  r0  )	rº  r  r  r¿  rC  r™   rL  rO  rK  s	           @r&   Únp_corrcoefrS  X  sf   ø€ ô ˜1Ó€DÜ˜1Ó€DÜ�NŠN˜4¤r§z¡zÓ2€Eà”—‘ÓÜ‰äˆ÷	ôô ˜a×#Ñ#Ø/Ð/àÐr%   c                 ó¬   ^^• [        U [        R                  [        R                  45      n[	        U 5      (       a  U(       d  S nU$ SmSmUU4S jnU$ )Nc                 ó  • [         R                  " U 5      nUR                  S:X  a#  [         R                  " S[        R
                  S9$ [         R                  " [         R                  " [         R                  " U5      5      5      $ )Nr$   )r   r)   r  )	re   rŠ  r„   r  r   r5   rU  ÚvstackrF  rY  s     r&   r]  Únp_argwhere.<locals>.impl„  sO   € Ü—*’*˜Q“-ˆCØ�y‰y˜B‹Ü—x’x ¬e¯j©jÑ9Ð9Ü—<’<¤§	¢	¬"¯*ª*°S«/Ó :Ó;Ð;r%   )r   r   )r)   r   c                 ó¶   >• U b3  [        U 5      (       a#  [        R                  " T[        R                  S9$ [        R                  " T[        R                  S9$ r  )rš  re   r  r   r5   )r-   ÚfalseishÚtrueishs    €€r&   r]  rW  �  s:   ø€ Ø‰}¤ a§¡Ü—x’x ¬u¯z©zÑ:Ð:ä—x’x ´·
±
Ñ;Ð;r%   )rX   r   rœ  r›  r
   )r-   Ú
use_scalarr]  rY  rZ  s      @@r&   Únp_argwherer\  }  sO   ù€ ô
 ˜A¤§¡¬e¯m©mÐ<Ó=€JÜ˜×Ñ¦:ò	<ð €Kð ˆØˆö	<ð €Kr%   c                 ó6   • [        U 5      (       a  S nU$ S nU$ )Nc                 óˆ   • [         R                  " U 5      n[         R                  " [         R                  " U5      5      S   $ rë   )re   rŠ  rF  rV  rY  s     r&   r]  Únp_flatnonzero.<locals>.implš  s+   € Ü—*’*˜Q“-ˆCÜ—:’:œbŸhšh s›mÓ,¨QÑ/Ð/r%   c                 ó´   • U b  [        U 5      (       a  S/nO[        S5       Vs/ s H  o"PM     nn[        R                  " U[        R
                  S9$ s  snf )Nr   r  )rš  r3   re   ru  r   r5   )r-   rA   rº  s      r&   r]  r_  ž  sH   € Ø‰}¤ a§¡Ø�s‘ä#(¨¤8Ó,¢8˜aš¡8�Ð,Ü—8’8˜D¬¯
©
Ñ3Ð3ùò -s   ¥ArÄ  )r-   r]  s     r&   Únp_flatnonzerora  –  s'   € ô ˜×Ñò	0ð €Kò	4ð €Kr%   c                 óÜ  • U R                   S:X  aC  U R                  S   nU R                  S   nSU-   nU(       a  X2-  nXT4$ U[        X#5      -  n XT4$ [        R                  " U R                  5      n[        R
                  " [        R                  " U5      S:H  5      (       d  [        S5      eS[        R                  " US S 5      R                  5       -   nUR                  5       nXT4$ )Nr€   r   r)   z/All dimensions of input must be of equal lengthrT  )r�   r„   r  re   ru  rf  rƒ  r‚   rØ   r®  r»   )r-   Úwraprî   r¦  Ústeprˆ  r„   s          r&   Ú_fill_diagonal_paramsre  ¨  sÎ   € à‡v�v�ƒ{Ø�G‰G�A‰JˆØ�G‰G�A‰JˆØ�1‰uˆÞØ‘%ˆCð ˆ9Ðð ”c˜!“i‘-‰Cð ˆ9Ðô —’˜Ÿ™Ó!ˆä�vŠv”b—g’g˜e“n¨Ñ)×*Ñ*ÜÐNÓOÐOà”B—J’J˜u S b˜zÓ*×/Ñ/Ó1Ñ1ˆØ�j‰j‹lˆàˆ9Ðr%   c                 ó`   • [        X5      u  p4[        SX45       H  nXR                  U'   M     g rë   )re  r3   rÊ   )r-   rð   rc  rˆ  rd  r.   s         r&   Ú_fill_diagonal_scalarrg  ¾  s*   € ä% aÓ.�I€Cä�1�cÖ ˆØ�‰ˆq‹	ò !r%   c                 ó’   • [        X5      u  p4Sn[        U5      n[        SX45       H  nX   U R                  U'   US-  nXV-  nM     g rî  )re  rG   r3   rÊ   )r-   rð   rc  rˆ  rd  ÚctrÚv_lenr.   s           r&   Ú_fill_diagonalrk  Æ  sL   € ä% aÓ.�I€CØ
€CÜ�‹H€Eä�1�cÖ ˆØ‘Hˆ�‰ˆq‰	Øˆq‰ˆØ‰kŠò !r%   c                 ó^  • [         R                  " U R                  5      nUR                  nUR                  n[         R
                  " [         R                  " U5      ) 5      (       d:  [         R
                  " X:  5      (       d  [         R
                  " X:„  5      (       a  [        S5      eg ©Nz'Unable to safely conform val to a.dtype)re   Úiinfor™   r  r#  r   r²  r‚   )r-   rð   rn  Úv_minÚv_maxs        r&   Ú_check_val_intrq  Ò  su   € ä�HŠH�Q—W‘WÓ€EØ�I‰I€EØ�I‰I€Eô 
‡v‚vŒr�{Š{˜3ÓÐ× Ñ ¤B§F¢F¨3©;×$7Ñ$7¼2¿6º6À#Á+×;NÑ;NÜÐBÓCÐCð <Or%   c                 ó0  • [         R                  " U R                  5      nUR                  nUR                  nU[         R
                  " U5         n[         R                  " XS:  5      (       d  [         R                  " XT:„  5      (       a  [        S5      eg rm  )re   Úfinfor™   r  r#  r²  r   r‚   )r-   rð   rs  ro  rp  Úfinite_valss         r&   Ú_check_val_floatru  Ý  sp   € ä�HŠH�Q—W‘WÓ€EØ�I‰I€EØ�I‰I€Eð ”b—k’k #Ó&Ñ'€KÜ	‡v‚vˆkÑ!×"Ñ"¤b§f¢f¨[Ñ-@×&AÑ&AÜÐBÓCÐCð 'Br%   c                 ó   • U $ r,   r$   ©rº  r  s     r&   rÁ  rÁ  ê  s   € ©1r%   c                 ó   • g r,   r$   r¹  s    r&   rX  rX  í  re  r%   c                 ó.  ^• [        U [        R                  5      (       a  S $ [        U [        R                  [        R                  45      (       a  S $ [        U [        R
                  [        R                  45      (       a  [        U 5      mU4S j$ g )Nc                 ó   • U $ r,   r$   r¹  s    r&   rÁ  Ú_asarray_impl.<locals>.<lambda>ô  s   € ™r%   c                 ó.   • [         R                  " U 5      $ r,   rt  r¹  s    r&   rÁ  r{  ö  s   € œŸš !œr%   c                 ó0   >• [         R                  " U /TS9$ r  rt  ©rº  r  s    €r&   rÁ  r{  ù  s   ø€ œŸš 1 #¨RÒ0r%   )rX   r   rÁ   r  r[   rœ  r›  r	   r~  s    @r&   Ú_asarray_implr  ñ  sh   ø€ ä�!”U—[‘[×!Ñ!ÙÐÜ	�AœŸ™¬¯©Ð4×	5Ñ	5Ù$Ð$Ü	�AœŸ™¤e§m¡mÐ4×	5Ñ	5Ü�a‹[ˆÜ0Ð0ð 
6r%   c                 óF  ^• U R                   S:”  a÷  [        U R                  [        R                  5      (       a  [
        mO6[        U R                  [        R                  5      (       a  [        mO[        mSU4S jjnSU4S jjn[        U[        R                  [        R                  [        R                  45      (       a  U$ [        U[        R                  [        R                  [        R                  45      (       a  U$ g SU R                   -  n[        U5      e)Nr)   c                 ó`   >• [        U5      R                  5       nT" X5        [        XU5        g r,   )rX  r«  rg  ©r-   rð   rc  ÚtmpvalÚcheckers       €r&   Úscalar_implÚ%np_fill_diagonal.<locals>.scalar_impl
  s'   ø€ Ü˜c“]×*Ñ*Ó,ˆFÙ�AÔÜ! !¨$Õ/r%   c                 ó`   >• [        U5      R                  5       nT" X5        [        XU5        g r,   )rX  r«  rk  r‚  s       €r&   Únon_scalar_implÚ)np_fill_diagonal.<locals>.non_scalar_impl  s'   ø€ Ü˜c“]×*Ñ*Ó,ˆFÙ�AÔÜ˜1 dÕ+r%   z4The first argument must be at least 2-D (found %s-D)©F)r�   rX   r™   r   r?  rq  r  ru  Ú
_check_nopr›  r[   r  rÁ   r   )r-   rð   rc  r…  rˆ  r³   r„  s         @r&   Únp_fill_diagonalrŒ  ü  sÅ   ø€ ð 	‡v�v�ƒzô �a—g‘gœuŸ}™}×-Ñ-Ü$‰GÜ˜Ÿ™¤§¡×-Ñ-Ü&‰Gä ˆG÷	0÷
	,ô
 �cœEŸK™K¬¯©¼¿¹ÐF×GÑGØÐÜ˜œeŸk™k¬5¯>©>¼5¿;¹;ÐG×HÑHØ"Ð"ð Ið EÀqÇvÁvÑMˆÜ˜#ÓÐr%   c                 ó"   • SU R                   4-  $ )Nzllvm.rint.f%d)rÔ   )Útps    r&   Ú_np_round_intrinsicr�    s   € à˜bŸk™k˜^Ñ+Ð+r%   c                 ó   • U" U5      nS nX#4$ )Nc                 ó4  • Uu  nUR                   S   nU R                  U5      nUR                  n[        R                  R                  Xf/5      n[        R                  " Xx[        U5      5      n	UR                  X”45      n
[        XUR                  U
5      $ rë   )r;   r1   ÚmoduleÚllvmliteÚirÚFunctionTyper   Úget_or_insert_functionr�  Úcallr   rs   )rv   r9   rw   r;   rð   rŽ  Úlltyr’  Úfntyrç  rx   s              r&   rE   Ú _np_round_float.<locals>.codegen&  sƒ   € Ø‰ˆØ�X‰X�a‰[ˆØ×%Ñ% bÓ)ˆØ—‘ˆÜ�{‰{×'Ñ'¨¨fÓ5ˆÜ×+Ò+¨FÜ,?ÀÓ,CóEˆà�l‰l˜2˜vÓ&ˆÜ! '°C·O±OÀSÓIÐIr%   r$   )Ú	typingctxrð   rw   rE   s       r&   Ú_np_round_floatrœ  "  s   € á
ˆc‹(€Cò	Jð ˆ<Ðr%   c                 óH  • [         R                  " U 5      (       d  [         R                  " U 5      (       a  U $ US:¼  aM  US:”  a  SUS-
  -  nSnOSU-  nSnX-  U-  n[         R                  " U5      (       a  U $ [        U5      U-  U-  $ SU* -  nX-  n[        U5      U-  $ )Nr   é   g      $@g’ÕMÏð€Drn  )rµ  rp  r   rœ  )rº  ÚndigitsÚpow1Úpow2r  s        r&   Úround_ndigitsr¢  4  s«   € ä‡z‚z�!‡}�}œŸ
š
 1Ÿ™Øˆð �!ƒ|Ø�R‹<ð ˜G b™LÑ)ˆDØ‰Dà˜7‘?ˆDØˆDØ‰X˜ÑˆÜ�:Š:�a�=‰=ØˆHÜ Ó" TÑ)¨TÑ1Ð1ð ˜˜Ñ!ˆØ‰HˆÜ˜qÓ! DÑ(Ð(r%   c                 ó¼  • [        U 5      (       d  [        S5      e[        U[        R                  5      (       d  [        U5      (       d  Sn[        U5      e[        U [        R                  [        R                  [        R                  45      (       aŠ  [        U5      (       as  [        U [        R                  5      (       a  S	S jnU$ [        U [        R                  5      (       a  S	S jnU$ [        U [        R                  5      (       a  S	S jnU$ g S	S jnU$ [        U [        R                  5      (       a  [        U5      (       a  S	S jnU$ S	S jnU$ g )
Nz#The argument "a" must be array-likez5The argument "out" must be an array if it is providedc                 ó:   • US:X  a  [        U 5      $ [        X5      $ rë   )rœ  r¢  ©r-   ÚdecimalsrÌ   s      r&   r]  Úimpl_np_round.<locals>.impl\  s   € Ø 1“}Ü.¨qÓ1Ð1ä,¨QÓ9Ð9r%   c                 ó:   • US:X  a  U $ [        [        X5      5      $ rë   )r·  r¢  r¥  s      r&   r]  r§  c  s   € Ø 1“}Ø ˜ä"¤=°Ó#=Ó>Ð>r%   c                 óÒ   • US:X  a+  [        U R                  5      n[        U R                  5      nO,[        U R                  U5      n[        U R                  U5      n[	        X45      $ rë   )rœ  rì   r  r¢  Úcomplex)r-   r¦  rÌ   rì   r  s        r&   r]  r§  j  sP   € Ø 1“}Ü.¨q¯v©vÓ6˜Ü.¨q¯v©vÓ6™ä,¨Q¯V©V°XÓ>˜Ü,¨Q¯V©V°XÓ>˜Ü" 4Ó.Ð.r%   c                 ó8   • [         R                  " X5      US'   U$ rë   )re   Úroundr¥  s      r&   r]  r§  t  s   € ÜŸš !Ó.��A‘Ø�
r%   c                 ó\   • [         R                  " U 5      n[         R                  " XU5      $ r,   )re   ró  r¬  r¥  s      r&   r]  r§  z  s!   € Ü—m’m AÓ&�Ü—x’x ¨SÓ1Ð1r%   c                 ó¾   • U R                   UR                   :w  a  [        S5      e[        R                  " U 5       H  u  p4[        R                  " XA5      X#'   M     U$ )Nzinvalid output shape)r„   r‚   re   r  r¬  )r-   r¦  rÌ   r  rð   s        r&   r]  r§    sH   € Ø—7‘7˜cŸi™iÓ'Ü$Ð%;Ó<Ð<Ü"$§.¢.°Ö"3‘J�EÜ!#§¢¨#Ó!8�C“Jñ #4à�
r%   rJ  )	r
   r   rX   r   rÁ   r   r  r?  r  )r-   r¦  rÌ   r³   r]  s        r&   Úimpl_np_roundr¯  O  s  € ô ˜A×ÑÜÐ?Ó@Ð@ä�sœEŸK™K×(Ñ(¬K¸×,<Ñ,<ØEˆÜ˜#ÓÐä�!”e—k‘k¤5§=¡=´%·-±-Ð@×AÑAÜ�s×ÑÜ˜!œUŸ[™[×)Ñ)ô:ð
 �Ü˜AœuŸ}™}×-Ñ-ô?ð
 �Ü˜AœuŸ}™}×-Ñ-ô/ð �ð .ôð ˆKÜ	�A”u—{‘{×	#Ñ	#Ü�s×Ñô2ð ˆKôð ˆKð 
$r%   c                 ó¨   • [        U [        R                  5      (       a  S nU$ [        U [        R                  5      (       a  S nU$ [	        S5      e)Nc                 ój   • U S:X  a  Sn U [         R                  -  n [         R                  " U 5      U -  $ )Nr¬  g#B’¡œÇ;)re   ÚpiÚsinr¹  s    r&   r]  Úimpl_np_sinc.<locals>.impl�  s-   € Ø�D‹yØ�Ø”—‘‰JˆAÜ—6’6˜!“9˜q‘=Ð r%   c                 ó    • [         R                  " U 5      n[         R                  " U 5       H  u  p#[         R                  " U5      X'   M     U$ r,   )re   r-  r  Úsinc)rº  rÌ   r  rð   s       r&   r]  r´  –  s9   € Ü—-’- Ó"ˆCÜ Ÿnšn¨QÖ/‘
�ÜŸWšW S›\�“
ñ 0àˆJr%   z,Argument "x" must be a Number or array-like.)rX   r   rœ  rÁ   r   rÚ  s     r&   Úimpl_np_sincr·  Œ  sH   € ä�!”U—\‘\×"Ñ"ò	!ð
 ˆÜ	�A”u—{‘{×	#Ñ	#ò	ð
 ˆäÐKÓLÐLr%   c                 ó´  ^^• [        S[        R                  -  5      m[        U [        R
                  5      (       a
  SU4S jjnU$ [        U [        R                  5      (       ae  U R                  n[        U[        R                  5      (       a  UR                  mO#[        U[        R                  5      (       a  UmOg SU4S jjnU$ [        SU  35      e)Né´   c                 óÄ   >• U(       a.  [         R                  " U R                  U R                  5      T-  $ [         R                  " U R                  U R                  5      $ r,   )re   Úarctan2r  rì   )r;  ÚdegÚdeg_mults     €r&   r]  Úov_np_angle.<locals>.impl¦  s=   ø€ ÞÜ—z’z !§&¡&¨!¯&©&Ó1°HÑ<Ð<ä—z’z !§&¡&¨!¯&©&Ó1Ð1r%   c                 ó    >• [         R                  " U TS9n[         R                  " U 5       H  u  p4[         R                  " XA5      X#'   M     U$ r  )re   r-  r  Úangle)r;  r¼  rÌ   r  rð   Ú	ret_dtypes        €r&   r]  r¾  ¶  s=   ø€ Ü—-’- ¨Ñ3ˆCÜ Ÿnšn¨QÖ/‘
�ÜŸXšX cÓ/�“
ñ 0àˆJr%   z6Argument "z" must be a complex or Array[complex]. Got rŠ  )r™  re   r²  rX   r   rœ  rÁ   r™   r  Úunderlying_floatr  r   )r;  r¼  r]  r™   r½  rÁ  s       @@r&   Úov_np_anglerÃ     s«   ù€ ä�Sœ2Ÿ5™5‘[Ó!€Hô �!”U—\‘\×"Ñ"÷	2ð
 ˆÜ	�A”u—{‘{×	#Ñ	#Ø—‘ˆä�eœUŸ]™]×+Ñ+Ø×.Ñ.‰IÜ˜œuŸ{™{×+Ñ+Ø‰Ià÷	ð
 ˆäð 7Ø78°cð;ó <ð 	<r%   zarray.nonzeroc                 ó®  • UR                   S   nUR                  nUR                  nUR                  n[	        U5      " XUS   5      n[
        R                  " XR                  5      n	[
        R                  " XR                  5      n
UR                  nUR                  nU R                  [        R                  S5      nU R                  [        R                  S5      n[
        R                  " X5      n[
        R                  " XUR                   5       n[
        R"                  " XX¹U
UU5      n[%        XUU5      nU R'                  XR                  U5      nUR)                  U5         UR+                  UR-                  UR/                  U5      U5      U5        S S S 5        S S S 5        UR/                  U5      4n[1        U5       Vs/ s H  n[3        XUU5      R5                  5       PM      nnU Vs/ s H  n[	        U5      " XU5      PM     nnU Vs/ s H  nUR                  PM     nn[
        R                  " X5      n[
        R                  " XUR                   5       n[
        R"                  " XX¹U
UU5      n[%        XUU5      nU R'                  XR                  U5      nUR)                  U5         U(       d  U4nUR/                  U5      n[1        U5       H3  n[
        R"                  " XUU   USSU/5      n[7        XUUU   U5        M5     UR+                  UR-                  UU5      U5        S S S 5        S S S 5        U R9                  XR                  U5      n[;        XUR                  U5      $ ! , (       d  f       GNê= f! , (       d  f       GNô= fs  snf s  snf s  snf ! , (       d  f       N|= f! , (       d  f       N…= f)Nr   r)   r$   ÚC)r;   rs   r™   r)  r   r   Úunpack_tupler„   ÚstridesrA   Úlayoutr4   r   r5   Úalloca_once_valueÚ	loop_nestr‡   Úget_item_pointer2r   Úis_trueÚif_thenÚstorer  Úloadr3   r   Ú	_getvaluer   Ú
make_tupler   )rv   r9   rw   r;   Úarytyr¥   ÚoutarytyÚnoutsr„  r„   rÇ  rA   rÈ  rk   rC  r)  ÚindicesÚptrrð   ÚnzÚ	out_shaper.   ÚoutsrÌ   ÚoutarysÚ	out_datasr  Úcurr=   s                                r&   Úarray_nonzerorÝ  Á  s  € ð �H‰H�Q‰K€Eà�O‰O€EØ�{‰{€HØ�K‰K€Eä
�UÔ
˜G¨d°1©gÓ
6€CÜ× Ò  ¯)©)Ó4€EÜ×"Ò" 7¯K©KÓ8€GØ�8‰8€DØ�\‰\€Fð ×Ñ¤§
¡
¨AÓ.€DØ
×
Ñ
œuŸz™z¨1Ó
-€CÜ×%Ò% gÓ4€EÜ	×	Ò	˜7¨4¯9©9Ô	5¸Ü×'Ò'¨¸$ÀwØ(.°ó9ˆä˜¨%°Ó5ˆØ�_‰_˜W§k¡k°3Ó7ˆØ�_‰_˜RÕ Ø�M‰M˜'Ÿ+™+ g§l¡l°5Ó&9¸3Ó?ÀÔG÷ !÷ 
6ð —‘˜eÓ$Ð&€Iä˜5”\ó#Ú!�ô ˜7¨X°yÓA×KÑKÖMÙ!ð 	ð #áFJÓKÂd¸sŒz˜(Ô# G°cÖ:Ád€GÐKÙ%,Ó-¢W˜c�—”¡W€IÐ-ô ×%Ò% gÓ4€EÜ	×	Ò	˜7¨4¯9©9Ô	5¸Ü×'Ò'¨¸$ÀwØ(.°ó9ˆä˜¨%°Ó5ˆØ�_‰_˜W§k¡k°3Ó7ˆØ�_‰_˜RÕ æà˜'�Ø—,‘,˜uÓ%ˆCÜ˜5–\�Ü×/Ò/°À)ÈAÁ,Ø09¸2Ø03°c°Uó<�ô ˜7¨X°w¸q±zÀ3ÖGñ	 "ð
 �M‰M˜'Ÿ+™+ c¨3Ó/°Ô7÷ !÷ 
6ð$ ×
Ñ
˜W§o¡o°tÓ
<€CÜ˜G¨c¯o©o¸sÓCÐC÷? !Ö ú÷ 
6Ö	5üò#ùâKùÚ-÷ !Õ ú÷ 
6Õ	5ús]   ÄANÅ-2NÆNÇ%N&Ç9N+ÈN0É*AOÊ?B N5Ì?OÎ
N	ÎNÎ
N#Î5
O	Î?OÏ
Oc                 ó   ^ • U 4S jnU$ )Nc                 ó®   >• [         R                  " U5      R                  T5      n[         R                  " U5      R                  T5      nU (       a  U$ U$ r,   )re   rŠ  r  )Ú	conditionrº  r  Úx_Úy_r™   s        €r&   r]  Ú)_where_zero_size_array_impl.<locals>.implü  s@   ø€ Ü�ZŠZ˜‹]×!Ñ! %Ó(ˆÜ�ZŠZ˜‹]×!Ñ! %Ó(ˆÞˆrÐ& BÐ&r%   r$   )r™   r]  s   ` r&   Ú_where_zero_size_array_implrä  û  s   ø€ õ'ð €Kr%   c                 óf   • [         R                  " U 5       H  u  pEU(       a  X   OX$   X4'   M     U$ r,   )re   r  )Úcondrº  r  rx   rÍ   ri   s         r&   Ú_where_generic_inner_implrç    s+   € ä—.’. Ö&‰ˆÞ�1’6 A¡Fˆ‹ñ 'à€Jr%   c                 óÄ   • U R                   nUR                   nUR                   nUR                   n[        U R                  5       H  nXH   (       a  XX   OXh   Xx'   M     U$ r,   )rÊ   r3   rÈ   )	ræ  rº  r  rx   ÚcfÚxfÚyfÚrfr.   s	            r&   Ú_where_fast_inner_implrí  
  sO   € à	�‰€BØ	
�‰€BØ	
�‰€BØ	�‰€BÜ�4—9‘9ÖˆØŸ�’ B¡Eˆ‹ñ à€Jr%   c                 ó.   ^ ^^• TS1S14;   mU UU4S jnU$ )NrÅ  ÚFc                 ó6  >• [         R                  " U 5      [         R                  " U5      [         R                  " U5      pTn[         R                  " UR                  UR                  UR                  5      n[         R                  " X65      n[         R                  " XF5      n[         R                  " XV5      n	TS:X  a&  [         R
                  " US S S2   TS9R                  n
O[         R
                  " UTS9n
T(       a  [        XxXš5      $ [        XxXš5      $ )Nrï  rT  r  )	re   rŠ  r  r„   r  rÇ   rý  rí  rç  )rà  rº  r  Úcond1Úx1Úy1r„   Úcond_rá  râ  rx   r™   rÈ  Úuse_faster_impls              €€€r&   r]  Ú!_where_generic_impl.<locals>.impl  sÃ   ø€ ÜŸ
š
 9Ó-¬r¯zªz¸!«}¼b¿jºjÈ»m�2ˆÜ×#Ò# E§K¡K°·±¸2¿8¹8ÓDˆÜ—’ Ó-ˆÜ�_Š_˜RÓ'ˆÜ�_Š_˜RÓ'ˆà�S‹=Ü—(’(˜5¡ 2 ™;¨eÑ4×6Ñ6‰Cä—(’(˜5¨Ñ.ˆCæÜ)¨%°RÓ=Ð=ä,¨U¸Ó@Ð@r%   r$   )r™   rÈ  r]  rõ  s   `` @r&   Ú_where_generic_implr÷    s"   ú€ Ø # ¨¨ Ñ.€O÷Að" €Kr%   c                 óF   • [        U 5      (       d  Sn[        U5      eS nU$ )Nú+The argument "condition" must be array-likec                 óJ   • [         R                  " U 5      R                  5       $ r,   )re   rŠ  rF  )rà  s    r&   Úwhere_cond_none_noneÚ)ov_np_where.<locals>.where_cond_none_none2  s   € Ü�zŠz˜)Ó$×,Ñ,Ó.Ð.r%   )r
   r   )rà  r³   rû  s      r&   Úov_np_whererý  ,  s(   € ä˜I×&Ñ&Ø;ˆÜ˜SÓ!Ð!ò/àÐr%   c                 ó`  • [        U 5      (       d  Sn[        U5      e[        U5      (       d  [        U5      (       a  [        S5      e[        X4S5       H1  u  pE[        U5      (       a  M  Sn[        UR	                  U5      5      e   [        U [        R                  5      n[        U[        R                  5      n[        U[        R                  5      nU(       aÆ  [        U5      n	[        U5      n
[        R                  " Xš5      nS n[        XU4 Vs/ s H
  oÜ" U5      PM     sn5      nU(       a  [        U5      $ U R                  nU(       aD  U(       a=  UR                  UR                  s=:X  a  U R                  :X  a  O  OUR                  nOSn[        X¿5      $ S nU$ s  snf )Nrù  z"Argument "x" or "y" cannot be Nonerw  z0The argument "{}" must be array-like if providedc                 ó¤   • [        U [        R                  5      =(       d0    [        U [        R                  5      =(       a    U R                  S:H  $ rë   )rX   r   rœ  rÁ   r�   )Úargs    r&   Úcheck_0_dimÚ$ov_np_where_x_y.<locals>.check_0_dimY  s7   € Ü˜c¤5§<¡<Ó0÷ @Ü˜3¤§¡Ó,×>°·±¸Q±ð@r%   r�  c                 óª   • [         R                  " [         R                  " U 5      [         R                  " U5      [         R                  " U5      5      $ r,   )re   r,  rŠ  )rà  rº  r  s      r&   r]  Úov_np_where_x_y.<locals>.implh  s.   € Ü—8’8œBŸJšJ yÓ1´2·:²:¸a³=Ä"Ç*Â*ÈQÃ-ÓPÐPr%   )r
   r   r   Úzipr  rX   r   rÁ   rÑ  re   r¾  rf  rä  rÈ  r÷  )rà  rº  r  r³   r   r  Úcond_arrr»  r  r¿  rC  r™   r  r-   Úspecial_0_caserÈ  r]  s                    r&   Úov_np_where_x_yr  7  s]  € ä˜I×&Ñ&Ø;ˆÜ˜SÓ!Ð!ô �1‡~�~œ QŸ™äÐAÓBÐBä˜!˜ Ö,‰	ˆÜ ×$Ó$ØDˆCÜ  §¡¨DÓ!1Ó2Ð2ñ -ô
 ˜)¤U§[¡[Ó1€HÜ�qœ%Ÿ+™+Ó&€EÜ�qœ%Ÿ+™+Ó&€EæÜ˜qÓ!ˆÜ˜qÓ!ˆÜ× Ò  Ó,ˆò	@ô °yÀQÑ6GÓHÒ6G°˜k¨!žnÑ6GÑHÓIˆÞÜ.¨uÓ5Ð5à×!Ñ!ˆÞ–UØ�x‰x˜1Ÿ8™8Õ7 y×'7Ñ'7Ö7ØŸ™‘à�Ü" 5Ó1Ð1ò	Qàˆùò Is   ÄF+c                 ó   • S nU$ )Nc                 ó   • U R                   $ r,   )rì   rq  s    r&   Únp_real_implÚnp_real.<locals>.np_real_implo  ó   € Ø�x‰xˆr%   r$   )rð   r  s     r&   Únp_realr  m  ó   € òð Ðr%   c                 ó   • S nU$ )Nc                 ó   • U R                   $ r,   )r  rq  s    r&   Únp_imag_implÚnp_imag.<locals>.np_imag_implw  r  r%   r$   )rð   r  s     r&   Únp_imagr  u  r  r%   c                 óL   • [        U [        R                  5      (       d  g S nU$ )Nc                 óL   • [         R                  " U 5       H
  nX!:X  d  M
    g   gr  )re   rf   )rh   rÎ  rº  s      r&   Únp_contains_implÚ%np_contains.<locals>.np_contains_impl…  s!   € Ü—’˜3–ˆAØ�xÙñ  ð r%   ró   )rh   rÎ  r  s      r&   Únp_containsr  €  s#   € ä�cœ5Ÿ;™;×'Ñ'Øòð Ðr%   c                 ót   • [        U 5      (       d  [        S5      e[        U5      (       a  SS jnU$ SS jnU$ )Nz3The argument to np.count_nonzero must be array-likec                 ó`   • [         R                  " U 5      n[         R                  " US:g  5      $ rë   )re   rV  r®  ©r-   r]   Úarr2s      r&   r]  Únp_count_nonzero.<locals>.impl”  s"   € Ü—8’8˜A“;ˆDÜ—6’6˜$ !™)Ó$Ð$r%   c                 óh   • U R                  [        R                  5      n[        R                  " X!S9$ )N)r]   )r  re   rÓ   r®  r  s      r&   r]  r  ™  s#   € Ø—8‘8œBŸH™HÓ%ˆDÜ—6’6˜$Ñ*Ð*r%   r,   )r
   r   r   )r-   r]   r]  s      r&   Únp_count_nonzeror   Ž  s<   € ä˜A×ÑÜÐOÓPÐPä�4×Ñô	%ð ˆô	+ð ˆr%   c                 ó   • U $ r,   r$   r¹  s    r&   rÁ  rÁ  Ÿ  s   € ¹r%   c                 ó.   • [         R                  " U 5      $ r,   r¡  r¹  s    r&   rÁ  rÁ     s   € ¼¿
º
À1¼r%   c                 ó"  ^• [        U [        R                  [        R                  45      (       d  [	        S5      e[        U[        R                  [        R                  [        R
                  45      (       ah  [        U[        R
                  5      (       a  [        mO:[        UR                  [        R                  5      (       d  [	        S5      e[        mU4S jnU$ [        U[        R                  5      (       d  [	        S5      eS nU$ )Nz)arr must be either an Array or a Sequencezobj should be of Integer dtypec                 óÖ   >• [         R                  " [         R                  " U 5      5      n U R                  n[         R                  " U[         R
                  S9nT" U5      nSX1'   X   $ )Nr  F)re   rV  rŠ  rÈ   ÚonesrÓ   )rh   r~  r  ÚkeepÚhandlers       €r&   Únp_delete_implÚ!np_delete.<locals>.np_delete_impl³  sN   ø€ Ü—(’(œ2Ÿ:š: c›?Ó+ˆCØ—‘ˆAä—7’7˜1¤B§H¡HÑ-ˆDÙ˜#“,ˆCØˆD‰IØ‘9Ðr%   c                 óò   • [         R                  " [         R                  " U 5      5      n U R                  nUnX2* :  d  X2:¼  a  [	        S5      eUS:  a  X2-  n[         R
                  " U S U XS-   S  45      $ )Nz"obj must be less than the len(arr)r   r)   )re   rV  rŠ  rÈ   Ú
IndexErrorÚconcatenate)rh   r~  r  Úposs       r&   Únp_delete_scalar_implÚ(np_delete.<locals>.np_delete_scalar_implÁ  so   € Ü—(’(œ2Ÿ:š: c›?Ó+ˆCØ—‘ˆAØˆCà�b“˜C›HÜ Ð!EÓFÐFð �a“Ø‘�ä—>’> 3 t¨ 9¨c¸±'°(¨mÐ"<Ó=Ð=r%   )
rX   r   rÁ   r  r   Ú	SliceTypeÚnp_delete_handler_isslicer™   r?  Únp_delete_handler_isarray)rh   r~  r(  r.  r'  s       @r&   Ú	np_deleter3  £  sÀ   ø€ ô
 �cœEŸK™K¬¯©Ð8×9Ñ9ÜÐEÓFÐFä�#œŸ™¤U§^¡^´U·_±_ÐE×FÑFÜ�cœEŸO™O×-Ñ-Ü/‰Gä˜cŸi™i¬¯©×7Ñ7Ü!Ð"BÓCÐCÜ/ˆGõ	ð Ðô ˜#œuŸ}™}×-Ñ-ÜÐ>Ó?Ð?ò	>ð %Ð$r%   c                 óp   • [        U [        R                  5      (       a  U R                  S:X  a  g SS jnU$ )Nr   c                 óÈ  • US:X  a  U R                  5       $ US:  a  [        S5      eU R                  S   nU R                  S S [        X!-
  S5      4-   n[        R
                  " X0R                  5      nUR                  S:X  a  U$ U R                  SU45      nUR                  SUR                  S   45      n[        R
                  " X R                  5      n[        UR                  S   5       Hk  n[        US-
  5       H  n	XXU	S-   4   XXU	4   -
  Xy'   M     [        SU5       H(  n
[        X*-
  S-
  5       H  n	XyS-      Xy   -
  Xy'   M     M*     US X!-
   Xh'   Mm     U$ )Nr   z"diff(): order must be non-negativerT  r)   )
rõ  r‚   r„   r#  re   rÇ   r™   rÈ   rW  r3   )r-   r¦  rÈ   rØ  rÌ   Úa2Úout2ÚworkÚmajorr.   Úniters              r&   Ú	diff_implÚnp_diff_impl.<locals>.diff_impl×  sQ  € Ø�‹6Ø—6‘6“8ˆOØˆq‹5ÜÐAÓBÐBØ�w‰w�r‰{ˆØ—G‘G˜C˜R�L¤C¨©°!Ó$4Ð#6Ñ6ˆ	Ü�hŠh�y§'¡'Ó*ˆØ�8‰8�q‹=ØˆJð �Y‰Y˜˜D�zÓ"ˆØ�{‰{˜B §	¡	¨"¡Ð.Ó/ˆä�xŠx˜Ÿg™gÓ&ˆä˜2Ÿ8™8 A™;Ö'ˆEä˜4 !™8–_�Ø A¨¡E˜\Ñ*¨R°q°©\Ñ9�“ñ %ô ˜q !ž�Ü˜t™|¨aÑ/Ö0�AØ" q¡5™k¨D©GÑ3�D“Gó 1ñ %ð ˜y ¡˜/ˆD‹Kñ (ð ˆ
r%   r—  )rX   r   rÁ   r�   )r-   r¦  r;  s      r&   Únp_diff_implr=  Ò  s-   € ä�aœŸ™×%Ñ%¨¯©°1«Øôð> Ðr%   c                 óì   • [        U 5      (       a  [        U5      (       d  [        S5      e[        R                  [        R                  4n[        X5      (       a  [        X5      (       a  S nU$ S nU$ )Nz3Both arguments to "array_equals" must be array-likec                 ó
   • X:H  $ r,   r$   )Úa1r6  s     r&   r]  Únp_array_equal.<locals>.impl  s	   € Ø‘8ˆOr%   c                 óÀ   • [         R                  " U 5      n[         R                  " U5      nUR                  UR                  :X  a  [         R                  " X#:H  5      $ gr  )re   rŠ  r„   rf  )r@  r6  r-   r„  s       r&   r]  rA    s?   € Ü—
’
˜2“ˆAÜ—
’
˜2“ˆAØ�w‰w˜!Ÿ'™'Ó!Ü—v’v˜a™f“~Ð%Ør%   )r
   r   r   r›  rœ  rX   )r@  r6  Úacceptedr]  s       r&   Únp_array_equalrD  ù  se   € ô ˜R× Ñ Ô%5°b×%9Ñ%9ÜÐOÓPÐPä—‘œuŸ|™|Ð,€HÜ�"×Ñ¤J¨r×$<Ñ$<ò	ð €Kò	ð €Kr%   c                 óÆ   • [        U 5      (       d  [        U5      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      eSS jnU$ )Nz.intersect1d: first two args must be array-likez5intersect1d: argument "assume_unique" must be booleanc                 óz  • [         R                  " U 5      n [         R                  " U5      nU(       d-  [         R                  " U 5      n [         R                  " U5      nO U R                  5       n UR                  5       n[         R                  " X45      nUR                  5         USS  US S :H  nUS S U   nU$ )Nr)   rT  )re   rŠ  r  rV  r,  Úsort)Úar1Úar2Úassume_uniqueÚauxr/  Úint1ds         r&   Únp_intersects1d_implÚ0jit_np_intersect1d.<locals>.np_intersects1d_impl  s’   € Ü�jŠj˜‹oˆÜ�jŠj˜‹oˆæÜ—)’)˜C“.ˆCÜ—)’)˜C“.‰Cà—)‘)“+ˆCØ—)‘)“+ˆCä�nŠn˜c˜ZÓ(ˆØ�‰Œ
Ø�1�2ˆw˜#˜c˜r˜(Ñ"ˆØ�C�R�˜‘ˆØˆr%   rŠ  ©r
   r   rX   r   r›  rš  )rH  rI  rJ  rM  s       r&   Újit_np_intersect1drP    s^   € ô
 ˜S×!Ñ!Ô%5°c×%:Ñ%:ÜÐJÓKÐKÜ�m¤e§m¡m´TÐ%:×;Ñ;Üð Eó Fð 	Fôð   Ðr%   c                 ó
  • [        U[        R                  5      (       a+  UR                  S:w  a  [	        SR                  U 5      5      eg [        U[        R                  5      (       d  [	        SR                  U 5      5      eg )Nr)   z${0}(): input should have dimension 1z+{0}(): input should be an array or sequence)rX   r   rÁ   r�   r   r  r  )Ú	func_nameÚseqs     r&   Úvalidate_1d_array_likerT  -  so   € Ü�#”u—{‘{×#Ñ#Ø�8‰8�q‹=Ü Ð!Gß"(¡&¨Ó"3ó5ð 5ð ô ˜œUŸ^™^×,Ñ,ÜÐJß$™f YÓ/ó1ð 	1ð -r%   c                 óŠ  ^^^• [        SU 5        [        U R                  [        R                  5      (       d  g [        US5        US [        R                  4;  a5  [        SU5        [        R                  m[        S 5       m[        S 5       mO([        R                  m[        S 5       m[        S 5       mSUUU4S jjnU$ )	NÚbincountÚ	minlengthc                 óJ   • [        U 5      [        U5      :w  a  [        S5      eg )Nz7bincount(): weights and list don't have the same length)rG   r‚   ©r-   r¨  rW  s      r&   Úvalidate_inputsÚ$np_bincount.<locals>.validate_inputsF  s)   € ä�1‹vœ˜W›Ó%Ü ð "3ó 4ð 4ð &r%   c                 ó    • X==   X1   -  ss'   g r,   r$   ©rÌ   rÍ   rð   r¨  s       r&   Ú
count_itemÚnp_bincount.<locals>.count_itemL  s   € à‹H˜™Ñ$ŒHr%   c                 ó   • g r,   r$   rY  s      r&   rZ  r[  S  s   € àr%   c                 ó   • X==   S-  ss'   g rŽ  r$   r]  s       r&   r^  r_  W  s   € à‹H˜‰MŒHr%   c                 ó\  >• T
" XU5        US:  a  [        S5      e[        U 5      nUS:”  a  U S   OSn[        SU5       H$  nX   S:  a  [        S5      e[        X@U   5      nM&     [        US-   U5      n[        R
                  " UT	5      n[        U5       H  nT" XuX   U5        M     U$ )Nr   z 'minlength' must not be negativerT  r)   z/bincount(): first argument must be non-negative)r‚   rG   r3   r#  re   r  )r-   r¨  rW  r¦  r‚  r.   Ú
out_lengthrÌ   r^  r‰  rZ  s           €€€r&   Úbincount_implÚ"np_bincount.<locals>.bincount_impl[  s¶   ø€ Ù˜ IÔ.Ø�q‹=ÜÐ?Ó@Ð@ä�‹FˆØ˜A›��!’ 2ˆÜ�q˜!–ˆAØ‰t�a‹xÜ ð "0ó 1ð 1ä˜ ™tÓ$ŠEñ	 ô ˜ ™ IÓ.ˆ
Ü�hŠh�z 9Ó-ˆÜ�q–ˆAÙ�s˜q™t WÖ-ñ àˆ
r%   rë   )rT  rX   r™   r   r?  r   ry  re   rå   r   r5   )r-   r¨  rW  rd  r^  r‰  rZ  s       @@@r&   Únp_bincountrf  7  s¾   ú€ ä˜: qÔ)ä�a—g‘gœuŸ}™}×-Ñ-Øä�Y Ô,à�tœUŸZ™ZÐ(Ó(Ü˜z¨7Ô3ô —J‘Jˆ	ä	ñ	4ó 
ð	4ô
 
ñ	%ó 
ñ	%ô —J‘Jˆ	ä	ñ	ó 
ð	ô 
ñ	ó 
ð	÷ñ ð& Ðr%   c                 óž  • [         R                  " U R                  5      (       aª  [         R                  " UR                  5      (       a„  [         R                  " U R                  5      (       a   [         R                  " UR                  5      $ [         R                  " UR                  5      (       a  gU R                  UR                  :*  $ g[         R                  " UR                  5      (       a  g[         R                  " U R                  5      (       a?  [         R                  " UR                  5      (       a  U R                  UR                  :*  $ g[         R                  " UR                  5      (       a  gU R                  UR                  :  a  gU R                  UR                  :X  a  U R                  UR                  :*  $ gr  )re   r   rì   r  rö  s     r&   Úless_than_or_equal_complexrh  u  s  € ä	‡x‚x�—‘×ÑÜ�8Š8�A—F‘F×ÑÜ�xŠx˜Ÿ™×ÑÜ—x’x §¡Ó'Ð'ä—8’8˜AŸF™F×#Ñ#ØàŸ6™6 Q§V¡VÑ+Ð+àô �8Š8�A—F‘F×ÑØä�xŠx˜Ÿ™×ÑÜ—8’8˜AŸF™F×#Ñ#ØŸ6™6 Q§V¡VÑ+Ð+à ä—8’8˜AŸF™F×#Ñ#Øà—v‘v §¡“Ø#ØŸ™ 1§6¡6Ó)Ø Ÿv™v¨¯©Ñ/Ð/Ø r%   c                 óÖ   • [        U [        5      (       d  [        U[        5      (       a  [        X5      $ [        U[        5      (       a  [        R
                  " U5      (       a  gX:*  $ rQ  )rX   rª  rh  r™  re   r   rö  s     r&   Ú_less_than_or_equalrj  —  sJ   € ä�!”W×Ñ¤¨A¬w×!7Ñ!7Ü)¨!Ó/Ð/ä	�A”u×	Ñ	Ü�8Š8�A�;‰;Øà‰6€Mr%   c                 ó´   • [        U [        5      (       d  [        U[        5      (       a  [        X5      $ [        U[        5      (       a  [	        X5      $ X:  $ r,   )rX   rª  Úless_than_complexr™  Úless_than_floatrö  s     r&   Ú
_less_thanrn  £  sE   € ä�!”W×Ñ¤¨A¬w×!7Ñ!7Ü  Ó&Ð&ä	�A”u×	Ñ	Ü˜qÓ$Ð$à‰5€Lr%   c                 óz   • [         R                  " U 5      (       a  g[         R                  " U5      (       a  gX:  $ rî  )re   r  rö  s     r&   Ú_less_then_datetime64rp  ®  s+   € ô 
‡x‚x�‡{�{Øä	‡x‚x�‡{�{Øà‰5€Lr%   c                 ó"   • [        X5      (       + $ r,   )rp  rö  s     r&   Ú_less_then_or_equal_datetime64rr  »  s   € ä$ QÓ*Ô*Ð*r%   c                 ó   ^ • U 4S jnU$ )Nc                 óh   >• X#:  a*  X#U-
  S-	  -   nX   nT" XQ5      (       a  US-   nOUnX#:  a  M*  X#4$ rŽ  r$   )r-   Úkey_valr2  rK  r‹  Úmid_valÚcmps         €r&   r]  Ú_searchsorted.<locals>.implÄ  sN   ø€ ØÓà¨GÑ"3¸Ñ!9Ñ:ˆGØ‘jˆGÙ�7×$Ñ$Ø! A™+‘à!�ð Õð ÐÐr%   r$   )rw  r]  s   ` r&   Ú_searchsortedry  À  s   ø€ õ	 ð €Kr%   ÚleftÚrightc                 óÚ   • U[         ;   d   eU R                  S;   a  [        n[        nO[        n[
        nUS:X  a  [        U5      nUnO[        U5      nUn[        U5      [        U5      4$ )NÚmMrz  )ÚVALID_SEARCHSORTED_SIDESÚcharrp  rr  rn  rj  ry  r   )Únp_dtypeÚsidern  ÚleÚ_implÚ_cmps         r&   Ú make_searchsorted_implementationr…  Õ  sl   € ØÔ+Ó+Ð+Ð+à‡}�}˜Óä"ˆÜ+‰äˆÜ ˆàˆvƒ~Ü˜bÓ!ˆØ‰ä˜bÓ!ˆØˆä˜EÓ"Ô$4°TÓ$:Ð:Ð:r%   c                 ó  ^^• [        USU5      nU[        ;  a  [        SU 35      e[        U[        R
                  [        R                  45      (       a  [        UR                  5      nO[        U5      n[        R                  " [        U R                  5      U5      n[        XS5      u  mm[        U[        R
                  5      (       a  SUU4S jjnU$ [        U[        R                  5      (       a  SS jnU$ SU4S jjnU$ )NrZ   z Invalid value given for 'side': c                 óº  >• [         R                  " UR                  [         R                  S9nUR                  S   nSn[        U 5      n[        UR                  5       H^  nUR                  U   nT	" XH5      (       a  [        U 5      nO"SnU[        U 5      :  a  US-  nO[        U 5      nUnT
" XXV5      u  pVXSU'   M`     UR                  UR                  5      $ )Nr  r   r)   )	re   rÇ   rÈ   r5   rÊ   rG   r3   rW  r„   )r-   rj   r�  rÌ   Úlast_key_valr2  rK  r.   ru  r„  rƒ  s            €€r&   r]  Úsearchsorted.<locals>.implü  s¼   ø€ Ü—(’(˜1Ÿ6™6¬¯©Ñ1ˆCØŸ6™6 !™9ˆLØˆGÜ˜!“fˆGä˜1Ÿ6™6–]�ØŸ&™& ™)�á˜×.Ñ.Ü! !›f‘Gà�GØ¤ Q£Ó'Ø 1™™ä"% a£&˜à&�Ù#(¨°WÓ#FÑ �Ø �A“ñ #ð  —;‘;˜qŸw™wÓ'Ð'r%   c                 óX   • [         R                  " U5      n[         R                  " XUS9$ )N©r�  )re   rŠ  Úsearchsorted)r-   rj   r�  s      r&   r]  r‰    s    € Ü—
’
˜1“ˆAÜ—?’? 1¨dÑ3Ð3r%   c                 ó2   >• T" XS[        U 5      5      u  p4U$ rë   )rG   )r-   rj   r�  Úrr?   rƒ  s        €r&   r]  r‰    s   ø€ Ù˜˜q¤# a£&Ó)‰DˆAØˆHr%   ©rz  )r    r~  r   rX   r   rÁ   r  r	   r™   re   r¾  r…  )	r-   rj   r�  Úside_valÚv_dtÚnp_dtr]  r„  rƒ  s	          @@r&   rŒ  rŒ  ê  sÖ   ù€ ä�t˜_¨dÓ3€HàÔ/Ó/ô Ð @ÀÀ
ÐKÓLÐLä�!”e—k‘k¤5§>¡>Ð2×3Ñ3Ü˜Ÿ™Ó ‰ä˜‹{ˆä×ÒœX a§g¡gÓ.°Ó5€EÜ2°5ÓC�K€Eˆ4ä�!”U—[‘[×!Ñ!÷	(ð 	(ð> €Kô 
�A”u—~‘~×	&Ñ	&ô	4ð €K÷	ð €Kr%   c                 óÀ   ^• [        U [        R                  5      (       a)  U R                  [        R                  ;   a  [        S5      e[        S 5       mSU4S jjnU$ )Nzx may not be complexc                 ó€  • [        U 5      S:X  a  gU S   nSnU[        U 5      :  a&  X   U:X  a  US-  nU[        U 5      :  a
  X   U:X  a  M  U[        U 5      :X  a  gX   nX:  a-  [        US-   [        U 5      5       H  nUnX   nX:”  d  M    g   g[        US-   [        U 5      5       H  nUnX   nX:  d  M    g   g)Nr   r)   rT  )rG   r3   )ÚbinsÚ
last_valuer.   Ú
next_values       r&   Ú_monotonicityÚ"np_digitize.<locals>._monotonicity$  sÚ   € ô ˆt‹9˜‹>Øð ˜!‘Wˆ
ØˆØ”#�d“)‹m ¡¨:Ó 5Ø�‰FˆAð ”#�d“)‹m ¡¨:Õ 5ð ”�D“	‹>Øà‘Wˆ
àÓ"ä˜1˜q™5¤# d£)Ö,�Ø'�
Ø!™W�
ØÕ*Ùñ	 -ð
 ô ˜1˜q™5¤# d£)Ö,�Ø'�
Ø!™W�
ØÕ*Ùñ	 -ð
 r%   c                 óP  >• T" U5      nUS:X  a  [        S5      eU(       aC  US:X  a(  [        U5      [        R                  " US S S2   U SS9-
  $ [        R                  " XSS9$ US:X  a(  [        U5      [        R                  " US S S2   U SS9-
  $ [        R                  " XSS9$ )Nr   z3bins must be monotonically increasing or decreasingrT  rz  r‹  r{  )r‚   rG   re   rŒ  )rº  r•  r{  Úmonor˜  s       €r&   Údigitize_implÚ"np_digitize.<locals>.digitize_implI  s¡   ø€ á˜TÓ"ˆà�1‹9ÜØEóð ö
 Ø�r‹zä˜4“y¤2§?¢?°4¹¸"¸±:¸qÀvÑ#NÑNÐNä—’ t°VÑ<Ð<à�r‹zä˜4“y¤2§?¢?°4¹¸"¸±:¸qÀwÑ#OÑOÐOä—’ t°WÑ=Ð=r%   rŠ  )rX   r   rÁ   r™   Úcomplex_domainr   r   )rº  r•  r{  rœ  r˜  s       @r&   Únp_digitizerŸ    sS   ø€ ô �!”U—[‘[×!Ñ! a§g¡g´×1EÑ1EÓ&EÜÐ0Ó1Ð1äñ"ó ð"÷H>ð. Ðr%   c                 óÂ   ^• [        U[        [        R                  45      (       a3  US [        R                  4;   a  [        S5      mSU4S jjnU$ SS jn U$ SS jnU$ )Nr³  c                 ó¸   >• TnT* n[         R                  " U 5       H#  nUR                  5       nX6:”  a  UnXF:  d  M!  UnM%     [         R                  " XX445      $ r,   )re   rf   rg   Ú	histogram)r-   r•  r3   Úbin_minÚbin_maxr¸   rj   r³  s          €r&   Úhistogram_implÚ$np_histogram.<locals>.histogram_implo  sV   ø€ Ø�Ø˜$�ÜŸIšI ažL�DØŸ	™	›�AØ“{Ø"#˜Ø•{Ø"#šñ )ô —|’| A¨gÐ-?Ó@Ð@r%   c                 óô  • US::  a  [        S5      eUu  p4X4::  d  [        S5      e[        R                  " U[        R                  5      nXC:”  a�  XU-
  -  n[        R                  " U 5       Hl  nUR                  5       n[        R                  " Xƒ-
  U-  5      n	SU	s=::  a  U:  a  O  OU[        U	5      ==   S-  ss'   MV  X„:X  d  M]  XQS-
  ==   S-  ss'   Mn     [        R                  " X4US-   5      n
XZ4$ )Nr   z0histogram(): `bins` should be a positive integerz;histogram(): max must be larger than min in range parameterr)   )
r‚   re   r  r5   rf   rg   rµ  r¶  r·  Úlinspace)r-   r•  r3   r£  r¤  ÚhistÚ	bin_ratior¸   rj   r„  Ú
bins_arrays              r&   r¥  r¦  {  sç   € Ø˜1“9Ü$ð &8ó 9ð 9à#(Ñ �ØÓ)Ü$ð &>ó ?ð ?ô —x’x ¤b§g¡gÓ.�ØÓ$Ø $°'Ñ(9Ñ :�IÜ "§	¢	¨!¦˜Ø ŸI™I›K˜Ü ŸJšJ¨©°yÑ'@ÓA˜Ø �= Dž=Ø ¤ Q£›L¨AÑ-�LØ�\Ø ¨¡›N¨aÑ/�Nñ !-ô  Ÿ[š[¨¸4À!¹8ÓD�
ØÐ'Ð'r%   c                 óÌ  • [        U5      S-
  n[        U5       H  nX   XS-      ::  a  M  [        S5      e   US   nX   n[        R                  " U[        R
                  5      nUS:”  av  [        R                  " U 5       H\  nUR                  5       n	XYs=::  a  U::  d  O  M#  Sn
US-
  nX«:  a!  X«-   S-   S-	  nX‘U   :  a  US-
  nOUn
X«:  a  M!  Xz==   S-  ss'   M^     Xq4$ )Nr)   z-histogram(): bins must increase monotonicallyr   )rG   Ú_ranger‚   re   r  r5   rf   rg   )r-   r•  r3   Únbinsr.   r£  r¤  r©  r¸   rj   ÚloÚhir“  s                r&   r¥  r¦  •  sñ   € Ü˜“I ‘MˆEÜ˜E–]�à‘w $¨1¡u¡+Õ-Ü$ð &5ó 6ð 6ñ #ð ˜1‘gˆGØ‘kˆGÜ—8’8˜E¤2§7¡7Ó+ˆDà�q‹yÜŸIšI ažL�DØŸ	™	›�AØ"Õ2¨7Õ2á à�BØ ™�BØ›'ð  "™w¨™{¨qÑ0˜Ø C™y›=Ø!$ q¡™Bà!$˜Bð �'ð “H ‘M•Hñ! )ð$ �:Ðr%   ©rÇ  N)rX   r·  r   r?  ry  r™  )r-   r•  r3   r¥  r³  s       @r&   Únp_histogramr²  f  sb   ø€ ä�$œœeŸm™mÐ,×-Ñ-ð �Tœ5Ÿ:™:Ð&Ó&Ü˜“,ˆC÷	AðN Ðõw(ðv ÐôC	ðB Ðr%   )Úibetar  ÚmachepÚepsÚnegepÚepsnegÚiexpÚminexpÚxminÚmaxexpÚxmaxÚirndÚngrdÚepsilonÚtinyÚhugeÚ	precisionÚ
resolutionÚMachAr)rµ  r·  r¸  r´  r#  r»  r  r¹  r¶  ÚnexpÚnmantrÂ  rÃ  rÀ  Úbitsrs  )r  r#  rÇ  rn  c           	      óà   ^^	• [        U SU 5      n[        U5      n U" U5      n[        U Vs/ s H  n[        Xg5      PM     sn5      m	[        UU	4S j5       nU$ ! [         a     g f = fs  snf )Nr™   c                 ó   >• T" T6 $ r,   r$   )r   Ú	containerrA   s    €€r&   r]  Ú!generate_xinfo_body.<locals>.implÚ  s   ø€ á˜$ÐÐr%   )r    r	   r‚   r_  r   )
r   Únp_funcrÊ  ÚattrÚnbtyr€  r¾  rº  r]  rA   s
     `      @r&   Úgenerate_xinfo_bodyrÏ  Ð  sw   ù€ Ü�3˜ Ó%€DÜ˜‹~€HðÙ�HÓˆô ©Ó.ª A”'˜!–-©Ñ.Ó/€Däõ ó ð à€Køô ó áðüò /s   œA ­A+Á
A(Á'A(c                 ó\   ^• [        U [        R                  [        [        5      mU4S jnU$ )Nc                 ó   >• T" U 5      $ r,   r$   )r™   rç  s    €r&   r]  Úol_np_finfo.<locals>.implä  s   ø€ Ù�%‹yÐr%   )rÏ  re   rs  Ú_finfo_supported)r™   r]  rç  s     @r&   Úol_np_finforÔ  à  s"   ø€ ä	˜U¤B§H¡H¬eÔ5EÓ	F€Bõà€Kr%   c                 ó\   ^• [        U [        R                  [        [        5      mU4S jnU$ )Nc                 ó   >• T" U 5      $ r,   r$   )Úint_typerç  s    €r&   r]  Úol_np_iinfo.<locals>.implí  s   ø€ Ù�(‹|Ðr%   )rÏ  re   rn  Ú_iinfo_supported)r×  r]  rç  s     @r&   Úol_np_iinforÚ  é  s"   ø€ ä	˜X¤r§x¡x´Ô8HÓ	I€Bõà€Kr%   c                 ó"  ^• [         S 5       n[        (       d  U$ [        R                  [        R                  -  nX;   =(       a    X;   nU(       d  U$ [        U 5      n[        U5      n[        R                  " XV5      m[         U4S j5       nU$ )Nc                 óX   • Sn[        [        U 5      5       H  nX U   X   -  -   nM     U$ rë   ©r3   rG   )r-   r„  Úaccr.   s       r&   Ú
_innerprodÚ#_get_inner_prod.<locals>._innerprodö  s0   € àˆÜ”s˜1“v–ˆAØ˜!™˜q™t™Ñ#ŠCñ àˆ
r%   c                 ón   >• [         R                  " U R                  T5      UR                  T5      5      $ r,   )re   rü  r  )r-   r„  rÕ  s     €r&   Ú	_dot_wrapÚ"_get_inner_prod.<locals>._dot_wrap
  s$   ø€ ä—6’6˜!Ÿ(™( 2›,¨¯©°«Ó5Ð5r%   )r   Ú
_HAVE_BLASr   Úreal_domainrž  r	   re   r¾  )	ÚdtaÚdtbrß  ÚfltyÚfloatsÚa_dtÚb_dtrâ  rÕ  s	           @r&   Ú_get_inner_prodrì  ò  s‹   ø€ ô ñó ð÷ Š:ØÐä×Ñœu×3Ñ3Ñ3€DØ‰[×(˜S™[€FÞØÐä˜‹}ˆÜ˜‹}ˆÜ×Ò˜dÓ)ˆä	ô	6ó 
ð	6àÐr%   c                 ó€   • [        U [        R                  5      (       a  U R                  S::  d  [	        SU-  5      eg g )Nr)   z!%s() only supported on 1D arrays )rX   r   rÁ   r�   r   )r-   rR  s     r&   Ú
_assert_1drî    s9   € Ü�!”U—[‘[×!Ñ!Ø�v‰v˜‹{ÜÐAÀIÑMÓNÐNð ð "r%   c                 ó   • g r,   r$   )Úap1Úap2ÚmodeÚ	directions       r&   Ú_np_correlate_corerô    re  r%   c                 óØ   ^^• [        U R                  5      n[        UR                  5      n[        R                  " XE5      m[	        U R                  UR                  5      mUU4S jnU$ )Nc                 ón  >• [        U 5      n[        U5      nXE:  a  [        S5      eUnUnUS:X  a  Xg-
  S-   nSnSn	O6US:X  a  US-
  n	US-
  nXg-   S-
  nOUS:X  a  US-  nXx-
  S-
  n	O[        S5      e[        R                  " UT5      n
US:X  a  SnSnOUS	:X  a  US-
  nS	nO[        S
5      e[	        U5       H  nX×-   U-
  nT" U S U X* S  5      X«'   X¼-   nM!     [	        XE-
  S-   5       H  nT" XXÕ-    U5      X«'   X¼-   nM     [	        U	5       H  nX}-
  S-
  nT" X* S  US U 5      X«'   X¼-   nM!     U
$ )Nz''len(ap1)' must greater than 'len(ap2)'rÉ  r)   r   r†   Úsamer€   z1Invalid 'mode', valid are 'full', 'same', 'valid'rT  zInvalid direction)rG   r‚   re   r  r3   )rð  rñ  rò  ró  Ún1Ún2rÏ  r¦  Ún_leftÚn_rightr¬  rÍ   Úincr.   r�  rÕ  Ú	innerprods                  €€r&   r]  Ú%_np_correlate_core_impl.<locals>.impl!  s”  ø€ ô �‹XˆÜ�‹Xˆà‹7ô ÐFÓGÐGàˆØˆØ�7‹?Ø‘Z !‘^ˆFØˆFØ‰GØ�V‹^Ø˜!‘eˆGØ˜‘UˆFØ‘Z !‘^‰FØ�V‹^Ø˜!‘VˆFØ‘j 1‘n‰Gäð4óð ô
 �hŠh�v˜rÓ"ˆà˜‹>ØˆCØ‰CØ˜"‹_Ø˜1‘*ˆCØ‰CäÐ0Ó1Ð1ä�v–ˆAØ‘˜‘ˆAÙ   R a ¨#¨b¨c¨(Ó3ˆC‰HØ‘)ŠCñ ô
 �r‘w ‘{Ö#ˆAÙ  ¨© °#Ó6ˆC‰HØ‘)ŠCñ $ô �w–ˆAØ‘˜‘	ˆAÙ   R S ¨3¨r°¨7Ó3ˆC‰HØ‘)ŠCñ  ð
 ˆ
r%   )r	   r™   re   r¾  rì  )	rð  rñ  rò  ró  rê  rë  r]  rÕ  rý  s	          @@r&   Ú_np_correlate_core_implrÿ    sP   ù€ ä�C—I‘IÓ€DÜ�C—I‘IÓ€DÜ	×	Ò	˜$Ó	%€BÜ §	¡	¨3¯9©9Ó5€Iö>ð@ €Kr%   c                 óV  ^^• [        U S5        [        US5        [        S 5       n[        S 5       nU R                  [        R                  ;   a(  UR                  [        R                  ;   a  UmUmO,UmUmO'UR                  [        R                  ;   a  UmUmOUmUmSUU4S jjnU$ )Nznp.correlatec                 ó.   • [         R                  " U 5      $ r,   )re   rí   r¹  s    r&   Úop_conjÚ_np_correlate.<locals>.op_conji  s   € ä�wŠw�q‹zÐr%   c                 ó   • U $ r,   r$   r¹  s    r&   Úop_nopÚ_np_correlate.<locals>.op_nopm  s   € àˆr%   c                 óæ   >• [        U 5      n[        U5      nUS:X  a  [        S5      eUS:X  a  [        S5      eX4:  a  [        T" U5      T" U 5      US5      $ [        T" U 5      T" U5      US5      $ ©Nr   z'a' cannot be emptyz'v' cannot be emptyrT  r)   ©rG   r‚   rô  )r-   rj   rò  ÚlaÚlvÚa_opÚb_ops        €€r&   r]  Ú_np_correlate.<locals>.impl€  sr   ø€ Ü�‹VˆÜ�‹Vˆà�‹7ÜÐ2Ó3Ð3Ø�‹7ÜÐ2Ó3Ð3à‹7Ü%¡d¨1£g©t°A«w¸¸bÓAÐAä%¡d¨1£g©t°A«w¸¸aÓ@Ð@r%   ©rÉ  )rî  r   r™   r   rž  )r-   rj   rò  r  r  r]  r  r  s         @@r&   Ú_np_correlater  d  s°   ù€ äˆq�.Ô!Üˆq�.Ô!äñó ðô ñó ðð 	‡w�w”%×&Ñ&Ó&Ø�7‰7”e×*Ñ*Ó*ØˆDØ‰DàˆDØ‰Dà�7‰7”e×*Ñ*Ó*ØˆDØ‰DàˆDØˆD÷Að Að €Kr%   c                 ó@   • [        U S5        [        US5        SS jnU$ )Nznp.convolvec                 óÈ   • [        U 5      n[        U5      nUS:X  a  [        S5      eUS:X  a  [        S5      eX4:  a  [        XS S S2   US5      $ [        XS S S2   US5      $ r  r	  )r-   rj   rò  r
  r  s        r&   r]  Únp_convolve.<locals>.impl–  sm   € Ü�‹VˆÜ�‹Vˆà�‹7ÜÐ2Ó3Ð3Ø�‹7ÜÐ2Ó3Ð3à‹7Ü% a©4¨R¨4©°$¸Ó:Ð:ä% a©4¨R¨4©°$¸Ó:Ð:r%   ©r†   )rî  )r-   rj   rò  r]  s       r&   Únp_convolver  ‘  s"   € äˆq�-Ô Üˆq�-Ô ô;ð €Kr%   c                 óê  ^^^• [        U 5      (       d  g [        U [        R                  5      (       a9  [	        U5      (       d  U R
                  UR
                  :X  a  S	S jnU$ S	S jn U$ [        U [        R                  [        R                  45      (       a  [	        U5      (       a  S	S jnU$ S	S jn U$ [        U [        R                  [        R                  45      (       a)  [	        U5      (       a  U OUn[        U5      mS	U4S jjnU$ [        U [        R                  R                  5      (       al  [        U R
                  [        R                  [        R                  45      (       d  [        S5      e[	        U5      (       a  U R
                  OUmS	U4S jjnU$ [        U [        R                  5      (       a*  [        R                   " U R"                  5      mS	U4S jjnU$ S nU$ )
Nc                 ó   • U $ r,   r$   ©r-   r™   s     r&   r]  Únp_asarray.<locals>.impl±  s   € Ø�r%   c                 ó$   • U R                  U5      $ r,   )r  r  s     r&   r]  r  ´  s   € Ø—x‘x “Ð&r%   c                 ó.   • [         R                  " U 5      $ r,   rt  r  s     r&   r]  r  »  s   € Ü—x’x “{Ð"r%   c                 ó.   • [         R                  " X5      $ r,   rt  r  s     r&   r]  r  ¾  s   € Ü—x’x Ó)Ð)r%   c                 ó2   >• [         R                  " U T5      $ r,   rt  )r-   r™   r  s     €r&   r]  r  Ä  s   ø€ Ü—8’8˜A˜r“?Ð"r%   z?asarray support for List is limited to Boolean and Number typesc                 óx   >• [        U 5      n[        R                  " UTS9n[        U 5       H	  u  pEXSU'   M     U$ r  )rG   re   rÇ   rÉ   )r-   r™   r  r¬  r.   rj   Útarget_dtypes         €r&   r]  r  Î  s8   ø€ Ü�A“ˆAÜ—(’(˜1 LÑ1ˆCÜ! !ž‘�Ø�A“ñ %àˆJr%   c                 ó$   >• TR                  5       $ r,   )rõ  )r-   r™   rh   s     €r&   r]  r  ×  s   ø€ Ø—8‘8“:Ðr%   r,   )r
   rX   r   rÁ   r   r™   r  r[   rœ  r›  r	   Ú
containersÚListTyper   ÚStringLiteralre   rŠ  rZ   )r-   r™   r]  Údt_convrh   r  r  s       @@@r&   Ú
np_asarrayr%  §  sŒ  ú€ ô
 ˜A×ÑØä�!”U—[‘[×!Ñ!Ü�u×Ñ §¡¨E¯K©KÓ!7ôðV €KõQ'ðP €KôM 
�AœŸ™¬¯©Ð4×	5Ñ	5ô �u×Ñô#ðB €Kõ=*ð< €Kô9 
�AœŸ™¤e§m¡mÐ4×	5Ñ	5Ü" 5×)Ñ)‘!¨uˆÜ�gÓˆ÷	#ð0 €Kô- 
�A”u×'Ñ'×0Ñ0×	1Ñ	1Ü˜!Ÿ'™'¤E§L¡L´%·-±-Ð#@×AÑAÜð.ó/ð /ô #.¨e×"4Ñ"4�q—w’w¸%ˆ÷	ð €Kô 
�A”u×*Ñ*×	+Ñ	+Ü�jŠj˜Ÿ™Ó)ˆ÷	ð
 €Kð ˆà€Kr%   c                 ó  ^• [        U[        R                  5      (       a  [        U5      n[        R
                  " U[        R                  5      (       d  [        R                  mOUm[        R                  4U4S jjnU$ )Nc                 ó2   >• [         R                  " U T5      $ r,   r¡  )r-   r™   r�  s     €r&   r]  Únp_asfarray.<locals>.implê  s   ø€ Ü—:’:˜a Ó$Ð$r%   )rX   r   ÚTyper	   re   rÓ  Úinexactrå   )r-   r™   r]  r�  s      @r&   Únp_asfarrayr+  à  sS   ø€ ô �eœUŸZ™Z×(Ñ(Ü˜U“OˆEÜ�}Š}˜U¤B§J¡J×/Ñ/Ü—‘‰BàˆBäŸ*™*÷ 	%àˆr%   c                 ó   • S nU$ )Nc                 ó$  • [         R                  " U 5      R                  5       n[         R                  " U5      nUR                  S:X  a  [	        S5      e[         R
                  " X#R                  S  5      (       a'  UR                  UR                  :”  a  Sn[	        U5      e[        UR                  UR                  5      n[        U5       Vs/ s H  obU   (       d  M  UR                  U   PM     nn[         R                  " U5      $ s  snf )Nr   z"Cannot extract from an empty arrayz+condition shape inconsistent with arr shape)
re   rŠ  r«  rÈ   r‚   r   r  r3   rÊ   ru  )rà  rh   ræ  r-   r³   Úmax_lenrÍ   rÌ   s           r&   Únp_extract_implÚ#np_extract.<locals>.np_extract_implò  sÄ   € Ü�zŠz˜)Ó$×,Ñ,Ó.ˆÜ�JŠJ�s‹Oˆà�6‰6�Q‹;ÜÐAÓBÐBô �6Š6�$—v‘v�w�-× Ñ  T§Y¡Y°·±Ó%7Ø?ˆCÜ˜S“/Ð!ô �a—f‘f˜dŸi™iÓ(ˆÜ&+¨G¤nÓB¢n˜s¸S½	‹{ˆq�v‰v�cŒ{¡nˆÐBä�xŠx˜‹}Ðùò Cs   ÃDÃ"Dr$   )rà  rh   r/  s      r&   Ú
np_extractr1  ï  s   € òð( Ðr%   c                 óÞ  • SS jn[        U [        R                  [        R                  45      (       d  [	        S5      e[        U[        R                  [        R                  45      (       d  [	        S5      e[        U[
        [        R                  [        R                  45      (       d  [	        S5      e[        U S   [        R                  5      (       d  [	        S5      e[        US   [        R                  5      (       d  [	        S5      e[        U S   [        R                  5      (       a7  [        U S   R                  [        R                  5      (       d  [	        S5      e[        U S   [        R                  5      (       aR  [        U S   [        R                  5      (       a%  [        U S   S   [        R                  5      (       d  [	        S	5      e[        U S   [        R                  5      (       a+  U S   R                  US   R                  :w  a  [	        S
5      e[        U S   [        R                  5      (       a  U S   R                  S:  a  [	        S5      eU$ )Nr   c                 ó2  • [        U 5      [        U5      :w  a  [        S5      eU[        R                  " US   R                  US   R
                  5      -  n[        [        U 5      S-
  SS5       H"  nX   nX   n[        R                  " XVU5      nM$     U$ )Nz7list of cases must be same length as list of conditionsr   r)   rT  )rG   r‚   re   r%  r„   r™   r3   r,  )ÚcondlistÚ
choicelistÚdefaultrÌ   r.   ræ  Úchoices          r&   Únp_select_arr_implÚ%np_select.<locals>.np_select_arr_impl  sŽ   € Üˆx‹=œC 
›OÓ+Üð -ó .ð .àœŸš 
¨1¡× 3Ñ 3°ZÀ±]×5HÑ5HÓIÑIˆä”s˜8“} qÑ(¨"¨bÖ1ˆAØ‘;ˆDØ‘]ˆFÜ—(’(˜4¨Ó-ŠCñ 2ð ˆ
r%   z"condlist must be a List or a Tuplez$choicelist must be a List or a Tuplez,default must be a scalar (number or boolean)z items of condlist must be arraysz"items of choicelist must be arraysz%condlist arrays must contain booleansz*condlist tuples must only contain booleanszHcondlist and choicelist elements must have the same number of dimensionsr)   z/condlist arrays must be of at least dimension 1r@  )rX   r   ÚListrH   r   r·  rœ  r›  rÁ   r™   r�   )r4  r5  r6  r8  s       r&   Ú	np_selectr;  	  sÉ  € ô
ô �h¤§¡¬U¯^©^Ð <×=Ñ=ÜÐAÓBÐBÜ�j¤5§:¡:¬u¯~©~Ð">×?Ñ?ÜÐCÓDÐDÜ�g¤¤U§\¡\´5·=±=ÐA×BÑBÜÐKÓLÐLô �h˜q‘k¤5§;¡;×/Ñ/ÜÐ?Ó@Ð@Ü�j ‘m¤U§[¡[×1Ñ1ÜÐAÓBÐBô �(˜1‘+œuŸ{™{×+Ñ+Ü˜( 1™+×+Ñ+¬U¯]©]×;Ñ;Ü Ð!HÓIÐIÜ�(˜1‘+œuŸ~™~×.Ñ.Ü˜8 A™;¬¯©×7Ñ7Ü˜x¨™{¨1™~¬u¯}©}×=Ñ=Ü Ð!MÓNÐNä�8˜A‘;¤§¡×,Ñ,Ø�Q‰K×Ñ 
¨1¡× 2Ñ 2Ó2Üð 9ó :ð 	:ä�(˜1‘+œuŸ{™{×+Ñ+°¸±×0@Ñ0@À1Ó0DÜÐNÓOÐOàÐr%   c                 ó<  • [        U 5      (       a  [        U5      (       d  [        S5      eSU R                  R                  ;   d  SUR                  R                  ;   a9  U R                  R                  UR                  R                  :w  a  [        S5      eS nU$ )Nz.The arguments to np.union1d must be array-likeÚunichrz/For Unicode arrays, arrays must have same dtypec                 ó   • [         R                  " [         R                  " U 5      5      n[         R                  " [         R                  " U5      5      n[         R                  " [         R                  " X#45      5      $ r,   )re   rV  rŠ  r  r,  )rH  rI  r-   r„  s       r&   Ú
union_implÚnp_union1d.<locals>.union_implD  sH   € Ü�HŠH”R—Z’Z “_Ó%ˆÜ�HŠH”R—Z’Z “_Ó%ˆÜ�yŠyœŸš¨¨Ó/Ó0Ð0r%   )r
   r   r™   r  )rH  rI  r?  s      r&   Ú
np_union1drA  <  st   € ä˜C× Ñ Ô(8¸×(=Ñ(=ÜÐJÓKÐKØ	�S—Y‘Y—^‘^Ó	# x°3·9±9·>±>Ó'AØ
‡y�y‡~�~˜Ÿ™Ÿ™Ó'ÜÐKÓLÐLò1ð
 Ðr%   c                 ó2  ^• Sn[        U [        R                  [        R                  [        R                  45      (       d  [        U5      e[        U5      (       a  U R                  mO [        U5      mSU4S jjnU$ ! [         a    [        S5      ef = f)Nz7The argument to np.asarray_chkfinite must be array-likez!dtype must be a valid Numpy dtypec                 ó¸   >• [         R                  " U TS9n [         R                  " U 5       H)  n[         R                  " U5      (       a  M   [	        S5      e   U $ )Nr  z#array must not contain infs or NaNs)re   rŠ  rf   r²  r‚   )r-   r™   r.   rÕ  s      €r&   r]  Ú"np_asarray_chkfinite.<locals>.impl[  sE   ø€ Ü�JŠJ�q Ñ#ˆÜ—’˜1–ˆAÜ—;’;˜q—>“>Ü Ð!FÓGÐGñ ð ˆr%   r,   )
rX   r   rÁ   r  r[   r   r   r™   r	   r   )r-   r™   r³   r]  rÕ  s       @r&   Únp_asarray_chkfiniterE  L  s„   ø€ ð D€CÜ�aœ%Ÿ+™+¤u§~¡~´u·{±{ÐC×DÑDÜ˜#ÓÐä�5×ÑØ�W‰W‰ð	CÜ˜%“ˆB÷ð €Køô (ó 	CÜÐAÓBÐBð	Cús   Á+B  Â Bc                 óL  ^^^• [        U[        [        R                  45      (       d  Sn[	        U5      e[        U 5      (       d  Sn[	        U5      e[        U[        R                  [        R                  45      (       d(  [        R                  " U5      (       d  Sn[	        U5      e[        U[        [        R                  45      (       d  Sn[	        U5      e[        SS S 5      4m[        U[        R                  5      (       a4  [        R                  " [        U R                  5      [        U5      5      mO8[        R                  " [        U R                  5      [        R                   5      m[        R"                  " T[        R$                  5      mSUUU4S jjnU$ )Nz&The argument "axis" must be an integerz#The argument "p" must be array-likez'The argument "discont" must be a scalarz&The argument "period" must be a scalarr)   c                 ó:  >• US:w  a  Sn[        U5      e[        R                  " U 5      R                  T5      nUR                  nUS   nUR                  UR                  U-  U45      nUc  US-  nT(       a  [        US5      u  pšU
S:H  nOUS-  n	SnU	* n[        UR                  U-  5       GHM  nX�   n[        R                  " U5      n[        R                  " Xü-
  U5      U-   nU(       a!  [        R                  " UU:H  US:„  -  U	U5      nUU-
  n[        R                  " [        R                  " U Vs/ s H  n[        U5      PM     sn5      U:  SU5      n[        R                  " [        R                  " U Vs/ s H  n[        U5      PM     sn5      U:  SU5      n[        R
                  " UUR                  5      n[        R                  " U5      nUT   UR                  5       -   UT'   UX�'   GMP     UR                  U5      $ s  snf s  snf )NrT  z*Value for argument "axis" is not supportedr€   r   T)r‚   re   rŠ  r  r„   rW  rÈ   Údivmodr3   rƒ  Úmodr,  ru  rq  rõ  rÃ   )ÚpÚdiscontr]   Úperiodr³   Úp_initÚ
init_shapeÚ	last_axisÚp_newÚinterval_highÚremÚboundary_ambiguousÚinterval_lowr.   ÚrowÚddÚddmodÚ
ph_correctrº  Úph_ravelÚupr™   Úinteger_inputÚslice1s                        €€€r&   r]  Únumpy_unwrap.<locals>.impl€  sß  ø€ Ø�2‹:Ø>ˆCÜ˜S“/Ð!ä—’˜A“×%Ñ% eÓ,ˆØ—\‘\ˆ
Ø˜r‘Nˆ	Ø—‘ §¡¨yÑ 8¸)ÐDÓEˆà‰?Ø˜q‘jˆGÞÜ!'¨°Ó!2ÑˆMØ!$¨¡Ñà" Q™JˆMØ!%ÐØ%�~ˆô �v—{‘{ iÑ/×0ˆAØ‘(ˆCÜ—’˜“ˆBÜ—F’F˜2Ñ,¨fÓ5¸ÑDˆEÞ!ÜŸš %¨<Ñ"7¸BÀ¹FÑ!CØ!.°ó7�à ™ˆJäŸš¤"§(¢(¹BÓ+?ºB°q¬C°®F¹BÑ+?Ó"@À7Ñ"JÈAØ",ó.ˆJä—x’x¤§¢¹"Ó)=º"°Q¬#¨a®&¹"Ñ)=Ó >ÀÑ HÈ!Ø *ó,ˆHäŸš H¨j×.>Ñ.>Ó?ˆJÜ—’˜“ˆBØ˜V™ z×'8Ñ'8Ó':Ñ:ˆBˆv‰JØˆEŒHñ! 1ð$ �}‰}˜ZÓ(Ð(ùò ,@ùâ)=s   Ä;HÆH©NrT  g-DTû!@)rX   r·  r   r?  r   r
   r  r   r   r™  rœ  rP   re   rô  r	   r™   rå   rÓ  Úinteger)	rJ  rK  r]   rL  r³   r]  r™   r[  r\  s	         @@@r&   Únumpy_unwrapr`  e  s(  ú€ ä�dœS¤%§-¡-Ð0×1Ñ1Ø6ˆÜ˜#ÓÐä˜A×ÑØ3ˆÜ˜#ÓÐä�w¤§¡´·±Ð <×=Ñ=Ü×'Ò'¨×0Ñ0Ø7ˆÜ˜#ÓÐä�fœu¤e§l¡lÐ3×4Ñ4Ø6ˆÜ˜#ÓÐä�A�t˜TÓ"Ð$€FÜ�&œ%Ÿ,™,×'Ñ'Ü—’œx¨¯©Ó0´(¸6Ó2BÓC‰ä—’œx¨¯©Ó0´"·*±*Ó=ˆä—M’M %¬¯©Ó4€M÷')ñ ')ðR €Kr%   c                 ó²   • [         R                  " SU -
  U S5      n[         R                  " [         R                  " US5      SXS-
  -  -   SXS-
  -  -
  5      $ )Nrn  r€   r   r)   )re   rü  r,  Ú
less_equal©r  r¦  s     r&   Únp_bartlett_implrd  ´  sJ   € ä
�	Š	�"�q‘&˜!˜QÓ€AÜ�8Š8”B—M’M ! QÓ'¨¨Q°a±%©[©¸!¸aÀqÁ5¹k¹/ÓJÐJr%   c                 ó  • [         R                  " SU -
  U S5      nSS[         R                  " [         R                  U-  U S-
  -  5      -  -   S[         R                  " S[         R                  -  U-  U S-
  -  5      -  -   $ )Nrn  r€   gáz®GáÚ?rù   r)   g{®Gáz´?r¨  ©re   rü  Úcosr²  rc  s     r&   Únp_blackman_implrh  º  so   € ä
�	Š	�"�q‘&˜!˜QÓ€AØ�3œŸš¤§¡¨¡	¨Q°©UÑ 3Ó4Ñ4Ñ4Ø”2—6’6˜#¤§¡™+¨™/¨Q°©UÑ3Ó4Ñ4ñ5ð 6r%   c                 óž   • [         R                  " SU -
  U S5      nSS[         R                  " [         R                  U-  U S-
  -  5      -  -   $ )Nr)   r€   gHáz®Gá?gq=
×£pÝ?rf  rc  s     r&   Únp_hamming_implrj  Á  sB   € ä
�	Š	�!�a‘%˜˜AÓ€AØ�$œŸš¤§¡¨¡	¨Q°©UÑ 3Ó4Ñ4Ñ4Ð4r%   c                 óž   • [         R                  " SU -
  U S5      nSS[         R                  " [         R                  U-  U S-
  -  5      -  -   $ )Nr)   r€   rù   rf  rc  s     r&   Únp_hanning_implrl  Ç  sB   € ä
�	Š	�!�a‘%˜˜AÓ€AØ�”r—v’vœbŸe™e a™i¨1¨q©5Ñ1Ó2Ñ2Ñ2Ð2r%   c                 ó   ^ • U 4S jnU$ )Nc                 óh   >• [        U [        R                  5      (       d  [        S5      eU4S jnU$ )NúM must be an integerc                 ó¸   >• U S:  a#  [         R                  " S[         R                  S9$ U S:X  a#  [         R                  " S[         R                  S9$ T" U 5      $ )Nr)   r$   r  )re   ru  rå   r%  )r  Úfuncs    €r&   Úwindow_implÚ>window_generator.<locals>.window_overload.<locals>.window_implÒ  sD   ø€ à�1‹uÜ—x’x ¬"¯*©*Ñ5Ð5Ø�A‹vÜ—w’w˜q¬¯
©
Ñ3Ð3Ù˜“7ˆNr%   )rX   r   r?  r   )r  rr  rq  s     €r&   Úwindow_overloadÚ)window_generator.<locals>.window_overloadÎ  s-   ø€ Ü˜!œUŸ]™]×+Ñ+ÜÐ4Ó5Ð5õ	ð Ðr%   r$   )rq  rt  s   ` r&   Úwindow_generatorrv  Í  s   ø€ õð Ðr%   )gïÐ4!·\T¼g‰¥}—b3ƒ<g´»rë„±¼gº^ö“ØæÞ<gëû—Â"P
½g'&&KF›5=gðîbLa½g$Ó›á/þ‰=g¼j”z•ü²½g<tÌ¾˜Ú=gV•®þÔ¾g4ËT¤Ù&>g«0ŒöêK¾g5dM�v;p>g�"�cì‘¾g¬ôŒ—$¿²>g'd¥Ëo†Ò¾gY(š¾X?ñ>gZÄY&+¿g«|tµ(?gRëýâB¿gŠuÜZ?gI¨ ^¶q¿gÝãÝóa™…?gð¶!ñžN˜¿g-£¨ÎŠ>©?gê-4pK¸¿gÀˆ¬w¬÷Å?g�ÍWÀëÓ¿g*¢5�N¨å?)g‹ÊT·­`¼g0‘fÚFV¼g!„Ù¾‰<gÍA`Ýóƒ<gäÒ«`´¼g8ÞÙç®¸¼gûê£}îß<g×æ”�‘*ñ<gšbe~þƒ½g2»hÏ™]'½gEÅ_ÿV=gsÀƒkŒ[=gìŒ&úGCi=gf�C�½gò{~5×­½g%t9QÁ½gO è«þ$ª=guoôÀÌù >g‡["©d,->gmÕÖ€’VX>gnaÍÙ€‹>g†ÅÁ+AÈ>gRž™x£?gI�å¢Œ™k?gË	¨¬b¾é?c                 óx   • US   nSn[        S[        U5      5       H  nUnUnX-  U-
  X   -   nM     SUW-
  -  $ )Nr   r¬  r)   rù   rÝ  )rº  ÚvalsÚb0Úb1r.   Úb2s         r&   Ú_chbevlr|  "  sQ   € à	ˆa‰€BØ	€Bä�1”c˜$“iÖ ˆØˆØˆØ‰V�b‰[˜4™7Ñ"Šñ !ð
 �"�r‘'‰?Ðr%   c                 ó  • U S:  a  U * n U S::  a/  SU -  S-
  n[         R                  " U 5      [        U[        5      -  $ [         R                  " U 5      [        SU -  S-
  [        5      -  [         R
                  " U 5      -  $ )Nr   g       @rù   r¨  g      @@)re   Úexpr|  Ú_i0AÚ_i0BrI  rw  s     r&   Ú_i0r�  /  sm   € àˆ1ƒuØˆBˆØˆCƒxØ�1‰W˜‰OˆÜ�vŠv�a‹yœ7 1¤dÓ+Ñ+Ð+ä�6Š6�!‹9”w˜t a™x¨#™~¬tÓ4Ñ4´r·w²w¸q³zÑAÐAr%   c           	      ó*  • [         R                  " U [         R                  S9n[        [         R                  " U5      5      n[	        [        U5      5       H8  n[        U[         R                  " SX   U-
  U-  S-  -
  5      -  5      U-  X5'   M:     U$ )Nr  r)   r¨  )re   ró  rå   r�  r3   rG   rI  )r¦  ÚalphaÚbetar  Útr.   s         r&   Ú_i0nr†  :  sv   € ä
�Š�aœrŸz™zÑ*€AÜŒB�JŠJ�tÓÓ€AÜ”3�q“6Ž]ˆÜ�4œ"Ÿ'š' !¨©¨u©¸Ñ'=ÀÑ&CÑ"CÓDÑDÓEÈÑIˆ‹ñ ð €Hr%   c                 óÔ   • [        U [        R                  5      (       d  [        S5      e[        U[        R                  [        R                  45      (       d  [        S5      eS nU$ )Nro  z beta must be an integer or floatc                 óü   • U S:  a#  [         R                  " S[         R                  S9$ U S:X  a#  [         R                  " S[         R                  S9$ [         R                  " SU 5      nU S-
  S-  n[        X#U5      $ )Nr)   r$   r  r   r¨  )re   ru  rå   r%  rü  r†  )r  r„  r¦  rƒ  s       r&   Únp_kaiser_implÚ!np_kaiser.<locals>.np_kaiser_implL  sc   € Øˆq‹5Ü—8’8˜B¤b§j¡jÑ1Ð1Ø�‹6Ü—7’7˜1¤B§J¡JÑ/Ð/ä�IŠI�a˜‹OˆØ�Q‘˜#‘ˆä�A˜dÓ#Ð#r%   )rX   r   r?  r   r  )r  r„  r‰  s      r&   Ú	np_kaiserr‹  D  sR   € ä�aœŸ™×'Ñ'ÜÐ0Ó1Ð1ä�dœUŸ]™]¬E¯K©KÐ8×9Ñ9ÜÐ<Ó=Ð=ò	$ð Ðr%   c                 ó\  • S nU" U 5      u  pEnU" U5      u  pxn	[         R                  " XY5      [         R                  " Xh5      -
  n
[         R                  " Xg5      [         R                  " XI5      -
  n[         R                  " XH5      [         R                  " XW5      -
  nX¢S'   X²S'   XÂS'   g )Nc                 ó°   • U S   nU S   nU R                   S   S:X  a  U S   nO0[        R                  " U R                  R	                  S5      U5      nXU4$ )N©.r   ©.r)   rT  r   ©.r€   r   )r„   re   r°  r™   r‡   )rº  Úx0rò  Úx2s       r&   Ú_cross_preprocessingÚ._cross_operation.<locals>._cross_preprocessing]  sS   € Øˆv‰YˆØˆv‰YˆØ�7‰7�2‰;˜!ÓØ�6‘‰Bä—’˜QŸW™WŸ\™\¨!›_¨bÓ1ˆBØ�rˆzÐr%   rŽ  r�  r�  )re   r°  )r-   r„  rÌ   r“  Úa0r@  r6  ry  rz  r{  Úcp0Úcp1Úcp2s                r&   Ú_cross_operationr™  Z  sŽ   € òñ & aÓ(�J€BˆBÙ% aÓ(�J€BˆBä
�+Š+�bÓ
¤§¢¨BÓ 3Ñ
3€CÜ
�+Š+�bÓ
¤§¢¨BÓ 3Ñ
3€CÜ
�+Š+�bÓ
¤§¢¨BÓ 3Ñ
3€Càˆ�KØˆ�KØˆ‚Kr%   c                 ó   • g r,   r$   rö  s     r&   Ú_crossr›  r  re  r%   c                 óÞ   ^• [         R                  " [        U R                  5      [        UR                  5      5      mU R                  S:X  a  UR                  S:X  a  U4S jnU$ U4S jnU$ )Nr)   c                 óN   >• [         R                  " ST5      n[        XU5        U$ )N©r   )re   rÇ   r™  )r-   r„  Úcpr™   s      €r&   r]  Ú_cross_impl.<locals>.implz  s"   ø€ Ü—’˜$ Ó&ˆBÜ˜Q 2Ô&ØˆIr%   c                 ó¢   >• [         R                  " U S   US   5      R                  n[         R                  " US-   T5      n[	        XU5        U$ )NrŽ  rž  )re   r  r„   rÇ   r™  )r-   r„  r„   rŸ  r™   s       €r&   r]  r     sD   ø€ Ü—F’F˜1˜V™9 a¨¡iÓ0×6Ñ6ˆEÜ—’˜% $™,¨Ó.ˆBÜ˜Q 2Ô&ØˆIr%   )re   r¾  r	   r™   r�   )r-   r„  r]  r™   s      @r&   Ú_cross_implr¢  v  sT   ø€ ä×ÒœX a§g¡gÓ.´¸¿¹Ó0AÓB€EØ‡v�v�ƒ{�q—v‘v “{õ	ð €Kõ	ð
 €Kr%   c                 ób   • [        U 5      (       a  [        U5      (       d  [        S5      eS nU$ )NúInputs must be array-like.c                 ó4  • [         R                  " U 5      n[         R                  " U5      nUR                  S   S;  d  UR                  S   S;  a  [        S5      eUR                  S   S:X  d  UR                  S   S:X  a  [	        X#5      $ [        S5      e)NrT  )r€   r   zDIncompatible dimensions for cross product
(dimension must be 2 or 3)r   z†Dimensions for both inputs is 2.
Please replace your numpy.cross(a, b) call with a call to `cross2d(a, b)` from `numba.np.extensions`.)re   rŠ  r„   r‚   r›  ©r-   r„  r  r  s       r&   r]  Únp_cross.<locals>.implŒ  s‹   € Ü�ZŠZ˜‹]ˆÜ�ZŠZ˜‹]ˆØ�8‰8�B‰<˜vÓ%¨¯©°"©¸VÓ)CÜð-óð ð
 �8‰8�B‰<˜1Ó §¡¨¡°Ó 1Ü˜"“>Ð!äðHóð r%   ©r
   r   ©r-   r„  r]  s      r&   Únp_crossrª  ‡  s0   € ä˜A×ÑÔ&6°q×&9Ñ&9ÜÐ6Ó7Ð7òð" €Kr%   c                 ó¶   • S nU" U 5      u  p4U" U5      u  pV[         R                  " X65      [         R                  " XE5      -
  n[         R                  " U5      $ )Nc                 ó   • U S   nU S   nX4$ )NrŽ  r�  r$   )rº  r‘  rò  s      r&   r“  Ú0_cross2d_operation.<locals>._cross_preprocessing£  s   € Øˆv‰YˆØˆv‰YˆØˆvˆr%   )re   r°  rŠ  )r-   r„  r“  r•  r@  ry  rz  rŸ  s           r&   Ú_cross2d_operationr®     sM   € òñ
 " !Ó$�F€BÙ! !Ó$�F€Bä	�Š�RÓ	œrŸ{š{¨2Ó2Ñ	2€Bô �:Š:�b‹>Ðr%   c                 ó   • g r,   r$   rö  s     r&   Úcross2dr°  ´  re  r%   c                 ób   • [        U 5      (       a  [        U5      (       d  [        S5      eS nU$ )Nr¤  c                 óÒ   • [         R                  " U 5      n[         R                  " U5      nUR                  S   S:w  d  UR                  S   S:w  a  [        S5      e[	        X#5      $ )NrT  r€   zRIncompatible dimensions for 2D cross product
(dimension must be 2 for both inputs))re   rŠ  r„   r‚   r®  r¦  s       r&   r]  Úcross2d_impl.<locals>.impl½  sZ   € Ü�ZŠZ˜‹]ˆÜ�ZŠZ˜‹]ˆØ�8‰8�B‰<˜1Ó §¡¨¡°Ó 1Üð8óð ô " "Ó)Ð)r%   r¨  r©  s      r&   Úcross2d_implr´  ¸  s0   € ä˜A×ÑÔ&6°q×&9Ñ&9ÜÐ6Ó7Ð7ò*ð €Kr%   c                 ó  ^• [        U [        R                  5      (       d  [        S5      eU R                  S:”  a  [        S5      e[        U[
        [        R                  45      (       d  [        S5      e[        S:¬  mSU4S jjnU$ )Nz#The first argument must be an arrayr)   zarray must be 1Dz$The second argument must be a string)r€   r€   c                 ó"  >• [         R                  " U 5      nSnUR                  5       nSU;   a#  U H  nUS:X  d  T(       a  US:X  a  US-   nM    O   [        U 5      nSU;   a)  US S S2    H  nUS:X  d  T(       a  US:X  a  US-
  nM    O   X#U $ )Nr   r¾  Ú r)   r„  rT  )re   rŠ  r¿  rG   )ÚfiltÚtrimr  Úfirstr.   ÚlastÚtrim_escapess         €r&   r]  Únp_trim_zeros.<locals>.impl×  s˜   ø€ Ü�ZŠZ˜ÓˆØˆØ�z‰z‹|ˆØ�$‹;Û�Ø˜“6žl¨q°B«wØ! A™I’Eáñ	 ô
 �4‹yˆØ�$‹;Ø™˜"˜”X�Ø˜“6žl¨q°B«wØ !™8’Dáñ	 ð
 ˜ˆ~Ðr%   ©Úfb)rX   r   rÁ   r   r�   ÚstrÚUnicodeTyper   )r¸  r¹  r]  r¼  s      @r&   Únp_trim_zerosrÂ  Ê  sq   ø€ ä�dœEŸK™K×(Ñ(ÜÐBÓCÐCà‡y�y�1ƒ}ÜÐ/Ó0Ð0ä�dœS¤%×"3Ñ"3Ð4×5Ñ5ÜÐCÓDÐDä  FÑ*€L÷ð& €Kr%   c                 óÆ   • [        U 5      (       d  [        U5      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      eSS jnU$ )Nz+setxor1d: first two args must be array-likez2setxor1d: Argument "assume_unique" must be booleanc                 ó   • [         R                  " U 5      n[         R                  " U5      nU(       d-  [         R                  " U5      n[         R                  " U5      nO UR                  5       nUR                  5       n[         R                  " X445      nUR                  5         [         R                  " UR                  S   S-   [         R                  S9nSUS'   SUS'   USS  US S :g  USS& XVSS  US S -     $ )Nr   r)   r  TrT  )	re   rŠ  r  rV  r,  rG  rÇ   r„   rÓ   )rH  rI  rJ  r-   r„  rK  Úflags          r&   Únp_setxor1d_implÚ)jit_np_setxor1d.<locals>.np_setxor1d_implõ  sÓ   € Ü�JŠJ�s‹OˆÜ�JŠJ�s‹OˆæÜ—	’	˜!“ˆAÜ—	’	˜!“‰Aà—‘“	ˆAØ—‘“	ˆAô �nŠn˜a˜VÓ$ˆØ�‰Œ
ä�xŠx˜Ÿ	™	 !™ qÑ(´·±Ñ9ˆØˆˆQ‰ØˆˆR‰Ø˜˜�W  C R Ñ(ˆˆQˆrˆ
Ø˜˜�8˜d 3 B˜iÑ'Ñ(Ð(r%   rŠ  rO  )rH  rI  rJ  rÆ  s       r&   Újit_np_setxor1drÈ  í  sS   € ä˜S×!Ñ!Ô%5°c×%:Ñ%:ÜÐGÓHÐHÜ�}¤u§}¡}´dÐ&;×<Ñ<ÜÐNÓOÐOô)ð, Ðr%   c                 óÆ   • [        U 5      (       d  [        U5      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      eSS jnU$ )Nz,setdiff1d: first two args must be array-likez3setdiff1d: Argument "assume_unique" must be booleanc                 ó4  • [         R                  " U 5      n [         R                  " U5      nU(       a!  U R                  5       n UR                  5       nO,[         R                  " U 5      n [         R                  " U5      nU [         R                  " XSSS9   $ )NT©rJ  Úinvert)re   rŠ  rV  r  Úin1d)rH  rI  rJ  s      r&   Únp_setdiff1d_implÚ+jit_np_setdiff1d.<locals>.np_setdiff1d_impl  sg   € Ü�jŠj˜‹oˆÜ�jŠj˜‹oˆÞØ—)‘)“+ˆCØ—)‘)“+‰Cä—)’)˜C“.ˆCÜ—)’)˜C“.ˆCØ”2—7’7˜3°4ÀÑEÑFÐFr%   rŠ  rO  )rH  rI  rJ  rÎ  s       r&   Újit_np_setdiff1drÐ    sT   € ä˜S×!Ñ!Ô%5°c×%:Ñ%:ÜÐHÓIÐIÜ�}¤u§}¡}´dÐ&;×<Ñ<ÜÐOÓPÐPô	Gð Ðr%   c                 ó&  • [        U 5      (       d  [        U5      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      eSS jnU$ )Nz'in1d: first two args must be array-likez.in1d: Argument "assume_unique" must be booleanz'in1d: Argument "invert" must be booleanc                 óö  • [         R                  " U 5      R                  5       n [         R                  " U5      R                  5       n[        U5      S[        U 5      S-  -  :  aƒ  U(       a>  [         R                  " [        U 5      [         R
                  S9nU H
  nX@U:g  -  nM     U$ [         R                  " [        U 5      [         R
                  S9nU H
  nX@U:H  -  nM     U$ U(       d¾  [         R                  " U 5      nX   n[         R                  " UR                  [         R
                  S9nSUS S& USS  US S :g  USS & Xt   n [         R                  " U5      S-
  n[         R                  " UR                  [         R                  S9n	X‰U'   [         R                  " U5      n[         R                  " X45      n
U
R                  SS9nX«   n[         R                  " UR                  [         R
                  5      nU(       a  USS  US S :g  US S& OUSS  US S :H  US S& X=SS & [         R                  " U
R                  [         R
                  S9nXÞU'   U(       a  US [        U 5       $ UW	   $ )	NrÇ  g�Âõ(\�Â?r  Tr)   rT  Ú	mergesort)Úkind)re   rŠ  rV  rG   r%  rÓ   r  ÚargsortrÇ   r„   rÃ   r5   r  r,  rÈ   )rH  rI  rJ  rÌ  r/  r-   Úorder1rK  ÚimaskÚinv_idxÚarÚorderÚsarrÅ  r¬  s                  r&   Únp_in1d_implÚ!jit_np_in1d.<locals>.np_in1d_impl-  s  € ô �jŠj˜‹o×#Ñ#Ó%ˆÜ�jŠj˜‹o×#Ñ#Ó%ˆô
 ˆs‹8�bœ3˜s›8 uÑ,Ñ,Ó,ÞÜ—w’wœs 3›x¬r¯x©xÑ8�Û�AØ A™XÑ&’Dñ ð ˆKô —x’x¤ C£´·±Ñ9�Û�AØ A™XÑ&’Dñ àˆKö ô —Z’Z “_ˆFØ‘+ˆCÜ—8’8˜CŸI™I¬R¯X©XÑ6ˆDØˆD��!ˆHØ˜1˜2�w # c r (Ñ*ˆD��ˆHØ‘)ˆCÜ—I’I˜d“O aÑ'ˆEÜ—h’h˜tŸz™z´·±Ñ9ˆGØ#�F‰OÜ—)’)˜C“.ˆCä�^Š^˜S˜JÓ'ˆð —
‘
 �
Ð,ˆØ‰iˆÜ�xŠx˜Ÿ™¤"§(¡(Ó+ˆÞØ˜Q˜R˜ C¨¨ HÑ,ˆD��"‰Ià˜Q˜R˜ C¨¨ HÑ,ˆD��"ˆIØˆRˆSˆ	Ü�hŠh�r—x‘x¤r§x¡xÑ0ˆØˆE‰
ö Ø�yœ˜C›�>Ð!à�w‘<Ðr%   ©FFrO  )rH  rI  rJ  rÌ  rÜ  s        r&   Újit_np_in1drß  $  sv   € ä˜S×!Ñ!Ô%5°c×%:Ñ%:ÜÐCÓDÐDÜ�m¤e§m¡m´TÐ%:×;Ñ;ÜÐJÓKÐKÜ�fœuŸ}™}¬dÐ3×4Ñ4ÜÐCÓDÐDô7 ðr Ðr%   c                 ó&  • [        U 5      (       d  [        U5      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      e[        U[        R                  [
        45      (       d  [        S5      eSS jnU$ )Nz'isin: first two args must be array-likez.isin: Argument "assume_unique" must be booleanz'isin: Argument "invert" must be booleanc                 óŒ   • [         R                  " U 5      n [         R                  " XUUS9R                  U R                  5      $ )NrË  )re   rŠ  rÍ  rW  r„   )rÞ  Útest_elementsrJ  rÌ  s       r&   Únp_isin_implÚ!jit_np_isin.<locals>.np_isin_impls  s6   € ä—*’*˜WÓ%ˆÜ�wŠw�w¸]Ø$ñ&ß&-¡g¨g¯m©mÓ&<ð	=r%   rÞ  rO  )rÞ  râ  rJ  rÌ  rã  s        r&   Újit_np_isinrå  i  su   € ä˜W×%Ñ%Ô)9¸-×)HÑ)HÜÐCÓDÐDÜ�}¤u§}¡}´dÐ&;×<Ñ<ÜÐJÓKÐKÜ�v¤§¡¬tÐ4×5Ñ5ÜÐCÓDÐDô=ð Ðr%   r,   r˜  r´  rŠ  rë   r@  rJ  r¯  r  r?  rQ  r—  r�  r±  r  r  r^  r¾  rÞ  (†  Ú__doc__rµ  Úcollectionsr   ri  Úllvmlite.irr“  Únumpyre   Ú
numba.corer   r   Únumba.core.extendingr   r   r   Únumba.np.numpy_supportr	   r
   r   r   r   r   r   r   Únumba.core.imputilsr   r   r   r   Únumba.np.arrayobjr   r   r   r   Únumba.np.linalgr   r   Únumba.core.errorsr   r   r   r   r   Únumba.cpython.unsafe.tupler    r'   rä  rL   ra   r®  rÁ   ry   r|   r—   r5   Ú	DTypeSpecÚIntegerLiteralr«   r¯   r´   rº   r»   rÂ   rÃ   r×   rØ   rÝ   rÞ   rç   rè   rô   rõ   rý   r  r  r  r  Úaminr!  r#  Úamaxr,  r3  r8  r=  r>  rG  rL  rO  rQ  rF  r`  re  rf  rl  ry  rz  rŸ  r   r¥  Úaverager¶  r½  Ú	iscomplexrÅ  ÚisrealrÊ  rÖ  rÛ  Úisscalarrà  rë  rð  rô  r÷  rú  rü  r  r  r#  r  r"  r  r  Únanminr  Únanmaxr$  r0  r-  r6  r3  Únanstdr9  Únansumr@  ÚnanprodrF  Ú
nancumprodrO  Ú	nancumsumrV  rZ  ra  rd  rg  rk  ro  rr  r|  r‰  rˆ  r‹  rš  r˜  Ú_partition_w_nanÚ_argpartition_w_nanr¡  rŸ  rö  rý  r£  r¨  Úmedianr®  rÁ  rÅ  rÊ  rÏ  rÑ  rÕ  rß  r¹  rä  Únanpercentileræ  Úquantileré  Únanquantilerë  Ú	nanmedianrñ  rú  rÿ  r  Ú	partitionr  r–  r  r  r*  r!  r$  r0  ÚtrilrA  rQ  rL  Útril_indices_fromrW  r[  Útriurc  rk  rh  Útriu_indices_fromrn  rq  rz  r€  Úediff1dr’  r”  r›  rž  r¥  Útrapzr°  Ú	trapezoidr³  rµ  ÚvanderrÀ  ÚrollrÉ  rÍ  rÔ  ré  rë  Úinterprø  rú  r  r  r  r  rA  rÑ  r  r!  r@  r&  r0  r4  r6  rG  rD  ÚcorrcoefrS  Úargwherer\  Úflatnonzerora  re  rg  rk  rq  ru  r‹  rX  r  Úfill_diagonalrŒ  r�  rœ  r¢  Úaroundr¬  r¯  Úround_r¶  r·  rÀ  rÃ  rF  rÝ  rä  rç  rí  r÷  r,  rý  r  rì   r  r  r  Úcontainsr  Úcount_nonzeror   r1  r2  Údeleter3  rƒ  r=  Úarray_equalrD  Úintersect1drP  rT  rV  rf  rm  rl  rh  rj  rn  rp  rr  ry  rä   r~  r…  rŒ  ÚdigitizerŸ  r3   r­  r¢  r²  Ú_mach_ar_supportedrÄ  rÓ  rs  rÙ  rn  rÏ  rÔ  rÚ  rì  rî  rô  rÿ  Ú	correlater  Úconvolver  rŠ  r%  Úasfarrayrå   r+  Úextractr1  Úselectr;  Úunion1drA  Úasarray_chkfiniterE  Úunwrapr`  rd  rh  rj  rl  rv  ÚbartlettÚblackmanÚhammingÚhanningru  r  r€  r|  r�  r†  Úkaiserr‹  r™  r›  r¢  Úcrossrª  r®  r°  r´  Ú
trim_zerosrÂ  Úsetxor1drÈ  Ú	setdiff1drÐ  rÍ  rß  Úisinrå  r$   r%   r&   Ú<module>r2     sÊ  ðñó
 Ý "Û ã Û ç %ß LÑ L÷M÷ Mó M÷Gó G÷/ó /å 'å *÷/õ /õ 5òñ ‹]€
ð ñ%!ó ð%!ðP ñE!ó ðE!ñV ˆr�v‰v�u—{‘{Ó#Ùˆ{˜EŸK™KÓ(ñEó )ó $ðEð ñó ðò>ñB ˆr�v‰v�u—{‘{ E§J¡J°·±Ó@Ùˆr�v‰v�u—{‘{ E×$8Ñ$8¸%¿/¹/ÓJÙˆ{˜EŸK™K¨¯©°U·_±_ÓEÙˆ{˜EŸK™K¨×)=Ñ)=¸u¿¹ÓOñ$Dó Pó Fó Kó Að$DñN ˆr�v‰v�u—{‘{ U§_¡_Ó5Ùˆ{˜EŸK™K¨¯©Ó9ñEó :ó 6ðEñ ˆr�v‰v�u—{‘{ E§J¡JÓ/Ùˆr�v‰v�u—{‘{ E×$8Ñ$8Ó9Ùˆ{˜EŸK™K¨¯©Ó4Ùˆ{˜EŸK™K¨×)=Ñ)=Ó>ñ%Dó ?ó 5ó :ó 0ð%DòPñ 
ˆ"�'‰'ÓÙ�—‘˜fÓ%ñó &ó ðñ 
ˆ"�)‰)ÓÙ�—‘˜hÓ'ñ!ó (ó ð!ñ. 
ˆ"�*‰*ÓÙ�—‘˜iÓ(ñ"ó )ó ð"ñ. 
ˆ"�'‰'ÓÙ�—‘˜fÓ%ñó &ó ðñ* 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðñ  
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðð ñó ðð ñó ðð ñó ðñ 
ˆ"�&‰&ÓÙ	ˆ"�'‰'ÓÙ�—‘˜eÓ$ñ,ó %ó ó ð,ñ^ 
ˆ"�&‰&ÓÙ	ˆ"�'‰'ÓÙ�—‘˜eÓ$ñ,ó %ó ó ð,ð^ ñó ðð* ñó ðð* ñó ðñ& 
ˆ"�)‰)ÓÙ�—‘˜hÓ'ôó (ó ðð$ ñó ðð* ñó ðð* ñó ðò")ñX 
ˆ"�)‰)ÓÙ�—‘˜hÓ'ôó (ó ðñ$ 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðð ôó ðñ2 
ˆ"�+‰+ÓÙ�—‘˜jÓ)ô?,ó *ó ð?,ñD 
ˆ"�&‰&ÓÙ�—‘˜eÓ$ñó %ó ðñ 
ˆ"�*‰*Óô!ó ð!òH
ñ 
ˆ"�,‰,Óñó ðñ 
ˆ"�)‰)Óñó ðñ 
ˆ"�/‰/Óñó ðñ& 
ˆ"�,‰,Óñó ðñ 
ˆ"�+‰+Óñó ðò
ñ 
ˆ"�+‰+Óô&ó ð&ñ
 
ˆ"�+‰+Óô&ó ð&ð
 ñó ðð ñó ðð ñPó ðPò
ñD Ù˜	°EÑ:ó€ñ Ù˜°uÑ=ó€ñ "Ù˜	°DÑ9ó€ñ "Ù˜°tÑ<ó€ð
 ñ2ó ð2ñ 
ˆ"�*‰*Óô5ó ð5ñp 
ˆ"�)‰)Óñó ðñ 
ˆ"�)‰)Óñó ðñ 
ˆ"�*Š*Óñó ðñ& 
ˆ"�)Š)Óñó ðñ0 
ˆ"�)Š)Óñó ðñ 
ˆ"�)Š)Óñó ðñ* 
ˆ"�*Š*Óñó ðñ* 
ˆ"�-Š-Óñó ðñ0 
ˆ"�,Š,Óñó ðð0 ñó ðòò(	ò	ñ 
ˆ.ÓñHó ðHñ 
ˆ.ÓñHó ðHò	ñ 
ˆ-Óñó ðñ. 
ˆ"�&Š&Óñó ðð6 �6ÓÙ�E—K‘K Ô'¨Ô/ð ñó ðõ.ñb Ñ0°Ó;Ó<€
Ù#Ñ$6Ð7JÓ$KÓLÐ Ù&Ñ'9ØØñ(ó Ð òñ" ™?¨:Ó6Ó
7€Ù ¡Ð1AÓ!BÓC€Ù$¡_Ð5HÓ%IÓJÐ ð ñ ó ð ð0 ñ3ó ð3ñ 
ˆ"�)Š)Óñó ðð ñ1ó ð1ðh ñó ðð  ñó ðð  ñFó ðFð
 ñBó ðBð
 ñó ðò""ñ4 
ˆ"�-Š-Óñó ðñ 
ˆ"×
Ò
Óñó ðñ 
ˆ"�+Š+Óñó ðñ 
ˆ"�.Š.Óñó ðñ 
ˆ"�,Š,Óñó ðð0 ñó ðð( ñó ðð* ñó ðñD 
ˆ"�,Š,Óñó ðñ2 
ˆ"�/Š/Óñ ó ð ð8 ñ	ó ð	ñ 
ˆ"�&Š&Óô
ó ð
ð ñó ðð  ô>ó ð>ñ
 
ˆ"�'Š'Óô"ó ð"ñ4 
ˆ"�/Š/Óô
 ó ð
 ñ 
ˆ"×
Ò
Óô
%ó  ð
%ð ô>ó ð>ñ
 
ˆ"�'Š'Óô"ó ð"ñ2 
ˆ"�/Š/Óô
 ó ð
 ñ 
ˆ"×
Ò
Óô
%ó  ð
%ò	ñ 
ˆ.Óñ1ó ð1ò ñ" 
ˆ"�*Š*Óô4ó ð4òn	ñ 
ˆ/Óñó ðò	ñ 
ˆ&Óñó ðñ 
ˆ"�(Š(Óôó ðð, �FÓÙˆR�\Š\Ô˜8Ô$ð ñ<ó ð<ð6 ñ@ó ð@ñ 
ˆ"�)Š)Óô$"ó ð$"ñN 
ˆ"�'Š'Óñó ðð2 Ð ð ñAó ðAðH ñjó ðjðZ ñUó ðUñp 
ˆ"�)Š)Óñ%ó ð%ðV ñ	ó ð	ð ñó ðò0	ñ 
Ð
"Ó#ñ$$ó $ð$$ðN ñ ó ð ñ %¡[Ó1Ð òò**ð ñ8ó ð8ñ $¡KÓ0Ð ð ñ9ó ð9òð4 ñ3ó ð3ð ñó ðñ 
ˆ"�&Š&Óô7ó ð7ñt 
ˆ"�+Š+Óô ó ð ñH 
ˆ"�+Š+Óñó ðñ0 
ˆ"�.Š.Óñó ðð" ñó ðð* ñó ðð ñó ñð ñDó ñDð ñDó ñDñ ™nÓ-�
ó	ñ 
‰(Óñ1ó ñ1ñ 
ˆ"×
Ò
Óôó ñó@,ð
 ñó ñð" ñ)ó ñ)ñ4 
ˆ"�)Š)ÓÙ	ˆ"�(Š(Óô4ó ó ñ4ðn �6ÓÙˆR�YŠYÔ™Ô&ñ 
ˆ"�'Š'ÓñMó ñMñ& 
ˆ"�(Š(Óô<ó ñ<ñ@ ˆr�zŠz˜5Ÿ;™;Ó'Ùˆ §¡Ó,ñ5Dó -ó (ñ5Dópð ñó ñð ñó ñóñ. 
ˆ"�(Š(Óñ ó ñ ñ 
ˆ"�(Š(Óñ2ó ñ2ñj 
ˆ"�'Š'Óñó ññ 
ˆ"�'Š'Óñó ññ 
ˆ(×
Ò
Óñ
ó ñ
ñ 
ˆ"×
Ò
Óôó ññ  -©\Ó:Ñ Ù,Ñ-EÓFÑ ñ 
ˆ"�)Š)Óñ+%ó ñ+%ñ\ 
ˆ"�'Š'Óô#ó ñ#ñL 
ˆ"�.Š.Óñó ññ* 
ˆ"�.Š.Óô ó ñ ó:1ñ 
ˆ"�+Š+Óô6ó ñ6ñr # 9Ó-�Ù$ ZÓ0Ñ ð ñ!ó ñ!ðB ñó ñð ñó ñð ñ	ó ñ	ð ñ+ó ñ+óò$ % f¨gÐ%6Ó7Ñ ó;ñ* 
ˆ"�/Š/Óô0ó ñ0ñf 
ˆ"�+Š+ÓôAó ñAñH 
�ñ 
ˆ"�,Š,ÓôOó ñOðh%Ñ ñ 
�HÑ0Ó	1�ð3Ñ ñ
 	�7Ñ,Ó-�ð +Ñ á�7Ñ,Ó-�óñ  
ˆ"�(Š(Óñó ññ 
ˆ"�(Š(Óñó ñóó<Oó	ñ 
Ñ
ÓñFó ñFñR 
ˆ"�,Š,Óô)ó ñ)ñX 
ˆ"�+Š+Óôó ññ* 
ˆ"�*Š*Óô4ó ñ4ðn �6ÓÙˆb�kŠkÓØŸZšZó ó ññ 
ˆ"�*Š*Óñó ññ2 
ˆ"�)Š)Óô/ó ñ/ñd 
ˆ"�*Š*Óñó ññ 
ˆ"×
Ò
Óôó  ññ0 
ˆ"�)Š)ÓôCó ñCð\ ñKó ñKð
 ñ6ó ñ6ð ñ5ó ñ5ð
 ñ3ó ñ3ó
ñ" 	ˆ�ŠÔ Ò&Ñ'7Ó8Ô 9Ù ˆ�ŠÔ Ò&Ñ'7Ó8Ô 9Ù ˆ�ŠÔ Ò%¡oÓ6Ô 7Ù ˆ�ŠÔ Ò%¡oÓ6Ô 7ð 
‡xƒxò ó �ðB 
‡xƒxò ó �ð: ñ	ó ñ	ð ñBó ñBð ñó ññ 
ˆ"�)Š)Óñó ñð* ñó ñó.	ñ 
‰&Óñó ññ  
ˆ"�(Š(Óñó ñð0 ñó ñô&	ñ 
‰'Óòó ññ" 
ˆ"�-Š-Óõó ññD 
ˆ"�+Š+Óõó ññ@ 
ˆ"�,Š,Óõó ññ* 
ˆ"�'Š'ÓõAó ñAñH 
ˆ"�'Š'Óõó òr%   