ó
    EñiHU  ã                  ó,  • S SK Jr  S SKrS SKrS SKrS SKJr  S SKrSSKJ	r	J
r
JrJrJr  SSKJrJrJrJr  Sr/ SQrSS	S
SSSSSSS.	r " S S5      rSQS jr0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S_S!S_S"S_S#S_S$S_S%S_SSSSSSSSSSSS&.ErS'SS(S)S*S+S,S-S..rSS/S0S1S2S3S4S5S6S7S8S9SS:.rS; rS< rS= rS> rS? r " S@ SA5      r \ " 5       \ l!         " SB SC5      r"SD r#SQSESFSGS SSH.SI jjr$SRSSJ.SK jjr%SQSSJ.SL jjr&SM r'SN r(SSSO jr)SP r*g)Té    )ÚannotationsN)ÚSequenceé   )Ú_dtypesÚ_dtypes_implÚ_funcsÚ_ufuncsÚ_util)Ú	ArrayLikeÚnormalize_array_likeÚ
normalizerÚNotImplementedType)ÚC_CONTIGUOUSÚF_CONTIGUOUSÚOWNDATAÚ	WRITEABLEÚALIGNEDÚWRITEBACKIFCOPYÚFNCÚFORCÚBEHAVEDÚCARRAYÚFARRAYr   r   r   r   r   r   r   r   r   )	ÚCÚFÚOÚWÚAÚXÚBÚCAÚFAc                  óH   ^ • \ rS rSrSS jrS	S jrS rU 4S jrS rSr	U =r
$ )
ÚFlagsé2   c                ó~   • U Vs/ s H  o"[         ;  d  M  UPM     nnU(       a  [        SU 35      eXl        g s  snf )NzInvalid flag keys: )ÚFLAGSÚAssertionErrorÚ_flag_to_value)ÚselfÚflag_to_valueÚkÚinvalid_keyss       ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_numpy/_ndarray.pyÚ__init__ÚFlags.__init__3   s<   € Ù#0ÓC¢=˜a¼U±NŸ¡=ˆÐCÞÜ Ð#6°|°nÐ!EÓFÐFØ+Õùò Ds   …:–:c                óž   • UR                  5       (       a*  UR                  5       [        ;   a  XR                  5          $ [        SU S35      e)NzNo flag attribute 'Ú')ÚislowerÚupperr'   ÚAttributeError)r*   Úattrs     r.   Ú__getattr__ÚFlags.__getattr__9   s>   € Ø�<‰<�>‰>˜dŸj™j›l¬eÓ3ØŸ
™
›Ñ%Ð%ä Ð#6°t°f¸AÐ!>Ó?Ð?ó    c                ó¾   • U[         ;   a	  [         U   nU[        ;   a   U R                  U   $ [        SU S35      e! [         a  n[	        SU< 35      UeS nAff = f)Nzkey=úNo flag key 'r2   )ÚSHORTHAND_TO_FLAGSr'   r)   ÚKeyErrorÚNotImplementedError)r*   ÚkeyÚes      r.   Ú__getitem__ÚFlags.__getitem__?   sm   € ØÔ$Ó$Ü$ SÑ)ˆCØ”%‹<ð<Ø×*Ñ*¨3Ñ/Ð/ô ˜]¨3¨%¨qÐ1Ó2Ð2øô ó <Ü)¨T¨S©F¨)Ó4¸!Ð;ûð<ús   Ÿ= ½
AÁAÁAc                ó¤   >• UR                  5       (       a+  UR                  5       [        ;   a  X UR                  5       '   g [        TU ]  X5        g ©N)r3   r4   r'   ÚsuperÚ__setattr__)r*   r6   ÚvalueÚ	__class__s      €r.   rF   ÚFlags.__setattr__J   s6   ø€ Ø�<‰<�>‰>˜dŸj™j›l¬eÓ3Ø!&�—‘“Òä‰GÑ Õ,r9   c                ó^   • U[         ;   d
  U[        ;   a  [        S5      e[        SU S35      e)Nz"Modifying flags is not implementedr;   r2   )r'   r<   r>   r=   )r*   r?   rG   s      r.   Ú__setitem__ÚFlags.__setitem__P   s1   € Ø”%‹<˜3Ô"4Ó4Ü%Ð&JÓKÐKä˜]¨3¨%¨qÐ1Ó2Ð2r9   )r)   )r+   Údict)r6   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r/   r7   rA   rF   rK   Ú__static_attributes__Ú__classcell__)rH   s   @r.   r$   r$   2   s"   ø† ô,ô@ò	3õ-÷3ð 3r9   r$   c                ó^   ^ • U=(       d    T R                   nU 4S jnXl         SU 3Ul        U$ )Nc                 ó   >• T" U 0 UD6$ rD   © )ÚargsÚkwargsÚfns     €r.   ÚfÚcreate_method.<locals>.fZ   s   ø€ Ù�4Ð"˜6Ñ"Ð"r9   zndarray.)rO   rQ   )rZ   Únamer[   s   `  r.   Úcreate_methodr^   W   s0   ø€ Ø×�2—;‘;€Dõ#ð „JØ ˜vÐ&€A„NØ€Hr9   ÚclipÚnonzeroÚrepeatÚroundÚsqueezeÚswapaxesÚravelÚdiagonalÚdotÚtraceÚargsortÚsearchsortedÚargmaxÚargminÚanyÚallÚmax)ÚminÚptpÚsumÚprodÚmeanÚvarÚstdÚcumsumÚcumprodÚtakeÚchooseÚabsoluteÚpositiveÚnegativeÚgreaterÚlessÚgreater_equalÚ
less_equal)ÚabsÚinvertÚposÚnegÚgtÚltÚgeÚleÚsubtractÚmultiplyÚdivideÚfloor_divideÚpowerÚ	remainderÚbitwise_andÚ
bitwise_orÚbitwise_xorÚ
left_shiftÚright_shift)ÚaddÚsubÚmulÚtruedivÚfloordivÚpowÚmodÚandÚorÚxorÚlshiftÚrshiftÚmatmulc                ón  • [        U [        R                  5      (       an  U R                  [        R                  [        R
                  [        R                  [        R                  4;   a  U R                  [        R                  5      $  U $ [        U [        5      (       a  [        S U  5       5      $ U $ )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7frD   )Ú_upcast_int_indices)Ú.0Úis     r.   Ú	<genexpr>Ú&_upcast_int_indices.<locals>.<genexpr>ª   s   é € Ð;²U°Ô(¨×+Ð+²Uùó   ‚)Ú
isinstanceÚtorchÚTensorÚdtypeÚint8Úint16Úint32Úuint8ÚtoÚint64Útuple©Úindexs    r.   r¤   r¤   ¥   s}   € Ü�%œŸ™×&Ñ&Ø�;‰;œ5Ÿ:™:¤u§{¡{´E·K±KÄÇÁÐMÓMØ—8‘8œEŸK™KÓ(Ð(ð Nð €Lô 
�Eœ5×	!Ñ	!ÜÑ;±UÓ;Ó;Ð;Ø€Lr9   c                ó&   • [        S U  5       5      $ )z&Check if there's any advanced indexingc              3  ó  #   • U  Hv  n[        U[        [        45      =(       dT    [        U[        R                  5      =(       a3    UR
                  [        R                  :H  =(       d    UR                  S :„  v •  Mx     g7f©r   N)rª   r   Úboolr«   r¬   r­   Úndim©r¥   Úidxs     r.   r§   Ú)_has_advanced_indexing.<locals>.<genexpr>°   s_   é € ð ò ˆCô 	�3œ¤4Ð(Ó)÷ 	YÜ�sœEŸL™LÓ)×W¨s¯y©y¼E¿J¹JÑ/F×/VÈ#Ï(É(ÐUVÉ,ô	Yâùs   ‚A>B )rm   rµ   s    r.   Ú_has_advanced_indexingr¿   ®   s   € äñ ñ óó ð r9   c                ó  • [        U [        5      (       d  U 4n [        U 5      nU(       d  U $ / nU  HÎ  n[        U[        5      (       a)  [        U[        5      (       d  UR                  U/5        MA  [        U[        R                  5      (       a]  UR                  S:X  aM  [        R                  " U5      (       d2  UR                  [        R                  :w  a  UR                  U/5        M½  UR                  U5        MÐ     [        U5      $ )zZConvert scalar indices to lists when advanced indexing is present for NumPy compatibility.r   )rª   r´   r¿   Úintrº   Úappendr«   r¬   r»   Úis_floating_pointr­   )r¶   Úhas_advancedÚ	convertedr½   s       r.   Ú_numpy_compatible_indexingrÆ   ·   sÐ   € ä�eœU×#Ñ#Ø�ˆô *¨%Ó0€LæØˆð €IÛˆÜ�cœ3×Ñ¬
°3¼×(=Ñ(=à×Ñ˜c˜UÖ#ä�sœEŸL™L×)Ñ)Ø—‘˜A“Ü×+Ò+¨C×0Ñ0Ø—	‘	œUŸZ™ZÓ'ð ×Ñ˜c˜UÖ#ð ×Ñ˜SÖ!ñ ô  �ÓÐr9   c                ó<  • [        U [        5      (       a  g[        U [        R                  5      (       a,  U R                  [        R                  :X  a  SU R
                  4$ [        U [        5      (       a  U (       a	  U S   U :w  d  g[        U S   5      u  pXS-   4$ )z.Returns the depth of a boolean sequence/tensor)Tr   Tr   )Fr   r   )rª   rº   r«   r¬   r­   r»   r   Ú_get_bool_depth)ÚsÚis_boolÚdepths      r.   rÈ   rÈ   Ø   sy   € ä�!”T×ÑØÜ�!”U—\‘\×"Ñ" q§w¡w´%·*±*Ó'<Ø�Q—V‘Vˆ|ÐÜ�qœ(×#Ñ#®¨a°©d°a«iØÜ$ Q q¡TÓ*�N€GØ˜A‘IÐÐr9   c                óì  ^• [        U [        5      (       d  U 4n Sn[        U 5       H  u  p4U[        L d  M  Un  O   Uc  U S S 4$ SnU  H0  n[	        U5      u  pgU(       a  XW-  nM  U[        L d  Uc  M+  US-  nM2     X-
  nUS:X  af  [        U SU 5      n	[        XS-   S 5      n
U	(       aA  U
(       a:  U SU S-   XS-   S -   nS[        S XS-   S  5       5      -   mU4S jnU4S	 jnX¼U4$ U S
 S 4$ )až  
Patch for NumPy-compatible ellipsis behavior when ellipsis doesn't match any dimensions.

In NumPy, when an ellipsis (...) doesn't actually match any dimensions of the input array,
it still acts as a separator between advanced indices. PyTorch doesn't have this behavior.

This function detects when we have:
1. Advanced indexing on both sides of an ellipsis
2. The ellipsis doesn't actually match any dimensions
Nc                ó   • U $ rD   rW   ©Úxs    r.   Ú<lambda>Ú-_numpy_empty_ellipsis_patch.<locals>.<lambda>û   s   € ¡r9   c                ó   • U $ rD   rW   rÎ   s    r.   rÐ   rÑ   û   s   € ©Qr9   r   r   rD   c              3  óT   #   • U  H  n[        U[        5      (       d  M  S v •  M      g7f)r   N)rª   Úslicer¼   s     r.   r§   Ú._numpy_empty_ellipsis_patch.<locals>.<genexpr>  s   é € ð  Ú6�c¼*ÀSÌ%×:P—‘Ò6ùs   ‚(Ÿ	(c                ó(   >• U R                  T* 5      $ rD   )rc   ©rÏ   Ú	end_ndimss    €r.   Ú
squeeze_fnÚ/_numpy_empty_ellipsis_patch.<locals>.squeeze_fn  s   ø€ Ø—y‘y ) Ó,Ð,r9   c                óŠ   >• [        U [        R                  5      (       a"  U R                  T:¼  a  U R	                  T* 5      $ U $ rD   )rª   r«   r¬   r»   Ú	unsqueezer×   s    €r.   Úunsqueeze_fnÚ1_numpy_empty_ellipsis_patch.<locals>.unsqueeze_fn  s5   ø€ Ü˜a¤§¡×.Ñ.°1·6±6¸YÓ3FØŸ;™;¨	 zÓ2Ð2Ø�r9   c                ó   • U $ rD   rW   rÎ   s    r.   rÐ   rÑ   #  s   € ™Ar9   c                ó   • U $ rD   rW   rÎ   s    r.   rÐ   rÑ   #  s   € ©r9   )rª   r´   Ú	enumerateÚEllipsisrÈ   r¿   rr   )r¶   Útensor_ndimÚellipsis_posr¦   r½   Úconsumed_dimsrÊ   rË   Úellipsis_dimsÚleft_advancedÚright_advancedÚ	new_indexrÙ   rÝ   rØ   s                 @r.   Ú_numpy_empty_ellipsis_patchrê   ä   sD  ø€ ô �eœU×#Ñ#Ø�ˆð €LÜ˜EÖ"‰ˆØ”(Œ?ØˆLÙñ #ð ÑØ‘k¡;Ð.Ð.ð €MÛˆÜ(¨Ó-‰ˆÞØÑ"ŠMØ”HŠ_ ¡Ùà˜QÑŠMñ ð  Ñ/€Mð ˜Óä.¨u°]°lÐ/CÓDˆÜ/°ÀQÑ6FÐ6HÐ0IÓJˆæž^ð ˜m˜|Ð,¨wÑ6¸ÈaÑ?OÐ?QÐ9RÑRˆIØœCñ  Ø"°!Ñ#3Ð#5Ñ6ó ó ñ ˆIõ-õð
 ¨,Ð6Ð6à‘+™{Ð*Ð*r9   c                  ó   • \ rS rSrSrg)Ú_Unspecifiedi(  rW   N)rO   rP   rQ   rR   rS   rW   r9   r.   rì   rì   (  s   † Úr9   rì   c                  ó  • \ rS rSrS<S jr\R                  5        H)  u  rr\	" \
\=(       d    \5      r\" \\5      \" 5       \'   M+     \" \R                  S5      r\" \R                  5      r\R                  5        H/  u  rr\	" \\=(       d    \5      rS\ S3r\" \\5      \" 5       \'   M1     \R                  5        He  u  rr\	" \\=(       d    \5      rS\ S3r\" \\5      \" 5       \'   S\ S3r\" \4S j\5      \" 5       \'   S\ S3r\" \4S	 j\5      \" 5       \'   Mg     \" \R,                  S
5      r\" S S5      rCCCCCC\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r \S 5       r!\S 5       r"\S 5       r#\S 5       r$\$RJ                  S 5       r$\S 5       r&\&RJ                  S 5       r&S=S jr'\(S>S?S jj5       r)\(S>S?S jj5       r*SS .S! jr+\,RZ                  \,RZ                  4S" jr.\(S@S# j5       r/S$ r0S% r1S& r2\" \25      r3S' r4S( r5S) r6S* r7S+ r8S, r9S- r:S. r;S/ r<S0 r=S1 r>SS2.S3 jr?SAS4 jr@S5 rAS6 rBS7 rC\
Rˆ                  rD\
RŠ                  rESS8.S9 jrFS: rGS;rHg)BÚndarrayi3  Nc                ó    • Uc  [         R                  " 5       U l        g [        U[         R                  5      (       a  Xl        g [	        S5      e)NzSndarray constructor is not recommended; prefereither array(...) or zeros/empty(...))r«   r¬   Útensorrª   Ú
ValueError)r*   Úts     r.   r/   Úndarray.__init__4  s<   € Ø‰9ÜŸ,š,›.ˆD�KÜ˜œ5Ÿ<™<×(Ñ(Ø�Käð8óð r9   ÚconjÚ__Ú__rc                ó   • U" X5      $ rD   rW   ©r*   ÚotherrZ   s      r.   rÐ   Úndarray.<lambda>R  s   € ÁÀ5Är9   Ú__ic                ó   • U" XU S9$ )N)ÚoutrW   rø   s      r.   rÐ   rú   U  s   € ¡r¨$¸4Ò'@r9   Ú
__divmod__c                ó.   • [         R                  " X5      $ rD   )r	   Údivmod©r*   rù   s     r.   rÐ   rú   [  s   € œGŸNšN¨5Ô7r9   Ú__rdivmod__c                ó@   • [        U R                  R                  5      $ rD   )r´   rð   Úshape©r*   s    r.   r  Úndarray.shapea  s   € ä�T—[‘[×&Ñ&Ó'Ð'r9   c                ó6   • U R                   R                  5       $ rD   )rð   Únumelr  s    r.   ÚsizeÚndarray.sizee  s   € à�{‰{× Ñ Ó"Ð"r9   c                ó.   • U R                   R                  $ rD   )rð   r»   r  s    r.   r»   Úndarray.ndimi  s   € à�{‰{×ÑÐr9   c                óV   • [         R                  " U R                  R                  5      $ rD   )r   r­   rð   r  s    r.   r­   Úndarray.dtypem  s   € ä�}Š}˜TŸ[™[×.Ñ.Ó/Ð/r9   c                ó’   ^• U R                   R                  5       m[        U4S jU R                   R                  5        5       5      $ )Nc              3  ó,   >#   • U  H	  oT-  v •  M     g 7frD   rW   )r¥   ÚstrideÚelsizes     €r.   r§   Ú"ndarray.strides.<locals>.<genexpr>t  s   øé € ÐHÒ3G¨˜f–_Ò3Gùs   ƒ)rð   Úelement_sizer´   r  )r*   r  s    @r.   ÚstridesÚndarray.stridesq  s3   ø€ à—‘×)Ñ)Ó+ˆÜÔH°4·;±;×3EÑ3EÔ3GÓHÓHÐHr9   c                ó6   • U R                   R                  5       $ rD   )rð   r  r  s    r.   ÚitemsizeÚndarray.itemsizev  s   € à�{‰{×'Ñ'Ó)Ð)r9   c                óÂ   • [        U R                  R                  5       U R                  R                  R                  5       U R                  R                  S L SS.5      $ )NT)r   r   r   r   )r$   rð   Úis_contiguousÚTÚ_baser  s    r.   ÚflagsÚndarray.flagsz  sO   € ô à $§¡× 9Ñ 9Ó ;Ø $§¡§¡× ;Ñ ;Ó =ØŸ;™;×,Ñ,°Ð4Ø!ñ	ó
ð 	
r9   c                ó6   • U R                   R                  5       $ rD   )rð   Údata_ptrr  s    r.   ÚdataÚndarray.data†  s   € à�{‰{×#Ñ#Ó%Ð%r9   c                óR   • U R                   R                  5       R                  5       $ rD   )rð   ÚstorageÚnbytesr  s    r.   r&  Úndarray.nbytesŠ  s   € à�{‰{×"Ñ"Ó$×+Ñ+Ó-Ð-r9   c                ó"   • U R                  5       $ rD   )Ú	transposer  s    r.   r  Ú	ndarray.TŽ  s   € à�~‰~ÓÐr9   c                ó.   • [         R                  " U 5      $ rD   )r   Úrealr  s    r.   r,  Úndarray.real’  ó   € ä�{Š{˜4Ó Ð r9   c                óL   • [        U5      R                  U R                  l        g rD   )Úasarrayrð   r,  ©r*   rG   s     r.   r,  r-  –  ó   € ä" 5›>×0Ñ0ˆ�‰Õr9   c                ó.   • [         R                  " U 5      $ rD   )r   Úimagr  s    r.   r4  Úndarray.imagš  r.  r9   c                óL   • [        U5      R                  U R                  l        g rD   )r0  rð   r4  r1  s     r.   r4  r5  ž  r2  r9   c                ó:  • US:w  a  [        SU S35      eUS:w  a  [        SU S35      eU(       d  [        SU S35      eU(       d  [        SU S35      e[        R                  " U5      R                  nU R                  R                  U5      n[        U5      $ )NÚKzastype(..., order=ú is not implemented.Úunsafezastype(..., casting=zastype(..., subok=zastype(..., copy=)r>   r   r­   Útorch_dtyperð   r²   rî   )r*   r­   ÚorderÚcastingÚsubokÚcopyr;  rò   s           r.   ÚastypeÚndarray.astype£  s¥   € Ø�C‹<Ü%Ð(:¸5¸'ÐAUÐ&VÓWÐWØ�hÓÜ%Ø& w iÐ/CÐDóð ö Ü%Ð(:¸5¸'ÐAUÐ&VÓWÐWÞÜ%Ð(9¸$¸Ð?SÐ&TÓUÐUÜ—m’m EÓ*×6Ñ6ˆØ�K‰K�N‰N˜;Ó'ˆÜ�q‹zÐr9   r   c                ó"   • U R                  5       $ rD   )Úclone©r*   r<  s     r.   r?  Úndarray.copy²  s   € à�z‰z‹|Ðr9   c                ó.   • [         R                  " U 5      $ rD   )r«   ÚflattenrD  s     r.   rG  Úndarray.flatten¶  s   € ä�}Š}˜TÓ"Ð"r9   F)Úrefcheckc               ó<  • U(       a  [        SU S35      eUS;   a  g [        U5      S:X  a  US   n[        U[        5      (       a  U4n[        R
                  " S U 5       5      (       a  [        S5      e[        R                  " U5      U R                  R                  5       pCU R                  R                  U5        X4:¼  aW  U R                  R                  5       (       d  [        S5      eU R                  R                  5       nXTS  R                  5         g g )	Nzresize(..., refcheck=r9  )rW   rD   r   r   c              3  ó*   #   • U  H	  oS :  v •  M     g7fr¹   rW   ©r¥   rÏ   s     r.   r§   Ú!ndarray.resize.<locals>.<genexpr>É  s   é € Ð1¢y !˜Až¢yùs   ‚z0all elements of `new_shape` must be non-negativez0tensor must be contiguous for resize with growth)r>   Úlenrª   rÁ   Úbuiltinsrm   rñ   Úmathrs   rð   r  Úresize_r  r(   rG  Úzero_)r*   rI  Ú	new_shapeÚ	new_numelÚ	old_numelÚbs         r.   ÚresizeÚndarray.resizeº  só   € æÜ%Ø'¨ zÐ1EÐFóð ð ˜Ó%Øô ˆy‹>˜QÓØ! !™ˆIÜ�i¤×%Ñ%Ø"˜ˆIä�<Š<Ñ1¡yÓ1×1Ñ1ÜÐOÓPÐPä#Ÿyšy¨Ó3°T·[±[×5FÑ5FÓ5H�9à�‰×Ñ˜IÔ&àÓ!à—;‘;×,Ñ,×.Ñ.Ü$Ð%WÓXÐXØ—‘×#Ñ#Ó%ˆAØˆjˆM×ÑÕ!ð "r9   c                ó  • U[         R                  L a  U R                  nU[         R                  La  [        SU S35      e[        R                  " U5      R
                  nU R                  R                  U5      n[        U5      $ )Nzview(..., type=r9  )	rì   Úunspecifiedr­   r>   r   r;  rð   Úviewrî   )r*   r­   Útyper;  Útviews        r.   r[  Úndarray.view×  sn   € Ø”L×,Ñ,Ò,Ø—J‘JˆEØ”|×/Ñ/Ò/Ü%¨¸°vÐ=QÐ&RÓSÐSÜ—m’m EÓ*×6Ñ6ˆØ—‘× Ñ  Ó-ˆÜ�u‹~Ðr9   c                ó:   • U R                   R                  U5        g rD   )rð   Úfill_r1  s     r.   ÚfillÚndarray.fillà  s   € ð 	�‰×Ñ˜%Õ r9   c                ó6   • U R                   R                  5       $ rD   )rð   Útolistr  s    r.   rd  Úndarray.tolistæ  s   € Ø�{‰{×!Ñ!Ó#Ð#r9   c                óD   • S U R                   R                  5        5       $ )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7frD   )rî   rL  s     r.   r§   Ú#ndarray.__iter__.<locals>.<genexpr>ê  s   é € Ð;Ò$:˜q”˜—
�
Ò$:ùr©   )rð   Ú__iter__r  s    r.   ri  Úndarray.__iter__é  s   € Ù; D§K¡K×$8Ñ$8Ô$:Ó;Ð;r9   c                ól   • [        U R                  5      R                  SS5      R                  SS5      $ )Nrð   ztorch.ndarrayzdtype=torch.zdtype=)rN   rð   Úreplacer  s    r.   Ú__str__Úndarray.__str__ì  s+   € ä�—‘Óß‰W�X˜Ó/ß‰W�^ XÓ.ð	
r9   c                óº   •  [         R                  " X5      $ ! [        [        4 a2    [        R
                  " U R                  S[        S9n[        U5      s $ f = f)NF)Ú
fill_valuer­   )	r	   ÚequalÚRuntimeErrorÚ	TypeErrorr«   Úfullr  rº   r0  )r*   rù   Úfalsys      r.   Ú__eq__Úndarray.__eq__õ  sJ   € ð	"Ü—=’= Ó-Ð-øÜœiÐ(ó 	"ä—J’J˜tŸz™z°eÄ4ÑHˆEÜ˜5“>Ò!ð	"ús   ‚ ˜?AÁAc                ó   • X:H  ) $ rD   rW   r  s     r.   Ú__ne__Úndarray.__ne__ý  s   € Ø‘ÐÐr9   c                óœ   •  [         R                  " U R                  R                  5       5      $ ! [         a  n[        S5      UeS nAff = f)Nz=only integer scalar arrays can be converted to a scalar index)Úoperatorr¶   rð   ÚitemÚ	Exceptionrs  )r*   Úexcs     r.   Ú	__index__Úndarray.__index__   sF   € ð	Ü—>’> $§+¡+×"2Ñ"2Ó"4Ó5Ð5øÜó 	ÜØOóàðûð	ús   ‚-0 °
AºAÁAc                ó,   • [        U R                  5      $ rD   )rº   rð   r  s    r.   Ú__bool__Úndarray.__bool__  s   € Ü�D—K‘KÓ Ð r9   c                ó,   • [        U R                  5      $ rD   )rÁ   rð   r  s    r.   Ú__int__Úndarray.__int__  s   € Ü�4—;‘;ÓÐr9   c                ó,   • [        U R                  5      $ rD   )Úfloatrð   r  s    r.   Ú	__float__Úndarray.__float__  s   € Ü�T—[‘[Ó!Ð!r9   c                ó,   • [        U R                  5      $ rD   )Úcomplexrð   r  s    r.   Ú__complex__Úndarray.__complex__  s   € Ü�t—{‘{Ó#Ð#r9   c                ó~   •  U R                   R                  5       n[        U5      U:H  nU$ ! [         a    Sn U$ f = f)NF)rð   r}  rÁ   r~  )r*   ÚvÚresults      r.   Ú
is_integerÚndarray.is_integer  sH   € ð	Ø—‘× Ñ Ó"ˆAÜ˜“V˜q‘[ˆFð ˆøô ó 	Ø‰FØˆð	ús   ‚(, ¬<»<c                ó4   • U R                   R                  S   $ )Nr   )rð   r  r  s    r.   Ú__len__Úndarray.__len__  s   € Ø�{‰{× Ñ  Ñ#Ð#r9   c                ó8   • U R                   R                  U5      $ rD   )rð   Ú__contains__)r*   rÏ   s     r.   r™  Úndarray.__contains__  s   € Ø�{‰{×'Ñ'¨Ó*Ð*r9   c                ó.   • [         R                  " X5      $ rD   )r   r)  )r*   Úaxess     r.   r)  Úndarray.transpose"  s   € ä×Ò Ó+Ð+r9   ©r<  c               ó,   • [         R                  " XUS9$ )Nrž  )r   Úreshape)r*   r<  r  s      r.   r   Úndarray.reshape&  s   € ä�~Š~˜d°Ñ7Ð7r9   c           	     ó\   • [         R                  " U [         R                  " XX#5      5        g rD   )r   ÚcopytoÚsort)r*   ÚaxisÚkindr<  s       r.   r¤  Úndarray.sort*  s   € ä�Š�dœFŸKšK¨°DÓ@ÕAr9   c                ó®   • US:X  a  U R                   R                  5       $ [        U5      S:X  a  U R                  5       US      $ U R	                  U5      $ )NrW   r   r   )rð   r}  rN  re   rA   )r*   rX   s     r.   r}  Úndarray.item.  sO   € ð �2‹:Ø—;‘;×#Ñ#Ó%Ð%Ü�‹Y˜!‹^à—:‘:“<  Q¡Ñ(Ð(à×#Ñ# DÓ)Ð)r9   c                óz  ^^• U R                   mU4S jm[        U[        5      (       a%  [        U5      " U4S j[	        U5       5       5      nO	T" SU5      n[
        R                  " U5      n[        U5      n[        U5      n[        UTR                  5      u  pnU" [        TR                  U5      5      5      $ )Nc                ó®  >• [        U[        5      (       a  UR                  b  UR                  S:  d  U$ [        R                  " TU 45      m[        UR
                  [        5      (       d8  UR
                  b+  [        S[        UR
                  5      R                   35      e[        UR                  [        5      (       d8  UR                  b+  [        S[        UR                  5      R                   35      eUR                  (       a  UR                  S-   OS nUR
                  (       a  UR
                  S-   OS n[        X#UR                  * 5      $ )Nr   z%slice start must be int or None, got z$slice stop must be int or None, got r   )rª   rÔ   Ústepr«   ÚflipÚstartrÁ   r(   r\  rO   Ústop)r¦   rÉ   r®  r¯  rð   s       €r.   Úneg_stepÚ%ndarray.__getitem__.<locals>.neg_step=  sý   ø€ Ü˜q¤%×(Ñ(¨Q¯V©VÑ-?ÀAÇFÁFÈQÃJØ�ô —Z’Z ¨¨Ó-ˆFô ˜qŸw™w¬×,Ñ,°·±±Ü$Ø;¼DÀÇÁ»M×<RÑ<RÐ;SÐTóð ô ˜qŸv™v¤s×+Ñ+¨q¯v©v©~Ü$Ø:¼4ÀÇÁ»<×;PÑ;PÐ:QÐRóð ð #$§&§&�A—F‘F˜Q’J¨dˆEØ"#§'§'�1—7‘7˜Q’;¨tˆDä˜ q§v¡v gÓ.Ð.r9   c              3  ó8   >#   • U  H  u  pT" X5      v •  M     g 7frD   rW   )r¥   r¦   rÉ   r°  s      €r.   r§   Ú&ndarray.__getitem__.<locals>.<genexpr>S  s   øé € ÐLÒ;K±4°1¡¨§ Ò;Kùs   ƒr   )rð   rª   r   r\  rá   r
   Úndarrays_to_tensorsr¤   rÆ   rê   r»   rî   rA   )r*   r¶   Úmaybe_squeezeÚ_r°  rð   s       @@r.   rA   Úndarray.__getitem__:  s™   ù€ Ø—‘ˆõ	/ô* �eœX×&Ñ&Ü˜”KÔL¼9ÀUÔ;KÓLÓL‰Eá˜Q Ó&ˆEÜ×)Ò)¨%Ó0ˆÜ# EÓ*ˆä*¨5Ó1ˆä"=¸eÀVÇ[Á[Ó"QÑˆ˜aÙœW V×%7Ñ%7¸Ó%>Ó?Ó@Ð@r9   c                ó€  • [         R                  " U5      n[        U5      n[        U5      n[	        XR
                  R                  5      u  pn[        R                  " U5      (       d5  [        U5      n[         R                  " X R
                  R                  5      nU R
                  R                  X" U5      5      $ rD   )r
   r´  r¤   rÆ   rê   rð   r»   r   Ú	is_scalarr   Úcast_if_neededr­   rK   )r*   r¶   rG   r¶  Úmaybe_unsqueezes        r.   rK   Úndarray.__setitem__^  s�   € Ü×)Ò)¨%Ó0ˆÜ# EÓ*ˆä*¨5Ó1ˆä$?ÀÇ{Á{×GWÑGWÓ$XÑ!ˆ�/ä×%Ò% e×,Ñ,Ü(¨Ó/ˆEÜ×(Ò(¨·±×0AÑ0AÓBˆEà�{‰{×&Ñ& u¨o¸eÓ.DÓEÐEr9   ©Ústreamc               ó4   • U R                   R                  US9$ )Nr½  )rð   Ú
__dlpack__)r*   r¾  s     r.   rÀ  Úndarray.__dlpack__o  s   € Ø�{‰{×%Ñ%¨VÐ%Ð4Ð4r9   c                ó6   • U R                   R                  5       $ rD   )rð   Ú__dlpack_device__r  s    r.   rÃ  Úndarray.__dlpack_device__r  s   € Ø�{‰{×,Ñ,Ó.Ð.r9   )rð   rD   )r8  r:  TT)r   )r*   r   r<  r   )rG   r   )éÿÿÿÿNN)IrO   rP   rQ   rR   r/   ÚmethodsÚitemsÚmethodr]   Úgetattrr   rZ   r^   Úvarsr	   Ú	conjugaterô   ÚdunderÚ	ri_dunderÚplainÚrvarÚivarr   rþ   r  Úpropertyr  r	  r»   r­   r  r  r  r"  r&  r  r,  Úsetterr4  r@  r   r?  rG  rW  rì   rZ  r[  ra  rd  ri  rm  Ú__repr__rv  ry  r€  rƒ  r†  rŠ  rŽ  r“  r–  r™  r)  r   r¤  r}  rA   rK   ry   ÚputrÀ  rÃ  rS   rW   r9   r.   rî   rî   3  s~  † ô	ð  Ÿ™ž‰ˆ�Ù�V˜TŸ^ VÓ,ˆÙ& r¨6Ó2‰‹ˆv‹ñ (ñ
 ˜×*Ñ*¨FÓ3€DÙ˜g×/Ñ/Ó0€IàŸ™ž‰ˆ�Ù�W˜dŸn fÓ-ˆØ�f�X˜R�ˆÙ& r¨6Ó2‰‹ˆv‹ñ 'ð
 "Ÿ™Ö)‰ˆ�Ù�W˜dŸn fÓ-ˆØ�V�H˜B�ˆÙ% b¨%Ó0‰‹ˆu‰Ø�V�H˜BÐˆÙ$¸BÓ%OÐQUÓV‰‹ˆt‰Ø�V�H˜BÐˆÙ$Ø#%Ó@À$ó
‰‹ˆt‹ñ *ñ ˜wŸ~™~¨|Ó<€JÙÙ7¸ó€Kð
 	ˆd�D˜%  Vàñ(ó ð(ð ñ#ó ð#ð ñ ó ð ð ñ0ó ð0ð ñIó ðIð ñ*ó ð*ð ñ	
ó ð	
ð ñ&ó ð&ð ñ.ó ð.ð ñ ó ð ð ñ!ó ð!ð 
‡[�[ñ1ó ð1ð ñ!ó ð!ð 
‡[�[ñ1ó ð1ôð õó ðð õ#ó ð#ð +0õ "ð: &×1Ñ1¸×8PÑ8Pô ð ó!ó ð!ò
$ò<ò
ñ ˜WÓ%€Hò"ò òò!ò ò"ò$òò$ò+ò,ð %(õ 8ôBò
*ò"AòHFð �;‰;€DØ
�*‰*€Cà#'õ 5õ/r9   rî   c                ó
  • / nU  Hz  n[        U[        [        45      (       a  [        U5      n[        U[        5      (       a+  UR                  UR                  R                  5       5        Mi  UR                  U5        M|     U$ )z'Recursively convert tensors into lists.)rª   Úlistr´   Ú_tolistrî   rÂ   rð   rd  )ÚobjÚa1Úelems      r.   r×  r×  v  sc   € à	€BÛˆÜ�dœT¤5˜M×*Ñ*Ü˜4“=ˆDÜ�dœG×$Ñ$Ø�I‰I�d—k‘k×(Ñ(Ó*Ö+à�I‰I�dŽOñ ð €Ir9   Tr8  F)r?  r<  r>  ÚndminÚlikec               ó8  • USLa  [        S5      eUb  [        S5      eUS:w  a  [         e[        U [        5      (       a  USL a  Uc  XPR                  ::  a  U $ [        U [        [
        45      (       a@  U (       a.  [        S U  5       5      (       a  [        R                  " U 5      n O[        U 5      n [        U [        5      (       a  U R                  n S nUb   [        R                  " U5      R                  n[        R                  " XX%5      n[        U5      $ )NFz#'subok' parameter is not supported.z"'like' parameter is not supported.r8  c              3  óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7frD   )rª   r«   r¬   rL  s     r.   r§   Úarray.<locals>.<genexpr>š  s   é € Ð@ºC°q”z !¤U§\¡\×2Ð2ºCùs   ‚'))r>   rª   rî   r»   rÖ  r´   rn   r«   Ústackr×  rð   r   r­   r;  r
   Ú_coerce_to_tensor)	rØ  r­   r?  r<  r>  rÛ  rÜ  r;  rð   s	            r.   Úarrayrâ  ‡  sñ   € Ø�EÒÜ!Ð"GÓHÐHØÑÜ!Ð"FÓGÐGØ�ƒ|Ü!Ð!ô 	�3œ× Ñ Ø�EŠMØ‰MØ—X‘XÓàˆ
ä�#œœe�}×%Ñ%æ”3Ñ@¹CÓ@×@Ñ@ä—+’+˜cÓ"‰Cô ˜#“,ˆCô �#”w×ÑØ�j‰jˆð €KØÑÜ—m’m EÓ*×6Ñ6ˆä×$Ò$ S°tÓC€FÜ�6‹?Ðr9   )rÜ  c          	     ó   • [        XX#SSS9$ )NFr   )r­   r<  rÜ  r?  rÛ  )râ  )Úar­   r<  rÜ  s       r.   r0  r0  ¯  s   € Ü� u¸eÈ1ÑMÐMr9   c               ó–   • [        XUS9nUR                  R                  5       (       d  UR                  R                  5       Ul        U$ )N)r­   rÜ  )r0  rð   r  Ú
contiguous)rä  r­   rÜ  Úarrs       r.   Úascontiguousarrayrè  ³  s:   € Ü
�! tÑ
,€CØ�:‰:×#Ñ#×%Ñ%Ø—Z‘Z×*Ñ*Ó,ˆŒ
Ø€Jr9   c               óD   • [         R                  " U 5      n[        U5      $ rD   )r«   Úfrom_dlpackrî   )rÏ   rò   s     r.   rê  rê  º  s   € Ü×Ò˜!Ó€AÜ�1‹:Ðr9   c                ó€   •  [         R                  " U 5      nU$ ! [         a    [        U 5      R                  n U$ f = frD   )r   r­   r~  r0  )ÚentryÚdtys     r.   Ú_extract_dtyperî  ¿  sA   € ð#Ü�mŠm˜EÓ"ˆð €Jøô ó #Ü�e‹n×"Ñ"‰Ø€Jð#ús   ‚ š=¼=c                ó†   • [        U 5      n [        U5      n[        R                  " U R                  UR                  U5      $ rD   )rî  r   Úcan_cast_implr;  )Úfrom_r²   r=  Úto_s       r.   Úcan_castró  Ç  s5   € Ü˜5Ó!€EÜ
˜Ó
€Cä×%Ò% e×&7Ñ&7¸¿¹È'ÓRÐRr9   c                 óX  • / nU  H*  n [        U5      R                  nUR                  U5        M,     [        R                  " U6 n[
        R                  " U5      $ ! [        [        [        4 a8    [
        R                  " U5      n[        R                  " SUR                  S9n NŠf = f)Nr   )r­   )r0  rð   rr  rñ   rs  r   r­   r«   Úemptyr;  rÂ   r   Úresult_type_impl)Úarrays_and_dtypesÚtensorsrì  rò   rí  r;  s         r.   Úresult_typerù  Î  sŽ   € Ø€GÛ"ˆð	6Ü˜“×%Ñ%ˆAð 	�‰�qÖñ #ô ×/Ò/°Ð9€KÜ�=Š=˜Ó%Ð%øô œj¬)Ð4ó 	6Ü—-’- Ó&ˆCÜ—’˜A S§_¡_Ñ5ŠAð	6ús   ‰AÁA
B)Â(B)rD   )Nr8  )Úsafe)+Ú
__future__r   rO  rP  r|  Úcollections.abcr   r«   Ú r   r   r   r	   r
   Ú_normalizationsr   r   r   r   Únewaxisr'   r<   r$   r^   rÆ  rÌ  rÍ  r¤   r¿   rÆ   rÈ   rê   rì   rZ  rî   r×  râ  r0  rè  rê  rî  ró  rù  rW   r9   r.   Ú<module>r      s=  ðõ #ã Û Û Ý $ã ç ;Õ ;÷ó ð €ò	€ð 
Ø	Ø	Ø	Ø	Ø	Ø	Ø
Ø
ñ
Ð ÷"3ñ "3ôJð"Ø
ˆDð"àˆtð"ð ˆdð"ð ˆTð	"ð
 ˆtð"ð �ð"ð ˆTð"ð �ð"ð 
ˆ4ð"ð ˆTð"ð ˆtð"ð �Dð"ð  ˆdð!"ð" ˆdð#"ð$ 
ˆ4ð%"ð& 
ˆ4ð'"ð( 
ˆ4ð)"ð* ØØØØØØàØàØòC"€ðJ ØØØØ
Ø
Ø
Ø
ñ	
€ð ØØØØØØØØ
ØØØØñ€	ò"òòòB	ò?+÷H	ñ 	ñ (›>€Ô ÷@/ñ @/òF

ð"% 4¨s¸%ÀqÈtö %ðPN¨dö Nð¨Tö òò
ôSó&r9   