Ë
    g^(h¿!  ã                   ó2  — d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dl	m
Z d dlmZ d dlmZ  ed	d
dg«      Z edg d¢«      Zej$                  j&                  Zej$                  j*                  Zej$                  j.                  Zd„ Zd„ Z G d„ de«      Zy)é    )Ú
namedtuple)Údeepcopy)ÚcombinationsN)Únormalize_function)Ú_pytree)ÚTorchDispatchMode)Útree_mapÚMutationÚop_nameÚarg_nameÚAliasing)r   r   Úoutput_numberc                 óÒ   — t        | t        j                  «      ry	 t        | «      dk(  ryt	        | «      D ]  }t        |t        j                  «      rŒ y 	 y# t
        $ r Y yw xY w)NFr   T)Ú
isinstanceÚtorchÚTensorÚlenÚiterÚ	TypeError)ÚiterableÚts     úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_subclasses/schema_check_mode.pyÚis_iterable_of_tensorsr   !   sd   € ä�(œEŸL™LÔ)ØðÜˆx‹=˜AÒØÜ�h“ò 	ˆAÜ˜a¤§¡Õ.Ùñ	ð
 øô ò Ùðús"   �A ¬(A ÁA ÁA Á	A&Á%A&c                 ób  — g }| D ]¢  }t        |t        j                  «      r.|j                  |j	                  «       j                  «       «       ŒKt        |«      r<|j                  |D �cg c]   }|j	                  «       j                  «       ‘Œ" c}«       Œ’|j                  |«       Œ¤ |S c c}w ©N)r   r   r   ÚappendÚdetachÚcloner   )ÚargsÚinputsÚargr   s       r   Úclone_inputsr"   0   s…   € Ø€Fàò ˆÜ�cœ5Ÿ<™<Ô(Ø�M‰M˜#Ÿ*™*›,×,Ñ,Ó.Õ/Ü# CÔ(Ø�M‰M°sÖ;°!˜1Ÿ8™8›:×+Ñ+Õ-Ò;Õ<à�M‰M˜#Õðð €Mùò	 <s   Á*%B,
c                   ó(   — e Zd Zdd„Zd„ Zd„ Zdd„Zy)ÚSchemaCheckModeNc                 ó.   — g | _         g | _        g | _        y r   )ÚopsÚmutatedÚaliasing©Úselfs    r   Ú__init__zSchemaCheckMode.__init__?   s   € ð ˆŒØˆŒØˆ�ó    c                 ó    — | j                   j                  «        | j                  j                  «        | j                  j                  «        y r   )r&   Úclearr'   r(   r)   s    r   Úreset_cachezSchemaCheckMode.reset_cacheG   s0   € Ø�‰�‰ÔØ�‰×ÑÔØ�‰×ÑÕr,   c                 ó.   — t        | j                  ddiŽ y )NÚsepú,)Úprintr&   r)   s    r   Údisplay_opszSchemaCheckMode.display_opsL   s   € Üˆt�x‰xÐ!˜SÓ!r,   c                 óF
  ‡‡— d„ Šˆfd„Šd„ }d„ }d„ }d„ }| j                   j                  |j                  j                  «       t	        |||d¬«      j
                  }	t        t        |	j                  «       t        |	j                  «       «      «      «      }
|
D �ci c]  }|t        ||
j                  |«      «      “Œ  }}|	D ��ci c];  }|t        j                  |	j                  |«      «      D �cg c]
  } ||«      ‘Œ c}“Œ= }}} ||i |¤Ž}|	D �ci c]  }|t        ||	j                  |«      «      “Œ  }}t        |t         «      r|n|f}t        ||«      }t#        |j                  «      }|j%                  |	«       t'        t)        |j                  j*                  «      «      D �]À  }|j                  j*                  |   } ||j                  «      }|j                  |«      €ŒA|j                  |«      }|j                  |«      }|j                  |«      }t'        t)        |«      «      D �]}  }d	} |||   |«      r¦|j                  j                  |vrŽ|j-                  t/        t0        j2                  |«      t/        t0        j4                  |«      «      st7        d
|› d�«      ‚| j8                  j                  t;        |j                  j                  |d|› �«      «       |||   u sŒÀt        |t<        j>                  «      sŒÛ|jA                  t/        t0        j4                  |«      «      r�Œ|t<        j                   jB                  jD                  jF                  t<        j                   jB                  jH                  jF                  fvs�Œft7        dtK        |«      › d|› �«      ‚ tM        ˆfd„t        t        j                  |«      t        j                  |«      |«      D «       «      s�ŒP|jA                  t/        t0        j4                  |«      «      st7        d
|› d�«      ‚| jN                  j                  tQ        |j                  j                  |«      «       �ŒÃ tS        t'        t)        |j                  jT                  «      «      d«      D ]i  \  }} |||   ||   «      sŒ|j-                  t/        t0        j2                  |«      t/        t0        j2                  |«      «      rŒYt7        d|› d|› d�«      ‚ |S c c}w c c}w c c}}w c c}w )Nc                 óv   — | j                   rt        j                  | |«      S t        j                  | |d¬«      S )NT)Ú	equal_nan)Úis_quantizedr   ÚequalÚallclose)ÚlhsÚrhss     r   Úbitwise_equalz9SchemaCheckMode.__torch_dispatch__.<locals>.bitwise_equalP   s1   € Ø×Òô —{‘{ 3¨Ó,Ð,ä—~‘~ c¨3¸$Ô?Ð?r,   c                 óÀ  •— t        | «      t        j                  k(  xr t        |«      t        j                  k(  }|r¡| j                  t        j                  k7  r„|j                  t        j                  k7  rg| j                  «       |j                  «       k(  xrC  ‰| |«      xr8 |d   |j                  «       k(  xr  |d   |j                  «       j                  k(   S y)Nr   é   F)	Útyper   r   ÚlayoutÚ
sparse_csrÚsizeÚstrideÚ_typed_storageÚ_cdata)ÚbeforeÚafterÚmdÚare_tensorsr=   s       €r   Úhas_mutatedz7SchemaCheckMode.__torch_dispatch__.<locals>.has_mutatedX   s»   ø€ Ü˜v›,¬%¯,©,Ñ6ÒV¼4À»;Ì%Ï,É,Ñ;VˆKáØ—M‘M¤U×%5Ñ%5Ò5Ø—L‘L¤E×$4Ñ$4Ò4ð —K‘K“M U§Z¡Z£\Ñ1ò ?Ù% f¨eÓ4ò?à˜1™ §¡£Ñ/ò?ð ˜1™ ×!5Ñ!5Ó!7×!>Ñ!>Ñ>ð	ð ð r,   c                 ó¨   — 	 t         j                  j                  | |«      S # t        $ r&}t	        |«      j                  d«      rY d }~y|‚d }~ww xY w)NzCannot inspect value of type F)r   Ú_CÚ	_overlapsÚ	ExceptionÚstrÚ
startswith)r;   r<   Ú	exceptions      r   Úhas_aliasedz7SchemaCheckMode.__torch_dispatch__.<locals>.has_aliasedg   sI   € ð$Ü—x‘x×)Ñ)¨#¨sÓ3Ð3øÜò $Ü�y“>×,Ñ,Ð-LÔMÜ à#�Oûð	$ús   ‚" ¢	A«AÁ
AÁAc                 ó   — | dk7  r| S dS )Nr*   Úinput© )Únames    r   Ústandardize_namez<SchemaCheckMode.__torch_dispatch__.<locals>.standardize_namep   s   € Ø 6š>�4Ð6¨wÐ6r,   c                 ó®   — t        | t        j                  «      r)t        | «      t        j                  k(  s	 | j                  S | S # t
        $ r | cY S w xY wr   )r   r   r   r@   ÚelemÚAttributeError)Úes    r   Úunwrapz2SchemaCheckMode.__torch_dispatch__.<locals>.unwraps   sJ   € Ü˜!œUŸ\™\Ô*´4¸³7¼e¿l¹lÒ3JðØŸ6™6�Mð ˆHøô &ò Ø’Hðús   ¸A ÁAÁAc                 ó®  — t        | t        j                  «      r¬t        | «      t        j                  k(  s@	 | j                  }t        |j                  «       «      |j                  «       j                  fS | j                  t        j                  k7  r3t        | j                  «       «      | j                  «       j                  fS y # t        $ r Y y w xY wr   )r   r   r   r@   rZ   r   rD   rE   rF   r[   rA   rB   )r\   Úcurrents     r   Úparse_metadataz:SchemaCheckMode.__torch_dispatch__.<locals>.parse_metadata{   s©   € Ü˜!œUŸ\™\Ô*Ü˜A“w¤%§,¡,Ò.ð$Ø"#§&¡&˜ä$ W§^¡^Ó%5Ó6Ø#×2Ñ2Ó4×;Ñ;ð ð ð —X‘X¤×!1Ñ!1Ò1Ü$ Q§X¡X£ZÓ0°!×2BÑ2BÓ2D×2KÑ2KÐLÐLØøô *ò $Ù#ð$ús   ¸>C Ã	CÃCT)Únormalize_to_only_use_kwargs)zaten::_unsafe_viewzaten::unsafe_splitz	Argument z0 is not defined to alias output but was aliasingÚoutput_zoDispatcher operators below autograd are not allowed to directly return inputs.
However, we found that `outputs[z] is c              3   ó:   •K  — | ]  \  }}} ‰|||«      –— Œ y ­wr   rV   )Ú.0ÚaÚbÚcrK   s       €r   ú	<genexpr>z5SchemaCheckMode.__torch_dispatch__.<locals>.<genexpr>Î   s(   øè ø€ ò á˜˜1˜añ    1 a×(ñùs   ƒz* is not defined as mutable but was mutatedé   zOutputs z and z alias unexpectedly)+r&   r   Ú_schemarW   r   ÚkwargsÚdictÚzipÚkeysr"   Úvaluesr	   ÚgetÚpytreeÚtree_leavesr   ÚtupleÚ
SchemaInfoÚadd_argument_valuesÚranger   Ú	argumentsÚmay_contain_aliasÚSchemaArgumentÚSchemaArgTypeÚoutputrU   ÚRuntimeErrorr(   r   r   r   Ú
is_mutableÚatenÚliftÚdefaultÚ
lift_freshrP   Úanyr'   r
   r   Úreturns)r*   ÚfuncÚtypesr   rk   rS   rX   r]   r`   Úpre_argumentsÚc_p_argsrW   Úcloned_argumentsre   Úcloned_metadataÚoutrw   Ú	tuple_outÚschema_infoÚir!   rG   rI   rH   ÚjÚ
unsafe_opsr=   rK   s                             @@r   Ú__torch_dispatch__z"SchemaCheckMode.__torch_dispatch__O   s¨  ù€ ò	@ô	ò	$ò	7ò	ò	ð  	�‰�‰˜Ÿ™×)Ñ)Ô*ô +Ø�$˜¸Tô
ç
‰&ð 	ô œ˜M×.Ñ.Ó0´,¸}×?SÑ?SÓ?UÓ2VÓWÓXˆàCKö
Ø;?ˆD”(˜6 8§<¡<°Ó#5Ó6Ñ6ð
Ðð 
ð &÷	
ð ð Ü+1×+=Ñ+=¸m×>OÑ>OÐPTÓ>UÓ+VöØ&'‘˜qÕ!òñ ð
ˆñ 
ñ �DÐ#˜FÑ#ˆàHUö
Ø@DˆD”(˜6 =×#4Ñ#4°TÓ#:Ó;Ñ;ð
ˆ	ð 
ô & c¬5Ô1‘C¸°vˆ	Ü˜V YÓ/ˆ	ä  §¡Ó.ˆØ×'Ñ'¨Ô6ô ”s˜4Ÿ<™<×1Ñ1Ó2Ó3ó 3	OˆAØ—,‘,×(Ñ(¨Ñ+ˆCÙ# C§H¡HÓ-ˆDØ�}‰}˜TÓ"Ñ.Ø)×-Ñ-¨dÓ3�Ø$×(Ñ(¨Ó.�Ø!Ÿ™ dÓ+�Üœs 9›~Ó.ó �Aà!M�Já# I¨a¡L°%Ô8Ø ŸL™L×-Ñ-°ZÑ?à*×<Ñ<Ü*¬=×+?Ñ+?ÀÓCÜ*¬=×+>Ñ+>ÀÓBô ô #/Ø"+¨D¨6Ð1aÐ bó#ð ð !ŸM™M×0Ñ0Ü (¨¯©×):Ñ):¸DÀGÈAÈ3À-Ó Pôð  	¨!¡Ò,´¸EÄ5Ç<Á<Õ1Pà*×5Ñ5Ü*¬=×+>Ñ+>ÀÓBö à"Ü!ŸI™IŸN™N×/Ñ/×7Ñ7Ü!ŸI™IŸN™N×5Ñ5×=Ñ=ð+ó ô #/ð%!ä!$ Q£ ¨¨d¨Vð!7ó#ð ð5ô> ó ä#&Ü×*Ñ*¨6Ó2´F×4FÑ4FÀuÓ4MÈró$ôö ð '×1Ñ1Ü&¤}×':Ñ':¸AÓ>ôô +Ø'¨ vÐ-WÐXóð ð Ÿ™×+Ñ+¬H°T·\±\×5FÑ5FÈÓ,MÖNðg3	Oôl !¤¤s¨4¯<©<×+?Ñ+?Ó'@Ó!AÀ1ÓEò 	R‰DˆAˆqÙ˜9 Q™<¨°1©Õ6Ø"×4Ñ4Ü"¤=×#7Ñ#7¸Ó;Ü"¤=×#7Ñ#7¸Ó;õô '¨°!°°E¸!¸Ð<OÐ'PÓQÐQð	Rð ˆ
ùòg
ùòùó
ùò
s$   Â#TÃ,TÃ3TÄTÄ#TÔT)ÚreturnN)rV   N)Ú__name__Ú
__module__Ú__qualname__r+   r/   r4   r�   rV   r,   r   r$   r$   >   s   „ óòò
"ôWr,   r$   )Úcollectionsr   Úcopyr   Ú	itertoolsr   r   Útorch.fx.operator_schemasr   Útorch.utilsr   rq   Útorch.utils._python_dispatchr   Útorch.utils._pytreer	   r
   r   rM   Ú_SchemaArgumentry   Ú_SchemaArgTyperz   Ú_SchemaInfort   r   r"   r$   rV   r,   r   ú<module>rŸ      s‡   ðõ #Ý Ý "ã Ý 8Ý )Ý :Ý (ñ �j 9¨jÐ"9Ó:€Ù�jÒ"JÓK€ð —‘×)Ñ)€Ø—‘×'Ñ'€Ø�X‰X×!Ñ!€
òòôhÐ'õ hr,   