+
    –°³jâç  ã            
      óÀ
  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIt^RI	H
t
Ht ]'       d   ^ RIHt ^RIHtHtHtHtHtHtHt ERR	 R
 lltERR R lltR R ltR R ltR R ltR tERR ltERR R lltERR R lltRRRR/R R llt]t RRRR/R R llt!RRRR/R  R! llt"RRRR/R" R# llt#ER RRRR/R$ R% lllt$ER!R& R' llt%ER"R( lt&ER"R) lt'R* t(ER#R+ R, llt)ER#R- R. llt*R/ R0 lt+R1 R2 lt,R3 R4 lt-R5 R6 lt.ER$R7 R8 llt/ER%R: R; llt0ER&R< R= llt1ER'R> R? llt2ER(R@R/RA RB lllt3ER)R@R/RC RD lllt4ER*RE RF llt5ER)R@R/RG RH lllt6ER*RI RJ llt7ER)R@R/RK RL lllt8ER*RM RN llt9ER)R@R/RO RP lllt:ER*RQ RR llt;ER+RS lt<ER,RR/RT RU lllt=ER-RR/RV RW lllt>RX t?ER.RY RZ llt@ER/R[ R\ lltAER0R] R^ lltBER1R_ R` lltCRa Rb ltDRc Rd ltEER!Re Rf lltFRg Rh ltGER!Ri Rj lltHRk Rl ltIRm Rn ltJER2Ro Rp lltKER"Rq Rr lltLRs tMRtR/Ru Rv lltNRwR9RxRRyRz/R{ R| lltO]PR3R} R~ lltQER#R R€ lltRER#R� R‚ lltSER Rƒ ltTER R„ ltUER#R… R† lltVER#R‡ Rˆ lltWER3R@R/R‰ RŠ llltXER4R‹ RŒ lltYER4R� RŽ lltZER"R� lt[ER"R� R‘ llt\R’ R“ lt]ER5R” R• llt^ER6R– R— llt_R˜ R™ lt`ER7Rš R› lltaRœ R� ltbER8Rž RŸ lltcER9R R9/R¡ R¢ llltdR£ R¤ lteR¥ R¦ ltfR§ R¨ ltgER:R© Rª llthER!R« R¬ lltiR­ R® ltjER!R¯ R° lltkER;R± R² lltlER<R³ R´ lltmER=R@R/Rµ R¶ llltnER!R@R/R· R¸ llltoER#R¹ Rº lltpER#R» R¼ lltqER>R½ ltrR¾ R¿ ltsER"RÀ RÁ llttRÂ RÃ ltuER>RÄ RÅ lltvER!RÆ RÇ lltwRÈ RÉ ltxER!RÊ RË lltyER?RÌ RÍ lltzRÎRRRRÏRRRÐRÑR/RÒ lt{RÓ t|ER@RÔ RÕ llt}ER@RÖ R× llt~ERARØ RÙ lltRÚ RÛ lt€RÜ RÝ lt�ER#RÞ Rß llt‚ER!Rà Rá lltƒER!Râ Rã llt„ERBRä Rå llt…ER!Ræ Rç llt†ERBRè Ré llt‡ERCRê Rë lltˆER"Rì Rí llt‰Rî Rï ltŠRðRRñ^/Rò Ró llt‹ER Rô Rõ lltŒ]Œt�]ŒtŽERDRö R÷ llt�Rø Rù lt�Rú Rû lt‘Rü Rý lt’Rþ Rÿ lt“ER  ER lt”ER ER lt•ER!ER ER llt–ER!ER ER llt—ER ER	 lt˜ER
 t™ER tšER t›ER tœER t�ER tž]EP>                  ]EP@                  ]EPB                  .R]EPD                  ]EPF                  ..t¤]EP>                  ^ ]EP@                  ^]EPB                  ^]EPD                  ^]EPF                  ^/t¥ER ER lt¦EREER ER llt§EREER ER llt¨EREER ER llt©ER ER ltªERFER ER llt«R# (G  z�A thin pytorch / numpy compat layer.

Things imported from here have numpy-compatible signatures but operate on
pytorch tensors.
)ÚannotationsN)ÚTYPE_CHECKING)Ú_dtypes_implÚ_util)ÚSequence)Ú	ArrayLikeÚArrayLikeOrScalarÚCastingModesÚ	DTypeLikeÚNDArrayÚNotImplementedTypeÚOutArrayÚKFc               ó$   € V ^8„  d   QhRRRRRR/# )é   Úar   Úorderr   Úsubok© )Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_numpy/_funcs_impl.pyÚ__annotate__r   %   s$   € ÷ ñ ØðØ+ðØ:Lñó    c                ó"   € V P                  4       # ©N)Úclone)r   r   r   s   &&&r   Úcopyr   %   s   € ð �7‰7‹9Ðr   Ú	same_kindc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Údstr   Úsrcr   ÚcastingúCastingModes | NoneÚwherer   r   )r   s   "r   r   r   +   s0   € ÷ ñ Ø	ðà	ðð !ðð ñ	r   c                ót   € \         P                  ! V3V P                  VR 7      w  pV P                  V4       R# )©r!   N)r   Útypecast_tensorsÚdtypeÚcopy_)r   r    r!   r#   s   &&&&r   Úcopytor)   +   s+   € ô ×#Ò# S F¨C¯I©I¸wÔG�F€SØ‡I�Iˆc†Nr   c               ó   € V ^8„  d   QhRR/# ©r   Úarysr   r   )r   s   "r   r   r   5   ó   € ÷ ñ �iñ r   c                 óp   € \         P                  ! V !  p\        V\        4      '       d   \	        V4      # V# r   )ÚtorchÚ
atleast_1dÚ
isinstanceÚtupleÚlist©r,   Úress   * r   r0   r0   5   ó.   € Ü
×
Ò
˜DÑ
!€CÜ�#”u×ÒÜ�C‹yÐàˆ
r   c               ó   € V ^8„  d   QhRR/# r+   r   )r   s   "r   r   r   =   r-   r   c                 óp   € \         P                  ! V !  p\        V\        4      '       d   \	        V4      # V# r   )r/   Ú
atleast_2dr1   r2   r3   r4   s   * r   r9   r9   =   r6   r   c               ó   € V ^8„  d   QhRR/# r+   r   )r   s   "r   r   r   E   r-   r   c                 óp   € \         P                  ! V !  p\        V\        4      '       d   \	        V4      # V# r   )r/   Ú
atleast_3dr1   r2   r3   r4   s   * r   r<   r<   E   r6   r   c                óV   € V R8X  d   \        R 4      h Ve   Ve   \        R4      hR# R# )z&need at least one array to concatenateNzQconcatenate() only takes `out` or `dtype` as an argument, but both were provided.r   )Ú
ValueErrorÚ	TypeError)Útupr'   Úouts   &&&r   Ú_concat_checkrB   M   s;   € Ø
ˆb„yÜÐAÓBÐBà,Ø
‚˜5Ò,äð0ó
ð 	
ñ -�r   c                ó¦   € Vf   Ve   Vf   VP                   P                  MTpM\        P                  ! V !  p\        P
                  ! WV4      p V # )z%Figure out dtypes, cast if necessary.)r'   Útorch_dtyper   Úresult_type_implr   r&   )ÚtensorsrA   r'   r!   Ú	out_dtypes   &&&& r   Ú_concat_cast_helperrH   Z   sL   € ð ‚˜%Ò+à-2ª]�C—I‘I×)Ò)À‰	ä ×1Ò1°7Ñ;ˆ	ô ×$Ò$ W¸ÓA€Gà€Nr   c               ó   € V ^8„  d   QhRR/# )r   r!   r"   r   )r   s   "r   r   r   i   s   € ÷ $ñ $Ø4Gñ$r   c                óv   € \         P                  ! V R V/ w  r\        WW44      p \        P                  ! W4      # ©Úaxis)r   Úaxis_none_flattenrH   r/   Úcat)rF   rL   rA   r'   r!   s   &&&&&r   Ú_concatenaterO   i   s6   € ô ×+Ò+¨WÐ@¸4Ñ@�M€GÜ! '°Ó?€GÜ�9Š9�WÓ#Ð#r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úar_tupleúSequence[ArrayLike]rA   úOutArray | Noner'   úDTypeLike | Noner!   r"   r   )r   s   "r   r   r   r   s2   € ÷ 	ñ 	Ø!ð	ð 
ð	ð ð		ð
 !ñ	r   c                ó<   € \        WVR 7       \        WW#VR7      pV# )©rA   )rL   rA   r'   r!   )rB   rO   )rQ   rL   rA   r'   r!   Úresults   &&&&& r   ÚconcatenaterX   r   s!   € ô �( sÕ+Ü˜(°3ÈWÔU€FØ€Mr   r'   r!   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r@   rR   r'   rT   r!   r"   r   )r   s   "r   r   r   ~   ó(   € ÷ !ñ !Ø	ð!ð ð!ð !ñ	!r   c               ób   € \        WR R7       \        WVR7      p\        P                  ! V4      # ©NrV   ©r'   r!   )rB   rH   r/   Úvstack©r@   r'   r!   rF   s   &$$ r   r_   r_   ~   ó)   € ô �# $Õ'Ü! #¸GÔD€GÜ�<Š<˜Ó Ð r   c               ó$   € V ^8„  d   QhRRRRRR/# rZ   r   )r   s   "r   r   r   Œ   r[   r   c               ób   € \        WR R7       \        WVR7      p\        P                  ! V4      # r]   )rB   rH   r/   Úhstackr`   s   &$$ r   rd   rd   Œ   ra   r   c               ó$   € V ^8„  d   QhRRRRRR/# rZ   r   )r   s   "r   r   r   —   s(   € ÷ 
!ñ 
!Ø	ð
!ð ð
!ð !ñ	
!r   c               ób   € \        WR R7       \        WVR7      p\        P                  ! V4      # r]   )rB   rH   r/   Údstackr`   s   &$$ r   rg   rg   —   s)   € ô �# $Õ'Ü! #¸GÔD€GÜ�<Š<˜Ó Ð r   c               ó$   € V ^8„  d   QhRRRRRR/# rZ   r   )r   s   "r   r   r   ¤   s(   € ÷ 'ñ 'Ø	ð'ð ð'ð !ñ	'r   c               ób   € \        WR R7       \        WVR7      p\        P                  ! V4      # r]   )rB   rH   r/   Úcolumn_stackr`   s   &$$ r   rj   rj   ¤   s+   € ô �# $Õ'Ü! #¸GÔD€GÜ×Ò˜gÓ&Ð&r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   ÚarraysrR   rA   rS   r'   rT   r!   r"   r   )r   s   "r   r   r   ²   s2   € ÷ +ñ +Øð+ð 
ð+ð
 ð+ð !ñ+r   c               óÄ   € \        WVR 7       \        WVR7      pV^ ,          P                  ^,           p\        P                  ! W4      p\
        P                  ! WQR7      # )rV   r^   rK   )rB   rH   Úndimr   Únormalize_axis_indexr/   Ústack)rl   rL   rA   r'   r!   rF   Úresult_ndims   &&&$$  r   rp   rp   ²   sK   € ô �& SÕ)ä! &¸wÔG€GØ˜!•*—/‘/ AÕ%€KÜ×%Ò% dÓ8€DÜ�;Š;�wÔ*Ð*r   c               ó    € V ^8„  d   QhRRRR/# )r   Úarrr   Úvaluesr   )r   s   "r   r   r   Â   s   € ÷ 2ñ 2�	ð 2 9ñ 2r   c                ó®   € VfE   V P                   ^8w  d   V P                  4       p VP                  4       pV P                   ^,
          p\        W3VR7      # )NrK   )rn   ÚflattenrO   )rs   rt   rL   s   &&&r   Úappendrw   Â   sE   € Ø‚|Ø�8‰8�qŒ=Ø—+‘+“-ˆCØ—‘Ó!ˆØ�x‰x˜!�|ˆÜ˜˜¨DÔ1Ð1r   c                óØ   € \        V\        4      '       d   \        WW#4      # \        V\        \        34      '       d   \        V \        V4      V4      # \        R \        V4       24      h)zsplit_helper: )r1   ÚintÚ_split_helper_intr3   r2   Ú_split_helper_listr?   Útype)ÚtensorÚindices_or_sectionsrL   Ústricts   &&&&r   Ú_split_helperr€   Î   s]   € ÜÐ%¤s×+Ò+Ü  ¸dÓKÐKÜ	Ð'¬$´¨×	7Ò	7ä! &¬$Ð/BÓ*CÀTÓJÐJä˜.¬Ð.AÓ)BÐ(CÐDÓEÐEr   c                óÖ  € \        V\        4      '       g   \        R 4      h\        P                  ! W P
                  4      pV P                  V,          TrTV^ 8:  d   \        hWE,          ^ 8X  d   YTV,          rvV.V,          pM3V'       d   \        R4      hWE,          WE,          ^,           rvV.V,          pW‡^,
          .WV,
          ,          ,          p\        P                  ! WV4      # )zsplit: indices_or_sectionsz0array split does not result in an equal division)
r1   ry   ÚNotImplementedErrorr   ro   rn   Úshaper>   r/   Úsplit)	r}   r~   rL   r   ÚlÚnÚnumÚszÚlsts	   &&&&     r   rz   rz   Ø   s¼   € ÜÐ)¬3×/Ò/Ü!Ð">Ó?Ð?ä×%Ò% d¯K©KÓ8€Dð �<‰<˜ÕÐ2€qàˆA„vÜÐà…u�„zØ˜!•VˆRØˆd�S�j‰çÜÐOÓPÐPà•%˜� !�ˆRØˆd�S�jˆà��Fˆ8�q•wÕÕ€Cä�;Š;�v DÓ)Ð)r   c                óö  € \        V\        4      '       g   \        R 4      hV Uu. uF  q3V P                  V,          8:  g   K  VNK   	  pp\	        V4      \	        V4      ,
          pVP                  V P                  V,          4       V^ ,          .\        VR,          VRR 4       UUu. uF  w  rgWg,
          NK  	  upp,           pV^ .V,          ,          p\        P                  ! WV4      # u upi u uppi )z split: indices_or_sections: listºé   NNNéÿÿÿÿ)	r1   r3   r‚   rƒ   Úlenrw   Úzipr/   r„   )r}   r~   rL   Úxr‰   Ú	num_extrar   Úbs   &&&     r   r{   r{   ó   sÙ   € ÜÐ)¬4×0Ò0Ü!Ð"DÓEÐEñ *Ó
EÑ)�°&·,±,¸tÕ2DÑ-D�1ˆ1Ñ)€CÐ
EÜÐ'Ó(¬3¨s«8Õ3€Ià‡J�Jˆv�|‰|˜DÕ!Ô"àˆA�ðä˜s 2�w¨¨C¨R¨Ô1Ô2Ñ1‘4�1ˆ�ˆÑ1Ò2õ3€Cð ˆAˆ3��?Õ€Cä�;Š;�v DÓ)Ð)ùò Fùó 	3s   ¦C0ÁC0Â+C5c               ó   € V ^8„  d   QhRR/# ©r   Úaryr   r   )r   s   "r   r   r     s   € ÷ 9ñ 9�Yñ 9r   c                ó   € \        WV4      # r   ©r€   ©r•   r~   rL   s   &&&r   Úarray_splitr™     s   € Ü˜°4Ó8Ð8r   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   r     s   € ÷ Fñ Fˆyñ Fr   c                ó   € \        WVR R7      # )T©r   r—   r˜   s   &&&r   r„   r„     s   € Ü˜°4ÀÔEÐEr   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   r     s   € ÷ Fñ F�	ñ Fr   c                ó€   € V P                   ^ 8X  d   \        R4      hV P                   ^8”  d   ^M^ p\        WVRR7      # )é    z3hsplit only works on arrays of 1 or more dimensionsTrœ   ©rn   r>   r€   r˜   s   && r   Úhsplitr¡     s9   € Ø
‡x�x�1„}ÜÐNÓOÐOØ—‘˜1”‰1 !€DÜ˜°4ÀÔEÐEr   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   r     ó   € ÷ Cñ C�	ñ Cr   c                óV   € V P                   ^8  d   \        R4      h\        W^ RR7      # )r   z3vsplit only works on arrays of 2 or more dimensionsTrœ   r    ©r•   r~   s   &&r   Úvsplitr¦     ó(   € Ø
‡x�x�!„|ÜÐNÓOÐOÜ˜°1¸TÔBÐBr   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   r     r£   r   c                óV   € V P                   ^8  d   \        R4      h\        W^RR7      # )é   z3dsplit only works on arrays of 3 or more dimensionsTrœ   r    r¥   s   &&r   Údsplitr«     r§   r   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r’   r   )r   s   "r   r   r     s   € ÷ ñ ˆIð ˜)ñ r   c                ó.   € \         P                  ! W4      # r   )r/   Úkron)r   r’   s   &&r   r¯   r¯     ó   € Ü�:Š:�aÓÐr   c               ó   € V ^8„  d   QhRR/# ©r   r�   r   r   )r   s   "r   r   r   #  s   € ÷ *ñ *ˆiñ *r   c                ó0   € \         P                  ! WV4      # r   )r/   Úvander)r�   ÚNÚ
increasings   &&&r   r´   r´   #  s   € Ü�<Š<˜˜jÓ)Ð)r   Tc               ó$   € V ^8„  d   QhRRRRRR/# ©r   Ústartr   Ústopr'   rT   r   )r   s   "r   r   r   *  s&   € ÷ 9ñ 9Øð9à
ð9ð ñ9r   c                ó²   € V^ 8w  g   V'       g	   V'       g   \         hVf    \        P                  ! 4       P                  p\        P
                  ! WW%R7      # ©rŸ   ©r'   )r‚   r   Údefault_dtypesÚfloat_dtyper/   Úlinspace)r¹   rº   r‡   ÚendpointÚretstepr'   rL   s   &&&&&&&r   rÀ   rÀ   *  s?   € ð ˆq„y—G§8Ü!Ð!Ø‚}Ü×+Ò+Ó-×9Ñ9ˆä�>Š>˜% sÔ8Ð8r   c               ó$   € V ^8„  d   QhRRRRRR/# r¸   r   )r   s   "r   r   r   ;  s&   € ÷ ñ Øðà
ðð
 ñr   c                óN  € V^ 8w  g	   V'       g   \         h\        P                  ! W,          RV^,
          ,          4      p\        P                  ! V4      p\        P                  ! \        P                  ! V 4      V,          \        P                  ! V4      V,          VVR7      # )rŸ   ç      ð?)Úbase)r‚   r/   ÚpowÚlogÚlogspace)r¹   rº   r‡   rÁ   r'   rL   rÆ   Úlogbases   &&&&&&  r   Ú	geomspacerË   ;  sr   € ð ˆq„yŸÜ!Ð!Ü�9Š9�T•\ 3¨#°­'¥?Ó3€DÜ�iŠi˜‹o€GÜ�>Š>Ü�	Š	�%Ó˜7Õ"Ü�	Š	�$‹˜'Õ!ØØô	ð r   c               ó   € V ^8„  d   QhRR/# ©r   r'   rT   r   )r   s   "r   r   r   O  s   € ÷ Dñ Dð ñDr   c                ó^   € V^ 8w  g	   V'       g   \         h\        P                  ! WW$VR7      # )rŸ   )rÆ   r'   )r‚   r/   rÉ   )r¹   rº   r‡   rÁ   rÆ   r'   rL   s   &&&&&&&r   rÉ   rÉ   O  s&   € ð ˆq„yŸÜ!Ð!Ü�>Š>˜% s¸UÔCÐCr   Úlikec          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   r¹   úArrayLikeOrScalar | Nonerº   Ústepr'   rT   rÏ   r   r   )r   s   "r   r   r   ]  s:   € ÷ &ñ &Ø#ð&à
"ð&ð #ð&ð ð	&ð ñ&r   c               óæ  € V^ 8X  d   \         hVf   V f   \        hVf   ^ T rV f   ^ p Vf}   \        ;QJ d    R WV3 4       F  '       g   K   RM	  RM! R WV3 4       4      '       d    \        P                  ! 4       P
                  M\        P                  ! 4       P                  pVP                  '       d   \        P                  MTp\        ;QJ d    R WV3 4       F  '       g   K   RM	  RM! R WV3 4       4      '       d   \        hV^ 8”  d   W8”  g   V^ 8  d   W8  d   \        P                  ! ^ VR7      # \        P                  ! WW%R7      p\        P                  ! Wc4      pV# )rŸ   c              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir   )r   Úis_float_or_fp_tensor©Ú.0r�   s   & r   Ú	<genexpr>Úarange.<locals>.<genexpr>t  s    é € ÐVÑBU¸Q”<×5Ò5°a×8Ð8ÓBUùó   ‚#%TFc              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir   )r   Úis_complex_or_complex_tensorrÖ   s   & r   rØ   rÙ   z  s    é € Ð
UÑAT¸AŒ<×4Ò4°Q×7Ð7ÓATùrÚ   r½   )ÚZeroDivisionErrorr?   Úanyr   r¾   r¿   Ú	int_dtypeÚ
is_complexr/   Úfloat64r‚   ÚemptyÚaranger   Úcast_if_needed)r¹   rº   rÒ   r'   rÏ   Ú
work_dtyperW   s   &&&&$  r   rã   rã   ]  s.  € ð ˆq„yÜÐØ‚|˜šÜˆØ‚|ð ˜ˆtØ‚}Øˆð ‚}÷ ‹sÑVÀ5ÐPTÑBUÓV�s�sŠsÑVÀ5ÐPTÑBUÓV×VÒVô ×'Ò'Ó)×5Ò5ä×,Ò,Ó.×8Ñ8ð 	ð
 #(×"2×"2Ð"2”—’¸€J÷ ƒsÑ
UÀ%ÈtÑATÓ
U‡s‡s‚sÑ
UÀ%ÈtÑATÓ
U×UÒUÜ!Ð!àˆqŒ�U”\ t¨a¤x°E´Lä�{Š{˜1 EÔ*Ð*ä�\Š\˜% tÔ>€FÜ×!Ò! &Ó0€FØ€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r'   rT   r   r   rÏ   r   )r   s   "r   r   r   ‰  ó(   € ÷ 	+ñ 	+àð	+ð ð	+ð
 ñ	+r   c               óv   € Vf    \         P                  ! 4       P                  p\        P                  ! WR7      # ©Nr½   )r   r¾   r¿   r/   râ   ©rƒ   r'   r   rÏ   s   &&&$r   râ   râ   ‰  ó,   € ð ‚}Ü×+Ò+Ó-×9Ñ9ˆÜ�;Š;�uÔ*Ð*r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Ú	prototyper   r'   rT   r   r   r   r   )r   s   "r   r   r   ™  s0   € ÷ 
ñ 
Øð
àð
ð ð
ð ñ	
r   c                ó^   € \         P                  ! WR 7      pVe   VP                  V4      pV# ©r½   )r/   Ú
empty_likeÚreshape)rî   r'   r   r   rƒ   rW   s   &&&&& r   rñ   rñ   ™  s-   € ô ×Ò˜iÔ5€FØÒØ—‘ Ó&ˆØ€Mr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Ú
fill_valuer   r'   rT   r   r   rÏ   r   )r   s   "r   r   r   ¦  s2   € ÷ 6ñ 6àð6ð ð6ð ð	6ð ñ6r   c               óÂ   € \        V \        4      '       d   V 3p Vf   VP                  p\        V \        \        34      '       g   V 3p \
        P                  ! WVR7      # rê   )r1   ry   r'   r2   r3   r/   Úfull)rƒ   rô   r'   r   rÏ   s   &&&&$r   rö   rö   ¦  sQ   € ô �%œ×ÒØ�ˆØ‚}Ø× Ñ ˆÜ�eœe¤T˜]×+Ò+Ø�ˆÜ�:Š:�e¨uÔ5Ð5r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   r   r   r'   rT   r   r   r   r   )r   s   "r   r   r   ·  s2   € ÷ ñ Øðð ðð ð	ð
 ñr   c                ó`   € \         P                  ! WVR 7      pVe   VP                  V4      pV# rð   )r/   Ú	full_likerò   )r   rô   r'   r   r   rƒ   rW   s   &&&&&& r   rú   rú   ·  s-   € ô �_Š_˜Q°%Ô8€FØÒØ—‘ Ó&ˆØ€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# rç   r   )r   s   "r   r   r   Æ  s(   € ÷ 	*ñ 	*àð	*ð ð	*ð
 ñ	*r   c               óv   € Vf    \         P                  ! 4       P                  p\        P                  ! WR7      # rê   )r   r¾   r¿   r/   Úonesrë   s   &&&$r   rý   rý   Æ  s,   € ð ‚}Ü×+Ò+Ó-×9Ñ9ˆÜ�:Š:�eÔ)Ð)r   c               ó(   € V ^8„  d   QhRRRRRRRR/# rø   r   )r   s   "r   r   r   Ò  ó0   € ÷ 
ñ 
Øð
àð
ð ð
ð ñ	
r   c                ó^   € \         P                  ! WR 7      pVe   VP                  V4      pV# rð   )r/   Ú	ones_likerò   ©r   r'   r   r   rƒ   rW   s   &&&&& r   r  r  Ò  s+   € ô �_Š_˜QÔ,€FØÒØ—‘ Ó&ˆØ€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# rç   r   )r   s   "r   r   r   ß  rè   r   c               óv   € Vf    \         P                  ! 4       P                  p\        P                  ! WR7      # rê   )r   r¾   r¿   r/   Úzerosrë   s   &&&$r   r  r  ß  rì   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# rø   r   )r   s   "r   r   r   ë  rÿ   r   c                ó^   € \         P                  ! WR 7      pVe   VP                  V4      pV# rð   )r/   Ú
zeros_likerò   r  s   &&&&& r   r  r  ë  s-   € ô ×Ò˜aÔ-€FØÒØ—‘ Ó&ˆØ€Mr   c                ó(  € VEe   ^V P                   ,
          pV^ 8”  d*   V P                  RV,          V P                  ,           4      p V'       g%   V P                  ^ ,          ^8w  d   V P                  p V P	                  4       p ^VP                   ,
          pV^ 8”  d*   VP                  RV,          VP                  ,           4      pV'       g%   VP                  ^ ,          ^8w  d   VP                  pVP	                  4       p\        W3^ R7      p V # )z$Prepare inputs for cov and corrcoef.rK   ©rŒ   )rn   Úviewrƒ   ÚmTr   rO   )Úx_tensorÚy_tensorÚrowvarÚ
ndim_extras   &&& r   Ú_xy_helper_corrcoefr  û  sÐ   € ð Óà˜Ÿ™Õ&ˆ
Ø˜Œ>Ø—}‘} T¨JÕ%6¸¿¹Õ%GÓHˆHß˜(Ÿ.™.¨Õ+¨qÔ0Ø—{‘{ˆHØ—>‘>Ó#ˆà˜Ÿ™Õ&ˆ
Ø˜Œ>Ø—}‘} T¨JÕ%6¸¿¹Õ%GÓHˆHß˜(Ÿ.™.¨Õ+¨qÔ0Ø—{‘{ˆHØ—>‘>Ó#ˆä Ð 4¸1Ô=ˆà€Or   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r�   r   ÚyúArrayLike | Noner'   rT   r   )r   s   "r   r   r     s&   € ÷ ñ Øðàðð ñr   c               ór  € Vf   Ve   \         h\        WV4      pVP                  \        P                  8H  ;'       d    VP
                  pV'       d   \        P                  p\        P                  ! We4      p\        P                  ! V4      pV'       d    VP                  \        P                  4      pV# r   )r‚   r  r'   r/   Úfloat16Úis_cpuÚfloat32r   rä   ÚcorrcoefÚto)	r�   r  r  ÚbiasÚddofr'   Ú	xy_tensorÚis_halfrW   s	   &&&&&$   r   r  r    s…   € ð Ò˜4Ò+ä!Ð!Ü# A¨&Ó1€Ià�‰¤%§-¡-Ñ/×EÐE°Y×5EÑ5E€Gßä—‘ˆä×$Ò$ YÓ6€IÜ�^Š^˜IÓ&€FçØ—‘œ5Ÿ=™=Ó)ˆà€Mr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   Úmr   r  r  ÚfweightsÚaweightsr'   rT   r   )r   s   "r   r   r   0  s:   € ÷ ñ Øðàðð ðð ðð ñr   c               óx  € \        WV4      p Vf   V^ 8X  d   ^M^ pV P                  \        P                  8H  ;'       d    V P                  pV'       d   \        P
                  p\        P                  ! W4      p \        P                  ! WWeR7      p	V'       d    V	P                  \        P                  4      p	V	# )N)Ú
correctionr"  r!  )
r  r'   r/   r  r  r  r   rä   Úcovr  )
r   r  r  r  r  r!  r"  r'   r  rW   s
   &&&&&&&$  r   r%  r%  0  s†   € ô 	˜A &Ó)€Aà‚|Ø˜A”I‰q 1ˆà�w‰wœ%Ÿ-™-Ñ'×5Ð5¨Q¯X©X€Gßä—‘ˆä×Ò˜QÓ&€AÜ�YŠY�q°HÔP€FçØ—‘œ5Ÿ=™=Ó)ˆà€Mr   c                óº  € \         P                  ! W4      p\        P                  ! W4      p \        P                  ! W4      pVR 8X  d   VP                  ^ ,          ^,
          MTpVR8X  d+   VP                  ^ ,          ^,          ^ 8X  d   \        R4      hV R,          pVR,          p\        P                  P                  P                  WVVR7      pVR,          # )rö   Úsamez#mode='same' and even-length weights)Úpadding)NºNNN)NNr)  )rŸ   r)  )
r   rE   r   rä   rƒ   r‚   r/   ÚnnÚ
functionalÚconv1d)r   ÚvÚmodeÚdtr(  ÚaaÚvvrW   s   &&&     r   Ú_conv_corr_implr2  N  s´   € Ü	×	&Ò	& qÓ	,€BÜ×Ò˜QÓ#€AÜ×Ò˜QÓ#€Aà $¨¤ˆa�g‰g�a�j˜1Žn°D€Gà�&Ô˜QŸW™W Q�Z¨!�^¨qÔ0ô "Ð"GÓHÐHð 
ˆ7�€BØ	
ˆ=Õ	€Bä�X‰X× Ñ ×'Ñ'¨¸Ð'Ó@€Fð �$�<Ðr   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r-  r   )r   s   "r   r   r   e  s   € ÷ 'ñ '�	ð '˜iñ 'r   c                óž   € V P                   ^ ,          VP                   ^ ,          8  d   Yr\        P                  ! VR4      p\        WV4      # )rŸ   ©rŸ   )rƒ   r/   Úflipr2  ©r   r-  r.  s   &&&r   Úconvolver9  e  s>   € à‡w�wˆq…z�A—G‘G˜A•JÔØˆ1ô 	�
Š
�1�dÓ€Aä˜1 Ó&Ð&r   c               ó    € V ^8„  d   QhRRRR/# r4  r   )r   s   "r   r   r   p  s   € ÷ 'ñ '�ð '˜yñ 'r   c                óF   € \         P                  ! V4      p\        WV4      # r   )r/   Úconj_physicalr2  r8  s   &&&r   Ú	correlater=  p  s   € Ü×Ò˜AÓ€AÜ˜1 Ó&Ð&r   c               ó    € V ^8„  d   QhRRRR/# )r   Úweightsr  r�   r   r   )r   s   "r   r   r   x  s   € ÷ 1ñ 1Ð'7ð 1�	ñ 1r   c               óþ   € V P                  4       ^ 8X  d   V P                  ^ \        R7      p \        P                  ! 4       P
                  p\        P                  ! V 3VRR7      w  p \        P                  ! WV4      # )rŸ   r½   Úsafer%   )
ÚnumelÚ	new_emptyry   r   r¾   rß   r   r&   r/   Úbincount)r�   r?  Ú	minlengthrß   s   "&& r   rD  rD  x  s^   € Ø‡w�wƒy�A„~à�K‰K˜¤ˆKÓ%ˆä×+Ò+Ó-×7Ñ7€IÜ×!Ò! 1 $¨	¸6ÔB�D€Qä�>Š>˜! iÓ0Ð0r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Ú	conditionr   r�   rÑ   r  r   )r   s   "r   r   r   ƒ  s&   € ÷ ñ Øðàðð  ñr   c               ó  € VR J VR J 8w  d   \        R4      hV P                  \        P                  8w  d    V P	                  \        P                  4      p Vf   Vf   \        P
                  ! V 4      pV# \        P
                  ! WV4      pV# )Nz1either both or neither of x and y should be given)r>   r'   r/   Úboolr  r#   )rG  r�   r  rW   s   """ r   r#   r#   ƒ  sw   € ð 	
ˆTˆ	�q˜D�yÔ!ÜÐLÓMÐMà‡�œ%Ÿ*™*Ô$Ø—L‘L¤§¡Ó,ˆ	à‚y�Q’YÜ—’˜YÓ'ˆð €Mô —’˜Y¨1Ó-ˆØ€Mr   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   ™  s   € ÷ ñ ˆIñ r   c                ó   € V P                   # r   )rn   ©r   s   &r   rn   rn   ™  s   € Ø�6‰6€Mr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   �  s   € ÷ ñ ˆYñ r   c                ó,   € \        V P                  4      # r   )r2   rƒ   rM  s   &r   rƒ   rƒ   �  s   € Ü�—‘‹>Ðr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   ¡  s   € ÷ ñ ˆIñ r   c                óP   € Vf   V P                  4       # V P                  V,          # r   )rB  rƒ   )r   rL   s   &&r   ÚsizerR  ¡  s!   € Ø‚|Ø�w‰w‹yÐà�w‰w�t�}Ðr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   «  s   € ÷ ñ �9ñ r   c                óf   € \         P                  ! V P                  V4      pV P                  V4      # r   )r   Úexpand_shaperƒ   r  )r   rL   rƒ   s   && r   Úexpand_dimsrV  «  s&   € Ü×Ò˜qŸw™w¨Ó-€EØ�6‰6�%‹=Ðr   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   °  s   € ÷ ñ ˆIñ r   c                ó´   € Vf    \        \        V P                  4      4      pM \        P                  ! WP                  4      p\
        P                  ! W4      # r   )r2   Úrangern   r   Únormalize_axis_tupler/   r7  )r   rL   s   &&r   r7  r7  °  s<   € à‚|Ü”U˜1Ÿ6™6“]Ó#‰ä×)Ò)¨$·±Ó7ˆÜ�:Š:�aÓÐr   c               ó   € V ^8„  d   QhRR/# rX  r   )r   s   "r   r   r   ¹  ó   € ÷ ñ ˆiñ r   c                ó.   € \         P                  ! V 4      # r   )r/   Úflipud©r   s   &r   r_  r_  ¹  ó   € Ü�<Š<˜‹?Ðr   c               ó   € V ^8„  d   QhRR/# rX  r   )r   s   "r   r   r   ½  r]  r   c                ó.   € \         P                  ! V 4      # r   )r/   Úfliplrr`  s   &r   rd  rd  ½  ra  r   c               ó   € V ^8„  d   QhRR/# rX  r   )r   s   "r   r   r   Á  s   € ÷ #ñ #ˆYñ #r   c                óp   € \         P                  ! W P                  4      p\        P                  ! WV4      # r   )r   r[  rn   r/   Úrot90)r   ÚkÚaxess   &&&r   rg  rg  Á  s'   € Ü×%Ò% d¯F©FÓ3€DÜ�;Š;�q˜TÓ"Ð"r   c               ó    € V ^8„  d   QhRRRR/# )r   Úarrayr   r   r   r   )r   s   "r   r   r   É  s   € ÷ 1ñ 1˜	ð 1Ð1Cñ 1r   c                ó0   € \         P                  ! WR 7      # ))rR  )r/   Úbroadcast_to)rk  rƒ   r   s   &&&r   rm  rm  É  s   € Ü×Ò˜eÔ0Ð0r   c                 ó*   € \         P                  ! V !  # r   )r/   Úbroadcast_shapes)Úargss   *r   ro  ro  Ï  s   € Ü×!Ò! 4Ñ(Ð(r   r   c               ó    € V ^8„  d   QhRRRR/# )r   rp  r   r   r   r   )r   s   "r   r   r   Ó  s   € ÷ *ñ *˜Ið *Ð.@ñ *r   c                ó*   € \         P                  ! V!  # r   )r/   Úbroadcast_tensors)r   rp  s   $*r   Úbroadcast_arraysrt  Ó  s   € Ü×"Ò" DÑ)Ð)r   r   ÚsparseÚindexingÚxyc               ó   € V ^8„  d   QhRR/# )r   Úxir   r   )r   s   "r   r   r   ×  s   € ÷ ñ �)ñ r   c           
     óL  € \        V4      pVR9  d   \        R4      hRV,          p\        V4       UUu. uF0  w  rgVP                  VRV R,           WV^,           R ,           4      NK2  	  pppVR 8X  dZ   V^8”  dS   V^ ,          P                  RVR,          ,           4      V^ &   V^,          P                  RVR,          ,           4      V^&   V'       g   \        P
                  ! V!  pV '       d   V Uu. uF  qwP                  4       NK  	  pp\        V4      # u uppi u upi )	rw  z.Valid values for `indexing` are 'xy' and 'ij'.N:r   NN)rw  Úijr
  )r�   )rŒ   r�   )r�   rŒ   )rŽ   r>   Ú	enumeraterò   r/   rs  r   r3   )	r   ru  rv  ry  rn   Ús0Úir�   Úoutputs	   $$$*     r   Úmeshgridr€  ×  sõ   € Üˆr‹7€Dà�|Ô#ÜÐIÓJÐJà	��€BÜBKÈBÄ-ÔPÁ-¹$¸!ˆa�i‰i˜˜2˜A˜ �¨°­E¨G¨Õ4Ö5Á-€FÑPà�4Ô˜D 1œHà˜1•I×%Ñ% g°°2µÕ&6Ó7ˆˆq‰	Ø˜1•I×%Ñ% g°°2µÕ&6Ó7ˆˆq‰	çä×(Ò(¨&Ñ1ˆçÙ%+Ó,¡V —'‘'–)¡VˆÐ,ä�‹<Ðùó Qùò -s   µ6DÃ6D!c               ó   € V ^8„  d   QhRR/# rÍ   r   )r   s   "r   r   r   ï  s   € ÷ ñ Ð/ñ r   c                ór  € \        V 4      p \        V 4      pRV,          pV'       d   RpM \        P                  ! V3V ,           VR7      p\	        V 4       F]  w  rg\        P
                  ! WqR7      P                  VRV V3,           WF^,           R ,           4      pV'       d   WX3,           pKY  W…V&   K_  	  V# )rŒ   r½   Nr
  r   )r2   rŽ   r/   râ   r|  rã   rò   )	Ú
dimensionsr'   ru  rµ   rƒ   r5   r~  ÚdimÚidxs	   &&&      r   Úindicesr†  ï  s    € ä�zÓ"€JÜˆJ‹€AØ�1�H€EßØ‰ä�kŠk˜1˜$ Õ+°5Ô9ˆÜ˜JÖ'‰ˆÜ�lŠl˜3Ô,×4Ñ4Ø�"�1ˆI˜˜Õ ¨1¥u w Õ/ó
ˆ÷ Ø˜•,ŠCà�‹Fñ (ð €Jr   c               ó   € V ^8„  d   QhRR/# rX  r   )r   s   "r   r   r     ó   € ÷ ñ ˆIñ r   c                ó.   € \         P                  ! W4      # r   )r/   Útril©r   rh  s   &&r   rŠ  rŠ    r°   r   c               ó   € V ^8„  d   QhRR/# rX  r   )r   s   "r   r   r   
  rˆ  r   c                ó.   € \         P                  ! W4      # r   )r/   Útriur‹  s   &&r   rŽ  rŽ  
  r°   r   c                ó>   € Vf   T p\         P                  ! WVR7      # ©N©Úoffset)r/   Útril_indices©r†   rh  r   s   &&&r   r“  r“    ó   € Ø‚yØˆÜ×Ò˜a¨1Ô-Ð-r   c                ó>   € Vf   T p\         P                  ! WVR7      # r�  )r/   Útriu_indicesr”  s   &&&r   r—  r—    r•  r   c               ó   € V ^8„  d   QhRR/# ©r   rs   r   r   )r   s   "r   r   r     ó   € ÷ Dñ D˜9ñ Dr   c                ó°   € V P                   ^8w  d   \        R4      h\        P                  ! V P                  ^ ,          V P                  ^,          VR7      # ©r   zinput array must be 2-dr‘  )rn   r>   r/   r“  rƒ   ©rs   rh  s   &&r   Útril_indices_fromrž    ó>   € Ø
‡x�x�1„}ÜÐ2Ó3Ð3ä×Ò˜cŸi™i¨�l¨C¯I©I°a­LÀÔCÐCr   c               ó   € V ^8„  d   QhRR/# r™  r   )r   s   "r   r   r   !  rš  r   c                ó°   € V P                   ^8w  d   \        R4      h\        P                  ! V P                  ^ ,          V P                  ^,          VR7      # rœ  )rn   r>   r/   r—  rƒ   r�  s   &&r   Útriu_indices_fromr¢  !  rŸ  r   c               ó    € V ^8„  d   QhRRRR/# ©r   r'   rT   rÏ   r   r   )r   s   "r   r   r   (  s    € ÷ *ñ *ð ð	*ð ñ*r   c               ón   € Vf   T p\         P                  ! W3VR7      p\         P                  ! WRR7      # )Nr½   )Údiagonal)r/   rý   rŠ  )rµ   ÚMrh  r'   rÏ   r}   s   &&&&$ r   Útrir¨  (  s/   € ð 	‚yØˆÜ�ZŠZ˜˜ eÔ,€FÜ�:Š:�fÔ)Ð)r   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   9  s   € ÷ Jñ Jˆyð J˜Yñ Jr   c                ó¸   € \         P                  ! W4      p\        P                  ! W4      p \        P                  ! W4      p\        P
                  ! WW#VR 7      # ©)ÚrtolÚatolÚ	equal_nan)r   rE   r   rä   r/   Úisclose©r   r’   r¬  r­  r®  r'   s   &&&&& r   r¯  r¯  9  sE   € Ü×)Ò)¨!Ó/€EÜ×Ò˜QÓ&€AÜ×Ò˜QÓ&€AÜ�=Š=˜ D¸yÔIÐIr   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   @  s   € ÷ Kñ K�	ð K˜iñ Kr   c                ó¸   € \         P                  ! W4      p\        P                  ! W4      p \        P                  ! W4      p\        P
                  ! WW#VR 7      # r«  )r   rE   r   rä   r/   Úallcloser°  s   &&&&& r   r³  r³  @  sE   € Ü×)Ò)¨!Ó/€EÜ×Ò˜QÓ&€AÜ×Ò˜QÓ&€AÜ�>Š>˜! TÀ	ÔJÐJr   c                ó   € V P                   VP                   8w  d   R # W8H  pV'       d9   V\        P                  ! V 4      \        P                  ! V4      ,          ,          pVP                  4       P	                  4       # ©F)rƒ   r/   ÚisnanÚallÚitem)Úa1Úa2r®  Úconds   &&& r   Ú_tensor_equalr¼  G  sQ   € à	‡x�x�2—8‘8ÔÙØ‰8€DßØ”u—{’{ 2“¬¯ª°R«Õ8Õ9ˆØ�8‰8‹:�?‰?ÓÐr   c               ó    € V ^8„  d   QhRRRR/# ©r   r¹  r   rº  r   )r   s   "r   r   r   Q  s   € ÷ 6ñ 6�Ið 6 9ñ 6r   c                ó   € \        WVR 7      # ))r®  )r¼  )r¹  rº  r®  s   &&&r   Úarray_equalrÀ  Q  s   € Ü˜¨9Ô5Ð5r   c               ó    € V ^8„  d   QhRRRR/# r¾  r   )r   s   "r   r   r   U  s   € ÷ %ñ %�Ið % 9ñ %r   c                ón   €  \         P                  ! W4      w  r#\        Y#4      #   \         d     R # i ; irµ  )r/   rs  ÚRuntimeErrorr¼  )r¹  rº  Úa1_tÚa2_ts   &&  r   Úarray_equivrÆ  U  s:   € ðÜ×,Ò,¨RÓ4‰
ˆô ˜Ó$Ð$øô ô âðús   ‚% ¥4³4c               ó    € V ^8„  d   QhRRRR/# )r   r�   r   r   r   r   )r   s   "r   r   r   _  s    € ÷ 	Jñ 	JØð	JØ*ñ	Jr   c                ó
  € V P                  4       '       dW   \        P                  ! V P                  W#VR 7      p\        P                  ! V P                  W#VR 7      pVRV,          ,           # \        P                  ! WW4R 7      # ))ÚnanÚposinfÚneginfy              ð?)rà   r/   Ú
nan_to_numÚrealÚimag)r�   r   rÉ  rÊ  rË  ÚreÚims   &&&&&  r   rÌ  rÌ  _  s`   € ð 	‡|�|‡~‚~Ü×Ò˜aŸf™f¨#ÀVÔLˆÜ×Ò˜aŸf™f¨#ÀVÔLˆØ�B˜•G�|Ðä×Ò °6ÔIÐIr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   r†  rA   rS   r.  r   r   )r   s   "r   r   r   n  s0   € ÷ ñ Øðàðð 
ð	ð
 ñr   c                óÄ   € \         P                  ! WR 7      w  w  r\         P                  ! W P                  4      p\	        R4      3V,          VR3,           pW,          pV# )rK   N.)r   rM   ro   rn   Úslice)r   r†  rL   rA   r.  r…  rW   s   &&&&&  r   ÚtakerÔ  n  sQ   € ô ×(Ò(¨Ô6�J�D€QÜ×%Ò% d¯F©FÓ3€DÜ�‹;ˆ.˜4Õ
 7¨C .Õ
0€CØ�V€FØ€Mr   c               ó    € V ^8„  d   QhRRRR/# )r   rs   r   r†  r   )r   s   "r   r   r   |  s   € ÷ 4ñ 4˜ð 4¨Yñ 4r   c                ó¦   € \         P                  ! WR 7      w  w  r\         P                  ! W P                  4      p\        P
                  ! WV4      # )rK   )r   rM   ro   rn   r/   Útake_along_dim)rs   r†  rL   s   &&&r   Útake_along_axisrØ  |  s=   € Ü×*Ò*¨3Ô:�L�F€SÜ×%Ò% d¯H©HÓ5€DÜ×Ò ¨dÓ3Ð3r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   r†  r   rt   r.  r   r   )r   s   "r   r   r   ‚  s0   € ÷ ñ Øðàðð ðð ñ	r   c                ó  € VP                  V P                  4      pVP                  4       VP                  4       8”  dt   VP                  4       VP                  4       ,           ^,
          VP                  4       ,          pVP                  ^ 4      P	                  V3VP
                  ,           4      pVP                  4       VP                  4       8  d$   VP                  4       pVRVP                  4        pV P                  W4       R# )rŒ   N)r|   r'   rB  Ú	unsqueezeÚexpandrƒ   rv   Úput_)r   r†  rt   r.  r-  Úratios   &&&&  r   Úputrß  ‚  s¸   € ð 	�‰�A—G‘GÓ€Að ‡}�}ƒ˜Ÿ™›Ô"Ø—‘“ 1§7¡7£9Õ,¨qÕ0°Q·W±W³YÕ>ˆØ�K‰K˜‹N×!Ñ! 5 (¨Q¯W©WÕ"4Ó5ˆð ‡}�}ƒ˜Ÿ™›Ô"Ø�I‰I‹KˆØÐ�—‘“Ð ˆØ‡F�Fˆ7ÔÙr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rs   r   r†  rt   r   )r   s   "r   r   r   —  s!   € ÷ ñ ˜	ð ¨Ið ¸yñ r   c                ón  € \         P                  ! WR 7      w  w  r\         P                  ! W0P                  4      p\        P
                  ! W4      w  r\         P                  ! W P                  4      p\        P                  ! WW4      pV P                  VP                  V P                  4      4       R# )rK   N)r   rM   ro   rn   r/   rs  rä   r'   Úscatterr(   rò   rƒ   )rs   r†  rt   rL   rW   s   &&&& r   Úput_along_axisrã  —  s|   € Ü×*Ò*¨3Ô:�L�F€SÜ×%Ò% d¯H©HÓ5€Dä×-Ò-¨gÓ>�O€GÜ×!Ò! &¯)©)Ó4€FÜ�]Š]˜3 gÓ6€FØ‡I�Iˆf�n‰n˜SŸY™YÓ'Ô(Ùr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r   r   ÚchoicesrR   rA   rS   r.  r   r   )r   s   "r   r   r   ¢  s0   € ÷ /ñ /Øð/à ð/ð 
ð/ð ñ	/r   c           
     ó¨  € \         P                  ! \         P                  ! V!  4      p\        VP                  4       UUu. uF_  w  rE\         P
                  ! V4      P                  RV,          V3,           RVP                  V,
          ^,
          ,          ,           4      NKa  	  pppW^ &   V\        V4      ,          P                  ^ 4      # u uppi )rŒ   r
  )
r/   rp   rs  r|  rƒ   rã   r  rn   r2   Úsqueeze)r   rå  rA   r.  r~  r„  Úidx_lists   &&&&   r   Úchooseré  ¢  s©   € ô �kŠkœ%×1Ò1°7Ñ;Ó<€Gô   §¡Ô.ôá.‰FˆAô 	�Š�SÓ×Ñ˜t a�x¨3¨&Õ0°4¸7¿<¹<È!Õ;KÈaÕ;OÕ3PÕPÖQÙ.ð ñ ð
 ˆQ�KØ”5˜“?Õ#×+Ñ+¨AÓ.Ð.ùós   ÁA%Cr®  c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úarr   Úreturn_indexr   r®  r   )r   s   "r   r   r   ¹  s&   € ÷ ñ Øðà$ðð "ñr   c               ó¬   € \         P                  ! WR 7      w  w  r\         P                  ! W@P                  4      p\        P
                  ! WW4R7      pV# )rK   )Úreturn_inverseÚreturn_countsr„  )r   rM   ro   rn   r/   Úunique)rë  rì  rî  rï  rL   r®  rW   s   &&&&&$ r   rð  rð  ¹  sF   € ô ×)Ò)¨"Ô8�K�E€RÜ×%Ò% d¯G©GÓ4€Dä�\Š\Ø
¸ô€Fð €Mr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Ì  s   € ÷ +ñ +ˆyñ +r   c                ó2   € \         P                  ! V R R7      # ©T)Úas_tuple)r/   ÚnonzerorM  s   &r   rõ  rõ  Ì  s   € Ü�=Š=˜ TÔ*Ð*r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Ð  s   € ÷ ñ �	ñ r   c                ó.   € \         P                  ! V 4      # r   )r/   ÚargwhererM  s   &r   rø  rø  Ð  ó   € Ü�>Š>˜!ÓÐr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Ô  s   € ÷ 6ñ 6�9ñ 6r   c                ó\   € \         P                  ! V 4      P                  R R7      ^ ,          # ró  )r/   rv   rõ  rM  s   &r   Úflatnonzerorü  Ô  s$   € Ü�=Š=˜Ó×#Ñ#¨TÐ#Ó2°1Õ5Ð5r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   Úminr  ÚmaxrA   rS   r   )r   s   "r   r   r   Ø  s0   € ÷ $ñ $Øð$à	ð$ð 
ð$ð 
ñ	$r   c                ó0   € \         P                  ! WV4      # r   )r/   Úclamp)r   rþ  rÿ  rA   s   &&&&r   Úclipr  Ø  s   € ô �;Š;�q˜sÓ#Ð#r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   Úrepeatsr   r   )r   s   "r   r   r   á  s   € ÷ 5ñ 5ˆið 5Ð"3ñ 5r   c                ó0   € \         P                  ! WV4      # r   )r/   Úrepeat_interleave)r   r  rL   s   &&&r   Úrepeatr  á  s   € Ü×"Ò" 1¨tÓ4Ð4r   c               ó   € V ^8„  d   QhRR/# )r   ÚAr   r   )r   s   "r   r   r   å  ó   € ÷ ñ ˆIñ r   c                ó`   € \        V\        4      '       d   V3p\        P                  ! W4      # r   )r1   ry   r/   Útile)r	  Úrepss   &&r   r  r  å  s%   € Ü�$œ×ÒØˆwˆÜ�:Š:�aÓÐr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   ë  s   € ÷ !ñ !ˆiñ !r   c                ó˜  € Vf   V # \        V\        4      '       d   V3pV P                  4       p ^pV F  pW#,          pV^ 8  g   K  \        R4      h	  V P	                  4       ^ 8X  g   V^ 8X  d"   \
        P                  ! WP                  R7      # V) V P	                  4       ,          ) p\        V 3V,          4      R V p \        W4      # )Nz0all elements of `new_shape` must be non-negativer½   )
r1   ry   rv   r>   rB  r/   r  r'   rX   rò   )r   Ú	new_shapeÚnew_sizeÚ
dim_lengthr  s   &&   r   Úresizer  ë  s·   € ð ÒØˆä�)œS×!Ò!Ø�Lˆ	à	�	‰	‹€Aà€HÛˆ
ØÕˆØ˜Ž>ÜÐOÓPÐPñ  ð
 	‡w�wƒy�A„~˜ Qœä�{Š{˜9¯G©GÔ4Ð4à�	˜QŸW™W›YÕ&Ð'€GÜ�Q�D˜7•NÓ# I XÐ.€Aä�1Ó Ð r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   	  s   € ÷ 3ñ 3�	ñ 3r   c                ó°   € \         P                  ! W P                  4      p\         P                  ! W0P                  4      p\        P                  ! WW#4      # r   )r   ro   rn   r/   r¦  )r   r’  Úaxis1Úaxis2s   &&&&r   r¦  r¦  	  s;   € Ü×&Ò& u¯f©fÓ5€EÜ×&Ò& u¯f©fÓ5€EÜ�>Š>˜! UÓ2Ð2r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r'   rT   rA   rS   r   )r   s   "r   r   r     s(   € ÷ 	ñ 	Øð	ð
 ð	ð 
ñ	r   c                óX   € \         P                  ! WW#R 7      P                  RVR7      pV# ))Údim1Údim2r½   r�   )r/   r¦  Úsum)r   r’  r  r  r'   rA   rW   s   &&&&&& r   Útracer    s)   € ô �^Š^˜A¨EÔ>×BÑBÀ2ÈUÐBÓS€FØ€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# rç   r   )r   s   "r   r   r     s*   € ÷ ñ ð ð	ð
 ðð ñr   c               óÈ   € Vf    \         P                  ! 4       P                  pVf   T p\        P                  ! WVR7      pVP                  V4      P                  ^4       V# rê   )r   r¾   r¿   r/   r  r¦  Úfill_)rµ   r§  rh  r'   r   rÏ   Úzs   &&&&&$ r   Úeyer"    sR   € ð ‚}Ü×+Ò+Ó-×9Ñ9ˆØ‚yØˆÜ�Š�A Ô&€AØ‡J�JˆqƒM×Ñ˜ÔØ€Hr   c               ó    € V ^8„  d   QhRRRR/# r¤  r   )r   s   "r   r   r   -  s   € ÷ %ñ %Ð'ð %Ð9Kñ %r   c               ó0   € \         P                  ! WR 7      # rð   )r/   r"  )r†   r'   rÏ   s   &&$r   Úidentityr%  -  s   € Ü�9Š9�QÔ$Ð$r   c               ó   € V ^8„  d   QhRR/# ©r   r-  r   r   )r   s   "r   r   r   1  rˆ  r   c                ó.   € \         P                  ! W4      # r   )r/   Údiag©r-  rh  s   &&r   r)  r)  1  r°   r   c               ó   € V ^8„  d   QhRR/# r'  r   )r   s   "r   r   r   5  s   € ÷  ñ  �	ñ  r   c                ó.   € \         P                  ! W4      # r   )r/   Údiagflatr*  s   &&r   r-  r-  5  s   € Ü�>Š>˜!ÓÐr   c                óB   € \         P                  ! V 4      pV3V,          # r   )r/   rã   )r†   rn   r…  s   && r   Údiag_indicesr/  9  s   € Ü
�,Š,�q‹/€CØˆ6�D�=Ðr   c               ó   € V ^8„  d   QhRR/# r™  r   )r   s   "r   r   r   >  s   € ÷ (ñ (˜9ñ (r   c                óÄ   € V P                   ^8¼  g   \        R4      hV P                  pVR,          VRR 8w  d   \        R4      h\        V^ ,          V P                   4      # )r   z input array must be at least 2-dr‹   Nz/All dimensions of input must be of equal lengthr�   )rn   r>   rƒ   r/  )rs   Úss   & r   Údiag_indices_fromr3  >  sV   € Ø�8‰8�qŒ=ÜÐ;Ó<Ð<ð 	�	‰	€AØˆ…u��#�2�„ÜÐJÓKÐKÜ˜˜!�˜cŸh™hÓ'Ð'r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   Úvalr   )r   s   "r   r   r   I  s   € ÷ ñ �Yð  Yñ r   c                ó  € V P                   ^8  d   \        R4      hVP                  4       ^ 8X  d   V'       g   V P                  V4       V # VP                   ^ 8X  d   VP	                  ^ 4      pV P                   ^8X  dã   V P
                  ^ ,          V P
                  ^,          8„  pV'       d	   V'       g5   V P                  4       pVP                  VRVP                  4        4       V # V P
                  w  rV\        P                  ! WUV^,           ,          ,
          4      pWv,          pWv,          p	VRVP                  4        W	V^,           ,          V,           V3&    V # \        V 4      pVRV P
                  ^ ,           W&   V # )r   zarray must be at least 2-dN)rn   r>   rB  Úfill_diagonal_rÛ  rƒ   r¦  r(   r/   rã   r3  )
r   r5  ÚwrapÚtallr)  Úmax_Úmin_r…  ÚmodÚdivs
   &&&       r   Úfill_diagonalr>  I  s7  € Ø‡v�v�„zÜÐ5Ó6Ð6Ø
‡y�yƒ{�aÔ§Ø	×Ñ˜ÔØˆà
‡x�x�1„}Ø�m‰m˜AÓˆð 	‡v�v�„{Ø�w‰w�q�z˜AŸG™G A�JÑ&ˆçŸ4à—:‘:“<ˆDØ�J‰J�s˜>˜TŸZ™Z›\Ð*Ô+ð €Hð Ÿ™‰JˆDÜ—,’,˜t¨t°a­xÕ&8Õ8Ó9ˆCØ•*ˆCØ•+ˆCØ/2°=°S·Y±Y³[Ð/AˆA�d˜Q•hÕ #Õ% sÐ+Ò,ð €Hô	   Ó"ˆà�\�q—w‘w˜q•zÐ"ˆ‰à€Hr   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   k  s   € ÷ ñ ˆIð ˜)ñ r   c               ó  € \         P                  ! W4      w  r#VP                  ^8”  d   VP                  4       pVP                  ^8”  d   VP                  4       p\        P
                  ! W#4      pV\         P                  8H  ;'       d!    VP                  ;'       g    VP                  pV\         P                  8H  pV'       d   \         P                  pMV'       d   \         P                  p\        P                  ! W$4      p\        P                  ! W44      p\         P                  ! W#4      pV'       d"   VP                  \         P                  4      pV# V'       d    VP                  \         P                  4      pV# r
  )r/   r0   rn   rv   r   rE   r  r  rI  r  Úuint8r   rä   Úvdotr  )r   r’   Út_aÚt_br'   r  Úis_boolrW   s   ""      r   rB  rB  k  s  € ô ×Ò Ó%�H€CØ
‡x�x�!„|Ø�k‰k‹mˆØ
‡x�x�!„|Ø�k‰k‹mˆä×)Ò)¨#Ó3€EØ”u—}‘}Ñ$×CÐC¨#¯*©*×*BÐ*B¸¿
¹
€GØ”u—z‘zÑ!€G÷ Ü—‘‰ß	Ü—‘ˆä
×
Ò
˜sÓ
*€CÜ
×
Ò
˜sÓ
*€Cä�ZŠZ˜Ó!€FçØ—‘œ5Ÿ=™=Ó)ˆð €M÷ 
Ø—‘œ5Ÿ:™:Ó&ˆà€Mr   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   ‹  s   € ÷ ,ñ ,�ð ,˜yñ ,r   c                óL  € \        V\        \        34      '       d+   V Uu. uF  p\        V\        4      '       d   V.MTNK   	  pp\        P
                  ! W4      p\        P                  ! W4      p \        P                  ! W4      p\        P                  ! WVR 7      # u upi ))Údims)
r1   r3   r2   ry   r   rE   r   rä   r/   Ú	tensordot)r   r’   ri  ÚaxÚtarget_dtypes   &&&  r   rI  rI  ‹  s�   € Ü�$œœu˜×&Ò&Ù>BÓC¹d¸œ
 2¤s×+Ò+�‘°Ò3¹dˆÐCä×0Ò0°Ó6€LÜ×Ò˜QÓ-€AÜ×Ò˜QÓ-€Aä�?Š?˜1 dÔ+Ð+ùò Ds   ¡$B!c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r   r   r’   rA   rS   r   )r   s   "r   r   r   –  s!   € ÷ ñ ˆ9ð ˜ð ¨ñ r   c                ó°  € \         P                  ! W4      pV\        P                  8H  pV'       d   \        P                  p\
        P                  ! W4      p \
        P                  ! W4      pV P                  ^ 8X  g   VP                  ^ 8X  d
   W,          pM\        P                  ! W4      pV'       d    VP                  \        P                  4      pV# r6  )
r   rE   r/   rI  rA  r   rä   rn   Úmatmulr  )r   r’   rA   r'   rE  rW   s   &&&   r   ÚdotrP  –  s�   € Ü×)Ò)¨!Ó/€EØ”u—z‘zÑ!€GßÜ—‘ˆä×Ò˜QÓ&€AÜ×Ò˜QÓ&€Aà‡v�v�„{�a—f‘f ”kØ•‰ä—’˜aÓ#ˆçØ—‘œ5Ÿ:™:Ó&ˆà€Mr   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   ª  s   € ÷ ñ ˆYð ˜9ñ r   c               óT  € \         P                  ! W4      pV\        P                  8H  ;'       d!    V P                  ;'       g    VP                  pV\        P
                  8H  pV'       d   \        P                  pMV'       d   \        P                  p\        P                  ! W4      p \        P                  ! W4      p\        P                  ! W4      pV'       d"   VP                  \        P                  4      pV# V'       d    VP                  \        P
                  4      pV# r   )r   rE   r/   r  r  rI  r  rA  r   rä   Úinnerr  )r   r’   r'   r  rE  rW   s   ""    r   rS  rS  ª  sÄ   € Ü×)Ò)¨!Ó/€EØ”u—}‘}Ñ$×?Ð?¨!¯(©(×*>Ð*>°a·h±h€GØ”u—z‘zÑ!€Gçä—‘‰ß	Ü—‘ˆä×Ò˜QÓ&€AÜ×Ò˜QÓ&€Aä�[Š[˜Ó€FçØ—‘œ5Ÿ=™=Ó)ˆð €M÷ 
Ø—‘œ5Ÿ:™:Ó&ˆØ€Mr   c               ó$   € V ^8„  d   QhRRRRRR/# rM  r   )r   s   "r   r   r   Á  s!   € ÷ ñ ˆYð ˜9ð ¨?ñ r   c                ó.   € \         P                  ! W4      # r   )r/   Úouter)r   r’   rA   s   &&&r   rV  rV  Á  s   € Ü�;Š;�qÓÐr   c               ó    € V ^8„  d   QhRRRR/# r­   r   )r   s   "r   r   r   Å  s   € ÷ H)ñ H)ˆYð H)˜9ñ H)r   c                ó(  € Ve   V3^,          w  r#p\         P                  ! W P                  4      p\         P                  ! W1P                  4      p\        P                  ! WR4      p \        P                  ! WR4      pRpV P
                  R,          R9  g   VP
                  R,          R9  d   \        V4      h\        V R	,          P
                  VR	,          P
                  4      pV P
                  R,          ^8X  g   VP
                  R,          ^8X  d*   VR
,          p\         P                  ! V\        V4      4      p\        P                  ! W4      p\        P                  ! WxR7      p	\         P                  ! W4      p \         P                  ! W4      pV R	,          p
V R,          pV P
                  R,          ^8X  d
   V R,          pVR	,          pVR,          pVP
                  R,          ^8X  d
   VR,          pV	P                  ^ 8w  d4   V	P
                  R,          ^8X  d   V	R	,          pV	R,          pV	R,          pV P
                  R,          ^8X  d�   VP
                  R,          ^8X  d   W®,          W½,          ,
          V	R&   V	# VP
                  R,          ^8w  d    \        RVP
                  R,           24      hVX,          XR&   V
) V,          XR&   W®,          W½,          ,
          XR&   EMV P
                  R,          ^8w  d    \        RV P
                  R,           24      hVP
                  R,          ^8X  dL   VX,          XV,          ,
          XR&   WÍ,          W¯,          ,
          XR&   W®,          W½,          ,
          XR&   MgVP
                  R,          ^8w  d    \        RVP
                  R,           24      hX) V,          XR&   WÍ,          XR&   W®,          W½,          ,
          XR&   \        P                  ! V	RV4      # )NzDincompatible dimensions for cross product
(dimension must be 2 or 3).r½   zb.shape[-1] must be 3, got za.shape[-1] must be 3, got zb.shape[-1] must be 2, got r�   )r   rª   ).rŸ   )rª   ).rŒ   ).r   )r   ro   rn   r/   Úmoveaxisrƒ   r>   ro  rŽ   r   rE   râ   rä   ÚAssertionError)r   r’   ÚaxisaÚaxisbÚaxiscrL   Úmsgrƒ   r'   ÚcpÚa0r¹  rº  Úb0Úb1Úb2Úcp0Úcp1Úcp2s   &&&&&&             r   Úcrossrg  Å  s.  € ð ÒØ#˜g¨�kÑˆ�eô ×&Ò& u¯f©fÓ5€EÜ×&Ò& u¯f©fÓ5€Eô 	�Š�q Ó$€AÜ�Š�q Ó$€AØ
Q€CØ‡w�wˆr…{˜&Ô  A§G¡G¨B¥K°vÔ$=Ü˜‹oÐô ˜Q˜v�YŸ_™_¨a°­i¯o©oÓ>€EØ‡w�wˆr…{�aÔ˜1Ÿ7™7 2�;¨!Ô+Ø��ˆä×*Ò*¨5´#°e³*Ó=ˆÜ×)Ò)¨!Ó/€EÜ	�Š�UÔ	(€Bô 	×Ò˜QÓ&€AÜ×Ò˜QÓ&€Að 
ˆ6�€BØ	
ˆ6�€BØ‡w�wˆr…{�aÔØˆv�YˆØ	
ˆ6�€BØ	
ˆ6�€BØ‡w�wˆr…{�aÔØˆv�YˆØ	‡w�w�!„|˜Ÿ™ �¨Ô)Ø��jˆØ��jˆØ��jˆà‡w�wˆr…{�aÔØ�7‰7�2�;˜!Ôà•g ¥Õ'ˆBˆs‰GØˆIà�w‰w�r�{˜aÔÜ$Ð'BÀ1Ç7Á7È2Å;À-Ð%PÓQÐQð ˜B•wˆC�‰HØ�s˜R•xˆC�‰HØ•w ¥Õ(ˆC�‹Hà�7‰7�2�;˜!ÔÜ Ð#>¸q¿w¹wÀr½{¸mÐ!LÓMÐMØ�7‰7�2�;˜!ÔØ˜B•w  b¥Õ(ˆC�‰HØ•w ¥Õ(ˆC�‰HØ•w ¥Õ(ˆC�ŠHà�w‰w�r�{˜aÔÜ$Ð'BÀ1Ç7Á7È2Å;À-Ð%PÓQÐQØ�s˜R•xˆC�‰HØ•wˆC�‰HØ•w ¥Õ(ˆC�‰Hä�>Š>˜"˜b %Ó(Ð(r   rA   r   rA  Úoptimizec                óŒ  € ^RI Hp ^RIHpHpHp	Hp
Hp V
! V4      pV	! V4      pV e   \        W4      '       g   \        R4      hVR8w  d   \        R4      h\        V^ ,          \        4      '       * pV'       d   VRR R,          pMV^ ,          VR,          rÞV Uu. uF
  qø! V4      NK  	  ppVf   \        P                  ! V!  MTpV\        P                  8H  ;'       d5    \         ;QJ d    R	 V 4       F  '       d   K   R
M	  RM! R	 V 4       4      pV'       d   \        P"                  pV\        P$                  \        P&                  \        P(                  \        P*                  39   pV'       d   \        P,                  p\.        P0                  ! VVV4      p^ RIHp  VP7                  4       '       d–   \        P8                  P4                  P:                  p\        P8                  P4                  P<                  pVRJ d   RpM%VR
J d    R
\        P8                  P4                  n        V\        P8                  P4                  n        V'       d�   VR,          p\?        V4      ^,          ^8H  pV'       d
   VR,          p\A        \B        PD                  PG                  \I        VV4      4      4      pV'       d   VPK                  X4       \        PL                  ! V!  pM\        PL                  ! X.VO5!  pVP7                  4       '       d?   X\        P8                  P4                  n        X\        P8                  P4                  n        T! T T4      pT! T4      # u upi   TP7                  4       '       d@   X\        P8                  P4                  n        X\        P8                  P4                  n        i i ; i)rŒ   )Úndarray)Úmaybe_copy_toÚnormalize_array_likeÚnormalize_castingÚnormalize_dtypeÚwrap_tensorsNz'out' must be an arrayr   z#'order' parameter is not supported.:NNr   r‹   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir   )r  )r×   Úts   & r   rØ   Úeinsum.<locals>.<genexpr>7  s   é € Ð3NÁgÀ·H¶HÃgùs   ‚FT)Ú
opt_einsumÚauto:rŒ   Nr   r�   )'Ú_ndarrayrj  Ú_normalizationsrk  rl  rm  rn  ro  r1   r?   r‚   Ústrr   rE   r/   r  r·  r  rA  Úint8Úint16Úint32Úint64r   r&   Útorch.backendsrs  Úis_availableÚbackendsÚstrategyÚenabledrŽ   r3   Ú	itertoolsÚchainÚfrom_iterabler�   rw   Úeinsum)rA   r'   r   r!   rh  Úoperandsrj  rk  rl  rm  rn  ro  Úsublist_formatÚarray_operandsÚ
subscriptsÚoprF   rK  r  Úis_short_intrs  Úold_strategyÚold_enabledÚsublistsÚhas_sublistoutÚ
sublistoutrW   s   $$$$$*                     r   r„  r„    sÊ  € õ "÷õ ñ ˜EÓ"€EÙ Ó(€GØ
‚œz¨#×7Ò7ÜÐ0Ó1Ð1Ø�„|Ü!Ð"GÓHÐHô $ H¨Q¥K´Ó5Ô5€Nßð " # 2˜ sÕ+‰ð &.¨a¥[°(¸2µ,�Ná2@ÓA±.¨BÐ# BÖ'±.€GÐAØ>Cºm”<×0Ò0°'Ò:ÐQV€Lð œeŸm™mÑ+×NÐN·³Ñ3NÁgÓ3N··²Ñ3NÁgÓ3NÓ0N€GßÜ—}‘}ˆà¤E§K¡K´·±¼U¿[¹[Ì%Ï+É+Ð#VÑV€LßÜ—{‘{ˆä×$Ò$ W¨l¸GÓD€Gå)ð!<à×"Ñ"×$Ò$Ü Ÿ>™>×4Ñ4×=Ñ=ˆLÜŸ.™.×3Ñ3×;Ñ;ˆKð
 ˜4ÓØ!‘Ø˜UÓ"Ø49”—‘×)Ñ)Ô1à19ŒE�N‰N×%Ñ%Ô.çà •~ˆHÜ  ›]¨QÕ.°!Ñ3ˆNßØ% b�\�
ÜœIŸO™O×9Ñ9¼#¸gÀxÓ:PÓQÓRˆHßØ—‘ 
Ô+ä—\’\ 8Ñ,‰Fä—\’\ *Ð7¨wÓ7ˆFð ×"Ñ"×$Ò$Ø1=ŒE�N‰N×%Ñ%Ô.Ø0;ŒE�N‰N×%Ñ%Ô-á˜3 Ó'€FÙ˜ÓÐùòi Bøð^ ×"Ñ"×$Ò$Ø1=ŒE�N‰N×%Ñ%Ô.Ø0;ŒE�N‰N×%Ñ%Õ-ð %ús!   ÂM'Æ(M, Æ>BM, ÉB'M, Í,AOc                óô   € V P                   P                  '       d   \        R V P                    R24      h\        P                  ! WR7      w  w  r\        P
                  ! WP                  4      pVR8H  pWV3# )zsorting z is not supportedrK   Ústable)r'   rà   r‚   r   rM   ro   rn   )r}   rL   Úkindr   r‘  s   &&&& r   Ú_sort_helperr“  m  sh   € Ø‡|�|××ÐÜ! H¨V¯\©\¨NÐ:KÐ"LÓMÐMÜ×-Ò-¨fÔ@�O�I€VÜ×%Ò% d¯K©KÓ8€Dà�XÑ€Fà˜ÐÐr   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   r   r   )r   s   "r   r   r   x  s   € ÷ ñ ˆIð Ð2Dñ r   c                óh   € \        WW#4      w  rp\        P                  ! WVR 7      pVP                  # ©)r„  r‘  )r“  r/   Úsortrt   )r   rL   r’  r   r‘  rW   s   &&&&  r   r˜  r˜  x  s,   € ä" 1¨DÓ8�O€AˆVÜ�ZŠZ˜¨FÔ3€FØ�=‰=Ðr   c               ó    € V ^8„  d   QhRRRR/# r•  r   )r   s   "r   r   r     s   € ÷ 5ñ 5ˆyð 5Ð5Gñ 5r   c                óP   € \        WW#4      w  rp\        P                  ! WVR 7      # r—  )r“  r/   Úargsort)r   rL   r’  r   r‘  s   &&&& r   r›  r›    s#   € Ü" 1¨DÓ8�O€AˆVÜ�=Š=˜¨VÔ4Ð4r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r-  Úsorterr  r   )r   s   "r   r   r   „  s$   € ÷ >ñ >Øð>Øð>Ø5Eñ>r   c                óš   € V P                   P                  '       d   \        R V P                    24      h\        P                  ! WW#R7      # )zsearchsorted with dtype=)Úsider�  )r'   rà   r‚   r/   Úsearchsorted)r   r-  rŸ  r�  s   &&&&r   r   r   „  s>   € ð 	‡w�w××ÐÜ!Ð$<¸Q¿W¹W¸IÐ"FÓGÐGä×Ò˜a¨Ô=Ð=r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   �  s   € ÷ 2ñ 2�	ñ 2r   c                ó´   € \         P                  ! WP                  R 4      p\         P                  ! W P                  R4      p\        P                  ! WV4      # )ÚsourceÚdestination)r   r[  rn   r/   rY  )r   r£  r¤  s   &&&r   rY  rY  �  s?   € Ü×'Ò'¨·±¸ÓA€FÜ×,Ò,¨[¿&¹&À-ÓP€KÜ�>Š>˜! [Ó1Ð1r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   –  s   € ÷ +ñ +�	ñ +r   c                ó°   € \         P                  ! WP                  4      p\         P                  ! W P                  4      p\        P                  ! WV4      # r   )r   ro   rn   r/   Úswapaxes)r   r  r  s   &&&r   r§  r§  –  s;   € Ü×&Ò& u¯f©fÓ5€EÜ×&Ò& u¯f©fÓ5€EÜ�>Š>˜! EÓ*Ð*r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   œ  s   € ÷ ñ �	ñ r   c                ó¨  € V P                   p\        P                  ! W4      pV^ 8  d	   W#,          pRp^ Tu;8:  d   V^,           8  g-   M \        P                  ! VRV) RV^,           V3,          4      hW8  d
   V^,          pW8X  d   V # \	        \        V4      4      pVP                  V4       VP                  W!4       V P                  V4      # )rŸ   z5'%s' arg requires %d <= %s < %d, but %d was passed inr¹   )	rn   r   ro   Ú	AxisErrorr3   rZ  ÚremoveÚinsertr  )r   rL   r¹   r†   r^  ri  s   &&&   r   Úrollaxisr­  œ  s³   € ð 	
�‰€AÜ×%Ò% dÓ.€DØˆq„yØ�
ˆØ
A€CØ�Ö˜˜Q�ÖÜ�oŠo˜c W¨q¨b°'¸1¸q½5À%Ð$HÕHÓIÐIØ„|à��
ˆØ„}ð ˆÜ”�a“‹>€DØ‡K�K�ÔØ‡K�K�ÔØ�6‰6�$‹<Ðr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   ·  s   € ÷ &ñ &ˆIñ &r   c                óÎ   € VeL   \         P                  ! W P                  RR7      p\        V\        4      '       g   V3\        V4      ,          p\        P                  ! WV4      # )NT)Úallow_duplicate)r   r[  rn   r1   r2   rŽ   r/   Úroll)r   ÚshiftrL   s   &&&r   r±  r±  ·  sL   € ØÒÜ×)Ò)¨$·±ÈÔMˆÜ˜%¤×'Ò'Ø�Hœs 4›yÕ(ˆEÜ�:Š:�a Ó%Ð%r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Â  s   € ÷ ñ ˆyñ r   c                óÒ   € VR8X  d   T pV# Vf   V P                  4       pV# \        V\        4      '       d   T pV F  pV P                  V4      pK  	  V# V P                  V4      pV# )Nr   )rç  r1   r2   )r   rL   rW   rJ  s   &&  r   rç  rç  Â  st   € Øˆr„zØˆð €Mð 
ŠØ—‘“ˆð €Mô �dœE×"Ò"ØˆFÛ�ØŸ™ 2›’ñ ð €Mð —Y‘Y˜t“_ˆFØ€Mr   c               ó    € V ^8„  d   QhRRRR/# r•  r   )r   s   "r   r   r   Ñ  s   € ÷ ñ ˆyð Ð+=ñ r   c                óZ   € \        V4      ^8X  d
   V^ ,          MTpV P                  V4      # r
  )rŽ   rò   )r   Únewshaper   s   &&&r   rò   rò   Ñ  s'   € ä! (›m¨qÔ0ˆx˜Ž{°h€HØ�9‰9�XÓÐr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Ü  s   € ÷ ñ �ñ r   c                ó´   € VR9   d)   \        \        \        V P                  4      4      4      pM\	        V4      ^8X  d
   V^ ,          pV P                  V4      # )N)r   Nr   )r2   ÚreversedrZ  rn   rŽ   Úpermute)r   ri  s   &&r   Ú	transposer¼  Ü  sF   € ð Ð"Ô"Ü”Xœe A§F¡F›mÓ,Ó-‰Ü	ˆT‹�aŒØ�A�wˆØ�9‰9�T‹?Ðr   c               ó    € V ^8„  d   QhRRRR/# r•  r   )r   s   "r   r   r   æ  s   € ÷ ñ ˆYð Ð1ñ r   c                ó.   € \         P                  ! V 4      # r   )r/   rv   )r   r   s   &&r   Úravelr¿  æ  s   € Ü�=Š=˜ÓÐr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úprependr  rw   r   )r   s   "r   r   r   ê  s-   € ÷ Gñ GØðGð ð	Gð
 ñGr   c                ó  € \         P                  ! W P                  4      pV^ 8  d   \        RV 24      hV^ 8X  d   V # VeT   \	        V P
                  4      pVP                  ^ 8”  d   VP
                  V,          M^WR&   \        P                  ! W54      pVeT   \	        V P
                  4      pVP                  ^ 8”  d   VP
                  V,          M^WR&   \        P                  ! WE4      p\        P                  ! WW#VR7      # )rŸ   z#order must be non-negative but got )rL   rÁ  rw   )	r   ro   rn   r>   r3   rƒ   r/   rm  Údiff)r   r†   rL   rÁ  rw   rƒ   s   &&&&& r   rÃ  rÃ  ê  sÐ   € ô ×%Ò% d¯F©FÓ3€Dàˆ1„uÜÐ>¸q¸cÐBÓCÐCàˆA„vàˆàÒÜ�Q—W‘W“ˆØ-4¯\©\¸AÔ-=�g—m‘m DÖ)À1ˆ‰Ü×$Ò$ WÓ4ˆàÒÜ�Q—W‘W“ˆØ,2¯K©K¸!¬O�f—l‘l 4Ö(Àˆ‰Ü×#Ò# FÓ2ˆä�:Š:�a ¸vÔFÐFr   c               ó   € V ^8„  d   QhRR/# )r   r!  r   r   )r   s   "r   r   r   
  s   € ÷ ñ ˆYñ r   c                ó~   € \         P                  ! V 4      pV'       d   V^´\         P                  ,          ,          pV# )é´   )r/   ÚangleÚpi)r!  ÚdegrW   s   && r   rÇ  rÇ  
  s)   € Ü�[Š[˜‹^€Fß
Ø˜3¤§¡�>Õ*ˆØ€Mr   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r     ó   € ÷ ñ ˆIñ r   c                ó.   € \         P                  ! V 4      # r   )r/   Úsinc©r�   s   &r   rÍ  rÍ    ó   € Ü�:Š:�a‹=Ðr   rL   Ú
edge_orderc               ó   € V ^8„  d   QhRR/# )r   Úfr   r   )r   s   "r   r   r     s   € ÷ jñ j�	ñ jr   c               ó~  € V P                   p\        P                  ! V4      pVf   \        \	        V4      4      pM\        P
                  ! W4      p\        V4      p\        V4      pV^ 8X  d   R.V,          pEM�V^8X  dF   \        P                  ! V^ ,          4      '       g   V^ ,          P                   ^ 8X  d   W6,          pEM5Wv8X  Ed$   \        V4      p\        V4       EF  w  rš\        P                  ! V
4      p
V
P                   ^ 8X  d   K/  V
P                   ^8w  d   \        R4      h\        V
4      V P                  WY,          ,          8w  d   \        R4      hV
P                  P                   '       g-   V
P                  P"                  '       g   V
P%                  4       p
\        P&                  ! V
4      pW»^ ,          8H  P)                  4       '       d
   V^ ,          pW¸V	&   EK
  	  M\+        R4      hV^8”  d   \        R4      h. p\-        R 4      .V,          p\-        R 4      .V,          p\-        R 4      .V,          p\-        R 4      .V,          pV P                  p\        P.                  ! V4      \0        \2        39   d!   V P%                  4       p \        P4                  p\7        WX4       EFð  w  ppV P                  V,          V^,           8  d   \        R4      h\        P8                  ! V VR7      p\        P                  ! V4      ;'       g    VP                   ^ 8H  p\-        ^R4      WÑ&   \-        R R4      Wá&   \-        ^R4      Wñ&   \-        ^R 4      VV&   V'       dE   V \        V4      ,          V \        V4      ,          ,
          RV,          ,          V\        V4      &   M÷V^ R pVR	,          pV) VVV,           ,          ,          pVV,
          VV,          ,          pVVVV,           ,          ,          p^.V,          pRVV&   VP;                  V4      pVP;                  V4      pVP;                  V4      pVV \        V4      ,          ,          VV \        V4      ,          ,          ,           VV \        V4      ,          ,          ,           V\        V4      &   V^8X  d¹   ^ WÑ&   ^Wá&   ^ Wñ&   V'       d   TMV^ ,          pV \        V4      ,          V \        V4      ,          ,
          V,          V\        V4      &   RWÑ&   RWá&   RWñ&   V'       d   TMVR,          pV \        V4      ,          V \        V4      ,          ,
          V,          V\        V4      &   EMù^ WÑ&   ^ Wá&   ^Wñ&   ^VV&   V'       d   RV,          pRV,          pRV,          pMgV^ ,          pV^,          pRV,          V,           ) VVV,           ,          ,          pVV,           VV,          ,          pV) VVV,           ,          ,          pVV \        V4      ,          ,          VV \        V4      ,          ,          ,           VV \        V4      ,          ,          ,           V\        V4      &   RWÑ&   RWá&   RWñ&   RVV&   V'       d   RV,          pRV,          pR
V,          pMfVR,          pVR,          pVVVV,           ,          ,          pVV,           ) VV,          ,          pRV,          V,           VVV,           ,          ,          pVV \        V4      ,          ,          VV \        V4      ,          ,          ,           VV \        V4      ,          ,          ,           V\        V4      &   VP=                  V4       \-        R 4      WÑ&   \-        R 4      Wá&   \-        R 4      Wñ&   \-        R 4      VV&   EKó  	  V^8X  d
   V^ ,          # V# )NrÅ   z&distances must be either scalars or 1dzGwhen 1d, distances must match the length of the corresponding dimensionzinvalid number of argumentsz)'edge_order' greater than 2 not supportedzlShape of array too small to calculate a numerical gradient, at least (edge_order + 1) elements are required.r½   g       @r‹   g      ø?g      à?r�   éþÿÿÿg      ø¿g      à¿éýÿÿÿg       À)rn   r   Úndarrays_to_tensorsr2   rZ  r[  rŽ   r   Ú	is_scalarr3   r|  r/   Ú	as_tensorr>   rƒ   r'   Úis_floating_pointrà   ÚdoublerÃ  r·  r?   rÓ  Úpython_type_for_torchry   rI  rá   r�   rñ   rò   rw   )rÒ  rL   rÐ  Úvarargsrµ   ri  Úlen_axesr†   Údxr~  Ú	distancesÚdiffxÚoutvalsÚslice1Úslice2Úslice3Úslice4ÚotypeÚax_dxrA   Úuniform_spacingÚdx1Údx2r   r’   Úcrƒ   Údx_0Údx_ns   &$$*                         r   Úgradientrî    sp  € Ø	�‰€Aä×'Ò'¨Ó0€Gà‚|Ü”U˜1“X‹‰ä×)Ò)¨$Ó2ˆä�4‹y€HÜˆG‹€AØˆA„vàˆU�XÕŠØ	
ˆaŒ”\×+Ò+¨G°A­J×7Ò7¸7À1½:¿?¹?ÈaÔ;OàÕŠØ	
�ä�'‹]ˆÜ% bŸM‰LˆAÜŸš¨	Ó2ˆIØ�~‰~ Ô"ÙØ—‘ 1Ô$Ü Ð!IÓJÐJÜ�9‹~ §¡¨­Õ!1Ô1Ü ð@óð ð —O‘O×5×5Ð5¸¿¹×9S×9SÐ9SØ%×,Ñ,Ó.�	ä—J’J˜yÓ)ˆEð ˜q�Ñ!×&Ñ&×(Ò(Ø˜a��ØˆqŒEò' *ô* Ð5Ó6Ð6à�A„~ÜÐDÓEÐEð
 €Gô �D‹kˆ]˜QÕ€FÜ�D‹kˆ]˜QÕ€FÜ�D‹kˆ]˜QÕ€FÜ�D‹kˆ]˜QÕ€Fà�G‰G€EÜ×)Ò)¨%Ó0´S¼$°KÔ?ð �H‰H‹JˆÜ—‘ˆä˜4—}‰ˆˆeØ�7‰7�4�=˜:¨�>Ô)ÜðCóð ô
 ×Ò˜q¨Ô.ˆô '×0Ò0°Ó7×JÐJ¸5¿:¹:È¹?ˆô ˜Q “|ˆ‰Ü˜T 2“ˆ‰Ü˜Q “|ˆ‰Ü˜Q “~ˆˆt‰çØ"#¤E¨&£MÕ"2°Q´u¸V³}Õ5EÕ"EÈ#ÐPUÍ+Õ!VˆC”�f“Òà˜˜"�+ˆCØ˜•)ˆCØ�˜#  s¥Õ+Õ,ˆAØ�s•˜s S�yÕ)ˆAØ�s˜c C�iÕ(Õ)ˆAà�C˜!•GˆEØˆE�$‰KØ—	‘	˜%Ó ˆAØ—	‘	˜%Ó ˆAØ—	‘	˜%Ó ˆAð �A”e˜F“mÕ$Õ$ q¨1¬U°6«]Õ+;Õ';Õ;¸aÀ!ÄEÈ&ÃMÕBRÕ>RÕRð ”�f“Ñð
 ˜Œ?ØˆF‰LØˆF‰LØˆF‰Lß+‘5°°qµˆDà"#¤E¨&£MÕ"2°Q´u¸V³}Õ5EÕ"EÈÕ!MˆC”�f“ÑàˆF‰LØˆF‰LØˆF‰Lß+‘5°°rµˆDà"#¤E¨&£MÕ"2°Q´u¸V³}Õ5EÕ"EÈÕ!MˆC”�f“Óð ˆF‰LØˆF‰LØˆF‰LØˆF�4‰LßØ˜5•L�Ø˜%•K�Ø˜5•L‘à˜A•h�Ø˜A•h�Ø˜C•i #•oÐ&¨#°°sµÕ*;Õ<�Ø˜3•Y 3¨¥9Õ-�Ø�D˜C 3¨¥9Õ-Õ.�ð �A”e˜F“mÕ$Õ$ q¨1¬U°6«]Õ+;Õ';Õ;¸aÀ!ÄEÈ&ÃMÕBRÕ>RÕRð ”�f“Ñð ˆF‰LØˆF‰LØˆF‰LØˆF�4‰LßØ˜%•K�Ø˜5•L�Ø˜%•K‘à˜B•i�Ø˜B•i�Ø˜S C¨#¥IÕ.Õ/�Ø˜C•i�L C¨#¥IÕ.�Ø˜3•Y •_¨°°cµ	Õ):Õ;�ð �A”e˜F“mÕ$Õ$ q¨1¬U°6«]Õ+;Õ';Õ;¸aÀ!ÄEÈ&ÃMÕBRÕ>RÕRð ”�f“Ñð 	�‰�sÔô ˜T“{ˆ‰Ü˜T“{ˆ‰Ü˜T“{ˆ‰Ü˜T“{ˆˆtŒñG %ðJ �1„}Ø�q�zÐàˆr   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   rA   rS   r   )r   s   "r   r   r   Æ  s   € ÷ ñ ˆYð ¨ñ r   c                óF  € V P                  4       '       d   \        P                  ! WR 7      pV# V P                  4       '       dZ   \        P                  ! \        P                  ! V P
                  VR 7      \        P                  ! V P                  VR 7      4      pV# T pV# ))Údecimals)rÙ  r/   Úroundrà   ÚcomplexrÍ  rÎ  )r   rñ  rA   rW   s   &&& r   rò  rò  Æ  sx   € Ø×Ñ×ÒÜ—’˜QÔ2ˆð €Mð 
�‰�Šä—’Ü�KŠK˜Ÿ™¨Ô2Ü�KŠK˜Ÿ™¨Ô2ó
ˆð €Mð ˆØ€Mr   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   Ù  s   € ÷ 
'ñ 
'�Yñ 
'r   c                ó<  € \         P                  ! V 4      '       g   V # V^8”  d2   V\         P                  ! V P                  4      P                  ,          p\         P
                  ! V P                  4      V8  pVP                  4       '       d   V P                  # T # r
  )	r/   rà   Úfinfor'   ÚepsÚabsrÎ  r·  rÍ  )r   ÚtolÚmasks   && r   Úreal_if_closerû  Ù  sn   € Ü×Ò˜A×ÒØˆØ
ˆQ„wð ”E—K’K §¡Ó(×,Ñ,Õ,ˆä�9Š9�Q—V‘VÓ˜sÑ"€DØ—X‘X—Z’Zˆ1�6‰6Ð& QÐ&r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   æ  rË  r   c                ó.   € \         P                  ! V 4      # r   )r/   rÍ  rM  s   &r   rÍ  rÍ  æ  rÏ  r   c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   ê  r
  r   c                ór   € V P                  4       '       d   V P                  # \        P                  ! V 4      # r   )rà   rÎ  r/   r  rM  s   &r   rÎ  rÎ  ê  s'   € Ø‡|�|‡~‚~Ø�v‰vˆÜ×Ò˜AÓÐr   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r   ð  s   € ÷ 1ñ 1�ñ 1r   c                ó¤   € \         P                  ! V 4      '       d   V P                  ^ 8g  # \         P                  ! V \         P                  R7      # r¼   )r/   rà   rÎ  r  rI  rÎ  s   &r   Ú	iscomplexr  ð  s8   € Ü×Ò˜×ÒØ�v‰v˜‰{ÐÜ×Ò˜A¤U§Z¡ZÔ0Ð0r   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r   ö  s   € ÷ 0ñ 0ˆiñ 0r   c                ó¤   € \         P                  ! V 4      '       d   V P                  ^ 8H  # \         P                  ! V \         P                  R7      # r¼   )r/   rà   rÎ  r  rI  rÎ  s   &r   Úisrealr  ö  s6   € Ü×Ò˜×ÒØ�v‰v˜‰{ÐÜ�?Š?˜1¤E§J¡JÔ/Ð/r   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r   ü  s   € ÷ ñ �Iñ r   c                ó.   € \         P                  ! V 4      # r   ©r/   rà   rÎ  s   &r   Úiscomplexobjr	  ü  s   € Ü×Ò˜AÓÐr   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r      s   € ÷ #ñ #�ñ #r   c                ó8   € \         P                  ! V 4      '       * # r   r  rÎ  s   &r   Ú	isrealobjr     s   € Ü×Ò Ó"Ô"Ð"r   c               ó    € V ^8„  d   QhRRRR/# ©r   r�   r   rA   rS   r   )r   s   "r   r   r     ó   € ÷ ñ �	ð  ñ r   c                ó.   € \         P                  ! V 4      # r   )r/   Úisneginf©r�   rA   s   &&r   r  r    rù  r   c               ó    € V ^8„  d   QhRRRR/# r  r   )r   s   "r   r   r     r  r   c                ó.   € \         P                  ! V 4      # r   )r/   Úisposinfr  s   &&r   r  r    rù  r   c               ó   € V ^8„  d   QhRR/# r²   r   )r   s   "r   r   r     s   € ÷ ñ ˆ)ñ r   c                ó@   € \         P                  P                  V 4      # r   )r/   ÚspecialÚi0rÎ  s   &r   r  r    s   € Ü�=‰=×Ñ˜AÓÐr   c                ój   € ^RI Hp  V! V 4      pVP                  4       ^8H  #   \         d     R# i ; i)rŒ   )rl  F)rv  rl  rB  Ú	Exception)r   rl  rq  s   &  r   Úisscalarr    s6   € å5ðÙ  Ó#ˆØ�w‰w‹y˜A‰~ÐøÜô Úðús   ˆ# £2±2c                ór   € \         P                  ! 4       P                  p\        P                  ! V R VR7      # ©F)Úperiodicr'   )r   r¾   r¿   r/   Úhamming_window©r§  r'   s   & r   Úhammingr"    s+   € Ü×'Ò'Ó)×5Ñ5€EÜ×Ò ¨E¸Ô?Ð?r   c                ór   € \         P                  ! 4       P                  p\        P                  ! V R VR7      # r  )r   r¾   r¿   r/   Úhann_windowr!  s   & r   Úhanningr%  #  s+   € Ü×'Ò'Ó)×5Ñ5€EÜ×Ò˜Q¨°eÔ<Ð<r   c                ór   € \         P                  ! 4       P                  p\        P                  ! WR VR7      # )F)Úbetar  r'   )r   r¾   r¿   r/   Úkaiser_window)r§  r'  r'   s   && r   Úkaiserr)  (  s+   € Ü×'Ò'Ó)×5Ñ5€EÜ×Ò˜q°eÀ5ÔIÐIr   c                ór   € \         P                  ! 4       P                  p\        P                  ! V R VR7      # r  )r   r¾   r¿   r/   Úblackman_windowr!  s   & r   Úblackmanr,  -  ó+   € Ü×'Ò'Ó)×5Ñ5€EÜ× Ò  ¨U¸%Ô@Ð@r   c                ór   € \         P                  ! 4       P                  p\        P                  ! V R VR7      # r  )r   r¾   r¿   r/   Úbartlett_windowr!  s   & r   Úbartlettr0  2  r-  r   c               ó   € V ^8„  d   QhRR/# )r   rF   r   r   )r   s   "r   r   r   I  s   € ÷ (ñ (˜)ñ (r   c                 ó|  € R p^ pV  Fƒ  pVP                   p\        V4      '       d   RpVP                  '       g   VP                  '       g   ^pM$\        P                  V4      pVf   \        R4      h\        P                  ! W%4      pK…  	  V'       d   \        ^,          V,          # \        ^ ,          V,          # )FTz+can't get common type for non-numeric array)
r'   r	  rÙ  rà   Úarray_precisionÚgetr?   Úbuiltinsrÿ  Ú
array_type)rF   rà   Ú	precisionr   rq  Úps   *     r   Úcommon_typer9  I  s˜   € Ø€JØ€IÛˆØ�G‰GˆÜ˜�?Š?ØˆJØ×#×#Ð# q§|§| |Ø‰Aä×#Ñ# AÓ&ˆAØŠyÜÐ MÓNÐNÜ—L’L Ó.Š	ñ ÷ Ü˜!�}˜YÕ'Ð'ä˜!�}˜YÕ'Ð'r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úbinsr?  r  r   )r   s   "r   r   r   `  s&   € ÷ )ñ )Øð)à
ð)ð
 ñ)r   c           	     óŽ  € Ve   \        R4      hVe(   VP                  P                  '       d   \        R4      hV P                  P                  ;'       g    V P                  P                  '       * pVR J ;'       g    VP                  P                  '       * pV'       d   V P                  4       p Ve!   \        P                  ! W@P                  4      p\        V\        P                  4      '       dI   VP                  ^ 8X  d   \        P                  ! V4      pM \        P                  ! WP                  4      pVf&   \        P                  ! WV\        V4      R7      w  r‰M$\        P                  ! WW$\        V4      R7      w  r‰V'       g   V'       d   VP!                  4       pV'       d   V	P!                  4       p	W‰3# )Nú3normed argument is deprecated, use density= insteadzcomplex weights histogram.)ÚweightÚdensity)rZ  r>  r?  )r>   r'   rà   r‚   rÙ  rÚ  r   rä   r1   r/   ÚTensorrn   ÚoperatorÚindexÚ	histogramrI  Úlong)
r   r;  rZ  Únormedr?  r?  Úis_a_intÚis_w_intÚhr’   s
   &&&&&&    r   rC  rC  `  s@  € ð ÒÜÐNÓOÐOàÒ˜wŸ}™}×7×7Ð7Ü!Ð">Ó?Ð?à—G‘G×-Ñ-×CÐC°·±×1CÑ1CÔD€HØ˜$ˆ×EÐE g§m¡m×&EÑ&EÔ"E€HßØ�H‰H‹JˆàÒÜ×&Ò& w·±Ó8ˆä�$œŸ™×%Ò%Ø�9‰9˜Œ>ä—>’> $Ó'‰Dä×'Ò'¨¯g©gÓ6ˆDà‚}Ü�Š˜q¨wÄÀWÃÔN‰ˆˆ1ä�ŠØ˜5¼$¸w»-ô
‰ˆ÷ —xØ�F‰F‹HˆßØ�F‰F‹Hˆàˆ4€Kr   c               ó    € V ^8„  d   QhRRRR/# ©r   rZ  r  r?  r   )r   s   "r   r   r   Œ  s    € ÷ ñ ð ð	ð ñr   c                óð   € \        V 4      \        V4      8w  d   \        R 4      h \        V4      pV^8w  d   V^8w  d   W".p\        W3W#WEV4      w  r‰W‰^ ,          V	^,          3#   \         d    ^p LCi ; i)z"x and y must have the same length.)rŽ   r>   r?   Úhistogramdd)
r�   r  r;  rZ  rE  r?  r?  rµ   rH  Úes
   &&&&&&&   r   Úhistogram2drN  Œ  s€   € ô ˆ1ƒv”�Q“ÔÜÐ=Ó>Ð>ðÜ�‹Iˆð 	ˆA„v�!�q”&Øˆ|ˆä˜�v˜t¨F¸WÓE�D€Aà��d�A�a•Dˆ=Ðøô ô ØŠðús   ¦A% Á%A5Á4A5c               ó    € V ^8„  d   QhRRRR/# rJ  r   )r   s   "r   r   r   ¦  s    € ÷ 4ñ 4ð ð4ð
 ñ4r   c                óÒ  € Ve   \        R4      h^RIHpHp \	        V \
        \        34      '       d   V! V 4      P                  p MV! V 4      p \        P                  ! V 4      p V P                  P                  '       g-   V P                  P                  '       g   V P                  4       p \	        V\        4      ;'       g    \        P                   ! R V 4       4      '       * pV'       dR   V! V4      pV U	u. uF  q™P                  NK  	  p
p	V U	u. uF#  p	\"        P$                  ! W�P                  4      NK%  	  pp	Ve   VP'                  4       P)                  4       pVe�   V P+                  ^ R7      p\        P,                  ! V4      P/                  ^R4      P                  P'                  4       p\        VP)                  4       4      p\"        P$                  ! W@P                  4      pRV/pM/ p\        P0                  ! WV3R\3        V4      /VB w  rÙV'       d4   \5        V	X
4       UUu. uF  w  rï\"        P$                  ! Wï4      NK  	  p	ppWÙ3# u up	i u up	i u uppi )Nr=  )rl  Únormalize_seq_array_likec              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   )r1   ry   )r×   r’   s   & r   rØ   Úhistogramdd.<locals>.<genexpr>Á  s   é € Ð-OÉ$ÀQ¬j¸¼C×.@Ð.@Ë$ùs   ‚)r„  r>  r?  r�   )r>   rv  rl  rQ  r1   r3   r2   ÚTr/   r9   r'   rÙ  rà   rÚ  ry   r5  r·  r   rä   rv   ÚtolistÚaminmaxrN   rò   rL  rI  r�   )Úsampler;  rZ  rE  r?  r?  rl  rQ  Úbins_is_arrayr’   Úbins_dtypesÚmmÚw_kwdrH  ÚbbÚdtyps   &&&&&&          r   rL  rL  ¦  sà  € ð ÒÜÐNÓOÐOçOä�&œ4¤˜-×(Ò(Ù% fÓ-×/Ñ/‰á% fÓ-ˆä×Ò˜fÓ%€Fà�L‰L×*×*Ð*¨f¯l©l×.E×.EÐ.EØ—‘“ˆô 	�4œÓ×OÐO¤§¢Ñ-OÉ$Ó-OÓ!Oô€M÷ Ù'¨Ó-ˆÙ(,Ó-© 1—w”w©ˆÐ-Ù?CÓD¹t¸!”×$Ò$ Q¯©Ö5¹tˆÐDàÒØ—‘“×&Ñ&Ó(ˆàÒà�^‰^ ˆ^Ó"ˆÜ—	’	˜"“×%Ñ% a¨Ó,×.Ñ.×6Ñ6Ó8ˆÜ�e—l‘l“nÓ%ˆÜ×&Ò& w·±Ó=ˆØ˜7Ð#‰àˆä×Ò˜V¨5ÑQ¼$¸w»-ÐQÈ5ÑQ�D€AçÜ<?ÀÀ;Ô<OÔPÑ<O±°ŒU×!Ò! "Ö+Ñ<OˆÑPàˆ4€Kùò+ .ùÚDùó$ Qs   Ã;IÄ)IÈ2!I#c               ó   € V ^8„  d   QhRR/# rK  r   )r   s   "r   r   r   à  s   € ÷ "ñ "�yñ "r   c               ó  € ^RI Hp V P                  4       ^8”  d   V! V P                  4      # V P                  \        P
                  8X  d   \        P
                  pEM(V P                  P                  '       dä   \        P                  ! \        P                  4      pV P                  \        P                  8H  ;'       gq    VP                  V P                  u;8*  ;'       d    VP                  8*  Mu ;'       d5    VP                  V P                  u;8*  ;'       d    VP                  8*  Mu pV'       d   \        P                  M\        P                  pEM)V P                  P                  '       dy   \        P                   \        P                  \        P"                  3 FD  p\        P                  ! V4      pVP                  T u;8:  d   VP                  8:  g   K>  M KB  Tp M˜	  M•\        P$                  \        P&                  \        P(                  \        P*                  \        P,                  3 FD  p\        P.                  ! V4      pVP                  T u;8:  d   VP                  8:  g   K>  M KB  Tp M	  V! X4      # )rŒ   )ÚDType)Ú_dtypesr`  rB  r'   r/   rI  rà   rö  r  Ú	complex64rþ  rÍ  rÿ  rÎ  Ú
complex128rÙ  r  rá   rA  rx  ry  rz  r{  Úiinfo)r   r`  r'   ÚfiÚfits_in_singler/  Úiis   "      r   Úmin_scalar_typerh  à  sŽ  € õ à‡w�wƒy�1„}á�Q—W‘W‹~Ðà‡w�w”%—*‘*ÔÜ—
‘
Šà	
�‰×	×	Ð	Ü�[Š[œŸ™Ó'ˆØŸ™¤E§O¡OÑ3÷ 
ð 
Ø�F‰F�a—f‘f×&Ô& §¡Ô&×EÐE¨2¯6©6°Q·V±V×+EÔ+E¸r¿v¹vÔ+Eð 	÷ $2”—’´u×7GÑ7GŠà	
�‰×	"×	"Ð	"Ü—=‘=¤%§-¡-´·±Ó?ˆBÜ—’˜R“ˆBØ�v‰v˜Ö$˜bŸf™f×$Ò$Ø�Ùò	 @ô —;‘;¤§
¡
¬E¯K©K¼¿¹ÄeÇkÁkÓRˆBä—’˜R“ˆBØ�v‰v˜Ö$˜bŸf™f×$Ò$Ø�Ùñ Sñ �‹<Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   rk  r   Ú	pad_widthr   )r   s   "r   r   r     s   € ÷ Iñ Iˆyð I Yñ Ir   c                óˆ  € VR 8w  d   \         hVP                  R^ 4      p\        P                  ! V P                  4      pV! V4      p\
        P                  ! WP                  ^34      p\
        P                  ! VR4      P                  4       p\
        P                  P                  P                  V \        V4      VR7      # )ÚconstantÚconstant_values)Úvaluer6  )r‚   r4  r   rÛ  r'   r/   rm  rn   r7  rv   r*  r+  Úpadr2   )rk  rj  r.  Úkwargsrn  Útyps   &&&,  r   ro  ro    s–   € ØˆzÔÜ!Ð!Ø�J‰JÐ(¨!Ó,€Eä
×
,Ò
,¨U¯[©[Ó
9€CÙ�‹J€Eä×"Ò" 9¯z©z¸1¨oÓ>€IÜ—
’
˜9 dÓ+×3Ñ3Ó5€Iä�8‰8×Ñ×"Ñ" 5¬%°	Ó*:À%Ð"ÓHÐHr   )r   F)r   N)NNr   )rŸ   NNr   )rŸ   Nr   rµ  r6  )NF)é2   TFNrŸ   )rr  TNrŸ   )rr  Tg      $@NrŸ   )NNrŒ   N)NÚC)Nr   FN)NT)NTNN)NTFNNN)rö   )Úvalid)NrŸ   )NN)rŒ   )rŸ   rŒ   )NrŸ   N)gñhãˆµøä>g:Œ0âŽyE>F)Tg        NN)NNÚraise)ru  )Nru  )FFFN)NNN)rŸ   rŸ   rŒ   )rŸ   rŸ   rŒ   NN)NrŸ   Nrs  )r   )r�   r�   r�   N)r�   NN)ÚleftN)rs  )rŒ   r�   NN)éd   )é
   NNNN)rl  )¬Ú__doc__Ú
__future__r   r5  r�  rA  Útypingr   r/   Ú r   r   Úcollections.abcr   rv  r   r   r	   r
   r   r   r   r   r)   r0   r9   r<   rB   rH   rO   rX   r_   Ú	row_stackrd   rg   rj   rp   rw   r€   rz   r{   r™   r„   r¡   r¦   r«   r¯   r´   rÀ   rË   rÉ   rã   râ   rñ   rö   rú   rý   r  r  r  r  r  r%  r2  r9  r=  rD  r#   rn   rƒ   rR  rV  r7  r_  rd  rg  rm  ro  rt  r€  ry   r†  rŠ  rŽ  r“  r—  rž  r¢  r¨  r¯  r³  r¼  rÀ  rÆ  rÌ  rÔ  rØ  rß  rã  ré  rð  rõ  rø  rü  r  r  r  r  r¦  r  r"  r%  r)  r-  r/  r3  r>  rB  rI  rP  rS  rV  rg  r„  r“  r˜  r›  r   rY  r§  r­  r±  rç  rò   r¼  r¿  rÃ  rÇ  rÍ  rî  rò  ÚaroundÚround_rû  rÍ  rÎ  r  r  r	  r  r  r  r  r  r"  r%  r)  r,  r0  r  r  rá   rb  rc  r6  r3  r9  rC  rN  rL  rh  ro  r   r   r   Ú<module>r�     sA  ðñõ #ã Û Û Ý  ã ç !÷ Ý(÷÷ ñ ÷ð ÷ð õõõò

õ÷$ð $÷	ð 	ð!ð #ð!ð $/÷	!ð €	ð!ð #ð!ð $/÷	!ð
!ð #ð
!ð $/÷	
!ð'ð #ð'ð $/÷	'ò+ð
 #ð+ð $/÷+ð +÷ 2ð 2õFõ*ò6*÷"9ð 9÷Fð FõFõCõCõ÷*ð *÷9ð 9÷"ð ÷(Dð Dò&ð  $÷&ð &òX	+ð
  $÷	+ð 	+÷ 
ð 
ò6ð  $÷6ð 6÷"ð ò	*ð
  $÷	*ð 	*÷
ð 
ò	+ð
  $÷	+ð 	+÷
ð 
õ ò2ð #÷ð ò8ð #÷ð ò<÷.'ð '÷'ð '÷1ð 1÷ð õ,õ÷ð õ÷
ð õõ÷#ð #÷1ð 1ò)ð*À5÷ *ð $ð ¨uð ¸t÷ ð0 36¸e÷ ÷.ð ÷ð õ.õ.÷Dð D÷Dð Dò*ð  $÷*ð *÷"Jð J÷Kð Kõ÷6ð 6õ%÷	Jð 	J÷ð õ4÷ð õ*÷/ð /ò.ð %)÷ð õ&+õõ6÷$ð $÷5ð 5õ÷!ð !÷<3ð 3÷	ð 	òð  $÷ð ò$%Èd÷ %ð %÷ð ÷ ð  õõ
(÷ð õD÷@,ð ,÷ð õ(÷.ð ÷H)ð H)ðVW ˜$ð W  dð W °#ð W ¸vð W ÐPUô W òz ÷ð ÷5ð 5÷
>ð >õ2õ+÷ð ÷6&ð &÷ð ÷ð ÷ð ÷ð ÷Gð G÷@ð õð
j¨$ð j¸1÷ j÷`ð ð 
€Ø	€÷
'ð 
'õõõ1õ0÷÷#÷ò ÷ò ÷óó@ó
=ó
Jó
Aó
Að ‡]‚]�E—M’M 5§=¢=Ð1Ø	ˆ5�?Š?˜E×,Ò,Ð-ð€
ð
 
‡M‚M�1Ø	‡M‚M�1Ø	‡M‚M�1Ø	‡O‚O�QØ	×Ò�að€÷(÷.)ò )÷Xò ÷44ò 4÷t"÷JIô Ir   