+
    "Ý³jŒX  ã                   óØ   € ^ RI t ^ RIHt ^ RIt^ RIHu Ht ^ RIH	t	 ^ RI
HtHt  ! R R] P                  4      t ! R R] P                  4      t]R	8X  d   ] P"                  ! 4        R# R# )
é    N)Úpatch)Úskip_if_no_cuda)ÚTorchAOBaseTensorÚtorch_version_at_leastc                   ó&   a € ] tR t^t o R tRtV tR# )ÚTestTorchVersionc                óÐ   € . ROpV FG  w  r#p\        RV4      ;_uu_ 4        \        V4      pV P                  VVRV RV 24       RRR4       KI  	  R#   + '       g   i     K^  ; i)ú2.5.0a0+git9f17037ztorch.__version__zFailed for torch.__version__=z, comparing with N))r
   ú2.5.0F)r
   ú2.4.0T)ú2.5.0.dev20240708+cu121r   F)r   r   T)r   r   T)r   r   T)r   r   T)r   r   F)r   r   ÚassertEqual)ÚselfÚ
test_casesÚtorch_versionÚcompare_versionÚexpected_resultÚresults   &     ÚP/home/luca/screen-checking/.venv/lib/python3.14/site-packages/test/test_utils.pyÚtest_torch_version_at_leastÚ,TestTorchVersion.test_torch_version_at_least   so   € ò	
ˆ
ó @JÑ;ˆM¨OÜÐ*¨M×:Õ:Ü/°Ó@�à× Ñ ØØ#Ø3°M°?ÐBSÐTcÐSdÐeô÷ ;Ñ:ó @Jß:×:Ð:ús   ¡%AÁA%© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷ð ó    r   c                   ó¤   a € ] tR t^(t o R tR tR t]! 4       R 4       t]! 4       R 4       t	]! 4       R 4       t
R tR tR	 tR
 tR tR tRtV tR# )ÚTestTorchAOBaseTensorc                óB  €  ! R  R\         4      p\        P                  P                  ^
^
4      pV P	                  \
        R4      ;_uu_ 4        \        P                  P                  V! VP                  4      4      Vn        RRR4       R#   + '       g   i     R# ; i)c                   ó,   a € ] tR t^*t o R tR tRtV tR# )Ú<TestTorchAOBaseTensor.test_print_arg_types.<locals>.MyTensorc                óX   € VP                   p\        P                  P                  W4      # ©N)ÚshapeÚtorchÚTensorÚ_make_wrapper_subclass)ÚclsÚdatar)   s   && r   Ú__new__ÚDTestTorchAOBaseTensor.test_print_arg_types.<locals>.MyTensor.__new__+   s    € ØŸ
™
�Ü—|‘|×:Ñ:¸3ÓFÐFr!   c                ó   € Wn         R # r(   ©r.   )r   r.   s   &&r   Ú__init__ÚETestTorchAOBaseTensor.test_print_arg_types.<locals>.MyTensor.__init__/   s   € Ø –	r!   r2   N)r   r   r   r   r/   r3   r   r   r   s   @r   ÚMyTensorr&   *   s   ø‡ € òG÷!ð !r!   r5   Ú	arg_typesN)r   r*   ÚnnÚLinearÚassertRaisesRegexÚNotImplementedErrorÚ	ParameterÚweight)r   r5   Úls   &  r   Útest_print_arg_typesÚ*TestTorchAOBaseTensor.test_print_arg_types)   sj   € ô	!Ô(ô 	!ô �H‰H�O‰O˜B Ó#ˆð ×#Ñ#Ô$7¸×EÕEÜ—x‘x×)Ñ)©(°1·8±8Ó*<Ó=ˆAŒH÷ F×E×EÒEús   Á5BÂB	c                ó^  €  ! R R\         4      pV! \        P                  ! ^^4      4      pVP                  RRR7      pV P	                  VR,          4       VP                  RRR7      pV P                  VR,          4       VP                  RR7      pV P                  VR,          4       R	# )
z?Verify _get_to_kwargs parses and returns the non_blocking flag.c                   óB   a € ] tR t^>t o R.tRR.tRR ltRR ltRtV t	R# )	ÚGTestTorchAOBaseTensor.test_get_to_kwargs_non_blocking.<locals>.MyTensorÚqdataÚattrÚdeviceNc                ó´   € Vf   VP                   pRVRVP                  /p\        P                  P                  ! WP
                  3/ VB pWn        W%n        V# ©NrE   Údtype©rE   rH   r*   r+   r,   r)   rC   rD   ©r-   rC   rD   rE   ÚkwargsÚrs   &&&&  r   r/   ÚOTestTorchAOBaseTensor.test_get_to_kwargs_non_blocking.<locals>.MyTensor.__new__B   sN   € Ø’>Ø"Ÿ\™\�FØ" F¨G°U·[±[ÐA�Ü—L‘L×7Ò7¸¿[¹[ÑSÈFÑS�Ø”Ø”Ø�r!   c                ó   € R # r(   r   ©r   rC   rD   rE   s   &&&&r   r3   ÚPTestTorchAOBaseTensor.test_get_to_kwargs_non_blocking.<locals>.MyTensor.__init__K   ó   € Ùr!   r   ©rD   N©
r   r   r   r   Útensor_data_namesÚtensor_attribute_namesr/   r3   r   r   r   s   @r   r5   rB   >   s'   ø‡ € Ø!( 	ÐØ&,¨hÐ%7Ð"ô÷ò r!   r5   ÚcpuT)rE   Únon_blockingrW   F©rE   N)r   r*   ÚrandnÚ_get_to_kwargsÚ
assertTrueÚassertFalse)r   r5   ÚtrK   s   &   r   Útest_get_to_kwargs_non_blockingÚ5TestTorchAOBaseTensor.test_get_to_kwargs_non_blocking;   s    € ô	Ô(ô 	ñ  ”U—[’[  AÓ&Ó'ˆð ×!Ñ!¨¸TÐ!ÓBˆØ�‰˜˜~Õ.Ô/ð ×!Ñ!¨¸UÐ!ÓCˆØ×Ñ˜ Õ/Ô0ð ×!Ñ!¨Ð!Ó/ˆØ×Ñ˜ Õ/Ö0r!   c           
     ó’
  € VP                   P                  4       p\        VR 4      '       d4   VP                   F#  p\	        W4      f   K  VP                  V4       K%  	  VP                  P                  4       p\        VR4      '       d4   VP                   F#  p\	        W4      f   K  VP                  V4       K%  	  VP                  4       w  rxV U	u/ uF  q™\	        W4      bK  	  p
p	VP                  4       pVP                  4       p\        V4      P                  W¨W¼4      pV F;  pV P                  \        P                  ! \	        W4      \	        WÔ4      4      4       K=  	  V F'  pV P!                  \	        W4      \	        WÖ4      4       K)  	  V P                  \        P                  ! VP"                  VP"                  4      4       V P!                  VP$                  VP$                  4       VP'                  \        P(                  RR7      pVP'                  \        P(                  RR7      pVP*                  pVP-                  R4      pV P!                  VP*                  P                  R4       VP-                  V4      pV P!                  VP*                  V4       \/        V4      pVP1                  4       p\        P2                  P4                  P7                  V4      pVP9                  4       pV F<  pV P                  \        P                  ! \	        VV4      \	        W4      4      4       K>  	  V F(  pV P!                  \	        VV4      \	        W4      4       K*  	  V Ft  p\	        W4      pVP;                  ^ ^4      P=                  4       pVP;                  ^ ^4      p\?        WV4       V PA                  \	        W4      PC                  4       4       Kv  	  VP=                  4       pV F,  pV P                  \	        VV4      PC                  4       4       K.  	  V F(  pV P!                  \	        VV4      \	        W4      4       K*  	  V PE                  VP"                  ^ ,          ^ ,          VP"                  ^ ,          ^ ,          4       V F'  pV P!                  \	        W&4      \	        W4      4       K)  	  VPG                  V4       V F;  pV P                  \        P                  ! \	        W4      \	        W$4      4      4       K=  	  V F'  pV P!                  \	        W&4      \	        W4      4       K)  	  R# u up	i )Úoptional_tensor_data_namesNÚoptional_tensor_attribute_namesÚcudarX   )ÚlayoutrE   )$rT   ÚcopyÚhasattrra   ÚgetattrÚappendrU   rb   Ú__tensor_flatten__ÚsizeÚstrideÚtypeÚ__tensor_unflatten__r[   r*   Úequalr   rC   rD   rZ   ÚstridedrE   ÚtoÚstrÚdetachÚopsÚatenÚaliasÚcloneÚ	transposeÚ
contiguousÚsetattrr\   Úis_contiguousÚassertNotEqualÚcopy_)r   Ú	lp_tensorÚlp_tensor_for_copyÚall_tensor_data_namesÚtensor_data_nameÚall_tensor_attribute_namesÚtensor_attribute_namerT   Útensor_attributesÚnameÚtensor_data_dictÚ
outer_sizeÚouter_strideÚreconstructedÚ_Úoriginal_deviceÚlp_tensor_cloneÚtensorÚlp_tensor_ts   &&&                r   Ú_test_default_impls_helperÚ0TestTorchAOBaseTensor._test_default_impls_helper\   sŒ  € à )× ;Ñ ;× @Ñ @Ó BÐÜ�9Ð:×;Ò;Ø$-×$HÔ$HÐ Ü˜9Ó7ÔCØ)×0Ñ0Ð1AÖBñ %Ið &/×%EÑ%E×%JÑ%JÓ%LÐ"Ü�9Ð?×@Ò@Ø)2×)RÔ)RÐ%Ü˜9Ó<ÔHØ.×5Ñ5Ð6KÖLñ *Sð
 09×/KÑ/KÓ/MÑ,Ðá7Hó
Ù7H¨t”'˜)Ó*Ò*Ñ7Hð 	ð 
ð —^‘^Ó%ˆ
Ø ×'Ñ'Ó)ˆÜ˜Y›×<Ñ<Ø°ó
ˆó !6ÐØ�O‰OÜ—’Ü˜IÓ8Ü˜MÓ<óöñ !6ó &@Ð!Ø×ÑÜ˜	Ó9Ü˜Ó=öñ &@ð 	�‰œŸš I§O¡O°]×5HÑ5HÓIÔJØ×Ñ˜Ÿ™¨×);Ñ);Ô<ð ×$Ñ$¤U§]¡]¸6Ð$ÓBˆØ×$Ñ$¬E¯M©MÀ&Ð$ÓIˆð $×*Ñ*ˆØ—L‘L Ó(ˆ	Ø×Ñ˜×)Ñ)×.Ñ.°Ô7Ø—L‘L Ó1ˆ	Ø×Ñ˜×)Ñ)¨?Ô;ô �	‹Nˆð ×$Ñ$Ó&ˆ	ä—I‘I—N‘N×(Ñ(¨Ó3ˆ	ð $Ÿ/™/Ó+ˆã 5ÐØ�O‰OÜ—’Ü˜OÐ-=Ó>Ü˜IÓ8óöñ !6ó &@Ð!Ø×ÑÜ˜Ð)>Ó?Ü˜	Ó9öñ &@ó !6ÐÜ˜YÓ9ˆFà×%Ñ% a¨Ó+×6Ñ6Ó8ˆFØ×%Ñ% a¨Ó+ˆFÜ�I°Ô8Ø×ÑœW YÓA×OÑOÓQÖRñ !6ð  ×*Ñ*Ó,ˆó !6ÐØ�O‰OœG KÐ1AÓB×PÑPÓRÖSñ !6ó &@Ð!Ø×ÑÜ˜Ð%:Ó;Ü˜	Ó9öñ &@ð 	×Ñ˜IŸO™O¨AÕ.¨qÕ1Ð3E×3KÑ3KÈAÕ3NÈqÕ3QÔRã%?Ð!Ø×ÑÜÐ*ÓBÜ˜	Ó9öñ &@ð 	�‰Ð*Ô+ã 5ÐØ�O‰OÜ—’Ü˜IÓ8ÜÐ.ÓAóöñ !6ó &@Ð!Ø×ÑÜÐ*ÓBÜ˜	Ó9öó &@ùòY
s   ÃUc                ór  €  ! R R\         4      p\        P                  P                  ^^4      p\        P                  P	                  V! VP
                  RR4      4      Vn        VP
                  p\        P                  P                  ^^4      P
                  pV! VRR4      pV P                  W54       R# )z‘Making sure some common functions has default implementations, such as
__tensor_unflatten__, __tensor_flatten__, _apply_fn_to_data, __repr__, to
c                   ó:   a € ] tR t^ãt o R.tRR.tR tR tRtV t	R# )Ú:TestTorchAOBaseTensor.test_default_impls.<locals>.MyTensorrC   rD   rE   c                ó„   € VP                   pVf   VP                  pRV/p\        P                  P                  ! W3/ VB # ©NrE   ©r)   rE   r*   r+   r,   )r-   rC   rD   rE   r)   rK   s   &&&&  r   r/   ÚBTestTorchAOBaseTensor.test_default_impls.<locals>.MyTensor.__new__ç   ó=   € ØŸ™�Ø’>Ø"Ÿ\™\�FØ" FÐ+�Ü—|‘|×:Ò:¸3ÑPÈÑPÐPr!   c                ó   € Wn         W n        R # r(   )rC   rD   rO   s   &&&&r   r3   ÚCTestTorchAOBaseTensor.test_default_impls.<locals>.MyTensor.__init__î   s   € Ø"”
Ø –	r!   )rD   rC   NrS   r   s   @r   r5   r’   ã   s(   ø‡ € Ø!( 	ÐØ&,¨hÐ%7Ð"òQ÷!ð !r!   r5   rD   N)r   r*   r7   r8   r;   r<   rŽ   )r   r5   r=   r}   Úanother_tensorr~   s   &     r   Útest_default_implsÚ(TestTorchAOBaseTensor.test_default_implsÝ   sˆ   € ô	!Ô(ô 	!ô �H‰H�O‰O˜A˜qÓ!ˆÜ—8‘8×%Ñ%¡h¨q¯x©x¸ÀÓ&FÓGˆŒØ—H‘Hˆ	äŸ™Ÿ™¨¨AÓ.×5Ñ5ˆá% n°f¸dÓCÐØ×'Ñ'¨	ÖFr!   c                óˆ  €  ! R  R\         4      p\        P                  P                  ^^4      pV! VP                  RRR4      p\        P                  P                  ^^4      pV! VP                  RRR4      pV P                  W44       \        P                  P                  ^^4      pV! VP                  RR\        P                  ! VP                  4      4      p\        P                  P                  ^^4      pV! VP                  RR\        P                  ! VP                  4      4      pV P                  W44       R# )c                   óH   a € ] tR t^ýt o R.tRR.tR.tR	R ltR	R ltRt	V t
R# )
Ú]TestTorchAOBaseTensor.test_default_impls_with_optional_data.<locals>.MyTensorWithOptionalDatarC   rD   rE   Ú
zero_pointNc                ó„   € VP                   pVf   VP                  pRV/p\        P                  P                  ! W3/ VB # r”   r•   )r-   rC   rD   rE   r    r)   rK   s   &&&&&  r   r/   ÚeTestTorchAOBaseTensor.test_default_impls_with_optional_data.<locals>.MyTensorWithOptionalData.__new__  r—   r!   c                ó*   € Wn         W n        W@n        R # r(   )rC   rD   r    )r   rC   rD   rE   r    s   &&&&&r   r3   ÚfTestTorchAOBaseTensor.test_default_impls_with_optional_data.<locals>.MyTensorWithOptionalData.__init__	  s   € Ø"”
Ø ”	Ø",–r!   )rD   rC   r    r(   )r   r   r   r   rT   rU   ra   r/   r3   r   r   r   s   @r   ÚMyTensorWithOptionalDatarŸ   ý   s0   ø‡ € Ø!( 	ÐØ&,¨hÐ%7Ð"Ø*6¨Ð&ôQ÷-ò -r!   r¥   rD   N)r   r*   r7   r8   r<   rŽ   Ú
zeros_like©r   r¥   r=   r}   r~   s   &    r   Ú%test_default_impls_with_optional_dataÚ;TestTorchAOBaseTensor.test_default_impls_with_optional_dataû   s÷   € ô	-Ô'8ô 	-ô& �H‰H�O‰O˜A˜qÓ!ˆÙ,¨Q¯X©X°v¸tÀTÓJˆ	Ü�H‰H�O‰O˜A˜qÓ!ˆÙ5°a·h±hÀÈÈdÓSÐØ×'Ñ'¨	ÔFä�H‰H�O‰O˜A˜qÓ!ˆÙ,Ø�H‰H�f˜d¤E×$4Ò$4°Q·X±XÓ$>ó
ˆ	ô �H‰H�O‰O˜A˜qÓ!ˆÙ5Ø�H‰H�f˜d¤E×$4Ò$4°Q·X±XÓ$>ó
Ðð 	×'Ñ'¨	ÖFr!   c                ó  €  ! R  R\         4      p\        P                  P                  ^^4      pV! VP                  RRRR7      p\        P                  P                  ^^4      pV! VP                  RRRR7      pV P                  W44       \        P                  P                  ^^4      pV! VP                  RRRRR7      p\        P                  P                  ^^4      pV! VP                  RRRRR7      pV P                  W44       R# )c                   óN   a € ] tR tRt o R.tRR.tR.tR.tRR ltRR	 lt	R
t
V tR# )Ú]TestTorchAOBaseTensor.test_default_impls_with_optional_attr.<locals>.MyTensorWithOptionalDatai"  rC   rD   rE   r    Úoptional_attrNc                ó„   € VP                   pVf   VP                  pRV/p\        P                  P                  ! W3/ VB # r”   r•   )r-   rC   rD   rE   r    r­   r)   rK   s   &&&&&&  r   r/   ÚeTestTorchAOBaseTensor.test_default_impls_with_optional_attr.<locals>.MyTensorWithOptionalData.__new__(  r—   r!   c                ó6   € Wn         W n        W@n        WPn        R # r(   )rC   rD   r    r­   )r   rC   rD   rE   r    r­   s   &&&&&&r   r3   ÚfTestTorchAOBaseTensor.test_default_impls_with_optional_attr.<locals>.MyTensorWithOptionalData.__init__/  s   € ð #”
Ø ”	Ø",”Ø%2Ö"r!   )rD   r­   rC   r    )NN)r   r   r   r   rT   rU   ra   rb   r/   r3   r   r   r   s   @r   r¥   r¬   "  s9   ø‡ € Ø!( 	ÐØ&,¨hÐ%7Ð"Ø*6¨Ð&Ø/>Ð.?Ð+ôQ÷3ò 3r!   r¥   rD   N)r    Úvalue)r    r­   )r   r*   r7   r8   r<   rŽ   r§   s   &    r   Ú%test_default_impls_with_optional_attrÚ;TestTorchAOBaseTensor.test_default_impls_with_optional_attr   sã   € ô	3Ô'8ô 	3ô. �H‰H�O‰O˜A˜qÓ!ˆÙ,¨Q¯X©X°v¸tÐPTÔUˆ	Ü�H‰H�O‰O˜A˜qÓ!ˆÙ5Ø�H‰H�f˜d¨tô
Ðð 	×'Ñ'¨	ÔFä�H‰H�O‰O˜A˜qÓ!ˆÙ,Ø�H‰H�f˜d¨tÀ7ô
ˆ	ô �H‰H�O‰O˜A˜qÓ!ˆÙ5Ø�H‰H�f˜d¨tÀ7ô
Ðð 	×'Ñ'¨	ÖFr!   c                ób  a€ R^ /o ! R R\         4      pVP                  pVP                  pV! \        P                  P
                  P                  P                  .4      V! \        P                  .4      V3R l4       4       p\        P                  P                  ^^4      p\        P                  P                  V! VP                  P                  4       RR4      4      Vn        \        P                  ! ^^4      p\        P                  ! WeP                  VP                   4       V P#                  SR,          ^R4       V! \        P                  ! ^^4      4      p\        P                  P
                  P                  P                  V4       V P#                  SR,          ^R4       R# )	zYEnsure a function decorated with both @_implements and @_implements_torch_function works.Úcallsc                   óZ   a € ] tR tRt o R.tRR.tRV 3R lR lltRV 3R lR	 lltR
tV t	R# )ÚSTestTorchAOBaseTensor.test_implements_and_torch_function_together.<locals>.MyTensoriO  rC   rD   rE   Nc                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# ©é   rC   rD   ©r*   r+   rq   )Úformatr    s   "€r   Ú__annotate__Ú`TestTorchAOBaseTensor.test_implements_and_torch_function_together.<locals>.MyTensor.__annotate__S  s   ø€ ÷ 	ñ 	¡E§L¡Lð 	¹ñ 	r!   c                ó¾   € / pVf   VP                   pW4R&   VP                  VR&   \        P                  P                  ! WP
                  3/ VB pWn        W%n        V# rG   rI   rJ   s   &&&&  r   r/   Ú[TestTorchAOBaseTensor.test_implements_and_torch_function_together.<locals>.MyTensor.__new__S  sV   € Ø�Ø’>Ø"Ÿ\™\�FØ#)�xÑ Ø"'§+¡+��w‘Ü—L‘L×7Ò7¸¿[¹[ÑSÈFÑS�Ø”Ø”Ø�r!   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# rº   r¼   )r½   r    s   "€r   r¾   r¿   ^  s   ø€ ÷ ñ ¡e§l¡lð ¹#ñ r!   c                ó   € R # r(   r   rO   s   &&&&r   r3   Ú\TestTorchAOBaseTensor.test_implements_and_torch_function_together.<locals>.MyTensor.__init__^  rQ   r!   r   rR   rS   r   s   @r   r5   r¸   O  s1   ø‡ € Ø!( 	ÐØ&,¨hÐ%7Ð"÷	ò 	÷÷ ð r!   r5   c                 ó2   <€ SR ;;,          ^,          uu&   R# ©r¶   Nr   ©ÚfuncÚtypesÚargsrK   Úcounters   &&&&€r   Úfake_linearÚVTestTorchAOBaseTensor.test_implements_and_torch_function_together.<locals>.fake_lineard  s   ø€ ð �G× Õ!Õr!   rD   Nz.Expected fake_linear to be called via F.linearz4Expected fake_linear to be called via aten.t.default)r   Ú
implementsÚimplements_torch_functionr*   rs   rt   r]   ÚdefaultÚFÚlinearr7   r8   r;   r<   rr   rY   Úbiasr   )	r   r5   rÎ   rÏ   rÌ   r=   ÚxÚmtrË   s	   &       @r   Ú+test_implements_and_torch_function_togetherÚATestTorchAOBaseTensor.test_implements_and_torch_function_togetherK  sD  ø€ à˜A�,ˆô	Ô(ô 	ð$ ×(Ñ(ˆ
Ø$,×$FÑ$FÐ!á	”U—Y‘Y—^‘^×%Ñ%×-Ñ-Ð.Ó	/Ù	"¤A§H¡H :Ó	.ô	"ó 
/ó 
0ð	"ô �H‰H�O‰O˜A˜qÓ!ˆÜ—8‘8×%Ñ%¡h¨q¯x©x¯©Ó/@À&È$Ó&OÓPˆŒÜ�KŠK˜˜1Óˆô 	
�Š�—H‘H˜aŸf™fÔ%Ø×ÑØ�GÕ˜aÐ!Qô	
ñ
 ”e—k’k ! QÓ'Ó(ˆÜ�	‰	�‰×Ñ× Ñ  Ô$Ø×ÑØ�GÕ˜aÐ!Wö	
r!   c                óH  a€ R ^ /o ! R R\         4      pVP                  \        P                  P                  P
                  P                  .4      V3R l4       p ! R RV4      pV! \        P                  ! ^^4      R4      pV! \        P                  ! ^^4      R4      p\        P                  P                  P
                  P                  WE.^ 4       V P                  SR ,          ^4       VP                  \        P                  P                  P                  P                  .4      R 4       pV P                  \        4      ;_uu_ 4        \        P                  P                  P                  P                  V4       R	R	R	4       R	#   + '       g   i     R	# ; i)
Úparentc                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )Ú6TestTorchAOBaseTensor.test_subclassing.<locals>.Parenti}  rC   rD   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   ©r*   r+   r,   r)   rC   rD   ©r-   rC   rD   rL   s   &&& r   r/   Ú>TestTorchAOBaseTensor.test_subclassing.<locals>.Parent.__new__�  ó)   € Ü—L‘L×7Ñ7¸¿[¹[ÓI�Ø”Ø”Ø�r!   c                ó   € R # r(   r   ©r   rC   rD   s   &&&r   r3   Ú?TestTorchAOBaseTensor.test_subclassing.<locals>.Parent.__init__‡  rQ   r!   r   NrS   r   s   @r   ÚParentrÛ   }  ó$   ø‡ € Ø!( 	ÐØ&, XÐ"ò÷ð r!   rä   c                 ó2   <€ SR ;;,          ^,          uu&   R# ©rÙ   Nr   ©rÈ   rÉ   rÊ   rK   Úcounterss   &&&&€r   Ú
parent_catÚ:TestTorchAOBaseTensor.test_subclassing.<locals>.parent_catŠ  ó   ø€ à�X× !Õ#Õr!   c                   ó"   € ] tR tRtR.tR.tRtR# )Ú5TestTorchAOBaseTensor.test_subclassing.<locals>.ChildiŽ  rC   rD   r   N©r   r   r   r   rT   rU   r   r   r!   r   ÚChildrî   Ž  ó   † Ø!( 	ÐØ&, XÔ"r!   rð   ÚaÚbc                 ó   € R # r(   r   )rÈ   rÉ   rÊ   rK   s   &&&&r   Úparent_reluÚ;TestTorchAOBaseTensor.test_subclassing.<locals>.parent_reluš  s   € ár!   N)r   rÎ   r*   rs   rt   ÚcatrÐ   rY   r   ÚreluÚassertRaisesÚRuntimeError)r   rä   rê   rð   Út1Út2rõ   ré   s   &      @r   Útest_subclassingÚ&TestTorchAOBaseTensor.test_subclassingz  s4  ø€ Ø˜a�=ˆô	Ô&ô 	ð 
×	Ñ	œEŸI™IŸN™N×.Ñ.×6Ñ6Ð7Ó	8ô	$ó 
9ð	$ô	.�Fô 	.ñ
 ”5—;’;˜q !Ó$ cÓ*ˆÙ”5—;’;˜q !Ó$ cÓ*ˆÜ�	‰	�‰×Ñ×"Ñ" B 8¨QÔ/à×Ñ˜ (Õ+¨QÔ/ð 
×	Ñ	œEŸI™IŸN™N×/Ñ/×7Ñ7Ð8Ó	9ñ	ó 
:ð	ð ×Ñœ|×,Õ,Ü�I‰I�N‰N×Ñ×'Ñ'¨Ô+÷ -×,×,Ò,ús   Å4FÆF!	c                óæ  a€ R ^ /o ! R R\         4      pVP                  \        P                  P                  P
                  P                  .4      V3R l4       p ! R RV4      pV! \        P                  ! ^^4      R4      pV! \        P                  ! ^^4      R4      p\        P                  P                  P
                  P                  WE.^ 4       V P                  SR ,          ^4       R# )	r¶   c                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )ÚCTestTorchAOBaseTensor.test_subclassing_with_real_op.<locals>.Parenti¥  rC   rD   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   rÝ   rÞ   s   &&& r   r/   ÚKTestTorchAOBaseTensor.test_subclassing_with_real_op.<locals>.Parent.__new__©  rà   r!   c                ó   € R # r(   r   râ   s   &&&r   r3   ÚLTestTorchAOBaseTensor.test_subclassing_with_real_op.<locals>.Parent.__init__¯  rQ   r!   r   NrS   r   s   @r   rä   r  ¥  rå   r!   rä   c                 ó2   <€ SR ;;,          ^,          uu&   R# rÆ   r   rÇ   s   &&&&€r   rê   ÚGTestTorchAOBaseTensor.test_subclassing_with_real_op.<locals>.parent_cat²  s   ø€ à�G× Õ!Õr!   c                   ó"   € ] tR tRtR.tR.tRtR# )ÚBTestTorchAOBaseTensor.test_subclassing_with_real_op.<locals>.Childi¶  rC   rD   r   Nrï   r   r!   r   rð   r	  ¶  rñ   r!   rð   rò   ró   N©	r   rÎ   r*   rs   rt   r÷   rÐ   rY   r   )r   rä   rê   rð   rû   rü   rË   s   &     @r   Útest_subclassing_with_real_opÚ3TestTorchAOBaseTensor.test_subclassing_with_real_op¢  sÀ   ø€ Ø˜A�,ˆô	Ô&ô 	ð 
×	Ñ	œEŸI™IŸN™N×.Ñ.×6Ñ6Ð7Ó	8ô	"ó 
9ð	"ô	.�Fô 	.ñ ”5—;’;˜q !Ó$ cÓ*ˆÙ”5—;’;˜q !Ó$ cÓ*ˆä�	‰	�‰×Ñ×"Ñ" B 8¨QÔ/à×Ñ˜ Õ)¨1Ö-r!   c                óð  a	€ R ^ R^ /o	 ! R R\         4      pVP                  \        P                  P                  P
                  P                  .4      V	3R l4       p ! R RV4      pVP                  \        P                  P                  P
                  P                  .4      V	3R l4       pV! \        P                  ! ^^4      R4      pV! \        P                  ! ^^4      R	4      p\        P                  P                  P
                  P                  WV.^ 4       V P                  S	R ,          ^4       V P                  S	R,          ^ 4       V! \        P                  ! ^^4      R4      pV! \        P                  ! ^^4      R	4      p\        P                  P                  P
                  P                  Wx.^ 4       V P                  S	R ,          ^4       V P                  S	R,          ^4       R
# )rÙ   Úchildc                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )Ú7TestTorchAOBaseTensor.test_op_overwrite.<locals>.ParentiÄ  rC   rD   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   rÝ   rÞ   s   &&& r   r/   Ú?TestTorchAOBaseTensor.test_op_overwrite.<locals>.Parent.__new__È  rà   r!   c                ó   € R # r(   r   râ   s   &&&r   r3   Ú@TestTorchAOBaseTensor.test_op_overwrite.<locals>.Parent.__init__Î  rQ   r!   r   NrS   r   s   @r   rä   r  Ä  rå   r!   rä   c                 ó2   <€ SR ;;,          ^,          uu&   R# rç   r   rè   s   &&&&€r   rê   Ú;TestTorchAOBaseTensor.test_op_overwrite.<locals>.parent_catÑ  rì   r!   c                   ó"   € ] tR tRtR.tR.tRtR# )Ú6TestTorchAOBaseTensor.test_op_overwrite.<locals>.ChildiÕ  rC   rD   r   Nrï   r   r!   r   rð   r  Õ  rñ   r!   rð   c                 ó2   <€ SR ;;,          ^,          uu&   R# )r  Nr   rè   s   &&&&€r   Ú	child_catÚ:TestTorchAOBaseTensor.test_op_overwrite.<locals>.child_catÙ  s   ø€ à�W× Õ"Õr!   rò   ró   Nr
  )
r   rä   rê   rð   r  Úp1Úp2Úc1Úc2ré   s
   &        @r   Útest_op_overwriteÚ'TestTorchAOBaseTensor.test_op_overwriteÁ  sŠ  ø€ Ø˜a ¨!Ð,ˆô	Ô&ô 	ð 
×	Ñ	œEŸI™IŸN™N×.Ñ.×6Ñ6Ð7Ó	8ô	$ó 
9ð	$ô	.�Fô 	.ð 
×	Ñ	œ5Ÿ9™9Ÿ>™>×-Ñ-×5Ñ5Ð6Ó	7ô	#ó 
8ð	#ñ ”E—K’K  1Ó% sÓ+ˆÙ”E—K’K  1Ó% sÓ+ˆÜ�	‰	�‰×Ñ×"Ñ" B 8¨QÔ/à×Ñ˜ (Õ+¨QÔ/Ø×Ñ˜ 'Õ*¨AÔ.ñ ”5—;’;˜q !Ó$ cÓ*ˆÙ”5—;’;˜q !Ó$ cÓ*ˆÜ�	‰	�‰×Ñ×"Ñ" B 8¨QÔ/à×Ñ˜ (Õ+¨QÔ/Ø×Ñ˜ 'Õ*¨AÖ.r!   c                ó†  a€ R ^ R^ /o ! R R \         4      pVP                  \        P                  P                  P
                  P                  .4      V3R l4       p ! R R\         4      pVP                  \        P                  P                  P
                  P                  .4      V3R l4       p ! R RW4      pV! \        P                  ! ^4      R4      p\        P                  P                  P
                  P                  V4       V P                  SR ,          ^ 4       V P                  SR,          ^4       R	# )
ÚAÚBc                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )Ú:TestTorchAOBaseTensor.test_multiple_inheritance.<locals>.Aið  rò   ró   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   ©r*   r+   r,   r)   rò   ró   ©r-   rò   ró   rL   s   &&& r   r/   ÚBTestTorchAOBaseTensor.test_multiple_inheritance.<locals>.A.__new__ô  ó)   € Ü—L‘L×7Ñ7¸¿W¹WÓE�Ø”Ø”Ø�r!   c                ó   € R # r(   r   ©r   rò   ró   s   &&&r   r3   ÚCTestTorchAOBaseTensor.test_multiple_inheritance.<locals>.A.__init__ú  rQ   r!   r   NrS   r   s   @r   r#  r&  ð  ó$   ø‡ € Ø!$ ÐØ&) UÐ"ò÷ð r!   c                 ó2   <€ SR ;;,          ^,          uu&   R# ©r#  Nr   rè   s   &&&&€r   Úa_negÚ>TestTorchAOBaseTensor.test_multiple_inheritance.<locals>.a_negý  ó   ø€ à�S�M˜QÕ�Mr!   c                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )Ú:TestTorchAOBaseTensor.test_multiple_inheritance.<locals>.Bi  rò   ró   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   r(  r)  s   &&& r   r/   ÚBTestTorchAOBaseTensor.test_multiple_inheritance.<locals>.B.__new__  r+  r!   c                ó   € R # r(   r   r-  s   &&&r   r3   ÚCTestTorchAOBaseTensor.test_multiple_inheritance.<locals>.B.__init__  rQ   r!   r   NrS   r   s   @r   r$  r6    r/  r!   c                 ó2   <€ SR ;;,          ^,          uu&   R# ©r$  Nr   rè   s   &&&&€r   Úb_negÚ>TestTorchAOBaseTensor.test_multiple_inheritance.<locals>.b_neg  r4  r!   c                   ó"   € ] tR tRtR.tR.tRtR# )Ú:TestTorchAOBaseTensor.test_multiple_inheritance.<locals>.Ci  rò   ró   r   Nrï   r   r!   r   ÚCr@    ó   † Ø!$ ÐØ&) UÔ"r!   rA  rÔ   N©	r   rÎ   r*   rs   rt   ÚnegrÐ   rY   r   )r   r#  r2  r$  r=  rA  r]   ré   s   &      @r   Útest_multiple_inheritanceÚ/TestTorchAOBaseTensor.test_multiple_inheritanceí  sù   ø€ Ø˜˜C Ð#ˆô	Ô!ô 	ð 
�‰”u—y‘y—~‘~×)Ñ)×1Ñ1Ð2Ó	3ô	ó 
4ð	ô	Ô!ô 	ð 
�‰”u—y‘y—~‘~×)Ñ)×1Ñ1Ð2Ó	3ô	ó 
4ð	ô	+�ô 	+ñ Œe�kŠk˜!‹n˜cÓ"ˆÜ�	‰	�‰×Ñ×"Ñ" 1Ô%à×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ö*r!   c                ó¶  a
€ R ^ R^ R^ /o
 ! R R \         4      pVP                  \        P                  P                  P
                  P                  .4      V
3R l4       p ! R R\         4      pVP                  \        P                  P                  P
                  P                  .4      V
3R l4       p ! R RW4      pVP                  \        P                  P                  P
                  P                  .4      V
3R l4       pV! \        P                  ! ^4      R	4      p\        P                  P                  P
                  P                  V4       V P                  S
R ,          ^4       V P                  S
R,          ^ 4       V P                  S
R,          ^ 4       V! \        P                  ! ^4      R	4      p\        P                  P                  P
                  P                  V4       V P                  S
R ,          ^4       V P                  S
R,          ^4       V P                  S
R,          ^ 4       V! \        P                  ! ^4      R	4      p	\        P                  P                  P
                  P                  V	4       V P                  S
R ,          ^4       V P                  S
R,          ^4       V P                  S
R,          ^4       R
# )r#  r$  rA  c                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )ÚNTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.Ai  rò   ró   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   r(  r)  s   &&& r   r/   ÚVTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.A.__new__#  r+  r!   c                ó   € R # r(   r   r-  s   &&&r   r3   ÚWTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.A.__init__)  rQ   r!   r   NrS   r   s   @r   r#  rI    r/  r!   c                 ó2   <€ SR ;;,          ^,          uu&   R# r1  r   rè   s   &&&&€r   r2  ÚRTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.a_neg,  r4  r!   c                   ó8   a € ] tR tRt o R.tR.tR tR tRtV t	R# )ÚNTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.Bi0  rò   ró   c                óp   € \         P                  P                  WP                  4      pWn        W#n        V# r(   r(  r)  s   &&& r   r/   ÚVTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.B.__new__4  r+  r!   c                ó   € R # r(   r   r-  s   &&&r   r3   ÚWTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.B.__init__:  rQ   r!   r   NrS   r   s   @r   r$  rQ  0  r/  r!   c                 ó2   <€ SR ;;,          ^,          uu&   R# r<  r   rè   s   &&&&€r   r=  ÚRTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.b_neg=  r4  r!   c                   ó"   € ] tR tRtR.tR.tRtR# )ÚNTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.CiA  rò   ró   r   Nrï   r   r!   r   rA  rY  A  rB  r!   c                 ó2   <€ SR ;;,          ^,          uu&   R# )rA  Nr   rè   s   &&&&€r   Úc_negÚRTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override.<locals>.c_negE  r4  r!   rÔ   NrC  )r   r#  r2  r$  r=  rA  r[  rò   ró   Úcré   s   &         @r   Ú-test_multiple_inheritance_with_child_overrideÚCTestTorchAOBaseTensor.test_multiple_inheritance_with_child_override  s!  ø€ Ø˜˜C  C¨Ð+ˆô	Ô!ô 	ð 
�‰”u—y‘y—~‘~×)Ñ)×1Ñ1Ð2Ó	3ô	ó 
4ð	ô	Ô!ô 	ð 
�‰”u—y‘y—~‘~×)Ñ)×1Ñ1Ð2Ó	3ô	ó 
4ð	ô	+�ô 	+ð 
�‰”u—y‘y—~‘~×)Ñ)×1Ñ1Ð2Ó	3ô	ó 
4ð	ñ Œe�kŠk˜!‹n˜cÓ"ˆÜ�	‰	�‰×Ñ×"Ñ" 1Ô%à×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ô*ñ Œe�kŠk˜!‹n˜cÓ"ˆÜ�	‰	�‰×Ñ×"Ñ" 1Ô%à×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ô*ñ Œe�kŠk˜!‹n˜cÓ"ˆÜ�	‰	�‰×Ñ×"Ñ" 1Ô%à×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ô*Ø×Ñ˜ #�¨Ö*r!   r   N)r   r   r   r   r>   r^   rŽ   r   r›   r¨   r³   rÖ   rý   r  r   rE  r^  r   r   r   s   @r   r#   r#   (   s�   ø‡ € ò>ò$1òBñB ÓñGó ðGñ: Óñ"Gó ð"GñH Óñ(Gó ð(GòT-
ò^&,òP.ò>*/òX-+÷^C+ð C+r!   r#   Ú__main__)ÚunittestÚunittest.mockr   r*   Útorch.nn.functionalr7   Ú
functionalrÑ   Útorchao.testing.utilsr   Útorchao.utilsr   r   ÚTestCaser   r#   r   Úmainr   r!   r   Ú<module>ri     s[   ðó Ý ã ß Ð å 1ß Cô�x×(Ñ(ô ô0w+˜H×-Ñ-ô w+ðt ˆzÔØ‡M‚M†Oñ r!   