ó
    „ñ:i#Y ã            	       óV&  • 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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,J-r-  SSK.J/r/  S r0\0" 5       r1\&S 5       r2\&S 5       r3\" \	Rh                  \Rj                  5      \" S\Rj                  5      S 5       5       r6\S 5       r7S r8\" \	Rh                  \Rj                  \Rr                  \Rt                  5      \" \	Rh                  \Rj                  \Rv                  \Rt                  5      \" S\Rj                  \Rr                  \Rt                  5      \" S\Rj                  \Rv                  \Rt                  5      S 5       5       5       5       r<\" \	Rh                  \Rj                  \Rt                  5      \" S\Rj                  \Rt                  5      S 5       5       r=\" \	Rh                  \Rj                  \Rr                  5      \" \	Rh                  \Rj                  \Rv                  5      \" S\Rj                  \Rr                  5      \" S\Rj                  \Rv                  5      S 5       5       5       5       r>S r?\" \	R€                  5      \" \Rj                  S5      S 5       5       rA\" \	R„                  5      \" \Rj                  S5      S 5       5       rC\" \	Rˆ                  5      \" \Rj                  S5      S 5       5       rE\" \	RŒ                  5      \" \Rj                  S5      S 5       5       rG\" \	R�                  5      \" \Rj                  S 5      S! 5       5       rI\" \	R”                  5      \" \Rj                  S"5      S# 5       5       rK\S$ 5       rL\S% 5       rM\S& 5       rN\" \	Rž                  5      \" \	R                   5      \" \Rj                  S'5      S( 5       5       5       rQ\" \	R¤                  5      \" \	R¦                  5      \" \Rj                  S)5      S* 5       5       5       rT\S+ 5       rU\S, 5       rV\S- 5       rW\" \	R°                  5      \" \Rj                  S.5      GSS/ j5       5       rY\S0 5       rZ\S1 5       r[\S2 5       r\S3 r]\" \	R¼                  5      \" \Rj                  S45      GSS5 j5       5       r_\" \	RÀ                  5      \" \Rj                  S65      S7 5       5       ra\GS	S9 j5       rb\" \	RÆ                  5      \" \Rj                  S:5      GS	S; j5       5       rd\" \	RÊ                  5      \" \Rj                  S<5      S= 5       5       rf\" \	RÎ                  5      GS
S> j5       rhS? ri\" \	RÔ                  5      S@ 5       rk\" \	RØ                  5      SA 5       rm\" \	RÜ                  5      SB 5       rn\" \	RÞ                  5      SC 5       ro\" \	Rà                  5      SD 5       rqSE rr\" \	Ræ                  5      GSSF j5       rs\" \	Rè                  5      GSSG j5       rt\SH 5       ru\SI 5       rv\SJ 5       rwSK rx\" \x" \uS8SL95      ry\" \x" \vS8SL95      rz\" \x" \uSMSL95      r{\" \x" \vSMSL95      r|\SN 5       r}\" \	Rü                  5      GS	SO j5       r~\" \	Rþ                  5      SP 5       r€\" \	G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R2                  5      Sa 5       rš\Sb:  a  \" \Rj                  Sc5      " \š5        \Sd 5       r›GSSe jrœ\" \œ" \u5      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RL                  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R^                  5      Sr 5       r°\" \	GRb                  5      Ss 5       r²\" \	GRf                  5      St 5       r´\" \	GRj                  5      Su 5       r¶\" \	GRn                  5      Sv 5       r¸\Sw 5       r¹\Sx 5       rº\Sy 5       r»\" \	GRx                  5      Sz 5       r½\" \	GR|                  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       Gr \S¬ 5       G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*                  \Rj                  5      \" Sº\Rj                  5      S» 5       5       GrS¼ Gr\S½ 5       Gr\S¾ 5       GrS¿ Gr\" \	GR6                  5      SÀ 5       Gr\" \	GR6                  5      SÁ 5       Gr\" \	GR<                  5      SÂ 5       Gr\" \	GR@                  5      SÃ 5       Gr!\" \GRD                  5      SÄ 5       Gr#\" \	GRH                  5      GSSÅ j5       Gr%\" SÆ 5      Gr&\" SÇ 5      Gr'\" \	GRP                  5      SÈ 5       Gr)\" \	GRT                  5      GSSÉ j5       Gr+\" \	GRX                  5      SÊ 5       Gr-\" \	GR\                  5      GSSË j5       Gr/SÌ Gr0\" \	GRb                  5      GSSÍ j5       Gr2\" \5      Gr3\" \5      Gr4\SÎ 5       Gr5\SÏ 5       Gr6\SÐ 5       Gr7\SÑ 5       Gr8\SÒ 5       Gr9SÓ Gr:G\;" SÔSÕ15      Gr<SÖ Gr=\" \	GR|                  5      GSS× j5       Gr>\" \	GR~                  5      GSSØ j5       Gr@G\AGrB\" \	GR†                  5      GSSÙ j5       GrDSÚGrE\" SÛG\E5      GrFSÜGrG\" SÝG\G5      GrHSÞGrI\" SßG\I5      GrJSà GrKG\K" 5         Sá GrL\" \	GR�                  5      Sâ 5       GrM\" \	GR”                  5      Sã 5       GrNSä GrOSå GrPSæ GrQ\" G\Q5      Sç 5       GrR\" \	GR¦                  5      GSSè j5       GrT\" \	GRª                  5      GSSé j5       GrV\" \	GR®                  5      GSSê j5       GrX\Sb:  a(  \" \	GR²                  5      \	GR´                  4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      Sî 5       Gra\" \	GRÄ                  5      GSSï j5       Grc\" \	GRÈ                  5      GSSð j5       Gre\Sñ 5       Grf\Sò 5       Grg\Só 5       Grh\Sô 5       GriSõ Grj\" \	GRÖ                  5      " G\j" G\f5      5        \" \	GRØ                  5      " G\j" G\g5      5        \" \	GRÚ                  5      " G\j" G\h5      5        \" \	GRÜ                  5      " G\j" G\i5      5        \	GRÞ                  " / SöQ5      Grp\	GRÞ                  " / S÷Q5      Grq\Sø 5       Grr\Sù 5       Grs\Sú 5       Grt\" \	GRê                  5      Sû 5       Grv\Sü 5       GrwSý Grx\" G\x5      Sþ 5       Gry\" \	GRô                  5      Sÿ 5       Gr{\GS  5       Gr|GS Gr}\" G\}5      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ÚNumbaDeprecationWarning)Útuple_setitemc                  ó:   •  [        5         g! [         a     gf = f©NFT)r   ÚImportError© ó    ÚU/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/np/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_indexerE   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Ú_r0   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   ÚUniTupler6   )ÚtyctxrD   Úshape_tupleÚfunction_sigrF   rC   rE   s    `   @@r'   Ú_create_tuple_result_shaperM   ,   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*   )r2   r   r3   r7   r   Úslice2_typer4   r8   )r9   r:   r;   r<   r=   r>   r@   Ú	value_argrR   Ú
slice_datar/   Ú
axis_valuerC   rE   s              €€€r'   rF   Ú!_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_valuerH   rT   r6   ÚTuple)rJ   rK   ÚvalueÚaxisÚbeforeÚafterÚ
types_listrL   rF   rW   rC   rE   s            @@@r'   Ú_gen_index_tuplerb   U   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&   ©rj   ©Úlocals©Úreturn_typer7   Údictr   ©Úcontextr:   Úsigr<   rm   Úresrl   s         @r'   Ú	array_sumrz   ¡   óS   ø€ ð �?‰?˜1Ó€Dõð ×
"Ñ
" 7¸CÜ*.°·±Ñ*Að #ð C€Cä˜W¨s¯©ÀÓDÐDr&   c                 ó   • U $ r-   r%   )ri   rk   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ÚpoprM   rf   ÚfullÚtyper4   rb   )ri   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Úoprl   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•   rl   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%   )ri   r^   rš   Úcompileds      €r'   Úarray_sum_impl_axisÚ1array_sum_axis_dtype.<locals>.array_sum_impl_axis  ó   ø€ Ù˜Ó"Ð"r&   )rt   Úgetattrrf   Útaker}   r<   rY   r   rZ   r[   r‚   rƒ   Útyping_contextÚresolve_value_typer5   Úreplacer˜   r   r7   r   )rw   r:   rx   r<   Úrettyrl   r•   Úty_arrayÚty_axisÚty_dtyper”   r“   Úaxis_valÚgen_implrž   ry   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-   re   )ri   rš   rj   rk   rl   s       €r'   rm   Ú'array_sum_dtype.<locals>.array_sum_impl'  ro   r&   rp   rq   rs   rv   s         @r'   Úarray_sum_dtyper°   "  r{   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%   )ri   r^   r�   s     €r'   rž   Ú+array_sum_axis.<locals>.array_sum_impl_axisW  r    r&   )rt   r¡   rf   r¢   r}   r<   rY   r   rZ   r[   r‚   r   r£   r¤   r5   r¥   r˜   r   r7   r   )rw   r:   rx   r<   r¦   rl   r•   r§   r¨   r”   r“   Úmsgrª   r«   rž   ry   r�   s                   @r'   Úarray_sum_axisrµ   2  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ˆ   rf   Ú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-   re   ©r.   rj   rk   rº   s      €r'   Úarray_prod_implÚ#array_prod.<locals>.array_prod_impln  s,   ø€ ØˆAÜ—Y’Y˜q–\�Ø—V‘V“X‘’ñ "àˆHr&   )rY   r   ÚArrayr	   rš   r»   )r.   rš   rÀ   rº   s      @r'   Ú
array_prodrÃ   f  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-   ©rf   ÚemptyÚsizeÚ	enumerateÚflat©r.   Úoutrj   Úidxrk   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&   ©
rY   r   rÂ   rš   Úsigned_domainÚbool_Úbitwidthr6   r	   r»   )r.   Ú
is_integerÚis_boolrÏ   rº   rš   s       @@r'   Úarray_cumsumrØ   w  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-   )rf   rg   rh   rÉ   r¿   s      €r'   Úarray_mean_implÚ#array_mean.<locals>.array_mean_implµ  s5   ø€ ð ˆAÜ—Y’Y˜q–\�Ø—V‘V“X‘’ñ "à—v‘v‘:Ðr&   )
rY   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ß   rf   rg   rh   ÚrealÚconjrÉ   )r.   ÚmÚssdrk   Ú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&   ©rY   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ƒ   rf   rg   Únextr¢   rh   )r.   ÚitÚ	min_valuer¹   rk   Ú
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&   )rY   r   rÂ   rš   Ú
NPDatetimeÚNPTimedeltarf   Ú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¹   rk   r  r  s        €€r'   Úimpl_maxÚnpy_max.<locals>.impl_max:  r  r&   )rY   r   rÂ   rš   r  r  rf   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ƒ   rf   rg   r  r¢   r  rh   )Úarryr  r  Úmin_idxrÎ   r¹   rk   s          r'   Úarray_argmin_impl_datetimer4  O  óœ   € à‡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Ë   rf   r!  ©r2  rk   r  r3  rÎ   s        r'   Úarray_argmin_impl_floatr9  e  óŽ   € à‡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   r0  Úunreachabler*   )rÉ   rƒ   rË   ÚRuntimeErrorr8  s        r'   Úarray_argmin_impl_genericr>  {  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-   )rY   rš   r   r  r  r4  r   r9  r>  r   Ú%build_argmax_or_argmin_with_axis_impl)r.   r^   rD  rC  s      @r'   Úarray_argminrH  �  ó~   ø€ ô �!—'‘'œ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*   r1  )r2  r  r*  Úmax_idxrÎ   r¹   rk   s          r'   Úarray_argmax_impl_datetimerM  £  r5  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$ rK  r7  ©r2  rk   r*  rL  rÎ   s        r'   Úarray_argmax_impl_floatrP  ¹  r:  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$ rK  )rÉ   rƒ   rË   rO  s        r'   Úarray_argmax_impl_genericrR  Ï  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ƒ   r4   r!   Ú	transposer…   ÚravelrÉ   rf   rÈ   Úreshape)r.   r^   Útmpr/   Útranspose_indexÚtransposed_arrrï   ÚraveledrÍ   rC  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   r6   Útupler4   r‚   )r.   r^   rC  r^  r¦   r]  s     ` @@r'   rG  rG  á  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%   rB  s     €r'   Úarray_argmax_implÚ'array_argmax.<locals>.array_argmax_impl  rF  r&   r-   )rY   rš   r   r  r  rM  r   rP  rR  r   rG  )r.   r^   rd  rC  s      @r'   Úarray_argmaxrf    rI  r&   Úallc                 ó   • S nU$ )Nc                 ól   • [         R                  " U 5       H  nUR                  5       (       a  M    g   gr#   re   ©r.   rk   s     r'   Úflat_allÚnp_all.<locals>.flat_all$  s'   € Ü—’˜1–ˆAØ—6‘6—8“8Ùñ ð r&   r%   )r.   rk  s     r'   Únp_allrm  !  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©rf   r!  ÚisinfÚabs)Úa_vÚb_vÚrtolÚatolÚ	equal_nanÚ	a_v_isnanÚ	b_v_isnans          r'   Ú_allclose_scalarsrz  -  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©ru  rv  rw  )rz  ©r.   Úbru  rv  rw  s        r'   Únp_allclose_impl_scalar_scalarÚ3np_allclose.<locals>.np_allclose_impl_scalar_scalara  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©rf   Úasarrayrg   rz  rh   )r.   r…  ru  rv  rw  Úbvs         r'   Únp_allclose_impl_scalar_arrayÚ2np_allclose.<locals>.np_allclose_impl_scalar_arrayg  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…  ru  rv  rw  Úavs         r'   Únp_allclose_impl_array_scalarÚ2np_allclose.<locals>.np_allclose_impl_array_scalarq  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‰  )rf   r‹  Úbroadcast_arraysrg   rz  rh   )	r.   r…  ru  rv  rw  Úa_aÚb_br�  rŒ  s	            r'   Únp_allclose_impl_array_arrayÚ1np_allclose.<locals>.np_allclose_impl_array_array{  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   rY   Úfloatr   r   ÚboolÚBooleanÚNumber)r.   r…  ru  rv  rw  Úis_a_scalarÚis_b_scalarr†  r�  r‘  r—  s              r'   Únp_allcloser   G  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  re   rj  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      (       d  SS jnU$ Ub  [        U[        R                  5      (       a  SS jnU$ SS jnU$ )Nc                 ó   • [        S5      e)Nz)Numba does not support average with axis.)Ú	TypeError)r.   r^   Úweightss      r'   Únp_average_implÚ#np_average.<locals>.np_average_implš  s   € ÜÐGÓHÐHr&   c                 óZ   • [         R                  " U 5      n[         R                  " U5      $ r-   )rf   r‹  rß   )r.   r^   rª  ri   s       r'   r«  r¬  ž  s   € Ü—j’j “m�Ü—w’w˜s“|Ð#r&   c                 óp  • [         R                  " U 5      n[         R                  " U5      nUR                  UR                  :w  a  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$ )Nr*   z81D weights expected when shapes of a and weights differ.ç        z)Weights sum to zero, can't be normalized.)rf   r‹  r…   r‚   r©  ÚsumÚZeroDivisionErrorÚmultiply)r.   r^   rª  ri   ÚsclÚavgs         r'   r«  r¬  ¢  s–   € Ü—j’j “m�ÜŸ*š* WÓ-�à—9‘9 §¡Ó-Ø—|‘| qÓ(Ü'ð4ó5ð 5ô —f’f˜W“o�Ø˜#“:Ü+ØCóEð Eô —f’fœRŸ[š[¨Ó6Ó7¸#Ñ=�Ø�
r&   ©NN)rY   r   ÚNoneType)r.   r^   rª  r«  s       r'   Ú
np_averager·  —  sW   € àÑ¤
¨4´·±× @Ñ @ô	Ið4 Ðð/ ‰?œj¨´%·.±.×AÑAô$ð, Ðô%ð$ Ð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&   )rY   r   r   r  rf   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ì   ©rf   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_dtyperY   r   ÚOptionalrˆ   rf   Ú
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-   )rf   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%   )Úelementry   s    €r'   r^  Únp_isscalar.<locals>.implö  s   ø€ Øˆ
r&   )r   )rß  r^  ry   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-   ©rf   Úlogical_andrq  Ú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ì   )
rf   r‹  rý  rg   r  r¢   rh   r!  rí   r  ©r.   ri   r  Ú
return_valr¹   rk   Ú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ì   )rf   r‹  rý  rg   r  r¢   rh   r!  r   s         €r'   r^  r  7  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   Frp  )r»  Úyru  rv  rw  s        r'   Ú_isclose_itemr	  T  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      $ ©NrU  ©rX  rf   ÚzerosrH   rÔ   r4   r	  r…   ©	r.   r…  ru  rv  rw  r»  r  rÍ   r/   s	            r'   Úisclose_implÚisclose.<locals>.isclose_implu  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š   )rf   Úbroadcast_shapesr…   Úbroadcast_tor  rH   rÔ   rÊ   rg   r	  rh   )r.   r…  ru  rv  rw  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   rY   rš  r   r   r›  rœ  rÂ   r�  )r.   r…  ru  rv  rw  r  s         r'   Úiscloser  `  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Ò  rf   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Ò  rf   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*   )rf   rg   rh   Údivide)r.   rj   Úcountr¹   rk   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&   ©rY   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(  )rf   Únanmeanrg   rh   rí   rî   r)  )r.   rï   rð   r*  r¹   rk   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.   r2  r!  s     @r'   Ú	np_nanvarr4  ¿  s2   ø€ ä�aœŸ™×%Ñ%ØÜ�a—g‘gÓ€Eõ%ð  Ðr&   c                 óL   • [        U [        R                  5      (       d  g S nU$ )Nc                 ó4   • [         R                  " U 5      S-  $ rù   )rf   Únanvarrû   s    r'   Únanstd_implÚnp_nanstd.<locals>.nanstd_implÝ  s   € Ü�yŠy˜‹|˜sÑ"Ð"r&   rô   )r.   r8  s     r'   Ú	np_nanstdr:  Ø  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-   re   )r.   rj   r¹   rk   r!  rl   s       €€r'   Únansum_implÚnp_nansum.<locals>.nansum_implî  s<   ø€ ØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø‘’ñ !ð ˆr&   ©rY   r   rÂ   rš   ÚIntegerr6   r¾  )r.   r¦   r=  r!  rl   s      @@r'   Ú	np_nansumrA  ã  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-   re   )r.   rj   r¹   rk   r!  Úones       €€r'   Únanprod_implÚ np_nanprod.<locals>.nanprod_impl  s<   ø€ ØˆÜ—I’I˜a–LˆDØ—	‘	“ˆAÙ˜—8“8Ø‘’ñ !ð ˆr&   r?  )r.   r¦   rE  r!  rD  s      @@r'   Ú
np_nanprodrG  ù  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-   )rf   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Í   rj   rÎ   rk   Úis_nanrD  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&   ©rY   r   rÂ   rš   rœ  r@  r¾  )r.   rM  rL  rD  r¦   s     @@@r'   Únp_nancumprodrP    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-   )rf   rÄ   rû   s    r'   rÂ  Únp_nancumsum.<locals>.<lambda>/  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Í   rj   rÎ   rk   rL  r¦   rl   s        €€€r'   Únancumsum_implÚ$np_nancumsum.<locals>.nancumsum_impl5  sO   ø€ Ü—(’(˜1Ÿ6™6 5Ó)ˆCØˆAÜ# A§F¡FÖ+‘�Ù˜1“I–:Ø‘F�AØ�C“ñ ,ð ˆJr&   rO  )r.   rU  rL  r¦   rl   s     @@@r'   Únp_nancumsumrW  (  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)Ú_asarrayrH   rƒ   ©r.   ri   s     r'   Úprepare_ptp_inputr[  A  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>.implQ  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`  Y  s   ø€ Ù˜S×.Ñ.�3Ð?°KÐ?r&   )rY   r   r  )r•   r_  rñ   r^  s   `   r'   Ú_compute_current_val_impl_genrb  J  s+   ø€ Ü�+œuŸ}™}×-Ñ-õ	ð €Kõ	@à€Kr&   c                 ó   • g r-   r%   ©r_  rñ   s     r'   Ú_compute_a_maxre  ^  ó   € Ør&   c                 ó   • g r-   r%   rd  s     r'   Ú_compute_a_minrh  b  rf  r&   c                 ó6   • [        [        R                  X5      $ r-   )rb  ÚoperatorÚgtrd  s     r'   Ú_compute_a_max_implrl  f  ó   € ä(¬¯©°kÓGÐGr&   c                 ó6   • [        [        R                  X5      $ r-   )rb  rj  Últrd  s     r'   Ú_compute_a_min_implrp  k  rm  r&   c                 ó   • g r-   r%   ©rñ   s    r'   Ú_early_returnrs  p  rf  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)rf   r!  rí   r  Únan©rñ   ÚUNUSEDs    €r'   r^  Ú _early_return_impl.<locals>.implx  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  )rf   r!  rw  rx  s    €r'   r^  rz  �  s(   ø€ Ü�xŠx˜�}‰}ØœRŸV™V�|Ð#à˜f�}Ð$r&   c                 ó   >• ST4$ r  r%   rx  s    €r'   r^  rz  ‡  s   ø€ Ø˜&�=Ð r&   )rY   r   r  r   )rñ   r^  ry  s     @r'   Ú_early_return_implr}  t  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ì   )r[  rË   r4   rÉ   rs  re  rh  )	r.   ri   Ú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&   )ÚhasattrrY   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#   )rf   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%   )r2  Ú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   )r2  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                 ó˜   ^• [        U [        R                  5      (       d  g [        U R                  5      R
                  S;   mU4S jnU$ )NÚmMc                 ó’   >• U R                  5       nUR                  S   nT(       d  US:X  a  [        R                  $ [	        X5      $ rì   )Úflattenr…   rf   rw  r©  )r.   r¦  r§  Úis_datetimes      €r'   Úmedian_implÚnp_median.<locals>.median_impl9  s;   ø€ ð —I‘I“Kˆ	Ø�O‰O˜AÑˆÞ˜q A›vÜ—6‘6ˆMÜ˜YÓ*Ð*r&   )rY   r   rÂ   r	   rš   Úchar)r.   r¯  r®  s     @r'   Ú	np_medianr²  2  s=   ø€ ä�aœŸ™×%Ñ%Øä˜1Ÿ7™7Ó#×(Ñ(¨DÑ0€Kõ+ð Ð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’  )rH   rf   r‡   ræ   rÈ   r4   r$  rg  Úisfiniterw  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Å  D  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)rH   rf   r¡  r¶  )r.   Únan_maskÚskip_nanrñ   s       r'   Ú_can_collect_percentilesrÉ  y  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É   r4   rf   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 )Nro  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  )
rf   r‹  ræ   r­  r!  rÉ  rÅ  r‡   rH   rw  )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Ò  rf   rÔ  rÕ  r   rY   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$ )NFro  ©rÈ  rØ  r×  ©rã  rÓ  ©r.   r¼  s     r'   Únp_percentilerè  Ó  s   € ä%Ø	�u SÔ2Eñð r&   c                 ó"   • [        XSS[        S9$ )NTro  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*   )rf   rÈ   rÉ   rš   rg   rh   rw  r©  )r.   r¦  r§  r¹   rk   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$ )NrU  r   r*   )rf   Ú
empty_likeÚndindexr…   ÚcopyrH   Ú_select_w_nan)	r.   Ú	kth_arrayrÍ   rÎ   Úsr2  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  rU  r   r*   )	rf   r÷  r6   rø  r…   rù  ÚarangerH   Ú_arg_select_w_nan)
r.   rû  rÍ   rÎ   rü  r2  Ú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-DrU  zkth out of boundsr   )rY  Úastyperf   r¸   r‚   rƒ   r¡  rr  r…   r÷  ÚndenumerateÚunique)r.   rý  rû  rÍ   Úindexrñ   s         r'   Ú
valid_kthsr	  3  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[        S:¼  a  [        R                  nO [        R                  [        R                  4n[        X45      (       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š   ©r�   r€   úPartition index must be integerc                 ó„   • [        U 5      nUR                  S:X  a  UR                  5       $ [        X!5      n[	        X#5      $ rì   )rY  rÉ   rù  r	  rþ  ©r.   rý  Úa_tmprû  s       r'   Únp_partition_implÚ'np_partition.<locals>.np_partition_impli  s7   € Ü˜“ˆØ�:‰:˜‹?Ø—:‘:“<Ðä" 5Ó.ˆIÜ*¨5Ó<Ð<r&   ©rY   r   rÂ   ÚSequencer\   r   r‚   r¡   r   r@  rœ  )r.   rý  r´   ÚkthdtÚ	kth_typesr  s         r'   Únp_partitionr  V  s°   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐC×DÑDÜÐGÓHÐHä�!”U—[‘[×!Ñ! a§f¡f°£kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ˜ÓÜ—M‘M‰	ä—]‘]¤E§M¡MÐ2ˆ	Ü�e×'Ñ'äÐ>Ó?Ð?ò=ð Ð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[        S:¼  a  [        R                  nO [        R                  [        R                  4n[        X45      (       d  [        S5      eS nU$ )Nr  r   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   r6   )rY  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  r  s         r'   Únp_argpartitionr  t  s±   € ô �aœ%Ÿ+™+¤u§~¡~´u·{±{ÐC×DÑDÜÐGÓHÐHä�!”U—[‘[×!Ñ! a§f¡f°£kØCˆÜ˜SÓ!Ð!ä�C˜ #Ó&€EÜ˜ÓÜ—M‘M‰	ä—]‘]¤E§M¡MÐ2ˆ	Ü�e×'Ñ'äÐ>Ó?Ð?ò@ð  Ð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$  rf   rÈ   ræ   r4   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‚   rH   rf   rÈ   rš   r4   )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éþÿÿÿrU  ©r   rž  r  ©rf   Útrir…   r  ÚuintÚwhereÚ
zeros_likerš   ©rï   rž  Úmasks      r'   Únp_tril_impl_2dr6  Á  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*  r6  ©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,  ©
rf   r0  r…   r  r1  rø  r÷  r3  rš   r2  ©rï   rž  r5  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‚   r6  )rï   rž  r;  rD  s       r'   Úmy_trilrG  Ç  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ž  ©rf   Únonzeror0  ©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ï   rN  s       r'   Únp_tril_indicesrR  â  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ï   )rf   Útril_indicesr…   ©ri   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&   rF  ©r   r‚   r   )ri   rž  rY  s      r'   Únp_tril_indices_fromr]  ð  ó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-  rU  r*   r.  r  r/  r4  s      r'   Únp_triu_impl_2dra  þ  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*  ra  r9  s      r'   Únp_triu_impl_1dÚ my_triu.<locals>.np_triu_impl_1d	  r=  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$ r`  r?  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�   rF  )r   r‚   ra  )rï   rž  rd  rg  s       r'   Úmy_triuri    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*   rJ  rK  rM  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&   rP  rQ  )r§  rž  rï   rl  s       r'   Únp_triu_indicesrn    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�   rT  c                 ó`   • [         R                  " U R                  S   XR                  S   S9$ rV  )rf   Útriu_indicesr…   rX  s     r'   Únp_triu_indices_from_implÚ7np_triu_indices_from.<locals>.np_triu_indices_from_impl5  r[  r&   rF  r\  )ri   rž  rr  s      r'   Únp_triu_indices_fromrt  ,  r^  r&   c                 ó   • g r-   r%   ©ri   s    r'   Ú_prepare_arrayrw  :  rf  r&   c                 ó:   • U S [         R                  4;   a  S $ S $ )Nc                 ó.   • [         R                  " S5      $ )Nr%   ©rf   Úarrayrv  s    r'   rÂ  Ú%_prepare_array_impl.<locals>.<lambda>A  s   € œ2Ÿ8š8 Bœ<r&   c                 ó4   • [        U 5      R                  5       $ r-   )rY  rW  rv  s    r'   rÂ  r|  C  s   € œ8 C›=×.Ñ.Ô0r&   ©r   Únonerv  s    r'   Ú_prepare_array_implr€  >  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)rY   r   r�  rœ  r	   r¡   rf   ræ   r   r  rš   )ÚinobjÚobjÚlrÖ  s       r'   Ú_dtype_of_compoundr†  F  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  )rw  rš   rH   rf   rÈ   Údiff)
ÚaryÚto_endÚto_beginÚstartr”  ÚendÚ	out_dtyperÍ   Ú	start_idxÚmid_idxs
             r'   Únp_ediff1d_implÚ#np_ediff1d.<locals>.np_ediff1d_implq  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µ  )
rY   r   rÂ   rš   rœ  r   r†  r   rf   Úcan_cast)rŠ  r‹  rŒ  Úary_dtÚto_begin_dtÚ	to_end_dtr´   r’  s           r'   Ú
np_ediff1dr˜  W  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%   rv  s    r'   Ú_select_elementrš  �  rf  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   )rf   r{  rš   )ri   r»  s     r'   r^  Ú"_select_element_impl.<locals>.impl—  s&   € Ü—’˜ S§Y¡YÑ/ˆAØ‰aˆDØ�Q‘4ˆKr&   c                 ó   • U $ r-   r%   rv  s    r'   r^  rž  �  s   € ØˆJr&   )r¡   )ri   Úzerodr^  s      r'   Ú_select_element_implr¡  “  s.   € ä�C˜ Ó&¨!Ñ+€EÞò	ð ˆò	àˆr&   c                 ó   • g r-   r%   )Údxr»  s     r'   Ú_get_dr¤  ¢  rf  r&   c                 ó6   • [        U 5      (       a  S nU$ S nU$ )Nc                 ó.   • [         R                  " U5      $ r-   ©rf   r‹  ©r»  r£  s     r'   r^  Úget_d_impl.<locals>.impl©  s   € Ü—:’:˜b“>Ð!r&   c                 óV   • [         R                  " [         R                  " U 5      5      $ r-   )rf   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*   rU  ç       @)rf   r‹  r¤  rQ   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&   ©Nro  )rY   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*   NrU  )r…   rH   r4   rf   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  )rH   r»  rf   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  )rH   rf   r{  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   r  rY   r@  r   rÂ   r	   rš   rf   Ú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  )rf   r‹  rÈ   r…   rš   rË   r4   rÉ   )r.   Úshiftri   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&   )rY   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*   rU  é   r€   r�   )ÚLIKELY_IN_CACHE_SIZE)Úkeyri   ÚlengthÚguessÚiminÚimaxr/   Úimids           r'   Úbinary_search_with_guessrÚ  5	  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  rv  r¯  rU  )rf   r‹  rH   rƒ   rÉ   r‡   r…   rÈ   r4   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ï  z	  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Þ  rU  )rf   r‹  ræ   rH   rƒ   rÉ   r‡   r…   rÈ   r4   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_impl\
  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_impl_
  s   ø€ Ù�Q˜B Ó&×+Ñ+¨AÑ.Ð.r&   )rˆ  r‚   r   rÒ  rf   rÔ  rÕ  Úresult_typeræ   rï  rñ  rY   r   r�  r  )
r»  rà  rá  Úcomplex_dtype_msgÚxp_dtÚfp_dtrõ  rø  rš   r–   s
           @@r'   Ú	np_interprþ  A
  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…   rf   rÈ   rš   r4   r°  )r.   rï   r§  rÍ   r/   s        r'   Úrow_wise_averager   m
  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   rf   Údotrî   ÚTr¸  )ÚXÚbiasÚddofÚfactrj   s        r'   Únp_cov_impl_innerr  z
  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
  “
  rf  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-   )rf   Ú
atleast_2drY  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  )rf   r  rY  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&   r~  )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*   )rf   ræ   rY   r   rÂ   r	   rš   r�  rœ  rI   r\   Úsetrˆ  ÚaddrH   rÄ  r†   )Ú
array_likeÚarray_like_dtÚcoltypesrñ   rk   Ú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   )rY   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)rf   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-   )rY   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   r  rY   rÂ   r‚   Ú	BaseTuplerg  rH   r�  rœ  r  rÔ  )Úmandatory_inputÚoptional_inputÚopt_is_nones      r'   Úscalar_result_expectedr6  þ
  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�  )rf   r2  ÚfabsÚsignrº  s    r'   Ú
_clip_corrr:    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-  -   $ )Nrv  )r:  rí   r  )r»  rí   r  s      r'   Ú_clip_complexr<    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  rf   r¡  r{  r…   r‡   rw  r  )	rï   r  r  r  r  r  r*  r+  rš   s	         €€€r'   Únp_cov_implÚnp_cov.<locals>.np_cov_implC  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  rf   r¡  r{  r…   rw  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_variableM  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   r  Ú_handle_ddof_noprY   r@  rœ  r   r'  r   Ú_handle_m_dim_noprÂ   r  rÒ  rf   rú  ræ   r6  )rï   r  r  r  r  Úm_dtÚy_dtr?  rC  r*  r+  rš   s            @@@r'   Únp_covrJ  $  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ì   )rf   ÚcovÚdiagÚsqrtrí   r4   r…   )r»  r  r  rj   r°  Ústddevr/   Úclip_fns          €r'   Únp_corrcoef_implÚ%np_corrcoef.<locals>.np_corrcoef_implk  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-   )rf   rM  )r»  r  r  rj   s       r'   Ú np_corrcoef_impl_single_variableÚ5np_corrcoef.<locals>.np_corrcoef_impl_single_variablev  s   € Ü�FŠF�1˜Ó ˆØ‰uˆr&   ©NT)rÒ  rf   rú  ræ   Ú
complex128r<  r:  r6  )	r»  r  r  rÅ  rI  rš   rR  rU  rQ  s	           @r'   Únp_corrcoefrY  _  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  )	rf   r‹  r…   r  r   r6   rV  ÚvstackrL  rZ  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›  rf   r  r   r6   )r.   ÚfalseishÚtrueishs    €€r'   r^  r]  ”  s:   ø€ Ø‰}¤ a§¡Ü—x’x ¬u¯z©zÑ:Ð:ä—x’x ´·
±
Ñ;Ð;r&   )rY   r   r�  rœ  r
   )r.   Ú
use_scalarr^  r_  r`  s      @@r'   Únp_argwhererb  „  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ì   )rf   r‹  rL  rW  rZ  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›  r4   rf   r{  r   r6   )r.   rB   r»  s      r'   r^  re  ¥  sH   € Ø‰}¤ a§¡Ø�s‘ä#(¨¤8Ó,¢8˜aš¡8�Ð,Ü—8’8˜D¬¯
©
Ñ3Ð3ùò -s   ¥ArÅ  )r.   r^  s     r'   Únp_flatnonzerorg  �  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 lengthrU  )r‚   r…   r	  rf   r{  rg  r‰  rƒ   rÙ   r°  r¼   )r.   Úwraprï   r§  ÚsteprŽ  r…   s          r'   Ú_fill_diagonal_paramsrk  ¯  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ì   )rk  r4   rË   )r.   rñ   ri  rŽ  rj  r/   s         r'   Ú_fill_diagonal_scalarrm  Å  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ò  )rk  rH   r4   rË   )r.   rñ   ri  rŽ  rj  ÚctrÚv_lenr/   s           r'   Ú_fill_diagonalrq  Í  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)rf   Úiinforš   r	  r$  r¡  r¶  rƒ   )r.   rñ   rt  Úv_minÚv_maxs        r'   Ú_check_val_intrw  Ù  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 rs  )rf   Úfinforš   r	  r$  r¶  r¡  rƒ   )r.   rñ   ry  ru  rv  Úfinite_valss         r'   Ú_check_val_floatr{  ä  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'   rY  rY  ô  rf  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-   rz  rº  s    r'   rÂ  r�  ý  s   € œŸš !œr&   c                 ó0   >• [         R                  " U /TS9$ r  rz  ©r»  r!  s    €r'   rÂ  r�     s   ø€ œŸš 1 #¨RÒ0r&   )rY   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-   )rY  r­  rm  ©r.   rñ   ri  Ú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-   )rY  r­  rq  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‚   rY   rš   r   r@  rw  r   r{  Ú
_check_noprœ  r\   r  rÂ   r   )r.   rñ   ri  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<   r2   ÚmoduleÚllvmliteÚirÚFunctionTyper   Úget_or_insert_functionr•  Úcallr   rt   )rw   r:   rx   r<   rñ   r”  Úlltyr˜  Úfntyrè  ry   s              r'   rF   Ú _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ñ   rx   rF   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Ïð€Dro  )r¹  rq  r!  r¢  )r»  ÚndigitsÚpow1Úpow2r  s        r'   Úround_ndigitsr¨  ;  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>.implc  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­  j  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­  q  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ì   )rf   Úroundr«  s      r'   r^  r­  {  s   € ÜŸš !Ó.��A‘Ø�
r&   c                 ó\   • [         R                  " U 5      n[         R                  " XU5      $ r-   )rf   r÷  r²  r«  s      r'   r^  r­  �  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ƒ   rf   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&   rP  )	r
   r   rY   r   rÂ   r   r   r@  r  )r.   r¬  rÍ   r´   r^  s        r'   Úimpl_np_roundrµ  V  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’¡œÇ;)rf   Ú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-   )rf   r3  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.)rY   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-   )rf   Úarctan2r  rí   )rA  Ú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  )rf   r3  r  Úangle)rA  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š  rf   r¸  rY   r   r�  rÂ   rš   r  Úunderlying_floatr   r   )rA  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<   rt   rš   r*  r   r   Úunpack_tupler…   ÚstridesrB   Úlayoutr5   r   r6   Úalloca_once_valueÚ	loop_nestrˆ   Úget_item_pointer2r   Úis_trueÚif_thenÚstorer  Úloadr4   r   Ú	_getvaluer   Ú
make_tupler   )rw   r:   rx   r<   Úarytyr¦   ÚoutarytyÚnoutsrŠ  r…   rÍ  rB   rÎ  rl   rD  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-   )rf   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-   )rf   r  )Úcondr»  r  ry   rÎ   rj   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Ë   r4   rÉ   )	rì  r»  r  ry   Ú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õ  rU  r  )	rf   r‹  r  r…   r  rÈ   r  ró  rí  )ræ  r»  r  Úcond1Úx1Úy1r…   Úcond_rç  rè  ry   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-   )rf   r‹  rL  )ræ  s    r'   Úwhere_cond_none_noneÚ)ov_np_where.<locals>.where_cond_none_none9  s   € Ü�zŠz˜)Ó$×,Ñ,Ó.Ð.r&   )r
   r   )ræ  r´   r  s      r'   Úov_np_wherer  3  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 Noner}  z0The argument "{}" must be array-like if providedc                 ó¤   • [        U [        R                  5      =(       d0    [        U [        R                  5      =(       a    U R                  S:H  $ rì   )rY   r   r�  rÂ   r‚   )Úargs    r'   Úcheck_0_dimÚ$ov_np_where_x_y.<locals>.check_0_dim`  s7   € Ü˜c¤5§<¡<Ó0÷ @Ü˜3¤§¡Ó,×>°·±¸Q±ð@r&   r�  c                 óª   • [         R                  " [         R                  " U 5      [         R                  " U5      [         R                  " U5      5      $ r-   )rf   r2  r‹  )ræ  r»  r  s      r'   r^  Úov_np_where_x_y.<locals>.implo  s.   € Ü—8’8œBŸJšJ yÓ1´2·:²:¸a³=Ä"Ç*Â*ÈQÃ-ÓPÐPr&   )r
   r   r   Úzipr#  rY   r   rÂ   rÒ  rf   rÄ  rg  rê  rÎ  rý  )ræ  r»  r  r´   r  r$  Úcond_arrrÁ  r  rÅ  rI  rš   r  r.   Úspecial_0_caserÎ  r^  s                    r'   Úov_np_where_x_yr  >  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í   rr  s    r'   Únp_real_implÚnp_real.<locals>.np_real_implv  ó   € Ø�x‰xˆr&   r%   )rñ   r  s     r'   Únp_realr  t  ó   € òð Ðr&   c                 ó   • S nU$ )Nc                 ó   • U R                   $ r-   )r  rr  s    r'   Únp_imag_implÚnp_imag.<locals>.np_imag_impl~  r  r&   r%   )rñ   r  s     r'   Únp_imagr  |  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  )rf   rg   )ri   rÔ  r»  s      r'   Únp_contains_implÚ%np_contains.<locals>.np_contains_implŒ  s!   € Ü—’˜3–ˆAØ�xÙñ  ð r&   rô   )ri   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ì   )rf   rW  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  rf   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)rf   rW  r‹  rÉ   ÚonesrÔ   )ri   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*   )rf   rW  r‹  rÉ   Ú
IndexErrorÚconcatenate)ri   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&   )
rY   r   rÂ   r  r   Ú	SliceTypeÚnp_delete_handler_isslicerš   r@  Únp_delete_handler_isarray)ri   r„  r.  r4  r-  s       @r'   Ú	np_deleter9  ª  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-negativerU  r*   )
rù  rƒ   r…   r$  rf   rÈ   rš   rÉ   rX  r4   )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�  )rY   r   rÂ   r‚   )r.   r§  rA  s      r'   Únp_diff_implrC  Ù  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%   )Úa1r<  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  )rf   r‹  r…   rg  )rF  r<  r.   r…  s       r'   r^  rG    s?   € Ü—
’
˜2“ˆAÜ—
’
˜2“ˆAØ�w‰w˜!Ÿ'™'Ó!Ü—v’v˜a™f“~Ð%Ør&   )r
   r   r   rœ  r�  rY   )rF  r<  Úacceptedr^  s       r'   Únp_array_equalrJ     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*   rU  )rf   r‹  r  rW  r2  Úsort)Úar1Úar2Úassume_uniqueÚauxr5  Ú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   rY   r   rœ  r›  )rN  rO  rP  rS  s       r'   Újit_np_intersect1drV    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)rY   r   rÂ   r‚   r   r#  r  )Ú	func_nameÚseqs     r'   Úvalidate_1d_array_likerZ  4  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)rH   rƒ   ©r.   rª  r]  s      r'   Úvalidate_inputsÚ$np_bincount.<locals>.validate_inputsM  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_itemS  s   € à‹H˜™Ñ$ŒHr&   c                 ó   • g r-   r%   r_  s      r'   r`  ra  Z  s   € àr&   c                 ó   • X==   S-  ss'   g r�  r%   rc  s       r'   rd  re  ^  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 negativerU  r*   z/bincount(): first argument must be non-negative)rƒ   rH   r4   r$  rf   r  )r.   rª  r]  r§  rƒ  r/   Ú
out_lengthrÍ   rd  r�  r`  s           €€€r'   Úbincount_implÚ"np_bincount.<locals>.bincount_implb  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ì   )rZ  rY   rš   r   r@  r   r  rf   ræ   r   r6   )r.   rª  r]  rj  rd  r�  r`  s       @@@r'   Únp_bincountrl  >  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  )rf   r!  rí   r  r÷  s     r'   Úless_than_or_equal_complexrn  |  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[        [        R
                  [        R                  45      (       a  [        R                  " U5      (       a  gX:*  $ rW  )	rY   r°  rn  rš  r   Úfloat32ræ   rf   r!  r÷  s     r'   Ú_less_than_or_equalrq  ž  sY   € ä�!”W×Ñ¤¨A¬w×!7Ñ!7Ü)¨!Ó/Ð/ä	�AœœuŸ}™}¬e¯m©mÐ<×	=Ñ	=Ü�8Š8�A�;‰;Øà‰6€Mr&   c                 óò   • [        U [        5      (       d  [        U[        5      (       a  [        X5      $ [        U[        [        R
                  [        R                  45      (       a  [        X5      $ X:  $ r-   )rY   r°  Úless_than_complexrš  r   rp  ræ   Úless_than_floatr÷  s     r'   Ú
_less_thanru  ª  sT   € ä�!”W×Ñ¤¨A¬w×!7Ñ!7Ü  Ó&Ð&ä	�AœœuŸ}™}¬e¯m©mÐ<×	=Ñ	=Ü˜qÓ$Ð$à‰5€Lr&   c                 óz   • [         R                  " U 5      (       a  g[         R                  " U5      (       a  gX:  $ rò  )rf   r  r÷  s     r'   Ú_less_then_datetime64rw  µ  s+   € ô 
‡x‚x�‡{�{Øä	‡x‚x�‡{�{Øà‰5€Lr&   c                 ó"   • [        X5      (       + $ r-   )rw  r÷  s     r'   Ú_less_then_or_equal_datetime64ry  Â  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_valr3  rL  r‘  Úmid_valÚcmps         €r'   r^  Ú_searchsorted.<locals>.implË  sN   ø€ ØÓà¨GÑ"3¸Ñ!9Ñ:ˆGØ‘jˆGÙ�7×$Ñ$Ø! A™+‘à!�ð Õð ÐÐr&   r%   )r~  r^  s   ` r'   Ú_searchsortedr€  Ç  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OO[        R                  " U [        R                  5      (       a  [        S:  a  [        U5      nUnO[        U5      nUn[        U5      [        U5      4$ )Nr«  r�  )r*   é   )ÚVALID_SEARCHSORTED_SIDESr±  rw  ry  ru  rq  r€  rf   rÔ  Úinexactr   r   )Únp_dtypeÚsidero  ÚleÚ_implÚ_cmps         r'   Ú make_searchsorted_implementationrŒ  Ü  s™   € ØÔ+Ó+Ð+Ð+à‡}�}˜Óä"ˆÜ+‰äˆÜ ˆàˆvƒ~Ü˜bÓ!ˆØ‰ä�=Š=˜¤2§:¡:×.Ñ.´=À7Ó3Jô " "Ó%ˆEØ‰Dä! "Ó%ˆEØˆDä˜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$ )Nr[   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*   )	rf   rÈ   rÉ   r6   rË   rH   r4   rX  r…   )r.   rk   rˆ  rÍ   Úlast_key_valr3  rL  r/   r|  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ˆ  )rf   r‹  Úsearchsorted)r.   rk   rˆ  s      r'   r^  r�  "  s    € Ü—
’
˜1“ˆAÜ—?’? 1¨dÑ3Ð3r&   c                 ó2   >• T" XS[        U 5      5      u  p4U$ rì   )rH   )r.   rk   rˆ  Úrr@   rŠ  s        €r'   r^  r�  &  s   ø€ Ù˜˜q¤# a£&Ó)‰DˆAØˆHr&   ©r�  )r¡   r…  r   rY   r   rÂ   r  r	   rš   rf   rÄ  rŒ  )	r.   rk   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*   rU  )rH   r4   )ÚbinsÚ
last_valuer/   Ú
next_values       r'   Ú_monotonicityÚ"np_digitize.<locals>._monotonicity2  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 decreasingrU  r�  r’  r‚  )rƒ   rH   rf   r“  )r»  rœ  r‚  ÚmonorŸ  s       €r'   Údigitize_implÚ"np_digitize.<locals>.digitize_implW  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�  )rY   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-   )rf   rg   rh   Ú	histogram)r.   rœ  r4   Úbin_minÚbin_maxr¹   rk   r·  s          €r'   Úhistogram_implÚ$np_histogram.<locals>.histogram_impl}  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ƒ   rf   r  r6   rg   rh   r¹  rº  r»  Úlinspace)r.   rœ  r4   rª  r«  ÚhistÚ	bin_ratior¹   rk   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   )rH   Ú_rangerƒ   rf   r  r6   rg   rh   )r.   rœ  r4   Únbinsr/   rª  r«  r°  r¹   rk   Ú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)rY   r»  r   r@  r  rš  )r.   rœ  r4   r¬  r·  s       @r'   Únp_histogramr¹  t  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Ç  Úbitsry  )r	  r$  rÎ  rt  c                  ó  ^^• [         S:¼  a  g S m[        R                  " SS9 mSn [        R                  " SU [        SS9  [
        R                  mS S S 5        [        T5      UU4S j5       ng ! , (       d  f       N$= f)	N)r*   é   T)Úrecordz(`np.MachAr` is deprecated \(NumPy 1.22\)Úalwaysz.*numba.*arraymath)ÚmessageÚcategoryr˜  c            	      ó(  >^• T" 5       n [        [         Vs/ s H  n[        X5      PM     sn5      mT(       aM  TS   n[        R                  " UR
                  R                  S   [        UR                  UR                  5        U4S jnU$ s  snf )Nr   c                  ó   >• [        T 6 $ r-   )rË  )Ú_mach_ar_datas   €r'   r^  Ú1_gen_np_machar.<locals>.MachAr_impl.<locals>.implù  s   ø€ Ü˜=Ð)Ð)r&   )
r`  Ú_mach_ar_supportedr¡   ÚwarningsÚwarn_explicitrÓ  r<   r    ÚfilenameÚlineno)rÂ  r»  Úwmsgr^  r×  Ú	np_MachArÚws       @€€r'   ÚMachAr_implÚ#_gen_np_machar.<locals>.MachAr_implí  sv   ù€ á‹KˆÜÕ6HÓIÒ6H°œw qž}Ñ6HÑIÓJˆæØ�Q‘4ˆDÜ×"Ò" 4§<¡<×#4Ñ#4°QÑ#7Ü#:Ø#'§=¡=Ø#'§;¡;ô0õ
	*àˆùò Js   —B)r   rÚ  Úcatch_warningsÚfilterwarningsÚDeprecationWarningrf   rË  r   )r´   rá  rß  rà  s     @@r'   Ú_gen_np_macharræ  à  sr   ù€ ä˜ÓØà€AÜ	×	 Ò	 ¨Ò	-°Ø9ˆÜ×Ò °#Ü);Ø'<ò	>ô —I‘Iˆ	÷ 
.ô ˆiÓõó ñ÷ 
.Õ	-ús   ¤.A0Á0
A>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  Ú	containerrB   s    €€r'   r^  Ú!generate_xinfo_body.<locals>.impl  s   ø€ á˜$ÐÐr&   )r¡   r	   rƒ   r`  r   )
r  Únp_funcré  ÚattrÚnbtyr‡  rÂ  r»  r^  rB   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î  rf   ry  Ú_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î  rf   rt  Ú_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ì   ©r4   rH   )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-   )rf   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	   rf   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 )rY   r   rÂ   r‚   r   )r.   rX  s     r'   Ú
_assert_1dr  A  s9   € Ü�!”U—[‘[×!Ñ!Ø�v‰v˜‹{ÜÐAÀIÑMÓNÐNð ð "r&   c                 ó   • g r-   r%   )Úap1Úap2ÚmodeÚ	directions       r'   Ú_np_correlate_corer  G  rf  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'rU  zInvalid direction)rH   rƒ   rf   r  r4   )r  r  r  r  Ún1Ún2rÕ  r§  Ún_leftÚn_rightr²  rÎ   Úincr/   rž  rÖ  Ú	innerprods                  €€r'   r^  Ú%_np_correlate_core_impl.<locals>.implR  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š   rf   rÄ  r  )	r  r  r  r  r	  r
  r^  rÖ  r  s	          @@r'   Ú_np_correlate_core_implr  K  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-   )rf   rî   rº  s    r'   Úop_conjÚ_np_correlate.<locals>.op_conjš  s   € ä�wŠw�q‹zÐr&   c                 ó   • U $ r-   r%   rº  s    r'   Úop_nopÚ_np_correlate.<locals>.op_nopž  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 emptyrU  r*   ©rH   rƒ   r  )r.   rk   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.   rk   r  r!  r$  r^  r+  r,  s         @@r'   Ú_np_correlater/  •  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.   rk   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.   rk   r  r^  s       r'   Únp_convolver4  Â  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  r7  s     r'   r^  r8  å  s   € Ø—x‘x “Ð&r&   c                 ó.   • [         R                  " U 5      $ r-   rz  r7  s     r'   r^  r8  ì  s   € Ü—x’x “{Ð"r&   c                 ó.   • [         R                  " X5      $ r-   rz  r7  s     r'   r^  r8  ï  s   € Ü—x’x Ó)Ð)r&   c                 ó2   >• [         R                  " U T5      $ r-   rz  )r.   rš   r!  s     €r'   r^  r8  õ  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  )rH   rf   rÈ   rÊ   )r.   rš   r…  r²  r/   rk   Útarget_dtypes         €r'   r^  r8  ÿ  s8   ø€ Ü�A“ˆAÜ—(’(˜1 LÑ1ˆCÜ! !ž‘�Ø�A“ñ %àˆJr&   c                 ó$   >• TR                  5       $ r-   )rù  )r.   rš   ri   s     €r'   r^  r8    s   ø€ Ø—8‘8“:Ðr&   r-   )r
   rY   r   rÂ   r   rš   r  r\   r�  rœ  r	   Ú
containersÚListTyper   ÚStringLiteralrf   r‹  r[   )r.   rš   r^  Údt_convri   r>  r!  s       @@@r'   Ú
np_asarrayrD  Ø  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&   )rY   r   ÚTyper	   rf   rÔ  r†  ræ   )r.   rš   r^  r£  s      @r'   Únp_asfarrayrI    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)
rf   r‹  r­  rÉ   rƒ   r¡  r	  r4   rË   r{  )ræ  ri   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æ  ri   rM  s      r'   Ú
np_extractrO     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*   rU  )rH   rƒ   rf   r+  r…   rš   r4   r2  )Ú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 1rF  )rY   r   ÚListrI   r   r»  r�  rœ  rÂ   rš   r‚   )rR  rS  rT  rV  s       r'   Ú	np_selectrY  :  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-   )rf   rW  r‹  r  r2  )rN  rO  r.   r…  s       r'   Ú
union_implÚnp_union1d.<locals>.union_implu  sH   € Ü�HŠH”R—Z’Z “_Ó%ˆÜ�HŠH”R—Z’Z “_Ó%ˆÜ�yŠyœŸš¨¨Ó/Ó0Ð0r&   )r
   r   rš   r$  )rN  rO  r]  s      r'   Ú
np_union1dr_  m  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)rf   r‹  rg   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-   )
rY   r   rÂ   r  r\   r   r   rš   r	   r   )r.   rš   r´   r^  rÖ  s       @r'   Únp_asarray_chkfiniterc  }  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 )NrU  z*Value for argument "axis" is not supportedr�   r   T)rƒ   rf   r‹  r  r…   rX  rÉ   Údivmodr4   r‰  Úmodr2  r{  rr  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©NrU  g-DTû!@)rY   r»  r   r@  r   r
   r   r   r   rš  r�  rQ   rf   rú  r	   rš   ræ   rÔ  Úinteger)	rh  ri  r^   rj  r´   r^  rš   ry  rz  s	         @@@r'   Únumpy_unwrapr~  –  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      $ )Nro  r�   r   r*   )rf   r   r2  Ú
less_equal©r   r§  s     r'   Únp_bartlett_implr‚  å  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      -  -   $ )Nro  r�   gáz®GáÚ?rú   r*   g{®Gáz´?r®  ©rf   r   Úcosr¸  r�  s     r'   Únp_blackman_implr†  ë  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Ý?r„  r�  s     r'   Únp_hamming_implrˆ  ò  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ú   r„  r�  s     r'   Únp_hanning_implrŠ  ø  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  )rf   r{  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&   )rY   r   r@  r   )r   r�  r�  s     €r'   Úwindow_overloadÚ)window_generator.<locals>.window_overloadÿ  s-   ø€ Ü˜!œUŸ]™]×+Ñ+ÜÐ4Ó5Ð5õ	ð Ðr&   r%   )r�  r’  s   ` r'   Úwindow_generatorr”  þ  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š  S  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      @@)rf   Úexprš  Ú_i0AÚ_i0BrO  r}  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®  )rf   r÷  ræ   rŸ  r4   rH   rO  )r§  ÚalphaÚbetar  Útr/   s         r'   Ú_i0nr¤  k  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$ )Nr�  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®  )rf   r{  ræ   r+  r   r¤  )r   r¢  r§  r¡  s       r'   Únp_kaiser_implÚ!np_kaiser.<locals>.np_kaiser_impl}  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&   )rY   r   r@  r   r   )r   r¢  r§  s      r'   Ú	np_kaiserr©  u  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*   rU  r€   ©.r�   r   )r…   rf   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®  )rf   r²  )r.   r…  rÍ   r±  Úa0rF  r<  r—  r˜  r™  Úcp0Úcp1Úcp2s                r'   Ú_cross_operationr·  ‹  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¹  £  rf  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€   )rf   rÈ   r·  )r.   r…  Úcprš   s      €r'   r^  Ú_cross_impl.<locals>.impl«  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¼  )rf   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&   )rf   rÄ  r	   rš   r‚   )r.   r…  r^  rš   s      @r'   Ú_cross_implrÀ  §  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)NrU  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`.)rf   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&   )rf   r²  r‹  )r.   r…  r±  r³  rF  r—  r˜  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Î  å  rf  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      $ )NrU  r�   zRIncompatible dimensions for 2D cross product
(dimension must be 2 for both inputs))rf   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…  rU  )rf   r‹  rÃ  rH   )Ú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)rY   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  TrU  )	rf   r‹  r  rW  r2  rM  rÈ   r…   rÔ   )rN  rO  rP  r.   r…  rQ  Ú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�  rU  )rN  rO  rP  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©rP  Úinvert)rf   r‹  rW  r  Úin1d)rN  rO  rP  s      r'   Únp_setdiff1d_implÚ+jit_np_setdiff1d.<locals>.np_setdiff1d_implG  sg   € Ü�jŠj˜‹oˆÜ�jŠj˜‹oˆÞØ—)‘)“+ˆCØ—)‘)“+‰Cä—)’)˜C“.ˆCÜ—)’)˜C“.ˆCØ”2—7’7˜3°4ÀÑEÑFÐFr&   r�  rU  )rN  rO  rP  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*   rU  Ú	mergesort)Úkind)rf   r‹  rW  rH   r+  rÔ   r  ÚargsortrÈ   r…   rÄ   r6   r  r2  rÉ   )rN  rO  rP  rê  r5  r.   Úorder1rQ  Ú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&   ©FFrU  )rN  rO  rP  rê  rú  s        r'   Újit_np_in1drý  U  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é  )rf   r‹  rë  rX  r…   )rß  Útest_elementsrP  rê  s       r'   Únp_isin_implÚ!jit_np_isin.<locals>.np_isin_impl¤  s6   € ä—*’*˜WÓ%ˆÜ�wŠw�w¸]Ø$ñ&ß&-¡g¨g¯m©mÓ&<ð	=r&   rü  rU  )rß  r   rP  rê  r  s        r'   Újit_np_isinr  š  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ì   rF  rP  rµ  r  rE  rW  r�  r–  r¸  r.  r3  r|  rÜ  rü  (‰  Ú__doc__r¹  Úcollectionsr   rj  rÚ  Úllvmlite.irr™  Únumpyrf   Ú
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   r    Únumba.cpython.unsafe.tupler!   r(   r  rM   rb   r°  rÂ   rz   r}   r˜   r6   Ú	DTypeSpecÚIntegerLiteralr¬   r°   rµ   r»   r¼   rÃ   rÄ   rØ   rÙ   rÞ   rß   rè   ré   rõ   rö   rþ   r  r  r  r	  Úaminr"  r$  Úamaxr-  r4  r9  r>  r?  rH  rM  rP  rR  rG  ra  rf  rg  rm  rz  r{  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%  r1  r.  r7  r4  Únanstdr:  ÚnansumrA  ÚnanprodrG  Ú
nancumprodrP  Ú	nancumsumrW  r[  rb  re  rh  rl  rp  rs  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"  r0  r'  r*  r6  ÚtrilrG  rW  rR  Útril_indices_fromr]  ra  Útriuri  rq  rn  Útriu_indices_fromrt  rw  r€  r†  Úediff1dr˜  rš  r¡  r¤  r«  Útrapzr¶  Ú	trapezoidr¹  r»  ÚvanderrÆ  ÚrollrÏ  rÓ  rÚ  rï  rñ  Úinterprþ  r   r  r
  r  r  rG  rÒ  r%  r'  rF  r,  r6  r:  r<  rM  rJ  ÚcorrcoefrY  Úargwhererb  Úflatnonzerorg  rk  rm  rq  rw  r{  r‘  rY  r…  Úfill_diagonalr’  r•  r¢  r¨  Úaroundr²  rµ  Úround_r¼  r½  rÆ  rÉ  rL  rã  rê  rí  ró  rý  r2  r  r  rí   r  r  r  Úcontainsr  Úcount_nonzeror&  r7  r8  Údeleter9  r‰  rC  Úarray_equalrJ  Úintersect1drV  rZ  r\  rl  rt  rs  rn  rq  ru  rw  ry  r€  rå   r…  rŒ  r“  Údigitizer¦  r4   r´  r©  r¹  rÙ  rË  rò  ry  rø  rt  ræ  rî  ró  rù  r  r  r  r  Ú	correlater/  Úconvolver4  r‹  rD  Úasfarrayræ   rI  ÚextractrO  ÚselectrY  Úunion1dr_  Úasarray_chkfiniterc  Úunwrapr~  r‚  r†  rˆ  rŠ  r”  ÚbartlettÚblackmanÚhammingÚhanningr{  r�  rž  rš  rŸ  r¤  Úkaiserr©  r·  r¹  rÀ  ÚcrossrÈ  rÌ  rÎ  rÒ  Ú
trim_zerosrà  Úsetxor1dræ  Ú	setdiff1drî  rë  rý  Úisinr  r%   r&   r'   Ú<module>rO     sÜ  ðñó
 Ý "Û Û ã Û ç %ß LÑ L÷M÷ Mó M÷Gó G÷/ó /å 'å *÷H÷ Hõ 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Ó$ñó %ó ðñ 
ˆ"�*‰*Óôó ðò>
ñ 
ˆ"�,‰,Óñó ðñ 
ˆ"�)‰)Óñó ðñ 
ˆ"�/‰/Óñó ðñ& 
ˆ"�,‰,Óñó ðñ 
ˆ"�+‰+Óñó ðò
ñ 
ˆ"�+‰+Óô&ó ð&ñ
 
ˆ"�+‰+Óô&ó ð&ð
 ñó ðð ñó ðð ñ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 
ˆ"�,Š,Óñó ðñ: 
ˆ"�/Š/Óñ ó ð ð@ ñ	ó ð	ñ 
ˆ"�&Š&Óô
ó ð
ð ñó ðð  ô>ó ð>ñ
 
ˆ"�'Š'Óô"ó ð"ñ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Ñ ó;ñ8 
ˆ"�/Š/Óô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&   