ó
    ±“,jI  ã                   óR   • S SK Jr  S SKrS SKJr  S SKJs  Jr  S SKr " S S5      r	g)é    ©Úuse_name_ofN)Úcontextmanagerc                   óN   • \ rS rSrS rS rS rS rS rS r	S r
\S	 5       rS
rg)ÚArrayApiNamespaceStacké   c                 óð   • [         R                  " 5       U l        [        R                  " U R
                  U R                  S9U l        [        R                  R                  R                  S5      U l        g )N)ÚopÚopsÚarray_api_compat)Ú	threadingÚlocalÚ_thread_localÚtypesÚSimpleNamespaceÚ_wrap_namedtensor_opÚ_wrap_namedtensor_opsÚnamedtensorÚtracerÚ	signatureÚpythonÚimport_r   ©Úselfs    Ú·C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\einx/_src/adapter/arrayapi/namespacestack.pyÚ__init__ÚArrayApiNamespaceStack.__init__	   sS   € Ü&Ÿ_š_Ó.ˆÔÜ ×0Ò0°D×4MÑ4MÐSW×SmÑSmÑnˆÔÜ &× 0Ñ 0× 7Ñ 7× ?Ñ ?Ð@RÓ SˆÕó    c                 óN   • U R                  5       n[        U5      S:”  d   eUS   $ )Nr   éÿÿÿÿ)Ú
_get_stackÚlen)r   Ústacks     r   Úget_xpÚArrayApiNamespaceStack.get_xp   s(   € Ø—‘Ó!ˆÜ�5‹z˜A‹~Ðˆ~Ø�R‰yÐr   c                 ó4   ^ ^• [        T5      UU 4S j5       nU$ )Nc                 óF  >• TR                  U Vs/ s H  o3R                  PM     sn5         T" USU 0UD6TR                  U Vs/ s H  o3R                  PM     sn5        $ s  snf s  snf ! TR                  U Vs/ s H  o3R                  PM     Os  snf sn5        f = f)NÚout)Ú_enterÚvalueÚ_exit)r(   ÚtensorsÚkwargsÚtr
   r   s       €€r   ÚinnerÚ:ArrayApiNamespaceStack._wrap_namedtensor_op.<locals>.inner   s|   ø€ à�K‰K©'Ó2ª' QŸœ©'Ñ2Ô3ð7Ù˜7Ð6¨Ð6¨vÑ6à—
‘
©WÓ5ªW¨ŸGœG©WÑ5Õ6ùò	 3ùò 6ø�—
‘
©WÓ5ªW¨ŸGœGªWùÔ5Õ6ús"   ‘A#®	A- ÁA(
Á-B Á=BÂB r   )r   r
   r/   s   `` r   r   Ú+ArrayApiNamespaceStack._wrap_namedtensor_op   s    ù€ Ü	�R‹õ	7ó 
ð	7ð ˆr   c                 óv   • UR                  5        VVs0 s H  u  p#X R                  U5      _M     snn$ s  snnf ©N)Úitemsr   )r   r   Únamer
   s       r   r   Ú,ArrayApiNamespaceStack._wrap_namedtensor_ops   s0   € ØDGÇIÁIÄKÔPÂK¹¸�×/Ñ/°Ó3Ò3ÁKÒPÐPùÓPs   ”5c                 ó†   • [        U R                  S5      (       d  / U R                  l        U R                  R                  $ )Nr#   )Úhasattrr   r#   r   s    r   r!   Ú!ArrayApiNamespaceStack._get_stack!   s5   € Ü�t×)Ñ)¨7×3Ñ3Ø')ˆD×ÑÔ$Ø×!Ñ!×'Ñ'Ð'r   c                 óx   • U R                   R                  " U6 nU R                  5       nUR                  U5        g r3   )r   Úarray_namespacer!   Úappend)r   r,   Úxpr#   s       r   r)   ÚArrayApiNamespaceStack._enter&   s0   € Ø×"Ñ"×2Ò2°GÐ<ˆØ—‘Ó!ˆØ�‰�RÕr   c                 óf   • U R                  5       n[        U5      S:”  d   eUR                  5         g )Nr   )r!   r"   Úpop)r   r,   r#   s      r   r+   ÚArrayApiNamespaceStack._exit+   s'   € Ø—‘Ó!ˆÜ�5‹z˜A‹~Ðˆ~Ø�	‰	�r   c              #   ó†   #   • U R                  U5         S v •  U R                  U5        g ! U R                  U5        f = f7fr3   )r)   r+   )r   r,   s     r   Ú__call__ÚArrayApiNamespaceStack.__call__0   s1   é € à�‰�GÔð	 Ûà�J‰J�wÕøˆD�J‰J�wÕüs   ‚A•+ ™A«>¾A)r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r$   r   r   r!   r)   r+   r   rC   Ú__static_attributes__© r   r   r   r      s;   † òTò
ò
	òQò(ò
ò
ð
 ñ ó ó r   r   )
Úeinx._src.util.functoolsr   r   Ú
contextlibr   Úeinx._src.tracerÚ_srcr   r   r   rJ   r   r   Ú<module>rO      s!   ðÝ 0Û Ý %ß !Ð !Û ÷. ò . r   