Ë
    N²j3  ã                   ór  — U d dl Z d dl mZ e j                  j                  Zd dl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 i Zeee j"                  j$                  f   ed<    e«       Zee   ed<    e	d	«      Z ed
«      Zdd„Zd„ Z	 dde j4                  j6                  deee j"                  j$                  f   dz  deeeef   geeef   f   fd„Z eej:                  j<                  «      	 	 	 ddedee    dz  dedz  de!def
d„«       Z" eej:                  jF                  «      ddede!defd„«       Zy)é    N)ÚTensor)ÚCallable)ÚTypeVar)Ú	ParamSpec)ÚNumberÚdecomposition_tableÚfunction_name_setÚ_TÚ_PÚreturnc                 óB  — t         j                  }t        j                  | «      }|j                  j	                  «       D ]6  }|j
                  |k(  sŒt        d|j                  › d| j                  › �«      ‚ |j                  |k(  rt        d| j                  › �«      ‚y )NzNo signature on param z for function z"No return annotation for function )	ÚinspectÚ_emptyÚ	signatureÚ
parametersÚvaluesÚ
annotationÚAssertionErrorÚnameÚreturn_annotation)ÚfÚinspect_emptyÚsigÚparams       úX/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/jit/_decompositions.pyÚ(check_decomposition_has_type_annotationsr      s–   € Ü—N‘N€MÜ
×
Ñ
˜AÓ
€CØ—‘×&Ñ&Ó(ò ˆØ×Ñ˜}Ó,Ü Ø(¨¯©¨°NÀ1Ç6Á6À(ÐKóð ðð ×Ñ Ò-ÜÐAÀ!Ç&Á&ÀÐJÓKÐKð .ó    c                 ó  — | j                   }|j                   }t        |«      t        |«      k7  ryt        |j                  «       |j                  «       «      D ]Ž  \  }}t        j
                  }dD ]I  }|dk(  r&|j                  dk(  rt        j                  dd¬«       t        ||«      t        ||«      k7  sŒH  y |j                  }|j                  }	||k7  sŒ‚|	|k7  sŒˆ||	k7  sŒŽ y | j                  |j                  k(  S )NF)r   r   r   Úselfz4PyTorch uses 'input' instead of 'self' on public apié   )Ú
stacklevel)r   ÚlenÚzipr   r   r   r   ÚwarningsÚwarnÚgetattrÚdefaultr   )
Údecomposition_sigÚtorch_op_sigÚdecomp_paramsÚ	op_paramsÚdecomp_paramÚop_paramr   ÚfieldÚdecomp_defaultÚ
op_defaults
             r   Úsignatures_matchr1   $   s  € Ø%×0Ñ0€MØ×'Ñ'€Iä
ˆ=ÓœS ›^Ò+Øä"% m×&:Ñ&:Ó&<¸i×>NÑ>NÓ>PÓ"Qò Ñˆ�hô
  Ÿ™ˆØ+ò 	ˆEØ˜Š <×#4Ñ#4¸Ò#>Ü—‘ØJÐWXõô �| UÓ+¬w°xÀÓ/GÓGÚð	ð &×-Ñ-ˆØ×%Ñ%ˆ
ð ˜]Ó*¨z¸]Ó/JØ Ó+Ùð+ð. ×.Ñ.°,×2PÑ2PÑPÐPr   Úaten_opÚregistryc                 ód   ‡ ‡— dt         t        t        f   dt         t        t        f   fˆ ˆfd„}|S )Nr   r   c                 ó¤  •— ‰€t         Št        ‰t        j                  j                  «      st        dt        ‰«      › �«      ‚| j                  t        v rt        d| j                  › �«      ‚t        j                  | j                  «       t        j                  j                  | «      }t        j                  j                  |j                  «       t        d«      D ]T  }t        j                  j!                  |j                  «       t        j                  j#                  |j                  «       ŒV |‰t%        ‰j&                  «      <   | S )Nz'Expected aten_op to be OpOverload, got zDuplicated function name r    )r   Ú
isinstanceÚtorchÚ_opsÚ
OpOverloadr   ÚtypeÚ__name__r	   ÚaddÚjitÚscriptÚ_CÚ_jit_pass_inlineÚgraphÚrangeÚ_jit_pass_peepholeÚ_jit_pass_constant_propagationÚstrÚ_schema)r   Úscripted_funcÚ_r2   r3   s      €€r   Údecomposition_decoratorz7register_decomposition.<locals>.decomposition_decoratorI   s   ø€ àÐÜ*ˆHä˜'¤5§:¡:×#8Ñ#8Ô9Ü Ø9¼$¸w»-¸ÐIóð ð
 �:‰:Ô*Ñ*Ü Ð#<¸Q¿Z¹Z¸LÐ!IÓJÐJÜ×Ñ˜aŸj™jÔ)äŸ	™	×(Ñ(¨Ó+ˆÜ�‰×!Ñ! -×"5Ñ"5Ô6ä�q“ò 	IˆAÜ�H‰H×'Ñ'¨×(;Ñ(;Ô<Ü�H‰H×3Ñ3°M×4GÑ4GÕHð	Ið *7ˆ”�W—_‘_Ó%Ñ&Øˆr   )r   r   r
   )r2   r3   rI   s   `` r   Úregister_decompositionrJ   E   s0   ù€ ð¤8¬B´¨FÑ#3ð ¼ÄÄRÀÑ8Hö ð2 #Ð"r   ÚinputÚdimÚ
correctionÚkeepdimc                 óð  — |€g }|}t        |t        t        f«      rt        |«      dk(  r| j	                  «       }nd}|D ]  }|| j
                  |   z  }Œ t        j                  | |d«      }| |z
  }||z  }t        j                  |||«      }	|€t        |dz
  «      }
nIt        |t        «      rt        ||z
  «      }
n*t        |t        «      rt        |«      |z
  }
nt        d«      ‚|	t        d|
«      z  S )Nr   é   Tzcorrection must be int or float)r6   ÚtupleÚlistr"   ÚnumelÚshapeÚatenÚmeanÚsumÚfloatÚintÚRuntimeErrorÚmax)rK   rL   rM   rN   Údim_iÚnrV   ÚsubÚsqrW   Údenoms              r   Úvar_decompositionra   h   s÷   € ð €{ØˆØˆä�#œœt�}Ô%¬#¨c«(°aª-Ø�K‰K‹M‰àˆØò 	$ˆEØ�—‘˜UÑ#Ñ#‰Að	$ô �9‰9�U˜C Ó&€DØ
�$‰,€CØ	ˆs‰€BÜ
�(‰(�2�s˜GÓ
$€CàÐÜ�a˜!‘e“‰ä�j¤#Ô&Ü˜!˜j™.Ó)‰EÜ˜
¤EÔ*Ü˜!“H˜zÑ)‰EäÐ@ÓAÐAð ”�Q˜“ÑÐr   Úunbiasedc                 ó.   — t        | |rd¬«      S d¬«      S )NrP   r   )rM   )ra   )rK   rb   s     r   Úvarrd   �   s   € ä˜U±X°ÔFÐFÀ1ÔFÐFr   )r   N)N)NNF)T)$r7   r   ÚopsrU   r   r$   Úcollections.abcr   Útypingr   Útyping_extensionsr   Útorch.typesr   r   ÚdictrE   r=   ÚScriptFunctionÚ__annotations__Úsetr	   r
   r   r   r1   r8   r9   rJ   rd   rM   rR   rY   Úboolra   r'   © r   r   ú<module>rp      sŒ  ðä Ý ð ‡y�y‡~�~€Û Û Ý $Ý Ý 'å ð <>Ð �T˜#˜uŸy™y×7Ñ7Ð7Ñ8Ó =Ù!›eÐ �3�s‘8Ó #áˆTƒ]€Ùˆtƒ_€ó
LòQðF <@ñ#Ø�Z‰Z×"Ñ"ð#à�3˜Ÿ	™	×0Ñ0Ð0Ñ1°DÑ8ð#ð ˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ó#ñF ˜Ÿ™×+Ñ+Ó,ð !Ø $Øñ	!Øð!à	ˆc‰�TÑ	ð!ð ˜‘ð!ð ð	!ð
 ò!ó -ð!ñH ˜Ÿ™×(Ñ(Ó)ñGˆvð G ð G°ò Gó *ñGr   